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
save_util.h File Reference
#include <string>

Go to the source code of this file.

Functions

UnitDockToSavedBases (int playernum, QVector &safevec)
 
float getSaveData (int whichcp, const std::string &key, unsigned int num)
 
const std::vector< float > & getSaveData (int whichcp, const std::string &key)
 
std::string getSaveString (int whichcp, const std::string &key, unsigned int num)
 
unsigned int getSaveDataLength (int whichcp, const std::string &key)
 
unsigned int getSaveStringLength (int whichcp, const std::string &key)
 
unsigned int pushSaveData (int whichcp, const std::string &key, float val)
 
unsigned int eraseSaveData (int whichcp, const std::string &key, unsigned int index)
 
unsigned int clearSaveData (int whichcp, const std::string &key)
 
unsigned int pushSaveString (int whichcp, const std::string &key, const std::string &value)
 
void putSaveString (int whichcp, const std::string &key, unsigned int num, const std::string &val)
 
void putSaveData (int whichcp, const std::string &key, unsigned int num, float val)
 
unsigned int eraseSaveString (int whichcp, const std::string &key, unsigned int index)
 
unsigned int clearSaveString (int whichcp, const std::string &key)
 
std::vector< std::string > loadStringList (int playernum, const std::string &mykey)
 
const std::vector< std::string > & getStringList (int playernum, const std::string &mykey)
 
void saveStringList (int playernum, const std::string &mykey, const std::vector< std::string > &names)
 
void saveDataList (int playernum, const std::string &mykey, const std::vector< float > &values)
 

Variables

const char * mission_key
 

Function Documentation

unsigned int clearSaveData ( int  whichcp,
const std::string &  key 
)
unsigned int clearSaveString ( int  whichcp,
const std::string &  key 
)
Unit* DockToSavedBases ( int  playernum,
QVector safevec 
)

Definition at line 44 of file universe_generic.cpp.

References _Universe, Universe::AccessCockpit(), UnitImages< BOGUS >::clearedunits, UnitCollection::createIterator(), Unit::curr_physical_state, UnitImages< BOGUS >::dockingports, Unit::ForceDock(), Unit::getFullname(), Cockpit::GetParent(), UnitUtil::getSignificantDistance(), Unit::getStarSystem(), StarSystem::getUnitList(), VegaConfig::getVariable(), i, Unit::isDocked(), Unit::isUnit(), loadStringList(), mission_key, Unit::name, Unit::pImage, PLANETPTR, Transformation::position, Unit::Position(), QVector, Unit::RequestPhysics(), Cockpit::retry_dock, Unit::rSize(), UniverseUtil::SafeEntrancePoint(), Unit::SetPosAndCumPos(), and vs_config.

Referenced by bootstrap_main_loop(), and Cockpit::Update().

45 {
46  static string _str = vs_config->getVariable( "AI", "startDockedTo", "MiningBase" );
47  string str = _str;
48  Unit *plr = _Universe->AccessCockpit( playernum )->GetParent();
49  if ( !plr || !plr->getStarSystem() ) {
50  safevec = QVector( 0, 0, 0 );
51  return NULL;
52  }
53  vector< string >strs = loadStringList( playernum, mission_key );
54  if ( strs.size() )
55  str = strs[0];
56  Unit *closestUnit = NULL;
57  float lastdist = 0;
58  float dist = 0;
59  Unit *un;
60  QVector dock_position( plr->curr_physical_state.position );
61  for (un_iter iter = plr->getStarSystem()->getUnitList().createIterator(); (un = *iter); ++iter)
62  if (un->name == str || un->getFullname() == str) {
63  dist = UnitUtil::getSignificantDistance( plr, un );
64  if (closestUnit == NULL || dist < lastdist) {
65  lastdist = dist;
66  closestUnit = un;
67  }
68  }
69  if (closestUnit) {
70  if (UnitUtil::getSignificantDistance( plr, closestUnit ) > 0 && closestUnit->isUnit() != PLANETPTR)
71  dock_position = closestUnit->Position();
72  dock_position = UniverseUtil::SafeEntrancePoint( dock_position, plr->rSize() );
73  plr->SetPosAndCumPos( dock_position );
74 
75  vector< DockingPorts >dprt = closestUnit->pImage->dockingports;
76  unsigned int i;
77  for (i = 0;; i++) {
78  if ( i >= dprt.size() ) {
79  safevec = QVector( 0, 0, 0 );
80  return NULL;
81  }
82  if (!dprt[i].IsOccupied())
83  break;
84  }
85  plr->ForceDock( closestUnit, i );
86  closestUnit->pImage->clearedunits.push_back( plr );
87  closestUnit->RequestPhysics();
88  _Universe->AccessCockpit( playernum )->retry_dock = 0;
89  } else {
90  if (_Universe->AccessCockpit( playernum )->retry_dock == 0)
91  _Universe->AccessCockpit( playernum )->retry_dock = 128;
92  else _Universe->AccessCockpit( playernum )->retry_dock -= 1;
93  }
94  safevec = dock_position;
95  return ( closestUnit && closestUnit->isDocked( plr ) ) ? closestUnit : NULL;
96 }
unsigned int eraseSaveData ( int  whichcp,
const std::string &  key,
unsigned int  index 
)
unsigned int eraseSaveString ( int  whichcp,
const std::string &  key,
unsigned int  index 
)
float getSaveData ( int  whichcp,
const std::string &  key,
unsigned int  num 
)
const std::vector< float >& getSaveData ( int  whichcp,
const std::string &  key 
)
unsigned int getSaveDataLength ( int  whichcp,
const std::string &  key 
)
std::string getSaveString ( int  whichcp,
const std::string &  key,
unsigned int  num 
)
unsigned int getSaveStringLength ( int  whichcp,
const std::string &  key 
)
const std::vector< std::string >& getStringList ( int  playernum,
const std::string &  mykey 
)
std::vector< std::string > loadStringList ( int  playernum,
const std::string &  mykey 
)
unsigned int pushSaveData ( int  whichcp,
const std::string &  key,
float  val 
)
unsigned int pushSaveString ( int  whichcp,
const std::string &  key,
const std::string &  value 
)
void putSaveData ( int  whichcp,
const std::string &  key,
unsigned int  num,
float  val 
)
void putSaveString ( int  whichcp,
const std::string &  key,
unsigned int  num,
const std::string &  val 
)
void saveDataList ( int  playernum,
const std::string &  mykey,
const std::vector< float > &  values 
)
void saveStringList ( int  playernum,
const std::string &  mykey,
const std::vector< std::string > &  names 
)

Variable Documentation

const char* mission_key

Definition at line 22 of file vs_globals.cpp.