예제 #1
0
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
}
예제 #2
0
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();
}