// build a list of objectives for a new mission void CFolderObjectives::BuildObjectivesList() { int missionNum = g_pInterfaceMgr->GetMissionData()->GetMissionNum(); MISSION* pMission = g_pMissionMgr->GetMission(missionNum); if (!pMission) return; CLTGUIFont *pFont = GetSmallFont(); for (int i = 0; i < pMission->nNumObjectives ; i++) { uint32 objID = pMission->aObjectiveIds[i]; CGroupCtrl *pGroup = debug_new(CGroupCtrl); CLTGUITextItemCtrl *pCtrl = CreateTextItem((int)objID,LTNULL,LTNULL,LTTRUE,pFont); if (pCtrl) { pCtrl->Enable(LTFALSE); pCtrl->SetFixedWidth(440); int nIndex= 0; CBitmapCtrl *pCheck = debug_new(CBitmapCtrl); pCheck->Create(g_pLTClient,"interface\\check-off.pcx"); int strHeight = pCtrl->GetHeight(); int bmpHeight = pCheck->GetHeight(); int height = Max(strHeight,bmpHeight) + 4; pGroup->Create(480,height); LTIntPt offset(40, (height - strHeight) / 2 ); pGroup->AddControl(pCtrl,offset); offset.x = 0; offset.y = (height - bmpHeight) / 2; pGroup->AddControl(pCheck,offset); pGroup->Enable(LTFALSE); AddFreeControl(pGroup); } } }
void CFolderNew::BuildMissionList() { int nextMission = g_pGameClientShell->GetPlayerSummary()->GetNextMission(); int nCurrentMission = -1; for (int mis = 0; mis <= nextMission; ++mis) { MISSION* pMission = g_pMissionMgr->GetMission(mis); uint32 cmd = (uint32)mis + FOLDER_CMD_CUSTOM; if (!pMission) break; int nameId = pMission->nNameId; int nListWidth = m_ListRect.right - m_ListRect.left; HSTRING hStr = g_pLTClient->FormatString(nameId); CLTGUIFont *pFont; if (g_pLayoutMgr->GetListFontSize((eFolderID)m_nFolderID) == 0) pFont = GetSmallFont(); else if (g_pLayoutMgr->GetListFontSize((eFolderID)m_nFolderID) == 1) pFont = GetMediumFont(); else pFont = GetLargeFont(); CBitmapCtrl *pCheck = debug_new(CBitmapCtrl); if (g_pLayoutMgr->GetListFontSize((eFolderID)m_nFolderID)) pCheck->Create(g_pLTClient,"interface\\check-off.pcx","interface\\check-on.pcx"); else pCheck->Create(g_pLTClient,"interface\\small_check-off.pcx","interface\\small_check-on.pcx"); pCheck->Select((mis < nextMission)); int nWidth = pCheck->GetWidth(); CStaticTextCtrl *pCtrl = CreateStaticTextItem(hStr,cmd,LTNULL,(nListWidth - nWidth),0,LTFALSE,pFont); pCtrl->Enable(LTTRUE); int nHeight = Max(pCtrl->GetHeight(),pCheck->GetHeight()); CGroupCtrl *pGroup = AddGroup(nListWidth,nHeight,cmd); g_pLTClient->FreeString(hStr); LTIntPt offset; pGroup->AddControl(pCheck,offset,LTFALSE); offset.x = nWidth; pGroup->AddControl(pCtrl,offset,LTTRUE); // AddPhotoBitmap(g_pInterfaceResMgr->GetSharedSurface(pMission->szPhoto)); } }