Skip to content

Commit db57e02

Browse files
committed
[APPCOMPAT] Add RendererFull3D flag
This flag will be used for DDraw experiments. CORE-20322
1 parent 0b43959 commit db57e02

File tree

6 files changed

+66
-14
lines changed

6 files changed

+66
-14
lines changed

dll/appcompat/apphelp/shimeng.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1219,12 +1219,12 @@ VOID SeiInit(LPCWSTR ProcessImage, HSDB hsdb, SDBQUERYRESULT* pQuery, BOOLEAN Pr
12191219
SeiBuildShimRefArray(hsdb, pQuery, &ShimRefArray, &ShimFlags);
12201220
if (ShimFlags.AppCompatFlags.QuadPart)
12211221
{
1222-
SeiDbgPrint(SEI_MSG, NULL, "Using KERNEL apphack flags 0x%I64x\n", ShimFlags.AppCompatFlags.QuadPart);
1222+
SeiDbgPrint(SEI_MSG, NULL, "Using KERNEL apphack flags 0x%llx\n", ShimFlags.AppCompatFlags.QuadPart);
12231223
Peb->AppCompatFlags.QuadPart |= ShimFlags.AppCompatFlags.QuadPart;
12241224
}
12251225
if (ShimFlags.AppCompatFlagsUser.QuadPart)
12261226
{
1227-
SeiDbgPrint(SEI_MSG, NULL, "Using USER apphack flags 0x%I64x\n", ShimFlags.AppCompatFlagsUser.QuadPart);
1227+
SeiDbgPrint(SEI_MSG, NULL, "Using USER apphack flags 0x%llx\n", ShimFlags.AppCompatFlagsUser.QuadPart);
12281228
Peb->AppCompatFlagsUser.QuadPart |= ShimFlags.AppCompatFlagsUser.QuadPart;
12291229
}
12301230
if (ShimFlags.ProcessParameters_Flags)

dll/appcompat/apphelp/shimeng.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -76,8 +76,8 @@ typedef struct _HOOKMODULEINFO
7676

7777
typedef struct _FLAGINFO
7878
{
79-
ULARGE_INTEGER AppCompatFlags;
80-
ULARGE_INTEGER AppCompatFlagsUser;
79+
ULARGE_INTEGER AppCompatFlags; // APPCOMPAT_FLAGS
80+
ULARGE_INTEGER AppCompatFlagsUser; // APPCOMPAT_USERFLAGS
8181
ULONG ProcessParameters_Flags;
8282
} FLAGINFO, *PFLAGINFO;
8383

media/sdb/sysmain.xml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -271,6 +271,10 @@
271271
<FLAG_MASK_KERNEL>8</FLAG_MASK_KERNEL>
272272
</FLAG>
273273

274+
<FLAG NAME="RendererFull3D">
275+
<!-- ReactOS specific (CORE-20322) -->
276+
<FLAG_MASK_KERNEL>0x8000000000000000</FLAG_MASK_KERNEL>
277+
</FLAG>
274278
</LIBRARY>
275279

276280
<!-- Backwards compatibility layers, incomplete! -->
@@ -442,6 +446,9 @@
442446
<LAYER NAME="GetDiskFreeSpace2GB">
443447
<FLAG_REF NAME="GetDiskFreeSpace2GB" />
444448
</LAYER>
449+
<LAYER NAME="RendererFull3D">
450+
<FLAG_REF NAME="RendererFull3D" />
451+
</LAYER>
445452

446453
<!-- Applications -->
447454

sdk/include/ndk/peb_teb.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -155,8 +155,8 @@ typedef struct STRUCT(_PEB)
155155
ULONG TlsExpansionBitmapBits[32];
156156
ULONG SessionId;
157157
#if (NTDDI_VERSION >= NTDDI_WINXP)
158-
ULARGE_INTEGER AppCompatFlags;
159-
ULARGE_INTEGER AppCompatFlagsUser;
158+
ULARGE_INTEGER AppCompatFlags; // APPCOMPAT_FLAGS
159+
ULARGE_INTEGER AppCompatFlagsUser; // APPCOMPAT_USERFLAGS
160160
PTR(PVOID) pShimData;
161161
PTR(PVOID) AppCompatInfo;
162162
STRUCT(UNICODE_STRING) CSDVersion;

sdk/include/ndk/pstypes.h

Lines changed: 51 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -752,7 +752,7 @@ typedef struct _Wx86ThreadState
752752
#endif
753753

754754
//
755-
// PEB.AppCompatFlags
755+
// PEB.AppCompatFlags.LowPart
756756
// Tag FLAG_MASK_KERNEL
757757
//
758758
typedef enum _APPCOMPAT_FLAGS
@@ -773,9 +773,31 @@ typedef enum _APPCOMPAT_FLAGS
773773
DisableNDRIIDConsistencyCheck = 0x20000,
774774
UserDisableForwarderPatch = 0x40000,
775775
DisableNewWMPAINTDispatchInOLE = 0x100000,
776+
AddRestrictedSidInCoInitializeSecurity = 0x200000,
777+
AllocDebugInfoForCritSections = 0x400000,
778+
EnableLegacyLoadTypeLibForRelativePaths = 0x800000,
779+
AllowMaximizedWindowGamma = 0x1000000,
780+
CloudFilesHydrationDisallowed = 0x2000000,
781+
CloudFilesFullHydrationOnOpen = 0x4000000,
782+
CloudFilesFullHydration = 0x8000000,
783+
DisableParallelLoader = 0x10000000,
784+
DisguisePlaceholders = 0x20000000,
785+
CloudFilesHydrationInForeground = 0x40000000,
776786
DoNotAddToCache = 0x80000000,
777787
} APPCOMPAT_FLAGS;
778788

