void BagEditor::parseData(void) { if (bag == NULL) return; isXD = LIBPKMGC_IS_XD(BagData, bag); int c = tabs->count(); battleCDsPocket->pocket = NULL; if (isXD) { XD::BagData* bag_xd = (XD::BagData*) bag; battleCDsPocket->pocket = bag_xd->battleCDs; battleCDsPocket->parseData(); if(c != 7) tabs->addTab(battleCDsPocket, tr("Battle CDs")); } if (!isXD && (c == 7)) tabs->removeTab(6); #define ST(pkt) pkt##Pocket->pocket = bag->pkt; pkt##Pocket->isXD = isXD; pkt##Pocket->parseData(); regularItemsPocket->pocketMaxSize = bag->nbRegularItems; ST(regularItems); ST(keyItems); ST(pokeballs); ST(TMs); ST(berries); ST(colognes); #undef ST }
void GameConfigUI::parseData(void) { if (saveSlot_ == NULL) return; SaveSlot* sl = saveSlot_; isXD = LIBPKMGC_IS_XD(SaveEditing::SaveSlot, sl); versionFld->disconnect(SIGNAL(versionChanged()), this); versionFld->setInfo(sl->version); connect(versionFld, SIGNAL(versionChanged()), this, SLOT(versionChangeHandler())); noRumbleFld->setChecked(sl->noRumble); titleScreenLanguageFld->setCurrentIndex((int)sl->titleScreenLanguage); miscellaneousBox->setVisible(!isXD); if (!isXD) { Colosseum::SaveEditing::SaveSlot *sl_c = (Colosseum::SaveEditing::SaveSlot*) sl; storyModeSaveCountFld->setUnsignedValue(sl_c->storyModeSaveCount); } versionChangeHandler(); }