// //////////////////////////////////////////////////////////////////////////// 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; }
bool stageTwoInitialise(void) { int i; debug(LOG_WZ, "== stageTwoInitalise =="); // make sure we clear on loading; this a bad hack to fix a bug when // loading a savegame where we are building a lassat for (i = 0; i < MAX_PLAYERS; i++) { setLasSatExists(false, i); } if(bMultiPlayer) { if (!multiTemplateSetup()) { return false; } } if (!dispInitialise()) /* Initialise the display system */ { return false; } if(!initMiscImds()) /* Set up the explosions */ { iV_ShutDown(); debug( LOG_FATAL, "Can't find all the explosions graphics?" ); abort(); return false; } if (!cmdDroidInit()) { return false; } /* Shift the interface initialisation here temporarily so that it can pick up the stats after they have been loaded */ if (!intInitialise()) { return false; } if (!initMessage()) /* Initialise the message heaps */ { return false; } if (!gwInitialise()) { return false; } // keymappings keyClearMappings(); keyInitMappings(false); // Set the default uncoloured cursor here, since it looks slightly // better for menus and such. wzSetCursor(CURSOR_DEFAULT); SetFormAudioIDs(ID_SOUND_WINDOWOPEN,ID_SOUND_WINDOWCLOSE); // Setup game queues. // Don't ask why this doesn't go in stage three. In fact, don't even ask me what stage one/two/three is supposed to mean, it seems about as descriptive as stage doStuff, stage doMoreStuff and stage doEvenMoreStuff... debug(LOG_MAIN, "Init game queues, I am %d.", selectedPlayer); sendQueuedDroidInfo(); // Discard any pending orders which could later get flushed into the game queue. for (i = 0; i < MAX_PLAYERS; ++i) { NETinitQueue(NETgameQueue(i)); if (!myResponsibility(i)) { NETsetNoSendOverNetwork(NETgameQueue(i)); } } debug(LOG_MAIN, "stageTwoInitialise: done"); return true; }
bool frontendInitialise(const char *ResourceFile) { debug(LOG_MAIN, "Initialising frontend : %s", ResourceFile); if(!InitialiseGlobals()) // Initialise all globals and statics everywhere. { return false; } iV_Reset(); // Reset the IV library. if (!scrTabInitialise()) // Initialise the script system { return false; } if (!stringsInitialise()) // Initialise the string system { return false; } if (!objInitialise()) // Initialise the object system { return false; } if (!anim_Init()) { return false; } if ( !animObj_Init( init_ObjectDead ) ) { return false; } if (!allocPlayerPower()) //set up the PlayerPower for each player - this should only be done ONCE now { return false; } debug(LOG_MAIN, "frontEndInitialise: loading resource file ....."); if (!resLoad(ResourceFile, 0)) { //need the object heaps to have been set up before loading in the save game return false; } if (!dispInitialise()) // Initialise the display system { return false; } FrontImages = (IMAGEFILE*)resGetData("IMG", "frontend.img"); /* Shift the interface initialisation here temporarily so that it can pick up the stats after they have been loaded */ if (!intInitialise()) { return false; } // keymappings // clear out any existing mappings keyClearMappings(); keyInitMappings(false); // Set the default uncoloured cursor here, since it looks slightly // better for menus and such. wzSetCursor(CURSOR_DEFAULT); SetFormAudioIDs(-1,ID_SOUND_WINDOWCLOSE); // disable the open noise since distorted in 3dfx builds. initMiscVars(); gameTimeInit(); // hit me with some funky beats.... cdAudio_PlayTrack(SONG_FRONTEND); return true; }