S PreserveEnts: Difference between revisions
Jump to navigation
Jump to search
NvC DmN CH (talk | contribs) (stub-ed it) |
No edit summary |
||
Line 12: | Line 12: | ||
|Affects: | |Affects: | ||
||{{style|color:green|Yes}} | ||{{style|color:green|Yes}} | ||
||{{style|color: | ||{{style|color:green|Yes}} | ||
||{{style|color:green|Yes}} | ||{{style|color:green|Yes}} | ||
||{{style|color:green|Yes}} | ||{{style|color:green|Yes}} | ||
Line 199: | Line 199: | ||
"worldspawn", | "worldspawn", | ||
"point_devshot_camera", | "point_devshot_camera", | ||
"", // END Marker | |||
}; | |||
</pre> | |||
=={{csgo}}csgo/cs_gamerules.cpp== | |||
<pre> | |||
static const char *s_PreserveEnts[] = | |||
{ | |||
"ai_network", | |||
"ai_hint", | |||
"cs_gamerules", | |||
"cs_team_manager", | |||
"cs_player_manager", | |||
"env_soundscape", | |||
"env_soundscape_proxy", | |||
"env_soundscape_triggerable", | |||
"env_sun", | |||
"env_wind", | |||
"env_fog_controller", | |||
"env_tonemap_controller", | |||
"env_cascade_light", | |||
"func_brush", | |||
"func_wall", | |||
"func_buyzone", | |||
"func_illusionary", | |||
"func_hostage_rescue", | |||
"func_bomb_target", | |||
"infodecal", | |||
"info_projecteddecal", | |||
"info_node", | |||
"info_target", | |||
"info_node_hint", | |||
"info_player_counterterrorist", | |||
"info_player_terrorist", | |||
"info_enemy_terrorist_spawn", | |||
"info_deathmatch_spawn", | |||
"info_armsrace_counterterrorist", | |||
"info_armsrace_terrorist", | |||
"info_map_parameters", | |||
"keyframe_rope", | |||
"move_rope", | |||
"info_ladder", | |||
"player", | |||
"point_viewcontrol", | |||
"point_viewcontrol_multiplayer", | |||
"scene_manager", | |||
"shadow_control", | |||
"sky_camera", | |||
"soundent", | |||
"trigger_soundscape", | |||
"viewmodel", | |||
"predicted_viewmodel", | |||
"worldspawn", | |||
"point_devshot_camera", | |||
"logic_choreographed_scene", | |||
"cfe_player_decal", | |||
"info_bomb_target_hint_A", | |||
"info_bomb_target_hint_B", | |||
"info_hostage_rescue_zone_hint", | |||
"generic_actor", | |||
"vote_controller", | |||
"wearable_item", | |||
"point_hiding_spot", | |||
"game_coopmission_manager", | |||
"chicken", | |||
"", // END Marker | "", // END Marker | ||
}; | }; |
Revision as of 00:07, 3 June 2020
In multiplayer Source games, when a round is reset in some way, all entities are deleted and then respawned to quickly reset the map. However, a list of entities to not reset exists. Usually these entities have special code to handle the resetting process. The player entity for example, should not ever be erased unless the client disconnects from the server.
Some entities in this list however, do not have any code for handling round resets, so when the reset occurs, those entities will behave in unwanted ways as they have carried over all their properties (including position) from the last round.
Todo: Attempt to finish this table. Some games might not have any way to reset the round (even through mp_forcewin or mp_restartgame).
!Template:Pergame | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Affects: | Yes | Yes | Yes | Yes | N/A | Yes | N/A | N/A | Unsure | Unsure | Yes | Unsure | Yes |
hl2mp/hl2mp_gamerules.cpp
static const char *s_PreserveEnts[] = { "ai_network", "ai_hint", "hl2mp_gamerules", "team_manager", "player_manager", "env_soundscape", "env_soundscape_proxy", "env_soundscape_triggerable", "env_sun", "env_wind", "env_fog_controller", "func_brush", "func_wall", "func_buyzone", "func_illusionary", "infodecal", "info_projecteddecal", "info_node", "info_target", "info_node_hint", "info_player_deathmatch", "info_player_combine", "info_player_rebel", "info_map_parameters", "keyframe_rope", "move_rope", "info_ladder", "player", "point_viewcontrol", "scene_manager", "shadow_control", "sky_camera", "soundent", "trigger_soundscape", "viewmodel", "predicted_viewmodel", "worldspawn", "point_devshot_camera", "", // END Marker };
portal/portal_mp_gamerules.cpp
static const char *s_PreserveEnts[] = { "ai_network", "ai_hint", "hl2mp_gamerules", "team_manager", "player_manager", "env_soundscape", "env_soundscape_proxy", "env_soundscape_triggerable", "env_sun", "env_wind", "env_fog_controller", "func_brush", "func_wall", "func_buyzone", "func_illusionary", "infodecal", "info_projecteddecal", "info_node", "info_target", "info_node_hint", "info_player_deathmatch", "info_player_combine", "info_player_rebel", "info_map_parameters", "keyframe_rope", "move_rope", "info_ladder", "player", "point_viewcontrol", "scene_manager", "shadow_control", "sky_camera", "soundent", "trigger_soundscape", "viewmodel", "predicted_viewmodel", "worldspawn", "point_devshot_camera", "", // END Marker };
tf/tf_gamerules.cpp
static const char *s_PreserveEnts[] = { "tf_gamerules", "tf_team_manager", "tf_player_manager", "tf_team", "tf_objective_resource", "keyframe_rope", "move_rope", "tf_", "tf_logic_training", "tf_logic_training_mode", "tf_powerup_bottle", "tf_mann_vs_machine_stats", "tf_viewmodel" "tf_wearable", "tf_wearable_demoshield", "tf_wearable_robot_arm", "tf_wearable_vm", "tf_logic_bonusround", "vote_controller", "monster_resource", "tf_logic_medieval", "tf_logic_cp_timer", "tf_logic_tower_defense", "func_upgradestation", "entity_rocket", "entity_carrier", "entity_sign", "entity_saucer", "tf_halloween_gift_pickup", "tf_logic_competitive", "tf_wearable_razorback", };
cstrike/cs_gamerules.cpp
static const char *s_PreserveEnts[] = { "ai_network", "ai_hint", "cs_gamerules", "cs_team_manager", "cs_player_manager", "env_soundscape", "env_soundscape_proxy", "env_soundscape_triggerable", "env_sun", "env_wind", "env_fog_controller", "func_brush", "func_wall", "func_buyzone", "func_illusionary", "func_hostage_rescue", "func_bomb_target", "infodecal", "info_projecteddecal", "info_node", "info_target", "info_node_hint", "info_player_counterterrorist", "info_player_terrorist", "info_map_parameters", "keyframe_rope", "move_rope", "info_ladder", "player", "point_viewcontrol", "scene_manager", "shadow_control", "sky_camera", "soundent", "trigger_soundscape", "viewmodel", "predicted_viewmodel", "worldspawn", "point_devshot_camera", "", // END Marker };
csgo/cs_gamerules.cpp
static const char *s_PreserveEnts[] = { "ai_network", "ai_hint", "cs_gamerules", "cs_team_manager", "cs_player_manager", "env_soundscape", "env_soundscape_proxy", "env_soundscape_triggerable", "env_sun", "env_wind", "env_fog_controller", "env_tonemap_controller", "env_cascade_light", "func_brush", "func_wall", "func_buyzone", "func_illusionary", "func_hostage_rescue", "func_bomb_target", "infodecal", "info_projecteddecal", "info_node", "info_target", "info_node_hint", "info_player_counterterrorist", "info_player_terrorist", "info_enemy_terrorist_spawn", "info_deathmatch_spawn", "info_armsrace_counterterrorist", "info_armsrace_terrorist", "info_map_parameters", "keyframe_rope", "move_rope", "info_ladder", "player", "point_viewcontrol", "point_viewcontrol_multiplayer", "scene_manager", "shadow_control", "sky_camera", "soundent", "trigger_soundscape", "viewmodel", "predicted_viewmodel", "worldspawn", "point_devshot_camera", "logic_choreographed_scene", "cfe_player_decal", "info_bomb_target_hint_A", "info_bomb_target_hint_B", "info_hostage_rescue_zone_hint", "generic_actor", "vote_controller", "wearable_item", "point_hiding_spot", "game_coopmission_manager", "chicken", "", // END Marker };
dod/dod_gamerules.cpp
static const char *s_PreserveEnts[] = { "player", "viewmodel", "worldspawn", "soundent", "ai_network", "ai_hint", "dod_gamerules", "dod_team_manager", "dod_player_manager", "dod_objective_resource", "env_soundscape", "env_soundscape_proxy", "env_soundscape_triggerable", "env_sprite", "env_sun", "env_wind", "env_fog_controller", "func_brush", "func_wall", "func_illusionary", "info_node", "info_target", "info_node_hint", "info_player_allies", "info_player_axis", "point_viewcontrol", "shadow_control", "sky_camera", "scene_manager", "trigger_soundscape", "info_dod_detect", "dod_team_allies", "dod_team_axis", "point_commentary_node", "dod_round_timer", "func_precipitation", "func_team_wall", "", // END Marker };
swarm/asw_gamerules.cpp
CAlienSwarm::CAlienSwarm() { // set which entities should stay around when we restart the mission m_MapResetFilter.AddKeepEntity("worldspawn"); m_MapResetFilter.AddKeepEntity("soundent"); m_MapResetFilter.AddKeepEntity("asw_gamerules"); m_MapResetFilter.AddKeepEntity("player"); m_MapResetFilter.AddKeepEntity("asw_player"); m_MapResetFilter.AddKeepEntity("player_manager"); m_MapResetFilter.AddKeepEntity("predicted_viewmodel"); m_MapResetFilter.AddKeepEntity("sdk_team_manager"); m_MapResetFilter.AddKeepEntity("scene_manager"); m_MapResetFilter.AddKeepEntity("event_queue_saveload_proxy"); m_MapResetFilter.AddKeepEntity("ai_network"); }