mirror of
https://github.com/InfinityLoader/IL-GSC.git
synced 2025-06-25 00:47:55 -05:00
952 lines
22 KiB
Plaintext
952 lines
22 KiB
Plaintext
/*******************************************************************
|
|
* Decompiled By: Bog
|
|
* Decompiled File: maps\_menus.gsc
|
|
* Game: Call of Duty: Modern Warfare 3
|
|
* Platform: Console
|
|
* Function Count: 41
|
|
* Decompile Time: 623 ms
|
|
* Timestamp: 10/27/2023 2:34:26 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 func_3C03();
|
|
thread func_3C04();
|
|
thread func_3C05();
|
|
thread initvibration();
|
|
level.menustack = [];
|
|
var_00 = createmenu("levels");
|
|
var_01 = setupaction(::func_3BD2,"cqb_1");
|
|
var_02 = spawnstruct();
|
|
var_02.display = &"MENU_1ST_PASS";
|
|
var_02.var_3BD0 = 240;
|
|
var_02.ypos = 100;
|
|
var_00 func_3BE1(&"MENU_CQB_TEST",var_01,"loadmap",var_02);
|
|
var_01 = setupaction(::func_3BD2,"descent");
|
|
var_02 = spawnstruct();
|
|
var_02.display = &"MENU_1ST_PASS";
|
|
var_02.var_3BD0 = 240;
|
|
var_02.ypos = 100;
|
|
var_00 func_3BE1(&"MENU_BUNKER",var_01,"loadmap",var_02);
|
|
var_01 = setupaction(::func_3BD2,"aftermath");
|
|
var_02 = spawnstruct();
|
|
var_02.display = &"MENU_100_INITIAL_GEO";
|
|
var_02.var_3BD0 = 240;
|
|
var_02.ypos = 100;
|
|
var_00 func_3BE1(&"MENU_AFTERMATH",var_01,"loadmap",var_02);
|
|
var_01 = setupaction(::func_3BD2,"chechnya_escape");
|
|
var_02 = spawnstruct();
|
|
var_02.display = &"MENU_40_INITIAL_GEO";
|
|
var_02.var_3BD0 = 240;
|
|
var_02.ypos = 100;
|
|
var_00 func_3BE1(&"MENU_CHECHNYA_ESCAPE",var_01,"loadmap",var_02);
|
|
var_01 = setupaction(::func_3BD2,"marksman");
|
|
var_02 = spawnstruct();
|
|
var_02.display = &"MENU_25_SCRIPTED";
|
|
var_02.var_3BD0 = 240;
|
|
var_02.ypos = 100;
|
|
var_00 func_3BE1(&"MENU_MARKSMAN",var_01,"loadmap",var_02);
|
|
var_01 = setupaction(::func_3BD2,"seaknight_defend");
|
|
var_02 = spawnstruct();
|
|
var_02.display = &"MENU_PROTOTYPE_LEVEL_30_SCRIPTED";
|
|
var_02.var_3BD0 = 240;
|
|
var_02.ypos = 100;
|
|
var_00 func_3BE1(&"MENU_SEAKNIGHT_DEFEND",var_01,"loadmap",var_02);
|
|
var_01 = setupaction(::func_3BD2,"wetwork");
|
|
var_02 = spawnstruct();
|
|
var_02.display = &"MENU_100_INITIAL_GEO";
|
|
var_02.var_3BD0 = 240;
|
|
var_02.ypos = 100;
|
|
var_00 func_3BE1(&"MENU_WETWORK",var_01,"loadmap",var_02);
|
|
var_01 = setupaction(::func_3BD2,"cargoship");
|
|
var_02 = spawnstruct();
|
|
var_02.display = &"MENU_10_SCRIPTED";
|
|
var_02.var_3BD0 = 240;
|
|
var_02.ypos = 100;
|
|
var_00 func_3BE1(&"MENU_CARGOSHIP",var_01,"loadmap",var_02);
|
|
var_01 = setupaction(::func_3BD2,"bog");
|
|
var_02 = spawnstruct();
|
|
var_02.display = &"MENU_35_INITIAL_GEO";
|
|
var_02.var_3BD0 = 240;
|
|
var_02.ypos = 100;
|
|
var_00 func_3BE1(&"MENU_BOG",var_01,"loadmap",var_02);
|
|
var_01 = setupaction(::func_3BD2,"training");
|
|
var_02 = spawnstruct();
|
|
var_02.display = &"MENU_5_SCRIPTED";
|
|
var_02.var_3BD0 = 240;
|
|
var_02.ypos = 100;
|
|
var_00 func_3BE1(&"MENU_TRAINING1",var_01,"loadmap",var_02);
|
|
var_01 = setupaction(::func_3BD2,"ac130");
|
|
var_02 = spawnstruct();
|
|
var_02.display = &"MENU_30";
|
|
var_02.var_3BD0 = 240;
|
|
var_02.ypos = 100;
|
|
var_00 func_3BE1(&"MENU_AC130",var_01,"loadmap",var_02);
|
|
var_01 = setupaction(::func_3BD2,"seaknight_assault");
|
|
var_02 = spawnstruct();
|
|
var_02.display = &"MENU_INITIAL_GEO_IN_PROGRESS";
|
|
var_02.var_3BD0 = 240;
|
|
var_02.ypos = 100;
|
|
var_00 func_3BE1(&"MENU_SEAKNIGHT_ASSAULT",var_01,"loadmap",var_02);
|
|
var_01 = setupaction(::func_3BD2,"pilotcobra");
|
|
var_02 = spawnstruct();
|
|
var_02.display = &"MENU_INITIAL_GEO_IN_PROGRESS";
|
|
var_02.var_3BD0 = 240;
|
|
var_02.ypos = 100;
|
|
var_00 func_3BE1(&"MENU_PILOT_COBRA",var_01,"loadmap",var_02);
|
|
var_03 = func_3BDE("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 func_3BE7(&"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 func_3BE7(&"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 func_3BE7(&"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 func_3BE7(&"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 func_3BE7(&"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 func_3BE7(&"MENU_CONTROLLER_VIBRATION",undefined,undefined,undefined,var_04);
|
|
var_05 = createmenu("main");
|
|
var_01 = setupaction(::pushmenu,var_00);
|
|
var_05 func_3BE1(&"MENU_SELECT_LEVEL",var_01,"openmenu_levels");
|
|
var_06 = var_05 func_3BE9("options",&"MENU_OPTIONS");
|
|
var_01 = setupaction(::pushmenu,var_03);
|
|
var_06 func_3BE1(&"MENU_CONTROLS",var_01);
|
|
var_06 func_3BE1(&"MENU_SUBTITLES");
|
|
var_06 func_3BE1(&"MENU_SAVE_DEVICE");
|
|
var_05 func_3BE1(&"MENU_CREDITS");
|
|
var_01 = setupaction(::loadmultiplayer);
|
|
var_05 func_3BE1(&"MENU_MULTIPLAYER",var_01);
|
|
pushmenu(var_05);
|
|
level.player thread menuresponse();
|
|
}
|
|
|
|
//Function Number: 2
|
|
void()
|
|
{
|
|
}
|
|
|
|
//Function Number: 3
|
|
func_3BD2(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.var_3BD5;
|
|
level.var_3BD5 = 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.var_3BD5.name);
|
|
}
|
|
else
|
|
{
|
|
param_00 thread expandmenu(0.2);
|
|
}
|
|
|
|
level.player playsound("mouse_click");
|
|
}
|
|
|
|
//Function Number: 6
|
|
func_3BD7()
|
|
{
|
|
if(level.menustack.size == 1)
|
|
{
|
|
return;
|
|
}
|
|
|
|
level.menustack[level.menustack.size - 1] = undefined;
|
|
var_00 = level.var_3BD5;
|
|
level.var_3BD5 = level.menustack[level.menustack.size - 1];
|
|
if(var_00.menutype == "subMenu")
|
|
{
|
|
var_00 thread collapsemenu(0.2);
|
|
level.var_3BD5 func_3BF6(0.2,1);
|
|
}
|
|
else
|
|
{
|
|
var_00 thread hidemenu(0.2,0);
|
|
level.var_3BD5 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.var_3BDB = 20;
|
|
var_01.var_3BDC = 0;
|
|
var_01.var_3BDD = 0;
|
|
var_01.var_3BD0 = 80;
|
|
var_01.ypos = 100;
|
|
var_01.xoffset = 0;
|
|
var_01.yoffset = 0;
|
|
return var_01;
|
|
}
|
|
|
|
//Function Number: 8
|
|
func_3BDE(param_00)
|
|
{
|
|
var_01 = spawnstruct();
|
|
var_01.name = param_00;
|
|
var_01.menutype = "fullScreen";
|
|
var_01.itemdefs = [];
|
|
var_01.itemwidth = 420;
|
|
var_01.var_3BDB = 20;
|
|
var_01.var_3BDC = 0;
|
|
var_01.var_3BDD = 0;
|
|
var_01.var_3BD0 = 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.var_3BDB = 20;
|
|
var_01.var_3BDC = 0;
|
|
var_01.var_3BDD = 0;
|
|
var_01.var_3BE0 = 0;
|
|
return var_01;
|
|
}
|
|
|
|
//Function Number: 10
|
|
func_3BE1(param_00,param_01,param_02,param_03)
|
|
{
|
|
precachestring(param_00);
|
|
var_04 = spawnstruct();
|
|
var_04.itemtype = "item";
|
|
var_04.var_3BE3 = "menu_button_selected";
|
|
var_04.var_3BE4 = param_00;
|
|
var_04.var_3BD0 = 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.var_16D0 = param_03;
|
|
var_04.var_3BE6 = self;
|
|
var_04.index = self.itemdefs.size;
|
|
self.itemdefs[self.itemdefs.size] = var_04;
|
|
}
|
|
|
|
//Function Number: 11
|
|
func_3BE7(param_00,param_01,param_02,param_03,param_04)
|
|
{
|
|
precachestring(param_00);
|
|
var_05 = spawnstruct();
|
|
var_05.itemtype = "settingMenu";
|
|
var_05.var_3BE3 = "menu_button_selected";
|
|
var_05.var_3BE4 = param_00;
|
|
var_05.var_3BD0 = 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.var_16D0 = param_03;
|
|
var_05.setting = param_04;
|
|
var_05.var_3BE6 = self;
|
|
var_05.index = self.itemdefs.size;
|
|
self.itemdefs[self.itemdefs.size] = var_05;
|
|
}
|
|
|
|
//Function Number: 12
|
|
func_3BE9(param_00,param_01)
|
|
{
|
|
var_02 = createsubmenu(param_00);
|
|
var_02.itemtype = "subMenu";
|
|
var_02.var_3BE3 = "menu_button_selected";
|
|
var_02.var_3BE4 = param_01;
|
|
var_02.var_3BD0 = 0;
|
|
var_02.ypos = 0;
|
|
var_02.xoffset = 20;
|
|
var_02.yoffset = self.var_3BDB + self.var_3BDC;
|
|
var_02.var_3BE6 = 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.var_3BE3,self.var_3BE6.itemwidth,self.var_3BE6.var_3BDB);
|
|
self.bgicon.alpha = 0;
|
|
self.bgicon.sort = 0;
|
|
self.var_3BEC = maps\_hud_util::createfontstring("default",1.5);
|
|
self.var_3BEC.alpha = 0;
|
|
self.var_3BEC.sort = 100;
|
|
self.var_3BEC settext(self.var_3BE4);
|
|
if(self.itemtype == "settingMenu")
|
|
{
|
|
self.var_3BED = maps\_hud_util::createfontstring("default",1.5);
|
|
self.var_3BED.alpha = 0;
|
|
self.var_3BED.sort = 100;
|
|
updatedisplayvalue();
|
|
}
|
|
|
|
if(self.itemtype == "subMenu")
|
|
{
|
|
self.var_3BEE = maps\_hud_util::createicon("menu_caret_closed",self.var_3BE6.var_3BDB,self.var_3BE6.var_3BDB);
|
|
self.var_3BEE.alpha = 0;
|
|
self.var_3BEE.sort = 100;
|
|
}
|
|
|
|
if(isdefined(self.var_16D0))
|
|
{
|
|
self.var_3BEF = maps\_hud_util::createfontstring("default",1.5);
|
|
self.var_3BEF.alpha = 0;
|
|
self.var_3BEF.sort = 100;
|
|
self.var_3BEF settext(self.var_16D0.display);
|
|
}
|
|
}
|
|
|
|
//Function Number: 14
|
|
destroyitemelems()
|
|
{
|
|
if(self.itemtype == "subMenu")
|
|
{
|
|
self.var_3BEE maps\_hud_util::destroyelem();
|
|
}
|
|
|
|
if(self.itemtype == "settingMenu")
|
|
{
|
|
self.var_3BED maps\_hud_util::destroyelem();
|
|
}
|
|
|
|
if(isdefined(self.var_3BEF))
|
|
{
|
|
self.var_3BEF maps\_hud_util::destroyelem();
|
|
}
|
|
|
|
self.bgicon maps\_hud_util::destroyelem();
|
|
self.var_3BEC 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.var_3BEE maps\_hud_util::setpoint(param_00,param_01,param_02,param_03,param_04);
|
|
var_05 = var_05 + 16;
|
|
}
|
|
|
|
if(self.itemtype == "settingMenu")
|
|
{
|
|
self.var_3BED maps\_hud_util::setpoint("TOPRIGHT",param_01,param_02 + var_05 + 400,param_03,param_04);
|
|
}
|
|
|
|
if(isdefined(self.var_3BEF))
|
|
{
|
|
self.var_3BEF maps\_hud_util::setpoint("TOPLEFT",param_01,self.var_16D0.var_3BD0,self.var_16D0.ypos,param_04);
|
|
}
|
|
|
|
self.var_3BEC 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.var_3BD0,self.ypos + var_02);
|
|
}
|
|
else
|
|
{
|
|
var_04 setelempoints("TOPRIGHT","TOPLEFT",self.var_3BD0,self.ypos + var_02);
|
|
}
|
|
|
|
var_04.var_3BD0 = self.var_3BD0;
|
|
var_04.ypos = self.ypos + var_02;
|
|
var_02 = var_02 + self.var_3BDB + self.var_3BDC;
|
|
if(var_04.itemtype == "subMenu" && var_04.var_3BE0)
|
|
{
|
|
var_02 = var_02 + var_04 func_3BFA();
|
|
}
|
|
}
|
|
|
|
if(self.menutype == "subMenu")
|
|
{
|
|
self.var_3BE6 showmenu(param_00,param_01);
|
|
}
|
|
|
|
func_3BF6(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.var_3BD0,self.ypos + var_02,param_00);
|
|
var_04.bgicon fadeovertime(param_00);
|
|
var_04.bgicon.alpha = 0;
|
|
var_04.var_3BEC fadeovertime(param_00);
|
|
var_04.var_3BEC.alpha = 0;
|
|
if(var_04.itemtype == "settingMenu")
|
|
{
|
|
var_04.var_3BED fadeovertime(param_00);
|
|
var_04.var_3BED.alpha = 0;
|
|
}
|
|
|
|
if(var_04.itemtype == "subMenu")
|
|
{
|
|
var_04.var_3BEE fadeovertime(param_00);
|
|
var_04.var_3BEE.alpha = 0;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
var_04 setelempoints("TOPLEFT","TOPRIGHT",self.var_3BD0,self.ypos + var_02,param_00);
|
|
var_04.bgicon fadeovertime(param_00);
|
|
var_04.bgicon.alpha = 0;
|
|
var_04.var_3BEC fadeovertime(param_00);
|
|
var_04.var_3BEC.alpha = 0;
|
|
if(var_04.itemtype == "settingMenu")
|
|
{
|
|
var_04.var_3BED fadeovertime(param_00);
|
|
var_04.var_3BED.alpha = 0;
|
|
}
|
|
|
|
if(var_04.itemtype == "subMenu")
|
|
{
|
|
var_04.var_3BEE fadeovertime(param_00);
|
|
var_04.var_3BEE.alpha = 0;
|
|
}
|
|
}
|
|
|
|
var_04.var_3BD0 = self.var_3BD0;
|
|
var_04.ypos = self.ypos + var_02;
|
|
var_02 = var_02 + self.var_3BDB + self.var_3BDC;
|
|
if(var_04.itemtype == "subMenu" && var_04.var_3BE0)
|
|
{
|
|
var_02 = var_02 + var_04 func_3BFA();
|
|
}
|
|
}
|
|
|
|
if(self.menutype == "subMenu")
|
|
{
|
|
self.var_3BE6 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.var_3BE0 = 0;
|
|
self.var_3BEE setshader("menu_caret_closed",self.var_3BE6.var_3BDB,self.var_3BE6.var_3BDB);
|
|
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.var_3BD0,self.ypos,param_00);
|
|
var_03.bgicon fadeovertime(param_00);
|
|
var_03.bgicon.alpha = 0;
|
|
var_03.var_3BEC fadeovertime(param_00);
|
|
var_03.var_3BEC.alpha = 0;
|
|
if(var_03.itemtype == "subMenu")
|
|
{
|
|
var_03.var_3BEE fadeovertime(param_00);
|
|
var_03.var_3BEE.alpha = 0;
|
|
}
|
|
|
|
var_03.var_3BD0 = self.var_3BD0;
|
|
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.var_3BEC maps\_hud_util::destroyelem();
|
|
if(var_03.itemtype == "subMenu")
|
|
{
|
|
var_03.var_3BEE maps\_hud_util::destroyelem();
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 19
|
|
expandmenu(param_00)
|
|
{
|
|
self.var_3BE0 = 1;
|
|
self.var_3BEE setshader("menu_caret_open",self.var_3BE6.var_3BDB,self.var_3BE6.var_3BDB);
|
|
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.var_3BD0 + self.xoffset,self.ypos + self.yoffset);
|
|
var_02.var_3BD0 = self.var_3BD0 + self.xoffset;
|
|
var_02.ypos = self.ypos + self.yoffset;
|
|
}
|
|
|
|
func_3BF6(param_00,1);
|
|
}
|
|
|
|
//Function Number: 20
|
|
func_3BF6(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.var_3BDD);
|
|
var_06 = var_05.var_3BD0;
|
|
var_07 = var_05.ypos;
|
|
if(param_01 || self.var_3BD0 + var_02 != var_06 || self.ypos + var_03 != var_07)
|
|
{
|
|
var_05 setelempoints("TOPLEFT","TOPLEFT",self.var_3BD0 + var_02,self.ypos + var_03,param_00);
|
|
var_05.var_3BD0 = self.var_3BD0 + var_02;
|
|
var_05.ypos = self.ypos + var_03;
|
|
}
|
|
|
|
var_03 = var_03 + self.var_3BDB + self.var_3BDC;
|
|
if(var_05.itemtype == "subMenu" && var_05.var_3BE0)
|
|
{
|
|
var_03 = var_03 + var_05 func_3BFA();
|
|
}
|
|
}
|
|
|
|
if(isdefined(self.var_3BE6))
|
|
{
|
|
self.var_3BE6 thread func_3BF6(param_00,param_01);
|
|
}
|
|
}
|
|
|
|
//Function Number: 21
|
|
setselected(param_00,param_01)
|
|
{
|
|
self.bgicon fadeovertime(param_00);
|
|
self.var_3BEC fadeovertime(param_00);
|
|
if(isdefined(self.var_3BED))
|
|
{
|
|
self.var_3BED fadeovertime(param_00);
|
|
}
|
|
|
|
if(isdefined(self.var_3BEF))
|
|
{
|
|
self.var_3BEF fadeovertime(param_00);
|
|
}
|
|
|
|
if(param_01)
|
|
{
|
|
if(self.var_3BE6 == level.var_3BD5)
|
|
{
|
|
func_3BF8(1);
|
|
}
|
|
else
|
|
{
|
|
func_3BF8(0.5);
|
|
}
|
|
|
|
if(isdefined(self.var_3BEF))
|
|
{
|
|
self.var_3BEF.alpha = 1;
|
|
return;
|
|
}
|
|
|
|
return;
|
|
}
|
|
|
|
if(self.var_3BE6 == level.var_3BD5)
|
|
{
|
|
func_3BF8(0.5);
|
|
}
|
|
else
|
|
{
|
|
func_3BF8(0.25);
|
|
}
|
|
|
|
if(isdefined(self.var_3BEF))
|
|
{
|
|
self.var_3BEF.alpha = 0;
|
|
}
|
|
}
|
|
|
|
//Function Number: 22
|
|
func_3BF8(param_00)
|
|
{
|
|
self.bgicon.alpha = param_00;
|
|
self.var_3BEC.alpha = param_00;
|
|
if(self.itemtype == "settingMenu")
|
|
{
|
|
self.var_3BED.alpha = param_00;
|
|
}
|
|
|
|
if(self.itemtype == "subMenu")
|
|
{
|
|
self.var_3BEE.alpha = param_00;
|
|
}
|
|
}
|
|
|
|
//Function Number: 23
|
|
func_3BF9(param_00)
|
|
{
|
|
self.var_3BEC.color = param_00;
|
|
}
|
|
|
|
//Function Number: 24
|
|
func_3BFA()
|
|
{
|
|
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.var_3BDB + self.var_3BDC;
|
|
if(var_02.itemtype == "subMenu" && var_02.var_3BE0)
|
|
{
|
|
var_00 = var_00 + var_02 func_3BFA();
|
|
}
|
|
}
|
|
|
|
return var_00;
|
|
}
|
|
|
|
//Function Number: 25
|
|
func_3BFB()
|
|
{
|
|
self.var_3BDD--;
|
|
if(self.var_3BDD < 0)
|
|
{
|
|
self.var_3BDD = self.itemdefs.size - 1;
|
|
}
|
|
|
|
func_3BF6(0.1,0);
|
|
level.player playsound("mouse_over");
|
|
}
|
|
|
|
//Function Number: 26
|
|
func_3BFC()
|
|
{
|
|
self.var_3BDD++;
|
|
if(self.var_3BDD >= self.itemdefs.size)
|
|
{
|
|
self.var_3BDD = 0;
|
|
}
|
|
|
|
func_3BF6(0.1,0);
|
|
level.player playsound("mouse_over");
|
|
}
|
|
|
|
//Function Number: 27
|
|
func_3BFD()
|
|
{
|
|
func_3BD7();
|
|
}
|
|
|
|
//Function Number: 28
|
|
func_3BFE()
|
|
{
|
|
var_00 = self.itemdefs[self.var_3BDD];
|
|
if(var_00.itemtype == "subMenu")
|
|
{
|
|
pushmenu(var_00);
|
|
return;
|
|
}
|
|
|
|
if(var_00.itemtype == "item")
|
|
{
|
|
var_00 thread runaction();
|
|
}
|
|
}
|
|
|
|
//Function Number: 29
|
|
func_3BFF()
|
|
{
|
|
var_00 = self.itemdefs[self.var_3BDD];
|
|
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
|
|
func_3C00()
|
|
{
|
|
var_00 = self.itemdefs[self.var_3BDD];
|
|
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
|
|
func_3C03()
|
|
{
|
|
setdvar("controls_sensitivityConfig","sensitivity_medium");
|
|
}
|
|
|
|
//Function Number: 34
|
|
func_3C04()
|
|
{
|
|
setdvar("controls_inversionConfig","inversion_disabled");
|
|
}
|
|
|
|
//Function Number: 35
|
|
func_3C05()
|
|
{
|
|
setdvar("controls_autoaimConfig","autoaim_enabled");
|
|
}
|
|
|
|
//Function Number: 36
|
|
initvibration()
|
|
{
|
|
setdvar("controls_vibrationConfig","vibration_enabled");
|
|
}
|
|
|
|
//Function Number: 37
|
|
updatedisplayvalue()
|
|
{
|
|
self.var_3BED 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.var_3C09 = param_01;
|
|
}
|
|
|
|
if(isdefined(param_02))
|
|
{
|
|
var_03.var_3C0A = param_02;
|
|
}
|
|
|
|
return var_03;
|
|
}
|
|
|
|
//Function Number: 39
|
|
runaction()
|
|
{
|
|
if(isdefined(self.action))
|
|
{
|
|
if(isdefined(self.action.var_3C09))
|
|
{
|
|
thread [[ self.action.name ]](self.action.var_3C09);
|
|
}
|
|
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::func_1B44(level.camera);
|
|
}
|
|
|
|
//Function Number: 41
|
|
menuresponse()
|
|
{
|
|
for(;;)
|
|
{
|
|
self waittill("menuresponse",var_00,var_01);
|
|
switch(var_01)
|
|
{
|
|
case "DPAD_UP":
|
|
level.var_3BD5 func_3BFB();
|
|
break;
|
|
|
|
case "DPAD_DOWN":
|
|
level.var_3BD5 func_3BFC();
|
|
break;
|
|
|
|
case "DPAD_LEFT":
|
|
level.var_3BD5 func_3BFF();
|
|
break;
|
|
|
|
case "DPAD_RIGHT":
|
|
level.var_3BD5 func_3C00();
|
|
break;
|
|
|
|
case "BUTTON_A":
|
|
level.var_3BD5 func_3BFE();
|
|
break;
|
|
|
|
case "BUTTON_B":
|
|
level.var_3BD5 func_3BFD();
|
|
break;
|
|
}
|
|
}
|
|
} |