mirror of
https://github.com/InfinityLoader/IL-GSC.git
synced 2025-06-07 17:17:50 -05:00
145 lines
3.0 KiB
Plaintext
145 lines
3.0 KiB
Plaintext
/*******************************************************************
|
|
* Decompiled By: Bog
|
|
* Decompiled File: _animatedmodels.gsc
|
|
* Game: Call of Duty: Advanced Warfare
|
|
* Platform: PC
|
|
* Function Count: 7
|
|
* Decompile Time: 108 ms
|
|
* Timestamp: 4/22/2024 2:20:02 AM
|
|
*******************************************************************/
|
|
|
|
//Function Number: 1
|
|
main()
|
|
{
|
|
waittillframeend;
|
|
init_wind_if_uninitialized();
|
|
level.init_animatedmodels_dump = [];
|
|
level.anim_prop_models_animtree = #animtree;
|
|
if(!isdefined(level.anim_prop_models))
|
|
{
|
|
level.anim_prop_models = [];
|
|
}
|
|
|
|
if(!isdefined(level.anim_prop_init_threads))
|
|
{
|
|
level.anim_prop_init_threads = [];
|
|
}
|
|
|
|
var_00 = getentarray("animated_model","targetname");
|
|
common_scripts\utility::array_thread(var_00,::model_init);
|
|
if(isdefined(level.init_animatedmodels_dump) && level.init_animatedmodels_dump.size)
|
|
{
|
|
var_01 = " ";
|
|
foreach(var_03 in level.init_animatedmodels_dump)
|
|
{
|
|
var_01 = var_01 + var_03 + " ";
|
|
}
|
|
}
|
|
|
|
foreach(var_06 in var_00)
|
|
{
|
|
if(isdefined(level.anim_prop_init_threads[var_06.model]))
|
|
{
|
|
var_06 thread [[ level.anim_prop_init_threads[var_06.model] ]]();
|
|
continue;
|
|
}
|
|
|
|
var_07 = getarraykeys(level.anim_prop_models[var_06.model]);
|
|
var_08 = 0;
|
|
foreach(var_0A in var_07)
|
|
{
|
|
if(var_0A == "still")
|
|
{
|
|
var_08 = 1;
|
|
break;
|
|
}
|
|
}
|
|
|
|
if(var_08)
|
|
{
|
|
var_06 thread animatetreewind();
|
|
}
|
|
else
|
|
{
|
|
var_06 thread animatemodel();
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 2
|
|
init_wind_if_uninitialized()
|
|
{
|
|
if(isdefined(level.wind))
|
|
{
|
|
return;
|
|
}
|
|
|
|
level.wind = spawnstruct();
|
|
level.wind.rate = 0.4;
|
|
level.wind.weight = 1;
|
|
level.wind.variance = 0.2;
|
|
}
|
|
|
|
//Function Number: 3
|
|
model_init()
|
|
{
|
|
if(!isdefined(level.anim_prop_models[self.model]))
|
|
{
|
|
if(!already_dumpped(level.init_animatedmodels_dump,self.model))
|
|
{
|
|
level.init_animatedmodels_dump[level.init_animatedmodels_dump.size] = self.model;
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 4
|
|
already_dumpped(param_00,param_01)
|
|
{
|
|
if(param_00.size <= 0)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
foreach(var_03 in param_00)
|
|
{
|
|
if(var_03 == param_01)
|
|
{
|
|
return 1;
|
|
}
|
|
}
|
|
|
|
return 0;
|
|
}
|
|
|
|
//Function Number: 5
|
|
animatemodel()
|
|
{
|
|
self useanimtree(#animtree);
|
|
var_00 = getarraykeys(level.anim_prop_models[self.model]);
|
|
var_01 = var_00[randomint(var_00.size)];
|
|
var_02 = level.anim_prop_models[self.model][var_01];
|
|
self setanim(var_02,1,self getanimtime(var_02),1);
|
|
self setanimtime(var_02,randomfloatrange(0,1));
|
|
}
|
|
|
|
//Function Number: 6
|
|
animatetreewind()
|
|
{
|
|
self useanimtree(#animtree);
|
|
var_00 = "strong";
|
|
for(;;)
|
|
{
|
|
thread blendtreeanims(var_00);
|
|
level waittill("windchange",var_00);
|
|
}
|
|
}
|
|
|
|
//Function Number: 7
|
|
blendtreeanims(param_00)
|
|
{
|
|
level endon("windchange");
|
|
var_01 = level.wind.weight;
|
|
var_02 = level.wind.rate + randomfloat(level.wind.variance);
|
|
self setanim(level.anim_prop_models[self.model]["still"],1,self getanimtime(level.anim_prop_models[self.model]["still"]),var_02);
|
|
self setanim(level.anim_prop_models[self.model][param_00],var_01,self getanimtime(level.anim_prop_models[self.model][param_00]),var_02);
|
|
} |