Vegastrike 0.5.1 rc1  1.0
Original sources for Vegastrike Evolved
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
XMLSupport Namespace Reference

Classes

struct  Attribute
 
class  AttributeList
 
class  EnumMap
 

Typedefs

typedef boost::char_separator
< std::string::value_type > 
Separator
 
typedef boost::tokenizer
< Separator
Tokenizer
 

Functions

string replace_space (const string &str)
 
bool parse_bool (const string &str)
 
double parse_float (const string &str)
 
float parse_floatf (const string &str)
 
void parse_floatv (const std::string &input, size_t maxTokens,...)
 
void parse_floatfv (const string &input, int maxTokens,...)
 
int parse_int (const string &str)
 
string::size_type parse_option_find (const string &str, const string &opt, const string &sep, const string &vsep)
 
bool parse_option_ispresent (const string &str, const string &opt, const string &sep, const string &vsep)
 
string parse_option_value (const string &str, const string &opt, const string &defvalue, const string &sep, const string &vsep)
 
string escaped_string (const string &str)
 
float parse_floatf (const std::string &str)
 
double parse_float (const std::string &str)
 
void parse_floatfv (const std::string &str, int max,...)
 
void parse_floatv (const std::string &str, int max,...)
 
std::string replace_space (const std::string &str)
 
int parse_int (const std::string &str)
 
bool parse_bool (const std::string &str)
 
bool parse_option_ispresent (const std::string &str, const std::string &opt, const std::string &sep=",\r\n", const std::string &vsep="=")
 
std::string parse_option_value (const std::string &str, const std::string &opt, const std::string &defvalue, const std::string &sep=",\r\n", const std::string &vsep="=")
 
std::string escaped_string (const std::string &str)
 
std::string tostring5 (unsigned short num)
 
std::string tostring (int num)
 
std::string tostring (unsigned int num)
 
std::string tostring (long num)
 
std::string tostring (float num)
 
std::string floattostringh (float f)
 
std::string VectorToString (const Vector &v)
 

Variables

static const char * SEPARATORS = " \t,"
 

Typedef Documentation

typedef boost::char_separator<std::string::value_type> XMLSupport::Separator

Definition at line 30 of file xml_support.cpp.

typedef boost::tokenizer<Separator> XMLSupport::Tokenizer

Definition at line 31 of file xml_support.cpp.

Function Documentation

std::string XMLSupport::escaped_string ( const std::string &  str)
string XMLSupport::escaped_string ( const string &  str)

Definition at line 169 of file xml_support.cpp.

References ESCAPE_CASE.

Referenced by GameCockpit::Autopilot(), Unit::AutoPilotToErrorMessage(), and GenerateAutoError().

170 {
171 #define ESCAPE_CASE( e, c, skip ) \
172 case e: \
173  if (rp && str[rp-1] == '\\') rv[ip++] = c; \
174  else if (!skip) \
175  rv[ip++] = e; \
176  break
177  string::size_type rp, ip, n = str.length();
178  string rv;
179  rv.resize( n );
180  for (rp = ip = 0; rp < n; ++rp) {
181  switch (str[rp])
182  {
183  ESCAPE_CASE( '\\', '\\', true );
184  ESCAPE_CASE( 'n', '\n', false );
185  ESCAPE_CASE( 'r', '\r', false );
186  ESCAPE_CASE( 't', '\t', false );
187  default:
188  rv[ip++] = str[rp];
189  }
190  }
191 #undef ESCAPE_CASE
192  rv.resize( ip );
193  return rv;
194 }
std::string XMLSupport::floattostringh ( float  f)
inline

Definition at line 118 of file xml_support.h.

References c.

Referenced by VectorToString().

119 {
120  char c[128];
121  sprintf( c, "%2.2f", f );
122  return std::string( c );
123 }
bool XMLSupport::parse_bool ( const std::string &  str)
bool XMLSupport::parse_bool ( const string &  str)

Definition at line 70 of file xml_support.cpp.

