# TODO: Convert these to/from actual floats
FLOAT_AS_DWORD = DWORD
-D3DRENDERSTATEVALUE = Polymorphic(DWORD, "State", [
+D3DRENDERSTATETYPE, D3DRENDERSTATEVALUE = EnumPolymorphic("D3DRENDERSTATETYPE", "State", [
("D3DRS_ZENABLE", D3DZBUFFERTYPE),
("D3DRS_FILLMODE", D3DFILLMODE),
("D3DRS_SHADEMODE", D3DSHADEMODE),
("D3DRS_BLENDOPALPHA", D3DBLENDOP),
# XXX: D3DRENDERSTATE_WRAPBIAS + n
-])
-
-D3DRENDERSTATETYPE = Enum("D3DRENDERSTATETYPE", [
- expr for expr, types in D3DRENDERSTATEVALUE.switchTypes
-])
+], DWORD)
D3DTSS_TCI = Flags(DWORD, [
#"D3DTSS_TCI_PASSTHRU", # 0
])
-D3DTEXTURESTAGESTATEVALUE = Polymorphic(DWORD, "Type", [
+D3DTEXTURESTAGESTATETYPE, D3DTEXTURESTAGESTATEVALUE = EnumPolymorphic("D3DTEXTURESTAGESTATETYPE", "Type", [
("D3DTSS_COLOROP", D3DTEXTUREOP),
("D3DTSS_COLORARG1", D3DTA),
("D3DTSS_COLORARG2", D3DTA),
("D3DTSS_ALPHAARG0", D3DTA,),
("D3DTSS_RESULTARG", D3DTA,),
("D3DTSS_CONSTANT", D3DCOLOR),
-])
-
-D3DTEXTURESTAGESTATETYPE = Enum("D3DTEXTURESTAGESTATETYPE", [
- expr for expr, types in D3DTEXTURESTAGESTATEVALUE.switchTypes
-])
+], DWORD)
D3DTEXTUREFILTERTYPE = Enum("D3DTEXTUREFILTERTYPE", [
"D3DTEXF_NONE",
"D3DTEXF_CONVOLUTIONMONO",
])
-D3DSAMPLERSTATEVALUE = Polymorphic(DWORD, "Type", [
+D3DSAMPLERSTATETYPE, D3DSAMPLERSTATEVALUE = EnumPolymorphic("D3DSAMPLERSTATETYPE", "Type", [
("D3DSAMP_ADDRESSU", D3DTEXTUREADDRESS),
("D3DSAMP_ADDRESSV", D3DTEXTUREADDRESS),
("D3DSAMP_ADDRESSW", D3DTEXTUREADDRESS),
("D3DSAMP_SRGBTEXTURE", BOOL),
("D3DSAMP_ELEMENTINDEX", DWORD),
("D3DSAMP_DMAPOFFSET", DWORD),
-])
-
-D3DSAMPLERSTATETYPE = Enum("D3DSAMPLERSTATETYPE", [
- expr for expr, types in D3DSAMPLERSTATEVALUE.switchTypes
-])
+], DWORD)
D3DPV = Flags(DWORD, [
"D3DPV_DONOTCOPYDATA",
"D3DFMT_BINARYBUFFER",
# Unofficial formats
- "D3DFMT_ATI1",
- "D3DFMT_ATI2",
+ "D3DFMT_ATI1N",
+ "D3DFMT_ATI2N",
"D3DFMT_AYUV",
"D3DFMT_DF16",
"D3DFMT_DF24",
(D3DFORMAT, "Format"),
])
+D3DCREATE = Flags(DWORD, [
+ "D3DCREATE_FPU_PRESERVE",
+ "D3DCREATE_MULTITHREADED",
+ "D3DCREATE_PUREDEVICE",
+ "D3DCREATE_SOFTWARE_VERTEXPROCESSING",
+ "D3DCREATE_HARDWARE_VERTEXPROCESSING",
+ "D3DCREATE_MIXED_VERTEXPROCESSING",
+ "D3DCREATE_DISABLE_DRIVER_MANAGEMENT",
+ "D3DCREATE_ADAPTERGROUP_DEVICE",
+ "D3DCREATE_DISABLE_DRIVER_MANAGEMENT_EX",
+ "D3DCREATE_NOWINDOWCHANGES",
+ "D3DCREATE_DISABLE_PSGP_THREADING",
+ "D3DCREATE_ENABLE_PRESENTSTATS",
+ "D3DCREATE_DISABLE_PRINTSCREEN",
+ "D3DCREATE_SCREENSAVER",
+])
+
D3DDEVICE_CREATION_PARAMETERS = Struct("D3DDEVICE_CREATION_PARAMETERS", [
(UINT, "AdapterOrdinal"),
(D3DDEVTYPE, "DeviceType"),
(HWND, "hFocusWindow"),
- (DWORD, "BehaviorFlags"),
+ (D3DCREATE, "BehaviorFlags"),
])
D3DSWAPEFFECT = Enum("D3DSWAPEFFECT", [
"D3DPRESENT_RATE_DEFAULT",
])
+D3DPRESENTFLAG = Flags(DWORD, [
+ "D3DPRESENTFLAG_LOCKABLE_BACKBUFFER",
+ "D3DPRESENTFLAG_DISCARD_DEPTHSTENCIL",
+ "D3DPRESENTFLAG_DEVICECLIP",
+ "D3DPRESENTFLAG_VIDEO",
+ "D3DPRESENTFLAG_NOAUTOROTATE",
+ "D3DPRESENTFLAG_UNPRUNEDMODE",
+])
+
+D3DPRESENT_INTERVAL = Flags(DWORD, [
+ "D3DPRESENT_INTERVAL_DEFAULT", # 0
+ "D3DPRESENT_INTERVAL_ONE",
+ "D3DPRESENT_INTERVAL_TWO",
+ "D3DPRESENT_INTERVAL_THREE",
+ "D3DPRESENT_INTERVAL_FOUR",
+ "D3DPRESENT_INTERVAL_IMMEDIATE",
+])
+
D3DPRESENT_PARAMETERS = Struct("D3DPRESENT_PARAMETERS", [
(UINT, "BackBufferWidth"),
(UINT, "BackBufferHeight"),
(BOOL, "Windowed"),
(BOOL, "EnableAutoDepthStencil"),
(D3DFORMAT, "AutoDepthStencilFormat"),
- (DWORD, "Flags"),
+ (D3DPRESENTFLAG, "Flags"),
(UINT, "FullScreen_RefreshRateInHz"),
- (UINT, "PresentationInterval"),
-])
-
-D3DPRESENTFLAG = Flags(DWORD, [
- "D3DPRESENTFLAG_LOCKABLE_BACKBUFFER",
- "D3DPRESENTFLAG_DISCARD_DEPTHSTENCIL",
- "D3DPRESENTFLAG_DEVICECLIP",
- "D3DPRESENTFLAG_VIDEO",
- "D3DPRESENTFLAG_NOAUTOROTATE",
- "D3DPRESENTFLAG_UNPRUNEDMODE",
+ (D3DPRESENT_INTERVAL, "PresentationInterval"),
])
D3DGAMMARAMP = Struct("D3DGAMMARAMP", [
"D3DUSAGE_RTPATCHES",
"D3DUSAGE_NPATCHES",
"D3DUSAGE_TEXTAPI",
+ "D3DUSAGE_RESTRICTED_CONTENT",
+ "D3DUSAGE_RESTRICT_SHARED_RESOURCE",
+ "D3DUSAGE_RESTRICT_SHARED_RESOURCE_DRIVER",
])
D3DCUBEMAP_FACES = Enum("D3DCUBEMAP_FACES", [
D3DVERTEXBUFFER_DESC = Struct("D3DVERTEXBUFFER_DESC", [
(D3DFORMAT, "Format"),
(D3DRESOURCETYPE, "Type"),
- (DWORD, "Usage"),
+ (D3DUSAGE, "Usage"),
(D3DPOOL, "Pool"),
(UINT, "Size"),
(DWORD, "FVF"),
D3DINDEXBUFFER_DESC = Struct("D3DINDEXBUFFER_DESC", [
(D3DFORMAT, "Format"),
(D3DRESOURCETYPE, "Type"),
- (DWORD, "Usage"),
+ (D3DUSAGE, "Usage"),
(D3DPOOL, "Pool"),
(UINT, "Size"),
])
D3DSURFACE_DESC = Struct("D3DSURFACE_DESC", [
(D3DFORMAT, "Format"),
(D3DRESOURCETYPE, "Type"),
- (DWORD, "Usage"),
+ (D3DUSAGE, "Usage"),
(D3DPOOL, "Pool"),
(D3DMULTISAMPLE_TYPE, "MultiSampleType"),
(DWORD, "MultiSampleQuality"),
D3DVOLUME_DESC = Struct("D3DVOLUME_DESC", [
(D3DFORMAT, "Format"),
(D3DRESOURCETYPE, "Type"),
- (DWORD, "Usage"),
+ (D3DUSAGE, "Usage"),
(D3DPOOL, "Pool"),
(UINT, "Width"),
(UINT, "Height"),
D3DLOCKED_RECT = Struct("D3DLOCKED_RECT", [
(INT, "Pitch"),
- (OpaquePointer(Void), "pBits"),
+ (LinearPointer(Void, "_LockedSize"), "pBits"),
])
D3DBOX = Struct("D3DBOX", [
D3DLOCKED_BOX = Struct("D3DLOCKED_BOX", [
(INT, "RowPitch"),
(INT, "SlicePitch"),
- (OpaquePointer(Void), "pBits"),
+ (LinearPointer(Void, "_LockedSize"), "pBits"),
])
D3DRANGE = Struct("D3DRANGE", [