|
|
|
|
@ -25,7 +25,81 @@
|
|
|
|
|
<arguments>
|
|
|
|
|
<argument>
|
|
|
|
|
<kind>1</kind>
|
|
|
|
|
<string>global.curropt = 0;
|
|
|
|
|
<string>y -= 8; // Moved from user 0 to avoid reset issues.
|
|
|
|
|
// Change to object creation position instead!
|
|
|
|
|
|
|
|
|
|
global.curropt = 0;
|
|
|
|
|
active = 0;
|
|
|
|
|
targetY = y;
|
|
|
|
|
timer = 0;
|
|
|
|
|
SPACER = 16;
|
|
|
|
|
|
|
|
|
|
view_object[0] = id;
|
|
|
|
|
|
|
|
|
|
// Active in 5
|
|
|
|
|
alarm[0] = 5;
|
|
|
|
|
|
|
|
|
|
var i = 0;
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
This list dictates the order of selection in the Display Menu.
|
|
|
|
|
Also, the lists in User Defined 0 and 3 need to be in order.
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
// DISPLAY OPTIONS
|
|
|
|
|
|
|
|
|
|
// Fullscreen and scale should NOT exist on Android
|
|
|
|
|
if (os_type != os_android) {
|
|
|
|
|
opFullscreen = i++;
|
|
|
|
|
opScale = i++;
|
|
|
|
|
}
|
|
|
|
|
opVSync = i++;
|
|
|
|
|
opSensitivity = i++;
|
|
|
|
|
opWidescreen = i++;
|
|
|
|
|
// HUD
|
|
|
|
|
opShowHUD = i++;
|
|
|
|
|
opShowMap = i++;
|
|
|
|
|
opCounterStyle = i++;
|
|
|
|
|
// NOTIFICATIONS
|
|
|
|
|
opShowHints = i++;
|
|
|
|
|
opButtonType = i++;
|
|
|
|
|
opShowScans = i++;
|
|
|
|
|
opLanguage = i++;
|
|
|
|
|
|
|
|
|
|
menuSize = i; // 1 larger than last item
|
|
|
|
|
|
|
|
|
|
vTargetY = 18 * menuSize + 30;
|
|
|
|
|
|
|
|
|
|
i = 0;
|
|
|
|
|
|
|
|
|
|
// Enable menu
|
|
|
|
|
repeat (menuSize + 1) {
|
|
|
|
|
canEdit[i] = 1;
|
|
|
|
|
i++;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Get lang info
|
|
|
|
|
langCount = array_length_1d(global.language);
|
|
|
|
|
for (i = 0; i < langCount; i += 1) {
|
|
|
|
|
ini_open(global.language[i]);
|
|
|
|
|
lang[i] = ini_read_string("Header", "Language", "[!]");
|
|
|
|
|
langAuthor[i] = ini_read_string("Header", "Author", "[!]");
|
|
|
|
|
ini_close();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Create menu items
|
|
|
|
|
event_user(0);
|
|
|
|
|
|
|
|
|
|
// Load tip text
|
|
|
|
|
event_user(3);
|
|
|
|
|
|
|
|
|
|
// Load current tip text
|
|
|
|
|
global.tiptext = tip[global.curropt];
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
|
|
|
|
|
global.curropt = 0;
|
|
|
|
|
lastitem = 12; // og 10
|
|
|
|
|
active = 0;
|
|
|
|
|
alarm[0] = 5;
|
|
|
|
|
@ -41,6 +115,7 @@ langno = array_length_1d(global.language);
|
|
|
|
|
for (i = 0; i < langno; i += 1) {
|
|
|
|
|
ini_open(global.language[i]);
|
|
|
|
|
lang[i] = ini_read_string("Header", "Language", "[!]");
|
|
|
|
|
langAuthors[i] = ini_read_string("Header", "Author", "[!]");
|
|
|
|
|
ini_close();
|
|
|
|
|
}
|
|
|
|
|
event_user(0);
|
|
|
|
|
@ -68,7 +143,8 @@ global.tiptext = tip[global.curropt];
|
|
|
|
|
<arguments>
|
|
|
|
|
<argument>
|
|
|
|
|
<kind>1</kind>
|
|
|
|
|
<string>event_user(1);
|
|
|
|
|
<string>/// Destroy menu options
|
|
|
|
|
event_user(1);
|
|
|
|
|
</string>
|
|
|
|
|
</argument>
|
|
|
|
|
</arguments>
|
|
|
|
|
@ -91,7 +167,8 @@ global.tiptext = tip[global.curropt];
|
|
|
|
|
<arguments>
|
|
|
|
|
<argument>
|
|
|
|
|
<kind>1</kind>
|
|
|
|
|
<string>set_window_scale(global.opscale);
|
|
|
|
|
<string>/// Update window scale
|
|
|
|
|
set_window_scale(global.opscale);
|
|
|
|
|
display_reset(0, global.opvsync);
|
|
|
|
|
</string>
|
|
|
|
|
</argument>
|
|
|
|
|
@ -139,6 +216,166 @@ display_reset(0, global.opvsync);
|
|
|
|
|
<argument>
|
|
|
|
|
<kind>1</kind>
|
|
|
|
|
<string>if (active) {
|
|
|
|
|
// Menu DOWN
|
|
|
|
|
if (oControl.kDown > 0 && (oControl.kDownPushedSteps == 0 || oControl.kDownPushedSteps > 30 && timer == 0)) {
|
|
|
|
|
global.curropt += 1;
|
|
|
|
|
// Wrap
|
|
|
|
|
if (global.curropt > menuSize) global.curropt = 0;
|
|
|
|
|
// Skip inactive
|
|
|
|
|
while (canEdit[global.curropt] == 0) {
|
|
|
|
|
global.curropt += 1;
|
|
|
|
|
// Wrap again (safety)
|
|
|
|
|
if (global.curropt > menuSize) global.curropt = 0;
|
|
|
|
|
}
|
|
|
|
|
// New target
|
|
|
|
|
targetY = op[global.curropt].y + 16;
|
|
|
|
|
if (targetY > vTargetY) targetY = vTargetY;
|
|
|
|
|
sfx_play(sndMenuMove);
|
|
|
|
|
global.tiptext = tip[global.curropt];
|
|
|
|
|
} // Menu UP
|
|
|
|
|
else if (oControl.kUp > 0 && (oControl.kUpPushedSteps == 0 || oControl.kUpPushedSteps > 30 && timer == 0)) {
|
|
|
|
|
global.curropt -= 1;
|
|
|
|
|
// Wrap
|
|
|
|
|
if (global.curropt < 0) global.curropt = menuSize;
|
|
|
|
|
// Skip inactive
|
|
|
|
|
while (canEdit[global.curropt] == 0)
|
|
|
|
|
{
|
|
|
|
|
global.curropt -= 1;
|
|
|
|
|
// Wrap again (safety)
|
|
|
|
|
if (global.curropt < 0) global.curropt = menuSize;
|
|
|
|
|
}
|
|
|
|
|
// New target
|
|
|
|
|
targetY = op[global.curropt].y + 16;
|
|
|
|
|
if (targetY > vTargetY) targetY = vTargetY;
|
|
|
|
|
sfx_play(sndMenuMove);
|
|
|
|
|
global.tiptext = tip[global.curropt];
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
var input = oControl.kRight - oControl.kLeft;
|
|
|
|
|
var inputSteps = oControl.kRightPushedSteps - oControl.kLeftPushedSteps;
|
|
|
|
|
|
|
|
|
|
// Menu LEFT and RIGHT
|
|
|
|
|
if (input != 0 && inputSteps == 0 && global.curropt < menuSize && oControl.kDown == 0 && oControl.kUp == 0) {
|
|
|
|
|
|
|
|
|
|
if (os_type != os_android) {
|
|
|
|
|
// Fullscreen
|
|
|
|
|
if (global.curropt == opFullscreen) {
|
|
|
|
|
global.opfullscreen = !global.opfullscreen;
|
|
|
|
|
set_fullscreen(global.opfullscreen);
|
|
|
|
|
if (!global.opfullscreen) {
|
|
|
|
|
global.opscale = 1;
|
|
|
|
|
// Update window scale
|
|
|
|
|
alarm[1] = 1;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Scale
|
|
|
|
|
if (global.curropt == opScale) {
|
|
|
|
|
if (global.opfullscreen) {
|
|
|
|
|
global.opscale = wrap(global.opscale + input, 0, 4);
|
|
|
|
|
}
|
|
|
|
|
if (!global.opfullscreen) {
|
|
|
|
|
global.opscale = wrap(global.opscale + input, 1, 4)
|
|
|
|
|
set_window_scale(global.opscale);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// VSync
|
|
|
|
|
if (global.curropt == opVSync) {
|
|
|
|
|
global.opvsync = !global.opvsync;
|
|
|
|
|
display_reset(0, global.opvsync);
|
|
|
|
|
if (!global.opfullscreen) set_window_scale(global.opscale);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Sensitivity Mode
|
|
|
|
|
if (global.curropt == opSensitivity) {
|
|
|
|
|
global.sensitivitymode = !global.sensitivitymode;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Widescreen
|
|
|
|
|
if (global.curropt == opWidescreen) {
|
|
|
|
|
global.widescreen_enabled = !global.widescreen_enabled;
|
|
|
|
|
if (room == rm_options) {
|
|
|
|
|
oControl.widescreen = global.widescreen_enabled;
|
|
|
|
|
if (global.widescreen_enabled == 0) {
|
|
|
|
|
view_visible[1] = false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (global.opfullscreen == 0) {
|
|
|
|
|
set_window_scale(window_get_height()/240);
|
|
|
|
|
window_set_position(window_get_x()+((53-(global.widescreen_enabled*106))*(window_get_height()/240)),window_get_y());
|
|
|
|
|
}
|
|
|
|
|
if (global.opfullscreen == 1 || os_type == os_android) {
|
|
|
|
|
display_reset(0, global.opvsync);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Show HUD
|
|
|
|
|
if (global.curropt == opShowHUD) global.opshowhud = !global.opshowhud;
|
|
|
|
|
|
|
|
|
|
// Show Map
|
|
|
|
|
if (global.curropt == opShowMap) global.ophudshowmap = !global.ophudshowmap;
|
|
|
|
|
|
|
|
|
|
// Monster Counter
|
|
|
|
|
if (global.curropt == opCounterStyle) {
|
|
|
|
|
global.ophudshowmetrcount = wrap(global.ophudshowmetrcount + input, 0, 2);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Show Hints
|
|
|
|
|
if (global.curropt == opShowHints) global.ophudshowhints = !global.ophudshowhints;
|
|
|
|
|
|
|
|
|
|
// Button Prompt Style
|
|
|
|
|
if (global.curropt == opButtonType) {
|
|
|
|
|
var inputMax = 5 - ((os_type == os_android) * 2);
|
|
|
|
|
oControl.mod_buttonsconfig = wrap(oControl.mod_buttonsconfig + input, 0, inputMax);
|
|
|
|
|
|
|
|
|
|
// Update events
|
|
|
|
|
event_user(3);
|
|
|
|
|
event_user(4);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Show Scans
|
|
|
|
|
if (global.curropt == opShowScans) global.ophudshowlogmsg = !global.ophudshowlogmsg;
|
|
|
|
|
|
|
|
|
|
// Language
|
|
|
|
|
if (global.curropt == opLanguage) {
|
|
|
|
|
global.currentlanguage = wrap(global.currentlanguage + input, 0, langCount - 1);
|
|
|
|
|
|
|
|
|
|
// Update events
|
|
|
|
|
event_user(3);
|
|
|
|
|
event_user(4);
|
|
|
|
|
global.tiptext = tip[global.curropt];
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
sfx_play(sndMenuMove);
|
|
|
|
|
|
|
|
|
|
// Update text
|
|
|
|
|
event_user(2);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (oControl.kMenu1 && oControl.kMenu1PushedSteps == 0) {
|
|
|
|
|
if (global.curropt == menuSize) {
|
|
|
|
|
load_resources();
|
|
|
|
|
save_gameoptions();
|
|
|
|
|
view_object[0] = noone;
|
|
|
|
|
view_yview[0] = 0;
|
|
|
|
|
instance_create(50, 92, oOptionsMain);
|
|
|
|
|
instance_destroy();
|
|
|
|
|
sfx_play(sndMenuSel);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (targetY != y) y += (targetY - y) / 10;
|
|
|
|
|
|
|
|
|
|
timer -= 1;
|
|
|
|
|
|
|
|
|
|
if (timer < 0) timer = 8;
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
if (active) {
|
|
|
|
|
if (oControl.kDown > 0 && (oControl.kDownPushedSteps == 0 || oControl.kDownPushedSteps > 30 && timer == 0)) {
|
|
|
|
|
if (os_type == os_android) {
|
|
|
|
|
switch global.curropt {
|
|
|
|
|
@ -160,11 +397,11 @@ display_reset(0, global.opvsync);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if (global.curropt > lastitem) global.curropt = 0;
|
|
|
|
|
while (global.canedit[global.curropt] == 0) global.curropt += 1;
|
|
|
|
|
targety = op[global.curropt].y + 8 + 8;
|
|
|
|
|
if (targety > 256 + (sep*2) && op[7].visible) targety = 256 + (sep*2);
|
|
|
|
|
if (targety > 240 + (sep*2) && !op[7].visible) targety = 240 + (sep*2);
|
|
|
|
|
if(os_type == os_android) { if (targety > 224) targety = 224; }
|
|
|
|
|
while (global.candit[global.curropt] == 0) global.curropt += 1;
|
|
|
|
|
targetY = op[global.curropt].y + 8 + 8;
|
|
|
|
|
if (targetY > 256 + (sep*2) && op[7].visible) targetY = 256 + (sep*2);
|
|
|
|
|
if (targetY > 240 + (sep*2) && !op[7].visible) targetY = 240 + (sep*2);
|
|
|
|
|
if(os_type == os_android) { if (targetY > 224) targetY = 224; }
|
|
|
|
|
sfx_play(sndMenuMove);
|
|
|
|
|
global.tiptext = tip[global.curropt];
|
|
|
|
|
}
|
|
|
|
|
@ -187,10 +424,10 @@ display_reset(0, global.opvsync);
|
|
|
|
|
}
|
|
|
|
|
if (global.curropt < 0) global.curropt = lastitem;
|
|
|
|
|
while (global.canedit[global.curropt] == 0) global.curropt -= 1;
|
|
|
|
|
targety = op[global.curropt].y + 8 + 8;
|
|
|
|
|
if (targety > 256 + (sep*2) && op[7].visible) targety = 256 + (sep*2);
|
|
|
|
|
if (targety > 240 + (sep*2) && !op[7].visible) targety = 240 + (sep*2);
|
|
|
|
|
if(os_type == os_android) { if (targety > 208) targety = 208; }
|
|
|
|
|
targetY = op[global.curropt].y + 8 + 8;
|
|
|
|
|
if (targetY > 256 + (sep*2) && op[7].visible) targetY = 256 + (sep*2);
|
|
|
|
|
if (targetY > 240 + (sep*2) && !op[7].visible) targetY = 240 + (sep*2);
|
|
|
|
|
if(os_type == os_android) { if (targetY > 208) targetY = 208; }
|
|
|
|
|
sfx_play(sndMenuMove);
|
|
|
|
|
global.tiptext = tip[global.curropt];
|
|
|
|
|
}
|
|
|
|
|
@ -334,7 +571,7 @@ display_reset(0, global.opvsync);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
} // if (active)
|
|
|
|
|
if (targety != y) y += (targety - y) / 10;
|
|
|
|
|
if (targetY != y) y += (targetY - y) / 10;
|
|
|
|
|
timer -= 1;
|
|
|
|
|
if (timer < 0) timer = 8;
|
|
|
|
|
</string>
|
|
|
|
|
@ -359,7 +596,43 @@ if (timer < 0) timer = 8;
|
|
|
|
|
<arguments>
|
|
|
|
|
<argument>
|
|
|
|
|
<kind>1</kind>
|
|
|
|
|
<string>op[50].text = get_text("OptionsDisplay", "Title_Display");
|
|
|
|
|
<string>/// Reload ALL text (usually for lang files)
|
|
|
|
|
|
|
|
|
|
// Label
|
|
|
|
|
op[50].text = get_text("OptionsDisplay", "Title_Display");
|
|
|
|
|
|
|
|
|
|
// Fullscreen, scale
|
|
|
|
|
if (os_type != os_android) {
|
|
|
|
|
op[opFullscreen].label = get_text("OptionsDisplay", "Fullscreen");
|
|
|
|
|
|
|
|
|
|
if (global.opfullscreen) {
|
|
|
|
|
op[opScale].label = get_text("OptionsDisplay", "DisplayScale");
|
|
|
|
|
} else op[opScale].label = get_text("OptionsDisplay", "WindowSize");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
op[opVSync].label = get_text("OptionsDisplay", "VSync");
|
|
|
|
|
op[51].text = get_text("OptionsDisplay", "Title_HUD");
|
|
|
|
|
op[opSensitivity].label = get_text("Misc", "SensitivityMode");
|
|
|
|
|
op[opWidescreen].label = get_text("Misc", "Widescreen");
|
|
|
|
|
op[opShowHUD].label = get_text("OptionsDisplay", "HUDDisplay");
|
|
|
|
|
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");
|
|
|
|
|
op[opShowScans].label = get_text("OptionsDisplay", "ScanNotifications");
|
|
|
|
|
op[opLanguage].label = get_text("OptionsDisplay", "Language");
|
|
|
|
|
|
|
|
|
|
op[menuSize].label = get_text("GlobalOptions", "Exit");
|
|
|
|
|
|
|
|
|
|
with (oSS_Fg) {
|
|
|
|
|
opt_text1 = get_text("Subscreen", "Title_Options");
|
|
|
|
|
tip1text = get_text("Subscreen", "Menu_Tip");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
op[50].text = get_text("OptionsDisplay", "Title_Display");
|
|
|
|
|
|
|
|
|
|
op[0].label = get_text("OptionsDisplay", "Fullscreen");
|
|
|
|
|
if(os_type == os_android) {
|
|
|
|
|
op[0].label = get_text("OptionsDisplay", "VSync");
|
|
|
|
|
@ -409,7 +682,27 @@ with (oSS_Fg) {
|
|
|
|
|
<arguments>
|
|
|
|
|
<argument>
|
|
|
|
|
<kind>1</kind>
|
|
|
|
|
<string>tip[0] = get_text("OptionsDisplay", "Fullscreen_Tip");
|
|
|
|
|
<string>/// Load tip text
|
|
|
|
|
|
|
|
|
|
if (os_type != os_android) {
|
|
|
|
|
tip[opFullscreen] = get_text("OptionsDisplay", "Fullscreen_Tip");
|
|
|
|
|
tip[opScale] = get_text("OptionsDisplay", "DisplayScale_Tip");
|
|
|
|
|
}
|
|
|
|
|
tip[opVSync] = get_text("OptionsDisplay", "VSync_Tip");
|
|
|
|
|
tip[opSensitivity] = get_text("Misc", "SensitivityMode_Tip");
|
|
|
|
|
tip[opWidescreen] = get_text("Misc", "Widescreen_Tip");
|
|
|
|
|
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");
|
|
|
|
|
tip[opShowScans] = get_text("OptionsDisplay", "ScanNotifications_Tip");
|
|
|
|
|
tip[opLanguage] = get_text("OptionsDisplay", "Language_Tip");
|
|
|
|
|
tip[menuSize] = get_text("GlobalOptions", "ExitMain_Tip");
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
tip[0] = get_text("OptionsDisplay", "Fullscreen_Tip");
|
|
|
|
|
if(os_type == os_android) tip[0] = get_text("OptionsDisplay", "VSync_Tip");
|
|
|
|
|
tip[1] = get_text("OptionsDisplay", "DisplayScale_Tip");
|
|
|
|
|
tip[2] = get_text("OptionsDisplay", "VSync_Tip");
|
|
|
|
|
@ -448,7 +741,103 @@ tip[12] = get_text("GlobalOptions", "ExitMain_Tip");
|
|
|
|
|
<arguments>
|
|
|
|
|
<argument>
|
|
|
|
|
<kind>1</kind>
|
|
|
|
|
<string>if (global.opfullscreen) {
|
|
|
|
|
<string>/// Update option text
|
|
|
|
|
|
|
|
|
|
// Fullscreen, Scale
|
|
|
|
|
if (global.opfullscreen) {
|
|
|
|
|
op[opFullscreen].optext = get_text("GlobalOptions", "Enabled");
|
|
|
|
|
op[opScale].label = get_text("OptionsDisplay", "DisplayScale");
|
|
|
|
|
} else {
|
|
|
|
|
op[opFullscreen].optext = get_text("GlobalOptions", "Disabled");
|
|
|
|
|
op[opScale].label = get_text("OptionsDisplay", "WindowSize");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Scale sizes
|
|
|
|
|
switch (global.opscale) {
|
|
|
|
|
case 0: op[opScale].optext = get_text("OptionsDisplay", "DisplayScale_Stretch"); break;
|
|
|
|
|
case 1: op[opScale].optext = "1X"; break;
|
|
|
|
|
case 2: op[opScale].optext = "2X"; break;
|
|
|
|
|
case 3: op[opScale].optext = "3X"; break;
|
|
|
|
|
case 4: op[opScale].optext = "4X"; break;
|
|
|
|
|
default: op[opScale].optext = "[!]"; break;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Vsync
|
|
|
|
|
if (global.opvsync) {
|
|
|
|
|
op[opVSync].optext = get_text("GlobalOptions", "Enabled");
|
|
|
|
|
} else {
|
|
|
|
|
op[opVSync].optext = get_text("GlobalOptions", "Disabled");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Sensitivity Mode
|
|
|
|
|
if (global.sensitivitymode) {
|
|
|
|
|
op[opSensitivity].optext = get_text("GlobalOptions", "Enabled");
|
|
|
|
|
} else {
|
|
|
|
|
op[opSensitivity].optext = get_text("GlobalOptions", "Disabled");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Widescreen
|
|
|
|
|
if (global.widescreen_enabled) {
|
|
|
|
|
op[opWidescreen].optext = get_text("GlobalOptions", "Enabled");
|
|
|
|
|
} else {
|
|
|
|
|
op[opWidescreen].optext = get_text("GlobalOptions", "Disabled");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Show HUD
|
|
|
|
|
if (global.opshowhud) {
|
|
|
|
|
op[opShowHUD].optext = get_text("GlobalOptions", "Enabled");
|
|
|
|
|
} else op[opShowHUD].optext = get_text("GlobalOptions", "Disabled");
|
|
|
|
|
|
|
|
|
|
// Show Map
|
|
|
|
|
if (global.ophudshowmap) {
|
|
|
|
|
op[opShowMap].optext = get_text("GlobalOptions", "Enabled");
|
|
|
|
|
} else op[opShowMap].optext = get_text("GlobalOptions", "Disabled");
|
|
|
|
|
|
|
|
|
|
// Monster Counter Style
|
|
|
|
|
switch (global.ophudshowmetrcount) {
|
|
|
|
|
case 0: op[opCounterStyle].optext = get_text("GlobalOptions", "Disabled"); break;
|
|
|
|
|
case 1: op[opCounterStyle].optext = get_text("OptionsDisplay", "MonsterCounter_Local"); break;
|
|
|
|
|
case 2: op[opCounterStyle].optext = get_text("OptionsDisplay", "MonsterCounter_Global"); break;
|
|
|
|
|
default: op[opCounterStyle].optext = "[!]"; break;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Update Monster Counter tip text
|
|
|
|
|
if (global.curropt == opCounterStyle) {
|
|
|
|
|
switch (global.ophudshowmetrcount) {
|
|
|
|
|
case 0: global.tiptext = get_text("OptionsDisplay", "MonsterCounter_Disabled_Tip"); break;
|
|
|
|
|
case 1: global.tiptext = get_text("OptionsDisplay", "MonsterCounter_Local_Tip"); break;
|
|
|
|
|
case 2: global.tiptext = get_text("OptionsDisplay", "MonsterCounter_Global_Tip"); break;
|
|
|
|
|
default: global.tiptext = "[!]"; break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Show Hints
|
|
|
|
|
if (global.ophudshowhints) {
|
|
|
|
|
op[opShowHints].optext = get_text("GlobalOptions", "Enabled");
|
|
|
|
|
} 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;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Show Scans
|
|
|
|
|
if (global.ophudshowlogmsg) {
|
|
|
|
|
op[opShowScans].optext = get_text("GlobalOptions", "Enabled");
|
|
|
|
|
} else op[opShowScans].optext = get_text("GlobalOptions", "Disabled");
|
|
|
|
|
|
|
|
|
|
// Language
|
|
|
|
|
op[opLanguage].optext = lang[global.currentlanguage];
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
if (global.opfullscreen) {
|
|
|
|
|
op[0].optext = get_text("GlobalOptions", "Enabled");
|
|
|
|
|
op[1].label = get_text("OptionsDisplay", "DisplayScale");
|
|
|
|
|
} else {
|
|
|
|
|
@ -531,22 +920,15 @@ if (global.widescreen_enabled) {
|
|
|
|
|
<arguments>
|
|
|
|
|
<argument>
|
|
|
|
|
<kind>1</kind>
|
|
|
|
|
<string>with (op[0]) instance_destroy();
|
|
|
|
|
with (op[1]) instance_destroy();
|
|
|
|
|
with (op[2]) instance_destroy();
|
|
|
|
|
with (op[3]) instance_destroy();
|
|
|
|
|
with (op[4]) instance_destroy();
|
|
|
|
|
with (op[5]) instance_destroy();
|
|
|
|
|
with (op[6]) instance_destroy();
|
|
|
|
|
with (op[7]) instance_destroy();
|
|
|
|
|
with (op[8]) instance_destroy();
|
|
|
|
|
with (op[9]) instance_destroy();
|
|
|
|
|
with (op[10]) instance_destroy();
|
|
|
|
|
with (op[11]) instance_destroy();
|
|
|
|
|
with (op[12]) instance_destroy();
|
|
|
|
|
with (op[50]) instance_destroy();
|
|
|
|
|
with (op[51]) instance_destroy();
|
|
|
|
|
with (op[52]) instance_destroy();
|
|
|
|
|
<string>/// Delete menu options
|
|
|
|
|
for (var i = 0; i <= menuSize; i++) {
|
|
|
|
|
with (op[i]) instance_destroy();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Delete headers
|
|
|
|
|
for (var i = 50; i <= 52; i++) {
|
|
|
|
|
with (op[i]) instance_destroy();
|
|
|
|
|
}
|
|
|
|
|
</string>
|
|
|
|
|
</argument>
|
|
|
|
|
</arguments>
|
|
|
|
|
@ -569,7 +951,116 @@ with (op[52]) instance_destroy();
|
|
|
|
|
<arguments>
|
|
|
|
|
<argument>
|
|
|
|
|
<kind>1</kind>
|
|
|
|
|
<string>y -= 8;
|
|
|
|
|
<string>/// Create menu options
|
|
|
|
|
|
|
|
|
|
var i = 1;
|
|
|
|
|
|
|
|
|
|
// Label
|
|
|
|
|
op[50] = instance_create(x, y, oMenuLabel);
|
|
|
|
|
op[50].text = get_text("OptionsDisplay", "Title_Display");
|
|
|
|
|
|
|
|
|
|
// Fullscreen and scale should NOT exist on Android
|
|
|
|
|
if (os_type != os_android) {
|
|
|
|
|
// Fullscreen
|
|
|
|
|
op[opFullscreen] = instance_create(x, y + SPACER * i, oOptionLR);
|
|
|
|
|
op[opFullscreen].label = get_text("OptionsDisplay", "Fullscreen");
|
|
|
|
|
op[opFullscreen].optionid = opFullscreen;
|
|
|
|
|
i++;
|
|
|
|
|
|
|
|
|
|
// Scale
|
|
|
|
|
op[opScale] = instance_create(x, y + SPACER * i, oOptionLR);
|
|
|
|
|
|
|
|
|
|
// Scale on fullscreen, size on not
|
|
|
|
|
if (global.opfullscreen) {
|
|
|
|
|
op[opScale].label = get_text("OptionsDisplay", "DisplayScale");
|
|
|
|
|
} else op[opScale].label = get_text("OptionsDisplay", "WindowSize");
|
|
|
|
|
op[opScale].optionid = opScale;
|
|
|
|
|
i++;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// VSync
|
|
|
|
|
op[opVSync] = instance_create(x, y + SPACER * i, oOptionLR);
|
|
|
|
|
op[opVSync].label = get_text("OptionsDisplay", "VSync");
|
|
|
|
|
op[opVSync].optionid = opVSync;
|
|
|
|
|
i++;
|
|
|
|
|
|
|
|
|
|
// Sensitivity Mode
|
|
|
|
|
op[opSensitivity] = instance_create(x, y + SPACER * i, oOptionLR);
|
|
|
|
|
op[opSensitivity].label = get_text("Misc", "SensitivityMode");
|
|
|
|
|
op[opSensitivity].optionid = opSensitivity;
|
|
|
|
|
i++;
|
|
|
|
|
|
|
|
|
|
// Widescreen
|
|
|
|
|
op[opWidescreen] = instance_create(x, y + SPACER * i, oOptionLR);
|
|
|
|
|
op[opWidescreen].label = get_text("Misc", "Widescreen");
|
|
|
|
|
op[opWidescreen].optionid = opWidescreen;
|
|
|
|
|
i++;
|
|
|
|
|
|
|
|
|
|
// HUD Header
|
|
|
|
|
op[51] = instance_create(x, y + SPACER * i, oMenuLabel);
|
|
|
|
|
op[51].text = get_text("OptionsDisplay", "Title_HUD");
|
|
|
|
|
i++;
|
|
|
|
|
|
|
|
|
|
// HUD Display
|
|
|
|
|
op[opShowHUD] = instance_create(x, y + SPACER * i, oOptionLR);
|
|
|
|
|
op[opShowHUD].label = get_text("OptionsDisplay", "HUDDisplay");
|
|
|
|
|
op[opShowHUD].optionid = opShowHUD;
|
|
|
|
|
i++;
|
|
|
|
|
|
|
|
|
|
// Map Display
|
|
|
|
|
op[opShowMap] = instance_create(x, y + SPACER * i, oOptionLR);
|
|
|
|
|
op[opShowMap].label = get_text("OptionsDisplay", "HUDMap");
|
|
|
|
|
op[opShowMap].optionid = opShowMap;
|
|
|
|
|
i++;
|
|
|
|
|
|
|
|
|
|
// Monster Counter Style
|
|
|
|
|
op[opCounterStyle] = instance_create(x, y + SPACER * i, oOptionLR);
|
|
|
|
|
op[opCounterStyle].label = get_text("OptionsDisplay", "MonsterCounter");
|
|
|
|
|
op[opCounterStyle].optionid = opCounterStyle;
|
|
|
|
|
i++;
|
|
|
|
|
|
|
|
|
|
// Notification Header
|
|
|
|
|
op[52] = instance_create(x, y + SPACER * i, oMenuLabel);
|
|
|
|
|
op[52].text = get_text("OptionsDisplay", "Title_Notifications");
|
|
|
|
|
i++;
|
|
|
|
|
|
|
|
|
|
// Show Hints
|
|
|
|
|
op[opShowHints] = instance_create(x, y + SPACER * i, oOptionLR);
|
|
|
|
|
op[opShowHints].label = get_text("OptionsDisplay", "Hints");
|
|
|
|
|
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)) {
|
|
|
|
|
op[opButtonType] = instance_create(x, y + SPACER * i, oOptionLR);
|
|
|
|
|
op[opButtonType].label = get_text("ExtrasMenu", "Controller");
|
|
|
|
|
op[opButtonType].optionid = opButtonType;
|
|
|
|
|
i++;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Show Scans
|
|
|
|
|
op[opShowScans] = instance_create(x, y + SPACER * i, oOptionLR);
|
|
|
|
|
op[opShowScans].label = get_text("OptionsDisplay", "ScanNotifications");
|
|
|
|
|
op[opShowScans].optionid = opShowScans;
|
|
|
|
|
i++;
|
|
|
|
|
|
|
|
|
|
// Language
|
|
|
|
|
op[opLanguage] = instance_create(x, y + SPACER * i, oOptionLR);
|
|
|
|
|
op[opLanguage].label = get_text("OptionsDisplay", "Language");
|
|
|
|
|
op[opLanguage].optionid = opLanguage;
|
|
|
|
|
i++;
|
|
|
|
|
|
|
|
|
|
// Exit - This will always be the last option
|
|
|
|
|
op[menuSize] = instance_create(x, y + SPACER * i, oPauseOption);
|
|
|
|
|
op[menuSize].optionid = menuSize;
|
|
|
|
|
op[menuSize].label = get_text("GlobalOptions", "Exit");
|
|
|
|
|
|
|
|
|
|
// Update options text
|
|
|
|
|
event_user(2);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
y -= 8;
|
|
|
|
|
sep = 16;
|
|
|
|
|
var i = 1;
|
|
|
|
|
op[50] = instance_create(x, y * i, oMenuLabel);
|
|
|
|
|
@ -586,7 +1077,7 @@ if (global.opfullscreen) {
|
|
|
|
|
op[1].label = get_text("OptionsDisplay", "DisplayScale");
|
|
|
|
|
} else op[1].label = get_text("OptionsDisplay", "WindowSize");
|
|
|
|
|
op[1].optionid = 1;
|
|
|
|
|
if(os_type == os_android) { // android, make op[1] vsync invis
|
|
|
|
|
if(os_type == os_android) { // android, make op[1] invis
|
|
|
|
|
op[1].visible = false;
|
|
|
|
|
global.canedit[1] = 0;
|
|
|
|
|
}
|
|
|
|
|
|