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
director_generic.cpp File Reference
#include "config.h"
#include "cmd/unit_generic.h"
#include "cmd/ai/order.h"
#include "configxml.h"
#include "gfx/cockpit_generic.h"
#include "python/python_class.h"
#include <boost/version.hpp>
#include <boost/python/class.hpp>
#include "networking/netserver.h"
#include "pythonmission.h"
#include "mission.h"
#include "savegame.h"
#include "gnuhash.h"

Go to the source code of this file.

Functions

 PYTHON_INIT_INHERIT_GLOBALS (Director, PythonMissionBaseClass)
 
float getSaveData (int whichcp, const string &key, unsigned int num)
 
const vector< float > & getSaveData (int whichcp, const string &key)
 
string getSaveString (int whichcp, const string &key, unsigned int num)
 
unsigned int getSaveDataLength (int whichcp, const string &key)
 
unsigned int getSaveStringLength (int whichcp, const string &key)
 
unsigned int pushSaveData (int whichcp, const string &key, float val)
 
unsigned int eraseSaveData (int whichcp, const string &key, unsigned int index)
 
unsigned int clearSaveData (int whichcp, const string &key)
 
unsigned int pushSaveString (int whichcp, const string &key, const string &value)
 
void putSaveString (int whichcp, const string &key, unsigned int num, const string &val)
 
void putSaveData (int whichcp, const string &key, unsigned int num, float val)
 
unsigned int eraseSaveString (int whichcp, const string &key, unsigned int index)
 
unsigned int clearSaveString (int whichcp, const string &key)
 
vector< string > loadStringList (int playernum, const string &mykey)
 
const vector< string > & getStringList (int playernum, const string &mykey)
 
void saveStringList (int playernum, const string &mykey, const vector< string > &names)
 
void saveDataList (int whichcp, const string &key, const vector< float > &values)
 
static float getSaveDataPy (int whichcp, string key, unsigned int num)
 
static string getSaveStringPy (int whichcp, string key, unsigned int num)
 
static unsigned int getSaveDataLengthPy (int whichcp, string key)
 
static unsigned int getSaveStringLengthPy (int whichcp, string key)
 
static unsigned int pushSaveDataPy (int whichcp, string key, float val)
 
static unsigned int eraseSaveDataPy (int whichcp, string key, unsigned int index)
 
static unsigned int clearSaveDataPy (int whichcp, string key)
 
static unsigned int pushSaveStringPy (int whichcp, string key, string value)
 
static void putSaveStringPy (int whichcp, string key, unsigned int num, string val)
 
static void putSaveDataPy (int whichcp, string key, unsigned int num, float val)
 
static unsigned int eraseSaveStringPy (int whichcp, string key, unsigned int index)
 
static unsigned int clearSaveStringPy (int whichcp, string key)
 
static vector< string > loadStringListPy (int playernum, string mykey)
 
static void saveStringListPy (int playernum, string mykey, vector< string > names)
 
 PYTHON_DEFINE_METHOD_DEFAULT (Class,&PythonMissionBaseClass::Pickle,"Pickle", pythonMission::default_Pickle)
 
 PYTHON_DEFINE_METHOD_DEFAULT (Class,&PythonMissionBaseClass::UnPickle,"UnPickle", pythonMission::default_UnPickle)
 
 PYTHON_DEFINE_METHOD_DEFAULT (Class,&PythonMissionBaseClass::Execute,"Execute", pythonMission::default_Execute)
 
 PYTHON_DEFINE_GLOBAL (Director,&putSaveDataPy,"putSaveData")
 
 PYTHON_DEFINE_GLOBAL (Director,&pushSaveDataPy,"pushSaveData")
 
 PYTHON_DEFINE_GLOBAL (Director,&eraseSaveDataPy,"eraseSaveData")
 
 PYTHON_DEFINE_GLOBAL (Director,&clearSaveDataPy,"clearSaveData")
 
 PYTHON_DEFINE_GLOBAL (Director,&getSaveDataPy,"getSaveData")
 
 PYTHON_DEFINE_GLOBAL (Director,&getSaveDataLengthPy,"getSaveDataLength")
 
 PYTHON_DEFINE_GLOBAL (Director,&putSaveStringPy,"putSaveString")
 
 PYTHON_DEFINE_GLOBAL (Director,&pushSaveStringPy,"pushSaveString")
 
 PYTHON_DEFINE_GLOBAL (Director,&getSaveStringPy,"getSaveString")
 
 PYTHON_DEFINE_GLOBAL (Director,&getSaveStringLengthPy,"getSaveStringLength")
 
 PYTHON_DEFINE_GLOBAL (Director,&eraseSaveStringPy,"eraseSaveString")
 
 PYTHON_DEFINE_GLOBAL (Director,&clearSaveStringPy,"clearSaveString")
 
 PYTHON_DEFINE_GLOBAL (Director,&loadStringListPy,"loadStringList")
 
 PYTHON_DEFINE_GLOBAL (Director,&saveStringListPy,"saveStringList")
 
