void CFolderJoin::Escape() { if (m_pPassEdit && GetCapture() == m_pPassEdit) { SetCapture(LTNULL); m_szPassword[0] = LTNULL; RemoveFixedControl(m_pPassEdit); RemoveFixedControl(m_pPassLabel); RemoveFixedControl(m_pPassBack); m_bAskingForPassword = FALSE; ForceMouseUpdate(); } else CBaseFolder::Escape(); }
void CFolderSave::Escape() { if (GetCapture()) { m_pEdit->Select(LTFALSE); g_pColCtrl->SetString(0, g_hOldName); g_pColCtrl->SetString(2, g_hOldTime); SetCapture(LTNULL); RemoveFixedControl(m_pEdit); } else { CBaseFolder::Escape(); } }
uint32 CFolderSave::OnCommand(uint32 dwCommand, uint32 dwParam1, uint32 dwParam2) { if (dwCommand >= FOLDER_CMD_CUSTOM && dwCommand <= FOLDER_CMD_CUSTOM+kMaxSave) { uint32 slot = dwCommand - FOLDER_CMD_CUSTOM; char strSaveGameSetting[256]; char strKey[32]; sprintf (strKey, "SaveGame%02d", slot); CWinUtil::WinGetPrivateProfileString (GAME_NAME, strKey, "", strSaveGameSetting, 256, SAVEGAMEINI_FILENAME); char strFilename[128]; sprintf (strFilename, "Save\\Slot%02d.sav", slot); g_nSaveSlot = slot; g_nSaveIndex = (int)dwParam1; if (strlen (strSaveGameSetting) > 0 && CWinUtil::FileExist(strFilename)) { HSTRING hString = g_pLTClient->FormatString(IDS_CONFIRMSAVE); g_pInterfaceMgr->ShowMessageBox(hString,LTMB_YESNO,OverwriteCallBack,this); g_pLTClient->FreeString(hString); return 1; } if (dwCommand > FOLDER_CMD_CUSTOM) { m_szSaveName[0] = LTNULL; NameSaveGame(g_nSaveSlot,g_nSaveIndex); } else if (!SaveGame(g_nSaveSlot)) { HSTRING hString = g_pLTClient->FormatString(IDS_SAVEGAMEFAILED); g_pInterfaceMgr->ShowMessageBox(hString,LTMB_OK,LTNULL,LTNULL); g_pLTClient->FreeString(hString); } } else if (dwCommand == CMD_OVERWRITE) { NameSaveGame(g_nSaveSlot,g_nSaveIndex); } else if (dwCommand == CMD_EDIT_NAME) { if (GetCapture()) { m_pEdit->Select(LTFALSE); UpdateData(LTTRUE); SetCapture(LTNULL); RemoveFixedControl(m_pEdit); ForceMouseUpdate(); if (!SaveGame(g_nSaveSlot)) { HSTRING hString = g_pLTClient->FormatString(IDS_SAVEGAMEFAILED); g_pInterfaceMgr->ShowMessageBox(hString,LTMB_OK,LTNULL,LTNULL); g_pLTClient->FreeString(hString); return 0; } } } else return CBaseFolder::OnCommand(dwCommand,dwParam1,dwParam2); return 1; };
uint32 CFolderJoin::OnCommand(uint32 dwCommand, uint32 dwParam1, uint32 dwParam2) { switch(dwCommand) { case CMD_SELECT_SERVER: { int nIndex = m_pServerList->GetSelectedItem(); void* pGame = LTNULL; if (nIndex != CListCtrl::kNoSelection) { pGame = (void*)m_pServerList->GetControl(nIndex)->GetParam1(); } if (pGame != GetCurGameServerHandle()) { SetCurGameServerHandle(pGame); SetState(FSS_GETALLDATA); } UpdatePlayers(TRUE); } break; case CMD_REFRESH_SERVERS: { SetState(FSS_GETSERVICES); break; } case CMD_REPING_SERVERS: { //SetState(FSS_GETPINGS); break; } case CMD_VERSION_FILTER: { m_nVersionFilter = !m_nVersionFilter; m_pVersionFilter->UpdateData(LTFALSE); ForceNextUpdate(); } break; case CMD_GAME_FILTER: { m_nGameFilter++; if (m_nGameFilter > NGT_FILTER_LAST) m_nGameFilter = 0; m_pGameFilter->UpdateData(LTFALSE); ForceNextUpdate(); } break; case CMD_POP_FILTER: { m_nPopFilter++; if (m_nPopFilter > POP_FILTER_LAST) m_nPopFilter = 0; m_pPopFilter->UpdateData(LTFALSE); ForceNextUpdate(); } break; case CMD_SORT_SERV_NAME: { SetServerSort(FSS_SORT_NAME); SortServers(); } break; case CMD_SORT_SERV_PLAYERS: { SetServerSort(FSS_SORT_PLAYERS); SortServers(); } break; case CMD_SORT_SERV_PING: { SetServerSort(FSS_SORT_PING); SortServers(); } break; case CMD_SORT_SERV_GAME: { SetServerSort(FSS_SORT_GAME); SortServers(); } break; case CMD_SORT_SERV_MAP: { SetServerSort(FSS_SORT_MAP); SortServers(); } break; case CMD_SORT_PLYR_NAME: { SetPlayerSort(FSS_SORT_NAME); SortPlayers(); } break; case CMD_SORT_PLYR_SCORE: { SetPlayerSort(FSS_SORT_FRAGS); SortPlayers(); } break; case CMD_SORT_PLYR_PING: { SetPlayerSort(FSS_SORT_PING); SortPlayers(); } break; case CMD_EDIT_PASS: { SetCapture(LTNULL); m_pPassEdit->UpdateData(); RemoveFixedControl(m_pPassEdit); RemoveFixedControl(m_pPassLabel); RemoveFixedControl(m_pPassBack); m_bAskingForPassword = LTFALSE; ForceMouseUpdate(); JoinCurGame(LTTRUE); } break; case CMD_JOIN: { CGameSpyServer* pGame = GetGameSpyClientMgr()->GetServerFromHandle(m_pCurServerHandle); if (g_pGameClientShell->IsInWorld() && pGame) { if (IsCurrentGame(pGame)) { HLOCALOBJ hPlayerObj = g_pLTClient->GetClientObject(); if (g_pGameClientShell->IsInWorld() && hPlayerObj) { g_pInterfaceMgr->ChangeState(GS_PLAYING); } } else { HSTRING hString = g_pLTClient->FormatString(IDS_ENDCURRENTGAME); g_pInterfaceMgr->ShowMessageBox(hString,LTMB_YESNO,JoinCallBack,this); g_pLTClient->FreeString(hString); } } else { JoinCurGame(); } } break; default: return CBaseFolder::OnCommand(dwCommand,dwParam1,dwParam2); } return 1; };
void CFolderObjectives::OnFocus(LTBOOL bFocus) { if (bFocus) { m_pMissionCtrl->RemoveAll(); UseContinue(FOLDER_ID_NONE); int missionNum = g_pInterfaceMgr->GetMissionData()->GetMissionNum(); MISSION* pMission = g_pMissionMgr->GetMission(missionNum); if (!pMission) return; int missionId = pMission->nNameId; HSTRING hTxt=g_pLTClient->FormatString(missionId); m_pMissionCtrl->AddString(hTxt); g_pLTClient->FreeString(hTxt); //add objectives BuildObjectivesList(); //add spacer AddFreeControl(m_pSpacerCtrl); UseBack(LTFALSE); int nHelp = LTNULL; m_eNextFolder = GetNextSelectionFolder(FOLDER_ID_OBJECTIVES,&nHelp); UseContinue(FOLDER_ID_NONE); if (m_eNextFolder == FOLDER_ID_INVENTORY) { m_pSelectCtrl = CreateTextItem( IDS_START_MISSION, CMD_START, IDS_HELP_START, LTFALSE, GetMediumFont()); LTIntPt pos = g_pLayoutMgr->GetFolderCustomPoint(FOLDER_ID_OBJECTIVES,"StartPos"); AddFixedControl(m_pSelectCtrl,pos); SetSelection(GetIndex(m_pSelectCtrl)); } else { LTIntPt pos = g_pLayoutMgr->GetFolderCustomPoint(FOLDER_ID_OBJECTIVES,"SkipPos"); m_pSkipCtrl = CreateTextItem( IDS_SKIP_OUTFITTING,CMD_SKIP, IDS_HELP_SKIP_OUTFITTING, LTFALSE, GetMediumFont()); AddFixedControl(m_pSkipCtrl,pos); SetSelection(GetIndex(m_pSkipCtrl)); pos = g_pLayoutMgr->GetFolderCustomPoint(FOLDER_ID_OBJECTIVES,"SelectPos"); m_pSelectCtrl = CreateTextItem( IDS_DO_OUTFITTING, FOLDER_CMD_CONTINUE, IDS_HELP_DO_OUTFITTING, LTFALSE, GetMediumFont()); AddFixedControl(m_pSelectCtrl,pos); } UseBack(); } else { SetSelection(kNoSelection); while (m_controlArray.GetSize() > dwNumStaticControls) { CLTGUICtrl* pCtrl = m_controlArray[dwNumStaticControls]; m_controlArray.Remove(dwNumStaticControls); if (pCtrl != m_pSpacerCtrl) debug_delete(pCtrl); } if (m_pSkipCtrl) { RemoveFixedControl(m_pSkipCtrl); debug_delete(m_pSkipCtrl); m_pSkipCtrl = LTNULL; } if (m_pSelectCtrl) { RemoveFixedControl(m_pSelectCtrl); debug_delete(m_pSelectCtrl); m_pSelectCtrl = LTNULL; } } CBaseFolder::OnFocus(bFocus); }