Nuclide
Software Development Kit for id Technology
NSIO Class Reference

About this class

This class is responsible for handling core entity functionality.

It handles entity spawns, respawns, save/load as well as key/value pair loading, as well as inputs/outputs which is our basic entity model.

This is a very low-level class. You're never meant to use this. Use NSEntity as a basis for your classes.

Inheritance diagram for NSIO:
NSGameRules NSTrigger NSEntity NSBrushTrigger NSInteractiveSurface NSOutput NSPMoveVars NSPhysicsConstraint NSPointTrigger NSPortal NSRenderableEntity NSSpraylogo NSTimer NSWorldspawn env_cubemap env_muzzleflash env_particle env_shockwave env_soundscape env_sun func_areaportal func_dustcloud func_dustmotes func_friction func_monsterclip func_smokevolume infodecal light_environment phys_rope point_message prop_rope prop_static reserved_spot sky_camera

Public Member Functions

void NSIO (void)
 
virtual void Spawned (void)
 Called when the entity is fulled initialized. More...
 
virtual void Respawn (void)
 Server: Called when the entity first spawns or when game-logic requests the entity to return to its original spawn state. More...
 
virtual void SpawnKey (string, string)
 This method handles entity key/value pairs on map load. More...
 
nonvirtual float GetDefAct (string)
 Looks up a sequence from an act of a key within this entity's declaration. More...
 
nonvirtual string GetDefString (string)
 Looks up the string value of a key within this entity's declaration. More...
 
nonvirtual float GetDefFloat (string)
 Looks up the floating-point value of a key within this entity's declaration. More...
 
nonvirtual bool GetDefBool (string)
 Looks up the boolean value of a key within this entity's declaration. More...
 
nonvirtual int GetDefInt (string)
 Looks up the integer value of a key within this entity's declaration. More...
 
nonvirtual vector GetDefVector (string)
 Looks up the integer value of a key within this entity's declaration. More...
 
nonvirtual float GetSubDefAct (string, string)
 Like GetDefAct, but queries a specified def, falling back to reading from our own if it's not defined. More...
 
nonvirtual string GetSubDefString (string, string)
 Like GetDefString, but queries a specified def, falling back to reading from our own if it's not defined. More...
 
nonvirtual float GetSubDefFloat (string, string)
 Like GetDefFloat, but queries a specified def, falling back to reading from our own if it's not defined. More...
 
nonvirtual bool GetSubDefBool (string, string)
 Like GetDefBool, but queries a specified def, falling back to reading from our own if it's not defined. More...
 
nonvirtual int GetSubDefInt (string, string)
 Like GetDefInt, but queries a specified def, falling back to reading from our own if it's not defined. More...
 
nonvirtual vector GetSubDefVector (string, string)
 Like GetDefVector, but queries a specified def, falling back to reading from our own if it's not defined. More...
 
nonvirtual void Destroy (void)
 When called, will remove the entity from the game entirely. More...
 
virtual void OnRemoveEntity (void)
 Handles what happens before the entity gets removed from the client game. More...
 
virtual void Save (float)
 Handles saving a copy of this entity to a given filehandle. More...
 
virtual void Restore (string, string)
 Similar to NSIO::SpawnKey but for save-game fields. More...
 
virtual void RestoreComplete (void)
 Called when the entity has been successfully restored from a savegame file. More...
 
virtual void TransitionComplete (void)
 Called when the entity has successfully completed a level transition. More...
 
virtual void Input (entity, string, string)
 Called when we are being prompted by another object/function with an input message. More...
 
nonvirtual void UseOutput (entity, string)
 Triggers an output field that has been created beforehand. More...
 
nonvirtual string PrepareOutput (string, string)
 Prepares an output field. More...
 
nonvirtual string CreateOutput (string)
 Called at the end of setting up an entity's output field. More...
 
nonvirtual bool CheckOutput (string)
 Returns whether the Output is ready, or has done firing - not currently scheduled to fire, etc. More...
 
virtual void ParentUpdate (void)
 Called when we need to re-align the entity to our parent entity. More...
 
