// Build the screen LTBOOL CScreenTeam::Build() { CreateTitle(IDS_TITLE_TEAM); int kColumn0 = g_pLayoutMgr->GetScreenCustomInt(SCREEN_ID_TEAM,"ColumnWidth"); int kColumn1 = (640 - GetPageLeft()) - kColumn0; int kArrow = g_pLayoutMgr->GetScreenCustomInt(SCREEN_ID_TEAM,"ArrowWidth"); m_pName = AddColumnCtrl(CMD_EDIT_NAME, IDS_HELP_TEAM_NAME); m_pName->AddColumn(LoadTempString(IDS_TEAM_NAME), kColumn0); m_pName->AddColumn("<Team name>", kColumn1, LTTRUE); m_pModel = AddTextItem(IDS_TEAM_MODEL, LTNULL, IDS_HELP_TEAM_MODEL); LTIntPt arrowPos = m_pModel->GetBasePos(); arrowPos.x += kColumn0; HTEXTURE hLeft = g_pInterfaceResMgr->GetTexture("interface\\menu\\sprtex\\arrowlt.dtx"); HTEXTURE hLeftH = g_pInterfaceResMgr->GetTexture("interface\\menu\\sprtex\\arrowlt_h.dtx"); m_pLeft = debug_new(CLTGUIButton); if (m_pLeft) { m_pLeft->Create(CMD_LEFT,LTNULL,hLeft,hLeftH); m_pLeft->SetBasePos(arrowPos); AddControl(m_pLeft); m_pLeft->SetCommandHandler(this); } arrowPos.x += kArrow; HTEXTURE hRight = g_pInterfaceResMgr->GetTexture("interface\\menu\\sprtex\\arrowrt.dtx"); HTEXTURE hRightH = g_pInterfaceResMgr->GetTexture("interface\\menu\\sprtex\\arrowrt_h.dtx"); m_pRight = debug_new(CLTGUIButton); if (m_pRight) { m_pRight->Create(CMD_RIGHT,LTNULL,hRight,hRightH); m_pRight->SetBasePos(arrowPos); AddControl(m_pRight); m_pRight->SetCommandHandler(this); } // Make sure to call the base class return CBaseScreen::Build(); }
// Build the screen LTBOOL CScreenJoin::Build() { // Make sure to call the base class if (!CBaseScreen::Build()) return LTFALSE; CreateTitle(IDS_TITLE_JOIN); // Very, very temporary.... // NYI NYI NYI int kColumn0 = g_pLayoutMgr->GetScreenCustomInt(SCREEN_ID_HOST,"ColumnWidth"); int kColumn1 = (640 - GetPageLeft()) - kColumn0; m_pFindCtrl = AddTextItem(IDS_FIND_SERVERS,CMD_SEARCH,IDS_HELP_FIND_SERVERS); m_pFindCtrl->Enable(LTFALSE); m_pStatusCtrl = AddTextItem("Status: Waiting", 0, IDS_HELP_FIND_SERVERS); m_pStatusCtrl->Enable(LTFALSE); m_pCDKeyCtrl = AddColumnCtrl(CMD_EDIT_CDKEY, IDS_HELP_FIND_SERVERS); m_pCDKeyCtrl->AddColumn("CD Key", kColumn0); m_pCDKeyCtrl->AddColumn(m_sCurCDKey.c_str(), kColumn1, LTTRUE); CLTGUIColumnCtrl* pCtrl = AddColumnCtrl(LTNULL, LTNULL, kDefaultPos, LTTRUE); char aTemp[256]; FormatString(IDS_SERVER_NAME,aTemp,sizeof(aTemp)); pCtrl->AddColumn(aTemp, kColumnWidth_ServerName); pCtrl->AddColumn("Map", kColumnWidth_MapName); pCtrl->AddColumn("Players", kColumnWidth_Players); pCtrl->Enable(LTFALSE); uint16 height = GetPageBottom() - m_nextPos.y; m_pServerListCtrl = AddList(m_nextPos,height,LTTRUE,kColumnWidth); m_pServerListCtrl->SetScrollWrap(LTFALSE); return LTTRUE; }
// Build the screen LTBOOL CScreenPlayerSkills::Build() { g_pSkillsScreen = this; CreateTitle(IDS_TITLE_SKILLS); int kColumn = g_pLayoutMgr->GetScreenCustomInt(SCREEN_ID_PLAYER_SKILLS,"ColumnWidth"); int kSlider = g_pLayoutMgr->GetScreenCustomInt(SCREEN_ID_PLAYER_SKILLS,"SliderWidth"); s_nMaxPool = g_pSkillsButeMgr->GetMultiplayerPool(); LTIntPt pos = m_nextPos; AddTextItem(IDS_SKILL_PTS,LTNULL,LTNULL,pos,LTTRUE); pos.x += kColumn; m_pPool = AddTextItem("999",LTNULL,LTNULL,pos,LTTRUE); pos.y += (m_pPool->GetBaseHeight() + 16); for (uint8 i = 0; i < kNumSkills; i++) { pos.x = GetPageLeft(); eSkill skl = (eSkill)i; if (g_pSkillsButeMgr->IsAvailable(skl) ) { m_pSkill[i] = AddSlider(GetSkillNameId(skl),GetSkillDescriptionId(skl),kColumn,kSlider,-1,&m_nLevels[i], pos); m_pSkill[i]->SetSliderIncrement(1); m_pSkill[i]->SetSliderRange(0,kNumSkillLevels-1); m_pSkill[i]->SetRangeCallback(SliderCallBack); m_pSkill[i]->SetParam1(i); pos.x += (kColumn + kSlider + 5); m_pLabel[i] = AddCycle(" ",NULL,20,&s_nLevels[i],pos,LTTRUE); for (int j = 0; j < kNumSkillLevels; j++) { eSkillLevel nxt = (eSkillLevel)(j+1); char szTemp[32]; if ( nxt < kNumSkillLevels) { uint32 nCost = g_pSkillsButeMgr->GetCostToUpgrade(skl,nxt); sprintf(szTemp,"%s (%d)",GetSkillLevelName((eSkillLevel)j),nCost); } else { SAFE_STRCPY(szTemp,GetSkillLevelName((eSkillLevel)j)); } m_pLabel[i]->AddString(szTemp); } pos.y += m_pSkill[i]->GetBaseHeight(); kNumAvailSkills++; } } pos.x = GetPageLeft(); pos.y += 8; AddTextItem(IDS_RESET_SKILLS,CMD_SKILLS,IDS_HELP_RESET_SKILLS,pos); // Make sure to call the base class return CBaseScreen::Build(); }
// Build the screen LTBOOL CScreenConfigure::Build() { CreateTitle(IDS_TITLE_CONFIGURE); m_nActionWidth = g_pLayoutMgr->GetScreenCustomInt(SCREEN_ID_CONFIGURE,"ActionWidth"); m_nEqualsWidth = g_pLayoutMgr->GetScreenCustomInt(SCREEN_ID_CONFIGURE,"EqualsWidth"); m_nCommandWidth = g_pLayoutMgr->GetScreenCustomInt(SCREEN_ID_CONFIGURE,"CommandWidth"); m_ListRect = g_pLayoutMgr->GetScreenCustomRect(SCREEN_ID_CONFIGURE,"ListRect"); m_nListFontSize = g_pLayoutMgr->GetScreenCustomInt(SCREEN_ID_CONFIGURE,"ListFontSize"); int nWidth = GetPageRight() - GetPageLeft(); LTIntPt topPos = g_pLayoutMgr->GetScreenCustomPoint(SCREEN_ID_CONFIGURE,"MoveControlPos"); CLTGUITextCtrl *pCtrl = AddTextItem(IDS_MOVE_CONTROLS,CMD_MOVE_COM,LTNULL,topPos); pCtrl->SetFixedWidth(nWidth); pCtrl = AddTextItem(IDS_INV_CONTROLS,CMD_INV_COM,LTNULL); pCtrl->SetFixedWidth(nWidth); pCtrl = AddTextItem(IDS_VIEW_CONTROLS,CMD_VIEW_COM,LTNULL); pCtrl->SetFixedWidth(nWidth); pCtrl = AddTextItem(IDS_MISC_CONTROLS,CMD_MISC_COM,LTNULL); pCtrl->SetFixedWidth(nWidth); LTIntPt pos(m_ListRect.left,m_ListRect.top); int nHt = m_ListRect.bottom - m_ListRect.top; int nWd = m_nActionWidth + m_nEqualsWidth + m_nCommandWidth; char szFrame[128]; g_pLayoutMgr->GetScreenCustomString(SCREEN_ID_CONFIGURE,"FrameTexture",szFrame,sizeof(szFrame)); HTEXTURE hFrame = g_pInterfaceResMgr->GetTexture(szFrame); m_pFrame = debug_new(CLTGUIFrame); m_pFrame->Create(hFrame,nWd,nHt+8,LTTRUE); m_pFrame->SetBasePos(pos); AddControl(m_pFrame); for (int nType = 0; nType < kNumCommandTypes; nType++) { m_pList[nType] = AddList(pos,nHt); m_pList[nType]->SetFrameWidth(2); m_pList[nType]->SetIndent(LTIntPt(4,4)); m_pList[nType]->Show(LTFALSE); pCtrl = LTNULL; switch (nType) { case COM_MOVE: pCtrl = CreateTextItem(IDS_MOVE_CONTROLS,LTNULL,LTNULL,kDefaultPos,LTTRUE); break; case COM_INV: pCtrl = CreateTextItem(IDS_INV_CONTROLS,LTNULL,LTNULL,kDefaultPos,LTTRUE); break; case COM_VIEW: pCtrl = CreateTextItem(IDS_VIEW_CONTROLS,LTNULL,LTNULL,kDefaultPos,LTTRUE); break; case COM_MISC: pCtrl = CreateTextItem(IDS_MISC_CONTROLS,LTNULL,LTNULL,kDefaultPos,LTTRUE); break; } if (pCtrl) m_pList[nType]->AddControl(pCtrl); } InitControlList(); // Make sure to call the base class if (! CBaseScreen::Build()) return LTFALSE; UseBack(LTTRUE,LTTRUE); return LTTRUE; }