Nuclide
Software Development Kit for id Tech
|
This class is responsible for handling core entity functionality. More...
#include <NSIO.h>
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... | |
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... | |
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.
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.
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.
Looks up a sequence from an act of a key within this entity's declaration.
bool NSIO::GetDefBool | ( | string | keyName | ) |
Looks up the boolean value of a key within this entity's declaration.
Looks up the floating-point value of a key within this entity's declaration.
int NSIO::GetDefInt | ( | string | keyName | ) |
Looks up the integer value of a key within this entity's declaration.
Looks up the string value of a key within this entity's declaration.
vector NSIO::GetDefVector | ( | string | keyName | ) |
Looks up the integer value of a key within this entity's declaration.
bool NSIO::GetSpawnBool | ( | string | keyName | ) |
Returns the boolean value of a named key in the entity's spawn data.
entity NSIO::GetSpawnEntity | ( | string | keyName, |
entity | startEntity | ||
) |
Returns an entity of a named key in the entity's spawn data.
keyName | Name of the key in the spawn data. |
startEntity | Start search at this entity. Can be world or __NULL__ . |
Returns the floating-point value of a named key in the entity's spawn data.
int NSIO::GetSpawnInt | ( | string | keyName | ) |
Returns the integer value of a named key in the entity's spawn data.
Returns the string value of a named key in the entity's spawn data.
vector NSIO::GetSpawnVector | ( | string | keyName | ) |
Returns the vector value of a named key in the entity's spawn data.
Like GetDefAct, but queries a specified def, falling back to reading from our own if it's not defined.
Like GetDefBool, but queries a specified def, falling back to reading from our own if it's not defined.
Like GetDefFloat, but queries a specified def, falling back to reading from our own if it's not defined.
Like GetDefInt, but queries a specified def, falling back to reading from our own if it's not defined.
Like GetDefString, but queries a specified def, falling back to reading from our own if it's not defined.
Like GetDefVector, but queries a specified def, falling back to reading from our own if it's not defined.
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.
Called when we are being prompted by another object/function with an input message.
Reimplemented in env_explosion, env_physexplosion, env_shooter, env_spark, func_areaportal, func_door, func_guntarget, func_plat, func_wall_toggle, game_team_master, game_text, logic_case, logic_relay, logic_timer, path_track, phys_convert, phys_hinge, phys_keepupright, phys_slideconstraint, point_camera, point_servercommand, point_trigger, scripted_sentence, trigger_changelevel, trigger_hurt, trigger_multiple, trigger_once, ambient_generic, env_bubbles, env_cascade_light, env_fog_controller, env_funnel, env_instructor_hint, env_muzzleflash, env_smoker, func_conveyor, info_waypoint, logic_achievement, NSEntity, NSMonster, NSPhysicsConstraint, NSRenderableEntity, NSSoundScape, NSSurfacePropEntity, and NSTrigger.
Called when we need to re-align the entity to our parent entity.
Reimplemented in NSEntity, and NSSurfacePropEntity.
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.
bool NSIO::ReadBool | ( | string | inputString | ) |
Returns a boolean value from a string.
entity NSIO::ReadEntity | ( | string | inputString | ) |
Reads an entity id from a string and returns the entity.
int NSIO::ReadInt | ( | string | inputString | ) |
Returns an integer value from a string.
Returns a string value from a string (with error checking).
vector NSIO::ReadVector | ( | string | inputString | ) |
Returns a vector from a string.
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, infodecal, 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_trigger, prop_door_rotating, prop_dynamic, prop_physics, prop_static, random_speaker, random_trigger, scripted_sequence, targ_speaker, target_cdaudio, 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, func_conveyor, func_friction, func_illusionary, func_ladder, func_lod, func_wall, logic_achievement, speaker, trigger_gravity, trigger_push, NSOutput, NSBrushTrigger, NSClientPlayer, NSEntity, NSItem, NSMonster, NSPhysicsEntity, NSPointTrigger, NSRenderableEntity, NSSpawnPoint, NSSurfacePropEntity, NSTalkMonster, and NSTrigger.
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, worldspawn, NSGameRules, NSClient, NSClientPlayer, NSClientSpectator, NSEntity, NSItem, NSMonster, NSMoverEntity, NSActor, NSPhysicsConstraint, NSPhysicsEntity, NSPointTrigger, NSProjectile, NSRenderableEntity, NSSoundScape, NSSquadMonster, NSSurfacePropEntity, NSTalkMonster, NSTimer, NSTrigger, NSVehicle, and NSWeapon.
Called when the entity has been successfully restored from a savegame file.
Reimplemented in light, logic_auto, trigger_auto, trigger_changelevel, NSGameRules, and NSActor.
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, worldspawn, NSGameRules, NSClient, NSClientPlayer, NSClientSpectator, NSEntity, NSItem, NSMonster, NSMoverEntity, NSActor, NSPhysicsConstraint, NSPhysicsEntity, NSPointTrigger, NSProjectile, NSRenderableEntity, NSSoundScape, NSSquadMonster, NSSurfacePropEntity, NSTalkMonster, NSTimer, NSTrigger, NSVehicle, and NSWeapon.
Saves a boolean key/value pair to a filehandle.
Saves an entity id key/value pair to a filehandle.
Saves a floating point key/value pair to a filehandle.
Saves a integer key/value pair to a filehandle.
Saves a string key/value pair to a filehandle.
Saves a vector key/value pair to a filehandle.
Called when the entity is fulled initialized.
Any spawn key/value info pairs have already been dealt with. So now we can make full decisions on the entity. Always make sure to call super::Spawned();
inside your method when overriding.
Reimplemented in NSInteractiveSurface, env_sun, func_dustcloud, func_dustmotes, func_smokevolume, prop_static, cycler_wreckage, env_beverage, env_explosion, env_global, env_shooter, env_spark, func_areaportal, func_breakable, func_button, func_door, func_door_rotating, func_guntarget, func_healthcharger, func_plat, func_pushable, func_recharge, func_tank, func_trackchange, func_tracktrain, func_train, infodecal, item_healthcharger, item_recharge, light, light_environment, logic_auto, logic_case, logic_timer, multi_manager, path_corner, phys_convert, point_trigger, scripted_sentence, trigger_autosave, trigger_changelevel, trigger_hurt, trigger_look, trigger_multiple, trigger_once, trigger_teleport, ambient_generic, env_bubbles, env_fog, env_sprite, func_lod, func_tankmortar, logic_achievement, prop_vehicle_driveable, speaker, worldspawn, NSEntity, NSItem, NSMonster, NSPhysicsConstraint, NSPhysicsEntity, NSProjectile, NSSquadMonster, NSSurfacePropEntity, and NSWeapon.
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, random_speaker, random_trigger, scripted_sentence, scripted_sequence, targ_speaker, target_cdaudio, 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, info_waypoint, light_dynamic, logic_achievement, speaker, trigger_gravity, trigger_push, worldspawn, NSEntity, NSItem, NSMonster, NSMoverEntity, NSPhysicsConstraint, NSPhysicsEntity, NSPointTrigger, NSProjectile, NSRenderableEntity, NSSoundScape, NSSpawnPoint, NSSquadMonster, NSSurfacePropEntity, NSTalkMonster, NSTrigger, and NSWeapon.
Called when the entity has successfully completed a level transition.
Reimplemented in func_tracktrain.
Triggers an output field that has been created beforehand.