diff --git a/gallery/ned/NeoExDesert.png b/gallery/ned/NeoExDesert.png new file mode 100644 index 0000000..716bf78 Binary files /dev/null and b/gallery/ned/NeoExDesert.png differ diff --git a/gallery/ned/barf.png b/gallery/ned/barf.png new file mode 100644 index 0000000..da6b2ab Binary files /dev/null and b/gallery/ned/barf.png differ diff --git a/gallery/ned/cactuar.png b/gallery/ned/cactuar.png new file mode 100644 index 0000000..97b55f9 Binary files /dev/null and b/gallery/ned/cactuar.png differ diff --git a/gallery/ned/cad.png b/gallery/ned/cad.png new file mode 100644 index 0000000..bdedb16 Binary files /dev/null and b/gallery/ned/cad.png differ diff --git a/gallery/ned/chaos.png b/gallery/ned/chaos.png new file mode 100644 index 0000000..5d71120 Binary files /dev/null and b/gallery/ned/chaos.png differ diff --git a/gallery/ned/chomp.png b/gallery/ned/chomp.png new file mode 100644 index 0000000..1929ef9 Binary files /dev/null and b/gallery/ned/chomp.png differ diff --git a/gallery/ned/emperor.png b/gallery/ned/emperor.png new file mode 100644 index 0000000..f58e298 Binary files /dev/null and b/gallery/ned/emperor.png differ diff --git a/gallery/ned/fancy.png b/gallery/ned/fancy.png new file mode 100644 index 0000000..68db260 Binary files /dev/null and b/gallery/ned/fancy.png differ diff --git a/gallery/ned/fiend_ned.png b/gallery/ned/fiend_ned.png new file mode 100644 index 0000000..8ffcc33 Binary files /dev/null and b/gallery/ned/fiend_ned.png differ diff --git a/gallery/ned/flammie1.png b/gallery/ned/flammie1.png new file mode 100644 index 0000000..bb12aa3 Binary files /dev/null and b/gallery/ned/flammie1.png differ diff --git a/gallery/ned/flammie2.png b/gallery/ned/flammie2.png new file mode 100644 index 0000000..8c746e0 Binary files /dev/null and b/gallery/ned/flammie2.png differ diff --git a/gallery/ned/flanders.png b/gallery/ned/flanders.png new file mode 100644 index 0000000..fcc4a4a Binary files /dev/null and b/gallery/ned/flanders.png differ diff --git a/gallery/ned/fly.png b/gallery/ned/fly.png new file mode 100644 index 0000000..9225bf8 Binary files /dev/null and b/gallery/ned/fly.png differ diff --git a/gallery/ned/godzilla.png b/gallery/ned/godzilla.png new file mode 100644 index 0000000..aae15da Binary files /dev/null and b/gallery/ned/godzilla.png differ diff --git a/gallery/ned/kefka.png b/gallery/ned/kefka.png new file mode 100644 index 0000000..876a534 Binary files /dev/null and b/gallery/ned/kefka.png differ diff --git a/gallery/ned/lavos-spawn.png b/gallery/ned/lavos-spawn.png new file mode 100644 index 0000000..ac0440f Binary files /dev/null and b/gallery/ned/lavos-spawn.png differ diff --git a/gallery/ned/mechagodzilla.png b/gallery/ned/mechagodzilla.png new file mode 100644 index 0000000..9f77752 Binary files /dev/null and b/gallery/ned/mechagodzilla.png differ diff --git a/gallery/ned/metroid.png b/gallery/ned/metroid.png new file mode 100644 index 0000000..9299d3f Binary files /dev/null and b/gallery/ned/metroid.png differ diff --git a/gallery/ned/ned.png b/gallery/ned/ned.png new file mode 100644 index 0000000..f80cb31 Binary files /dev/null and b/gallery/ned/ned.png differ diff --git a/gallery/ned/neo-x-death.png b/gallery/ned/neo-x-death.png new file mode 100644 index 0000000..a0021be Binary files /dev/null and b/gallery/ned/neo-x-death.png differ diff --git a/gallery/ned/neoexduck.png b/gallery/ned/neoexduck.png new file mode 100644 index 0000000..fff0c7b Binary files /dev/null and b/gallery/ned/neoexduck.png differ diff --git a/gallery/ned/nero_exdeath.png b/gallery/ned/nero_exdeath.png new file mode 100644 index 0000000..eb93b33 Binary files /dev/null and b/gallery/ned/nero_exdeath.png differ diff --git a/gallery/ned/pad.png b/gallery/ned/pad.png new file mode 100644 index 0000000..3ac6573 Binary files /dev/null and b/gallery/ned/pad.png differ diff --git a/gallery/ned/random.png b/gallery/ned/random.png new file mode 100644 index 0000000..d4aae3b Binary files /dev/null and b/gallery/ned/random.png differ diff --git a/gallery/ned/rs3boss.png b/gallery/ned/rs3boss.png new file mode 100644 index 0000000..66f23cc Binary files /dev/null and b/gallery/ned/rs3boss.png differ diff --git a/gallery/ned/shaq.png b/gallery/ned/shaq.png new file mode 100644 index 0000000..90e705e Binary files /dev/null and b/gallery/ned/shaq.png differ diff --git a/gallery/ned/targetned.png b/gallery/ned/targetned.png new file mode 100644 index 0000000..da39b00 Binary files /dev/null and b/gallery/ned/targetned.png differ diff --git a/gallery/ned/thomas.png b/gallery/ned/thomas.png new file mode 100644 index 0000000..be7f9dc Binary files /dev/null and b/gallery/ned/thomas.png differ diff --git a/gallery/ned/tom.png b/gallery/ned/tom.png new file mode 100644 index 0000000..cd053bf Binary files /dev/null and b/gallery/ned/tom.png differ diff --git a/gallery/ned/train.png b/gallery/ned/train.png new file mode 100644 index 0000000..eb3e297 Binary files /dev/null and b/gallery/ned/train.png differ diff --git a/gallery/ned/tree.png b/gallery/ned/tree.png new file mode 100644 index 0000000..5391b88 Binary files /dev/null and b/gallery/ned/tree.png differ diff --git a/gallery/ned/vanilla.png b/gallery/ned/vanilla.png new file mode 100644 index 0000000..f80cb31 Binary files /dev/null and b/gallery/ned/vanilla.png differ diff --git a/gallery/ned/yiazmat.png b/gallery/ned/yiazmat.png new file mode 100644 index 0000000..3fc972e Binary files /dev/null and b/gallery/ned/yiazmat.png differ diff --git a/patches.qrc b/patches.qrc index e703b2f..54236fe 100644 --- a/patches.qrc +++ b/patches.qrc @@ -8,30 +8,6 @@ patches/waddle.ips patches/portraits.ips patches/sound_restoration.ips - patches/ned/barf.ips - patches/ned/cactuar.ips - patches/ned/chaos.ips - patches/ned/chomp.ips - patches/ned/classic.ips - patches/ned/fancy.ips - patches/ned/flammie1.ips - patches/ned/flammie2.ips - patches/ned/flanders.ips - patches/ned/giantbeak.ips - patches/ned/godzilla.ips - patches/ned/kefka.ips - patches/ned/lavos-spawn.ips - patches/ned/mechagodzilla.ips - patches/ned/metroid.ips - patches/ned/neo-x-death.ips - patches/ned/pad.ips - patches/ned/rs3boss.ips - patches/ned/shaq.ips - patches/ned/targetned.ips - patches/ned/thomas.ips - patches/ned/train.ips - patches/ned/tree.ips - patches/ned/yiazmat.ips patches/xp/2x.ips patches/xp/4x.ips patches/xp/8x.ips @@ -41,5 +17,66 @@ patches/gil/2x.ips patches/gil/4x.ips patches/gil/8x.ips + gallery/ned/random.png + gallery/ned/vanilla.png + patches/ned/barf.ips + gallery/ned/barf.png + patches/ned/cactuar.ips + gallery/ned/cactuar.png + patches/ned/cad.ips + gallery/ned/cad.png + patches/ned/chaos.ips + gallery/ned/chaos.png + patches/ned/chomp.ips + gallery/ned/chomp.png + patches/ned/classic.ips + patches/ned/emperor.ips + gallery/ned/emperor.png + patches/ned/fancy.ips + gallery/ned/fancy.png + patches/ned/fiend_ned.ips + gallery/ned/fiend_ned.png + patches/ned/flammie1.ips + gallery/ned/flammie1.png + patches/ned/flammie2.ips + gallery/ned/flammie2.png + patches/ned/flanders.ips + gallery/ned/flanders.png + patches/ned/fly.ips + gallery/ned/fly.png + patches/ned/godzilla.ips + gallery/ned/godzilla.png + patches/ned/kefka.ips + gallery/ned/kefka.png + patches/ned/lavos-spawn.ips + gallery/ned/lavos-spawn.png + patches/ned/mechagodzilla.ips + gallery/ned/mechagodzilla.png + patches/ned/metroid.ips + gallery/ned/metroid.png + patches/ned/neo-x-death.ips + gallery/ned/neo-x-death.png + patches/ned/neoexduck.ips + gallery/ned/neoexduck.png + patches/ned/NeoExDesert.ips + gallery/ned/NeoExDesert.png + patches/ned/nero_exdeath.ips + gallery/ned/nero_exdeath.png + patches/ned/pad.ips + gallery/ned/pad.png + patches/ned/rs3boss.ips + gallery/ned/rs3boss.png + patches/ned/shaq.ips + gallery/ned/shaq.png + patches/ned/targetned.ips + gallery/ned/targetned.png + patches/ned/thomas.ips + gallery/ned/thomas.png + patches/ned/train.ips + gallery/ned/train.png + patches/ned/tree.ips + gallery/ned/tree.png + patches/ned/yiazmat.ips + gallery/ned/yiazmat.png diff --git a/patches/ned/NeoExDesert.ips b/patches/ned/NeoExDesert.ips new file mode 100644 index 0000000..7ec0b6a Binary files /dev/null and b/patches/ned/NeoExDesert.ips differ diff --git a/patches/ned/cad.ips b/patches/ned/cad.ips new file mode 100644 index 0000000..78c636c Binary files /dev/null and b/patches/ned/cad.ips differ diff --git a/patches/ned/emperor.ips b/patches/ned/emperor.ips new file mode 100644 index 0000000..510cc26 Binary files /dev/null and b/patches/ned/emperor.ips differ diff --git a/patches/ned/fiend_ned.ips b/patches/ned/fiend_ned.ips new file mode 100644 index 0000000..b3f279b Binary files /dev/null and b/patches/ned/fiend_ned.ips differ diff --git a/patches/ned/giantbeak.ips b/patches/ned/fly.ips similarity index 100% rename from patches/ned/giantbeak.ips rename to patches/ned/fly.ips diff --git a/patches/ned/neoexduck.ips b/patches/ned/neoexduck.ips new file mode 100644 index 0000000..e513232 Binary files /dev/null and b/patches/ned/neoexduck.ips differ diff --git a/patches/ned/nero_exdeath.ips b/patches/ned/nero_exdeath.ips new file mode 100644 index 0000000..71d80e5 Binary files /dev/null and b/patches/ned/nero_exdeath.ips differ diff --git a/patches/ned/tom.ips b/patches/ned/tom.ips new file mode 100644 index 0000000..1cb3a5f Binary files /dev/null and b/patches/ned/tom.ips differ diff --git a/src/exdeath.cc b/src/exdeath.cc index ad58207..1826496 100644 --- a/src/exdeath.cc +++ b/src/exdeath.cc @@ -52,10 +52,12 @@ Exdeath::Exdeath(QSettings *cfg, QWidget *parent) : QWidget(parent) { initRandom(); initInnates(); initMulti(); + initPreview(); initConfig(); connect(btnROM, &QPushButton::clicked, this, &Exdeath::btnROM_clicked); connect(selMode, QOverload::of(&QComboBox::currentIndexChanged), this, &Exdeath::selMode_index); + connect(selNED, QOverload::of(&QComboBox::currentIndexChanged), this, &Exdeath::selNED_index); connect(btnApply, &QPushButton::clicked, this, &Exdeath::btnApply_clicked); connect(btnSave, &QPushButton::clicked, this, &Exdeath::btnSave_clicked); } @@ -118,33 +120,39 @@ void Exdeath::initRandom(void) { layRandom->addRow("Seed:", numSeed); selNED = new QComboBox(); - selNED->addItem("Random"); - selNED->addItem("Vanilla"); + selNED->addItem("Random", "random"); + selNED->addItem("Vanilla", "vanilla"); selNED->setCurrentIndex(1); - selNED->addItem("Barf", "barf.ips"); - selNED->addItem("Cactuar", "cactuar.ips"); - selNED->addItem("Chain Chomp", "chomp.ips"); - selNED->addItem("Classic", "classic.ips"); - selNED->addItem("Chaos", "chaos.ips"); - selNED->addItem("Doomtrain", "train.ips"); - selNED->addItem("Flammie (1)", "flammie1.ips"); - selNED->addItem("Flammie (2)", "flammie2.ips"); - selNED->addItem("Giant Beak", "giantbeak.ips"); - selNED->addItem("Godzilla", "godzilla.ips"); - selNED->addItem("Lavos Spawn", "lavos-spawn.ips"); - selNED->addItem("Kefka", "kefka.ips"); - selNED->addItem("MechaGodzilla", "mechagodzilla.ips"); - selNED->addItem("Metroid", "metroid.ips"); - selNED->addItem("Neo X Death", "neo-x-death.ips"); - selNED->addItem("Neon ExDeath", "fancy.ips"); - selNED->addItem("Puzzle & Dragon", "pad.ips"); - selNED->addItem("Romancing SaGa 3 Boss", "rs3boss.ips"); - selNED->addItem("Shaq", "shaq.ips"); - selNED->addItem("Stupid Sexy Flanders", "flanders.ips"); - selNED->addItem("TargetNED", "targetned.ips"); - selNED->addItem("Territorial Oak", "tree.ips"); - selNED->addItem("Thomas the Tank Engine", "thomas.ips"); - selNED->addItem("Yiazmat", "yiazmat.ips"); + selNED->addItem("Barf", "barf"); + selNED->addItem("Cactuar", "cactuar"); + selNED->addItem("Chain Chomp", "chomp"); + //selNED->addItem("Classic", "classic"); + selNED->addItem("Cloud of Darkness", "cad"); + selNED->addItem("Chaos", "chaos"); + selNED->addItem("Doomtrain", "train"); + selNED->addItem("Emperor", "emperor"); + selNED->addItem("Fiends", "fiend_ned"); + selNED->addItem("Flammie (1)", "flammie1"); + selNED->addItem("Flammie (2)", "flammie2"); + selNED->addItem("Fly", "fly"); + selNED->addItem("Godzilla", "godzilla"); + selNED->addItem("Lavos Spawn", "lavos-spawn"); + selNED->addItem("Kefka", "kefka"); + selNED->addItem("MechaGodzilla", "mechagodzilla"); + selNED->addItem("Metroid", "metroid"); + selNED->addItem("Neo X Death", "neo-x-death"); + selNED->addItem("Nero Exdeath", "nero_exdeath"); + selNED->addItem("Neo ExDesert", "NeoExDesert"); + selNED->addItem("Neo ExDuck", "neoexduck"); + selNED->addItem("Neon ExDeath", "fancy"); + selNED->addItem("Puzzle & Dragon", "pad"); + selNED->addItem("Romancing SaGa 3 Boss", "rs3boss"); + selNED->addItem("Shaq", "shaq"); + selNED->addItem("Stupid Sexy Flanders", "flanders"); + selNED->addItem("TargetNED", "targetned"); + selNED->addItem("Territorial Oak", "tree"); + selNED->addItem("Thomas the Tank Engine", "thomas"); + selNED->addItem("Yiazmat", "yiazmat"); layRandom->addRow("Neo ExDeath:", selNED); chkRandom = new QCheckBox("Yes"); @@ -233,6 +241,17 @@ void Exdeath::initMulti(void) { layMulti->addRow("Gil:", layGil); } +void Exdeath::initPreview(void) { + grpPreview = new QGroupBox("Neo Exdeath Preview"); + layPreview = new QVBoxLayout(); + txtPreview = new QLabel(); + imgPreview = new QPixmap(":/gallery/ned/vanilla.png"); + txtPreview->setPixmap(*imgPreview); + grpPreview->setLayout(layPreview); + layPreview->addWidget(txtPreview); + layRight->addWidget(grpPreview); +} + void Exdeath::initConfig(void) { QString version = QApplication::applicationVersion(); // don't load config from old versions. @@ -255,15 +274,20 @@ void Exdeath::initConfig(void) { chkLiteStep->setChecked(_cfg->value("innate/litestep", false).toBool()); chkDash->setChecked(_cfg->value("innate/dash", false).toBool()); chkLearning->setChecked(_cfg->value("innate/learning", false).toBool()); - +#if 0 chkFiesta->setChecked(_cfg->value("fiesta/enable", false).toBool()); selFiesta->setCurrentIndex(_cfg->value("fiesta/mode", 0).toInt()); - +#endif butsXP->button(_cfg->value("multi/xp", 1).toInt())->setChecked(true); butsAP->button(_cfg->value("multi/ap", 1).toInt())->setChecked(true); butsGil->button(_cfg->value("multi/gil", 1).toInt())->setChecked(true); } +void Exdeath::selNED_index(int idx) { + imgPreview = new QPixmap(":/gallery/ned/" + selNED->itemData(idx).toString() + ".png"); + txtPreview->setPixmap(*imgPreview); +} + void Exdeath::selMode_index(int idx) { bool random_ok = false; bool unlock_ok = false; @@ -303,10 +327,10 @@ void Exdeath::btnSave_clicked(bool trigger) { _cfg->setValue("innate/litestep", chkLiteStep->isChecked()); _cfg->setValue("innate/dash", chkDash->isChecked()); _cfg->setValue("innate/learning", chkLearning->isChecked()); - +#if 0 _cfg->setValue("fiesta/enable", chkFiesta->isChecked()); _cfg->setValue("fiesta/mode", selFiesta->currentIndex()); - +#endif _cfg->setValue("multi/xp", butsXP->checkedId()); _cfg->setValue("multi/ap", butsAP->checkedId()); _cfg->setValue("multi/gil", butsGil->checkedId()); @@ -378,7 +402,7 @@ void Exdeath::btnApply_clicked(bool trigger) { return; } if (idx > 1) { - patches << ":/patches/ned/" + selNED->itemData(idx).toString(); + patches << ":/patches/ned/" + selNED->itemData(idx).toString() + ".ips"; } char *XP = butsXP->checkedButton()->text().toLatin1().data(); if (strncmp(XP, "1", 2)) { @@ -423,7 +447,7 @@ void Exdeath::btnApply_clicked(bool trigger) { pfile->close(); applyPatch(target, patch); } - +#if 0 if (chkFiesta->isChecked()) { Fiesta *fiesta = new Fiesta(rand); QFile *pfile = new QFile(output + ".fiesta.ips"); @@ -434,7 +458,7 @@ void Exdeath::btnApply_clicked(bool trigger) { pfile->close(); applyPatch(target, patch); } - +#endif if (global_innates) { applyInnates(target); } diff --git a/src/exdeath.hh b/src/exdeath.hh index 1395e43..049d49b 100644 --- a/src/exdeath.hh +++ b/src/exdeath.hh @@ -15,6 +15,7 @@ #include #include #include +#include #include #include #include @@ -97,11 +98,18 @@ private: QRadioButton *radAP[4]; QRadioButton *radGil[4]; + // NED preview + QGroupBox *grpPreview; + QVBoxLayout *layPreview; + QLabel *txtPreview; + QPixmap *imgPreview; + // Initialization void initMain(void); void initInnates(void); void initRandom(void); void initMulti(void); + void initPreview(void); void initConfig(void); // Event handlers @@ -109,6 +117,7 @@ private: void btnApply_clicked(bool trigger); void btnSave_clicked(bool trigger); void selMode_index(int idx); + void selNED_index(int idx); // Where the magic happens void applyPatch(QFile *file, QIODevice *Data);