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);