//----------------------------------------------------------------------------- CPUTResult CPUTRenderStateBlockOGL::ReadProperties( CPUTConfigFile &file, const cString &blockName, const CPUTRenderStateMapEntry *pMap, void *pDest ) { // assert(false); CPUTConfigBlock *pProperties = file.GetBlockByName(blockName); if( !pProperties ) { // Note: We choose not to assert here. The nature of the parameter block is that // only the values that deviate from default need to be present. It is very // common that blocks will be missing return CPUT_ERROR_PARAMETER_BLOCK_NOT_FOUND; } UINT count = pProperties->ValueCount(); for( UINT ii=0; ii<count; ii++ ) { // Get the next property CPUTConfigEntry *pValue = pProperties->GetValue(ii); ASSERT( pValue->IsValid(), _L("Invalid Value: '")+pValue->NameAsString()+_L("'.") ); ReadValue( pValue, pMap, pDest ); } return CPUT_SUCCESS; } // CPUTRenderStateBlockOGL::ReadProperties()