From 299a4d25ba8a537d23f6ed5897681419290b6643 Mon Sep 17 00:00:00 2001
From: Lojemiru <33508026+Lojemiru@users.noreply.github.com>
Date: Tue, 3 Aug 2021 23:11:48 -0500
Subject: [PATCH] Fixed crashing 1.5.3indev display menu
---
Configs/Default.config.gmx | 6 ++---
objects/oOptionsDisplay.object.gmx | 38 ++++++++++++++++++++----------
2 files changed, 28 insertions(+), 16 deletions(-)
diff --git a/Configs/Default.config.gmx b/Configs/Default.config.gmx
index 84e1d5f..3ba5b23 100644
--- a/Configs/Default.config.gmx
+++ b/Configs/Default.config.gmx
@@ -488,7 +488,7 @@
False
True
False
- 152
+ 153
0
@@ -496,7 +496,7 @@
1
5
- 2
+ 3
0
@@ -581,7 +581,7 @@
1
Configs\Default\windows\RunnerInstaller.nsi
- 2
+ 3
Configs\Default\windows\Runner_finish.bmp
Configs\Default\windows\Runner_header.bmp
0
diff --git a/objects/oOptionsDisplay.object.gmx b/objects/oOptionsDisplay.object.gmx
index 097d149..59fc43d 100644
--- a/objects/oOptionsDisplay.object.gmx
+++ b/objects/oOptionsDisplay.object.gmx
@@ -33,6 +33,10 @@ active = 0;
targetY = y;
timer = 0;
SPACER = 16;
+buttonsEnabled = true;
+if (os_type != os_android && !gamepad_is_connected(global.gamepadIndex)) || (os_type == os_android && (!global.joydetected || global.compatibilitymode)) {
+ buttonsEnabled = false;
+}
view_object[0] = id;
@@ -62,7 +66,9 @@ opShowMap = i++;
opCounterStyle = i++;
// NOTIFICATIONS
opShowHints = i++;
-opButtonType = i++;
+if (buttonsEnabled) {
+ opButtonType = i++;
+}
opShowScans = i++;
opLanguage = i++;
@@ -302,7 +308,7 @@ display_reset(0, global.opvsync);
if (global.curropt == opShowHints) global.ophudshowhints = !global.ophudshowhints;
// Button Prompt Style
- if (global.curropt == opButtonType) {
+ if (buttonsEnabled && global.curropt == opButtonType) {
var inputMax = 5 - ((os_type == os_android) * 2);
oControl.mod_buttonsconfig = wrap(oControl.mod_buttonsconfig + input, 0, inputMax);
@@ -393,7 +399,9 @@ op[opShowMap].label = get_text("OptionsDisplay", "HUDMap");
op[opCounterStyle].label = get_text("OptionsDisplay", "MonsterCounter");
op[52].text = get_text("OptionsDisplay", "Title_Notifications");
op[opShowHints].label = get_text("OptionsDisplay", "Hints");
-op[opButtonType].label = get_text("ExtrasMenu", "Controller");
+if (buttonsEnabled) {
+ op[opButtonType].label = get_text("ExtrasMenu", "Controller");
+}
op[opShowScans].label = get_text("OptionsDisplay", "ScanNotifications");
op[opLanguage].label = get_text("OptionsDisplay", "Language");
@@ -442,7 +450,9 @@ tip[opShowHUD] = get_text("OptionsDisplay", "HUDDisplay_Tip");
tip[opShowMap] = get_text("OptionsDisplay", "HUDMap_Tip");
tip[opCounterStyle] = get_text("OptionsDisplay", "MonsterCounter_Tip");
tip[opShowHints] = get_text("OptionsDisplay", "Hints_Tip");
-tip[opButtonType] = get_text("ExtrasMenu", "Controller_Tip");
+if (buttonsEnabled) {
+ tip[opButtonType] = get_text("ExtrasMenu", "Controller_Tip");
+}
tip[opShowScans] = get_text("OptionsDisplay", "ScanNotifications_Tip");
tip[opLanguage] = get_text("OptionsDisplay", "Language_Tip");
tip[menuSize] = get_text("GlobalOptions", "ExitMain_Tip");
@@ -546,14 +556,16 @@ if (global.ophudshowhints) {
} else op[opShowHints].optext = get_text("GlobalOptions", "Disabled");
// Button Display Type
-switch (oControl.mod_buttonsconfig) {
- case 0: op[opButtonType].optext = get_text("ExtrasMenu", "XBox"); break;
- case 1: op[opButtonType].optext = get_text("ExtrasMenu", "Playstation"); break;
- case 2: op[opButtonType].optext = get_text("ExtrasMenu", "NintendoPro"); break;
- case 3: op[opButtonType].optext = get_text("ExtrasMenu", "SNESColored"); break;
- case 4: op[opButtonType].optext = get_text("ExtrasMenu", "MOGA"); break;
- case 5: op[opButtonType].optext = get_text("ExtrasMenu", "OUYA"); break;
- default: op[opButtonType].optext = "[!]"; break;
+if (buttonsEnabled) {
+ switch (oControl.mod_buttonsconfig) {
+ case 0: op[opButtonType].optext = get_text("ExtrasMenu", "XBox"); break;
+ case 1: op[opButtonType].optext = get_text("ExtrasMenu", "Playstation"); break;
+ case 2: op[opButtonType].optext = get_text("ExtrasMenu", "NintendoPro"); break;
+ case 3: op[opButtonType].optext = get_text("ExtrasMenu", "SNESColored"); break;
+ case 4: op[opButtonType].optext = get_text("ExtrasMenu", "MOGA"); break;
+ case 5: op[opButtonType].optext = get_text("ExtrasMenu", "OUYA"); break;
+ default: op[opButtonType].optext = "[!]"; break;
+ }
}
// Show Scans
@@ -696,7 +708,7 @@ op[opShowHints].optionid = opShowHints;
i++;
// Button Display Type
-if ((os_type != os_android && !gamepad_is_connected(global.gamepadIndex)) || (os_type == os_android && (!global.joydetected || global.compatibilitymode)) || (os_type == os_android && global.compatibilitymode)) {
+if (buttonsEnabled) {
op[opButtonType] = instance_create(x, y + SPACER * i, oOptionLR);
op[opButtonType].label = get_text("ExtrasMenu", "Controller");
op[opButtonType].optionid = opButtonType;