IL-GSC/GHOSTS/PC/SP/animscripts/setposemovement.gsc
2023-10-27 03:49:01 -04:00

963 lines
16 KiB
Plaintext

/*******************************************************************
* Decompiled By: Bog
* Decompiled File: animscripts\setposemovement.gsc
* Game: Call of Duty: Ghosts
* Platform: PC
* Function Count: 55
* Decompile Time: 940 ms
* Timestamp: 10/27/2023 1:24:23 AM
*******************************************************************/
//Function Number: 1
func_70A7(param_00,param_01)
{
if(param_00 == "")
{
if(self.a.var_60B1 == "prone" && param_01 == "walk" || param_01 == "run")
{
param_00 = "crouch";
}
else
{
param_00 = self.a.var_60B1;
}
}
if(!isdefined(param_01) || param_01 == "")
{
param_01 = self.a.var_5486;
}
[[ level.setposemovementfnarray[param_00][param_01] ]]();
}
//Function Number: 2
func_4645()
{
level.setposemovementfnarray["stand"]["stop"] = ::func_79DE;
level.setposemovementfnarray["stand"]["walk"] = ::standwalk_begin;
level.setposemovementfnarray["stand"]["run"] = ::standrun_begin;
level.setposemovementfnarray["crouch"]["stop"] = ::crouchstop_begin;
level.setposemovementfnarray["crouch"]["walk"] = ::func_2164;
level.setposemovementfnarray["crouch"]["run"] = ::func_2152;
level.setposemovementfnarray["prone"]["stop"] = ::func_6203;
level.setposemovementfnarray["prone"]["walk"] = ::func_620D;
level.setposemovementfnarray["prone"]["run"] = ::func_6201;
}
//Function Number: 3
func_79DE()
{
switch(self.a.var_60B1)
{
case "stand":
switch(self.a.var_5486)
{
case "stop":
return 0;
case "walk":
func_79E5();
break;
default:
standruntostand();
break;
}
break;
case "crouch":
switch(self.a.var_5486)
{
case "stop":
crouchtostand();
break;
case "walk":
func_2166();
break;
default:
func_215A();
break;
}
break;
default:
switch(self.a.var_5486)
{
case "stop":
func_620A();
break;
default:
func_620A();
break;
}
break;
}
return 1;
}
//Function Number: 4
standwalk_begin()
{
switch(self.a.var_60B1)
{
case "stand":
switch(self.a.var_5486)
{
case "stop":
blendintostandwalk();
break;
case "walk":
return 0;
default:
blendintostandwalk();
break;
}
break;
case "crouch":
switch(self.a.var_5486)
{
case "stop":
func_2163();
break;
case "walk":
blendintostandwalk();
break;
default:
blendintostandwalk();
break;
}
break;
default:
func_620C();
break;
}
return 1;
}
//Function Number: 5
standrun_begin()
{
switch(self.a.var_60B1)
{
case "stand":
switch(self.a.var_5486)
{
case "walk":
case "stop":
return blendintostandrun();
default:
return 0;
}
break;
case "crouch":
switch(self.a.var_5486)
{
case "stop":
return func_2162();
default:
return blendintostandrun();
}
break;
default:
func_620B();
break;
}
return 1;
}
//Function Number: 6
crouchstop_begin()
{
switch(self.a.var_60B1)
{
case "stand":
switch(self.a.var_5486)
{
case "stop":
func_79DF();
break;
case "walk":
func_79E4();
break;
case "run":
func_79DB();
break;
default:
break;
}
break;
case "crouch":
switch(self.a.var_5486)
{
case "stop":
break;
case "walk":
func_2165();
break;
case "run":
crouchruntocrouch();
break;
default:
break;
}
break;
case "prone":
func_6205();
break;
default:
break;
}
}
//Function Number: 7
func_2164()
{
switch(self.a.var_60B1)
{
case "stand":
switch(self.a.var_5486)
{
case "stop":
blendintocrouchwalk();
break;
case "walk":
blendintocrouchwalk();
break;
default:
blendintocrouchwalk();
break;
}
break;
case "crouch":
switch(self.a.var_5486)
{
case "stop":
func_215D();
break;
case "walk":
return 0;
default:
blendintocrouchwalk();
break;
}
break;
default:
pronetocrouchwalk();
break;
}
return 1;
}
//Function Number: 8
func_2152()
{
switch(self.a.var_60B1)
{
case "stand":
switch(self.a.var_5486)
{
case "stop":
blendintocrouchrun();
break;
default:
blendintocrouchrun();
break;
}
break;
case "crouch":
switch(self.a.var_5486)
{
case "stop":
crouchtocrouchrun();
break;
case "walk":
blendintocrouchrun();
break;
default:
return 0;
}
break;
default:
func_6206();
break;
}
return 1;
}
//Function Number: 9
func_6203()
{
switch(self.a.var_60B1)
{
case "stand":
switch(self.a.var_5486)
{
case "stop":
func_79E0();
break;
case "walk":
func_79E0();
break;
case "run":
func_2157();
break;
default:
break;
}
break;
case "crouch":
switch(self.a.var_5486)
{
case "stop":
crouchtoprone();
break;
case "walk":
crouchtoprone();
break;
case "run":
func_2157();
break;
default:
break;
}
break;
case "prone":
switch(self.a.var_5486)
{
case "stop":
break;
case "walk":
case "run":
func_61FE();
break;
default:
break;
}
break;
default:
break;
}
}
//Function Number: 10
func_620D()
{
switch(self.a.var_60B1)
{
case "stand":
switch(self.a.var_5486)
{
case "stop":
func_79E2();
break;
default:
crouchruntopronewalk();
break;
}
break;
case "crouch":
switch(self.a.var_5486)
{
case "stop":
crouchtopronewalk();
break;
default:
crouchruntopronewalk();
break;
}
break;
default:
switch(self.a.var_5486)
{
case "stop":
func_6209();
break;
default:
self.a.var_5486 = "walk";
return 0;
}
break;
}
return 1;
}
//Function Number: 11
func_6201()
{
switch(self.a.var_60B1)
{
case "stand":
switch(self.a.var_5486)
{
case "stop":
func_79E1();
break;
default:
crouchruntopronerun();
break;
}
break;
case "crouch":
switch(self.a.var_5486)
{
case "stop":
func_215F();
break;
default:
crouchruntopronerun();
break;
}
break;
default:
switch(self.a.var_5486)
{
case "stop":
func_6209();
break;
default:
self.a.var_5486 = "run";
return 0;
}
break;
}
return 1;
}
//Function Number: 12
func_5D4F(param_00,param_01,param_02,param_03)
{
var_04 = gettime() + param_01 * 1000;
if(isarray(param_00))
{
param_00 = param_00[randomint(param_00.size)];
}
self setflaggedanimknoball("blendTransition",param_00,%body,1,param_01,1);
animscripts/notetracks::donotetracksfortime(param_01 / 2,"blendTransition");
self.a.var_60B1 = param_02;
self.a.var_5486 = param_03;
var_05 = var_04 - gettime() / 1000;
if(var_05 < 0.05)
{
var_05 = 0.05;
}
animscripts/notetracks::donotetracksfortime(var_05,"blendTransition");
}
//Function Number: 13
func_6050(param_00,param_01)
{
func_604D(param_00,"stand","walk",param_01);
}
//Function Number: 14
func_79E5()
{
self.a.var_5486 = "stop";
}
//Function Number: 15
func_79E4()
{
func_79E5();
func_79DF();
}
//Function Number: 16
standruntostand()
{
self.a.var_5486 = "stop";
}
//Function Number: 17
func_79DB()
{
self.a.var_5486 = "stop";
self.a.var_60B1 = "crouch";
}
//Function Number: 18
func_5D50(param_00)
{
var_01 = 0.3;
if(self.a.var_5486 != "stop")
{
self endon("movemode");
var_01 = 1;
}
func_5D4F(param_00,var_01,"stand","run");
}
//Function Number: 19
blendintostandrun()
{
if(!self.facemotion)
{
self.a.var_5486 = "run";
self.a.var_60B1 = "stand";
return 0;
}
if(isdefined(self.run_overrideanim))
{
func_5D50(self.run_overrideanim);
return 1;
}
var_00 = 0.1;
if(self.a.var_5486 != "stop" && self.stairsstate == "none")
{
var_00 = 0.5;
}
if(isdefined(self.var_797D))
{
self setanimknoblimited(animscripts/utility::getmoveanim("sprint"),1,var_00,1);
}
else
{
self setanimknoblimited(animscripts/run::func_3BDB(),1,var_00,1);
}
animscripts/run::setmovenonforwardanims(animscripts/utility::getmoveanim("move_b"),animscripts/utility::getmoveanim("move_l"),animscripts/utility::getmoveanim("move_r"),self.sidesteprate);
thread animscripts/run::func_7008("run");
wait(0.05);
func_5D50(%combatrun);
return 1;
}
//Function Number: 20
blendintostandwalk()
{
if(self.a.var_5486 != "stop")
{
self endon("movemode");
}
if(!isdefined(self.alwaysrunforward) && self.a.var_60B1 != "prone")
{
animscripts/run::setmovenonforwardanims(animscripts/utility::getmoveanim("move_b"),animscripts/utility::getmoveanim("move_l"),animscripts/utility::getmoveanim("move_r"));
}
self.a.var_60B1 = "stand";
self.a.var_5486 = "walk";
}
//Function Number: 21
crouchtostand()
{
var_00 = 1;
if(isdefined(self.var_31F3))
{
var_00 = 1.8;
self.var_31F3 = undefined;
}
if(animscripts/utility::func_87FE())
{
func_604D(%pistol_crouchaimstraight2stand,"stand","stop",undefined,var_00);
}
animscripts/utility::func_633A();
func_604D(%crouch2stand,"stand","stop",undefined,var_00);
}
//Function Number: 22
func_215D()
{
blendintocrouchwalk();
}
//Function Number: 23
func_2163()
{
func_215D();
blendintostandwalk();
}
//Function Number: 24
func_2165()
{
self.a.var_5486 = "stop";
}
//Function Number: 25
func_2166()
{
func_2165();
crouchtostand();
}
//Function Number: 26
crouchruntocrouch()
{
self.a.var_5486 = "stop";
}
//Function Number: 27
func_215A()
{
crouchruntocrouch();
crouchtostand();
}
//Function Number: 28
crouchtocrouchrun()
{
blendintocrouchrun();
}
//Function Number: 29
func_2162()
{
return blendintostandrun();
}
//Function Number: 30
blendintocrouchrun()
{
if(isdefined(self.crouchrun_combatanim))
{
func_5D4F(self.crouchrun_combatanim,0.6,"crouch","run");
}
self setanimknob(%crouchrun,1,0.4,self.moveplaybackrate);
thread animscripts/run::func_8705("crouchrun",animscripts/utility::getmoveanim("crouch"),animscripts/utility::getmoveanim("crouch_b"),animscripts/utility::getmoveanim("crouch_l"),animscripts/utility::getmoveanim("crouch_r"));
wait(0.05);
func_5D4F(%crouchrun,0.4,"crouch","run");
}
//Function Number: 31
func_6206()
{
self orientmode("face current");
animscripts/utility::exitpronewrapper(1);
pronelegsstraighttree(0.2);
animscripts/cover_prone::func_8716(0.1);
func_604D(%prone_2_crouch,"crouch","run",animscripts/run::func_3A69());
}
//Function Number: 32
func_620B()
{
func_6206();
blendintostandrun();
}
//Function Number: 33
pronetocrouchwalk()
{
func_6206();
blendintocrouchwalk();
}
//Function Number: 34
blendintocrouchwalk()
{
if(isdefined(self.crouchrun_combatanim))
{
self setanimknoball(self.crouchrun_combatanim,%body,1,0.4);
func_5D4F(self.crouchrun_combatanim,0.6,"crouch","walk");
self notify("BlendIntoCrouchWalk");
}
self setanimknob(%crouchrun,1,0.4,self.moveplaybackrate);
thread animscripts/run::func_8705("crouchrun",animscripts/utility::getmoveanim("crouch"),animscripts/utility::getmoveanim("crouch_b"),animscripts/utility::getmoveanim("crouch_l"),animscripts/utility::getmoveanim("crouch_r"));
wait(0.05);
func_5D4F(%crouchrun,0.4,"crouch","run");
}
//Function Number: 35
func_79DF()
{
animscripts/utility::func_633A();
var_00 = 1;
if(isdefined(self.fastcrouch))
{
var_00 = 1.8;
self.fastcrouch = undefined;
}
func_604D(%exposed_stand_2_crouch,"crouch","stop",undefined,var_00);
}
//Function Number: 36
func_6205()
{
animscripts/utility::func_633A();
self orientmode("face current");
animscripts/utility::exitpronewrapper(1);
pronelegsstraighttree(0.1);
animscripts/cover_prone::func_8716(0.1);
func_604D(%prone_2_crouch,"crouch","stop");
}
//Function Number: 37
func_620A()
{
self orientmode("face current");
animscripts/utility::exitpronewrapper(1);
pronelegsstraighttree(0.1);
animscripts/cover_prone::func_8716(0.1);
func_604D(%prone_2_stand,"stand","stop");
}
//Function Number: 38
func_620C()
{
func_6205();
func_215D();
blendintostandwalk();
}
//Function Number: 39
pronetopronemove(param_00)
{
pronelegsstraighttree(0.1);
func_604D(%prone_2_prone_crawl,"prone",param_00,%prone_crawl);
animscripts/cover_prone::func_8716(0.1);
}
//Function Number: 40
func_6209()
{
pronetopronemove("run");
}
//Function Number: 41
func_61FE()
{
pronelegsstraighttree(0.1);
animscripts/cover_prone::func_8716(0.1);
func_604D(%prone_crawl_2_prone,"prone","stop");
}
//Function Number: 42
crouchtoprone()
{
self setproneanimnodes(-45,45,%prone_legs_down,%exposed_aiming,%prone_legs_up);
animscripts/utility::enterpronewrapper(1);
pronelegsstraighttree(0.3);
animscripts/cover_prone::func_8716(0.1);
func_604D(%crouch_2_prone,"prone","stop");
}
//Function Number: 43
crouchtopronewalk()
{
crouchtoprone();
func_6209();
}
//Function Number: 44
func_215F()
{
crouchtoprone();
func_6209();
}
//Function Number: 45
func_79E0()
{
self endon("entered_poseprone");
var_00 = 0.5;
thread playtransitionanimationthread_withoutwaitsetstates(%stand_2_prone,"prone","stop",undefined,var_00);
self waittillmatch("anim_pose = \"crouch\","transAnimDone2");
waittillframeend;
self setproneanimnodes(-45,45,%prone_legs_down,%exposed_aiming,%prone_legs_up);
animscripts/utility::enterpronewrapper(var_00);
self.a.var_5486 = "stop";
animscripts/cover_prone::func_8716(0.1);
self waittillmatch("end","transAnimDone2");
pronelegsstraighttree(0.2);
self setanim(%prone_aim_idle,1,0.1);
}
//Function Number: 46
func_79E2()
{
func_79E0();
func_6209();
}
//Function Number: 47
func_79E1()
{
func_79E0();
func_6209();
}
//Function Number: 48
func_2157()
{
var_00 = 0.5;
self setproneanimnodes(-45,45,%prone_legs_down,%exposed_aiming,%prone_legs_up);
animscripts/utility::enterpronewrapper(var_00);
pronelegsstraighttree(0.2);
animscripts/cover_prone::func_8716(0.1);
var_01 = animscripts/utility::getquadrant(self getmotionangle());
var_02 = %crouch_2_prone;
var_03 = getmovedelta(var_02,0,1);
var_04 = self localtoworldcoords(var_03);
if(self maymovetopoint(var_04))
{
func_604D(var_02,"prone","stop",undefined,var_00);
}
func_604D(%crouch_2_prone_firing,"prone","stop",undefined,var_00);
}
//Function Number: 49
crouchruntopronewalk()
{
func_2157();
func_6209();
}
//Function Number: 50
crouchruntopronerun()
{
func_2157();
func_6209();
}
//Function Number: 51
playtransitionanimationthread_withoutwaitsetstates(param_00,param_01,param_02,param_03,param_04)
{
self endon("killanimscript");
self endon("entered_pose" + param_01);
func_604E(param_00,param_01,param_02,param_03,param_04,0);
}
//Function Number: 52
func_604D(param_00,param_01,param_02,param_03,param_04)
{
func_604E(param_00,param_01,param_02,param_03,param_04,1);
}
//Function Number: 53
func_604E(param_00,param_01,param_02,param_03,param_04,param_05)
{
if(!isdefined(param_04))
{
param_04 = 1;
}
if(param_05)
{
thread func_8B14(getanimlength(param_00) / 2,"killtimerscript",param_01);
}
self setflaggedanimknoballrestart("transAnimDone2",param_00,%body,1,0.2,param_04);
if(!isdefined(self.a.var_60B1))
{
self.var_60B1 = "undefined";
}
if(!isdefined(self.a.var_5486))
{
self.var_5486 = "undefined";
}
var_06 = "";
animscripts/shared::func_2986("transAnimDone2",undefined,var_06);
self notify("killtimerscript");
self.a.var_60B1 = param_01;
self notify("entered_pose" + param_01);
self.a.var_5486 = param_02;
if(isdefined(param_03))
{
self setanimknoball(param_03,%body,1,0.3,param_04);
}
}
//Function Number: 54
func_8B14(param_00,param_01,param_02)
{
self endon("killanimscript");
self endon("death");
self endon(param_01);
var_03 = self.a.var_60B1;
wait(param_00);
if(var_03 != "prone" && param_02 == "prone")
{
animscripts/cover_prone::func_8716(0.1);
animscripts/utility::enterpronewrapper(1);
}
if(var_03 == "prone" && param_02 != "prone")
{
animscripts/utility::exitpronewrapper(1);
self orientmode("face default");
}
}
//Function Number: 55
pronelegsstraighttree(param_00)
{
self setanimknoball(%prone_legsstraight,%body,1,param_00,1);
}