Referenced by abletodock(), Radar::CollectRadarTracks::acquire(), ActuallyWarpTo(), Unit::AddCargo(), AddMounts(), addShieldMesh(), aim_assist(), Unit::ApplyDamage(), Unit::ApplyLocalDamage(), GameUnit< UnitType >::ArmorDamageSound(), AUDInit(), GameCockpit::AutoLanding(), Cockpit::Autopilot(), GameCockpit::Autopilot(), Unit::AutoPilotToErrorMessage(), Background::Background(), PointStarVlist::BeginDrawState(), Nebula::beginElem(), Faction::beginElement(), BeamXML::beginElement(), BlurBases(), bootstrap_first_loop(), bootstrap_main_loop(), buildCargoDescription(), buyShip(), charWidth(), checkedVisited(), ChooseNavPoint(), Orders::FireAt::ChooseTargets(), Unit::ClampThrust(), Unit::ClampTorque(), BaseInterface::Room::Launch::Click(), BaseInterface::Room::Eject::Click(), Unit::Cloak(), Bolt::Collide(), Beam::Collide(), Unit::CollideAll(), Order::Communicate(), CompileRunPython(), BaseComputer::BuyUpgradeOperation::concludeTransaction(), BaseComputer::configureUpgradeCommitControls(), BaseComputer::constructControls(), BaseComputer::createCategoryCell(), CreateLists(), GameMenu::createNetworkControls(), Unit::DealDamageToHullReturnArmor(), GameUnit< UnitType >::DealDamageToShield(), DealWithWarp(), Unit::DecreaseWarpEnergy(), Mission::DirectorStart(), DistanceWarrantsWarpTo(), DoDockingOps(), DoParticles(), ParticlePoint::Draw(), Radar::SphereDisplay::Draw(), Halo::Draw(), Bolt::Draw(), HaloSystem::Draw(), SpriteStarVlist::Draw(), Stars::Draw(), GameUnit< UnitType >::Draw(), GameCockpit::Draw(), BaseInterface::Room::Draw(), ParticleTrail::DrawAndUpdate(), NavigationSystem::DrawButton(), drawChars(), NavigationSystem::DrawCursor(), DrawDamageFlash(), NavigationSystem::DrawGrid(), DrawHUDSprite(), GameUnit< UnitType >::DrawNow(), DrawObjectivesTextPlane(), DrawOneTargetBox(), DrawShield(), Radar::SphereDisplay::DrawTrack(), Unit::EjectCargo(), Unit::EnergyData(), FlyByJoystick::Execute(), Orders::AggressiveAI::Execute(), FlyByKeyboard::Execute(), Orders::ChangeHeading::Execute(), Orders::AutoLongHaul::Execute(), FireKeyboard::Execute(), Orders::FormUp::Execute(), Orders::FormUpToOwner::Execute(), Orders::AggressiveAI::ExecuteNoEnemies(), GameUnit< UnitType >::Explode(), Orders::FaceTargetITTS::FaceTargetITTS(), Unit::FilterDowngradeList(), Unit::FilterUpgradeList(), Radar::Sensor::FindTracksInRange(), Unit::Fire(), FireBitmask(), FlyByWire::FlyByWire(), ForceChangeTarget(), GameCockpit::GameCockpit(), GameMissile::GameMissile(), Universe::Generate1(), BaseComputer::getColorForGroup(), getControlType(), FSM::GetEdgesString(), UnitUtil::getPhysicsPriority(), GetSystemXProp(), BaseUtil::GetTextHeight(), getUnitNameAndFgNoBase(), VegaConfig::getVariable(), GFXInit(), GFXShaderReloaded(), GFXTransferTexture(), GoTo(), Music::GotoSong(), HoldPositionWithRespectTo(), GameUnit< UnitType >::HullDamageSound(), Unit::IncreaseWarpEnergy(), vs_options::init(), init_opengl_extensions(), BaseInterface::InitCallbacks(), initfov(), Planet::InitPlanet(), LinearPrediction::Interpolate(), UnitUtil::isCloseEnoughToDock(), isMissile(), Unit::jumpReactToCollision(), Texture::Load(), BaseComputer::loadCargoControls(), Mesh::LoadMeshes(), BaseComputer::loadNewsControls(), Unit::LoadRow(), BaseComputer::loadSellUpgradeControls(), Nebula::LoadXML(), GameCockpit::LookupUnitStat(), main(), MakeStarSystem(), Unit::massSerializer(), BaseInterface::MouseOver(), nextElementBool(), NoDockWithClear(), __impl::parseBool(), Audio::__impl::parseBool(), Mount::PhysicsAlignedFire(), Mesh::PostProcessLoading(), preEmptiveClientFire(), PrettyDistanceString(), Orders::AggressiveAI::ProcessCurrentFgDirective(), Beam::ProcessDrawQueue(), StarSystem::ProcessPendingJumps(), pushTowardsMean(), Unit::rayCollide(), GameMissile::reactToCollision(), GamePlanet::reactToCollision(), Missile::reactToCollision(), Unit::reactToCollision(), BaseComputer::recalcTitle(), Orders::AggressiveAI::ReCommandWing(), Unit::RefillWarpEnergy(), Unit::RegenShields(), Unit::RemoveCargo(), Unit::RemoveFromSystem(), Unit::RepairUpgrade(), RestoreEnvmapState(), RestoreGlowMapState(), RestoreSpecMapState(), NetClient::sendPosition(), NetServer::sendUnDock(), NetClient::SetConfigServerAddress(), ShipCommands::setkps(), FireKeyboard::SetParent(), Unit::SetTurretAI(), NavigationSystem::Setup(), SetupGLLightGlobals(), SetupSpecMapFirstPass(), GameCockpit::SetupViewPort(), HaloSystem::ShouldDraw(), BaseComputer::showShipStats(), showUnitStats(), soundServerPipes(), GameUnit< UnitType >::Split(), SpriteStarVlist::SpriteStarVlist(), NetServer::start(), VDU::staticable(), stob(), SwitchUnits2(), SwitchUnitsTurret(), TargAll(), TargNear(), TargSig(), TargUn(), CockpitKeys::TextMessageKey(), BaseUtil::Texture(), GameUnit< UnitType >::Thrust(), WeaponComparator< FORWARD >::ToggleWeaponSet(), totalShieldEnergyCapacitance(), TryDock(), Unit::UnDock(), Unit::UpAndDownGrade(), Cockpit::Update(), CommunicatingAI::UpdateContrabandSearch(), Beam::UpdatePhysics(), Unit::UpdatePhysics(), BaseComputer::updateTransactionControlsForSelection(), GameCockpit::UpdAutoPilot(), Unit::UpgradeMounts(), useAfterburner(), useAfterburnerToFollow(), useAfterburnerToRun(), useStroke(), GameCockpit::visitSystem(), GameUnit< UnitType >::WarpMatrix(), WarpPursuit(), WarpToP(), winsys_init(), Unit::WriteUnit(), and Unit::WriteUnitString().

