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;