X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fgame_em%2Fmain.c;h=a9701d6955711887254b0489b03a69a7b1ce94eb;hb=b19246464046dd481ab0e9bd133ba09b9d0b0300;hp=a477d1035c583fefaa526af624fe48a7ff1e1b62;hpb=095207353ef58a65f5146e6ddc7eefb51bfe0f55;p=rocksndiamonds.git diff --git a/src/game_em/main.c b/src/game_em/main.c index a477d103..a9701d69 100644 --- a/src/game_em/main.c +++ b/src/game_em/main.c @@ -25,9 +25,13 @@ char *arg_geometry; int arg_install; int arg_silence; +int em_game_status; + extern void tab_generate(); extern void ulaw_generate(); +extern void game_menu_init(); + void em_open_all() { /* pre-calculate some data */ @@ -38,6 +42,8 @@ void em_open_all() if (open_all() != 0) Error(ERR_EXIT, "em_open_all(): open_all() failed"); + + game_init_vars(); } void em_close_all() @@ -45,18 +51,15 @@ void em_close_all() close_all(); } -void em_main() +void em_main_init_game() { -#if 0 - em_open_all(); -#endif - - if (game_start() != 0) - Error(ERR_EXIT, "em_main(): game_start() failed"); + em_game_status = EM_GAME_STATUS_MENU; + game_menu_init(); +} -#if 0 - em_close_all(); -#endif +int em_main_handle_game(byte action) +{ + return game_loop(action); } /* massive kludge for buffer overflows