opendw
opendw copied to clipboard
Refactor/Improve event handing
All event handling (outside of the initial title screen) is handled today in engine.c (within sub_28B0) but this is not ideal because this code is only invoked via script execution and we would prefer to decouple script execution and event handling.
It is preferable for the main game loop to invoke event handling outside of script execution such that events and scripts are handled separately like traditional game loops.
while (keep_going) {
process_events();
process_timers();
// ....
execute_scripts();
update_display();
sleep(...);
}