Add NED preview.

main
Síle Ekaterin Liszka 2021-06-13 17:40:37 -05:00
parent 45cbfe3912
commit ed724712ef
44 changed files with 127 additions and 57 deletions

BIN
gallery/ned/NeoExDesert.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.8 KiB

BIN
gallery/ned/barf.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

BIN
gallery/ned/cactuar.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.8 KiB

BIN
gallery/ned/cad.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

BIN
gallery/ned/chaos.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

BIN
gallery/ned/chomp.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

BIN
gallery/ned/emperor.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

BIN
gallery/ned/fancy.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.4 KiB

BIN
gallery/ned/fiend_ned.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.0 KiB

BIN
gallery/ned/flammie1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

BIN
gallery/ned/flammie2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.2 KiB

BIN
gallery/ned/flanders.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.6 KiB

BIN
gallery/ned/fly.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.0 KiB

BIN
gallery/ned/godzilla.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 KiB

BIN
gallery/ned/kefka.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.8 KiB

BIN
gallery/ned/lavos-spawn.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.2 KiB

BIN
gallery/ned/metroid.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

BIN
gallery/ned/ned.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

BIN
gallery/ned/neo-x-death.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

BIN
gallery/ned/neoexduck.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

BIN
gallery/ned/pad.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.8 KiB

BIN
gallery/ned/random.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 69 KiB

BIN
gallery/ned/rs3boss.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

BIN
gallery/ned/shaq.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB

BIN
gallery/ned/targetned.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.7 KiB

BIN
gallery/ned/thomas.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.9 KiB

BIN
gallery/ned/tom.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

BIN
gallery/ned/train.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

BIN
gallery/ned/tree.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

BIN
gallery/ned/vanilla.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

BIN
gallery/ned/yiazmat.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.5 KiB

View File

@ -8,30 +8,6 @@
<file>patches/waddle.ips</file>
<file>patches/portraits.ips</file>
<file>patches/sound_restoration.ips</file>
<file>patches/ned/barf.ips</file>
<file>patches/ned/cactuar.ips</file>
<file>patches/ned/chaos.ips</file>
<file>patches/ned/chomp.ips</file>
<file>patches/ned/classic.ips</file>
<file>patches/ned/fancy.ips</file>
<file>patches/ned/flammie1.ips</file>
<file>patches/ned/flammie2.ips</file>
<file>patches/ned/flanders.ips</file>
<file>patches/ned/giantbeak.ips</file>
<file>patches/ned/godzilla.ips</file>
<file>patches/ned/kefka.ips</file>
<file>patches/ned/lavos-spawn.ips</file>
<file>patches/ned/mechagodzilla.ips</file>
<file>patches/ned/metroid.ips</file>
<file>patches/ned/neo-x-death.ips</file>
<file>patches/ned/pad.ips</file>
<file>patches/ned/rs3boss.ips</file>
<file>patches/ned/shaq.ips</file>
<file>patches/ned/targetned.ips</file>
<file>patches/ned/thomas.ips</file>
<file>patches/ned/train.ips</file>
<file>patches/ned/tree.ips</file>
<file>patches/ned/yiazmat.ips</file>
<file>patches/xp/2x.ips</file>
<file>patches/xp/4x.ips</file>
<file>patches/xp/8x.ips</file>
@ -41,5 +17,66 @@
<file>patches/gil/2x.ips</file>
<file>patches/gil/4x.ips</file>
<file>patches/gil/8x.ips</file>
<file>gallery/ned/random.png</file>
<file>gallery/ned/vanilla.png</file>
<file>patches/ned/barf.ips</file>
<file>gallery/ned/barf.png</file>
<file>patches/ned/cactuar.ips</file>
<file>gallery/ned/cactuar.png</file>
<file>patches/ned/cad.ips</file>
<file>gallery/ned/cad.png</file>
<file>patches/ned/chaos.ips</file>
<file>gallery/ned/chaos.png</file>
<file>patches/ned/chomp.ips</file>
<file>gallery/ned/chomp.png</file>
<file>patches/ned/classic.ips</file>
<file>patches/ned/emperor.ips</file>
<file>gallery/ned/emperor.png</file>
<file>patches/ned/fancy.ips</file>
<file>gallery/ned/fancy.png</file>
<file>patches/ned/fiend_ned.ips</file>
<file>gallery/ned/fiend_ned.png</file>
<file>patches/ned/flammie1.ips</file>
<file>gallery/ned/flammie1.png</file>
<file>patches/ned/flammie2.ips</file>
<file>gallery/ned/flammie2.png</file>
<file>patches/ned/flanders.ips</file>
<file>gallery/ned/flanders.png</file>
<file>patches/ned/fly.ips</file>
<file>gallery/ned/fly.png</file>
<file>patches/ned/godzilla.ips</file>
<file>gallery/ned/godzilla.png</file>
<file>patches/ned/kefka.ips</file>
<file>gallery/ned/kefka.png</file>
<file>patches/ned/lavos-spawn.ips</file>
<file>gallery/ned/lavos-spawn.png</file>
<file>patches/ned/mechagodzilla.ips</file>
<file>gallery/ned/mechagodzilla.png</file>
<file>patches/ned/metroid.ips</file>
<file>gallery/ned/metroid.png</file>
<file>patches/ned/neo-x-death.ips</file>
<file>gallery/ned/neo-x-death.png</file>
<file>patches/ned/neoexduck.ips</file>
<file>gallery/ned/neoexduck.png</file>
<file>patches/ned/NeoExDesert.ips</file>
<file>gallery/ned/NeoExDesert.png</file>
<file>patches/ned/nero_exdeath.ips</file>
<file>gallery/ned/nero_exdeath.png</file>
<file>patches/ned/pad.ips</file>
<file>gallery/ned/pad.png</file>
<file>patches/ned/rs3boss.ips</file>
<file>gallery/ned/rs3boss.png</file>
<file>patches/ned/shaq.ips</file>
<file>gallery/ned/shaq.png</file>
<file>patches/ned/targetned.ips</file>
<file>gallery/ned/targetned.png</file>
<file>patches/ned/thomas.ips</file>
<file>gallery/ned/thomas.png</file>
<file>patches/ned/train.ips</file>
<file>gallery/ned/train.png</file>
<file>patches/ned/tree.ips</file>
<file>gallery/ned/tree.png</file>
<file>patches/ned/yiazmat.ips</file>
<file>gallery/ned/yiazmat.png</file>
</qresource>
</RCC>

BIN
patches/ned/NeoExDesert.ips Normal file

Binary file not shown.

BIN
patches/ned/cad.ips Normal file

Binary file not shown.

BIN
patches/ned/emperor.ips Normal file

Binary file not shown.

BIN
patches/ned/fiend_ned.ips Normal file

Binary file not shown.

BIN
patches/ned/neoexduck.ips Normal file

Binary file not shown.

Binary file not shown.

BIN
patches/ned/tom.ips Normal file

Binary file not shown.

View File

@ -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<int>::of(&QComboBox::currentIndexChanged), this, &Exdeath::selMode_index);
connect(selNED, QOverload<int>::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);
}

View File

@ -15,6 +15,7 @@
#include <QGroupBox>
#include <QIODevice>
#include <QLabel>
#include <QPixmap>
#include <QPushButton>
#include <QRadioButton>
#include <QSettings>
@ -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);