void S9xHandlePortCommand (s9xcommand_t cmd, int16 data1, int16 data2) { static bool quit_binding_down = FALSE; if (data1 == TRUE) { if (cmd.port[0] == PORT_QUIT) quit_binding_down = TRUE; } if (data1 == FALSE) /* Release */ { if (cmd.port[0] != PORT_QUIT) { quit_binding_down = FALSE; } if (cmd.port[0] == PORT_COMMAND_FULLSCREEN) { top_level->toggle_fullscreen_mode (); } else if (cmd.port[0] == PORT_COMMAND_SAVE_SPC) { top_level->save_spc_dialog (); } else if (cmd.port[0] == PORT_OPEN_ROM) { top_level->open_rom_dialog (); } else if (cmd.port[0] == PORT_PAUSE) { if (!(top_level->user_pause)) top_level->pause_from_user (); else top_level->unpause_from_user (); } else if (cmd.port[0] == PORT_SEEK_TO_FRAME) { top_level->movie_seek_dialog (); } else if (cmd.port[0] == PORT_SWAP_CONTROLLERS) { swap_controllers_1_2 (); } else if (cmd.port[0] == PORT_QUIT) { if (quit_binding_down) S9xExit (); } } return; }
void S9xHandlePortCommand (s9xcommand_t cmd, int16 data1, int16 data2) { static bool quit_binding_down = false; if (data1 == true) { if (cmd.port[0] == PORT_QUIT) quit_binding_down = true; else if (cmd.port[0] == PORT_REWIND) Settings.Rewinding = true; } if (data1 == false) /* Release */ { if (cmd.port[0] != PORT_QUIT) { quit_binding_down = false; } if (cmd.port[0] == PORT_COMMAND_FULLSCREEN) { top_level->toggle_fullscreen_mode (); } else if (cmd.port[0] == PORT_COMMAND_SAVE_SPC) { top_level->save_spc_dialog (); } else if (cmd.port[0] == PORT_OPEN_ROM) { top_level->open_rom_dialog (); } else if (cmd.port[0] == PORT_PAUSE) { if (!(top_level->user_pause)) top_level->pause_from_user (); else top_level->unpause_from_user (); } else if (cmd.port[0] == PORT_REWIND) { Settings.Rewinding = false; } else if (cmd.port[0] == PORT_SEEK_TO_FRAME) { top_level->movie_seek_dialog (); } else if (cmd.port[0] == PORT_SWAP_CONTROLLERS) { swap_controllers_1_2 (); } else if (cmd.port[0] == PORT_QUIT) { if (quit_binding_down) S9xExit (); } else if (cmd.port[0] >= PORT_QUICKLOAD0 && cmd.port[0] <= PORT_QUICKLOAD9) { S9xQuickLoadSlot (cmd.port[0] - PORT_QUICKLOAD0); } else if (cmd.port[0] == PORT_SAVESLOT) { S9xQuickSaveSlot (gui_config->current_save_slot); } else if (cmd.port[0] == PORT_LOADSLOT) { S9xQuickLoadSlot (gui_config->current_save_slot); } else if (cmd.port[0] == PORT_INCREMENTSAVESLOT) { change_slot (1); S9xQuickSaveSlot (gui_config->current_save_slot); } else if (cmd.port[0] == PORT_DECREMENTLOADSLOT) { change_slot (-1); S9xQuickLoadSlot (gui_config->current_save_slot); } else if (cmd.port[0] == PORT_INCREMENTSLOT) { change_slot (1); } else if (cmd.port[0] == PORT_DECREMENTSLOT) { change_slot (-1); } else if (cmd.port[0] == PORT_GRABMOUSE) { top_level->toggle_grab_mouse (); } } }