]> git.cworth.org Git - apitrace/commitdiff
Re-add d3d8 support.
authorJosé Fonseca <jose.r.fonseca@gmail.com>
Thu, 28 Apr 2011 07:56:23 +0000 (08:56 +0100)
committerJosé Fonseca <jose.r.fonseca@gmail.com>
Thu, 28 Apr 2011 07:56:23 +0000 (08:56 +0100)
CMakeLists.txt
d3d8.py
trace.py

index cd2c8f972cb1a7e51c562f16064b7855578146f0..59adde50aecb8cf4d2eaf444a69369e69dc317a9 100755 (executable)
@@ -148,16 +148,20 @@ add_custom_command (
 
 if (WIN32)
     # d3d8.dll
-    #if (DirectX_D3D8_INCLUDE_DIR)
-    #    include_directories (${DirectX_D3D8_INCLUDE_DIR})
-    #    add_custom_command (
-    #        OUTPUT d3d8.cpp
-    #        COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/d3d8.py > ${CMAKE_CURRENT_BINARY_DIR}/d3d8.cpp
-    #        DEPENDS d3d8.py d3d8types.py d3d8caps.py winapi.py stdapi.py
-    #    )
-    #    add_library (d3d8 SHARED d3d8.def d3d8.cpp trace_write.cpp os_win32.cpp)
-    #    set_target_properties (d3d8 PROPERTIES PREFIX "")
-    #endif (DirectX_D3D8_INCLUDE_DIR)
+    if (DirectX_D3D8_INCLUDE_DIR)
+        include_directories (${DirectX_D3D8_INCLUDE_DIR})
+        add_custom_command (
+            OUTPUT d3d8.cpp
+            COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/d3d8.py > ${CMAKE_CURRENT_BINARY_DIR}/d3d8.cpp
+            DEPENDS d3d8.py trace.py d3d8types.py d3d8caps.py d3dshader.py winapi.py stdapi.py
+        )
+        add_library (d3d8 SHARED d3d8.def d3d8.cpp trace_write.cpp os_win32.cpp)
+        set_target_properties (d3d8
+            PROPERTIES PREFIX ""
+            RUNTIME_OUTPUT_PATH ${PROJECT_BINARY_DIR}/wrappers
+            LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR}/wrappers
+        )
+    endif (DirectX_D3D8_INCLUDE_DIR)
 
     # d3d9.dll
     if (DirectX_D3DX9_INCLUDE_DIR)
diff --git a/d3d8.py b/d3d8.py
index fdf788f9ab19f8f9146fc14aa5c267a9eeb1edd7..73c9c85f8a8327f21eb2c5f023b7c0bfeb00dd2c 100644 (file)
--- a/d3d8.py
+++ b/d3d8.py
@@ -28,6 +28,7 @@
 from winapi import *
 from d3d8types import *
 from d3d8caps import *
+from trace import DllTracer
 
 HRESULT = Enum("HRESULT", [
     "D3D_OK",
@@ -273,17 +274,24 @@ IDirect3DVolume8.methods += [
     Method(HRESULT, "UnlockBox", []),
 ]
 
-d3d8 = Dll("d3d8")
-d3d8.functions += [
+d3d8 = API("d3d8")
+d3d8.add_functions([
     StdFunction(PDIRECT3D8, "Direct3DCreate8", [(UINT, "SDKVersion")]),
-]
+])
+
+
+class D3D8Tracer(DllTracer):
+
+    pass
+
 
 if __name__ == '__main__':
     print '#include <windows.h>'
-    print '#include <tchar.h>'
     print '#include <d3d8.h>'
     print
     print '#include "trace_write.hpp"'
+    print '#include "os.hpp"'
     print
-    wrap()
+    tracer = D3D8Tracer('d3d8.dll')
+    tracer.trace_api(d3d8)
 
index 1a29a4a84417523611651fc6764b7bc8b7362761..72e937513ebb5baaf831ddf7f665ecf21a2b86e0 100644 (file)
--- a/trace.py
+++ b/trace.py
@@ -469,7 +469,8 @@ __getPublicProcAddress(LPCSTR lpProcName)
     return GetProcAddress(g_hDll, lpProcName);
 }
 
-    ''' % self.dllname
+#define __abort() OS::Abort()
+''' % self.dllname
 
         dispatcher = Dispatcher()
         dispatcher.dispatch_api(api)