[SDK] Add Resolution/Bitdepth shims + layers to the appcompat database. CORE-11927...
authorMark Jansen <mark.jansen@reactos.org>
Fri, 16 Dec 2016 22:13:01 +0000 (22:13 +0000)
committerMark Jansen <mark.jansen@reactos.org>
Fri, 16 Dec 2016 22:13:01 +0000 (22:13 +0000)
svn path=/trunk/; revision=73464

reactos/media/sdb/readme.txt [new file with mode: 0644]
reactos/media/sdb/sysmain.xml

diff --git a/reactos/media/sdb/readme.txt b/reactos/media/sdb/readme.txt
new file mode 100644 (file)
index 0000000..4156606
--- /dev/null
@@ -0,0 +1,20 @@
+
+Sdb
+
+Sdb files are Shim Databases.
+They contain information about bad applications, and about the fixes that can be applied to them.
+
+
+Shims
+
+A shim is a piece of code that influences the process it's applied to.
+This can be done by calling certain api's, or by changing the behavior of api's.
+'DisableThemes' is an example of a shim that changes behavior by calling 'SetThemeAppProperties'.
+'Win95VersionLie' is an example of a shim that changes behavior, by intercepting calls to GetVersion[Ex].
+
+Layers
+
+A layer is a collection (1..n) of shims.
+Layers are used to reference a collection of shims by name.
+
+
index 3596c89..f653f7f 100644 (file)
@@ -4,6 +4,9 @@
         <OS_PLATFORM >1</OS_PLATFORM>
         <DATABASE_ID>{11111111-1111-1111-1111-111111111111}</DATABASE_ID>
         <LIBRARY>
+
+            <!-- Version lie shims -->
+
             <SHIM>
                 <NAME>Win95VersionLie</NAME>
                 <DLLFILE>aclayers.dll</DLLFILE>
                 <NAME>Win7RTMVersionLie</NAME>
                 <DLLFILE>aclayers.dll</DLLFILE>
             </SHIM>
+
+            <!-- Display mode shims -->
+
+            <SHIM>
+                <NAME>Force640x480</NAME>
+                <DLLFILE>aclayers.dll</DLLFILE>
+            </SHIM>
+            <SHIM>
+                <NAME>Force8BitColor</NAME>
+                <DLLFILE>aclayers.dll</DLLFILE>
+            </SHIM>
+
+            <!-- misc shims -->
+
+            <SHIM>
+                <NAME>DisableThemes</NAME>
+                <DLLFILE>acgenral.dll</DLLFILE>
+            </SHIM>
+
         </LIBRARY>
+
+        <!-- Backwards compatibility layers, incomplete! -->
+
         <LAYER>
             <NAME>WIN95</NAME>
             <SHIM_REF NAME="Win95VersionLie" />
             <SHIM_REF NAME="Win7RTMVersionLie" />
             <!-- TODO: Add more fixes! -->
         </LAYER>
+
+        <!-- Display mode layers -->
+
+        <LAYER>
+            <NAME>256Color</NAME>
+            <SHIM_REF NAME="DisableThemes" />
+            <SHIM_REF NAME="Force8BitColor" />
+        </LAYER>
+        <LAYER>
+            <NAME>640X480</NAME>
+            <SHIM_REF NAME="Force640x480" />
+        </LAYER>
+
+
+        <!-- misc layers -->
+
+        <LAYER>
+            <NAME>DisableThemes</NAME>
+            <SHIM_REF NAME="DisableThemes" />
+        </LAYER>
+
     </DATABASE>
 </SDB>
\ No newline at end of file