diff --git a/projects/mtg/include/DeckDataWrapper.h b/projects/mtg/include/DeckDataWrapper.h index 7ebde8316..5ce413852 100644 --- a/projects/mtg/include/DeckDataWrapper.h +++ b/projects/mtg/include/DeckDataWrapper.h @@ -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 diff --git a/projects/mtg/include/MTGDeck.h b/projects/mtg/include/MTGDeck.h index 27293a77e..2b0dad9df 100644 --- a/projects/mtg/include/MTGDeck.h +++ b/projects/mtg/include/MTGDeck.h @@ -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); }; diff --git a/projects/mtg/src/DeckDataWrapper.cpp b/projects/mtg/src/DeckDataWrapper.cpp index 5e8476e55..5571f1c38 100644 --- a/projects/mtg/src/DeckDataWrapper.cpp +++ b/projects/mtg/src/DeckDataWrapper.cpp @@ -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); } } diff --git a/projects/mtg/src/GameStateDeckViewer.cpp b/projects/mtg/src/GameStateDeckViewer.cpp index 960ba04d9..85ba1fae8 100644 --- a/projects/mtg/src/GameStateDeckViewer.cpp +++ b/projects/mtg/src/GameStateDeckViewer.cpp @@ -275,14 +275,15 @@ void GameStateDeckViewer::saveAsAIDeck( string deckName ) oss << "deck" << nbAiDecks; defaultAiDeckName = oss.str(); oss.str(""); - oss << endl << "Can you beat your own creations?" << endl << "User created AI Deck # " << nbAiDecks; + 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; diff --git a/projects/mtg/src/MTGDeck.cpp b/projects/mtg/src/MTGDeck.cpp index c553212ee..9f33ff98b 100644 --- a/projects/mtg/src/MTGDeck.cpp +++ b/projects/mtg/src/MTGDeck.cpp @@ -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