void InitDirector ()
 

Function Documentation

unsigned int clearSaveData ( int  whichcp,
const string &  key 
)

Definition at line 99 of file director_generic.cpp.

References _Universe, Universe::AccessCockpit(), Subcmd::EraseValue, Subcmd::FloatValue, SaveGame::getMissionData(), Universe::numPlayers(), Cockpit::savegame, NetServer::sendSaveData(), SERVER, and VSServer.

Referenced by clearSaveDataPy(), saveDataList(), and saveStringList().

100 {
101  if ( whichcp < 0 || (unsigned int) whichcp >= _Universe->numPlayers() )
102  return 0;
103  vector< float > *ans = &( ( _Universe->AccessCockpit( whichcp )->savegame->getMissionData( key ) ) );
104  int ret = ans->size();
105  if (!ret) return 0;
106  if (SERVER)
108  -1, &key, NULL, NULL, NULL );
109  ans->clear();
110  return ret;
111 }
static unsigned int clearSaveDataPy ( int  whichcp,
string  key 
)
static

Definition at line 298 of file director_generic.cpp.

References clearSaveData().

299 {
300  return clearSaveData(whichcp, key);
301 }
unsigned int clearSaveString ( int  whichcp,
const string &  key 
)

Definition at line 165 of file director_generic.cpp.

References _Universe, Universe::AccessCockpit(), Subcmd::EraseValue, SaveGame::getMissionStringData(), Universe::numPlayers(), Cockpit::savegame, NetServer::sendSaveData(), SERVER, Subcmd::StringValue, and VSServer.

Referenced by clearSaveStringPy(), and saveStringList().

166 {
167  if ( whichcp < 0 || (unsigned int) whichcp >= _Universe->numPlayers() )
168  return 0;
169  vector< std::string > *ans = &( ( _Universe->AccessCockpit( whichcp )->savegame->getMissionStringData( key ) ) );
170  int ret = ans->size();
171  if (!ret) return 0;
172  if (SERVER)
174  -1, &key, NULL, NULL, NULL );
175  ans->clear();
176  return ret;
177 }
static unsigned int clearSaveStringPy ( int  whichcp,
string  key 
)
static

Definition at line 323 of file director_generic.cpp.

References clearSaveString().

324 {
325  return clearSaveString(whichcp, key);
326 }
unsigned int eraseSaveData ( int  whichcp,
const string &  key,
unsigned int  index 
)

Definition at line 85 of file director_generic.cpp.

References _Universe, Universe::AccessCockpit(), Subcmd::EraseValue, Subcmd::FloatValue, SaveGame::getMissionData(), index, Universe::numPlayers(), Cockpit::savegame, NetServer::sendSaveData(), SERVER, size, and VSServer.

Referenced by eraseSaveDataPy().

86 {
87  if ( whichcp < 0 || (unsigned int) whichcp >= _Universe->numPlayers() )
88  return 0;
89  vector< float > *ans = &( ( _Universe->AccessCockpit( whichcp )->savegame->getMissionData( key ) ) );
90  if ( index < ans->size() ) {
91  if (SERVER)
93  index, &key, NULL, NULL, NULL );
94  ans->erase( ans->begin()+index );
95  }
96  return ans->size();
97 }
static unsigned int eraseSaveDataPy ( int  whichcp,
string  key,
unsigned int  index 
)
static

Definition at line 293 of file director_generic.cpp.

References eraseSaveData().

294 {
295  return eraseSaveData(whichcp, key, index);
296 }
unsigned int eraseSaveString ( int  whichcp,
const string &  key,
unsigned int  index 
)

Definition at line 151 of file director_generic.cpp.

