2 THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX
3 SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO
4 END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A
5 ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS
6 IN USING, DISPLAYING, AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS
7 SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE
8 FREE PURPOSES. IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE
9 CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES. THE END-USER UNDERSTANDS
10 AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE.
11 COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED.
21 #define WIN32_LEAN_AND_MEAN
25 #define TARGET_RESOLUTION 1
27 //@@ static UINT TimerResolution = 0;
28 //@@ static UINT GameTimer = 0;
29 //@@ #define GAME_TIMER_RESOLUTION (TimerResolution<<1)
32 int timer_initialized=0;
34 static UINT GameSystemTime = 0;
35 static UINT GameStartTime = 0;
38 void timer_normalize();
40 //@@ void PASCAL timer_callback(UINT wTimerID, UINT msg, DWORD dwUser,
41 //@@ DWORD dw1, DWORD dw2)
43 //@@ static int last_time = 0;
47 //@@ time = timeGetTime()-GameStartTime;
49 //@@ if (timeGetTime() < GameStartTime)
50 //@@ GameStartTime = GameStartTime - timeGetTime();
54 void timer_normalize()
58 new_time = timeGetTime();
60 if (new_time < GameStartTime) {
61 GameStartTime = new_time;
65 if ((new_time - GameStartTime) > 0x01808580) // 7 hours
66 GameStartTime = new_time;
72 void timer_init(int i)
76 Assert(GameStartTime == 0);
78 timer_initialized = 1;
81 GameStartTime = timeGetTime();
89 Assert(GameStartTime > 0);
91 timer_initialized = 0;
98 fix timer_get_fixed_seconds()
105 time = timeGetTime() - GameStartTime;
107 val = fixdiv(time,1000);
112 fix timer_get_fixed_secondsX()
119 time = timeGetTime() - GameStartTime;
121 val = fixdiv(time,1000);
126 fix timer_get_approx_seconds()
133 time = timeGetTime() - GameStartTime;
135 val = fixdiv(time,1000);
140 void timer_set_function( void _far * function ) {}
143 void timer_delay(fix seconds)
145 unsigned int numticks = timeGetTime() + (seconds>>16)*1000 +
146 (((seconds & 0x0000ffff)*1000)/65535);
147 while (GetTickCount() < numticks);