fixes ai deck saving bug pointed out by Zethfox.

TODO: fix text to the right of the box when saving ai deck.
This commit is contained in:
techdragon.nguyen@gmail.com
2010-10-27 03:00:39 +00:00
parent 56ba37feec
commit 28d3b9b9a9
5 changed files with 16 additions and 14 deletions

View File

@@ -19,7 +19,7 @@ class DeckDataWrapper: public WSrcDeck {
bool next() {currentPos++; return true;};
bool prev() {currentPos--; return true;};
void save();
void save(string filepath, bool useExpandedCardNames);
void save(string filepath, bool useExpandedCardNames, string &deckTitle, string &deckDesc);
};
#endif

View File

@@ -150,7 +150,7 @@ class MTGDeck{
int add(MTGCard * card);
int remove(MTGCard * card);
int save();
int save(string destFileName, bool useExpandedDescriptions);
int save(string destFileName, bool useExpandedDescriptions, string &deckTitle, string &deckDesc);
MTGCard * getCardById(int id);
};

View File

@@ -17,9 +17,9 @@ void DeckDataWrapper::save(){
}
}
void DeckDataWrapper::save(string filepath, bool useExpandedCardNames){
void DeckDataWrapper::save(string filepath, bool useExpandedCardNames, string &deckTitle, string &deckDesc){
if(parent){
Rebuild(parent);
parent->save(filepath, useExpandedCardNames);
parent->save(filepath, useExpandedCardNames, deckTitle, deckDesc);
}
}

View File

@@ -275,14 +275,15 @@ void GameStateDeckViewer::saveAsAIDeck( string deckName )
oss << "deck" << nbAiDecks;
defaultAiDeckName = oss.str();
oss.str("");
if ( myDeck->parent->meta_desc == "" )
oss << endl << "Can you beat your own creations?" << endl << "User created AI Deck # " << nbAiDecks;
else
oss << myDeck->parent->meta_desc;
string deckDesc = oss.str();
string filepath = RESPATH;
filepath.append("/ai/baka/").append( defaultAiDeckName ).append( ".txt" );
DebugTrace("saving AI deck " << filepath << endl );
myDeck->parent->meta_desc = deckDesc;
myDeck->parent->meta_name = deckName;
myDeck->save( filepath, true);
DebugTrace("saving AI deck " << filepath);
myDeck->save( filepath, true, deckName, deckDesc);
oss.clear();
delete deckManager;

View File

@@ -740,23 +740,23 @@ int MTGDeck::remove(MTGCard * card){
}
int MTGDeck::save() {
return save( filename, false );
return save( filename, false, meta_name, meta_desc );
}
int MTGDeck::save(string destFileName, bool useExpandedDescriptions){
int MTGDeck::save(string destFileName, bool useExpandedDescriptions, string &deckTitle, string &deckDesc ){
string tmp = destFileName;
tmp.append(".tmp"); //not thread safe
std::ofstream file(tmp.c_str());
char writer[512];
if (file){
DebugTrace("Saving Deck: " << meta_name << " to " << destFileName );
DebugTrace("Saving Deck: " << deckTitle << " to " << destFileName );
if (meta_name.size()){
file << "#NAME:" << meta_name << '\n';
file << "#NAME:" << deckTitle << '\n';
}
if (meta_desc.size()){
size_t found = 0;
string desc= meta_desc;
string desc= deckDesc;
found = desc.find_first_of("\n");
while(found != string::npos){
file << "#DESC:" << desc.substr(0,found+1);
@@ -781,6 +781,7 @@ int MTGDeck::save(string destFileName, bool useExpandedDescriptions){
string setName = setInfo->getName();
string cardName = card->data->getName();
file<< cardName << "\t " << "(" << setName << ") *" << nbCards << endl;
setInfo = NULL;
}
}
else