References _Universe, Universe::AccessCockpit(), Subcmd::EraseValue, SaveGame::getMissionStringData(), index, Universe::numPlayers(), Cockpit::savegame, NetServer::sendSaveData(), SERVER, size, Subcmd::StringValue, and VSServer.

Referenced by BaseComputer::acceptMission(), and eraseSaveStringPy().

152 {
153  if ( whichcp < 0 || (unsigned int) whichcp >= _Universe->numPlayers() )
154  return 0;
155  vector< std::string > *ans = &( ( _Universe->AccessCockpit( whichcp )->savegame->getMissionStringData( key ) ) );
156  if ( index < ans->size() ) {
157  if (SERVER)
159  index, &key, NULL, NULL, NULL );
160  ans->erase( ans->begin()+index );
161  }
162  return ans->size();
163 }
static unsigned int eraseSaveStringPy ( int  whichcp,
string  key,
unsigned int  index 
)
static

Definition at line 318 of file director_generic.cpp.

References eraseSaveString().

319 {
320  return eraseSaveString(whichcp, key, index);
321 }
float getSaveData ( int  whichcp,
const string &  key,
unsigned int  num 
)

Definition at line 34 of file director_generic.cpp.

References _Universe, Universe::AccessCockpit(), SaveGame::getMissionData(), Universe::numPlayers(), and Cockpit::savegame.

Referenced by UniverseUtil::adjustFGRelationModifier(), UniverseUtil::adjustRelationModifierInt(), UniverseUtil::getFGRelationModifier(), UniverseUtil::getRelationModifierInt(), getSaveDataPy(), IncrementStartupVariable(), NavigationSystem::Setup(), and trackPrice().

35 {
36  if ( whichcp < 0 || (unsigned int) whichcp >= _Universe->numPlayers() )
37  return 0;
38  vector< float > *ans = &( _Universe->AccessCockpit( whichcp )->savegame->getMissionData( key ) );
39  if ( num >= ans->size() )
40  return 0;
41  return (*ans)[num];
42 }
const vector< float >& getSaveData ( int  whichcp,
const string &  key 
)

Definition at line 44 of file director_generic.cpp.

References _Universe, Universe::AccessCockpit(), SaveGame::getMissionData(), Universe::numPlayers(), and Cockpit::savegame.

45 {
46  static vector< float > empty;
47  if ( whichcp < 0 || (unsigned int) whichcp >= _Universe->numPlayers() )
48  return empty;
49  return _Universe->AccessCockpit( whichcp )->savegame->getMissionData( key );
50 }
unsigned int getSaveDataLength ( int  whichcp,
const string &  key 
)
static unsigned int getSaveDataLengthPy ( int  whichcp,
string  key 
)
static

Definition at line 278 of file director_generic.cpp.

References getSaveDataLength().

279 {
280  return getSaveDataLength(whichcp, key);
281 }
static float getSaveDataPy ( int  whichcp,
string  key,
unsigned int  num 
)
static

Definition at line 268 of file director_generic.cpp.

References getSaveData().

269 {
270  return getSaveData(whichcp, key, num);
271 }
string getSaveString ( int  whichcp,
const string &  key,
unsigned int  num 
)

Definition at line 52 of file director_generic.cpp.

References _Universe, Universe::AccessCockpit(), SaveGame::getMissionStringData(), Universe::numPlayers(), and Cockpit::savegame.

Referenced by BaseComputer::acceptMission(), getSaveStringPy(), BaseComputer::loadMissionsMasterList(), and BaseComputer::loadNewsControls().

53 {
54  if ( whichcp < 0 || (unsigned int) whichcp >= _Universe->numPlayers() )
55  return "";
56  vector< std::string > *ans = &( _Universe->AccessCockpit( whichcp )->savegame->getMissionStringData( key ) );
57  if ( num >= ans->size() )
58  return "";
59  return (*ans)[num];
60 }
unsigned int getSaveStringLength ( int  whichcp,
const string &  key 
)
static unsigned int getSaveStringLengthPy ( int  whichcp,
string  key 
)
static

Definition at line 283 of file director_generic.cpp.

References getSaveStringLength().

284 {
285  return getSaveStringLength(whichcp, key);
286 }
static string getSaveStringPy ( int  whichcp,
string  key,
unsigned int  num 
)
static

