//----------------------------------------------------------------------------- // Purpose: applies all the values in the page //----------------------------------------------------------------------------- void CCreateMultiplayerGameGameplayPage::GatherCurrentValues() { if ( !m_pDescription ) return; // OK CheckButton *pBox; TextEntry *pEdit; ComboBox *pCombo; mpcontrol_t *pList; CScriptObject *pObj; CScriptListItem *pItem; char szValue[256]; char strValue[ 256 ]; pList = m_pList; while ( pList ) { pObj = pList->pScrObj; if ( !pList->pControl ) { pObj->SetCurValue( pObj->defValue ); pList = pList->next; continue; } switch ( pObj->type ) { case O_BOOL: pBox = (CheckButton *)pList->pControl; sprintf( szValue, "%s", pBox->IsSelected() ? "1" : "0" ); break; case O_NUMBER: pEdit = ( TextEntry * )pList->pControl; pEdit->GetText( strValue, sizeof( strValue ) ); sprintf( szValue, "%s", strValue ); break; case O_STRING: pEdit = ( TextEntry * )pList->pControl; pEdit->GetText( strValue, sizeof( strValue ) ); sprintf( szValue, "%s", strValue ); break; case O_LIST: pCombo = ( ComboBox *)pList->pControl; pCombo->GetText( strValue, sizeof( strValue ) ); pItem = pObj->pListItems; int n = (int)pObj->fdefValue; while ( pItem ) { if ( !stricmp( pItem->szItemText, strValue ) ) { break; } pItem = pItem->pNext; } if ( pItem ) { sprintf( szValue, "%s", pItem->szValue ); } else //Couln't find index { sprintf( szValue, "%s", pObj->defValue ); } break; } // Remove double quotes and % characters UTIL_StripInvalidCharacters( szValue ); strcpy( strValue, szValue ); pObj->SetCurValue( strValue ); pList = pList->next; } }
//----------------------------------------------------------------------------- // Purpose: //----------------------------------------------------------------------------- void CTFOptionsAdvancedPanel::GatherCurrentValues() { if (!m_pDescription) return; // OK CTFAdvCheckButton *pBox; TextEntry *pEdit; ComboBox *pCombo; CTFAdvSlider *pScroll; mpcontrol_t *pList; CScriptObject *pObj; CScriptListItem *pItem; char szValue[256]; char strValue[256]; int iValue; pList = m_pList; while (pList) { pObj = pList->pScrObj; if (!pList->pControl) { pObj->SetCurValue(pObj->defValue); pList = pList->next; continue; } switch (pObj->type) { case O_BOOL: pBox = (CTFAdvCheckButton *)pList->pControl; sprintf(szValue, "%s", pBox->IsSelected() ? "1" : "0"); break; case O_NUMBER: pEdit = (TextEntry *)pList->pControl; pEdit->GetText(strValue, sizeof(strValue)); sprintf(szValue, "%s", strValue); break; case O_SLIDER: pScroll = (CTFAdvSlider *)pList->pControl; iValue = pScroll->GetValue(); sprintf(szValue, "%i", iValue); break; case O_STRING: pEdit = (TextEntry *)pList->pControl; pEdit->GetText(strValue, sizeof(strValue)); sprintf(szValue, "%s", strValue); break; case O_CATEGORY: break; case O_LIST: pCombo = (ComboBox *)pList->pControl; pCombo->GetText( strValue, sizeof( strValue ) ); int activeItem = pCombo->GetActiveItem(); pItem = pObj->pListItems; // int n = (int)pObj->fdefValue; while (pItem) { if (!activeItem--) break; pItem = pItem->pNext; } if (pItem) { sprintf(szValue, "%s", pItem->szValue); } else // Couln't find index { //assert(!("Couldn't find string in list, using default value")); sprintf(szValue, "%s", pObj->defValue); } break; } // Remove double quotes and % characters UTIL_StripInvalidCharacters(szValue, sizeof(szValue)); strcpy(strValue, szValue); pObj->SetCurValue(strValue); pList = pList->next; } }