nonvirtual void SaveFloat (float, string, float)
 Saves a floating point key/value pair to a filehandle. More...
 
nonvirtual void SaveInt (float, string, int)
 Saves a integer key/value pair to a filehandle. More...
 
nonvirtual void SaveString (float, string, string)
 Saves a string key/value pair to a filehandle. More...
 
nonvirtual void SaveVector (float, string, vector)
 Saves a vector key/value pair to a filehandle. More...
 
nonvirtual void SaveBool (float, string, bool)
 Saves a boolean key/value pair to a filehandle. More...
 
nonvirtual void SaveEntity (float, string, entity)
 Saves an entity id key/value pair to a filehandle. More...
 
nonvirtual float GetSpawnFloat (string)
 Returns the floating-point value of a named key in the entity's spawn data. More...
 
nonvirtual int GetSpawnInt (string)
 Returns the integer value of a named key in the entity's spawn data. More...
 
nonvirtual string GetSpawnString (string)
 Returns the string value of a named key in the entity's spawn data. More...
 
nonvirtual vector GetSpawnVector (string)
 Returns the vector value of a named key in the entity's spawn data. More...
 
nonvirtual bool GetSpawnBool (string)
 Returns the boolean value of a named key in the entity's spawn data. More...
 
nonvirtual entity GetSpawnEntity (string, entity)
 Returns an entity of a named key in the entity's spawn data. More...
 
nonvirtual float ReadFloat (string)
 Returns a floating point value from a string value. More...
 
nonvirtual int ReadInt (string)
 Returns an integer value from a string. More...
 
nonvirtual string ReadString (string)
 Returns a string value from a string (with error checking). More...
 
nonvirtual vector ReadVector (string)
 Returns a vector from a string. More...
 
nonvirtual bool ReadBool (string)
 Returns a boolean value from a string. More...
 
nonvirtual entity ReadEntity (string)
 Reads an entity id from a string and returns the entity. More...
 
nonvirtual float GetTime (void)
 Get the level time the entity finds itself in. More...
 
nonvirtual void DebugFloat (string, float)
 Debug print for a given float. More...
 
nonvirtual void DebugInt (string, int)
 Debug print for a given integer. More...
 
nonvirtual void DebugString (string, string)
 Debug print for a given string. More...
 
nonvirtual void DebugVector (string, vector)
 Debug print for a given vector. More...
 
nonvirtual void DebugBool (string, bool)
 Debug print for a given boolean. More...
 
nonvirtual void DebugEntity (string, entity)
 Debug print for a given entity. More...
 
nonvirtual void SetEditorIcon (string)
 Sets the editor icon. More...
 

Constructor & Destructor Documentation

◆ NSIO()

void NSIO::NSIO ( void  )

Member Function Documentation

◆ CheckOutput()

bool NSIO::CheckOutput ( string  strOut)

Returns whether the Output is ready, or has done firing - not currently scheduled to fire, etc.

Input is the identifier of an output.

◆ CreateOutput()

string NSIO::CreateOutput ( string  outmsg)

Called at the end of setting up an entity's output field.

The input is a 5 parameter, commar separated string. The return value is the targetname of a minion object that'll handle the triggering (and counting down of uses) as defined in the Source Engine's Input/Output specification.

◆ DebugBool()

void NSIO::DebugBool ( string  key,
bool  value 
)

Debug print for a given boolean.

◆ DebugEntity()

void NSIO::DebugEntity ( string  key,
entity  targ 
)

Debug print for a given entity.

◆ DebugFloat()

void NSIO::DebugFloat ( string  key,
float  value 
)

Debug print for a given float.

◆ DebugInt()

void NSIO::DebugInt ( string  key,
int  value 
)

Debug print for a given integer.

◆ DebugString()

void NSIO::DebugString ( string  key,
string  value 
)

Debug print for a given string.

◆ DebugVector()

void NSIO::DebugVector ( string  key,
vector  value 
)

Debug print for a given vector.

◆ Destroy()

void NSIO::Destroy ( void  )

When called, will remove the entity from the game entirely.

◆ GetDefAct()

float NSIO::GetDefAct ( string  activityName)

