BriefMenu::BriefMenu(MenuManager * m) : Menu(m, MENU_BRIEF, MENU_MAP, "mbrief.dat", "mbrieout.dat"), start_line_(0), p_briefing_(NULL), mm_renderer_() { addStatic(85, 35, 545, "#BRIEF_TITLE", FontManager::SIZE_4, false); txtTimeId_ = addStatic(500, 9, "", FontManager::SIZE_2, true); // Time // Briefing scroll button nextButId_ = addImageOption(461, 316, Sprite::MSPR_RIGHT_ARROW2_D, Sprite::MSPR_RIGHT_ARROW2_L); registerHotKey(KFC_RIGHT, nextButId_); prevButId_ = addImageOption(427, 316, Sprite::MSPR_LEFT_ARROW2_D, Sprite::MSPR_LEFT_ARROW2_L); registerHotKey(KFC_LEFT, prevButId_); // Accept button addOption(17, 347, 128, 25, "#MENU_ACC_BUT", FontManager::SIZE_2, MENU_SELECT); // Map button addOption(148, 347, 99, 25, "#BRIEF_MAP", FontManager::SIZE_2, MENU_MAP); // Main menu button addOption(500, 347, 128, 25, "#MENU_MAIN_BUT", FontManager::SIZE_2, MENU_MAIN); // Money txtMoneyId_ = addStatic(500, 87, 127, "0", FontManager::SIZE_2, true); // textfield // Info infosButId_ = addOption(500, 118, 127, 10, "#BRIEF_INFO", FontManager::SIZE_2); // info button txtInfoId_ = addStatic(500, 140, 127, "0", FontManager::SIZE_2, true); // Enhancement enhButId_ = addOption(500, 169, 127, 10, "#BRIEF_ENH", FontManager::SIZE_2); txtEnhId_ = addStatic(500, 195, 127, "0", FontManager::SIZE_2, true); a_page_ = new std::string[kMaxLinePerPage]; }
BriefMenu::BriefMenu(MenuManager * m) : Menu(m, "brief", "mbrief.dat", "mbrieout.dat"), start_line_(0) { addStatic(148, 35, "#BRIEF_TITLE", FontManager::SIZE_4, true); txtTimeId_ = addStatic(500, 9, "", FontManager::SIZE_2, false); // Time // Briefing scroll button nextButId_ = addImageOption(461, 316, KEY_F6, Sprite::MSPR_RIGHT_ARROW2_D, Sprite::MSPR_RIGHT_ARROW2_L); prevButId_ = addImageOption(427, 316, KEY_F7, Sprite::MSPR_LEFT_ARROW2_D, Sprite::MSPR_LEFT_ARROW2_L, false); // Accept button addOption(17, 347, 128, 25, "#MENU_ACC_BUT", FontManager::SIZE_2, KEY_F3, "select"); // Map button addOption(148, 347, 99, 25, "#BRIEF_MAP", FontManager::SIZE_2, KEY_F4, "map"); // Main menu button addOption(500, 347, 128, 25, "#MENU_MAIN_BUT", FontManager::SIZE_2, KEY_F5, "main"); // Money txtMoneyId_ = addStatic(500, 87, 127, "0", FontManager::SIZE_2, false); // textfield // Info infosButId_ = addOption(500, 118, 127, 10, "#BRIEF_INFO", FontManager::SIZE_2, KEY_F1); // info button txtInfoId_ = addStatic(500, 140, 127, "0", FontManager::SIZE_2, false); // Enhancement enhButId_ = addOption(500, 169, 127, 10, "#BRIEF_ENH", FontManager::SIZE_2, KEY_F2); txtEnhId_ = addStatic(500, 195, 127, "0", FontManager::SIZE_2, false); setParentMenu("map"); }
MainMenu::MainMenu(MenuManager * m):Menu(m, fs_edit_menus::kMenuIdMain, fs_edit_menus::kMenuIdMain, "mscrenup.dat", "") { isCachable_ = false; addStatic(0, 40, g_Screen.gameScreenWidth(), "GAME EDITOR", FontManager::SIZE_4, false); addOption(201, 130, 300, 25, "GRAPHICS", FontManager::SIZE_3, fs_edit_menus::kMenuIdGfx, true, false); quitButId_ = addOption(201, 266, 300, 25, "#MAIN_QUIT", FontManager::SIZE_3, MENU_NO_MENU, true, false); }
SelectMenu::SelectMenu(MenuManager * m):Menu(m, fs_game_menus::kMenuIdSelect, fs_game_menus::kMenuIdBrief, "mselect.dat", "mselout.dat"), cur_agent_(0), tick_count_(0), rnd_(0), sel_all_(false) { tab_ = TAB_EQUIPS; pSelectedWeap_ = NULL; selectedWInstId_ = 0; pSelectedMod_ = NULL; weapon_dragged_ = NULL; addStatic(85, 35, 545, "#SELECT_TITLE", FontManager::SIZE_4, false); txtTimeId_ = addStatic(500, 9, "", FontManager::SIZE_2, true); // Time moneyTxtId_ = addStatic(500, 87, 128, "0", FontManager::SIZE_2, true); // Money addOption(16, 234, 129, 25, "#SELECT_RES_BUT", FontManager::SIZE_2, fs_game_menus::kMenuIdResearch); teamButId_ = addToggleAction(16, 262, 129, 25, "#SELECT_TEAM_BUT", FontManager::SIZE_2, false); modsButId_ = addToggleAction(16, 290, 129, 25, "#MENU_MODS_BUT", FontManager::SIZE_2, false); equipButId_ = addToggleAction(16, 318, 129, 25, "#MENU_EQUIP_BUT", FontManager::SIZE_2, true); acceptButId_ = addOption(16, 346, 129, 25, "#MENU_ACC_BUT", FontManager::SIZE_2, fs_game_menus::kMenuIdLoading); addOption(500, 347, 128, 25, "#MENU_MAIN_BUT", FontManager::SIZE_2, fs_game_menus::kMenuIdMain); // Team list pTeamLBox_ = addTeamListBox(502, 106, 124, 236, false); pTeamLBox_->setModel(g_gameCtrl.agents().getAgents()); // Available weapons list pWeaponsLBox_ = addListBox(504, 110, 122, 230, tab_ == TAB_EQUIPS); pWeaponsLBox_->setModel(g_gameCtrl.weapons().getAvailableWeapons()); // Available mods list pModsLBox_ = addListBox(504, 110, 122, 230, tab_ == TAB_MODS); pModsLBox_->setModel(g_gameCtrl.mods().getAvalaibleMods()); cancelButId_ = addOption(500, 270, 127, 22, "#MENU_CANCEL_BUT", FontManager::SIZE_2, MENU_NO_MENU, false); reloadButId_ = addOption(500, 295, 127, 22, "#SELECT_RELOAD_BUT", FontManager::SIZE_2, MENU_NO_MENU, false); purchaseButId_ = addOption(500, 320, 127, 22, "#SELECT_BUY_BUT", FontManager::SIZE_2, MENU_NO_MENU, false); sellButId_ = addOption(500, 320, 127, 22, "#SELECT_SELL_BUT", FontManager::SIZE_2, MENU_NO_MENU, false); // Agent name selected txtAgentId_ = addStatic(158, 86, "", FontManager::SIZE_2, true); }
static void Register(HSQUIRRELVM v) { PropEntry props[] = { PROP_ENTRY_R(numWorldMatrices), PROP_ENTRY_R(numTextureUnits), PROP_ENTRY_R(numVertexBlendMatrices), PROP_ENTRY_R(numVertexTextureUnits), PROP_ENTRY_R(maxTextureSize), PROP_ENTRY_R(maxViewportWidth), PROP_ENTRY_R(maxViewportHeight), PROP_ENTRY_R(numDepthBufferBits), PROP_ENTRY_R(numStencilBufferBits), PROP_ENTRY_R(numVertexShaderFloatConsts), PROP_ENTRY_R(numVertexShaderIntConsts), PROP_ENTRY_R(numVertexShaderBoolConsts), PROP_ENTRY_R(numGeometryShaderFloatConsts), PROP_ENTRY_R(numGeometryShaderIntConsts), PROP_ENTRY_R(numGeometryShaderBoolConsts), PROP_ENTRY_R(numPixelShaderFloatConsts), PROP_ENTRY_R(numPixelShaderIntConsts), PROP_ENTRY_R(numPixelShaderBoolConsts), PROP_ENTRY_R(numMultiRenderTargets), NULL }; FuncEntry funcs[] = { FUNC_ENTRY_H(isCapable, "(spec: int): bool"), FUNC_ENTRY_H(report, "(ch: LogChannel = null)"), NULL }; bind(v, props, funcs); vector<std::pair<String, uint32> >::type specs; RenderSpec::allSpecs(specs); for (uint i=0; i<specs.size(); ++i) { const String& name = specs[i].first; size_t ppos = name.find('.'); if (ppos != name.npos) { addStaticTable(v, name.substr(0, ppos).c_str(), false, false); newSlot(v, -1, name.substr(ppos+1), specs[i].second); sq_poptop(v); } else { addStatic(v, name.c_str(), specs[i].second); } } }
BriefMenu::BriefMenu(MenuManager * m, MapMenu * mapMenu) : Menu(m, "brief", "mbrief.dat", "mbrieout.dat"), map_menu_(mapMenu), orig_pixels_(0), cur_miss_(0), start_line_(0), info_level_(1), enhance_level_(0), mission_(0) { addStatic(148, 35, "MISSION BRIEF", 3, true); addOption(538, 118, "INFO", 1, KEY_F1, NULL); addOption(518, 169, "ENHANCE", 1, KEY_F2, NULL); addOption(461, 320, "\003", 1, KEY_F6, NULL); addOption(427, 320, "\002", 1, KEY_F7, NULL, false); addOption(43, 352, "ACCEPT", 1, KEY_F3, "select"); addOption(173, 352, "MAP", 1, KEY_F4, "map"); addOption(535, 352, "MENU", 1, KEY_F5, "main"); setParentMenu("map"); }
MainMenu::MainMenu(MenuManager * m):Menu(m, fs_game_menus::kMenuIdMain, fs_game_menus::kMenuIdMain, "moption.dat", "moptout.dat") { isCachable_ = false; addStatic(0, 40, g_Screen.gameScreenWidth(), "#MAIN_TITLE", FontManager::SIZE_4, false); int id = addOption(201, 130, 300, 25, "#MAIN_CONF", FontManager::SIZE_3, fs_game_menus::kMenuIdConf, true, false); registerHotKey(KFC_F1, id); id = addOption(201, 164, 300, 25, "#MAIN_BEGIN", FontManager::SIZE_3, fs_game_menus::kMenuIdMap, true, false); registerHotKey(KFC_F2, id); id = addOption(201, 198, 300, 25, "#MAIN_LOAD_SAVE", FontManager::SIZE_3, fs_game_menus::kMenuIdLdSave, true, false); registerHotKey(KFC_F3, id); resetButId_ = addOption(201, 232, 300, 25, "#MAIN_RESET", FontManager::SIZE_3, fs_game_menus::kMenuIdMain, true, false); registerHotKey(KFC_F4, resetButId_); quitButId_ = addOption(201, 266, 300, 25, "#MAIN_QUIT", FontManager::SIZE_3, MENU_NO_MENU, true, false); registerHotKey(KFC_F5, quitButId_); }
LoadingMenu::LoadingMenu(MenuManager * m):Menu(m, "loading", "", ""), tick_count_(-500) { addStatic(0, 180, g_Screen.gameScreenWidth(), "#LDGAME_TITLE", FontManager::SIZE_4, false); }
LogoutMenu::LogoutMenu(MenuManager * m):Menu(m, kMenuIdLogout, fs_game_menus::kMenuIdMain), tick_count_(0) { isCachable_ = false; addStatic(0, 180, g_Screen.gameScreenWidth(), "#LGOUT_TITLE", FontManager::SIZE_4, true); }
DebriefMenu::DebriefMenu(MenuManager *m) : Menu(m, MENU_DEBRIEF, MENU_MAIN, "mdebrief.dat", "mdeout.dat") { int y = 35; int right_x = 310; int left_x = 20; std::string str; addStatic(85, y, 545, "#DEBRIEF_TITLE", FontManager::SIZE_4, false); y = 100; menu_manager_->getMessage("DEBRIEF_SUBTITLE", str); addStatic(left_x, y, str.c_str(), FontManager::SIZE_2, true); separatorSize_ = getMenuFont(FontManager::SIZE_2)->textWidth(str.c_str(), false); y = 118; addStatic(left_x, y, "#DEBRIEF_STATUS", FontManager::SIZE_2, true); txtStatusId_ = addStatic(right_x, y, "", FontManager::SIZE_2, true); y += 14; addStatic(left_x, y, "#DEBRIEF_AGENTS", FontManager::SIZE_2, true); txtUsedId_ = addStatic(right_x, y, "", FontManager::SIZE_2, true); y += 14; addStatic(left_x, y, "#DEBRIEF_NEW_AGENT", FontManager::SIZE_2, true); txtAgentCapturedId_ = addStatic(right_x, y, "", FontManager::SIZE_2, true); y += 14; addStatic(left_x, y, "#DEBRIEF_TIME", FontManager::SIZE_2, true); txtTimeId_ = addStatic(right_x, y, "", FontManager::SIZE_2, true); y += 14; addStatic(left_x, y, "#DEBRIEF_AGT_KILLED", FontManager::SIZE_2, true); txtAgentKilledId_ = addStatic(right_x, y, "", FontManager::SIZE_2, true); y += 14; addStatic(left_x, y, "#DEBRIEF_CRIM_KILLED", FontManager::SIZE_2, true); txtCrimKilledId_ = addStatic(right_x, y, "", FontManager::SIZE_2, true); y += 14; addStatic(left_x, y, "#DEBRIEF_CIV_KILLED", FontManager::SIZE_2, true); txtCivilKilledId_ = addStatic(right_x, y, "", FontManager::SIZE_2, true); y += 14; addStatic(left_x, y, "#DEBRIEF_POL_KILLED", FontManager::SIZE_2, true); txtPoliceKilledId_ = addStatic(right_x, y, "", FontManager::SIZE_2, true); y += 14; addStatic(left_x, y, "#DEBRIEF_GUARD_KILLED", FontManager::SIZE_2, true); txtGardKilledId_ = addStatic(right_x, y, "", FontManager::SIZE_2, true); y += 14; addStatic(left_x, y, "#DEBRIEF_PERSUADED", FontManager::SIZE_2, true); txtConvincedId_ = addStatic(right_x, y, "", FontManager::SIZE_2, true); y += 14; addStatic(left_x, y, "#DEBRIEF_HIT", FontManager::SIZE_2, true); txtPrecisionId_ = addStatic(right_x, y, "", FontManager::SIZE_2, true); y += 20; txtSearchId_ = addStatic(left_x, y, "", FontManager::SIZE_2, true); y += 20; txtNewWeap1Id_ = addStatic(left_x, y, "", FontManager::SIZE_2, true); y += 14; txtNewWeap2Id_ = addStatic(left_x, y, "", FontManager::SIZE_2, true); addOption(16, 346, 129, 25, "#MENU_ACC_BUT", FontManager::SIZE_2, MENU_MAP); addOption(500, 347, 128, 25, "#MENU_MAIN_BUT", FontManager::SIZE_2, MENU_MAIN); }
LoadingMenu::LoadingMenu(MenuManager * m):Menu(m, MENU_LOADING, MENU_MAIN), tick_count_(-500) { isCachable_ = false; addStatic(0, 180, g_Screen.gameScreenWidth(), "#LDGAME_TITLE", FontManager::SIZE_4, true); }