]> git.cworth.org Git - apitrace/blobdiff - ddraw.py
Several DX7 corrections.
[apitrace] / ddraw.py
index fd8c5f5b25fd29890f84e1c1eee752b546bdf729..2e17b06edf64a71e79b255ffff767b05ebe80ff7 100644 (file)
--- a/ddraw.py
+++ b/ddraw.py
@@ -163,7 +163,7 @@ DDCAPS_DX1 = Struct("DDCAPS_DX1", [
     (DWORD, "dwAlignBoundaryDest"),
     (DWORD, "dwAlignSizeDest"),
     (DWORD, "dwAlignStrideAlign"),
-    (DWORD, "dwRops[DD_ROP_SPACE]"),
+    (Array(DWORD, "DD_ROP_SPACE"), "dwRops"),
     (DDSCAPS, "ddsCaps"),
     (DWORD, "dwMinOverlayStretch"),
     (DWORD, "dwMaxOverlayStretch"),
@@ -203,7 +203,7 @@ DDCAPS_DX3 = Struct("DDCAPS_DX3", [
     (DWORD, "dwAlignBoundaryDest"),
     (DWORD, "dwAlignSizeDest"),
     (DWORD, "dwAlignStrideAlign"),
-    (DWORD, "dwRops[DD_ROP_SPACE]"),
+    (Array(DWORD, "DD_ROP_SPACE"), "dwRops"),
     (DDSCAPS, "ddsCaps"),
     (DWORD, "dwMinOverlayStretch"),
     (DWORD, "dwMaxOverlayStretch"),
@@ -217,15 +217,15 @@ DDCAPS_DX3 = Struct("DDCAPS_DX3", [
     (DWORD, "dwSVBCaps"),
     (DWORD, "dwSVBCKeyCaps"),
     (DWORD, "dwSVBFXCaps"),
-    (DWORD, "dwSVBRops[DD_ROP_SPACE]"),
+    (Array(DWORD, "DD_ROP_SPACE"), "dwSVBRops"),
     (DWORD, "dwVSBCaps"),
     (DWORD, "dwVSBCKeyCaps"),
     (DWORD, "dwVSBFXCaps"),
-    (DWORD, "dwVSBRops[DD_ROP_SPACE]"),
+    (Array(DWORD, "DD_ROP_SPACE"), "dwVSBRops"),
     (DWORD, "dwSSBCaps"),
     (DWORD, "dwSSBCKeyCaps"),
     (DWORD, "dwSSBFXCaps"),
-    (DWORD, "dwSSBRops[DD_ROP_SPACE]"),
+    (Array(DWORD, "DD_ROP_SPACE"), "dwSSBRops"),
     (DWORD, "dwReserved4"),
     (DWORD, "dwReserved5"),
     (DWORD, "dwReserved6"),
@@ -258,7 +258,7 @@ DDCAPS_DX5 = Struct("DDCAPS_DX5", [
     (DWORD, "dwAlignBoundaryDest"),
     (DWORD, "dwAlignSizeDest"),
     (DWORD, "dwAlignStrideAlign"),
-    (DWORD, "dwRops[DD_ROP_SPACE]"),
+    (Array(DWORD, "DD_ROP_SPACE"), "dwRops"),
     (DDSCAPS, "ddsCaps"),
     (DWORD, "dwMinOverlayStretch"),
     (DWORD, "dwMaxOverlayStretch"),
@@ -272,15 +272,15 @@ DDCAPS_DX5 = Struct("DDCAPS_DX5", [
     (DWORD, "dwSVBCaps"),
     (DWORD, "dwSVBCKeyCaps"),
     (DWORD, "dwSVBFXCaps"),
-    (DWORD, "dwSVBRops[DD_ROP_SPACE]"),
+    (Array(DWORD, "DD_ROP_SPACE"), "dwSVBRops"),
     (DWORD, "dwVSBCaps"),
     (DWORD, "dwVSBCKeyCaps"),
     (DWORD, "dwVSBFXCaps"),
-    (DWORD, "dwVSBRops[DD_ROP_SPACE]"),
+    (Array(DWORD, "DD_ROP_SPACE"), "dwVSBRops"),
     (DWORD, "dwSSBCaps"),
     (DWORD, "dwSSBCKeyCaps"),
     (DWORD, "dwSSBFXCaps"),
-    (DWORD, "dwSSBRops[DD_ROP_SPACE]"),
+    (Array(DWORD, "DD_ROP_SPACE"), "dwSSBRops"),
     (DWORD, "dwMaxVideoPorts"),
     (DWORD, "dwCurrVideoPorts"),
     (DWORD, "dwSVBCaps2"),
@@ -288,7 +288,7 @@ DDCAPS_DX5 = Struct("DDCAPS_DX5", [
     (DWORD, "dwNLVBCaps2"),
     (DWORD, "dwNLVBCKeyCaps"),
     (DWORD, "dwNLVBFXCaps"),
-    (DWORD, "dwNLVBRops[DD_ROP_SPACE]"),
+    (Array(DWORD, "DD_ROP_SPACE"), "dwNLVBRops"),
 ])
 LPDDCAPS_DX5 = Pointer(DDCAPS_DX5)
 
@@ -318,7 +318,7 @@ DDCAPS_DX6 = Struct("DDCAPS_DX6", [
     (DWORD, "dwAlignBoundaryDest"),
     (DWORD, "dwAlignSizeDest"),
     (DWORD, "dwAlignStrideAlign"),
-    (DWORD, "dwRops[DD_ROP_SPACE]"),
+    (Array(DWORD, "DD_ROP_SPACE"), "dwRops"),
     (DDSCAPS, "ddsOldCaps"),
     (DWORD, "dwMinOverlayStretch"),
     (DWORD, "dwMaxOverlayStretch"),
@@ -332,15 +332,15 @@ DDCAPS_DX6 = Struct("DDCAPS_DX6", [
     (DWORD, "dwSVBCaps"),
     (DWORD, "dwSVBCKeyCaps"),
     (DWORD, "dwSVBFXCaps"),
-    (DWORD, "dwSVBRops[DD_ROP_SPACE]"),
+    (Array(DWORD, "DD_ROP_SPACE"), "dwSVBRops"),
     (DWORD, "dwVSBCaps"),
     (DWORD, "dwVSBCKeyCaps"),
     (DWORD, "dwVSBFXCaps"),
-    (DWORD, "dwVSBRops[DD_ROP_SPACE]"),
+    (Array(DWORD, "DD_ROP_SPACE"), "dwVSBRops"),
     (DWORD, "dwSSBCaps"),
     (DWORD, "dwSSBCKeyCaps"),
     (DWORD, "dwSSBFXCaps"),
-    (DWORD, "dwSSBRops[DD_ROP_SPACE]"),
+    (Array(DWORD, "DD_ROP_SPACE"), "dwSSBRops"),
     (DWORD, "dwMaxVideoPorts"),
     (DWORD, "dwCurrVideoPorts"),
     (DWORD, "dwSVBCaps2"),
@@ -348,7 +348,7 @@ DDCAPS_DX6 = Struct("DDCAPS_DX6", [
     (DWORD, "dwNLVBCaps2"),
     (DWORD, "dwNLVBCKeyCaps"),
     (DWORD, "dwNLVBFXCaps"),
-    (DWORD, "dwNLVBRops[DD_ROP_SPACE]"),
+    (Array(DWORD, "DD_ROP_SPACE"), "dwNLVBRops"),
     (DDSCAPS2, "ddsCaps"),
 ])
 LPDDCAPS_DX6 = Pointer(DDCAPS_DX6)
@@ -379,7 +379,7 @@ DDCAPS_DX7 = Struct("DDCAPS_DX7", [
     (DWORD, "dwAlignBoundaryDest"),
     (DWORD, "dwAlignSizeDest"),
     (DWORD, "dwAlignStrideAlign"),
-    (DWORD, "dwRops[DD_ROP_SPACE]"),
+    (Array(DWORD, "DD_ROP_SPACE"), "dwRops"),
     (DDSCAPS, "ddsOldCaps"),
     (DWORD, "dwMinOverlayStretch"),
     (DWORD, "dwMaxOverlayStretch"),
@@ -393,15 +393,15 @@ DDCAPS_DX7 = Struct("DDCAPS_DX7", [
     (DWORD, "dwSVBCaps"),
     (DWORD, "dwSVBCKeyCaps"),
     (DWORD, "dwSVBFXCaps"),
-    (DWORD, "dwSVBRops[DD_ROP_SPACE]"),
+    (Array(DWORD, "DD_ROP_SPACE"), "dwSVBRops"),
     (DWORD, "dwVSBCaps"),
     (DWORD, "dwVSBCKeyCaps"),
     (DWORD, "dwVSBFXCaps"),
-    (DWORD, "dwVSBRops[DD_ROP_SPACE]"),
+    (Array(DWORD, "DD_ROP_SPACE"), "dwVSBRops"),
     (DWORD, "dwSSBCaps"),
     (DWORD, "dwSSBCKeyCaps"),
     (DWORD, "dwSSBFXCaps"),
-    (DWORD, "dwSSBRops[DD_ROP_SPACE]"),
+    (Array(DWORD, "DD_ROP_SPACE"), "dwSSBRops"),
     (DWORD, "dwMaxVideoPorts"),
     (DWORD, "dwCurrVideoPorts"),
     (DWORD, "dwSVBCaps2"),
@@ -409,7 +409,7 @@ DDCAPS_DX7 = Struct("DDCAPS_DX7", [
     (DWORD, "dwNLVBCaps2"),
     (DWORD, "dwNLVBCKeyCaps"),
     (DWORD, "dwNLVBFXCaps"),
-    (DWORD, "dwNLVBRops[DD_ROP_SPACE]"),
+    (Array(DWORD, "DD_ROP_SPACE"), "dwNLVBRops"),
     (DDSCAPS2, "ddsCaps"),
 ])
 LPDDCAPS_DX7 = Pointer(DDCAPS_DX7)
@@ -479,9 +479,9 @@ DDBLTBATCH = Struct("DDBLTBATCH", [
 LPDDBLTBATCH = Pointer(DDBLTBATCH)
 
 DDGAMMARAMP = Struct("DDGAMMARAMP", [
-    (WORD, "red[256]"),
-    (WORD, "green[256]"),
-    (WORD, "blue[256]"),
+    (Array(WORD, "256"), "red"),
+    (Array(WORD, "256"), "green"),
+    (Array(WORD, "256"), "blue"),
 ])
 LPDDGAMMARAMP = Pointer(DDGAMMARAMP)
 
@@ -498,8 +498,8 @@ DDDEVICEIDENTIFIER = Struct("DDDEVICEIDENTIFIER", [
 LPDDDEVICEIDENTIFIER = Pointer(DDDEVICEIDENTIFIER)
 
 DDDEVICEIDENTIFIER2 = Struct("DDDEVICEIDENTIFIER2", [
-    (CString, "szDriver[MAX_DDDEVICEID_STRING]"),
-    (CString, "szDescription[MAX_DDDEVICEID_STRING]"),
+    (CString, "szDriver"),
+    (CString, "szDescription"),
     (LARGE_INTEGER, "liDriverVersion"),
     (DWORD, "dwVendorId"),
     (DWORD, "dwDeviceId"),
@@ -1251,13 +1251,13 @@ IDirectDraw.methods += [
     Method(HRESULT, "Compact", []),
     Method(HRESULT, "CreateClipper", [DWORD, Pointer(LPDIRECTDRAWCLIPPER), Pointer(IUnknown)]),
     Method(HRESULT, "CreatePalette", [DWORD, LPPALETTEENTRY, Pointer(LPDIRECTDRAWPALETTE) , Pointer(IUnknown)]),
-    Method(HRESULT, "CreateSurface", [LPDDSURFACEDESC, Pointer(LPDIRECTDRAWSURFACE) , Pointer(IUnknown)]),
+    Method(HRESULT, "CreateSurface", [LPDDSURFACEDESC, Out(Pointer(LPDIRECTDRAWSURFACE), "lplpDDSurface"), Pointer(IUnknown)]),
     Method(HRESULT, "DuplicateSurface", [LPDIRECTDRAWSURFACE, Pointer(LPDIRECTDRAWSURFACE)]),
     Method(HRESULT, "EnumDisplayModes", [DWORD, LPDDSURFACEDESC, LPVOID, LPDDENUMMODESCALLBACK]),
     Method(HRESULT, "EnumSurfaces", [DWORD, LPDDSURFACEDESC, LPVOID,LPDDENUMSURFACESCALLBACK]),
     Method(HRESULT, "FlipToGDISurface", []),
     Method(HRESULT, "GetCaps", [LPDDCAPS, LPDDCAPS]),
-    Method(HRESULT, "GetDisplayMode", [LPDDSURFACEDESC]),
+    Method(HRESULT, "GetDisplayMode", [Out(LPDDSURFACEDESC, "lpDDSurfaceDesc")]),
     Method(HRESULT, "GetFourCCCodes", [LPDWORD, LPDWORD]),
     Method(HRESULT, "GetGDISurface", [Pointer(LPDIRECTDRAWSURFACE)]),
     Method(HRESULT, "GetMonitorFrequency", [LPDWORD]),
@@ -1274,13 +1274,13 @@ IDirectDraw2.methods += [
     Method(HRESULT, "Compact", []),
     Method(HRESULT, "CreateClipper", [DWORD, Pointer(LPDIRECTDRAWCLIPPER) , Pointer(IUnknown)]),
     Method(HRESULT, "CreatePalette", [DWORD, LPPALETTEENTRY, Pointer(LPDIRECTDRAWPALETTE) , Pointer(IUnknown)]),
-    Method(HRESULT, "CreateSurface", [LPDDSURFACEDESC, Pointer(LPDIRECTDRAWSURFACE) , Pointer(IUnknown)]),
+    Method(HRESULT, "CreateSurface", [LPDDSURFACEDESC, Out(Pointer(LPDIRECTDRAWSURFACE), "lplpDDSurface"), Pointer(IUnknown)]),
     Method(HRESULT, "DuplicateSurface", [LPDIRECTDRAWSURFACE, Pointer(LPDIRECTDRAWSURFACE)]),
     Method(HRESULT, "EnumDisplayModes", [DWORD, LPDDSURFACEDESC, LPVOID, LPDDENUMMODESCALLBACK]),
     Method(HRESULT, "EnumSurfaces", [DWORD, LPDDSURFACEDESC, LPVOID,LPDDENUMSURFACESCALLBACK]),
     Method(HRESULT, "FlipToGDISurface", []),
     Method(HRESULT, "GetCaps", [LPDDCAPS, LPDDCAPS]),
-    Method(HRESULT, "GetDisplayMode", [LPDDSURFACEDESC]),
+    Method(HRESULT, "GetDisplayMode", [Out(LPDDSURFACEDESC, "lpDDSurfaceDesc")]),
     Method(HRESULT, "GetFourCCCodes", [LPDWORD, LPDWORD]),
     Method(HRESULT, "GetGDISurface", [Pointer(LPDIRECTDRAWSURFACE)]),
     Method(HRESULT, "GetMonitorFrequency", [LPDWORD]),
@@ -1298,13 +1298,13 @@ IDirectDraw4.methods += [
     Method(HRESULT, "Compact", []),
     Method(HRESULT, "CreateClipper", [DWORD, Pointer(LPDIRECTDRAWCLIPPER) , Pointer(IUnknown)]),
     Method(HRESULT, "CreatePalette", [DWORD, LPPALETTEENTRY, Pointer(LPDIRECTDRAWPALETTE) , Pointer(IUnknown)]),
-    Method(HRESULT, "CreateSurface", [LPDDSURFACEDESC2, Pointer(LPDIRECTDRAWSURFACE4) , Pointer(IUnknown)]),
+    Method(HRESULT, "CreateSurface", [LPDDSURFACEDESC2, Out(Pointer(LPDIRECTDRAWSURFACE4), "lplpDDSurface"), Pointer(IUnknown)]),
     Method(HRESULT, "DuplicateSurface", [LPDIRECTDRAWSURFACE4, Pointer(LPDIRECTDRAWSURFACE4)]),
     Method(HRESULT, "EnumDisplayModes", [DWORD, LPDDSURFACEDESC2, LPVOID, LPDDENUMMODESCALLBACK2]),
     Method(HRESULT, "EnumSurfaces", [DWORD, LPDDSURFACEDESC2, LPVOID,LPDDENUMSURFACESCALLBACK2]),
     Method(HRESULT, "FlipToGDISurface", []),
     Method(HRESULT, "GetCaps", [LPDDCAPS, LPDDCAPS]),
-    Method(HRESULT, "GetDisplayMode", [LPDDSURFACEDESC2]),
+    Method(HRESULT, "GetDisplayMode", [Out(LPDDSURFACEDESC2, "lpDDSurfaceDesc")]),
     Method(HRESULT, "GetFourCCCodes", [LPDWORD, LPDWORD]),
     Method(HRESULT, "GetGDISurface", [Pointer(LPDIRECTDRAWSURFACE4)]),
     Method(HRESULT, "GetMonitorFrequency", [LPDWORD]),
@@ -1319,20 +1319,20 @@ IDirectDraw4.methods += [
     Method(HRESULT, "GetSurfaceFromDC", [HDC, Pointer(LPDIRECTDRAWSURFACE4)]),
     Method(HRESULT, "RestoreAllSurfaces", []),
     Method(HRESULT, "TestCooperativeLevel", []),
-    Method(HRESULT, "GetDeviceIdentifier", [LPDDDEVICEIDENTIFIER, DWORD]),
+    Method(HRESULT, "GetDeviceIdentifier", [Out(LPDDDEVICEIDENTIFIER, "lpDDDeviceIdentifier"), DWORD]),
 ]
 
 IDirectDraw7.methods += [
     Method(HRESULT, "Compact", []),
-    Method(HRESULT, "CreateClipper", [DWORD, Pointer(LPDIRECTDRAWCLIPPER) , Pointer(IUnknown)]),
+    Method(HRESULT, "CreateClipper", [(DWORD, "dwFlags"), Out(Pointer(LPDIRECTDRAWCLIPPER), "lplpDDClipper"), (Pointer(IUnknown), "pUnkOuter")]),
     Method(HRESULT, "CreatePalette", [DWORD, LPPALETTEENTRY, Pointer(LPDIRECTDRAWPALETTE) , Pointer(IUnknown)]),
-    Method(HRESULT, "CreateSurface", [LPDDSURFACEDESC2, Pointer(LPDIRECTDRAWSURFACE7) , Pointer(IUnknown)]),
+    Method(HRESULT, "CreateSurface", [LPDDSURFACEDESC2, Out(Pointer(LPDIRECTDRAWSURFACE7), "lplpDDSurface") , Pointer(IUnknown)]),
     Method(HRESULT, "DuplicateSurface", [LPDIRECTDRAWSURFACE7, Pointer(LPDIRECTDRAWSURFACE7)]),
     Method(HRESULT, "EnumDisplayModes", [DWORD, LPDDSURFACEDESC2, LPVOID, LPDDENUMMODESCALLBACK2]),
     Method(HRESULT, "EnumSurfaces", [DWORD, LPDDSURFACEDESC2, LPVOID,LPDDENUMSURFACESCALLBACK7]),
     Method(HRESULT, "FlipToGDISurface", []),
     Method(HRESULT, "GetCaps", [LPDDCAPS, LPDDCAPS]),
-    Method(HRESULT, "GetDisplayMode", [LPDDSURFACEDESC2]),
+    Method(HRESULT, "GetDisplayMode", [Out(LPDDSURFACEDESC2, "lpDDSurfaceDesc")]),
     Method(HRESULT, "GetFourCCCodes", [LPDWORD, LPDWORD]),
     Method(HRESULT, "GetGDISurface", [Pointer(LPDIRECTDRAWSURFACE7)]),
     Method(HRESULT, "GetMonitorFrequency", [LPDWORD]),
@@ -1347,7 +1347,7 @@ IDirectDraw7.methods += [
     Method(HRESULT, "GetSurfaceFromDC", [HDC, Pointer(LPDIRECTDRAWSURFACE7)]),
     Method(HRESULT, "RestoreAllSurfaces", []),
     Method(HRESULT, "TestCooperativeLevel", []),
-    Method(HRESULT, "GetDeviceIdentifier", [LPDDDEVICEIDENTIFIER2, DWORD]),
+    Method(HRESULT, "GetDeviceIdentifier", [Out(LPDDDEVICEIDENTIFIER2, "lpDDDeviceIdentifier"), DWORD]),
     Method(HRESULT, "StartModeTest", [LPSIZE, DWORD, DWORD]),
     Method(HRESULT, "EvaluateMode", [DWORD, Pointer(DWORD)]),
 ]
@@ -1618,5 +1618,18 @@ ddraw.add_functions([
     StdFunction(DWORD, "D3DParseUnknownCommand", [(LPVOID, "lpCmd"), Out(Pointer(LPVOID), "lpRetCmd")]),
     StdFunction(HRESULT, "DllCanUnloadNow", []),
     StdFunction(HRESULT, "DllGetClassObject", [(REFCLSID, "rclsid"), (REFIID, "riid"), Out(Pointer(OpaquePointer(Void)), "ppv")]),
+
+    # XXX
+    StdFunction(HRESULT, "CompleteCreateSysmemSurface", [Int, Int]),
+    StdFunction(HRESULT, "GetSurfaceFromDC", [Int, Int, Int]),
+    StdFunction(HRESULT, "DDInternalLock", [Int, Int]),
+    StdFunction(HRESULT, "DDInternalUnlock", [Int]),
+    StdFunction(HRESULT, "DSoundHelp", [HWND, Int, Int]),
+    StdFunction(HRESULT, "GetDDSurfaceLocal", [Int, Int, Int]),
+    StdFunction(HANDLE, "GetOLEThunkData", [Int]),
+    StdFunction(HRESULT, "RegisterSpecialCase", [Int, Int, Int, Int]),
+    StdFunction(HRESULT, "DDGetAttachedSurfaceLcl", [Int, Int, Int]),
+
+    # TODO: SetAppCompatData
 ])