also, da hast du das File das die Definition des Datentyps MMVERSION enthält nicht included.
Ich würd dir raten die QueryPerformanceCounter-Funktionen zu benutzen. Mit VC++ 7.0 muss ich für diese Funktionen nichts includen (evtl. windows.h...keine ahnung). Schau doch einfach mal in der MSDN nach.
edit:
in der datei mmssytem.h? hast du da rumgepfuscht?
edit2:
hier hast sogar noch code: alternativ kannste dir auch die GameLoop von der TriBase-Engine anschauen. Da isses auch fast genauso drinne (n bissal besser, aber auch komplexer glaub ich).
|
Quellcode
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
LONGLONG llTime1;
LONGLONG llTime2;
LONGLONG llStartTime;
LONGLONG llFrequency;
QueryPerformanceFrequency((LARGE_INTEGER*)(&llFrequency));
QueryPerformanceCounter((LARGE_INTEGER*)(&llStartTime));
while(Message.message != WM_QUIT)
{
QueryPerformanceCounter((LARGE_INTEGER*)(&llTime1));
/*window message handling*********************/
if(PeekMessage(&Message,NULL,NULL,NULL,PM_REMOVE))
{
TranslateMessage(&Message);
DispatchMessage(&Message);
}
/**********************************************/
//BERECHNE GAMESTATE
/***********************************/
QueryPerformanceCounter((LARGE_INTEGER*)(&llTime2));
fCycleTime = static_cast<float>(llTime2-llTime1)/llFrequency;
fTotalTime = static_cast<float>(llTime2-llStartTime)/llFrequency;
}
return S_OK;
}
|