<undefined>
0
-1
0
0
<undefined>
<undefined>
1
603
7
0
0
-1
2
self
0
0
1
global.curropt = 1; // og 1
lastitem = 22;
active = 0;
alarm[0] = 5;
i = 0;
repeat (23) {
canedit[i] = 1;
i += 1;
}
if (global.opaimstyle == 0) canedit[13] = 0;
targety = 0;
view_object[0] = id;
editing = 0;
readjoy = 0;
timer = 0;
event_user(0);
with (oSS_Control) active = 0;
with (oSS_Fg) {
active = 0;
hidechangetip = 1;
}
global.tiptext = tip[global.curropt];
for (var i = 0; i < 16; i++) {
linaxlast[i] = 0;
}
1
603
7
0
0
-1
2
self
0
0
1
event_user(1);
with (oSS_Fg) hidechangetip = 0;
1
603
7
0
0
-1
2
self
0
0
1
if (editing) {
editing = 0;
op[global.curropt].editing = 0;
sfx_play(sndMenuMove);
}
1
603
7
0
0
-1
2
self
0
0
1
readjoy = 1;
1
603
7
0
0
-1
2
self
0
0
1
active = 1;
1
603
7
0
0
-1
2
self
0
0
1
/// Input workaround for Linux
for (var g = 0; g <= gamepad_axis_count(global.opjoyid); g ++) {
linaxlast[g] = gamepad_axis_value(global.opjoyid, g);
}
1
603
7
0
0
-1
2
oOptionsJoypad
0
0
1
if (active) {
if (oControl.kDown > 0 && (oControl.kDownPushedSteps == 0 || oControl.kDownPushedSteps > 30 && timer == 0) && editing == 0) {
global.curropt += 1;
if (global.curropt > lastitem) global.curropt = 1;
while (canedit[global.curropt] == 0) global.curropt += 1;
if (global.curropt > lastitem) global.curropt = 1;
targety = op[global.curropt].y + 8 + 8;
if (op[6].visible == false) {
if (targety > 336) targety = 336;
}
else {
if(os_type != os_android) { if (targety > 400) targety = 400; }
else { if (targety > 384) targety = 384; }
}
sfx_play(sndMenuMove);
global.tiptext = tip[global.curropt];
}
if (oControl.kUp > 0 && (oControl.kUpPushedSteps == 0 || oControl.kUpPushedSteps > 30 && timer == 0) && editing == 0) {
global.curropt -= 1;
if (global.curropt < 1) global.curropt = lastitem;
while (canedit[global.curropt] == 0) global.curropt -= 1;
if (global.curropt < 1) global.curropt = lastitem;
targety = op[global.curropt].y + 8 + 8;
if (op[6].visible == false) {
if (targety > 336) targety = 336;
}
else {
if(os_type != os_android) { if (targety > 400) targety = 400; }
else { if (targety > 384) targety = 384; }
}
sfx_play(sndMenuMove);
global.tiptext = tip[global.curropt];
}
if ((oControl.kLeft > 0 && oControl.kLeftPushedSteps == 0 || oControl.kRight > 0 && oControl.kRightPushedSteps == 0) && oControl.kDown == 0 && oControl.kUp == 0) {
if (global.curropt == 0) {
// Never used? Odd.
global.openablejoy = !global.openablejoy;
sfx_play(sndMenuMove);
event_user(2);
}
if (global.curropt == 2) {
global.opanalogwalk = !global.opanalogwalk;
sfx_play(sndMenuMove);
event_user(2);
}
if (global.curropt == 5) {
global.dpad_rebind = !global.dpad_rebind;
sfx_play(sndMenuMove);
event_user(2);
event_user(3);
}
if(os_type == os_android) {
if (global.curropt == 3) {
global.opanalog_stick = !global.opanalog_stick;
sfx_play(sndMenuMove);
event_user(2);
}
if (global.curropt == 4) {
global.opanalog_invert = !global.opanalog_invert;
sfx_play(sndMenuMove);
event_user(2);
}
}
}
if (oControl.kLeft > 0 && oControl.kLeftPushedSteps > 5 && oControl.kDown == 0 && oControl.kUp == 0) {
if (global.curropt == 1 && global.opdeadzone > 0) {
global.opdeadzone -= 1;
event_user(2);
}
}
if (oControl.kRight > 0 && oControl.kRightPushedSteps > 5 && oControl.kDown == 0 && oControl.kUp == 0) {
if (global.curropt == 1 && global.opdeadzone < 100) {
global.opdeadzone += 1;
event_user(2);
}
}
if (oControl.kMenu1 && oControl.kMenu1PushedSteps == 0 && canedit[global.curropt] && global.curropt <= 20 && ((os_type != os_android && global.curropt > 2 && global.curropt != 5) || (os_type == os_android && global.curropt > 4)) && editing == 0) {
if (editing == 0) {
editing = 1;
alarm[2] = 300; // timeout for lack of input
io_clear();
readjoy = 0;
if (global.joydetected) alarm[1] = 20;
op[global.curropt].editing = 1;
sfx_play(sndMenuSel);
}
}
if (oControl.kMenu1 && oControl.kMenu1PushedSteps == 0) {
if (global.curropt == 21) {
set_default_joypad();
event_user(2);
sfx_play(sndMenuSel);
if(os_type != os_android) {
instance_create(50, 92, oOptionsJoypad);
instance_destroy();
}
}
if (global.curropt == 22) {
save_gameoptions();
view_object[0] = noone;
view_yview[0] = 0;
instance_create(50, 92, oOptionsControl);
instance_destroy();
sfx_play(sndMenuSel);
}
}
if (editing && readjoy) {
if(os_type != os_android && os_type != os_linux) {
if (global.curropt == 3 && choose_axis() != -1) {
remap_duplicate_joyaxis(choose_axis());
map_joyaxisbtn(global.curropt, choose_axis());
if (global.opjoybtn_xax == 6) global.opjoybtn_yax = 7;
editing = 0;
readjoy = 0;
op[global.curropt].editing = 0;
event_user(2);
sfx_play(sndMenuMove);
}
if (global.curropt == 4 && choose_axis() != -1) {
remap_duplicate_joyaxis(choose_axis());
map_joyaxisbtn(global.curropt, choose_axis());
if (choose_axis() == 6) {
global.opjoybtn_xax = 6;
global.opjoybtn_yax = 7;
}
editing = 0;
readjoy = 0;
op[global.curropt].editing = 0;
event_user(2);
sfx_play(sndMenuMove);
}
} else if (os_type == os_linux) {
// remap Linux axes
if (global.curropt == 3 && choose_axis_linux() != -1) {
/*remap_duplicate_joyaxis(choose_axis());
map_joyaxisbtn(global.curropt, choose_axis());
if (global.opjoybtn_xax == 6) global.opjoybtn_yax = 7;*/
if (global.opjoybtn_yax == choose_axis_linux()) {
global.opjoybtn_yax = global.opjoybtn_xax;
}
global.opjoybtn_xax = choose_axis_linux();
editing = 0;
readjoy = 0;
op[global.curropt].editing = 0;
event_user(2);
sfx_play(sndMenuMove);
}
if (global.curropt == 4 && choose_axis_linux() != -1) {
//remap_duplicate_joyaxis(choose_axis());
//map_joyaxisbtn(global.curropt, choose_axis());
/*if (choose_axis() == 6) {
global.opjoybtn_xax = 6;
global.opjoybtn_yax = 7;
}*/
if (global.opjoybtn_xax == choose_axis_linux()) {
global.opjoybtn_xax = global.opjoybtn_yax;
}
global.opjoybtn_yax = choose_axis_linux();
editing = 0;
readjoy = 0;
op[global.curropt].editing = 0;
event_user(2);
sfx_play(sndMenuMove);
}
}
if (check_joybtn(global.opjoyid) > 0 && global.curropt > 3) {
if (global.curropt < 18 || global.curropt == 18 && global.opjoybtn_menu1 != check_joybtn(global.opjoyid) && global.opjoybtn_menu2 != check_joybtn(global.opjoyid)) {
remap_duplicate_joybtn(check_joybtn(global.opjoyid));
map_joyaxisbtn(global.curropt, check_joybtn(global.opjoyid));
} else if (global.curropt > 18 && global.opjoybtn_str != check_joybtn(global.opjoyid)) {
remap_duplicate_joybtnmenu(check_joybtn(global.opjoyid));
map_joyaxisbtn(global.curropt, check_joybtn(global.opjoyid));
}
editing = 0;
readjoy = 0;
op[global.curropt].editing = 0;
event_user(2);
sfx_play(sndMenuMove);
active = 0;
alarm[0] = 2;
}
} // if (editing && readjoy)
with (oSS_Fg) {
active = 0;
alarm[0] = 5;
}
with (oSS_Control) {
active = 0;
alarm[0] = 5;
}
} // if (active)
if (targety != y) y += (targety - y) / 10;
timer -= 1;
if (timer < 0) timer = 8;
1
603
7
0
0
-1
2
self
0
0
1
1
603
7
0
0
-1
2
self
0
0
1
if (global.dpad_rebind == 1) {
for (i=10; i<=22; i+=1) {
op[i].y += 64;
}
op[6].visible = true;
canedit[6] = 1;
op[7].visible = true;
canedit[7] = 1;
op[8].visible = true;
canedit[8] = 1;
op[9].visible = true;
canedit[9] = 1;
}
else {
if (targety > 335) {
targety = 335;
y = targety;
}
if(op[10].y != 204) {
for (i=10; i<=22; i+=1) {
op[i].y -= 64;
}
}
op[6].visible = false;
canedit[6] = 0;
op[7].visible = false;
canedit[7] = 0;
op[8].visible = false;
canedit[8] = 0;
op[9].visible = false;
canedit[9] = 0;
}
1
603
7
0
0
-1
2
self
0
0
1
op[1].slwidth = global.opdeadzone / 100 * op[1].w;
if (global.opanalogwalk) {
op[2].optext = get_text("GlobalOptions", "Enabled");
} else op[2].optext = get_text("GlobalOptions", "Disabled");
if (os_type == os_android) {
if (global.opanalog_stick) {
op[3].optext = get_text("Buttons", "Right");
} else op[3].optext = get_text("Buttons", "Left");
if (global.opanalog_invert) {
op[4].optext = get_text("GlobalOptions", "Enabled");
} else op[4].optext = get_text("GlobalOptions", "Disabled");
} else {
op[3].optext = get_joyaxisname(global.opjoybtn_xax);
op[4].optext = get_joyaxisname(global.opjoybtn_yax);
}
if (global.dpad_rebind) {
op[5].optext = get_text("GlobalOptions", "Enabled");
} else op[5].optext = get_text("GlobalOptions", "Disabled");
op[6].optext = get_text("Buttons", "Button") + " " + string(global.opjoybtn_padu);
op[7].optext = get_text("Buttons", "Button") + " " + + string(global.opjoybtn_padd);
op[8].optext = get_text("Buttons", "Button") + " " + + string(global.opjoybtn_padl);
op[9].optext = get_text("Buttons", "Button") + " " + + string(global.opjoybtn_padr);
op[10].optext = get_text("Buttons", "Button") + " " + + string(global.opjoybtn_a);
op[11].optext = get_text("Buttons", "Button") + " " + + string(global.opjoybtn_b);
op[12].optext = get_text("Buttons", "Button") + " " + + string(global.opjoybtn_l);
op[13].optext = get_text("Buttons", "Button") + " " + + string(global.opjoybtn_l2);
op[14].optext = get_text("Buttons", "Button") + " " + + string(global.opjoybtn_r2);
op[15].optext = get_text("Buttons", "Button") + " " + + string(global.opjoybtn_x);
op[16].optext = get_text("Buttons", "Button") + " " + + string(global.opjoybtn_r);
op[17].optext = get_text("Buttons", "Button") + " " + + string(global.opjoybtn_sel);
op[18].optext = get_text("Buttons", "Button") + " " + + string(global.opjoybtn_str);
op[19].optext = get_text("Buttons", "Button") + " " + + string(global.opjoybtn_menu1);
op[20].optext = get_text("Buttons", "Button") + " " + + string(global.opjoybtn_menu2);
1
603
7
0
0
-1
2
self
0
0
1
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[13]) instance_destroy();
with (op[14]) instance_destroy();
with (op[15]) instance_destroy();
with (op[16]) instance_destroy();
with (op[17]) instance_destroy();
with (op[18]) instance_destroy();
with (op[19]) instance_destroy();
with (op[20]) instance_destroy();
with (op[21]) instance_destroy();
with (op[22]) instance_destroy();
with (op[50]) instance_destroy();
1
603
7
0
0
-1
2
self
0
0
1
y -= 8;
sep = 16;
i = 0;
op[50] = instance_create(x, y, oMenuLabel);
op[50].text = get_text("OptionsControlJoypad", "Title_Joypad");
// 1.5.1
op[1] = instance_create(x, y + sep, oOptionSlider);
op[1].label = get_text("OptionsControlJoypad", "Deadzone");
op[1].optionid = 1;
tip[1] = get_text("OptionsControlJoypad", "Deadzone_Tip");
op[2] = instance_create(x, y + sep * 2, oOptionLR);
op[2].label = get_text("OptionsControlJoypad", "AnalogWalking");
op[2].optionid = 2;
tip[2] = get_text("OptionsControlJoypad", "AnalogWalking_Tip");
op[5] = instance_create(x, y + sep * 5, oOptionLR);
op[5].label = get_text("DPadMenu", "DPadRebind");
op[5].optionid = 5;
tip[5] = get_text("DPadMenu", "DPadRebind_Tip");
if (os_type != os_android) {
op[3] = instance_create(x, y + sep * 3, oOptionLR);
op[3].label = get_text("OptionsControlJoypad", "XAxis");
op[3].optionid = 3;
tip[3] = get_text("OptionsControlJoypad", "XAxis_Tip");
op[4] = instance_create(x, y + sep * 4, oOptionLR);
op[4].label = get_text("OptionsControlJoypad", "YAxis");
op[4].optionid = 4;
tip[4] = get_text("OptionsControlJoypad", "YAxis_Tip");
} else {
op[3] = instance_create(x, y + sep * 3, oOptionLR);
op[3].label = get_text("Android", "AnalogStick");
op[3].optionid = 3;
tip[3] = get_text("Android", "AnalogStick_Tip");
op[4] = instance_create(x, y + sep * 4, oOptionLR);
op[4].label = get_text("Android", "InvertAxis");
op[4].optionid = 4;
tip[4] = get_text("Android", "InvertAxis_Tip");
op[5].visible = false;
canedit[5] = 0;
}
i = 7; // 7 previously
if (os_type == os_android || os_type == os_linux) i--;
op[6] = instance_create(x, y + sep * i, oOptionLR);
op[6].label = get_text("OptionsControlCommands", "Up");
op[6].optionid = 6;
tip[6] = get_text("OptionsControlJoypad", "Up_Tip");
if (global.dpad_rebind == 0 && os_type != os_android) {
op[6].visible = false;
canedit[6] = 0;
}
i += 1;
op[7] = instance_create(x, y + sep * i, oOptionLR);
op[7].label = get_text("OptionsControlCommands", "Down");
op[7].optionid = 7;
tip[7] = get_text("OptionsControlJoypad", "Down_Tip");
if (global.dpad_rebind == 0 && os_type != os_android) {
op[7].visible = false;
canedit[7] = 0;
}
i += 1;
op[8] = instance_create(x, y + sep * i, oOptionLR);
op[8].label = get_text("OptionsControlCommands", "Left");
op[8].optionid = 8;
tip[8] = get_text("OptionsControlJoypad", "Left_Tip");
if (global.dpad_rebind == 0 && os_type != os_android) {
op[8].visible = false;
canedit[8] = 0;
}
i += 1;
op[9] = instance_create(x, y + sep * i, oOptionLR);
op[9].label = get_text("OptionsControlCommands", "Right");
op[9].optionid = 9;
tip[9] = get_text("OptionsControlJoypad", "Right_Tip");
if (global.dpad_rebind == 0 && os_type != os_android) {
op[9].visible = false;
canedit[9] = 0;
}
i = 7;
if (global.dpad_rebind == 1 || (os_type == os_android)) i+=4;
if (os_type == os_android) i--;
op[10] = instance_create(x, y + sep * i, oOptionLR);
op[10].label = get_text("OptionsControlCommands", "Jump");
op[10].optionid = 10;
tip[10] = get_text("OptionsControlJoypad", "Jump_Tip");
i += 1;
op[11] = instance_create(x, y + sep * i, oOptionLR);
op[11].label = get_text("OptionsControlCommands", "Fire");
op[11].optionid = 11;
tip[11] = get_text("OptionsControlJoypad", "Fire_Tip");
i += 1;
op[12] = instance_create(x, y + sep * i, oOptionLR);
if (global.opaimstyle == 0) {
op[12].label = get_text("OptionsControlCommands", "DiagonalAim");
tip[12] = get_text("OptionsControlJoypad", "DiagonalAim_Tip");
} else {
op[12].label = get_text("OptionsControlCommands", "AimUp");
tip[12] = get_text("OptionsControlJoypad", "AimUp_Tip");
}
op[12].optionid = 12;
i += 1;
if (global.opaimstyle == 1) {
op[13] = instance_create(x, y + sep * i, oOptionLR);
op[13].label = get_text("OptionsControlCommands", "AimDown");
op[13].optionid = 13;
tip[13] = get_text("OptionsControlJoypad", "AimDown_Tip");
i += 1;
} else {
op[13] = instance_create(x, y + sep * i, oOptionLR);
op[13].label = "";
op[13].optionid = 100;
op[13].visible = false;
tip[13] = "";
}
op[14] = instance_create(x, y + sep * i, oOptionLR);
op[14].label = get_text("OptionsControlCommands", "AimLock");
op[14].optionid = 14;
tip[14] = get_text("OptionsControlJoypad", "AimLock_Tip");
i += 1;
op[15] = instance_create(x, y + sep * i, oOptionLR);
op[15].label = get_text("OptionsControlCommands", "Morph");
op[15].optionid = 15;
tip[15] = get_text("OptionsControlJoypad", "Morph_Tip");
i += 1;
op[16] = instance_create(x, y + sep * i, oOptionLR);
if (global.opmslstyle == 0) {
op[16].label = get_text("OptionsControlCommands", "ArmWeapon");
tip[16] = get_text("OptionsControlJoypad", "ArmWeapon_Tip");
} else {
op[16].label = get_text("OptionsControlCommands", "WeaponSelect");
tip[16] = get_text("OptionsControlJoypad", "WeaponSelect_Tip");
}
op[16].optionid = 16;
i += 1;
op[17] = instance_create(x, y + sep * i, oOptionLR);
if (global.opmslstyle == 0) {
op[17].label = get_text("OptionsControlCommands", "WeaponSelect");
tip[17] = get_text("OptionsControlJoypad", "WeaponSelect_Tip");
} else {
op[17].label = get_text("OptionsControlCommands", "WeaponCancel");
tip[17] = get_text("OptionsControlJoypad", "WeaponCancel_Tip");
}
op[17].optionid = 17;
i += 1;
op[18] = instance_create(x, y + sep * i, oOptionLR);
op[18].label = get_text("OptionsControlCommands", "Start");
op[18].optionid = 18;
tip[18] = get_text("OptionsControlJoypad", "Start_Tip");
i += 1;
op[19] = instance_create(x, y + sep * i, oOptionLR);
op[19].label = get_text("OptionsControlCommands", "MenuAccept");
op[19].optionid = 19;
tip[19] = get_text("OptionsControlJoypad", "MenuAccept_Tip");
i += 1;
op[20] = instance_create(x, y + sep * i, oOptionLR);
op[20].label = get_text("OptionsControlCommands", "MenuBack");
op[20].optionid = 20;
tip[20] = get_text("OptionsControlJoypad", "MenuBack_Tip");
i += 1;
op[21] = instance_create(x, y + sep * i, oPauseOption);
op[21].optionid = 21;
op[21].label = get_text("GlobalOptions", "Defaults");
tip[21] = get_text("GlobalOptions", "Defaults_Tip");
i += 1;
op[22] = instance_create(x, y + sep * i, oPauseOption);
op[22].optionid = 22;
op[22].label = get_text("GlobalOptions", "Exit");
tip[22] = get_text("GlobalOptions", "ExitMain_Tip");
global.tiptext = tip[global.curropt];
event_user(2);
0
0
0
0.5
0.100000001490116
0
0.100000001490116
0.100000001490116
0.200000002980232
-1
0