Definition at line 273 of file director_generic.cpp.

References getSaveString().

274 {
275  return getSaveString(whichcp, key, num);
276 }
const vector< string >& getStringList ( int  playernum,
const string &  mykey 
)

Definition at line 216 of file director_generic.cpp.

References _Universe, Universe::AccessCockpit(), Universe::numPlayers(), SaveGame::readMissionStringData(), and Cockpit::savegame.

Referenced by trackPrice().

217 {
218  if ( playernum < 0 || (unsigned int) playernum >= _Universe->numPlayers() ) {
219  static const vector<string> empty;
220  return empty;
221  }
222 
223  SaveGame *savegame = _Universe->AccessCockpit( playernum )->savegame;
224 
225  /* Should check old-style string lists, but it would defeat the purpose
226  of this fast getter. Besides, any functionality that uses this one is
227  using the new-style string lists, so we're cool (or ought to be) */
228  return savegame->readMissionStringData( mykey );
229 }
void InitDirector ( )

Definition at line 361 of file director_generic.cpp.

References PYTHON_INIT_MODULE.

362 {
363  Python::reseterrors();
364  PYTHON_INIT_MODULE( Director );
365  Python::reseterrors();
366 }
vector< string > loadStringList ( int  playernum,
const string &  mykey 
)

Definition at line 179 of file director_generic.cpp.

References _Universe, Universe::AccessCockpit(), int, j, Universe::numPlayers(), SaveGame::readMissionData(), SaveGame::readMissionStringData(), and Cockpit::savegame.

Referenced by DockToSavedBases(), and loadStringListPy().

180 {
181  if ( playernum < 0 || (unsigned int) playernum >= _Universe->numPlayers() )
182  return vector< string > ();
183 
184  SaveGame *savegame = _Universe->AccessCockpit( playernum )->savegame;
185  vector< string >rez;
186 
187  const vector< string > &ans = savegame->readMissionStringData( mykey );
188  if (ans.size() > 0) {
189  /* This is the modern way to store string data: as strings */
190  rez.reserve(ans.size());
191  rez.insert(rez.end(), ans.begin(), ans.end());
192  } else {
193  /* This variant loads it from float data, converting to character data.
194  It's a legacy variant, highly and unpleasantly convoluted and sub-performant,
195  but we must support it to be compatible with old savegames */
196  const vector< float > &ans = savegame->readMissionData( mykey );
197  int lengt = ans.size();
198  rez.reserve(ans.size());
199  if (lengt >= 1) {
200  string curstr;
201  int length = (int)ans[0];
202  for (int j = 0; j < length && j < lengt; j++) {
203  char myint = (char)ans[j+1];
204  if (myint != '\0') {
205  curstr += myint;
206  } else {
207  rez.push_back( curstr );
208  curstr = "";
209  }
210  }
211  }
212  }
213  return rez;
214 }
static vector< string > loadStringListPy ( int  playernum,
string  mykey 
)
static

Definition at line 328 of file director_generic.cpp.

References loadStringList().

329 {
330  return loadStringList(playernum, mykey);
331 }
unsigned int pushSaveData ( int  whichcp,
const string &  key,
float  val 
)

Definition at line 73 of file director_generic.cpp.

References _Universe, Universe::AccessCockpit(), Subcmd::FloatValue, SaveGame::getMissionData(), Universe::numPlayers(), Cockpit::savegame, NetServer::sendSaveData(), SERVER, Subcmd::SetValue, and VSServer.

Referenced by UniverseUtil::adjustFGRelationModifier(), UniverseUtil::adjustRelationModifierInt(), IncrementStartupVariable(), pushSaveDataPy(), and trackPrice().

74 {
75  if ( whichcp < 0 || (unsigned int) whichcp >= _Universe->numPlayers() )
76  return 0;
77  vector< float > *ans = &( ( _Universe->AccessCockpit( whichcp )->savegame->getMissionData( key ) ) );
78  if (SERVER)
80  ans->size(), &key, NULL, NULL, &val );
81  ans->push_back( val );
82  return ans->size()-1;
83 }
static unsigned int pushSaveDataPy ( int  whichcp,
string  key,
float  val 
)
static

Definition at line 288 of file director_generic.cpp.

References pushSaveData().

289 {
290  return pushSaveData(whichcp, key, val);
291 }
unsigned int pushSaveString ( int  whichcp,
const string &  key,
const string &  value 
)

