Fix compile errors. Fix crash related to timing of scriptmodelsuseanimtree() calls.

This commit is contained in:
JezuzLizard 2024-02-19 16:32:57 -08:00
parent 10915889b5
commit cc5da3d56e
10 changed files with 31 additions and 8 deletions

View File

@ -12,6 +12,10 @@ precache()
init_animtree() init_animtree()
{ {
if ( getDvar( "mapname" ) != "zm_buried" )
{
wait 0.1;
}
scriptmodelsuseanimtree( #animtree ); scriptmodelsuseanimtree( #animtree );
} }
@ -38,6 +42,7 @@ main()
{ {
precache_fx(); precache_fx();
register_client_fields(); register_client_fields();
level thread init_animtree();
} }
register_client_fields() register_client_fields()

View File

@ -15,6 +15,7 @@ precache()
init_animtree() init_animtree()
{ {
wait 0.05;
scriptmodelsuseanimtree( #animtree ); scriptmodelsuseanimtree( #animtree );
} }
@ -80,7 +81,7 @@ main()
registermechzfootstepcb( "zm_tomb_mech_zombie", ::mechzfootstepcbfunc ); registermechzfootstepcb( "zm_tomb_mech_zombie", ::mechzfootstepcbfunc );
level._effect["mech_footstep_steam"] = loadfx( "maps/zombie_tomb/fx_tomb_mech_foot_step_steam" ); level._effect["mech_footstep_steam"] = loadfx( "maps/zombie_tomb/fx_tomb_mech_foot_step_steam" );
level._effect["mech_exhaust_smoke"] = loadfx( "maps/zombie_tomb/fx_tomb_mech_exhaust_smoke" ); level._effect["mech_exhaust_smoke"] = loadfx( "maps/zombie_tomb/fx_tomb_mech_exhaust_smoke" );
init_animtree(); level thread init_animtree();
scripts\zm\zm_ai_pack_mod_main::add_visionset_callback( ::register_burn_overlay ); scripts\zm\zm_ai_pack_mod_main::add_visionset_callback( ::register_burn_overlay );
} }

View File

@ -2459,7 +2459,7 @@ brutus_lockdown_client_effects( delay )
} }
else else
{ {
set_clientfield_alt_allplayers( "actor", "brutus_lock_down", self, self.brutus_lockdown_state ); set_clientfield_alt_allplayers( "brutus_lock_down", self, self.brutus_lockdown_state );
} }
} }

View File

@ -23,6 +23,10 @@ precache()
init_animtree() init_animtree()
{ {
if ( getDvar( "mapname" ) != "zm_buried" )
{
wait 0.1;
}
scriptmodelsuseanimtree( #animtree ); scriptmodelsuseanimtree( #animtree );
} }
@ -93,6 +97,7 @@ main()
else else
level thread ghost_zone_spawning_think(); level thread ghost_zone_spawning_think();
level thread init_animtree();
level thread ghost_vox_think(); level thread ghost_vox_think();
init_time_bomb_ghost_rounds(); init_time_bomb_ghost_rounds();
/# /#

View File

@ -81,11 +81,18 @@ main()
level._effect["mechz_claw_arm"] = loadfx( "maps/zombie_tomb/fx_tomb_mech_wpn_source" ); level._effect["mechz_claw_arm"] = loadfx( "maps/zombie_tomb/fx_tomb_mech_wpn_source" );
level._effect["mech_booster_landing"] = loadfx( "maps/zombie_tomb/fx_tomb_mech_jump_landing" ); level._effect["mech_booster_landing"] = loadfx( "maps/zombie_tomb/fx_tomb_mech_jump_landing" );
precache(); precache();
level thread init_animtree();
scripts\zm\zm_ai_pack_mod_main::add_visionset_callback( ::register_burn_overlay ); scripts\zm\zm_ai_pack_mod_main::add_visionset_callback( ::register_burn_overlay );
} }
#using_animtree("mechz_claw"); #using_animtree("mechz_claw");
init_animtree()
{
wait 0.05;
scriptmodelsuseanimtree( #animtree );
}
init() init()
{ {
maps\mp\zombies\_zm_ai_mechz_ffotd::mechz_init_start(); maps\mp\zombies\_zm_ai_mechz_ffotd::mechz_init_start();
@ -169,7 +176,10 @@ init()
else else
level thread mechz_spawning_logic(); level thread mechz_spawning_logic();
if ( level.script != "zm_tomb" )
{
scriptmodelsuseanimtree( #animtree ); scriptmodelsuseanimtree( #animtree );
}
/# /#
setup_devgui(); setup_devgui();
#/ #/

View File

@ -280,7 +280,7 @@ mechz_do_jump( wait_for_stationary_tank )
} }
else else
{ {
set_clientfield_alt_allplayers( "actor", "mechz_fx", self, self.fx_field ); set_clientfield_alt_allplayers( "mechz_fx", self, self.fx_field );
} }
self thread maps\mp\zombies\_zm_spawner::zombie_eye_glow(); self thread maps\mp\zombies\_zm_spawner::zombie_eye_glow();
@ -313,7 +313,7 @@ mechz_jump_cleanup()
} }
else else
{ {
set_clientfield_alt_allplayers( "actor", "mechz_fx", self, self.fx_field ); set_clientfield_alt_allplayers( "mechz_fx", self, self.fx_field );
} }
self stopanimscripted(); self stopanimscripted();
self notify( "jump_complete" ); self notify( "jump_complete" );

View File

@ -619,7 +619,7 @@ mechz_flamethrower_cleanup()
} }
else else
{ {
set_clientfield_alt_allplayers( "actor", "mechz_fx", self, self.fx_field ); set_clientfield_alt_allplayers( "mechz_fx", self, self.fx_field );
} }
self.firing = 0; self.firing = 0;
self.doing_tank_sweep = 0; self.doing_tank_sweep = 0;

View File

@ -1,5 +1,6 @@
execute_clientfield_alt_callback_internal( data, last_data, field_type, field_name ) execute_clientfield_alt_callback_internal( data, last_data, field_type, field_name )
{ {
entnum = data.entnum;
ent = undefined; ent = undefined;
field_data = level.clientfield_alts[ field_type ][ field_name ]; field_data = level.clientfield_alts[ field_type ][ field_name ];
ent = getEntByNum( 0, entnum ); ent = getEntByNum( 0, entnum );

View File

@ -300,6 +300,7 @@ can_be_paralyzed_override( zombie )
watch_crash_trigger_override() watch_crash_trigger_override()
{ {
sloth_set_state_func = getFunction( "maps/mp/zombies/_zm_ai_sloth", "sloth_set_state" );
while ( true ) while ( true )
{ {
self waittill( "trigger", who ); self waittill( "trigger", who );
@ -307,7 +308,7 @@ watch_crash_trigger_override()
if ( isDefined( who ) && isDefined( level.sloth ) && who == level.sloth && who.state == "berserk" ) if ( isDefined( who ) && isDefined( level.sloth ) && who == level.sloth && who.state == "berserk" )
{ {
who setclientfield( "sloth_berserk", 0 ); who setclientfield( "sloth_berserk", 0 );
who sloth_set_state( "crash", 0 ); who [[ sloth_set_state_func ]]( "crash", 0 );
} }
} }
} }