bool CCameraHandler::LoadView(const std::string& name) { if (name.empty()) return false; const auto it = viewDataMap.find(name); if (it == viewDataMap.end()) return false; const ViewData& saved = it->second; ViewData current; GetState(current); if (saved == current) { // load a view twice to return to old settings // safety: should not happen, but who knows? if (name != "__old_view") return LoadView("__old_view"); return false; } if (name != "__old_view") SaveView("__old_view"); return LoadViewData(saved); }
bool CCameraHandler::LoadView(const std::string& name) { if (name.empty()) { return false; } std::map<std::string, ViewData>::const_iterator it = views.find(name); if (it == views.end()) { return false; } const ViewData& saved = it->second; ViewData current; GetState(current); if (saved == current) { // load a view twice to return to old settings if (name != "__old_view") { // safety: should not happen, but who knows? return LoadView("__old_view"); } else { return false; } } else { if (name != "__old_view") { SaveView("__old_view"); } return LoadViewData(saved); } }
void CCameraHandler::PushAction(const Action& action) { const std::string cmd = action.command; if (cmd == "viewfps") { SetCameraMode(CAMERA_MODE_FIRSTPERSON); } else if (cmd == "viewta") { SetCameraMode(CAMERA_MODE_OVERHEAD); } else if (cmd == "viewspring") { SetCameraMode(CAMERA_MODE_SPRING); } else if (cmd == "viewrot") { SetCameraMode(CAMERA_MODE_ROTOVERHEAD); } else if (cmd == "viewfree") { SetCameraMode(CAMERA_MODE_FREE); } else if (cmd == "viewov") { SetCameraMode(CAMERA_MODE_OVERVIEW); } else if (cmd == "viewtaflip") { COverheadController* taCam = dynamic_cast<COverheadController*>(camControllers[CAMERA_MODE_OVERHEAD]); if (taCam) { if (!action.extra.empty()) { taCam->flipped = !!atoi(action.extra.c_str()); } else { taCam->flipped = !taCam->flipped; } taCam->Update(); } } else if (cmd == "viewsave") { if (!action.extra.empty()) { SaveView(action.extra); LOG("Saved view: %s", action.extra.c_str()); } } else if (cmd == "viewload") { if (!LoadView(action.extra)) { LOG_L(L_WARNING, "Loading view failed!"); } } else if (cmd == "toggleoverview") { ToggleOverviewCamera(); } else if (cmd == "togglecammode") { ToggleState(); } }
void scene::Init() { LoadModel(); LoadView(); LoadLight(); }
bool CMenu::_Home(void) { SetupInput(); _showHome(); string prevTheme = m_cfg.getString("GENERAL", "theme", "default"); while(!m_exit) { /* battery gets refreshed in here... */ _mainLoopCommon(); /* and it always changes so... */ m_btnMgr.setText(m_homeLblBattery, wfmt(PLAYER_BATTERY_LABEL, min((float)wd[0]->battery_level, 100.f), min((float)wd[1]->battery_level, 100.f), min((float)wd[2]->battery_level, 100.f), min((float)wd[3]->battery_level, 100.f))); if(BTN_A_PRESSED) { if(m_btnMgr.selected(m_homeBtnSettings)) { _hideHome(); _config(1); if(prevTheme != m_cfg.getString("GENERAL", "theme") || m_reload == true) { m_exit = true; m_reload = true; break; } _showHome(); } else if(m_btnMgr.selected(m_homeBtnReloadCache)) { //m_gameList.SetLanguage(m_loc.getString(m_curLanguage, "gametdb_code", "EN").c_str()); UpdateCache(m_current_view); LoadView(); break; } else if(m_btnMgr.selected(m_homeBtnUpdate) && !m_locked) { CoverFlow.stopCoverLoader(true); _hideHome(); _system(); remove(m_ver.c_str()); if(m_exit) _launchHomebrew(m_dol.c_str(), m_homebrewArgs); else { _showHome(); CoverFlow.startCoverLoader(); } } else if(m_btnMgr.selected(m_homeBtnInstall)) { _hideHome(); _wbfsOp(WO_ADD_GAME); _showHome(); } else if(m_btnMgr.selected(m_homeBtnAbout)) { _hideHome(); _about(); _showHome(); } else if(m_btnMgr.selected(m_homeBtnExitTo)) { _hideHome(); if(m_locked) exitHandler(WIIFLOW_DEF); else _ExitTo(); _showHome(); } else if(m_btnMgr.selected(m_homeBtnExplorer)) { _hideHome(); _Explorer(); _showHome(); } else if(m_btnMgr.selected(m_homeBtnFTP)) { _hideHome(); _FTP(); _showHome(); } } else if(BTN_HOME_PRESSED) { exitHandler(WIIFLOW_DEF); break; } else if(BTN_B_PRESSED) break; } _hideHome(); return m_exit; }
void CCameraHandler::PushAction(const Action& action) { const std::string cmd = action.command; if (cmd == "viewfps") { SetCameraMode(CAMERA_MODE_FIRSTPERSON); } else if (cmd == "viewta") { SetCameraMode(CAMERA_MODE_OVERHEAD); } else if (cmd == "viewtw") { SetCameraMode(CAMERA_MODE_TOTALWAR); } else if (cmd == "viewrot") { SetCameraMode(CAMERA_MODE_ROTOVERHEAD); } else if (cmd == "viewfree") { SetCameraMode(CAMERA_MODE_FREE); } else if (cmd == "viewov") { SetCameraMode(CAMERA_MODE_OVERVIEW); } else if (cmd == "viewlua") { SetCameraMode(CAMERA_MODE_SMOOTH); // ? } else if (cmd == "vieworbit") { SetCameraMode(CAMERA_MODE_ORBIT); } else if (cmd == "viewtaflip") { COverheadController* taCam = dynamic_cast<COverheadController*>(camControllers[CAMERA_MODE_OVERHEAD]); SmoothController* smCam = dynamic_cast<SmoothController*>(camControllers[CAMERA_MODE_SMOOTH]); if (taCam) { if (!action.extra.empty()) { taCam->flipped = !!atoi(action.extra.c_str()); } else { taCam->flipped = !taCam->flipped; } } if (smCam) { if (!action.extra.empty()) { smCam->flipped = !!atoi(action.extra.c_str()); } else { smCam->flipped = !smCam->flipped; } } } else if (cmd == "viewsave") { if (!action.extra.empty()) { SaveView(action.extra); logOutput.Print("Saved view: " + action.extra); } } else if (cmd == "viewload") { if (!LoadView(action.extra)) logOutput.Print("Loading view failed!"); } else if (cmd == "toggleoverview") { ToggleOverviewCamera(); } else if (cmd == "togglecammode") { ToggleState(); } }