Exemple #1
0
bool XML_CheatsParser::HandleAttribute(const char *Tag, const char *Value)
{
	if (StringsEqual(Tag,"on"))
	{
		return ReadBooleanValueAsBool(Value,CheatsActive);
	}
	else if (StringsEqual(Tag,"mac_keymod"))
	{
#ifdef mac
		return ReadUInt16Value(Value,CheatCodeModMask);
#else
		return true;
#endif
	}
	UnrecognizedTag();
	return false;
}
Exemple #2
0
bool XML_LandscapeParser::HandleAttribute(const char *Tag, const char *Value)
{
	if (StringsEqual(Tag,"coll"))
	{
		if (ReadBoundedInt16Value(Value,Collection,short(AnyFrame),short(NUMBER_OF_COLLECTIONS-1)))
		{
			IsPresent = true;
			return true;
		}
		else return false;
	}
	else if (StringsEqual(Tag,"frame"))
	{
		return ReadBoundedInt16Value(Value,Frame,0,MAXIMUM_SHAPES_PER_COLLECTION-1);
	}
	else if (StringsEqual(Tag,"horiz_exp"))
	{
		return ReadInt16Value(Value,Data.HorizExp);
	}
	else if (StringsEqual(Tag,"vert_exp"))
	{
		return ReadInt16Value(Value,Data.VertExp);
	}
	else if (StringsEqual(Tag,"vert_repeat"))
	{
		return ReadBooleanValueAsBool(Value,Data.VertRepeat);
	}
	else if (StringsEqual(Tag,"ogl_asprat_exp"))
	{
		return ReadInt16Value(Value,Data.OGL_AspRatExp);
	}
	else if (StringsEqual(Tag,"azimuth"))
	{
		float Azimuth;
		if (ReadFloatValue(Value,Azimuth))
		{
			Azimuth = Azimuth - 360*int(Azimuth/360);
			if (Azimuth < 0) Azimuth += 360;
			Data.Azimuth = angle(FULL_CIRCLE*(Azimuth/360) + 0.5);
			return true;
		}
		return false;
	}
	UnrecognizedTag();
	return false;
}
Exemple #3
0
bool XML_FOVParser::HandleAttribute(const char *Tag, const char *Value)
{
  if (StringsEqual(Tag,"normal")) {
    return (ReadBoundedNumericalValue(Value,"%f",FOV_Normal,float(0),float(180)));
  }
  else if (StringsEqual(Tag,"extra")) {
    return (ReadBoundedNumericalValue(Value,"%f",FOV_ExtraVision,float(0),
                                      float(180)));
  }
  else if (StringsEqual(Tag,"tunnel")) {
    return (ReadBoundedNumericalValue(Value,"%f",FOV_TunnelVision,float(0),
                                      float(180)));
  }
  else if (StringsEqual(Tag,"rate")) {
    return (ReadBoundedNumericalValue(Value,"%f",FOV_ChangeRate,float(0),
                                      float(180)));
  }
  else if (StringsEqual(Tag,"fix_h_not_v")) {
    return ReadBooleanValueAsBool(Value,FOV_FixHorizontalNotVertical);
  }
  UnrecognizedTag();
  return false;
}