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 next() {currentPos++; return true;};
|
||||||
bool prev() {currentPos--; return true;};
|
bool prev() {currentPos--; return true;};
|
||||||
void save();
|
void save();
|
||||||
void save(string filepath, bool useExpandedCardNames);
|
void save(string filepath, bool useExpandedCardNames, string &deckTitle, string &deckDesc);
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -150,7 +150,7 @@ class MTGDeck{
|
|||||||
int add(MTGCard * card);
|
int add(MTGCard * card);
|
||||||
int remove(MTGCard * card);
|
int remove(MTGCard * card);
|
||||||
int save();
|
int save();
|
||||||
int save(string destFileName, bool useExpandedDescriptions);
|
int save(string destFileName, bool useExpandedDescriptions, string &deckTitle, string &deckDesc);
|
||||||
MTGCard * getCardById(int id);
|
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){
|
if(parent){
|
||||||
Rebuild(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;
|
oss << "deck" << nbAiDecks;
|
||||||
defaultAiDeckName = oss.str();
|
defaultAiDeckName = oss.str();
|
||||||
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 deckDesc = oss.str();
|
||||||
string filepath = RESPATH;
|
string filepath = RESPATH;
|
||||||
filepath.append("/ai/baka/").append( defaultAiDeckName ).append( ".txt" );
|
filepath.append("/ai/baka/").append( defaultAiDeckName ).append( ".txt" );
|
||||||
DebugTrace("saving AI deck " << filepath << endl );
|
DebugTrace("saving AI deck " << filepath);
|
||||||
myDeck->parent->meta_desc = deckDesc;
|
myDeck->save( filepath, true, deckName, deckDesc);
|
||||||
myDeck->parent->meta_name = deckName;
|
|
||||||
myDeck->save( filepath, true);
|
|
||||||
|
|
||||||
oss.clear();
|
oss.clear();
|
||||||
delete deckManager;
|
delete deckManager;
|
||||||
|
|||||||
@@ -740,23 +740,23 @@ int MTGDeck::remove(MTGCard * card){
|
|||||||
}
|
}
|
||||||
|
|
||||||
int MTGDeck::save() {
|
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;
|
string tmp = destFileName;
|
||||||
tmp.append(".tmp"); //not thread safe
|
tmp.append(".tmp"); //not thread safe
|
||||||
std::ofstream file(tmp.c_str());
|
std::ofstream file(tmp.c_str());
|
||||||
char writer[512];
|
char writer[512];
|
||||||
if (file){
|
if (file){
|
||||||
DebugTrace("Saving Deck: " << meta_name << " to " << destFileName );
|
DebugTrace("Saving Deck: " << deckTitle << " to " << destFileName );
|
||||||
if (meta_name.size()){
|
if (meta_name.size()){
|
||||||
file << "#NAME:" << meta_name << '\n';
|
file << "#NAME:" << deckTitle << '\n';
|
||||||
}
|
}
|
||||||
|
|
||||||
if (meta_desc.size()){
|
if (meta_desc.size()){
|
||||||
size_t found = 0;
|
size_t found = 0;
|
||||||
string desc= meta_desc;
|
string desc= deckDesc;
|
||||||
found = desc.find_first_of("\n");
|
found = desc.find_first_of("\n");
|
||||||
while(found != string::npos){
|
while(found != string::npos){
|
||||||
file << "#DESC:" << desc.substr(0,found+1);
|
file << "#DESC:" << desc.substr(0,found+1);
|
||||||
@@ -781,6 +781,7 @@ int MTGDeck::save(string destFileName, bool useExpandedDescriptions){
|
|||||||
string setName = setInfo->getName();
|
string setName = setInfo->getName();
|
||||||
string cardName = card->data->getName();
|
string cardName = card->data->getName();
|
||||||
file<< cardName << "\t " << "(" << setName << ") *" << nbCards << endl;
|
file<< cardName << "\t " << "(" << setName << ") *" << nbCards << endl;
|
||||||
|
setInfo = NULL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|||||||
Reference in New Issue
Block a user