Change log/5.16

From Sven Co-op
Jump to navigation Jump to search

1 Notable changes

  • Lots of updates to the new They Hunger: Escape map.

2 Code

2.1 Game library

  • Cross-map inventory: Fixed an issue where stored ammo types would get mismatched under certain conditions. (This typically happened if classic mode was enabled/disabled shortly after the last level change.)
  • Doors, platforms, and trains (not track train) can now set key "movesnd_loop" to make their moving sound play looped until the brush stops moving. (Set to 1 to enable.)
  • Fixed an issue where entities spawned via trigger_createentity wouldn't get initialized/spawned properly.
  • Fixed an issue where position of custom HUD elements would get clamped incorrectly in some cases.
  • Fixed an issue where the voice chat labels would overlap if two or more players were talking at the same time.
  • func_tracktrain: All speed related variables are now floats. Fixes an issue where trains with speed lower than 1 wouldn't move at all (i.e. the scissors on ragemap2012_2).
  • func_tracktrain: Fixed an issue where the "speed" keyvalue of the next path_track entity would be ignored if the new speed was higher than the maximum train speed.
  • game_end: Fixed the most recently shown player HUD message showing again during the intermission.
  • HUD debugging statistics will now show the client/server address and port if available.
  • More consistent line buffer length (512 chars) and comment formatting ("//", "#", rather than one/both/mix/match/wtf) when parsing configuration files, material lists, and replacements.
  • Moved the persistent inventory flushing out of "game_end" and into the intermission function, so other things changing level by intermission have the chance of clearing cross-map inventory.
  • myinfo/thatinfo: Added print-out for "takedamage", "gravity", "friction", and "speed".
  • myinfo/thatinfo: If the entity model is brush based show "Model number: x" instead of "Model file: *x".
  • myinfo/thatinfo: Water and cheats string tweaks.
  • Say alias "/me" now works in team say too.
  • Server command "reloadadminlist" to reload the list of administrators at run time. (Can be used in RCON.)
  • The server no longer sends gmsgCurWeapon message every frame to all clients with no active weapon.
  • trigger_changelevel: It will no longer try to read in a map name if it's going to be too long. (32 characters maximum.)
  • trigger_changelevel: Now creates a log message when a level change is about to happen, in a similar style to "game_end".
  • trigger_changelevel: Now creates a player HUD message when a level is changing so it's more obvious as to why a brief freeze may be happening.
  • trigger_multiple: Fixed touchers never being forgotten about when the "fire on enter" flag is set but "fire on leave" is not.
  • trigger_multiple: The "inventory rules failed" trigger will now impose a reset time when run so it doesn't run every frame.
  • Voting: A successful map vote will now use the intermission so players get a chance to see why the map is suddenly changing. (More like "game_end" instead of "trigger_changelevel".)
  • Voting: Players are now shown in their console what kind of vote passed/failed, rather than just "Vote failed".
  • ¯\_(ツ)_/¯

2.2 AngelScript

  • Updated AngelScript to version 2.32.0.
  • Updated 'ASString' to use the new 'asIStringFactory' interface. (String literals can now be reused to save memory.)
  • CPathTrack: Changed the recently added "int m_iMaxSpeed" and "int m_iNewSpeed" members to "float m_flMaxSpeed" and "float m_flNewSpeed".
  • Exposed map class methods to map and plug-in scripts:
    • 'LoadGlobalSkillFile()': Reloads the global skill file.
    • 'LoadMapSkillFile()': Reloads the standard map skill file (_skl.cfg).
    • 'LoadSkillFile( const CString& szFileName )': Loads a custom skill file.
  • Exposed CBasePlayerItem::LoadSprites(). Can be used to load a different set of HUD sprites for a given weapon.
  • Fixed some of the CEngineFuncs documentation strings.
  • Fixed the previously unnamed 'iAttachment' argument of 'CEngineFuncs::GetAttachment()'.
  • The global "CMap" instance (g_Map) is no longer a constant.

2.3 Engine

  • Fixed a crash due to a race condition with console debug log handle when many many log messages are written in a burst.

2.4 Sound

  • Client command "cl_flushsoundcache": Forcibly delete all client-side sound list files, with the exception of those that may still be needed for a listen server to work.
  • Client command "cl_flushsoundcache_force": Forcibly delete all client-side sound list files, including those that may still be needed, which may make a listen server un-connectable until the map changes.
  • Client sound engine will now flush all downloaded sound lists when it starts up and shuts down, and when a server is disconnected from.
  • Server command "rebuildsoundcachefile": Forcibly re-build the sound list file for players to download without having to restart the map.