Definition at line 113 of file director_generic.cpp.

References _Universe, Universe::AccessCockpit(), SaveGame::getMissionStringData(), Universe::numPlayers(), Cockpit::savegame, NetServer::sendSaveData(), SERVER, Subcmd::SetValue, Subcmd::StringValue, and VSServer.

Referenced by UniverseUtil::IOmessage(), LoadMission(), pushSaveStringPy(), NetServer::sendJump(), and trackPrice().

114 {
115  if ( whichcp < 0 || (unsigned int) whichcp >= _Universe->numPlayers() )
116  return 0;
117  vector< std::string > *ans = &( ( _Universe->AccessCockpit( whichcp )->savegame->getMissionStringData( key ) ) );
118  if (SERVER)
120  ans->size(), &key, NULL, &value, NULL );
121  ans->push_back( std::string( value ) );
122  return ans->size()-1;
123 }
static unsigned int pushSaveStringPy ( int  whichcp,
string  key,
string  value 
)
static

Definition at line 303 of file director_generic.cpp.

References pushSaveString().

304 {
305  return pushSaveString(whichcp, key, value);
306 }
void putSaveData ( int  whichcp,
const string &  key,
unsigned int  num,
float  val 
)

Definition at line 138 of file director_generic.cpp.

References _Universe, Universe::AccessCockpit(), Subcmd::FloatValue, SaveGame::getMissionData(), Universe::numPlayers(), Cockpit::savegame, NetServer::sendSaveData(), SERVER, Subcmd::SetValue, size, and VSServer.

Referenced by UniverseUtil::adjustFGRelationModifier(), UniverseUtil::adjustRelationModifierInt(), IncrementStartupVariable(), putSaveDataPy(), and trackPrice().

139 {
140  if ( whichcp < 0 || (unsigned int) whichcp >= _Universe->numPlayers() )
141  return;
142  vector< float > *ans = &( ( _Universe->AccessCockpit( whichcp )->savegame->getMissionData( key ) ) );
143  if ( num < ans->size() ) {
144  if (SERVER)
146  num, &key, NULL, NULL, &val );
147  (*ans)[num] = val;
148  }
149 }
static void putSaveDataPy ( int  whichcp,
string  key,
unsigned int  num,
float  val 
)
static

Definition at line 313 of file director_generic.cpp.

References putSaveData().

314 {
315  putSaveData(whichcp, key, num, val);
316 }
void putSaveString ( int  whichcp,
const string &  key,
unsigned int  num,
const string &  val 
)

Definition at line 125 of file director_generic.cpp.

References _Universe, Universe::AccessCockpit(), SaveGame::getMissionStringData(), Universe::numPlayers(), Cockpit::savegame, NetServer::sendSaveData(), SERVER, Subcmd::SetValue, size, Subcmd::StringValue, and VSServer.

Referenced by BaseComputer::loadMissionsMasterList(), putSaveStringPy(), and NetServer::sendJump().

126 {
127  if ( whichcp < 0 || (unsigned int) whichcp >= _Universe->numPlayers() )
128  return;
129  vector< std::string > *ans = &( ( _Universe->AccessCockpit( whichcp )->savegame->getMissionStringData( key ) ) );
130  if ( num < ans->size() ) {
131  if (SERVER)
133  num, &key, NULL, &val, NULL );
134  (*ans)[num] = val;
135  }
136 }
static void putSaveStringPy ( int  whichcp,
string  key,
unsigned int  num,
string  val 
)
static

Definition at line 308 of file director_generic.cpp.

References putSaveString().

