void controlsCheckConfig() { if (keyConfigs.empty()) keyConfigs.push_back(defaultKeyConfig); if (selectedKeyConfig >= keyConfigs.size()) selectedKeyConfig = 0; loadKeyConfig(); }
/** * Gére les messages recu par le module * * @param msg Message recu */ void EventsEngine::processMessage(module_message& msg) { switch(msg.codeAction) { case ACTION_RELOAD_CONFIG_KEYS: loadKeyConfig(); cout << "Reloading config keys" << endl; break; default: break; } /// \todo gérer les events, mais y'en aura surement pas ... }
/** * Constructeur du module de gestin des evenements. * * @param core Reference vers le Core du programme * @param gameEngine Reference vers le gameEngine * @param guiEngine Reference vers la guiEngine */ EventsEngine::EventsEngine(Core* core, GameEngine* gameEngine, GUIEngine* guiEngine) : Module(EVENTS, "Events", core), irrEventLogger("Irrlicht", true) { this->gameEngine = gameEngine; this->guiEngine = guiEngine; l_keyState = new bool[255]; for(int i=0; i<255; i++) l_keyState[i] = false; loadKeyConfig(); }
void updateKeyConfigChooser() { bool redraw = false; int& option = keyConfigChooser_option; KeyConfig* config = &keyConfigs[selectedKeyConfig]; if (keyJustPressed(KEY_B)) { loadKeyConfig(); closeSubMenu(); } else if (keyJustPressed(KEY_X)) { keyConfigs.push_back(KeyConfig(*config)); selectedKeyConfig = keyConfigs.size()-1; char name[32]; sprintf(name, "Custom %d", keyConfigs.size()-1); strcpy(keyConfigs.back().name, name); option = -1; redraw = true; } else if (keyJustPressed(KEY_Y)) { if (selectedKeyConfig != 0) /* can't erase the default */ { keyConfigs.erase(keyConfigs.begin() + selectedKeyConfig); if (selectedKeyConfig >= keyConfigs.size()) selectedKeyConfig = keyConfigs.size() - 1; redraw = true; } } else if (keyPressedAutoRepeat(KEY_DOWN)) { if (option == NUM_BINDABLE_BUTTONS-1) option = -1; #if defined(_3DS) else if(option == 11) //Skip nonexistant keys option = 14; else if(option == 15) option = 24; #endif else option++; redraw = true; } else if (keyPressedAutoRepeat(KEY_UP)) { if (option == -1) option = NUM_BINDABLE_BUTTONS-1; #if defined(_3DS) else if(option == 14) //Skip nonexistant keys option = 11; else if(option == 24) option = 15; #endif else option--; redraw = true; } else if (keyPressedAutoRepeat(KEY_LEFT)) { if (option == -1) { if (selectedKeyConfig == 0) selectedKeyConfig = keyConfigs.size()-1; else selectedKeyConfig--; } else { config->funcKeys[option]--; if (config->funcKeys[option] < 0) config->funcKeys[option] = NUM_FUNC_KEYS-1; } redraw = true; } else if (keyPressedAutoRepeat(KEY_RIGHT)) { if (option == -1) { selectedKeyConfig++; if (selectedKeyConfig >= keyConfigs.size()) selectedKeyConfig = 0; } else { config->funcKeys[option]++; if (config->funcKeys[option] >= NUM_FUNC_KEYS) config->funcKeys[option] = 0; } redraw = true; } if (redraw) doAtVBlank(redrawKeyConfigChooser); }