// Build the folder LTBOOL CFolderDisplay::Build() { CreateTitle(IDS_TITLE_DISPLAYOPTIONS); // m_pRendererLabel = AddTextItem(IDS_DISPLAY_RENDERER, FOLDER_CMD_DISPLAY, IDS_HELP_RENDERER, LTTRUE); // if (m_pRendererLabel) // { // m_pRendererLabel->Enable(LTFALSE); // } // Build the array of renderers BuildRendererArray(); // Add the "renderer" option m_pRendererCtrl = AddCycleItem(IDS_DISPLAY_RENDERER,IDS_HELP_RENDERER,100,25,LTNULL); unsigned int i; for (i=0; i < m_rendererArray.GetSize(); i++) { // Load the renderer formating text. This is "Renderer: [%s - %s]" in English HSTRING hRendererFormat=g_pLTClient->FormatString(IDS_DMODE_RENDERER, m_rendererArray[i].m_renderDll, m_rendererArray[i].m_description); m_pRendererCtrl->AddString(hRendererFormat); g_pLTClient->FreeString(hRendererFormat); } // m_pResolutionLabel = AddTextItem(IDS_DISPLAY_RESOLUTION, FOLDER_CMD_RESOLUTION, IDS_HELP_RESOLUTION, LTTRUE); // if (m_pResolutionLabel) // { // m_pResolutionLabel->Enable(LTFALSE); // } // Add the "resolution" control m_pResolutionCtrl = AddCycleItem(IDS_DISPLAY_RESOLUTION,IDS_HELP_RESOLUTION,150,25,LTNULL, LTFALSE); // Setup the resolution control based on the currently selected renderer SetupResolutionCtrl(); CToggleCtrl *pToggle = AddToggle(IDS_DISPLAY_TEXTURE,IDS_HELP_TEXTUREDEPTH,175,&m_bTexture32); pToggle->SetOnString(IDS_DISPLAY_32BIT); pToggle->SetOffString(IDS_DISPLAY_16BIT); m_pHardwareCursor = AddToggle(IDS_HARDWARE_CURSOR,IDS_HELP_HARDWARE_CURSOR,175,&m_bHardwareCursor); m_pHardwareCursor->SetOnString(IDS_ON); m_pHardwareCursor->SetOffString(IDS_OFF); CalculateLastDrawn(); // Make sure to call the base class if (!CBaseFolder::Build()) return LTFALSE; UseBack(LTTRUE,LTTRUE); return LTTRUE; }
// Build the folder LTBOOL CFolderControls::Build() { CreateTitle(IDS_TITLE_CONTROLS); if (g_pLayoutMgr->HasCustomValue(FOLDER_ID_CONTROLS,"ColumnWidth")) kGap = g_pLayoutMgr->GetFolderCustomInt(FOLDER_ID_CONTROLS,"ColumnWidth"); if (g_pLayoutMgr->HasCustomValue(FOLDER_ID_CONTROLS,"SliderWidth")) kWidth = g_pLayoutMgr->GetFolderCustomInt(FOLDER_ID_CONTROLS,"SliderWidth"); //customize AddTextItem(IDS_CUSTOM_CONTROLS, FOLDER_CMD_CUSTOM_CONTROLS, IDS_HELP_CUSTOMCONTROLS); //customize AddTextItem(IDS_WEAPON_CONTROLS, FOLDER_CMD_WEAPON_CONTROLS, IDS_HELP_WEAPON_CONTROLS); // Mouse AddTextItem(IDS_MOUSE, FOLDER_CMD_MOUSE, IDS_HELP_MOUSE); // Mouse AddTextItem(IDS_KEYBOARD, FOLDER_CMD_KEYBOARD, IDS_HELP_KEYBOARD); // use joystick uint32 dwAdvancedOptions = g_pInterfaceMgr->GetAdvancedOptions(); CToggleCtrl* pToggle = AddToggle(IDS_JOYSTICK_USE, IDS_HELP_USEJOYSTICK, kGap, &m_bUseJoystick); pToggle->NotifyOnChange(FOLDER_CMD_UPDATE,this); pToggle->SetOnString(IDS_YES); pToggle->SetOffString(IDS_NO); pToggle->Enable( (dwAdvancedOptions & AO_JOYSTICK) ); // joystick m_pJoystickCtrl = AddTextItem(IDS_JOYSTICK, FOLDER_CMD_JOYSTICK, IDS_HELP_JOYSTICK); m_pJoystickCtrl->Enable( (dwAdvancedOptions & AO_JOYSTICK) ); //restore AddTextItem(IDS_RESTOREDEFAULTS, FOLDER_CMD_RESET_DEFAULTS, IDS_HELP_RESTORE); // Make sure to call the base class if (! CBaseFolder::Build()) return LTFALSE; CFolderJoystick *pJoy = (CFolderJoystick *)m_pFolderMgr->GetFolderFromID(FOLDER_ID_JOYSTICK); pJoy->Build(); UseBack(LTTRUE,LTTRUE); return LTTRUE; }
// Build the folder LTBOOL CFolderEffects::Build() { if (g_pLayoutMgr->HasCustomValue(FOLDER_ID_EFFECTS,"ColumnWidth")) { kTotalWidth = g_pLayoutMgr->GetFolderCustomInt(FOLDER_ID_EFFECTS,"ColumnWidth"); kHeaderWidth = kTotalWidth - kSpacerWidth; } if (g_pLayoutMgr->HasCustomValue(FOLDER_ID_EFFECTS,"SliderWidth")) kSliderWidth = g_pLayoutMgr->GetFolderCustomInt(FOLDER_ID_EFFECTS,"SliderWidth"); CreateTitle(IDS_TITLE_EFFECTS); CToggleCtrl* pToggle = AddToggle(IDS_TRACERS, IDS_HELP_TRACERS, kTotalWidth, &m_bTracers ); pToggle->SetOnString(IDS_ON); pToggle->SetOffString(IDS_OFF); pToggle = AddToggle(IDS_SHELLCASINGS, IDS_HELP_SHELLCASINGS, kTotalWidth, &m_bShellCasings ); pToggle->SetOnString(IDS_ON); pToggle->SetOffString(IDS_OFF); pToggle = AddToggle(IDS_MUZZLELIGHT, IDS_HELP_MUZZLELIGHT, kTotalWidth, &m_bMuzzleLight ); pToggle->SetOnString(IDS_ON); pToggle->SetOffString(IDS_OFF); pToggle = AddToggle(IDS_WEATHER, IDS_HELP_WEATHER, kTotalWidth, &m_bWeather ); pToggle->SetOnString(IDS_ON); pToggle->SetOffString(IDS_OFF); CCycleCtrl *pCycle = AddCycleItem(IDS_IMPACT,IDS_HELP_IMPACTS,kHeaderWidth,kSpacerWidth,&m_nImpact); pCycle->AddString(IDS_LOW); pCycle->AddString(IDS_MEDIUM); pCycle->AddString(IDS_HIGH); pCycle = AddCycleItem(IDS_DEBRIS,IDS_HELP_DEBRIS,kHeaderWidth,kSpacerWidth,&m_nDebris); pCycle->AddString(IDS_LOW); pCycle->AddString(IDS_MEDIUM); pCycle->AddString(IDS_HIGH); // Make sure to call the base class if (!CBaseFolder::Build()) return LTFALSE; UseBack(LTTRUE,LTTRUE); return LTTRUE; }
// Build the folder LTBOOL CFolderAdvDisplay::Build() { if (g_pLayoutMgr->HasCustomValue(FOLDER_ID_ADVDISPLAY,"ColumnWidth")) { kTotalWidth = g_pLayoutMgr->GetFolderCustomInt(FOLDER_ID_ADVDISPLAY,"ColumnWidth"); kHeaderWidth = kTotalWidth - kSpacerWidth; } if (g_pLayoutMgr->HasCustomValue(FOLDER_ID_ADVDISPLAY,"SliderWidth")) kSliderWidth = g_pLayoutMgr->GetFolderCustomInt(FOLDER_ID_ADVDISPLAY,"SliderWidth"); CreateTitle(IDS_TITLE_ADVDISPLAY); AddTextItem(IDS_TEXTURE_RES, CMD_TEXTURES, IDS_HELP_TEXTURE_RES); m_pLightMap = AddToggle(IDS_LIGHTMAP, IDS_HELP_LIGHTMAP, kTotalWidth, &m_bLightMap ); m_pLightMap->SetOnString(IDS_ON); m_pLightMap->SetOffString(IDS_OFF); m_pMirrors = AddToggle(IDS_MIRRORS, IDS_HELP_MIRRORS, kTotalWidth, &m_bMirrors ); m_pMirrors->SetOnString(IDS_ON); m_pMirrors->SetOffString(IDS_OFF); m_pShadows = AddCycleItem(IDS_SHADOWS,IDS_HELP_SHADOWS,kHeaderWidth,kSpacerWidth,&m_nShadows); m_pShadows->AddString(IDS_NONE); m_pShadows->AddString(IDS_CIRCULAR); // m_pShadows->AddString(IDS_PROJECTED); CToggleCtrl* pToggle = AddToggle(IDS_DETAILTEXTURES, IDS_HELP_DETAILTEXTURES, kTotalWidth, &m_bDetailTextures ); pToggle->SetOnString(IDS_ON); pToggle->SetOffString(IDS_OFF); pToggle = AddToggle(IDS_ENVIRONMENT_MAP, IDS_HELP_ENVIRONMENT_MAP, kTotalWidth, &m_bEnvMapWorld ); pToggle->SetOnString(IDS_ON); pToggle->SetOffString(IDS_OFF); pToggle = AddToggle(IDS_CHROME, IDS_HELP_CHROME, kTotalWidth, &m_bEnvMapEnable ); pToggle->SetOnString(IDS_ON); pToggle->SetOffString(IDS_OFF); // m_pOverdraw = AddToggle(IDS_OVERDRAW, IDS_HELP_OVERDRAW, kTotalWidth, &m_bFixSparkleys ); // m_pOverdraw->SetOnString(IDS_ON); // m_pOverdraw->SetOffString(IDS_OFF); pToggle = AddToggle(IDS_TRILINEAR, IDS_HELP_TRILINEAR, kTotalWidth, &m_bTrilinear ); pToggle->SetOnString(IDS_ON); pToggle->SetOffString(IDS_OFF); pToggle = AddToggle(IDS_TRIPLE_BUFF, IDS_HELP_TRIPLE_BUFF, kTotalWidth, &m_bTripleBuffer ); pToggle->SetOnString(IDS_ON); pToggle->SetOffString(IDS_OFF); uint32 dwAdvancedOptions = g_pInterfaceMgr->GetAdvancedOptions(); pToggle->Enable( (dwAdvancedOptions & AO_TRIPLEBUFFER) ); // Make sure to call the base class if (!CBaseFolder::Build()) return LTFALSE; UseBack(LTTRUE,LTTRUE); return LTTRUE; }
// Build the folder LTBOOL CFolderGame::Build() { CreateTitle(IDS_TITLE_GAME_OPTIONS); CGameSettings* pSettings = g_pInterfaceMgr->GetSettings(); if (g_pLayoutMgr->HasCustomValue(FOLDER_ID_GAME,"ColumnWidth")) kGap = g_pLayoutMgr->GetFolderCustomInt(FOLDER_ID_GAME,"ColumnWidth"); if (g_pLayoutMgr->HasCustomValue(FOLDER_ID_GAME,"SliderWidth")) kWidth = g_pLayoutMgr->GetFolderCustomInt(FOLDER_ID_GAME,"SliderWidth"); //crosshair menu AddTextItem(IDS_CONTROLS_CROSSHAIR, FOLDER_CMD_CROSSHAIR, IDS_HELP_CROSSHAIRMENU); CCycleCtrl *pCycle = AddCycleItem(IDS_DISPLAY_SUBTITLES,IDS_HELP_SUBTITLES,kGap-25,25,&m_nSubtitles); pCycle->AddString(IDS_OFF); pCycle->AddString(IDS_ON); if (pSettings && pSettings->IsGoreAllowed()) { CToggleCtrl *pGore = AddToggle(IDS_DISPLAY_GORE,IDS_HELP_GORE,kGap,&m_bGore); pGore->SetOnString(IDS_ON); pGore->SetOffString(IDS_OFF); } CToggleCtrl *pFadeBodies = AddToggle(IDS_FADEBODIES,IDS_HELP_FADEBODIES,kGap,&m_bFadeBodies); pFadeBodies->SetOnString(IDS_YES); pFadeBodies->SetOffString(IDS_NO); //always run CToggleCtrl* pToggle = AddToggle(IDS_ADVCONTROLS_RUNLOCK, IDS_HELP_RUNLOCK, kGap, &m_bAlwaysRun ); pToggle->SetOnString(IDS_YES); pToggle->SetOffString(IDS_NO); // Add the Difficulty option m_pDifficultyCtrl = AddCycleItem(IDS_DIFFICULTY,IDS_HELP_DIFFICULTY,kGap-25,25,&m_nDifficulty); m_pDifficultyCtrl->AddString(IDS_NEW_EASY); m_pDifficultyCtrl->AddString(IDS_NEW_MEDIUM); m_pDifficultyCtrl->AddString(IDS_NEW_HARD); m_pDifficultyCtrl->AddString(IDS_NEW_INSANE); pCycle = AddCycleItem(IDS_HUDLAYOUT,IDS_HELP_HUDLAYOUT,kGap-25,25,&m_nLayout); for (int hl = 0; hl < g_pLayoutMgr->GetNumHUDLayouts(); hl++) { pCycle->AddString(g_pLayoutMgr->GetLayoutName(hl)); } CSliderCtrl *pSlider=AddSlider(IDS_HEADBOB, IDS_HELP_HEADBOB, kGap, kWidth, &m_nHeadBob); pSlider->SetSliderRange(0, 10); pSlider->SetSliderIncrement(1); pSlider=AddSlider(IDS_WEAPONSWAY, IDS_HELP_WEAPONSWAY, kGap, kWidth, &m_nWeaponSway); pSlider->SetSliderRange(0, 10); pSlider->SetSliderIncrement(1); pSlider=AddSlider(IDS_PICKUP_MSG_DUR, IDS_HELP_PICKUP_MSG_DUR, kGap, kWidth, &m_nPickupMsgDur); pSlider->SetSliderRange(0, 10); pSlider->SetSliderIncrement(1); pToggle = AddToggle(IDS_OBJECTIVE_MSGS, IDS_HELP_OBJECTIVE_MSGS, kGap, &m_bObjMessages ); pToggle->SetOnString(IDS_YES); pToggle->SetOffString(IDS_NO); // Make sure to call the base class if (! CBaseFolder::Build()) return LTFALSE; UseBack(LTTRUE,LTTRUE); return LTTRUE; }
// Change in focus void CFolderWeaponControls::OnFocus(LTBOOL bFocus) { if (bFocus) { nLastId = WMGR_INVALID_ID; ReadBindings(); CLTGUIColumnTextCtrl *pCtrl=AddColumnText(LTNULL, LTNULL, LTTRUE, GetMediumFont()); HSTRING hText = g_pLTClient->FormatString(IDS_KEY); pCtrl->AddColumn(hText, 50, LTF_JUSTIFY_LEFT); g_pLTClient->FreeString(hText); hText = g_pLTClient->FormatString(IDS_WEAPON); pCtrl->AddColumn(hText, kWidth, LTF_JUSTIFY_LEFT); pCtrl->Enable(LTFALSE); g_pLTClient->FreeString(hText); // AddBlankLine(); for (int i = 0; i < 10; i++) { pCtrl=AddColumnText(LTNULL, IDS_HELP_SETWEAPON, LTFALSE, GetSmallFont()); pCtrl->SetParam1(i+1); char str[16]; sprintf(str," %s",szTriggers[i]); hText = g_pLTClient->CreateString(str); pCtrl->AddColumn(hText, 50, LTF_JUSTIFY_LEFT); g_pLTClient->FreeString(hText); int nWeaponId = g_pWeaponMgr->GetWeaponId(m_nActions[i]); WEAPON *pWeapon = g_pWeaponMgr->GetWeapon(nWeaponId); if (pWeapon) pCtrl->AddColumn(pWeapon->nNameId, kWidth, LTF_JUSTIFY_LEFT); else pCtrl->AddColumn(IDS_CONTROL_UNASSIGNED, kWidth, LTF_JUSTIFY_LEFT); } AddBlankLine(); m_bLargeIcon = (GetConsoleInt("BindingIconSize",0) > 0); CToggleCtrl *pToggle = AddToggle(IDS_WPN_ICON_SZ,IDS_HELP_WPN_ICON_SZ, kWidth, &m_bLargeIcon,LTFALSE,GetSmallFont()); pToggle->SetOnString(IDS_LARGE); pToggle->SetOffString(IDS_SMALL); m_nIconAlpha = (int)(GetConsoleFloat("BindingIconAlpha",0.7f) * 10.0f); CSliderCtrl *pSlider = AddSlider(IDS_WPN_ICON_A,IDS_HELP_WPN_ICON_A,kWidth,kSlider,&m_nIconAlpha,LTFALSE,GetSmallFont()); pSlider->SetSliderIncrement(1); pSlider->SetSliderRange(0,10); m_bUseNumbers = (GetConsoleInt("BindingNumbers",1) > 0); pToggle = AddToggle(IDS_WPN_USE_NUMS,IDS_HELP_WPN_USE_NUMS, kWidth, &m_bUseNumbers,LTFALSE,GetSmallFont()); pToggle->SetOnString(IDS_YES); pToggle->SetOffString(IDS_NO); UpdateData(LTFALSE); } else { UpdateData(); WriteConsoleInt("BindingIconSize",m_bLargeIcon); WriteConsoleInt("BindingNumbers",m_bUseNumbers); WriteConsoleFloat("BindingIconAlpha",((LTFLOAT)m_nIconAlpha) / 10.0f); WriteBindings(); g_pInterfaceMgr->GetPlayerStats()->UpdateWeaponBindings(); // Just to be safe save the config incase anything changed... g_pLTClient->WriteConfigFile("autoexec.cfg"); RemoveFree(); } CBaseFolder::OnFocus(bFocus); if (bFocus) UpdateSelection(); }
// Build the folder LTBOOL CFolderPlayer::Build() { CreateTitle(IDS_TITLE_PLAYER_SETUP); g_vtPlayerModel.Init(g_pLTClient, "NetPlayerModel", "Hero,action", 0.0f); g_vtPlayerTeam.Init(g_pLTClient, "NetPlayerTeam", LTNULL, 0.0f); g_vtTargetNameTransparency.Init(g_pLTClient, "TargetNameTransparency", LTNULL, 1.0f); g_vtTargetNameSize.Init(g_pLTClient, "TargetNameSize", LTNULL, 0.0f); m_pLabel = CreateTextItem(IDS_PLAYER_NAME, CMD_EDIT_NAME, IDS_HELP_PLAYER_NAME); m_pEdit = CreateEditCtrl(" ", CMD_EDIT_NAME, LTNULL, m_szPlayerName, sizeof(m_szPlayerName), 25, LTTRUE, GetMediumFont()); m_pEdit->EnableCursor(); m_pEdit->Enable(LTFALSE); m_pEdit->SetAlignment(LTF_JUSTIFY_CENTER); m_pNameGroup = AddGroup(640,m_pLabel->GetHeight(),IDS_HELP_PLAYER_NAME); LTIntPt offset(0,0); m_pNameGroup->AddControl(m_pLabel,offset,LTTRUE); offset.x = 200; m_pNameGroup->AddControl(m_pEdit,offset,LTFALSE); AddBlankLine(); CToggleCtrl* pToggle = AddToggle(IDS_AUTOSWITCH_WEAPONS, IDS_HELP_AUTOSWITCH_WEAPONS, 225, &m_bAutoSwitchWeapons ); pToggle->SetOnString(IDS_ON); pToggle->SetOffString(IDS_OFF); pToggle = AddToggle(IDS_AUTOSWITCH_AMMO, IDS_HELP_AUTOSWITCH_AMMO, 225, &m_bAutoSwitchAmmo ); pToggle->SetOnString(IDS_ON); pToggle->SetOffString(IDS_OFF); pToggle = AddToggle(IDS_IGNORE_TAUNTS, IDS_HELP_IGNORE_TAUNTS, 225, &m_bIgnoreTaunts ); pToggle->SetOnString(IDS_YES); pToggle->SetOffString(IDS_NO); CCycleCtrl *pCycle = AddCycleItem(IDS_CONNECT_SPEED,IDS_CONNECT_SPEED,200,25,&m_nConnect); pCycle->AddString(IDS_CONNECT_VSLOW); pCycle->AddString(IDS_CONNECT_SLOW); pCycle->AddString(IDS_CONNECT_MEDIUM); pCycle->AddString(IDS_CONNECT_FAST); pCycle = AddCycleItem(IDS_PLAYER_TEAM,IDS_HELP_PLAYER_TEAM,200,25,&m_nTeam); pCycle->AddString(IDS_PLAYER_EITHER); pCycle->AddString(IDS_PLAYER_UNITY); pCycle->AddString(IDS_PLAYER_HARM); CSliderCtrl* pSlider = AddSlider(IDS_TARGETNAMETRANSPARENCY, IDS_TARGETNAMETRANSPARENCY_HELP, 225, 200, &m_nTargetNameTransparency); pSlider->SetSliderRange(0, 100); pSlider->SetSliderIncrement(5); pCycle = AddCycleItem(IDS_TARGETNAMESIZE,IDS_TARGETNAMESIZE_HELP,200,25,&m_nTargetNameSize); pCycle->AddString(IDS_SMALL); pCycle->AddString(IDS_MEDIUM); pCycle->AddString(IDS_LARGE); m_pModelCtrl = AddCycleItem(IDS_PLAYER_MODEL,IDS_HELP_PLAYER_MODEL,200,25,&m_nModNum); m_pModelCtrl->NotifyOnChange(CMD_MODEL_CHANGE,this); m_pSkinCtrl = AddCycleItem(IDS_PLAYER_SKIN,IDS_HELP_PLAYER_SKIN,200,25,&m_nSkinNum); m_pSkinCtrl->NotifyOnChange(CMD_SKIN_CHANGE,this); m_pHeadCtrl = AddCycleItem(IDS_PLAYER_HEAD,IDS_HELP_PLAYER_HEAD,200,25,&m_nHeadNum); m_pHeadCtrl->NotifyOnChange(CMD_HEAD_CHANGE,this); // Make sure to call the base class if (! CBaseFolder::Build()) return LTFALSE; UseBack(LTTRUE,LTTRUE); return LTTRUE; }