inline main#mainLoop

This commit is contained in:
Gwenhael Le Moine 2024-04-14 20:33:51 +02:00
parent e0a789eef4
commit 98655a906f
No known key found for this signature in database
GPG key ID: FDFE3669426707A7

View file

@ -18,29 +18,6 @@ unsigned int delay_timer1 = 16384;
unsigned int lastTime_timer5 = 0;
unsigned int delay_timer5 = 64; // fps
static inline void mainloop()
{
if ( please_exit || !SDL_ready )
return;
currentTime = SDL_GetTicks();
emulator_run();
if ( currentTime > lastTime_timer1 + delay_timer1 ) {
lastTime_timer1 = currentTime;
display_update();
}
if ( currentTime > lastTime_timer5 + delay_timer5 ) {
lastTime_timer5 = currentTime;
SDL__display_show();
}
if ( !gui_events() )
return;
}
int main( int argc, char* argv[] )
{
parse_args( argc, argv );
@ -48,8 +25,27 @@ int main( int argc, char* argv[] )
gui_init();
emulator_init( "rom", "ram", "port1", "port2" );
while ( !please_exit )
mainloop();
while ( !please_exit ) {
if ( please_exit || !SDL_ready )
break;
currentTime = SDL_GetTicks();
emulator_run();
if ( currentTime > lastTime_timer1 + delay_timer1 ) {
lastTime_timer1 = currentTime;
display_update();
}
if ( currentTime > lastTime_timer5 + delay_timer5 ) {
lastTime_timer5 = currentTime;
SDL__display_show();
}
if ( !gui_events() )
break;
}
emulator_exit( "rom", "ram", "port1", "port2" );
gui_exit();