From 47fbf3ece7b9b7e3144e2c806d2b3c145f5370c5 Mon Sep 17 00:00:00 2001 From: Gabriel Ravier Date: Wed, 11 Sep 2019 09:27:54 +0200 Subject: [PATCH 1/4] Refactored DoConfig a bit Signed-off-by: Gabriel Ravier --- DoConfig/DoConfig.cpp | 112 ++++++++++++++++++++++-------------------- 1 file changed, 59 insertions(+), 53 deletions(-) diff --git a/DoConfig/DoConfig.cpp b/DoConfig/DoConfig.cpp index 06976644..1b2ae7a5 100644 --- a/DoConfig/DoConfig.cpp +++ b/DoConfig/DoConfig.cpp @@ -34,14 +34,14 @@ struct data{ }; class RadioRow{ - public: - RadioRow(char offset); - int value(); - void value(int input); - private: - Fl_Group *group; - Fl_Radio_Round_Button *buttons[6]; - Fl_Group *label; +public: + RadioRow(char offset); + int value(); + void value(int input); +private: + Fl_Group *group; + Fl_Radio_Round_Button *buttons[6]; + Fl_Group *label; }; static char config_path[FILENAME_MAX]; @@ -63,8 +63,8 @@ static void LongToChars(unsigned long long_var, unsigned char *chars) RadioRow::RadioRow(char offset){ char *temp = new char[2]; - *(temp) = (char)(49+offset); //Muhahahahahahah! - *(temp+1) = '\0'; + temp[0] = '1' + offset; + temp[1] = '\0'; this->group = new Fl_Group(140+offset*30, 150, 30, 180); this->group->label(temp); this->group->align(FL_ALIGN_TOP_LEFT); @@ -142,7 +142,7 @@ void read_Config(){ } for(char i=0;i<8;i++){ const unsigned long button = CharsToLong(config.buttons[i]); - if(button<9 && button>0){ + if(button<6 && button>0){ const unsigned int button_lookup[6] = {0, 1, 2, 4, 5, 3}; joyRows[i]->value(button_lookup[button-1]); } @@ -187,31 +187,31 @@ int main(int argc, char* argv[]){ Fl_Window *mainw = new Fl_Window(400, 380, "DoConfig - Doukutsu Monogatari Settings"); Fl_Group *movegroup = new Fl_Group(10, 10, 185, 50); - movegroup->box(FL_THIN_DOWN_BOX); - movear = new Fl_Radio_Round_Button(10, 10, 185, 20, "Arrows for Movement"); - movear->setonly(); - movegt = new Fl_Radio_Round_Button(10, 40, 185, 20, "<>? for Movement"); + movegroup->box(FL_THIN_DOWN_BOX); + movear = new Fl_Radio_Round_Button(10, 10, 185, 20, "Arrows for Movement"); + movear->setonly(); + movegt = new Fl_Radio_Round_Button(10, 40, 185, 20, "<>? for Movement"); movegroup->end(); Fl_Group *buttongroup = new Fl_Group(10, 70, 185, 50); - buttongroup->box(FL_THIN_DOWN_BOX); - buttonxz = new Fl_Radio_Round_Button(10, 70, 185, 20, "Z=Jump; X=Attack"); - buttonxz->setonly(); - buttonzx = new Fl_Radio_Round_Button(10, 100, 185, 20, "X=Jump; Z=Attack"); + buttongroup->box(FL_THIN_DOWN_BOX); + buttonxz = new Fl_Radio_Round_Button(10, 70, 185, 20, "Z=Jump; X=Attack"); + buttonxz->setonly(); + buttonzx = new Fl_Radio_Round_Button(10, 100, 185, 20, "X=Jump; Z=Attack"); buttongroup->end(); Fl_Group *okaygroup = new Fl_Group(205, 10, 185, 50); - okaygroup->box(FL_THIN_DOWN_BOX); - okayjump = new Fl_Radio_Round_Button(205, 10, 185, 20, "Jump=Okay"); - okayjump->setonly(); - okayattack = new Fl_Radio_Round_Button(205, 40, 185, 20, "Attack=Okay"); + okaygroup->box(FL_THIN_DOWN_BOX); + okayjump = new Fl_Radio_Round_Button(205, 10, 185, 20, "Jump=Okay"); + okayjump->setonly(); + okayattack = new Fl_Radio_Round_Button(205, 40, 185, 20, "Attack=Okay"); okaygroup->end(); displaychoice = new Fl_Choice(205, 70, 185, 20); Fl_Menu_Item screens[] = { {"Fullscreen 16-bit"}, {"Windowed 320x240"}, - {"Windowed 640x480"}, + {"Windowed 640x480"}, {"Fullscreen 24-bit"}, {"Fullscreen 32-bit"}, {0}}; @@ -220,35 +220,41 @@ int main(int argc, char* argv[]){ joychoice->callback(&activatejoy); joystuffcontainer = new Fl_Group(10, 130, 380, 200); - joystuffcontainer->box(FL_THIN_DOWN_BOX); - for(char i=0;i<8;i++){ - joyRows[i] = new RadioRow(i); - } - //There's no Label class alright? I'll switch it as soon as one is introduced. - Fl_Group *labeljump = new Fl_Group(10, 150, 10, 20); - labeljump->label("Jump:"); - labeljump->align(FL_ALIGN_RIGHT); - labeljump->end(); - Fl_Group *labelattack = new Fl_Group(10, 180, 10, 20); - labelattack->label("Attack:"); - labelattack->align(FL_ALIGN_RIGHT); - labelattack->end(); - Fl_Group *labelweaponup = new Fl_Group(10, 210, 10, 20); - labelweaponup->label("Weapon+:"); - labelweaponup->align(FL_ALIGN_RIGHT); - labelweaponup->end(); - Fl_Group *labelweapondown = new Fl_Group(10, 240, 10, 20); - labelweapondown->label("Weapon-:"); - labelweapondown->align(FL_ALIGN_RIGHT); - labelweapondown->end(); - Fl_Group *labelitem = new Fl_Group(10, 270, 10, 20); - labelitem->label("Items:"); - labelitem->align(FL_ALIGN_RIGHT); - labelitem->end(); - Fl_Group *labelmap = new Fl_Group(10, 300, 10, 20); - labelmap->label("Map:"); - labelmap->align(FL_ALIGN_RIGHT); - labelmap->end(); + joystuffcontainer->box(FL_THIN_DOWN_BOX); + for(char i=0;i<8;i++){ + joyRows[i] = new RadioRow(i); + } + + //There's no Label class alright? I'll switch it as soon as one is introduced. + Fl_Group *labeljump = new Fl_Group(10, 150, 10, 20); + labeljump->label("Jump:"); + labeljump->align(FL_ALIGN_RIGHT); + labeljump->end(); + + Fl_Group *labelattack = new Fl_Group(10, 180, 10, 20); + labelattack->label("Attack:"); + labelattack->align(FL_ALIGN_RIGHT); + labelattack->end(); + + Fl_Group *labelweaponup = new Fl_Group(10, 210, 10, 20); + labelweaponup->label("Weapon+:"); + labelweaponup->align(FL_ALIGN_RIGHT); + labelweaponup->end(); + + Fl_Group *labelweapondown = new Fl_Group(10, 240, 10, 20); + labelweapondown->label("Weapon-:"); + labelweapondown->align(FL_ALIGN_RIGHT); + labelweapondown->end(); + + Fl_Group *labelitem = new Fl_Group(10, 270, 10, 20); + labelitem->label("Items:"); + labelitem->align(FL_ALIGN_RIGHT); + labelitem->end(); + + Fl_Group *labelmap = new Fl_Group(10, 300, 10, 20); + labelmap->label("Map:"); + labelmap->align(FL_ALIGN_RIGHT); + labelmap->end(); joystuffcontainer->end(); From 2b2db48588f97640928d726d63cc02cbfd5377d3 Mon Sep 17 00:00:00 2001 From: Gabriel Ravier Date: Wed, 11 Sep 2019 09:35:50 +0200 Subject: [PATCH 2/4] Some slight formatting Signed-off-by: Gabriel Ravier --- DoConfig/DoConfig.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/DoConfig/DoConfig.cpp b/DoConfig/DoConfig.cpp index 1b2ae7a5..2907dec2 100644 --- a/DoConfig/DoConfig.cpp +++ b/DoConfig/DoConfig.cpp @@ -107,7 +107,8 @@ void quit(Fl_Widget*, void*){ std::exit(0); } -void activatejoy(Fl_Widget*, void*){ +void activatejoy(Fl_Widget*, void*) +{ if(joystuffcontainer->active()){ joystuffcontainer->deactivate(); } else { @@ -166,6 +167,7 @@ void write_Config(Fl_Widget*, void*){ fd.close(); exit(0); } + int main(int argc, char* argv[]){ strcpy(config_path, argv[0]); @@ -216,6 +218,7 @@ int main(int argc, char* argv[]){ {"Fullscreen 32-bit"}, {0}}; displaychoice->menu(screens); + joychoice = new Fl_Check_Button(205, 100, 185, 20, "Use Joypad"); joychoice->callback(&activatejoy); @@ -258,8 +261,10 @@ int main(int argc, char* argv[]){ joystuffcontainer->end(); + Fl_Button *okaybutton = new Fl_Button(10, 340, 185, 30, "Okay"); okaybutton->callback(&write_Config); + Fl_Button *cancelbutton = new Fl_Button(205, 340, 185, 30, "Cancel"); cancelbutton->callback(&quit); From 69cb6b75c7425cfaba1c0b390845f75fd8822dec Mon Sep 17 00:00:00 2001 From: Gabriel Ravier Date: Wed, 11 Sep 2019 11:49:58 +0200 Subject: [PATCH 3/4] Reformatted DoConfig Signed-off-by: Gabriel Ravier --- DoConfig/DoConfig.cpp | 125 ++++++++++++++++++++---------------------- 1 file changed, 59 insertions(+), 66 deletions(-) diff --git a/DoConfig/DoConfig.cpp b/DoConfig/DoConfig.cpp index 2907dec2..770dd26e 100644 --- a/DoConfig/DoConfig.cpp +++ b/DoConfig/DoConfig.cpp @@ -4,25 +4,26 @@ * To Public License, Version 2, as published by Sam Hocevar. See * http://sam.zoy.org/wtfpl/COPYING for more details. */ -#include -#include -#include -#include #include "FL/Fl.H" -#include "FL/Fl_Window.H" -#include "FL/Fl_Radio_Round_Button.H" -#include "FL/Fl_Choice.H" #include "FL/Fl_Check_Button.H" +#include "FL/Fl_Choice.H" +#include "FL/Fl_Radio_Round_Button.H" +#include "FL/Fl_Window.H" +#include #include #include #include #include -#include +#include +#include +#include +#include #define MAGIC "DOUKUTSU20041206" #define FONT "Courier New" -struct data{ +struct data +{ char magic[32]; char font[64]; unsigned char move[4]; @@ -33,12 +34,14 @@ struct data{ unsigned char buttons[8][4]; }; -class RadioRow{ -public: +class RadioRow +{ + public: RadioRow(char offset); int value(); void value(int input); -private: + + private: Fl_Group *group; Fl_Radio_Round_Button *buttons[6]; Fl_Group *label; @@ -61,30 +64,30 @@ static void LongToChars(unsigned long long_var, unsigned char *chars) chars[3] = (long_var >> 24) & 0xFF; } -RadioRow::RadioRow(char offset){ +RadioRow::RadioRow(char offset) +{ char *temp = new char[2]; temp[0] = '1' + offset; temp[1] = '\0'; - this->group = new Fl_Group(140+offset*30, 150, 30, 180); + this->group = new Fl_Group(140 + offset * 30, 150, 30, 180); this->group->label(temp); this->group->align(FL_ALIGN_TOP_LEFT); - for(char i=0;i<6;i++){ - this->buttons[i] = new Fl_Radio_Round_Button(140+offset*30, 150+30*i, 30, 30); - } + for (char i = 0; i < 6; i++) + this->buttons[i] = new Fl_Radio_Round_Button(140 + offset * 30, 150 + 30 * i, 30, 30); this->group->end(); } -int RadioRow::value(){ +int RadioRow::value() +{ char i; - for(i=0;i<6;i++){ - if(this->buttons[i]->value()){ + for (i = 0; i < 6; i++) + if (this->buttons[i]->value()) return (int)i; - } - } return 0; } -void RadioRow::value(int input){ +void RadioRow::value(int input) +{ this->buttons[input]->setonly(); } @@ -103,75 +106,71 @@ Fl_Check_Button *joychoice; Fl_Group *joystuffcontainer; RadioRow *joyRows[8]; -void quit(Fl_Widget*, void*){ +void quit(Fl_Widget *, void *) +{ std::exit(0); } -void activatejoy(Fl_Widget*, void*) +void activatejoy(Fl_Widget *, void *) { - if(joystuffcontainer->active()){ + if (joystuffcontainer->active()) joystuffcontainer->deactivate(); - } else { + else joystuffcontainer->activate(); - } } -void read_Config(){ +void read_Config() +{ std::fstream fd; fd.open(config_path, std::ios::in | std::ios::binary); - fd.read((char*)&config, sizeof(config)); + fd.read((char *)&config, sizeof(config)); fd.close(); - if (CharsToLong(config.move) == 0){ - movear->setonly(); - } else { - movegt->setonly(); - } - if (CharsToLong(config.attack) == 0){ - buttonxz->setonly(); - } else { - buttonzx->setonly(); - } - if (CharsToLong(config.okay) == 0){ - okayjump->setonly(); - }else{ - okayattack->setonly(); - } + CharsToLong(config.move) ? movegt->setonly() : movear->setonly(); + CharsToLong(config.attack) ? buttonzx->setonly() : buttonxz->setonly(); + CharsToLong(config.okay) ? okayattack->setonly() : okayjump->setonly(); + displaychoice->value(CharsToLong(config.display)); joychoice->value(CharsToLong(config.useJoy)); - if( !CharsToLong(config.useJoy) ){ + + if (!CharsToLong(config.useJoy)) joystuffcontainer->deactivate(); - } - for(char i=0;i<8;i++){ + + for (char i = 0; i < 8; i++) + { const unsigned long button = CharsToLong(config.buttons[i]); - if(button<6 && button>0){ + if (button < 6 && button > 0) + { const unsigned int button_lookup[6] = {0, 1, 2, 4, 5, 3}; - joyRows[i]->value(button_lookup[button-1]); + joyRows[i]->value(button_lookup[button - 1]); } } } -void write_Config(Fl_Widget*, void*){ +void write_Config(Fl_Widget *, void *) +{ LongToChars(movegt->value(), config.move); LongToChars(buttonzx->value(), config.attack); LongToChars(okayattack->value(), config.okay); LongToChars(displaychoice->value(), config.display); LongToChars(joychoice->value(), config.useJoy); - for(char i =0;i<8;i++){ + for (char i = 0; i < 8; i++) + { const unsigned int button_lookup[6] = {0, 1, 2, 5, 3, 4}; - LongToChars(button_lookup[joyRows[i]->value()]+1, config.buttons[i]); + LongToChars(button_lookup[joyRows[i]->value()] + 1, config.buttons[i]); } std::fstream fd; fd.open(config_path, std::ios::out | std::ios::binary); - fd.write((char*)&config, sizeof(config)); + fd.write((char *)&config, sizeof(config)); fd.close(); exit(0); } -int main(int argc, char* argv[]){ +int main(int argc, char *argv[]) +{ strcpy(config_path, argv[0]); - for (size_t i = strlen(config_path); ; --i) + for (size_t i = strlen(config_path);; --i) { if (i == 0) { @@ -210,13 +209,7 @@ int main(int argc, char* argv[]){ okaygroup->end(); displaychoice = new Fl_Choice(205, 70, 185, 20); - Fl_Menu_Item screens[] = { - {"Fullscreen 16-bit"}, - {"Windowed 320x240"}, - {"Windowed 640x480"}, - {"Fullscreen 24-bit"}, - {"Fullscreen 32-bit"}, - {0}}; + Fl_Menu_Item screens[] = {{"Fullscreen 16-bit"}, {"Windowed 320x240"}, {"Windowed 640x480"}, {"Fullscreen 24-bit"}, {"Fullscreen 32-bit"}, {0}}; displaychoice->menu(screens); joychoice = new Fl_Check_Button(205, 100, 185, 20, "Use Joypad"); @@ -224,11 +217,12 @@ int main(int argc, char* argv[]){ joystuffcontainer = new Fl_Group(10, 130, 380, 200); joystuffcontainer->box(FL_THIN_DOWN_BOX); - for(char i=0;i<8;i++){ + for (char i = 0; i < 8; i++) + { joyRows[i] = new RadioRow(i); } - //There's no Label class alright? I'll switch it as soon as one is introduced. + // There's no Label class alright? I'll switch it as soon as one is introduced. Fl_Group *labeljump = new Fl_Group(10, 150, 10, 20); labeljump->label("Jump:"); labeljump->align(FL_ALIGN_RIGHT); @@ -261,7 +255,6 @@ int main(int argc, char* argv[]){ joystuffcontainer->end(); - Fl_Button *okaybutton = new Fl_Button(10, 340, 185, 30, "Okay"); okaybutton->callback(&write_Config); From b10d8953347327613c8cd6db37e9807f779f986b Mon Sep 17 00:00:00 2001 From: Gabriel Ravier Date: Wed, 11 Sep 2019 12:02:57 +0200 Subject: [PATCH 4/4] Changed public-private indentation Signed-off-by: Gabriel Ravier --- DoConfig/DoConfig.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/DoConfig/DoConfig.cpp b/DoConfig/DoConfig.cpp index 770dd26e..94587591 100644 --- a/DoConfig/DoConfig.cpp +++ b/DoConfig/DoConfig.cpp @@ -36,12 +36,12 @@ struct data class RadioRow { - public: +public: RadioRow(char offset); int value(); void value(int input); - private: +private: Fl_Group *group; Fl_Radio_Round_Button *buttons[6]; Fl_Group *label;