2.5 Non-playable characters

  • Stukabats can deal damage again (sk_stukabat_dmg_bite skill CVAR is now registered correctly).

2.6 Weapons/Items

  • Fixed an issue where non-mapper placed weapons would get affected by the mp_weaponstay CVAR, preventing them from being picked up.
  • The currently active weapon is no longer changed for no reason when one of the inactive weapons is dropped.
  • [Crowbar] Fixed an issue where thrown crowbars could be duplicated.
  • [Minigun] Fixed an issue where player could pickup minigun while holding other "exclusive" weapon.
  • [Satchel] Fixed satchel football causing an infinite loop while touching. There is now a 5ms delay between each slide movement.
  • [Shock Rifle] Fixed an issue where multiple players could use the same shockrifle (causing strange weapon behaviour and crashing the server when dropped).
  • [Uzi] Fixed an issue where the weapon view model would glitch out when inactive akimbo uzi is dropped.

3 Maps

3.1 They Hunger: Escape

  • Added a new room with a shotgun and a zombie cop ambush spawn to the alley next to the ambulance.
  • Added fold-able wooden barricades next to the burning tunnel debris, visible only when the tunnel is blocked. (Should make it more obvious that this is the only route through to the other side.)
  • Added fold-able wooden barricades to downtown sewer entrance if toolbox spawns there.
  • Added infinite spanner spawn to sewer next to where the toolbox sometimes spawns.
  • Added missing civilian models to the permitted player model list.
  • Added sewer labels to all three sewer tunnels surrounding the truck to prevent players getting lost so easily.
  • Added sewer steam to make the entrances more noticeable.
  • Added skill configuration, with level 1 being normal difficulty, and level 2 being hardcore:
    • Barney now does 2 points less damage with his pistol in both modes.
    • Bullsquid has less health and does 5 points less spit damage in normal mode.
    • Otis cops (sheriff included) now do 25 damage instead of 37 in both modes.
    • Snarks deal 5 damage per bite instead of 10 in normal mode.
    • Zombies do 5 less damage per swing and 10 less damage per double-swing in normal mode.
  • Added some lights to the map start room.
  • All downtown zombie spawns now use a "trigger_playercheck" master so that they aren't turned on when no one is there.
  • Colt 1911 handgun now respawns infinitely in the police station / ambulance / radio station.
  • Deleted female zombie that kept getting stuck in church upper hallway.
  • Deleted 'random civilian' spawnpoint in the train station that wasn't near any weapons.
  • Disabled a couple of debug messages in the scripts.
  • Extra minute is added to the time limit if the game is started with 4 or less players.
  • Fixed crappy brushwork with holes in it on the roof of the train station and the hallway connected to the church.
  • Fixed police tunnel roof being "func_detail", which made it so that everything in the tunnel rendered whenever you looked over at it from above.
  • Fixed some pretty bad cylinder face carving issues.
  • func_trackvehicle: Updated the script to match the recent API change.
  • Hardcore mode is now forced for 16+ players, rather than 10+.
  • In the "jail" lose cutscene, two players will now spawn in either cell and the rest will fall through the collapsing ceiling (only if there are any more than two living players at the end of the round, which is somewhat rare).
  • Made the unbreakable train depot door metal instead of wood so that dumb people don't pound on it for days trying to break through.
  • Sewer treatment engineer 3 now spawns with a spanner.
  • Sheriff now spawns in both normal and hardcore modes, rather than just hardcore. Sheriff has less health in normal mode.
  • Umbrella in pawn shop now respawns infinitely.
  • Window glow in the gas station garage is slightly brighter, so that players can actually see the toolbox if it spawns there.

4 Models

4.1 Weapons/Items

  • Reverted seasonal candy stick crowbar.

5 Sounds

5.1 Weapons/Items

  • [SAW] Added missing SAW belt/deploy sounds.

6 SDK

6.1 FGD

  • Added key "movesnd_loop" to doors and platforms. (Drop down yes/no.)
  • Fixed few default values that were defined as integer where string was expected. (Improves compatibility with some 3rd party tools, i.e. TrenchBroom.)
  • Fixed the monster_babycrab model name.

7 Other

7.1 Game manual

  • Corrected value for disabling "mp_timelimit_empty".