Files
IL-GSC/MW3/PC/SP/maps/_menus.gsc
InfinityLoader d559c1d414 Added MW3 Scripts
2023-10-27 03:47:01 -04:00

952 lines
22 KiB
Plaintext

/*******************************************************************
* Decompiled By: Bog
* Decompiled File: maps\_menus.gsc
* Game: Call of Duty: Modern Warfare 3
* Platform: PC
* Function Count: 41
* Decompile Time: 552 ms
* Timestamp: 10/27/2023 2:20:11 AM
*******************************************************************/
//Function Number: 1
init()
{
precachemenu("uiScript_startMultiplayer");
precacheshader("black");
precacheshader("white");
precacheshader("menu_button");
precacheshader("menu_button_selected");
precacheshader("menu_button_fade");
precacheshader("menu_button_fade_selected");
precacheshader("menu_button_faderight");
precacheshader("menu_button_faderight_selected");
precacheshader("menu_caret_open");
precacheshader("menu_caret_closed");
thread initthumbsticklayout();
thread initbuttonlayout();
thread initsensitivity();
thread initinversion();
thread initautoaim();
thread initvibration();
level.menustack = [];
var_00 = createmenu("levels");
var_01 = setupaction(::loadmap,"cqb_1");
var_02 = spawnstruct();
var_02.display = &"MENU_1ST_PASS";
var_02.xpos = 240;
var_02.ypos = 100;
var_00 additem(&"MENU_CQB_TEST",var_01,"loadmap",var_02);
var_01 = setupaction(::loadmap,"descent");
var_02 = spawnstruct();
var_02.display = &"MENU_1ST_PASS";
var_02.xpos = 240;
var_02.ypos = 100;
var_00 additem(&"MENU_BUNKER",var_01,"loadmap",var_02);
var_01 = setupaction(::loadmap,"aftermath");
var_02 = spawnstruct();
var_02.display = &"MENU_100_INITIAL_GEO";
var_02.xpos = 240;
var_02.ypos = 100;
var_00 additem(&"MENU_AFTERMATH",var_01,"loadmap",var_02);
var_01 = setupaction(::loadmap,"chechnya_escape");
var_02 = spawnstruct();
var_02.display = &"MENU_40_INITIAL_GEO";
var_02.xpos = 240;
var_02.ypos = 100;
var_00 additem(&"MENU_CHECHNYA_ESCAPE",var_01,"loadmap",var_02);
var_01 = setupaction(::loadmap,"marksman");
var_02 = spawnstruct();
var_02.display = &"MENU_25_SCRIPTED";
var_02.xpos = 240;
var_02.ypos = 100;
var_00 additem(&"MENU_MARKSMAN",var_01,"loadmap",var_02);
var_01 = setupaction(::loadmap,"seaknight_defend");
var_02 = spawnstruct();
var_02.display = &"MENU_PROTOTYPE_LEVEL_30_SCRIPTED";
var_02.xpos = 240;
var_02.ypos = 100;
var_00 additem(&"MENU_SEAKNIGHT_DEFEND",var_01,"loadmap",var_02);
var_01 = setupaction(::loadmap,"wetwork");
var_02 = spawnstruct();
var_02.display = &"MENU_100_INITIAL_GEO";
var_02.xpos = 240;
var_02.ypos = 100;
var_00 additem(&"MENU_WETWORK",var_01,"loadmap",var_02);
var_01 = setupaction(::loadmap,"cargoship");
var_02 = spawnstruct();
var_02.display = &"MENU_10_SCRIPTED";
var_02.xpos = 240;
var_02.ypos = 100;
var_00 additem(&"MENU_CARGOSHIP",var_01,"loadmap",var_02);
var_01 = setupaction(::loadmap,"bog");
var_02 = spawnstruct();
var_02.display = &"MENU_35_INITIAL_GEO";
var_02.xpos = 240;
var_02.ypos = 100;
var_00 additem(&"MENU_BOG",var_01,"loadmap",var_02);
var_01 = setupaction(::loadmap,"training");
var_02 = spawnstruct();
var_02.display = &"MENU_5_SCRIPTED";
var_02.xpos = 240;
var_02.ypos = 100;
var_00 additem(&"MENU_TRAINING1",var_01,"loadmap",var_02);
var_01 = setupaction(::loadmap,"ac130");
var_02 = spawnstruct();
var_02.display = &"MENU_30";
var_02.xpos = 240;
var_02.ypos = 100;
var_00 additem(&"MENU_AC130",var_01,"loadmap",var_02);
var_01 = setupaction(::loadmap,"seaknight_assault");
var_02 = spawnstruct();
var_02.display = &"MENU_INITIAL_GEO_IN_PROGRESS";
var_02.xpos = 240;
var_02.ypos = 100;
var_00 additem(&"MENU_SEAKNIGHT_ASSAULT",var_01,"loadmap",var_02);
var_01 = setupaction(::loadmap,"pilotcobra");
var_02 = spawnstruct();
var_02.display = &"MENU_INITIAL_GEO_IN_PROGRESS";
var_02.xpos = 240;
var_02.ypos = 100;
var_00 additem(&"MENU_PILOT_COBRA",var_01,"loadmap",var_02);
var_03 = createmenu_controls("controls");
var_04 = spawnstruct();
var_04.index = 0;
var_04.dvar = "controls_sticksConfig";
var_04.value[0] = "thumbstick_default";
var_04.value[1] = "thumbstick_southpaw";
var_04.value[2] = "thumbstick_legacy";
var_04.value[3] = "thumbstick_legacysouthpaw";
var_04.display[0] = "Default";
var_04.display[1] = "Southpaw";
var_04.display[2] = "Legacy";
var_04.display[3] = "Legacy Southpaw";
var_03 additemsetting(&"MENU_THUMBSTICK_LAYOUT",undefined,undefined,undefined,var_04);
var_04 = spawnstruct();
var_04.index = 0;
var_04.dvar = "controls_buttonConfig";
var_04.value[0] = "buttons_default";
var_04.value[1] = "buttons_tactical";
var_04.value[2] = "buttons_lefty";
var_04.value[3] = "buttons_finesthour";
var_04.display[0] = "Default";
var_04.display[1] = "Tactical";
var_04.display[2] = "Lefty";
var_04.display[3] = "Finest Hour";
var_03 additemsetting(&"MENU_BUTTON_LAYOUT",undefined,undefined,undefined,var_04);
var_04 = spawnstruct();
var_04.index = 1;
var_04.dvar = "controls_sensitivityConfig";
var_04.value[0] = "sensitivity_low";
var_04.value[1] = "sensitivity_medium";
var_04.value[2] = "sensitivity_high";
var_04.value[3] = "sensitivity_veryhigh";
var_04.display[0] = "Low";
var_04.display[1] = "Medium";
var_04.display[2] = "High";
var_04.display[3] = "Very High";
var_03 additemsetting(&"MENU_LOOK_SENSITIVITY",undefined,undefined,undefined,var_04);
var_04 = spawnstruct();
var_04.index = 0;
var_04.dvar = "controls_inversionConfig";
var_04.value[0] = "inversion_disabled";
var_04.value[1] = "inversion_enabled";
var_04.display[0] = "Disabled";
var_04.display[1] = "Enabled";
var_03 additemsetting(&"MENU_LOOK_INVERSION",undefined,undefined,undefined,var_04);
var_04 = spawnstruct();
var_04.index = 1;
var_04.dvar = "controls_autoaimConfig";
var_04.value[0] = "autoaim_disabled";
var_04.value[1] = "autoaim_enabled";
var_04.display[0] = "Disabled";
var_04.display[1] = "Enabled";
var_03 additemsetting(&"MENU_AUTOAIM",undefined,undefined,undefined,var_04);
var_04 = spawnstruct();
var_04.index = 1;
var_04.dvar = "controls_vibrationConfig";
var_04.value[0] = "vibration_disabled";
var_04.value[1] = "vibration_enabled";
var_04.display[0] = "Disabled";
var_04.display[1] = "Enabled";
var_03 additemsetting(&"MENU_CONTROLLER_VIBRATION",undefined,undefined,undefined,var_04);
var_05 = createmenu("main");
var_01 = setupaction(::pushmenu,var_00);
var_05 additem(&"MENU_SELECT_LEVEL",var_01,"openmenu_levels");
var_06 = var_05 addsubmenu("options",&"MENU_OPTIONS");
var_01 = setupaction(::pushmenu,var_03);
var_06 additem(&"MENU_CONTROLS",var_01);
var_06 additem(&"MENU_SUBTITLES");
var_06 additem(&"MENU_SAVE_DEVICE");
var_05 additem(&"MENU_CREDITS");
var_01 = setupaction(::loadmultiplayer);
var_05 additem(&"MENU_MULTIPLAYER",var_01);
pushmenu(var_05);
level.player thread menuresponse();
}
//Function Number: 2
void()
{
}
//Function Number: 3
loadmap(param_00)
{
changelevel(param_00);
}
//Function Number: 4
loadmultiplayer()
{
level.player openpopupmenu("uiScript_startMultiplayer");
}
//Function Number: 5
pushmenu(param_00)
{
level.menustack[level.menustack.size] = param_00;
var_01 = level.curmenu;
level.curmenu = param_00;
if(param_00.menutype == "fullScreen")
{
if(isdefined(var_01))
{
var_01 thread hidemenu(0.2,1);
}
param_00 thread showmenu(0.2,1);
level notify("open_menu",level.curmenu.name);
}
else
{
param_00 thread expandmenu(0.2);
}
level.player playsound("mouse_click");
}
//Function Number: 6
popmenu()
{
if(level.menustack.size == 1)
{
return;
}
level.menustack[level.menustack.size - 1] = undefined;
var_00 = level.curmenu;
level.curmenu = level.menustack[level.menustack.size - 1];
if(var_00.menutype == "subMenu")
{
var_00 thread collapsemenu(0.2);
level.curmenu updatemenu(0.2,1);
}
else
{
var_00 thread hidemenu(0.2,0);
level.curmenu thread showmenu(0.2,0);
level notify("close_menu",level.menustack.size);
}
level.player playsound("mouse_click");
}
//Function Number: 7
createmenu(param_00)
{
var_01 = spawnstruct();
var_01.name = param_00;
var_01.menutype = "fullScreen";
var_01.itemdefs = [];
var_01.itemwidth = 120;
var_01.itemheight = 20;
var_01.itempadding = 0;
var_01.selectedindex = 0;
var_01.xpos = 80;
var_01.ypos = 100;
var_01.xoffset = 0;
var_01.yoffset = 0;
return var_01;
}
//Function Number: 8
createmenu_controls(param_00)
{
var_01 = spawnstruct();
var_01.name = param_00;
var_01.menutype = "fullScreen";
var_01.itemdefs = [];
var_01.itemwidth = 420;
var_01.itemheight = 20;
var_01.itempadding = 0;
var_01.selectedindex = 0;
var_01.xpos = 80;
var_01.ypos = 100;
var_01.xoffset = 0;
var_01.yoffset = 0;
return var_01;
}
//Function Number: 9
createsubmenu(param_00)
{
var_01 = spawnstruct();
var_01.name = param_00;
var_01.menutype = "subMenu";
var_01.itemdefs = [];
var_01.itemwidth = 120;
var_01.itemheight = 20;
var_01.itempadding = 0;
var_01.selectedindex = 0;
var_01.isexpanded = 0;
return var_01;
}
//Function Number: 10
additem(param_00,param_01,param_02,param_03)
{
precachestring(param_00);
var_04 = spawnstruct();
var_04.itemtype = "item";
var_04.bgshader = "menu_button_selected";
var_04.fgtext = param_00;
var_04.xpos = 0;
var_04.ypos = 0;
var_04.xoffset = 0;
var_04.yoffset = 0;
var_04.action = param_01;
var_04.event = param_02;
var_04.description = param_03;
var_04.parentdef = self;
var_04.index = self.itemdefs.size;
self.itemdefs[self.itemdefs.size] = var_04;
}
//Function Number: 11
additemsetting(param_00,param_01,param_02,param_03,param_04)
{
precachestring(param_00);
var_05 = spawnstruct();
var_05.itemtype = "settingMenu";
var_05.bgshader = "menu_button_selected";
var_05.fgtext = param_00;
var_05.xpos = 0;
var_05.ypos = 0;
var_05.xoffset = 0;
var_05.yoffset = 0;
var_05.action = param_01;
var_05.event = param_02;
var_05.description = param_03;
var_05.setting = param_04;
var_05.parentdef = self;
var_05.index = self.itemdefs.size;
self.itemdefs[self.itemdefs.size] = var_05;
}
//Function Number: 12
addsubmenu(param_00,param_01)
{
var_02 = createsubmenu(param_00);
var_02.itemtype = "subMenu";
var_02.bgshader = "menu_button_selected";
var_02.fgtext = param_01;
var_02.xpos = 0;
var_02.ypos = 0;
var_02.xoffset = 20;
var_02.yoffset = self.itemheight + self.itempadding;
var_02.parentdef = self;
var_02.index = self.itemdefs.size;
self.itemdefs[self.itemdefs.size] = var_02;
return var_02;
}
//Function Number: 13
createitemelems()
{
self.bgicon = maps\_hud_util::createicon(self.bgshader,self.parentdef.itemwidth,self.parentdef.itemheight);
self.bgicon.alpha = 0;
self.bgicon.sort = 0;
self.fontstring = maps\_hud_util::createfontstring("default",1.5);
self.fontstring.alpha = 0;
self.fontstring.sort = 100;
self.fontstring settext(self.fgtext);
if(self.itemtype == "settingMenu")
{
self.settingvalue = maps\_hud_util::createfontstring("default",1.5);
self.settingvalue.alpha = 0;
self.settingvalue.sort = 100;
updatedisplayvalue();
}
if(self.itemtype == "subMenu")
{
self.careticon = maps\_hud_util::createicon("menu_caret_closed",self.parentdef.itemheight,self.parentdef.itemheight);
self.careticon.alpha = 0;
self.careticon.sort = 100;
}
if(isdefined(self.description))
{
self.descriptionvalue = maps\_hud_util::createfontstring("default",1.5);
self.descriptionvalue.alpha = 0;
self.descriptionvalue.sort = 100;
self.descriptionvalue settext(self.description.display);
}
}
//Function Number: 14
destroyitemelems()
{
if(self.itemtype == "subMenu")
{
self.careticon maps\_hud_util::destroyelem();
}
if(self.itemtype == "settingMenu")
{
self.settingvalue maps\_hud_util::destroyelem();
}
if(isdefined(self.descriptionvalue))
{
self.descriptionvalue maps\_hud_util::destroyelem();
}
self.bgicon maps\_hud_util::destroyelem();
self.fontstring maps\_hud_util::destroyelem();
}
//Function Number: 15
setelempoints(param_00,param_01,param_02,param_03,param_04)
{
var_05 = 3;
self.bgicon maps\_hud_util::setpoint(param_00,param_01,param_02,param_03,param_04);
if(self.itemtype == "subMenu")
{
self.careticon maps\_hud_util::setpoint(param_00,param_01,param_02,param_03,param_04);
var_05 = var_05 + 16;
}
if(self.itemtype == "settingMenu")
{
self.settingvalue maps\_hud_util::setpoint("TOPRIGHT",param_01,param_02 + var_05 + 400,param_03,param_04);
}
if(isdefined(self.descriptionvalue))
{
self.descriptionvalue maps\_hud_util::setpoint("TOPLEFT",param_01,self.description.xpos,self.description.ypos,param_04);
}
self.fontstring maps\_hud_util::setpoint(param_00,param_01,param_02 + var_05,param_03,param_04);
}
//Function Number: 16
showmenu(param_00,param_01)
{
var_02 = 0;
for(var_03 = 0;var_03 < self.itemdefs.size;var_03++)
{
var_04 = self.itemdefs[var_03];
var_04 createitemelems();
if(param_01)
{
var_04 setelempoints("TOPLEFT","TOPRIGHT",self.xpos,self.ypos + var_02);
}
else
{
var_04 setelempoints("TOPRIGHT","TOPLEFT",self.xpos,self.ypos + var_02);
}
var_04.xpos = self.xpos;
var_04.ypos = self.ypos + var_02;
var_02 = var_02 + self.itemheight + self.itempadding;
if(var_04.itemtype == "subMenu" && var_04.isexpanded)
{
var_02 = var_02 + var_04 getmenuheight();
}
}
if(self.menutype == "subMenu")
{
self.parentdef showmenu(param_00,param_01);
}
updatemenu(param_00,1);
}
//Function Number: 17
hidemenu(param_00,param_01)
{
var_02 = 0;
for(var_03 = 0;var_03 < self.itemdefs.size;var_03++)
{
var_04 = self.itemdefs[var_03];
var_05 = -1 * self.itemwidth;
if(param_01)
{
var_04 setelempoints("TOPRIGHT","TOPLEFT",self.xpos,self.ypos + var_02,param_00);
var_04.bgicon fadeovertime(param_00);
var_04.bgicon.alpha = 0;
var_04.fontstring fadeovertime(param_00);
var_04.fontstring.alpha = 0;
if(var_04.itemtype == "settingMenu")
{
var_04.settingvalue fadeovertime(param_00);
var_04.settingvalue.alpha = 0;
}
if(var_04.itemtype == "subMenu")
{
var_04.careticon fadeovertime(param_00);
var_04.careticon.alpha = 0;
}
}
else
{
var_04 setelempoints("TOPLEFT","TOPRIGHT",self.xpos,self.ypos + var_02,param_00);
var_04.bgicon fadeovertime(param_00);
var_04.bgicon.alpha = 0;
var_04.fontstring fadeovertime(param_00);
var_04.fontstring.alpha = 0;
if(var_04.itemtype == "settingMenu")
{
var_04.settingvalue fadeovertime(param_00);
var_04.settingvalue.alpha = 0;
}
if(var_04.itemtype == "subMenu")
{
var_04.careticon fadeovertime(param_00);
var_04.careticon.alpha = 0;
}
}
var_04.xpos = self.xpos;
var_04.ypos = self.ypos + var_02;
var_02 = var_02 + self.itemheight + self.itempadding;
if(var_04.itemtype == "subMenu" && var_04.isexpanded)
{
var_02 = var_02 + var_04 getmenuheight();
}
}
if(self.menutype == "subMenu")
{
self.parentdef thread hidemenu(param_00,param_01);
}
wait param_00;
for(var_03 = 0;var_03 < self.itemdefs.size;var_03++)
{
var_04 = self.itemdefs[var_03];
var_04 destroyitemelems();
}
}
//Function Number: 18
collapsemenu(param_00)
{
self.isexpanded = 0;
self.careticon setshader("menu_caret_closed",self.parentdef.itemheight,self.parentdef.itemheight);
var_01 = 0;
for(var_02 = 0;var_02 < self.itemdefs.size;var_02++)
{
var_03 = self.itemdefs[var_02];
var_03 setelempoints("TOPLEFT","TOPLEFT",self.xpos,self.ypos,param_00);
var_03.bgicon fadeovertime(param_00);
var_03.bgicon.alpha = 0;
var_03.fontstring fadeovertime(param_00);
var_03.fontstring.alpha = 0;
if(var_03.itemtype == "subMenu")
{
var_03.careticon fadeovertime(param_00);
var_03.careticon.alpha = 0;
}
var_03.xpos = self.xpos;
var_03.ypos = self.ypos;
}
wait param_00;
for(var_02 = 0;var_02 < self.itemdefs.size;var_02++)
{
var_03 = self.itemdefs[var_02];
var_03.bgicon maps\_hud_util::destroyelem();
var_03.fontstring maps\_hud_util::destroyelem();
if(var_03.itemtype == "subMenu")
{
var_03.careticon maps\_hud_util::destroyelem();
}
}
}
//Function Number: 19
expandmenu(param_00)
{
self.isexpanded = 1;
self.careticon setshader("menu_caret_open",self.parentdef.itemheight,self.parentdef.itemheight);
for(var_01 = 0;var_01 < self.itemdefs.size;var_01++)
{
var_02 = self.itemdefs[var_01];
var_02 createitemelems();
var_02 setelempoints("TOPLEFT","TOPLEFT",self.xpos + self.xoffset,self.ypos + self.yoffset);
var_02.xpos = self.xpos + self.xoffset;
var_02.ypos = self.ypos + self.yoffset;
}
updatemenu(param_00,1);
}
//Function Number: 20
updatemenu(param_00,param_01)
{
var_02 = self.xoffset;
var_03 = self.yoffset;
for(var_04 = 0;var_04 < self.itemdefs.size;var_04++)
{
var_05 = self.itemdefs[var_04];
var_05 setselected(param_00,var_04 == self.selectedindex);
var_06 = var_05.xpos;
var_07 = var_05.ypos;
if(param_01 || self.xpos + var_02 != var_06 || self.ypos + var_03 != var_07)
{
var_05 setelempoints("TOPLEFT","TOPLEFT",self.xpos + var_02,self.ypos + var_03,param_00);
var_05.xpos = self.xpos + var_02;
var_05.ypos = self.ypos + var_03;
}
var_03 = var_03 + self.itemheight + self.itempadding;
if(var_05.itemtype == "subMenu" && var_05.isexpanded)
{
var_03 = var_03 + var_05 getmenuheight();
}
}
if(isdefined(self.parentdef))
{
self.parentdef thread updatemenu(param_00,param_01);
}
}
//Function Number: 21
setselected(param_00,param_01)
{
self.bgicon fadeovertime(param_00);
self.fontstring fadeovertime(param_00);
if(isdefined(self.settingvalue))
{
self.settingvalue fadeovertime(param_00);
}
if(isdefined(self.descriptionvalue))
{
self.descriptionvalue fadeovertime(param_00);
}
if(param_01)
{
if(self.parentdef == level.curmenu)
{
setelemalpha(1);
}
else
{
setelemalpha(0.5);
}
if(isdefined(self.descriptionvalue))
{
self.descriptionvalue.alpha = 1;
return;
}
return;
}
if(self.parentdef == level.curmenu)
{
setelemalpha(0.5);
}
else
{
setelemalpha(0.25);
}
if(isdefined(self.descriptionvalue))
{
self.descriptionvalue.alpha = 0;
}
}
//Function Number: 22
setelemalpha(param_00)
{
self.bgicon.alpha = param_00;
self.fontstring.alpha = param_00;
if(self.itemtype == "settingMenu")
{
self.settingvalue.alpha = param_00;
}
if(self.itemtype == "subMenu")
{
self.careticon.alpha = param_00;
}
}
//Function Number: 23
setelemcolor(param_00)
{
self.fontstring.color = param_00;
}
//Function Number: 24
getmenuheight()
{
var_00 = 0;
for(var_01 = 0;var_01 < self.itemdefs.size;var_01++)
{
var_02 = self.itemdefs[var_01];
var_00 = var_00 + self.itemheight + self.itempadding;
if(var_02.itemtype == "subMenu" && var_02.isexpanded)
{
var_00 = var_00 + var_02 getmenuheight();
}
}
return var_00;
}
//Function Number: 25
ondpadup()
{
self.selectedindex--;
if(self.selectedindex < 0)
{
self.selectedindex = self.itemdefs.size - 1;
}
updatemenu(0.1,0);
level.player playsound("mouse_over");
}
//Function Number: 26
ondpaddown()
{
self.selectedindex++;
if(self.selectedindex >= self.itemdefs.size)
{
self.selectedindex = 0;
}
updatemenu(0.1,0);
level.player playsound("mouse_over");
}
//Function Number: 27
onbuttonb()
{
popmenu();
}
//Function Number: 28
onbuttona()
{
var_00 = self.itemdefs[self.selectedindex];
if(var_00.itemtype == "subMenu")
{
pushmenu(var_00);
return;
}
if(var_00.itemtype == "item")
{
var_00 thread runaction();
}
}
//Function Number: 29
ondpadleft()
{
var_00 = self.itemdefs[self.selectedindex];
if(var_00.itemtype == "settingMenu")
{
var_01 = getdvar(var_00.setting.dvar);
var_02 = var_00.setting.value;
var_03 = 0;
for(var_04 = 0;var_04 < var_02.size;var_04++)
{
var_05 = var_02[var_04];
if(var_05 != var_01)
{
continue;
}
var_03 = var_04 - 1;
if(var_03 >= 0)
{
var_00.setting.index = var_03;
setdvar(var_00.setting.dvar,var_02[var_03]);
var_00 updatedisplayvalue();
level.player playsound("mouse_over");
}
break;
}
}
}
//Function Number: 30
ondpadright()
{
var_00 = self.itemdefs[self.selectedindex];
if(var_00.itemtype == "settingMenu")
{
var_01 = getdvar(var_00.setting.dvar);
var_02 = var_00.setting.value;
var_03 = 0;
for(var_04 = 0;var_04 < var_02.size;var_04++)
{
var_05 = var_02[var_04];
if(var_05 != var_01)
{
continue;
}
var_03 = var_04 + 1;
if(var_03 <= var_00.setting.value.size - 1)
{
var_00.setting.index = var_03;
setdvar(var_00.setting.dvar,var_02[var_03]);
var_00 updatedisplayvalue();
level.player playsound("mouse_over");
}
break;
}
}
}
//Function Number: 31
initthumbsticklayout()
{
setdvar("controls_sticksConfig","thumbstick_default");
}
//Function Number: 32
initbuttonlayout()
{
setdvar("controls_buttonConfig","buttons_default");
}
//Function Number: 33
initsensitivity()
{
setdvar("controls_sensitivityConfig","sensitivity_medium");
}
//Function Number: 34
initinversion()
{
setdvar("controls_inversionConfig","inversion_disabled");
}
//Function Number: 35
initautoaim()
{
setdvar("controls_autoaimConfig","autoaim_enabled");
}
//Function Number: 36
initvibration()
{
setdvar("controls_vibrationConfig","vibration_enabled");
}
//Function Number: 37
updatedisplayvalue()
{
self.settingvalue settext(self.setting.display[self.setting.index]);
}
//Function Number: 38
setupaction(param_00,param_01,param_02)
{
var_03 = spawnstruct();
var_03.name = param_00;
if(isdefined(param_01))
{
var_03.arg1 = param_01;
}
if(isdefined(param_02))
{
var_03.arg2 = param_02;
}
return var_03;
}
//Function Number: 39
runaction()
{
if(isdefined(self.action))
{
if(isdefined(self.action.arg1))
{
thread [[ self.action.name ]](self.action.arg1);
}
else
{
thread [[ self.action.name ]]();
}
}
if(isdefined(self.event))
{
level notify(self.event);
}
}
//Function Number: 40
testaction()
{
level.marine setgoalnode(getnode("node2","targetname"));
level.camera attachpath(getvehiclenode("path2","targetname"));
thread maps\_vehicle::gopath(level.camera);
}
//Function Number: 41
menuresponse()
{
for(;;)
{
self waittill("menuresponse",var_00,var_01);
switch(var_01)
{
case "DPAD_UP":
level.curmenu ondpadup();
break;
case "DPAD_DOWN":
level.curmenu ondpaddown();
break;
case "DPAD_LEFT":
level.curmenu ondpadleft();
break;
case "DPAD_RIGHT":
level.curmenu ondpadright();
break;
case "BUTTON_A":
level.curmenu onbuttona();
break;
case "BUTTON_B":
level.curmenu onbuttonb();
break;
}
}
}