Psyringe - This revision adds "cheat mode", as suggested and pre-reviewed here:

http://wololo.net/forum/viewtopic.php?f=15&t=730

Although the feature is named "cheat mode", its main purpose is to provide a toolbox for content creators. Currently this means to help AI deck creators, but the cheat mode is easily extensible.

Features:
- To enable cheat mode, create a new profile with the super secret cheat name (shouldn't be hard to find - or just mail me if you don't want to look). Then, leave and re-enter the Options menu. You can now enable cheat mode on the first tab. Note: The secret profile name is *not* my original suggestion from the forum, I went with Jeck's alternative suggestion so that he won't have to cringe over bad puns everytime he's using it. ;)

- Complete collection: In cheat mode, there's a new option in the deck viewer, which makes sure that you have at least 4 of any card available.

- Deck integrity: When in cheat mode, and you load a deck with cards that are not present in your collection, then these cards won't be stripped from your deck any more. Instead, they are added to your collection.

- Money cheat: In cheat mode, when you click on an item in the shop, you get the option to steal 1,000 credits from the shopkeeper.

Please review my code - I just started with C++, I may make very obvious mistakes or use inelegant style. The sooner you point this out, the sooner I'll improve.

thanks to wololo and jeck for comments and suggestions.

Jeck: Do the setVisible and setHidden methods currently work? I tried to use them to hide a menu item, but they all seem to lead to empty methods - Perhaps placeholders for a not yet implemented functionality?
This commit is contained in:
Psyyringe
2009-11-02 04:27:14 +00:00
parent 7a108c3604
commit 779921a53f
7 changed files with 59 additions and 3 deletions

View File

@@ -22,6 +22,7 @@ const char * Options::optionNames[] = {
"musicVolume",
"sfxVolume",
"difficulty",
"cheatmode",
"displayOSD",
"closed_hand",
"hand_direction",
@@ -282,9 +283,18 @@ int GameOptions::load(){
}
file.close();
}
// (PSY) Make sure that cheatmode is switched off for ineligible profiles:
if(options[Options::ACTIVE_PROFILE].str != SECRET_PROFILE) {
(*this)[Options::CHEATMODE].number = 0;
}
return 1;
}
int GameOptions::save(){
// (PSY) Make sure that cheatmode is switched off for ineligible profiles:
if(options[Options::ACTIVE_PROFILE].str != SECRET_PROFILE) {
(*this)[Options::CHEATMODE].number = 0;
}
std::ofstream file(mFilename.c_str());
if (file){
for ( int x=0; x < (int) values.size(); x++ ){