71 {
72  if ( ( !str.empty() )
73  && ( ( *str.begin() ) == 't' || ( *str.begin() ) == 'T' || ( *str.begin() ) == 'y' || ( *str.begin() ) == 'Y'
74  || ( *str.begin() ) == '1' ) )
75  return true;
76  else
77  return false;
78 }
double XMLSupport::parse_float ( const std::string &  str)
double XMLSupport::parse_float ( const string &  str)

Definition at line 79 of file xml_support.cpp.

Referenced by FlyByWire::Accel(), accelStarHandler(), Radar::CollectRadarTracks::acquire(), ActuallyWarpTo(), GamePlanet::AddCity(), HaloSystem::AddHalo(), AddLights(), Unit::AddVelocity(), Pilot::adjustSpecificRelationship(), Orders::AggressiveAI::AfterburnerJumpTurnTowards(), Orders::AggressiveAI::AggressiveAI(), aim_assist(), AllocVerticesForSystem(), AllUnitsCloseAndEngage(), Unit::ApplyDamage(), Unit::ApplyLocalDamage(), Unit::ApplyNetDamage(), AUDAdjustSound(), AUDInit(), AUDQueryAudability(), Cockpit::Autopilot(), GameCockpit::Autopilot(), Unit::AutoPilotToErrorMessage(), Background::Background(), basicRepairPrice(), PointStarVlist::BeginDrawState(), Nebula::beginElem(), FSM::beginElement(), Faction::beginElement(), BeamXML::beginElement(), StarSystemGent::beginStar(), biModifyMouseSensitivity(), bolt_draw::bolt_draw(), bootstrap_main_loop(), PaintText::calcLayout(), CalculateNearestWarpUnit(), Animation::CalculateOrientation(), ChooseNavPoint(), Orders::FireAt::ChooseTargets(), Unit::ClampThrust(), Unit::ClampTorque(), Unit::ClampVelocity(), BaseInterface::Room::Eject::Click(), CloseEnoughCone(), CloseEnoughToAutotrack(), CloseEnoughToNavOrDest(), Beam::Collide(), Unit::Collide(), Order::Communicate(), CommunicatingAI::CommunicatingAI(), ComputeMinDowngradePercent(), computeStarColor(), CreateCargoForOwnerStarship(), Unit::DamageRandSys(), Unit::DealDamageToHullReturnArmor(), DealPossibleJumpDamage(), Unit::DecreaseWarpEnergy(), DestroyPlayerSystem(), DestroySystem(), DistanceWarrantsWarpTo(), GameCockpit::DoAutoLanding(), Orders::DockingOps::DockingOps(), Orders::DockingOps::DockToTarget(), DoEnterExitAni(), Pilot::DoHit(), DoParticles(), ParticlePoint::Draw(), Halo::Draw(), Bolt::Draw(), Background::Draw(), WarpTrail::Draw(), HaloSystem::Draw(), Animation::Draw(), VDU::Draw(), Stars::Draw(), GameUnit< UnitType >::Draw(), GameCockpit::Draw(), BaseInterface::Room::BaseText::Draw(), BaseInterface::Room::BaseShip::Draw(), BaseInterface::Room::BaseVSSprite::Draw(), BaseInterface::Room::BaseTalk::Draw(), BaseInterface::Room::Draw(), NavigationSystem::Draw(), BaseInterface::Draw(), ParticleTrail::DrawAndUpdate(), NavigationSystem::DrawButton(), drawdescription(), DrawHUDSprite(), GameCockpit::DrawNavSystem(), DrawNodeDescription(), DrawObjectivesTextPlane(), DrawOneTargetBox(), DrawShield(), NavigationSystem::DrawShip(), NavigationSystem::DrawSystem(), Unit::EjectCargo(), EstimateGain(), Orders::TurretAI::Execute(), FlyByJoystick::Execute(), PlanetaryOrbit::Execute(), Orders::AggressiveAI::Execute(), Orders::FireAt::Execute(), FlyByKeyboard::Execute(), Order::Execute(), Orders::ChangeHeading::Execute(), Orders::AutoLongHaul::Execute(), EvadeLeftRightC::Execute(), FlyByWire::Execute(), Orders::LoopAround::Execute(), Orders::FacePerpendicular::Execute(), FlyTo::Execute(), Orders::AggressiveAI::ExecuteNoEnemies(), ExecuteRequestClearenceKey(), GameUnit< UnitType >::Explode(), Unit::ExplodingProgress(), Missile::ExplosionRadius(), Unit::ExplosionRadius(), Orders::FacePerpendicular::FacePerpendicular(), Radar::Sensor::FindTracksInRange(), Orders::FireAt::FireAt(), Unit::FireEngines(), Orders::FireAt::FireWeapons(), flickerDamage(), Unit::ForceDock(), GameCockpit::GameCockpit(), AIEvents::GeneralAIEventBegin(), generateStarSystem(), Pilot::getAnger(), getAutoRSize(), BaseComputer::getColorForGroup(), FSM::getCommMessageMood(), getFuelConversion(), GetFuelUsage(), getInitialZoomFactor(), Mesh::getLOD(), Unit::GetManifest(), UnitUtil::getPhysicsPriority(), CommunicatingAI::GetRandomUnit(), StarSystemGent::getStarColorFromRadius(), GetSystemXProp(), BaseUtil::GetTextHeight(), Unit::GetVelocityDifficultyMult(), GFXCircle(), howFarToJump(), Unit::ImportPartList(), vs_options::init(), Unit::Init(), initfov(), Planet::InitPlanet(), Unit::InsideCollideTree(), Unit::Kill(), LaunchOneParticle(), AIEvents::LoadAI(), AnimatedTexture::LoadAni(), Unit::LoadRow(), GameCockpit::LookupUnitStat(), Orders::LoopAround::LoopAround(), Orders::LoopAroundAgro::LoopAroundAgro(), main(), StarSystemGent::MakePlanet(), MakeStarSystem(), MatchingMood(), Unit::Computer::max_ab_speed(), max_allowable_travel_time(), Unit::Computer::max_speed(), Mount::Mount(), Unit::mountSerializer(), BaseInterface::MouseOver(), Music::Music(), Music::Mute(), Nearby(), NearestSystem(), Orders::DockingOps::PerformDockingOperations(), Mount::PhysicsAlignedFire(), Pilot::Pilot(), Orders::FireAt::PossiblySwitchTarget(), Mesh::PostProcessLoading(), PrettyDistanceString(), Unit::PriceCargo(), Priority(), Orders::AggressiveAI::ProcessCurrentFgDirective(), Logo::ProcessDrawQueue(), Orders::AggressiveAI::ProcessLogicItem(), Mesh::ProcessZFarMeshes(), GameNebula::PutInsideCam(), Unit::reactToCollision(), StarSystemGent::readColorGrads(), Orders::AggressiveAI::ReCommandWing(), weapon_info::Refire(), Unit::RegenShields(), Orders::FireAt::ReInit(), Unit::Repair(), Unit::ResolveForces(), NetClient::Respawn(), Cockpit::RestoreGodliness(), RollLeftHard(), RollRightHard(), saturate(), SaturatedColor(), scaledFloatStarHandler(), ScaleJumpRadius(), ScoreKill(), CommunicatingAI::selectCommunicationMessage(), sellShip(), NetServer::sendDamages(), SetFogMaterialColor(), ShipCommands::setkps(), SetupGLLightGlobals(), GameCockpit::SetupViewPort(), GameCockpit::Shake(), Unit::ShieldUp(), Orders::FireAt::ShouldFire(), ShoveCamBelowUnit(), ShowText(), showUnitStats(), speedStarHandler(), GameUnit< UnitType >::Split(), Stars::Stars(), stof(), GameUnit< UnitType >::Thrust(), totalShieldEnergyCapacitance(), TryDock(), Unit::UnDock(), Cockpit::unitInAutoRegion(), Unit::UpAndDownGrade(), Cockpit::Update(), CommunicatingAI::UpdateContrabandSearch(), UpdateMasterPartList(), Unit::UpdatePhysics(), GameNebula::UpdatePhysics2(), Missile::UpdatePhysics2(), GameCockpit::UpdAutoPilot(), useJitteryAutopilot(), WARPENERGYMULTIPLIER(), GameUnit< UnitType >::WarpMatrix(), WarpPursuit(), StarSystemGent::WriteLight(), and Unit::WriteUnitString().

