Skip to content

Commit

Permalink
[SDK] Add Resolution/Bitdepth shims + layers to the appcompat databas…
Browse files Browse the repository at this point in the history
…e. CORE-11927 #resolve

svn path=/trunk/; revision=73464
  • Loading branch information
learn-more committed Dec 16, 2016
1 parent f3f4384 commit 71d5b09
Show file tree
Hide file tree
Showing 2 changed files with 66 additions and 0 deletions.
20 changes: 20 additions & 0 deletions reactos/media/sdb/readme.txt
@@ -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.


46 changes: 46 additions & 0 deletions reactos/media/sdb/sysmain.xml
Expand Up @@ -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>
Expand Down Expand Up @@ -76,7 +79,29 @@
<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" />
Expand Down Expand Up @@ -182,5 +207,26 @@
<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>

0 comments on commit 71d5b09

Please sign in to comment.