mirror of
https://github.com/reaaLx/nx1-gsc-dump.git
synced 2025-04-22 17:15:48 +00:00
224 lines
12 KiB
Plaintext
224 lines
12 KiB
Plaintext
|
|
//****************************************************************************
|
|
// **
|
|
// Confidential - (C) Activision Publishing, Inc. 2010 **
|
|
// **
|
|
//****************************************************************************
|
|
// **
|
|
// Module: FX Support **
|
|
// **
|
|
// Created: DATE - CREATOR **
|
|
// **
|
|
//****************************************************************************
|
|
|
|
#include common_scripts\utility;
|
|
#include animscripts\utility;
|
|
#include animscripts\combat_utility;
|
|
#include maps\_utility;
|
|
|
|
main()
|
|
{
|
|
//if ( !getdvarint( "r_reflectionProbeGenerate" ) )
|
|
maps\createfx\nx_hithard_b_fx::main();
|
|
|
|
level._effect[ "freeway_explosion" ] = LoadFX( "explosions/wall_explosion_2_short_nosmoke" );
|
|
level._effect[ "nx_debri_explosion" ] = LoadFX( "nx/explosions/nx_debri_explosion_exit_building_1" );
|
|
level._effect[ "building_explosion_gulag_bh1" ] = LoadFX( "explosions/building_explosion_gulag" );
|
|
level._effect[ "ceiling_collapse_dirt1" ] = LoadFX( "dust/ceiling_collapse_dirt1" );
|
|
level._effect[ "ceiling_dust_bunker" ] = LoadFX( "dust/ceiling_dust_bunker" );
|
|
level._effect[ "ceiling_dust_default" ] = LoadFX( "dust/ceiling_dust_default" );
|
|
|
|
// NX smoke - copied over from first hithard, probably need to cleanup once we know which effects we'll be using in hithard_b
|
|
level._effect[ "nx_smoke_amb_scrolling_smoke" ] = loadfx( "nx/smoke/nx_smoke_amb_scrolling_smoke" );
|
|
level._effect[ "nx_amb_smoke_plume_scattered_light" ] = loadfx( "nx/smoke/nx_amb_smoke_plume_scattered_light" );
|
|
level._effect[ "nx_smoke_plume_periph_large_black" ] = loadfx( "nx/smoke/nx_smoke_plume_periph_large_black" );
|
|
level._effect[ "nx_smoke_plume_huge_periph" ] = loadfx( "nx/smoke/nx_smoke_plume_huge_periph" );
|
|
level._effect[ "nx_amb_smoke_fastground" ] = loadfx( "nx/smoke/nx_amb_smoke_fastground" );
|
|
level._effect[ "nx_amb_smoke_blend_large" ] = LoadFX( "nx/smoke/nx_amb_smoke_blend_large" );
|
|
level._effect[ "nx_amb_smoke_blend_large_02" ] = LoadFX( "nx/smoke/nx_amb_smoke_blend_large_02" );
|
|
level._effect[ "nx_fire_building_large" ] = LoadFX( "nx/fire/nx_fire_building_large" );
|
|
level._effect[ "nx_grenade_smoke_5sec" ] = loadfx( "nx/smoke/nx_grenade_smoke_5sec" );
|
|
|
|
//Lapes drop fx
|
|
level._effect[ "nx_smoke_lapse_amb_smoke" ] = LoadFX( "nx/smoke/nx_smoke_lapse_amb_smoke" );
|
|
level._effect[ "nx_c102_angel_flare_geotrail" ] = loadfx( "nx/smoke/nx_c102_angel_flare_geotrail" );
|
|
level._effect[ "nx_smoke_swirls_lapes_c102" ] = LoadFX( "nx/smoke/nx_smoke_swirls_lapes_c102" );
|
|
level._effect[ "aircraft_light_wingtip_green" ] = LoadFX( "misc/aircraft_light_wingtip_green" );
|
|
level._effect[ "aircraft_light_wingtip_red" ] = LoadFX( "misc/aircraft_light_wingtip_red" );
|
|
level._effect[ "aircraft_light_white_blink" ] = LoadFX( "misc/aircraft_light_white_blink" );
|
|
level._effect[ "aircraft_light_red_blink" ] = LoadFX( "misc/aircraft_light_red_blink" );
|
|
level._effect[ "nx_lapes_tank_drop_dust" ] = LoadFX( "nx/dust/nx_lapes_tank_drop_dust" );
|
|
level._effect[ "nx_lapes_tank_dust_looping_runner" ] = LoadFX( "nx/dust/nx_lapes_tank_dust_looping_runner" );
|
|
level._effect[ "nx_impact_lapes_carhit" ] = LoadFX( "nx/impacts/nx_impact_lapes_carhit" );
|
|
level._effect[ "nx_impact_lapes_carhit_small" ] = LoadFX( "nx/impacts/nx_impact_lapes_carhit_small" );
|
|
level._effect[ "nx_c102_engine_explosion" ] = LoadFX( "nx/explosions/nx_c102_engine_explosion" );
|
|
level._effect[ "nx_chinese_ugv_turret_trail_ambient" ] = LoadFX( "nx/misc/nx_chinese_ugv_turret_trail_ambient" );
|
|
level._effect[ "c102_medium_afterburner" ] = loadfx( "nx/fire/nx_repel_looping_medium_afterburner" );
|
|
level._effect[ "c102_large_afterburner" ] = loadfx( "nx/fire/nx_repel_looping_large_afterburner" );
|
|
level._effect[ "nx_c102_looping_large_afterburner" ] = loadfx( "nx/fire/nx_c102_looping_large_afterburner" );
|
|
level._effect[ "c102_engine_burn_emmiter" ] = loadfx( "fire/fire_smoke_trail_L_emitter" );
|
|
level._effect[ "nx_lapes_carhit_explosion" ] = loadfx( "nx/explosions/nx_lapes_carhit_explosion" );
|
|
level._effect[ "c102_dust_runner" ] = loadfx( "nx/treadfx/nx_c102_lapes_dust_runner" );
|
|
level._effect[ "nx_c102_phalanx_runner" ] = loadfx( "nx/misc/nx_c102_phalanx_runner" );
|
|
level._effect[ "nx_amb_smoke_plume_scattered_light_large" ] = loadfx( "nx/smoke/nx_amb_smoke_plume_scattered_light_large" );
|
|
level._effect[ "nx_smoke_lapes_drop_linger" ] = loadfx( "nx/smoke/nx_smoke_lapes_drop_linger" );
|
|
level._effect[ "nx_debri_paper_fast" ] = loadfx( "nx/misc/nx_debri_paper_fast" );
|
|
level._effect[ "nx_fire_car_fire_n_smoke" ] = loadfx( "nx/fire/nx_fire_car_fire_n_smoke" );
|
|
level._effect[ "nx_impact_lapes_bus_hit" ] = LoadFX( "nx/impacts/nx_impact_lapes_bus_hit" );
|
|
level._effect[ "nx_impact_lapes_carhit_sparks_scrape" ] = LoadFX( "nx/impacts/nx_impact_lapes_carhit_sparks_scrape" );
|
|
level._effect[ "nx_impact_lapes_debri_directional_runner" ] = LoadFX( "nx/impacts/nx_impact_lapes_debri_directional_runner" );
|
|
|
|
//ambient fx
|
|
level._effect[ "firelp_large_pm_bh1" ] = LoadFX( "fire/firelp_large_pm_nolight" );
|
|
level._effect[ "firelp_med_pm_bh1" ] = LoadFX( "fire/firelp_med_pm_nolight" );
|
|
level._effect[ "firelp_small_pm" ] = LoadFX( "fire/firelp_small_pm_nolight" );
|
|
level._effect[ "fire_falling_runner_point_infrequent" ] = LoadFX( "fire/fire_falling_runner_point_infrequent" );
|
|
level._effect[ "firelp_huge_pm_nolight" ] = LoadFX( "fire/firelp_huge_pm_nolight" );
|
|
level._effect[ "amb_smoke_add" ] = LoadFX( "smoke/amb_smoke_add" );
|
|
level._effect[ "amb_smoke_blend" ] = LoadFX( "smoke/amb_smoke_blend" );
|
|
level._effect[ "room_smoke_200" ] = LoadFX( "smoke/room_smoke_200" );
|
|
level._effect[ "steam_cs" ] = LoadFX( "smoke/steam_cs" );
|
|
level._effect[ "nx_light_floor_square_small_red" ] = LoadFX( "nx/misc/nx_light_floor_square_small_red" );
|
|
level._effect[ "fire_light_small" ] = LoadFX( "nx/misc/nx_light_orange_small" );
|
|
level._effect[ "nx_light_emergency_red" ] = LoadFX( "nx/misc/nx_light_emergency_red" );
|
|
|
|
level._effect[ "nx_sparks_falling_runner" ] = LoadFX( "nx/explosions/nx_sparks_falling_runner" );
|
|
|
|
//light shaft fx
|
|
level._effect[ "light_dust_particles" ] = LoadFX( "dust/light_dust_particles" );
|
|
level._effect[ "light_shaft_dust_large" ] = LoadFX( "dust/light_shaft_dust_large" );
|
|
level._effect[ "light_shaft_dust_med" ] = LoadFX( "dust/light_shaft_dust_med" );
|
|
level._effect[ "light_shaft_motes_airport" ] = LoadFX( "dust/light_shaft_motes_airport" );
|
|
level._effect[ "nx_gfx_godray_side" ] = LoadFX( "nx/misc/nx_gfx_godray_side" );
|
|
level._effect[ "nx_gfx_godray_side_small" ] = LoadFX( "nx/misc/nx_gfx_godray_side_small" );
|
|
level._effect[ "nx_gfx_godray_down" ] = LoadFX( "nx/misc/nx_gfx_godray_down" );
|
|
|
|
level._effect[ "flashlight" ] =LoadFX( "misc/flashlight" );
|
|
level._effect[ "flashlight_spotlight" ] =LoadFX( "misc/flashlight_spotlight" );
|
|
level._effect[ "spotlight_dlight" ] =LoadFX( "misc/spotlight_dlight" );
|
|
level._effect[ "spotlight_small" ] =LoadFX( "misc/spotlight_small" );
|
|
level._effect[ "hunted_spotlight_model" ] =LoadFX( "misc/hunted_spotlight_model" );
|
|
// level._effect[ "nx_lunar_rover_headlight_light" ] =LoadFX( "misc/nx_lunar_rover_headlight_light" );
|
|
|
|
level._effect[ "dust_outdoor_large" ] = LoadFX( "dust/dust_outdoor_large" );
|
|
level._effect[ "dust_wind_fast_paper" ] = LoadFX( "dust/dust_wind_fast_paper" );
|
|
level._effect[ "paper_falling_burning" ] = LoadFX( "misc/paper_falling_burning" );
|
|
level._effect[ "ground_fog" ] = LoadFX( "dust/ground_fog" );
|
|
|
|
// Door opening sequence
|
|
level._effect[ "decompression_exitdoor_dust" ] = loadfx( "dust/decompression_exitdoor_dust" );
|
|
|
|
//vp hit fx
|
|
level._effect[ "nx_vphit_explosion" ] = LoadFX( "nx/hithard/nx_vphit_explosion" );
|
|
level._effect[ "crawling_death_blood_smear" ] = LoadFX( "impacts/blood_smear_decal" );
|
|
level._effect[ "blood_pool" ] = loadfx( "impacts/deathfx_bloodpool_generic" );
|
|
level._effect[ "nx_flesh_hit_splat_large" ] = loadfx( "impacts/nx_flesh_hit_splat_large" );
|
|
level._effect[ "nx_flesh_hit_splat" ] = loadfx( "impacts/nx_flesh_hit_splat" );
|
|
|
|
apply_hh_b_fog_();
|
|
}
|
|
|
|
|
|
//*******************************************************************
|
|
// *
|
|
// *
|
|
//*******************************************************************
|
|
|
|
apply_hh_b_fog_()
|
|
{
|
|
//transition_time = 3.0;
|
|
//set_vision_set( "nx_hithard_landing", transition_time );
|
|
setExpFog( 2166, 20398, 0.6156863, 0.5137255, 0.4, 0.4151667, 0, 0.9215686, 0.9019608, 0.772549, ( 0.945059, -0.0464278, 0.323587 ), 0, 38, 2.17 );
|
|
}
|
|
|
|
//vp blood smear
|
|
vphit_dyingCrawlBloodSmear( vp_vpdrag )
|
|
{
|
|
/*
|
|
|
|
tagPos = vp_vphit gettagorigin( "j_SpineUpper" ); // rough tag to play fx on
|
|
origintag = "J_SpineLower";
|
|
angletag = "tag_origin";
|
|
|
|
fx_rate = .25;
|
|
fx = level._effect[ "crawling_death_blood_smear" ];
|
|
|
|
while( fx_rate )
|
|
{
|
|
org = vp_vpdrag gettagorigin( origintag );
|
|
angles = vp_vpdrag GetTagAngles( angletag );
|
|
forward = anglestoright( angles );
|
|
up = anglestoforward( ( 270, 0, 0 ) );
|
|
|
|
playfx( fx, org, up, forward );
|
|
|
|
wait( fx_rate );
|
|
}
|
|
*/
|
|
|
|
fx = level._effect[ "crawling_death_blood_smear" ];
|
|
|
|
fx_rate = .25;
|
|
//self endon( "death" );
|
|
|
|
last_org = vp_vpdrag.origin;
|
|
|
|
while ( fx_rate )
|
|
{
|
|
randomoffset = flat_origin( randomvectorrange( -10, 10 ) );
|
|
org = vp_vpdrag.origin + randomoffset;
|
|
org = drop_to_ground( org ) + ( 0, 0, 5 );
|
|
angles = VectorToAngles( vp_vpdrag.origin - last_org );
|
|
forward = AnglesToRight( angles );
|
|
up = AnglesToForward( ( 270, 0, 0 ) );
|
|
// Line( org, level.player.origin,(0,0,0),1,false,40 );
|
|
PlayFX( fx, org, up, forward );
|
|
wait( fx_rate );
|
|
}
|
|
|
|
}
|
|
|
|
//vp blood pools
|
|
vp_blood_fall( vp_vphit )
|
|
{
|
|
|
|
tagPos = vp_vphit gettagorigin( "j_SpineUpper" ); // rough tag to play fx on
|
|
tagAngles = vp_vphit gettagangles( "j_SpineUpper" );
|
|
forward = anglestoforward( tagAngles );
|
|
up = anglestoup( tagAngles );
|
|
right = anglestoright( tagAngles );
|
|
|
|
tagPos = tagPos + vector_multiply( forward, -8.5 ) + vector_multiply( up, 5 ) + vector_multiply( right, 0 );
|
|
|
|
trace = bulletTrace( tagPos + ( 0, 0, 30 ), tagPos - ( 0, 0, 100 ), false, undefined );
|
|
|
|
if ( trace[ "normal" ][2] > 0.9 )
|
|
playfx( level._effect[ "blood_pool" ], tagPos );
|
|
}
|
|
|
|
vphit_slomo()
|
|
{
|
|
slomoLerpTime_in = 0.6;
|
|
slomoLerpTime_out = 0.65;
|
|
slomobreachplayerspeed = 0.1;
|
|
slomoSpeed = 0.1;
|
|
slomoDuration = 10;
|
|
|
|
// Start slo motion
|
|
slowmo_start();
|
|
slowmo_setspeed_slow( slomoSpeed );
|
|
slowmo_setlerptime_in( slomoLerpTime_in );
|
|
slowmo_lerp_in();
|
|
|
|
level._player SetMoveSpeedScale( slomobreachplayerspeed );
|
|
|
|
// Wait slo mo duration
|
|
wait slomoDuration * slomoSpeed;
|
|
|
|
// Stop slo motion
|
|
slowmo_setlerptime_out( slomoLerpTime_out );
|
|
slowmo_lerp_out();
|
|
slowmo_end();
|
|
level._player SetMoveSpeedScale( 1.0 );
|
|
}
|