80 {
81  double ret = 0.0f;
82  std::stringstream ss( str );
83  ss>>ret;
84  return ret;
85 }
float XMLSupport::parse_floatf ( const std::string &  str)
float XMLSupport::parse_floatf ( const string &  str)

Definition at line 87 of file xml_support.cpp.

Referenced by ConfigAllows(), ConfigCondition(), vs_options::init(), Audio::__impl::parseFloat(), __impl::parseFloat(), parseFloat(), and Universe::Update().

88 {
89  float ret = 0.0f;
90  std::stringstream ss( str );
91  ss>>ret;
92  return ret;
93 }
void XMLSupport::parse_floatfv ( const std::string &  str,
int  max,
  ... 
)
void XMLSupport::parse_floatfv ( const string &  input,
int  maxTokens,
  ... 
)

Definition at line 109 of file xml_support.cpp.

References SEPARATORS.

110 {
111  va_list arguments;
112  va_start(arguments, maxTokens);
113  Separator separator(SEPARATORS);
114  Tokenizer tokens(input, separator);
115 
116  for (Tokenizer::iterator it = tokens.begin(); maxTokens > 0 && it != tokens.end(); ++it, --maxTokens) {
117  float *output = va_arg(arguments, float *);
118  *output = boost::lexical_cast<float>(*it);
119  }
120  va_end(arguments);
121 }
void XMLSupport::parse_floatv ( const std::string &  str,
int  max,
  ... 
)
void XMLSupport::parse_floatv ( const std::string &  input,
size_t  maxTokens,
  ... 
)