Looks up a sequence from an act of a key within this entity's declaration.

◆ GetDefBool()

bool NSIO::GetDefBool ( string  keyName)

Looks up the boolean value of a key within this entity's declaration.

◆ GetDefFloat()

float NSIO::GetDefFloat ( string  keyName)

Looks up the floating-point value of a key within this entity's declaration.

◆ GetDefInt()

int NSIO::GetDefInt ( string  keyName)

Looks up the integer value of a key within this entity's declaration.

◆ GetDefString()

string NSIO::GetDefString ( string  keyName)

Looks up the string value of a key within this entity's declaration.

◆ GetDefVector()

vector NSIO::GetDefVector ( string  keyName)

Looks up the integer value of a key within this entity's declaration.

◆ GetSpawnBool()

bool NSIO::GetSpawnBool ( string  keyName)

Returns the boolean value of a named key in the entity's spawn data.

◆ GetSpawnEntity()

entity NSIO::GetSpawnEntity ( string  keyName,
entity  startEntity 
)

Returns an entity of a named key in the entity's spawn data.

Parameters
keyNameName of the key in the spawn data.
startEntityStart search at this entity. Can be world or __NULL__.

◆ GetSpawnFloat()

float NSIO::GetSpawnFloat ( string  keyName)

Returns the floating-point value of a named key in the entity's spawn data.

◆ GetSpawnInt()

int NSIO::GetSpawnInt ( string  keyName)

Returns the integer value of a named key in the entity's spawn data.

◆ GetSpawnString()

string NSIO::GetSpawnString ( string  keyName)

Returns the string value of a named key in the entity's spawn data.

◆ GetSpawnVector()

vector NSIO::GetSpawnVector ( string  keyName)

Returns the vector value of a named key in the entity's spawn data.

◆ GetSubDefAct()

float NSIO::GetSubDefAct ( string  subDef,
string  activityName 
)

Like GetDefAct, but queries a specified def, falling back to reading from our own if it's not defined.

Returns the framegroup for a given activity.

◆ GetSubDefBool()

bool NSIO::GetSubDefBool ( string  subDef,
string  keyName 
)

Like GetDefBool, but queries a specified def, falling back to reading from our own if it's not defined.

◆ GetSubDefFloat()

float NSIO::GetSubDefFloat ( string  subDef,
string  keyName 
)

Like GetDefFloat, but queries a specified def, falling back to reading from our own if it's not defined.

◆ GetSubDefInt()

int NSIO::GetSubDefInt ( string  subDef,
string  keyName 
)

Like GetDefInt, but queries a specified def, falling back to reading from our own if it's not defined.

◆ GetSubDefString()

string NSIO::GetSubDefString ( string  subDef,
string  keyName 
)

Like GetDefString, but queries a specified def, falling back to reading from our own if it's not defined.

◆ GetSubDefVector()

vector NSIO::GetSubDefVector ( string  subDef,
string  keyName 
)

Like GetDefVector, but queries a specified def, falling back to reading from our own if it's not defined.

◆ GetTime()

float NSIO::GetTime ( void  )

Get the level time the entity finds itself in.

