bool GameStateAwards::enterSet(int setid) { MTGSetInfo * si = setlist.getInfo(setid); map<int, MTGCard *>::iterator it; if (!si) return false; SAFE_DELETE(detailview); SAFE_DELETE(setSrc); setSrc = NEW WSrcCards(); setSrc->addFilter(NEW WCFilterSet(setid)); setSrc->loadMatches(MTGCollection()); setSrc->bakeFilters(); setSrc->Sort(WSrcCards::SORT_COLLECTOR); detailview = NEW WGuiMenu(JGE_BTN_DOWN, JGE_BTN_UP); WGuiList * spoiler = NEW WGuiList("Spoiler", setSrc); spoiler->setX(210); spoiler->setWidth(SCREEN_WIDTH - 220); for (int t = 0; t < setSrc->Size(); t++) { MTGCard * c = setSrc->getCard(t); if (c) spoiler->Add(NEW WGuiItem(c->data->name)); } setSrc->setOffset(0); spoiler->Entering(JGE_BTN_NONE); WGuiCardImage * wi = NEW WGuiCardImage(setSrc); wi->setX(105); wi->setY(137); detailview->Add(wi); detailview->Add(spoiler); detailview->Entering(JGE_BTN_NONE); return true; }
void GameStateOptions::Start() { newProfile = ""; timer = 0; mState = SHOW_OPTIONS; JRenderer::GetInstance()->EnableVSync(true); WGuiList * optionsList; optionsList = NEW WGuiList("Settings"); optionsList->Add(NEW WGuiHeader("General Options")); if (GameApp::HasMusic) optionsList->Add(NEW WDecoEnum(NEW OptionInteger(Options::MUSICVOLUME, "Music volume", 100, 10, 100), OptionVolume::getInstance())); optionsList->Add(NEW WDecoEnum(NEW OptionInteger(Options::SFXVOLUME, "SFX volume", 100, 10, 100), OptionVolume::getInstance())); if (options[Options::DIFFICULTY_MODE_UNLOCKED].number) { optionsList->Add(NEW WDecoEnum(NEW OptionInteger(Options::DIFFICULTY, "Difficulty", 3, 1, 0), OptionDifficulty::getInstance())); optionsList->Add(NEW WDecoEnum(NEW OptionInteger(Options::ECON_DIFFICULTY, "Economic Difficuly", Constants::ECON_EASY))); } optionsList->Add(NEW OptionInteger(Options::INTERRUPT_SECONDS, "Seconds to pause for an Interrupt", 20, 1)); optionsList->Add(NEW OptionInteger(Options::INTERRUPTMYSPELLS, "Interrupt my spells")); optionsList->Add(NEW OptionInteger(Options::INTERRUPTMYABILITIES, "Interrupt my abilities")); optionsList->Add(NEW OptionInteger(Options::INTERRUPT_SECONDMAIN, "Interrupt opponent's end of turn")); optionsTabs = NEW WGuiTabMenu(); optionsTabs->Add(optionsList); optionsList = NEW WGuiList("Game"); optionsList->Add(NEW WGuiHeader("Interface Options")); optionsList->Add(NEW WDecoEnum(NEW OptionInteger(Options::CLOSEDHAND, "Closed hand", 1, 1, 0))); optionsList->Add(NEW WDecoEnum(NEW OptionInteger(Options::HANDDIRECTION, "Hand direction", 1, 1, 0))); optionsList->Add(NEW WDecoEnum(NEW OptionInteger(Options::MANADISPLAY, "Mana display", 3, 1, 0))); optionsList->Add(NEW OptionInteger(Options::REVERSETRIGGERS, "Reverse left and right triggers")); optionsList->Add(NEW OptionInteger(Options::DISABLECARDS, "Disable card images")); optionsList->Add(NEW OptionInteger(Options::TRANSITIONS, "Disable screen transitions")); optionsList->Add(NEW OptionInteger(Options::OSD, "Display InGame extra information")); optionsTabs->Add(optionsList); optionsList = NEW WGuiList("User"); optionsList->Add(NEW WGuiHeader("User Options")); WDecoConfirm * cPrf = NEW WDecoConfirm(this, NEW OptionProfile(mParent, this)); cPrf->confirm = "Use this Profile"; OptionThemeStyle * ots = NEW OptionThemeStyle("Theme Style"); OptionDirectory * od = NEW OptionTheme(ots); WDecoConfirm * cThm = NEW WDecoConfirm(this, od); cThm->confirm = "Use this Theme"; WDecoConfirm * cStyle = NEW WDecoConfirm(this, ots); cStyle->confirm = "Use this Style"; optionsList->Add(NEW WGuiSplit(cPrf, cThm)); optionsList->Add(cStyle); optionsList->Add(NEW WGuiButton(NEW WGuiHeader("New Profile"), -102, kNewProfileID, this)); optionsList->Add(NEW WDecoCheat(NEW OptionInteger(Options::CHEATMODE, "Enable Cheat Mode"))); optionsList->Add(NEW WDecoCheat(NEW OptionInteger(Options::OPTIMIZE_HAND, "Optimize Starting Hand"))); optionsList->Add(NEW WDecoCheat(NEW OptionInteger(Options::CHEATMODEAIDECK, "Unlock All Ai Decks"))); optionsTabs->Add(optionsList); optionsList = NEW WGuiList("Advanced"); optionsList->Add(NEW WGuiHeader("Advanced Options")); WDecoStyled * wAdv = NEW WDecoStyled(NEW WGuiHeader("The following options require a restart.")); wAdv->mStyle = WDecoStyled::DS_STYLE_ALERT; optionsList->Add(wAdv); WDecoConfirm * cLang = NEW WDecoConfirm(this, NEW OptionLanguage("Language")); cLang->confirm = "Use this Language"; optionsList->Add(cLang); WDecoEnum * oGra = NEW WDecoEnum(NEW OptionInteger(Options::MAX_GRADE, "Minimum Card Grade", Constants::GRADE_DANGEROUS, 1, Constants::GRADE_BORDERLINE, "", Constants::GRADE_SUPPORTED)); optionsList->Add(oGra); WDecoEnum * oASPhases = NEW WDecoEnum(NEW OptionInteger(Options::ASPHASES, "Phase Skip Automation", Constants::ASKIP_FULL, 1, Constants::ASKIP_NONE, "", Constants::ASKIP_NONE)); optionsList->Add(oASPhases); optionsTabs->Add(optionsList); WDecoEnum * oFirstPlayer = NEW WDecoEnum(NEW OptionInteger(Options::FIRSTPLAYER, "First Turn Player", Constants::WHO_R, 1, Constants::WHO_P, "", Constants::WHO_P)); optionsList->Add(oFirstPlayer); WDecoEnum * oKickerPay = NEW WDecoEnum(NEW OptionInteger(Options::KICKERPAYMENT, "Kicker Cost", Constants::KICKER_CHOICE, 1, Constants::KICKER_ALWAYS, "", Constants::KICKER_ALWAYS)); optionsList->Add(oKickerPay); #ifndef IOS optionsList = NEW WGuiKeyBinder("Key Bindings", this); optionsTabs->Add(optionsList); #endif optionsList = NEW WGuiList("Credits"); optionsList->failMsg = ""; optionsTabs->Add(optionsList); optionsMenu = NEW SimpleMenu(JGE::GetInstance(), -102, this, Fonts::MAIN_FONT, 50, 170); optionsMenu->Add(kBackToMainMenuID, "Back to Main Menu"); optionsMenu->Add(kSaveAndBackToMainMenuID, "Save And Exit"); optionsMenu->Add(kCancelMenuID, "Cancel"); optionsTabs->Entering(JGE_BTN_NONE); }