- Timestamp:
- Nov 14, 2003, 8:00:07 PM (20 years ago)
- Location:
- ttyvaders/trunk
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
ttyvaders/trunk/libee/ee.c
r168 r178 191 191 } 192 192 193 void ee_set_delay(int usec)194 {195 _ee_delay = usec;196 }197 198 193 int ee_get_width(void) 199 194 { … … 218 213 } 219 214 220 #if !defined(USE_CONIO) 221 static int64_t local_time(void) 222 { 215 void ee_set_delay(int usec) 216 { 217 _ee_delay = usec; 218 } 219 220 static unsigned int _ee_getticks(void) 221 { 222 static unsigned int last_sec = 0, last_usec = 0; 223 223 224 struct timeval tv; 224 int64_t now;225 unsigned int ticks = 0; 225 226 226 227 gettimeofday(&tv, NULL); 227 now = tv.tv_sec; 228 now *= 1000000; 229 now += tv.tv_usec; 230 return now; 231 } 232 #endif 228 229 if(last_sec != 0) 230 { 231 ticks = (tv.tv_sec - last_sec) * 1000000 + (tv.tv_usec - last_usec); 232 } 233 234 last_sec = tv.tv_sec; 235 last_usec = tv.tv_usec; 236 237 return ticks; 238 } 233 239 234 240 void ee_refresh(void) 235 241 { 236 #if !defined(USE_CONIO) 237 static int64_t local_clock = 0; 238 int64_t now; 239 240 if(!local_clock) 241 { 242 /* Initialize local_clock */ 243 local_clock = local_time(); 244 } 245 246 if(local_time() > local_clock + 10000) 247 { 248 /* If we are late, we shouldn't display anything */ 249 } 250 #endif 242 static int lastticks = 0; 243 unsigned int ticks = lastticks + _ee_getticks(); 251 244 252 245 #if defined(USE_SLANG) … … 262 255 #endif 263 256 264 #if !defined(USE_CONIO) 265 now = local_time(); 266 267 if(now < local_clock + _ee_delay - 10000) 268 { 269 usleep(local_clock + _ee_delay - 10000 - now); 270 } 271 272 local_clock += _ee_delay; 273 #else 274 delay(5); 275 #endif 257 /* Wait until _ee_delay + time of last call */ 258 for(ticks += _ee_getticks(); ticks < _ee_delay; ticks += _ee_getticks()) 259 usleep(10000); 260 261 lastticks = ticks - _ee_delay; 262 263 /* If we drifted too much, it's bad, bad, bad. */ 264 if(lastticks > _ee_delay) 265 lastticks = 0; 276 266 } 277 267 -
ttyvaders/trunk/src/main.c
r174 r178 46 46 return 1; 47 47 } 48 49 ee_set_delay(100000); 48 50 49 51 /* Initialize our program */ -
ttyvaders/trunk/test/demo.c
r164 r178 56 56 } 57 57 58 ee_set_delay(40000); 59 58 60 /* Initialize data */ 59 61 sprite = ee_load_sprite("data/barboss.txt");
Note: See TracChangeset
for help on using the changeset viewer.