Always use this instead of the time global. The time global may not be valid on every type of entity. Specifically, MOVETYPE_PUSH entities only update upon movement (so that any think timers the entity may have are not triggered when it is at rest.

◆ Input()

◆ OnRemoveEntity()

void NSIO::OnRemoveEntity ( void  )
virtual

Handles what happens before the entity gets removed from the client game.

Reimplemented in cycler_wreckage, env_shake, func_pushable, ambient_generic, env_cascade_light, light_dynamic, prop_vehicle_driveable, NSClient, NSClientPlayer, NSPhysicsConstraint, NSRagdoll, NSSound, and NSTimer.

◆ ParentUpdate()

void NSIO::ParentUpdate ( void  )
virtual

Called when we need to re-align the entity to our parent entity.

Reimplemented in NSEntity, and NSSurfacePropEntity.

◆ PrepareOutput()

string NSIO::PrepareOutput ( string  strOut,
string  strValue 
)

Prepares an output field.

Commonly used within ::SpawnKey() to prepare output fields. For example: m_someOutput = PrepareOutput(m_someOutput, strValue);` This will ensure that when an entity wants to trigger multiple outputs that those can be called with a single UseOutput call.

◆ ReadBool()

bool NSIO::ReadBool ( string  inputString)

Returns a boolean value from a string.

◆ ReadEntity()

entity NSIO::ReadEntity ( string  inputString)

Reads an entity id from a string and returns the entity.

◆ ReadFloat()

float NSIO::ReadFloat ( string  inputString)

Returns a floating point value from a string value.

◆ ReadInt()

int NSIO::ReadInt ( string  inputString)

Returns an integer value from a string.

◆ ReadString()

string NSIO::ReadString ( string  inputString)

Returns a string value from a string (with error checking).

◆ ReadVector()

vector NSIO::ReadVector ( string  inputString)

Returns a vector from a string.

◆ Respawn()

void NSIO::Respawn ( void  )
virtual

Server: Called when the entity first spawns or when game-logic requests the entity to return to its original spawn state.

Reimplemented in env_particle, env_soundscape, light_environment, prop_static, button_target, cycler, env_explosion, env_message, env_model, env_shooter, env_spark, func_breakable, func_brush, func_button, func_door, func_door_rotating, func_guntarget, func_healthcharger, func_monsterclip, func_mortar_field, func_pendulum, func_physbox, func_plat, func_platrot, func_pushable, func_recharge, func_rot_button, func_rotating, func_tank, func_tracktrain, func_train, func_traincontrols, func_wall_toggle, game_counter, game_counter_set, game_zone_player, info_node, info_node_air, infodecal, item_eyescanner, item_food, item_generic, item_healthcharger, item_recharge, light, logic_auto, logic_case, logic_relay, logic_timer, momentary_door, momentary_rot_button, monster_furniture, monster_generic, monstermaker, multi_manager, multisource, path_corner, path_track, phys_ballsocket, phys_constraint, phys_constraintsystem, phys_convert, phys_hinge, phys_keepupright, phys_slideconstraint, point_camera, point_trigger, prop_door_rotating, prop_dynamic, prop_physics, prop_portal, prop_static, random_speaker, random_trigger, reserved_spot, scripted_sequence, targ_speaker, target_cdaudio, target_speaker, trigger_auto, trigger_autosave, trigger_cdaudio, trigger_changelevel, trigger_counter, trigger_endsection, trigger_hurt, trigger_look, trigger_monsterjump, trigger_once, trigger_playerfreeze, trigger_relay, trigger_teleport, trigger_transition, ambient_generic, env_beam, env_bubbles, env_cascade_light, env_fog, env_fog_controller, env_funnel, env_glow, env_instructor_hint, env_laser, env_smoker, env_sprite, func_conveyor, func_friction, func_illusionary, func_ladder, func_lod, func_useableladder, func_wall, logic_achievement, speaker, trigger_gravity, trigger_push, NSOutput, NSBrushTrigger, NSCharger, NSClientPlayer, NSEntity, NSItem, NSMonster, NSPhysicsEntity, NSPointTrigger, NSRenderableEntity, NSSound, NSSpawnPoint, NSSurfacePropEntity, NSTalkMonster, and NSTrigger.

◆ Restore()

void NSIO::Restore ( string  strKey,
string  strValue 
)
virtual

Similar to NSIO::SpawnKey but for save-game fields.

Whatever you write into file handles within your NSIO::Save() method needs to be read back in here.

Reimplemented in env_beverage, env_explosion, env_fade, env_global, env_hudhint, env_message, env_physexplosion, env_shake, env_shooter, env_spark, func_areaportal, func_breakable, func_brush, func_button, func_door, func_door_rotating, func_guntarget, func_healthcharger, func_mortar_field, func_pendulum, func_plat, func_platrot, func_pushable, func_recharge, func_rot_button, func_rotating, func_tank, func_trackchange, func_tracktrain, func_train, func_wall_toggle, game_counter, game_counter_set, game_player_equip, game_player_hurt, game_score, game_team_master, game_text, game_zone_player, info_hint, infodecal, item_food, item_generic, item_healthcharger, item_recharge, light, logic_auto, logic_case, logic_timer, momentary_rot_button, NSMomentary, monstermaker, multi_manager, path_corner, path_track, phys_convert, phys_hinge, phys_keepupright, phys_slideconstraint, player_loadsaved, point_camera, point_trigger, prop_door_rotating, random_speaker, random_trigger, scripted_sentence, scripted_sequence, targ_speaker, target_cdaudio, trigger_auto, trigger_autosave, trigger_cdaudio, trigger_changelevel, trigger_changetarget, trigger_counter, trigger_hurt, trigger_look, trigger_monsterjump, trigger_multiple, trigger_once, trigger_relay, trigger_teleport, ambient_generic, env_bubbles, env_cascade_light, env_fog, env_fog_controller, env_funnel, env_instructor_hint, env_muzzleflash, env_smoker, func_conveyor, info_waypoint, logic_achievement, speaker, trigger_gravity, trigger_push, NSWorldspawn, NSGameRules, NSAttack, NSCharger, NSClient, NSClientPlayer, NSClientSpectator, NSEntity, NSItem, NSMonster, NSMoverEntity, NSActor, NSPhysicsConstraint, NSPhysicsEntity, NSPointTrigger, NSProjectile, NSRenderableEntity, NSSoundScape, NSSquadMonster, NSSurfacePropEntity, NSTalkMonster, NSTimer, NSTrigger, NSVehicle, and NSWeapon.

◆ RestoreComplete()

void NSIO::RestoreComplete ( void  )
virtual

Called when the entity has been successfully restored from a savegame file.

Reimplemented in light, logic_auto, trigger_auto, trigger_changelevel, NSGameRules, and NSActor.

◆ Save()

void NSIO::Save ( float  handle)
virtual

Handles saving a copy of this entity to a given filehandle.

Within you want to use the NSIO::SaveFloat() etc. methods to write the internal member attributes to the specified file handle.

Reimplemented in env_beverage, env_explosion, env_fade, env_global, env_hudhint, env_message, env_physexplosion, env_shake, env_shooter, env_spark, func_areaportal, func_breakable, func_brush, func_button, func_door, func_door_rotating, func_guntarget, func_healthcharger, func_mortar_field, func_pendulum, func_plat, func_platrot, func_pushable, func_recharge, func_rot_button, func_rotating, func_tank, func_trackchange, func_tracktrain, func_train, func_wall_toggle, game_counter, game_counter_set, game_player_equip, game_player_hurt, game_score, game_team_master, game_text, game_zone_player, info_hint, infodecal, item_food, item_generic, item_healthcharger, item_recharge, light, logic_auto, logic_case, logic_timer, momentary_rot_button, NSMomentary, monstermaker, multi_manager, path_corner, path_track, phys_convert, phys_hinge, phys_keepupright, phys_slideconstraint, player_loadsaved, point_camera, point_trigger, prop_door_rotating, random_speaker, random_trigger, scripted_sentence, scripted_sequence, targ_speaker, target_cdaudio, trigger_auto, trigger_autosave, trigger_cdaudio, trigger_changelevel, trigger_changetarget, trigger_counter, trigger_hurt, trigger_look, trigger_monsterjump, trigger_multiple, trigger_once, trigger_relay, trigger_teleport, ambient_generic, env_bubbles, env_cascade_light, env_fog, env_fog_controller, env_funnel, env_instructor_hint, env_muzzleflash, env_smoker, func_conveyor, info_waypoint, logic_achievement, speaker, trigger_gravity, trigger_push, NSWorldspawn, NSGameRules, NSAttack, NSCharger, NSClient, NSClientPlayer, NSClientSpectator, NSEntity, NSItem, NSMonster, NSMoverEntity, NSActor, NSPhysicsConstraint, NSPhysicsEntity, NSPointTrigger, NSProjectile, NSRenderableEntity, NSSoundScape, NSSquadMonster, NSSurfacePropEntity, NSTalkMonster, NSTimer, NSTrigger, NSVehicle, and NSWeapon.

◆ SaveBool()

void NSIO::SaveBool ( float  handle,
string  key,
bool  value 
)

Saves a boolean key/value pair to a filehandle.

◆ SaveEntity()

void NSIO::SaveEntity ( float  handle,
string  key,
entity  targ 
)

Saves an entity id key/value pair to a filehandle.

◆ SaveFloat()

void NSIO::SaveFloat ( float  handle,
string  key,
float  value 
)

Saves a floating point key/value pair to a filehandle.

◆ SaveInt()

void NSIO::SaveInt ( float  handle,
string  key,
int  value 
)

Saves a integer key/value pair to a filehandle.

◆ SaveString()

void NSIO::SaveString ( float  handle,
string  key,
string  value 
)

Saves a string key/value pair to a filehandle.

◆ SaveVector()

void NSIO::SaveVector ( float  handle,
string  key,
vector  value 
)

Saves a vector key/value pair to a filehandle.

◆ SetEditorIcon()

void NSIO::SetEditorIcon ( string  newIcon)

Sets the editor icon.

Must be 16x16 px and located in gfx/icon16/.

◆ Spawned()

◆ SpawnKey()

void NSIO::SpawnKey ( string  strKey,
string  strValue 
)
virtual

This method handles entity key/value pairs on map load.

You can easily convert the strValue parameter using the ReadFloat etc. methods that are part of NSIO.

Reimplemented in env_fire, NSInteractiveSurface, env_cubemap, env_particle, env_soundscape, env_sun, func_dustcloud, func_dustmotes, func_smokevolume, infodecal, light_environment, point_message, prop_static, sky_camera, env_beverage, env_explosion, env_fade, env_global, env_hudhint, env_message, env_model, env_physexplosion, env_shake, env_shooter, env_sound, env_spark, func_areaportal, func_breakable, func_brush, func_button, func_door, func_door_rotating, func_guntarget, func_healthcharger, func_mortar_field, func_pendulum, func_physbox, func_plat, func_platrot, func_pushable, func_recharge, func_rot_button, func_rotating, func_tank, func_trackchange, func_tracktrain, func_train, game_counter, game_counter_set, game_player_equip, game_player_hurt, game_score, game_team_master, game_text, game_zone_player, info_hint, infodecal, item_eyescanner, item_generic, item_healthcharger, item_recharge, light, light_environment, logic_auto, logic_case, logic_relay, logic_timer, momentary_door, momentary_rot_button, monster_furniture, monstermaker, multi_manager, path_corner, path_track, phys_convert, phys_hinge, phys_keepupright, phys_slideconstraint, player_loadsaved, point_camera, point_trigger, prop_door_rotating, prop_dynamic, prop_physics, prop_portal, random_speaker, random_trigger, scripted_sentence, scripted_sequence, targ_speaker, target_cdaudio, target_speaker, trigger_auto, trigger_cdaudio, trigger_changelevel, trigger_changetarget, trigger_counter, trigger_hurt, trigger_look, trigger_monsterjump, trigger_multiple, trigger_once, trigger_relay, trigger_teleport, ambient_generic, env_beam, env_bubbles, env_cascade_light, env_fog, env_fog_controller, env_funnel, env_glow, env_instructor_hint, env_laser, env_muzzleflash, env_shockwave, env_smoker, env_sprite, func_conveyor, func_friction, func_lod, func_useableladder, info_waypoint, light_dynamic, logic_achievement, speaker, trigger_gravity, trigger_push, NSWorldspawn, NSAttack, NSCharger, NSEntity, NSItem, NSMonster, NSMoverEntity, NSPhysicsConstraint, NSPhysicsEntity, NSPointTrigger, NSProjectile, NSRenderableEntity, NSSoundScape, NSSquadMonster, NSSurfacePropEntity, NSTalkMonster, NSTrigger, and NSWeapon.

◆ TransitionComplete()

void NSIO::TransitionComplete ( void  )
virtual

Called when the entity has successfully completed a level transition.

Reimplemented in func_tracktrain.

◆ UseOutput()

void NSIO::UseOutput ( entity  act,
string  outname 
)

Triggers an output field that has been created beforehand.


The documentation for this class was generated from the following files: