# HG changeset patch # User Extrawurst # Date 1291929619 -3600 # Node ID eb61cc181345be8123b903fdec71bb48c758beee # Parent a376e5d3eb00210658e2f9e6c58b8af0607a158e platform independant timing method diff -r a376e5d3eb00 -r eb61cc181345 trunk/tests/ChipmunkDemos/framework.d --- a/trunk/tests/ChipmunkDemos/framework.d Thu Dec 09 20:52:22 2010 +0100 +++ b/trunk/tests/ChipmunkDemos/framework.d Thu Dec 09 22:20:19 2010 +0100 @@ -91,4 +91,44 @@ void shutdown() { SDL_Quit(); +} + +version (Win32) +{ + import std.c.windows.windows; + + static long winfrequ; + + static this() + { + QueryPerformanceFrequency(&winfrequ); + } + + ulong tickCount(){ + long ret; + QueryPerformanceCounter(&ret); + return (cast(ulong)(cast(float)ret / winfrequ * 1000)); + } +} +else version (linux) +{ + import std.c.linux.linux; + + ulong tickCount(){ + + timeval val; + gettimeofday(&val,null); + + //return time(null); + return val.tv_usec/1000; + } +} +else version (OSX) +{ + import std.date; + + ulong tickCount(){ + + return cast(ulong)getUTCtime(); + } } \ No newline at end of file