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:
@@ -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
|
||||
|
||||
@@ -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);
|
||||
|
||||
};
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user