Definition at line 95 of file xml_support.cpp.

References SEPARATORS.

96 {
97  va_list arguments;
98  va_start(arguments, maxTokens);
99  Separator separator(SEPARATORS);
100  Tokenizer tokens(input, separator);
101 
102  for (Tokenizer::iterator it = tokens.begin(); maxTokens > 0 && it != tokens.end(); ++it, --maxTokens) {
103  double *output = va_arg(arguments, double *);
104  *output = boost::lexical_cast<double>(*it);
105  }
106  va_end(arguments);
107 }
int XMLSupport::parse_int ( const std::string &  str)
int XMLSupport::parse_int ( const string &  str)

Definition at line 124 of file xml_support.cpp.

Referenced by GamePlanet::AddAtmosphere(), GamePlanet::AddCity(), AddDocks(), GamePlanet::AddRing(), AIEvents::AIEvresult::AIEvresult(), AUDInit(), Background::Background(), Nebula::beginElem(), FSM::beginElement(), Faction::beginElement(), biModifyMouseSensitivity(), bootstrap_main_loop(), ROLES::buildroles(), ChooseNavPoint(), Orders::FireAt::ChooseTargets(), CityLights::CityLights(), FlyByKeyboard::clamp_axis(), collideTrees::colTree(), GameStarSystem::createBackground(), Unit::DealDamageToHullReturnArmor(), DealWithWarp(), delayucharStarHandler(), GamePlanet::Draw(), GameCockpit::Draw(), BaseInterface::Room::BaseText::Draw(), NavPath::evaluate(), GameCockpit::GameCockpit(), Universe::Generate2(), generateStarSystem(), GetMadAt(), UnitUtil::getPhysicsPriority(), getSimpleInt(), GetSystemXProp(), GFXInit(), GFXTransferTexture(), vs_options::init(), Beam::Init(), init_opengl_extensions(), Music::InitMuzak(), Unit::LoadRow(), MakeFogMesh(), MakeStarSystem(), __impl::parseInt(), __impl::parseIteration(), Slider::processMouseDown(), StaticDisplay::processMouseDown(), Picker::processMouseDown(), ReadIntSpace(), readplanetentity(), FlyByKeyboard::reduce_axis(), NavigationSystem::Setup(), SetupGLLightGlobals(), SetupViewport(), Orders::FireAt::ShouldFire(), stoi(), NetClient::synchronizeTime(), trackPrice(), Cockpit::updateAttackers(), CommunicatingAI::UpdateContrabandSearch(), Missile::UpdatePhysics2(), UpgradeUnit(), VSFS_DEBUG(), and winsys_init().

