void client_main_loop (void) { int quit = 0; int engine_updated = 0; /* Set up the game */ reset_start_time (); update_avail_modules (0); screen_full_refresh (); if (no_init_help == 0) { block_help_exit = 1; help_flag = 1; if (make_dir_ok_flag) { activate_help ("ask-dir.hlp"); make_dir_ok_flag = 0; } else { activate_help ("opening.hlp"); } } /* Set speed */ #if defined (CS_PROFILE) || defined (START_FAST_SPEED) select_fast (); #else select_medium (); #endif /* Main Loop */ do { int key; /* Get timestamp for this iteration */ get_real_time(); /* Process events */ #if defined (LC_X11) call_event (); key = x_key_value; x_key_value = 0; #elif defined (WIN32) call_event (); key = GetKeystroke (); #else mouse_update (); key = vga_getkey (); #endif /* nothing happened if key == 0 XXX: right? */ /* GCS: I'm not sure */ if (key != 0) { process_keystrokes (key); } /* Simulate the timestep */ quit = execute_timestep (); } while (quit == 0); }
void medium_handler(int x, int y, int button) { if (button == LC_MOUSE_RIGHTBUTTON) { activate_help ("medium.hlp"); } else { select_medium (); } }
void select_pause (void) { if (pause_flag) { /* unpause it */ if (fast_flag) select_fast (); else if (med_flag) select_medium (); else if (slow_flag) select_slow (); else select_medium (); } else { /* pause it */ pause_flag = 1; draw_pause (1); draw_slow (0); draw_med (0); draw_fast (0); } }