309 {
310  putSaveString(whichcp, key, num, val);
311 }
PYTHON_DEFINE_GLOBAL ( Director  ,
putSaveDataPy,
"putSaveData"   
)
PYTHON_DEFINE_GLOBAL ( Director  ,
pushSaveDataPy,
"pushSaveData"   
)
PYTHON_DEFINE_GLOBAL ( Director  ,
eraseSaveDataPy,
"eraseSaveData"   
)
PYTHON_DEFINE_GLOBAL ( Director  ,
clearSaveDataPy,
"clearSaveData"   
)
PYTHON_DEFINE_GLOBAL ( Director  ,
getSaveDataPy,
"getSaveData"   
)
PYTHON_DEFINE_GLOBAL ( Director  ,
getSaveDataLengthPy,
"getSaveDataLength"   
)
PYTHON_DEFINE_GLOBAL ( Director  ,
putSaveStringPy,
"putSaveString"   
)
PYTHON_DEFINE_GLOBAL ( Director  ,
pushSaveStringPy,
"pushSaveString"   
)
PYTHON_DEFINE_GLOBAL ( Director  ,
getSaveStringPy,
"getSaveString"   
)
PYTHON_DEFINE_GLOBAL ( Director  ,
getSaveStringLengthPy,
"getSaveStringLength"   
)
PYTHON_DEFINE_GLOBAL ( Director  ,
eraseSaveStringPy,
"eraseSaveString"   
)
PYTHON_DEFINE_GLOBAL ( Director  ,
clearSaveStringPy,
"clearSaveString"   
)
PYTHON_DEFINE_GLOBAL ( Director  ,
loadStringListPy,
"loadStringList"   
)
PYTHON_DEFINE_GLOBAL ( Director  ,
saveStringListPy,
"saveStringList"   
)
PYTHON_DEFINE_METHOD_DEFAULT ( Class  ,
&PythonMissionBaseClass::Pickle  ,
"Pickle"  ,
pythonMission::default_Pickle   
)
PYTHON_DEFINE_METHOD_DEFAULT ( Class  ,
&PythonMissionBaseClass::UnPickle  ,
"UnPickle"  ,
pythonMission::default_UnPickle   
)
PYTHON_DEFINE_METHOD_DEFAULT ( Class  ,
&PythonMissionBaseClass::Execute  ,
"Execute"  ,
pythonMission::default_Execute   
)
PYTHON_INIT_INHERIT_GLOBALS ( Director  ,
PythonMissionBaseClass   
)
void saveDataList ( int  whichcp,
const string &  key,
const vector< float > &  values 
)

Definition at line 252 of file director_generic.cpp.

References _Universe, Universe::AccessCockpit(), clearSaveData(), Subcmd::FloatValue, SaveGame::getMissionData(), i, Universe::numPlayers(), Cockpit::savegame, NetServer::sendSaveData(), SERVER, Subcmd::SetValue, and VSServer.

Referenced by trackPrice().

253 {
254  if ( whichcp < 0 || (unsigned int) whichcp >= _Universe->numPlayers() )
255  return;
256 
257  clearSaveData(whichcp, key);
258 
259  vector< float > &ans = _Universe->AccessCockpit( whichcp )->savegame->getMissionData( key );
260  for (vector<float>::const_iterator i = values.begin(); i != values.end(); ++i) {
261  if (SERVER)
263  ans.size(), &key, NULL, NULL, &*i );
264  ans.push_back( *i );
265  }
266 }
void saveStringList ( int  playernum,
const string &  mykey,
const vector< string > &  names 
)

Definition at line 231 of file director_generic.cpp.

References _Universe, Universe::AccessCockpit(), clearSaveData(), clearSaveString(), SaveGame::getMissionDataLength(), SaveGame::getMissionStringData(), i, Universe::numPlayers(), Cockpit::savegame, NetServer::sendSaveData(), SERVER, Subcmd::SetValue, Subcmd::StringValue, and VSServer.

Referenced by BaseInterface::BaseInterface(), saveStringListPy(), BaseInterface::Terminate(), and trackPrice().

232 {
233  if ( playernum < 0 || (unsigned int) playernum >= _Universe->numPlayers() )
234  return;
235 
236  SaveGame *savegame = _Universe->AccessCockpit( playernum )->savegame;
237 
238  // Erase old-style string lists
239  if (savegame->getMissionDataLength(mykey) != 0)
240  clearSaveData(playernum, mykey);
241 
242  vector< string > &ans = savegame->getMissionStringData( mykey );
243  clearSaveString(playernum, mykey);
244  for (vector<string>::const_iterator i = names.begin(); i != names.end(); ++i) {
245  if (SERVER)
247  ans.size(), &mykey, NULL, &*i, NULL );
248  ans.push_back( *i );
249  }
250 }
static void saveStringListPy ( int  playernum,
string  mykey,
vector< string >  names 
)
static

Definition at line 333 of file director_generic.cpp.

References saveStringList().

334 {
335  saveStringList(playernum, mykey, names);
336 }