125 {
126  int ret = 0;
127  std::stringstream ss( str );
128  ss>>ret;
129  return ret;
130 }
string::size_type XMLSupport::parse_option_find ( const string &  str,
const string &  opt,
const string &  sep,
const string &  vsep 
)

Definition at line 131 of file xml_support.cpp.

Referenced by parse_option_ispresent(), and parse_option_value().

132 {
133  bool ini = true;
134  string::size_type pos = 0;
135  string::size_type optlen = opt.length();
136  string::size_type strlen = str.length();
137  string allsep = sep+vsep;
138  if ( (optlen == 0) || (strlen == 0) )
139  return string::npos;
140  bool found = false;
141  while ( !found && (pos != string::npos) && ( ( pos = str.find( opt, pos+(ini ? 0 : 1) ) ) != string::npos ) ) {
142  ini = false;
143  found = ( ( (pos == 0) || (sep.find( str[pos-1] ) != string::npos) )
144  && ( (pos+optlen >= strlen) || (allsep.find( str[pos+optlen] ) != string::npos) ) );
145  if (!found) pos = str.find_first_of( sep, pos+optlen ); //quick advancement
146  }
147  return found ? pos : string::npos;
148 }
bool XMLSupport::parse_option_ispresent ( const std::string &  str,
const std::string &  opt,
const std::string &  sep = ",\r\n",
const std::string &  vsep = "=" 
)
bool XMLSupport::parse_option_ispresent ( const string &  str,
const string &  opt,
const string &  sep,
const string &  vsep 
)

Definition at line 149 of file xml_support.cpp.

References parse_option_find().

Referenced by AnimatedTexture::LoadAni().

150 {
151  return parse_option_find( str, opt, sep, vsep ) != string::npos;
152 }
std::string XMLSupport::parse_option_value ( const std::string &  str,
const std::string &  opt,
const std::string &  defvalue,
const std::string &  sep = ",\r\n",
const std::string &  vsep = "=" 
)
string XMLSupport::parse_option_value ( const string &  str,
const string &  opt,
const string &  defvalue,
const string &  sep,
const string &  vsep 
)

Definition at line 153 of file xml_support.cpp.

References parse_option_find().

Referenced by AnimatedTexture::LoadAni(), and AnimatedTexture::LoadFrame().

