CSensorHandler::CSensorHandler() { TdfParser tdfparser; try { tdfparser.LoadFile("gamedata/sensors.tdf"); } catch (content_error) { // No need to do anything here, we just continue // getting default values from the empty tdfparser. } tdfparser.GetDef(losMipLevel, "1", "Sensors\\Los\\LosMipLevel"); //loshandler->losMipLevel = losMipLevel; tdfparser.GetDef(airMipLevel, "2", "Sensors\\Los\\AirLosMipLevel"); //loshandler->airLosMipLevel = airLosMipLevel; // losMipLevel is used as index to readmap->mipHeightmap, // so the max value is CReadMap::numHeightMipMaps - 1 if (losMipLevel < 0 || losMipLevel >= 7) throw content_error("Sensors\\Los\\LosMipLevel out of bounds. " "The minimum value is 0. The maximum value is 6."); // airLosMipLevel doesn't have such restrictions, it's just used in various // bitshifts with signed integers if (airMipLevel < 0 || airMipLevel > 30) throw content_error("Sensors\\Los\\AirLosMipLevel out of bounds. " "The minimum value is 0. The maximum value is 30."); tdfparser.GetDef(losMul, "1", "Sensors\\Los\\LosMul"); tdfparser.GetDef(airLosMul, "1", "Sensors\\Los\\AirLosMul"); }
void CGameSetup::LoadUnitRestrictions(const TdfParser& file) { int numRestrictions; file.GetDef(numRestrictions, "0", "GAME\\NumRestrictions"); for (int i = 0; i < numRestrictions; ++i) { char key[100]; sprintf(key, "GAME\\RESTRICT\\Unit%d", i); string resName = file.SGetValueDef("", key); sprintf(key, "GAME\\RESTRICT\\Limit%d", i); int resLimit; file.GetDef(resLimit, "0", key); restrictedUnits[resName] = resLimit; } }
CSensorHandler::CSensorHandler(void) { TdfParser tdfparser; try { tdfparser.LoadFile("gamedata/sensors.tdf"); } catch (content_error) { // No need to do anything here, we just continue // getting the values from the empty tdfparser. } tdfparser.GetDef(losMipLevel, "1", "Sensors\\Los\\LosMipLevel"); //loshandler->losMipLevel = losMipLevel; tdfparser.GetDef(airMipLevel, "2", "Sensors\\Los\\AirLosMipLevel"); //loshandler->airLosMipLevel = airLosMipLevel; tdfparser.GetDef(losMul, "1", "Sensors\\Los\\LosMul"); tdfparser.GetDef(airLosMul, "1", "Sensors\\Los\\AirLosMul"); }