789+
//
790+
// PEB.AppCompatFlags.HighPart
791+
// Tag FLAG_MASK_KERNEL
792+
//
793+
typedef enum _APPCOMPAT_FLAGS_HIGHPART
794+
{
795+
PosixDeleteDisabled = 0x1,
796+
797+
// ReactOS-specific
798+
RendererFull3D = 0x80000000, // CORE-20322
799+
} APPCOMPAT_FLAGS_HIGHPART;
800+
779801

780802
//
781803
// PEB.AppCompatFlagsUser.LowPart
@@ -814,11 +836,6 @@ typedef enum _APPCOMPAT_USERFLAGS
814836
ForceLegacyResizeCM = 0x20000000,
815837
HardwareAudioMixer = 0x40000000,
816838
DisableSWCursorOnMoveSize = 0x80000000,
817-
#if 0
818-
DisableWindowArrangement = 0x100000000,
819-
ReorderWaveForCommunications = 0x200000000,
820-
NoGdiHwAcceleration = 0x400000000,
821-
#endif
822839
} APPCOMPAT_USERFLAGS;
823840

824841
//
@@ -830,6 +847,34 @@ typedef enum _APPCOMPAT_USERFLAGS_HIGHPART
830847
DisableWindowArrangement = 0x1,
831848
ReorderWaveForCommunications = 0x2,
832849
NoGdiHwAcceleration = 0x4,
850+
NoTimerCoalescing = 0x8,
851+
PrinterIsolationAware = 0x10,
852+
UseWARPRendering = 0x20,
853+
MirrorDriverDrawCursor = 0x40,
854+
InstallShieldInstaller = 0x80,
855+
Disable8And16BitModes = 0x100,
856+
Disable8And16BitD3D = 0x200,
857+
PromotePointer = 0x400,
858+
PreventMouseInPointer = 0x800,
859+
_8And16BitAggregateBlts = 0x1000,
860+
_8And16BitGDIRedraw = 0x2000,
861+
_8And16BitCopyOnFlip = 0x4000,
862+
_8And16BitNoIncRefCount = 0x8000,
863+
_8And16BitDXMaxWinMode = 0x10000,
864+
EarlyMouseDelegation = 0x20000,
865+
_8And16BitTimedPriSync = 0x40000,
866+
UseIntegratedGraphics = 0x80000,
867+
UseLegacyMouseWheelRouting = 0x100000,
868+
PerProcessSystemDPIForceOn = 0x200000,
869+
PerProcessSystemDPIForceOff = 0x400000,
870+
DPIUnaware = 0x800000,
871+
NoVirtWndRects = 0x1000000,
872+
CFDNoRedirectInitialFolder = 0x2000000,
873+
NoDTToDITMouseBatch = 0x4000000,
874+
GdiDPIScaling = 0x8000000,
875+
QueueMouseMoveOnReleaseCapture = 0x10000000,
876+
DisableFocusTracking = 0x20000000,
877+
GdiDPIScalingForceDisable = 0x40000000,
833878
} APPCOMPAT_USERFLAGS_HIGHPART;
834879

835880
//

sdk/tools/xml2sdb/xml2sdb.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ std::string ReadStringNode(XMLHandle dbNode, const char* nodeName)
8888
return ToString(dbNode.FirstChildElement(nodeName));
8989
}
9090

91-
DWORD ReadQWordNode(XMLHandle dbNode, const char* nodeName)
91+
QWORD ReadQWordNode(XMLHandle dbNode, const char* nodeName)
9292
{
9393
std::string value = ReadStringNode(dbNode, nodeName);
9494
int base = 10;
@@ -97,7 +97,7 @@ DWORD ReadQWordNode(XMLHandle dbNode, const char* nodeName)
9797
base = 16;
9898
value = value.substr(2);
9999
}
100-
return static_cast<QWORD>(strtoul(value.c_str(), NULL, base));
100+
return static_cast<QWORD>(strtoull(value.c_str(), NULL, base));
101101
}
102102

103103
DWORD ReadDWordNode(XMLHandle dbNode, const char* nodeName)

0 commit comments

Comments
 (0)