// //////////////////////////////////////////////////////////////////////////// bool runKeyMapEditor(void) { UDWORD id; id = widgRunScreen(psWScreen); // Run the current set of widgets if(id == KM_RETURN) // return { saveKeyMap(); changeTitleMode(OPTIONS); } if(id == KM_DEFAULT) { keyClearMappings(); keyInitMappings(true); widgDelete(psWScreen,FRONTEND_BACKDROP);// readd the widgets startKeyMapEditor(false); } else if( id>=KM_START && id<=KM_END) { pushedKeyMap(id); } if(selectedKeyMap) { KEY_CODE kc = scanKeyBoardForBinding(); if (kc) { pushedKeyCombo(kc); } } widgDisplayScreen(psWScreen); // show the widgets currently running if (CancelPressed()) { changeTitleMode(OPTIONS); } return true; }
// //////////////////////////////////////////////////////////////////////////// bool runKeyMapEditor(void) { WidgetTriggers const &triggers = widgRunScreen(psWScreen); unsigned id = triggers.empty()? 0 : triggers.front().widget->id; // Just use first click here, since the next click could be on another menu. if(id == KM_RETURN) // return { saveKeyMap(); changeTitleMode(OPTIONS); } if(id == KM_DEFAULT) { keyClearMappings(); keyInitMappings(true); widgDelete(psWScreen,FRONTEND_BACKDROP);// readd the widgets startKeyMapEditor(false); } else if( id>=KM_START && id<=KM_END) { pushedKeyMap(id); } if(selectedKeyMap) { KEY_CODE kc = scanKeyBoardForBinding(); if (kc) { pushedKeyCombo(kc); } } widgDisplayScreen(psWScreen); // show the widgets currently running if (CancelPressed()) { changeTitleMode(OPTIONS); } return true; }
// //////////////////////////////////////////////////////////////////////////// BOOL runKeyMapEditor(void) { UDWORD id; id = widgRunScreen(psWScreen); // Run the current set of widgets if(id == KM_RETURN) // return { saveKeyMap(); changeTitleMode(TITLE); } if(id == KM_DEFAULT) { keyClearMappings(); keyInitMappings(TRUE); widgDelete(psWScreen,FRONTEND_BACKDROP);// readd the widgets startKeyMapEditor(FALSE); } else if( id>=KM_START && id<=KM_END) { pushedKeyMap(id); } if(selectedKeyMap) { id = scanKeyBoardForBinding(); if(id) { pushedKeyCombo(id); } } DrawBegin(); StartCursorSnap(&InterfaceSnap); widgDisplayScreen(psWScreen); // show the widgets currently running DrawEnd(); return TRUE; }
// //////////////////////////////////////////////////////////////////////////// // Change Mode void changeTitleMode(tMode mode) { tMode oldMode; widgDelete(psWScreen, FRONTEND_BACKDROP); // delete backdrop. oldMode = titleMode; // store old mode titleMode = mode; // set new mode switch(mode) { case SINGLE: startSinglePlayerMenu(); break; case GAME: startGameOptionsMenu(); break; case GRAPHICS_OPTIONS: startGraphicsOptionsMenu(); break; case AUDIO_OPTIONS: startAudioOptionsMenu(); break; case VIDEO_OPTIONS: startVideoOptionsMenu(); break; case MOUSE_OPTIONS: startMouseOptionsMenu(); break; case TUTORIAL: startTutorialMenu(); break; case OPTIONS: startOptionsMenu(); break; case TITLE: startTitleMenu(); break; case CREDITS: startCreditsScreen(); break; case MULTI: startMultiPlayerMenu(); // goto multiplayer menu break; case PROTOCOL: startConnectionScreen(); break; case MULTIOPTION: if(oldMode == MULTILIMIT) { startMultiOptions(true); } else { startMultiOptions(false); } break; case GAMEFIND: startGameFind(); break; case MULTILIMIT: startLimitScreen(); break; case KEYMAP: startKeyMapEditor(true); break; case STARTGAME: case QUIT: case LOADSAVEGAME: bLimiterLoaded = false; case SHOWINTRO: break; default: debug( LOG_FATAL, "Unknown title mode requested" ); abort(); break; } return; }