Add NED preview.
After Width: | Height: | Size: 6.8 KiB |
After Width: | Height: | Size: 3.0 KiB |
After Width: | Height: | Size: 9.8 KiB |
After Width: | Height: | Size: 2.6 KiB |
After Width: | Height: | Size: 10 KiB |
After Width: | Height: | Size: 1.5 KiB |
After Width: | Height: | Size: 2.2 KiB |
After Width: | Height: | Size: 5.4 KiB |
After Width: | Height: | Size: 5.0 KiB |
After Width: | Height: | Size: 4.5 KiB |
After Width: | Height: | Size: 6.2 KiB |
After Width: | Height: | Size: 5.6 KiB |
After Width: | Height: | Size: 7.0 KiB |
After Width: | Height: | Size: 4.7 KiB |
After Width: | Height: | Size: 8.8 KiB |
After Width: | Height: | Size: 4.5 KiB |
After Width: | Height: | Size: 5.2 KiB |
After Width: | Height: | Size: 4.5 KiB |
After Width: | Height: | Size: 24 KiB |
After Width: | Height: | Size: 11 KiB |
After Width: | Height: | Size: 2.2 KiB |
After Width: | Height: | Size: 2.4 KiB |
After Width: | Height: | Size: 7.8 KiB |
After Width: | Height: | Size: 69 KiB |
After Width: | Height: | Size: 10 KiB |
After Width: | Height: | Size: 5.1 KiB |
After Width: | Height: | Size: 6.7 KiB |
After Width: | Height: | Size: 4.9 KiB |
After Width: | Height: | Size: 3.3 KiB |
After Width: | Height: | Size: 4.4 KiB |
After Width: | Height: | Size: 2.0 KiB |
After Width: | Height: | Size: 24 KiB |
After Width: | Height: | Size: 9.5 KiB |
85
patches.qrc
|
@ -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>
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
|
|