mirror of
https://github.com/reaaLx/nx1-gsc-dump.git
synced 2025-04-22 00:55:46 +00:00
139 lines
4.4 KiB
Plaintext
139 lines
4.4 KiB
Plaintext
//****************************************************************************
|
|
// **
|
|
// Confidential - (C) Activision Publishing, Inc. 2010 **
|
|
// **
|
|
//****************************************************************************
|
|
// **
|
|
// Module: NX Vignette utility functions **
|
|
// **
|
|
// Created: 3/8/2011 - Travis Chen (trchen x4143) **
|
|
// **
|
|
//****************************************************************************
|
|
|
|
#include maps\_anim;
|
|
#include maps\_utility;
|
|
#include common_scripts\utility;
|
|
#include maps\_hud_util;
|
|
#include maps\_vehicle;
|
|
|
|
// tagTC<note> - Current functions to support the NX Vignette Pipeline
|
|
// We will extends as we work through the pipeline and prove it out
|
|
|
|
// See wiki write up at:
|
|
// http://wiki2.neversoft.com/index.php/COD:_NX_Vignette_Pipeline
|
|
|
|
//*******************************************************************
|
|
// *
|
|
// *
|
|
//*******************************************************************
|
|
|
|
// tagTC<note> - Register function currently checks for valid flag and waits,
|
|
// then plays the vignette. It'll also be a central hook point if we plan
|
|
// to extend the vignette logic (e.g. adding debug points to test scenes)
|
|
vignette_register( vignette_func, vignette_flag )
|
|
{
|
|
// Return if the vignette flag doesn't exist
|
|
if ( !flag_exist ( vignette_flag ) )
|
|
{
|
|
IPrintLn( "VIGNETTE ERROR: vignette flag " + vignette_flag + " doesn't exist." );
|
|
return;
|
|
}
|
|
|
|
// Wait for vignette
|
|
flag_wait( vignette_flag );
|
|
|
|
// Play the vignette
|
|
level thread [[vignette_func]]();
|
|
}
|
|
|
|
//*******************************************************************
|
|
// *
|
|
// *
|
|
//*******************************************************************
|
|
|
|
vignette_actor_spawn( spawner_name, anim_name )
|
|
{
|
|
// Force spawn vignette actor
|
|
spawner = GetEnt( spawner_name, "targetname" );
|
|
spawner.script_forcespawn = 1;
|
|
spawner thread add_spawn_function( ::vignette_actor_spawn_func );
|
|
|
|
vignette_actor = spawner spawn_ai();
|
|
vignette_actor.animname = anim_name;
|
|
|
|
return vignette_actor;
|
|
}
|
|
|
|
vignette_actor_spawn_func()
|
|
{
|
|
self endon ( "death" );
|
|
|
|
// Ignore vignette actors, thread magic bullet shield
|
|
self thread magic_bullet_shield();
|
|
self thread vignette_actor_ignore_everything();
|
|
}
|
|
|
|
vignette_actor_delete()
|
|
{
|
|
if( IsDefined( self.magic_bullet_shield ) )
|
|
{
|
|
self stop_magic_bullet_shield();
|
|
}
|
|
self delete();
|
|
}
|
|
|
|
vignette_actor_kill()
|
|
{
|
|
if ( !isalive( self ) )
|
|
return;
|
|
|
|
if( IsDefined( self.magic_bullet_shield ) )
|
|
{
|
|
self stop_magic_bullet_shield();
|
|
}
|
|
|
|
self.allowDeath = true;
|
|
self.a.nodeath = true;
|
|
self set_battlechatter( false );
|
|
|
|
self kill();
|
|
}
|
|
|
|
vignette_actor_ignore_everything()
|
|
{
|
|
self.ignoreall = true;
|
|
self.ignoreme = true;
|
|
self.grenadeawareness = 0;
|
|
self.ignoreexplosionevents = true;
|
|
self.ignorerandombulletdamage = true;
|
|
self.ignoresuppression = true;
|
|
self.fixednode = false;
|
|
self.disableBulletWhizbyReaction = true;
|
|
self disable_pain();
|
|
self.dontavoidplayer = true;
|
|
self.og_newEnemyReactionDistSq = self.newEnemyReactionDistSq;
|
|
self.newEnemyReactionDistSq = 0;
|
|
}
|
|
|
|
//*******************************************************************
|
|
// *
|
|
// *
|
|
//*******************************************************************
|
|
|
|
vignette_vehicle_spawn( vehicle_name, anim_name )
|
|
{
|
|
vehicle = spawn_vehicle_from_targetname( vehicle_name );
|
|
vehicle.animname = anim_name;
|
|
|
|
return vehicle;
|
|
}
|
|
|
|
vignette_vehicle_delete()
|
|
{
|
|
self delete();
|
|
}
|
|
|
|
//*******************************************************************
|
|
// *
|
|
// *
|
|
//******************************************************************* |