Index: /Daodan/build.bat
===================================================================
--- /Daodan/build.bat	(revision 274)
+++ /Daodan/build.bat	(revision 275)
@@ -1,1 +1,1 @@
-gcc -O3 -s -Wall -shared -o build\binkw32.dll src\Oni_Symbols.S src\Daodan.c src\Daodan_DLLStubs.c src\Daodan_Patch.c src\Daodan_Utility.c
+gcc -O3 -s -Wall -shared -fomit-frame-pointer -o build\binkw32.dll src\Oni_Symbols.S src\Daodan.c src\Daodan_DLLStubs.c src\Daodan_Patch.c src\Daodan_Utility.c
Index: /Daodan/src/BFW_Utility.h
===================================================================
--- /Daodan/src/BFW_Utility.h	(revision 274)
+++ /Daodan/src/BFW_Utility.h	(revision 275)
@@ -4,6 +4,10 @@
 
 #include <stdio.h>
+#include <stdint.h>
+#include "Daodan.h"
 
 void __cdecl UUrStartupMessage(const char* fmt, ...);
+int64_t ONICALL UUrMachineTime_High();
+double  ONICALL UUrMachineTime_High_Frequency();
 
 extern FILE* ONgFileStartup;
Index: /Daodan/src/Daodan.c
===================================================================
--- /Daodan/src/Daodan.c	(revision 274)
+++ /Daodan/src/Daodan.c	(revision 275)
@@ -63,4 +63,8 @@
 	DDrPatch_MakeJump(UUrStartupMessage, DDrStartupMessage);
 	
+	// Test performance patch
+	DDrPatch_MakeJump(UUrMachineTime_High, DDrMachineTime_High);
+	DDrPatch_MakeJump(UUrMachineTime_High_Frequency, DDrMachineTime_High_Frequency);
+	
 	ONiMain(argc, argv);
 }
Index: /Daodan/src/Daodan_DLLStubs.c
===================================================================
--- /Daodan/src/Daodan_DLLStubs.c	(revision 274)
+++ /Daodan/src/Daodan_DLLStubs.c	(revision 275)
@@ -1,5 +1,5 @@
 
-__declspec(dllexport) void VTPauseSampling() {return;}
-__declspec(dllexport) void VTResumeSampling() {return;}
+__declspec(dllexport) void __cdecl VTPauseSampling() {return;}
+__declspec(dllexport) void __cdecl VTResumeSampling() {return;}
 
 __declspec(dllexport) int __stdcall _BinkBufferClose(int arg1) {return 0;}
Index: /Daodan/src/Daodan_Utility.c
===================================================================
--- /Daodan/src/Daodan_Utility.c	(revision 274)
+++ /Daodan/src/Daodan_Utility.c	(revision 275)
@@ -1,4 +1,6 @@
+#include <windows.h>
 #include <stdlib.h>
 #include <stdarg.h>
+#include <stdint.h>
 #include "oni_stdio.h"
 
@@ -25,2 +27,23 @@
 	return;
 }
+
+int64_t DDrMachineTime_High()
+{
+//	LARGE_INTEGER PerfCount;
+//	
+//	if (!QueryPerformanceCounter(&PerfCount))
+//		PerfCount.QuadPart = GetTickCount();
+//	
+//	return PerfCount.QuadPart;
+	return GetTickCount();
+}
+
+double DDrMachineTime_High_Frequency()
+{
+//	LARGE_INTEGER Frequency;
+//
+//	if (!QueryPerformanceFrequency(&Frequency))
+		return 1000.0;
+
+//	return Frequency.QuadPart;
+}
Index: /Daodan/src/Daodan_Utility.h
===================================================================
--- /Daodan/src/Daodan_Utility.h	(revision 274)
+++ /Daodan/src/Daodan_Utility.h	(revision 275)
@@ -3,5 +3,10 @@
 #define DAODAN_UTILITY_H
 
+#include <stdint.h>
+#include "Daodan.h"
+
 void __cdecl DDrStartupMessage(const char* fmt, ...);
+int64_t ONICALL DDrMachineTime_High();
+double  ONICALL DDrMachineTime_High_Frequency();
 
 #endif
Index: /Daodan/src/Oni_Symbols.S
===================================================================
--- /Daodan/src/Oni_Symbols.S	(revision 274)
+++ /Daodan/src/Oni_Symbols.S	(revision 275)
@@ -2,16 +2,18 @@
 
 // MSVC6.0 stdlib
-symbol ( _oni_malloc           , 0x0011fc24 )
-symbol ( _oni_free             , 0x0011fbf5 )
+symbol ( _oni_malloc                      , 0x0011fc24 )
+symbol ( _oni_free                        , 0x0011fbf5 )
 
-symbol ( _oni_fopen            , 0x0011ea9f )
-symbol ( _oni_fflush           , 0x0011eab2 )
-symbol ( _oni_fprintf          , 0x0011ebbf )
-symbol ( _oni_vsprintf         , 0x0011e860 )
+symbol ( _oni_fopen                       , 0x0011ea9f )
+symbol ( _oni_fflush                      , 0x0011eab2 )
+symbol ( _oni_fprintf                     , 0x0011ebbf )
+symbol ( _oni_vsprintf                    , 0x0011e860 )
 
 // Oni Engine
-symbol ( _ONiMain              , 0x000d3280 )
+symbol ( _ONiMain                         , 0x000d3280 )
 
 // BFW_Utility
-symbol ( _UUrStartupMessage    , 0x00024860 )
-symbol ( _ONgFileStartup       , 0x001711b8 )
+symbol ( _UUrStartupMessage               , 0x00024860 )
+symbol ( @UUrMachineTime_High@0           , 0x00026480 )
+symbol ( @UUrMachineTime_High_Frequency@0 , 0x000264b0 )
+symbol ( _ONgFileStartup                  , 0x001711b8 )
