]> git.cworth.org Git - apitrace/blobdiff - wgltrace.py
Handle moe uniform types and sizes.
[apitrace] / wgltrace.py
index cef2e1aaaff01a84536ff906518ad3d56505f464..d1b6ccfe0e4446b74718389d2581eb0dccf3e769 100644 (file)
@@ -35,18 +35,15 @@ from gltrace import GlTracer
 from codegen import *
 
 
-
-
 class WglTracer(GlTracer):
 
-    def get_function_address(self, function):
-        return '__%s' % (function.name,)
-
     def wrap_ret(self, function, instance):
+        GlTracer.wrap_ret(self, function, instance)
+
         if function.name == "wglGetProcAddress":
             print '    if (%s) {' % instance
         
-            func_dict = dict([(f.name, f) for f in wglapi.functions])
+            func_dict = dict([(f.name, f) for f in glapi.functions + wglapi.functions])
 
             def handle_case(function_name):
                 f = func_dict[function_name]
@@ -56,7 +53,7 @@ class WglTracer(GlTracer):
                 print '    %s = (%s)&%s;' % (instance, function.type, f.name);
         
             def handle_default():
-                print '    OS::DebugMessage("apitrace: unknown function \\"%s\\"\\n", lpszProc);'
+                print '    OS::DebugMessage("apitrace: warning: unknown function \\"%s\\"\\n", lpszProc);'
 
             string_switch('lpszProc', func_dict.keys(), handle_case, handle_default)
             print '    }'
@@ -69,7 +66,7 @@ if __name__ == '__main__':
     print '#include <string.h>'
     print '#include <windows.h>'
     print
-    print '#include "trace_write.hpp"'
+    print '#include "trace_writer.hpp"'
     print '#include "os.hpp"'
     print
     print '''
@@ -97,15 +94,15 @@ __getPublicProcAddress(LPCSTR lpProcName)
 }
 
     '''
+    print '// To validate our prototypes'
+    print '#define GL_GLEXT_PROTOTYPES'
+    print '#define WGL_GLXEXT_PROTOTYPES'
+    print
     print '#include "glproc.hpp"'
     print '#include "glsize.hpp"'
     print
-    print 'extern "C" {'
-    print
     api = API()
-    api.add_api(wglapi)
     api.add_api(glapi)
+    api.add_api(wglapi)
     tracer = WglTracer()
     tracer.trace_api(api)
-    print
-    print '} /* extern "C" */'