154 {
155  string::size_type pos = parse_option_find( str, opt, sep, vsep );
156  string::size_type vpos = str.find_first_of( vsep, pos+opt.length() );
157  string value;
158  if (pos != string::npos && vpos != string::npos) {
159  string::size_type vend = str.find_first_of( sep, vpos+1 );
160  value = str.substr( vpos+1, ( (vend != string::npos) ? vend-vpos-1 : string::npos ) );
161  } else if (pos != string::npos) {
162  value = "true";
163  } else {
164  value = defvalue;
165  }
166  return value;
167 }
std::string XMLSupport::replace_space ( const std::string &  str)
string XMLSupport::replace_space ( const string &  str)

Definition at line 62 of file xml_support.cpp.

References i.

63 {
64  string retval( str );
65  for (string::iterator i = retval.begin(); i != retval.end(); i++)
66  if (*i == ' ')
67  *i = '_';
68  return retval;
69 }
std::string XMLSupport::tostring ( int  num)
inline

Definition at line 94 of file xml_support.h.

Referenced by absIntStarHandler(), accelStarHandler(), addSimpleInt(), angleStarHandler(), AnyStringWriteString(), CargoToString(), charStarHandler(), CityLights::CityLights(), cloakHandler(), delayucharStarHandler(), DoSpeech(), doubleStarHandler(), NavigationSystem::DrawMission(), DrawObjectivesTextPlane(), Unit::EjectCargo(), XMLSupport::EnumMap::EnumMap(), fabsFloatStarHandler(), floatHandler(), floatStarHandler(), vs_options::getCallsign(), VSFileSystem::GetHashName(), GetHelperPlayerSaveGame(), getRes(), UniverseUtil::getSaveInfo(), VSFileSystem::GetSharedMeshHashName(), getUnitNameAndFgNoBase(), SphereMesh::InitSphere(), intHandler(), intStarHandler(), intToFloatHandler(), lengthify(), lessNeg1Handler(), BaseComputer::loadMissionsMasterList(), Unit::LoadRow(), XMLSupport::EnumMap::lookup(), Cockpit::MakeBaseName(), MakeFogMesh(), StarSystemGent::MakePlanet(), MakeStarSystem(), MakeUnitXMLPretty(), Unit::massSerializer(), Unit::mountSerializer(), negationCharStarHandler(), negationFloatStarHandler(), negationIntStarHandler(), PickleAllMissions(), scaledFloatStarHandler(), Screenshot(), BaseComputer::showPlayerInfo(), speedStarHandler(), GameUnit< UnitType >::Split(), tos(), tostring(), ucharStarHandler(), uintStarHandler(), UnpickleAllMissions(), varToString(), WriteHudDamage(), WriteHudDamageFunc(), SaveGame::WriteSavedUnit(), and Unit::WriteUnitString().

95 {
96  char tmp[256];
97  sprintf( tmp, "%d", num );
98  return std::string( tmp );
99 }
std::string XMLSupport::tostring ( unsigned int  num)
inline

Definition at line 100 of file xml_support.h.

101 {
102  char tmp[256];
103  sprintf( tmp, "%u", num );
104  return std::string( tmp );
105 }
std::string XMLSupport::tostring ( long  num)
inline

Definition at line 106 of file xml_support.h.

107 {
108  char tmp[256];
109  sprintf( tmp, "%ld", num );
110  return std::string( tmp );
111 }
std::string XMLSupport::tostring ( float  num)
inline

Definition at line 112 of file xml_support.h.

113 {
114  char tmp[256];
115  sprintf( tmp, "%g", num );
116  return std::string( tmp );
117 }
std::string XMLSupport::tostring5 ( unsigned short  num)
inline

Definition at line 88 of file xml_support.h.

Referenced by UniverseUtil::ComputeSystemSerials().

89 {
90  char tmp[256];
91  sprintf( tmp, "%.5d", num );
92  return std::string( tmp );
93 }
std::string XMLSupport::VectorToString ( const Vector v)
inline

Definition at line 124 of file xml_support.h.

References floattostringh().

Referenced by VSFileSystem::GetHashName(), and VSFileSystem::GetSharedMeshHashName().

125 {
126  std::string ret( floattostringh( v.i ) );
127  if (v.i != v.j || v.j != v.k)
128  ret += std::string( "," )+floattostringh( v.j )+std::string( "," )+floattostringh( v.k );
129  return ret;
130 }

Variable Documentation

const char* XMLSupport::SEPARATORS = " \t,"
static

Definition at line 33 of file xml_support.cpp.

Referenced by parse_floatfv(), and parse_floatv().