Change log/5.25

From Sven Co-op
Jump to navigation Jump to search

Unreleased: This version has only been released as a release candidate. To play this please see FAQ entry "Are there any pre-release versions of Sven Co-op available to try?".

Important: Linux users, particularly server operators, may need to manually install OpenSSL's 1.1 library. To do this on Debian and Ubuntu you can do so with command "apt install libssl1.1:i386" as root (or prepend "sudo").

1 Code

1.1 Game library

  • Added support for "waterlevel" property keywords DRY (0), FEET (1), WAIST (2), and HEAD (3). (Applies to entities such as "trigger_condition" when reading "entvars" structure.)
  • Added event triggers "on start" and "on stop" to doors (apart from momentary), platforms, and (platform based) trains. Usable with "fireonstart" and "fireonstop", these work similar to door "on opened", "on opening", etc.
  • Classic Mode: Small tweak to ItemMapping for letting the target/targetname values be carried over from replaced entities to the newly created replacements. This prevents mapper-assigned item collection triggers from breaking when classic mode is activated and the item in question gets replaced.
  • Entity "env_explosion" effect now uses the underwater effect if the entity is submerged.
  • Entity "func_breakable" CLASS_PLAYER is now part of the set of classifications that can be repaired by players.
  • Entity "trigger_camera" will no longer switch off for all other players using it if just one player disconnects whilst using it.
  • Fixed a crash at the end of a map caused by "item_inventory".
  • Fixed a null pointer dereference for squad talking monsters.
  • Fixed a null pointer dereference when changing levels (by "trigger_changelevel") if the other "touching" entity was undefined.
  • Fixed corpses sometimes flying upwards whilst dying climbing a ladder.
  • Fixed orientated sprites requiring 360 to be specified in angles that were intended to be zero due to a strange legacy Worldcraft workaround. (Doesn't apply to sprites using "default" orientation.)
  • Fixed players healing and repairing enemies when using the non-targetable flag.
  • Removed 2 unit lip adjustment from buttons and doors. (The engine no longer expands brush sizes by 2 units.)
  • Removed false warning in "trigger_createentity" for "delay" and "killtarget" keys.
  • Take damage functionality will now merge with the god mode flag earlier to apply invulnerability more robustly when desired, particularly when modified at runtime (e.g. with a "trigger_changevalue" or "trigger_copyvalue").

1.2 AngelScript

  • Fix crash when calling `GetClassificationName()` and `GetClassificationTag()` from AngelScript.

1.3 Engine

  • Corrected case sensitive directory, "GamEUI" should have been "GameUI".
  • Fixed out of bounds crash caused by the speak command.
  • Increase CVOXFILESENTENCEMAX to 2048. (This is only a temporary change to address a crash that occurs due to the "sentences.txt" being maxed out.)
  • Tweaked Windows dedicated server EXE compiler options to reduce false positive trojan detection.
  • Water fog colour is now calculated by checking the current water volume the player is in, instead of by last drawn water poly surface.

1.4 Non-playable characters

  • Added dead prop entities for Gonome "monster_gonome_dead" and clean-suit scientist "monster_cleansuit_scientist_dead".
  • Fixed M203 grenade launcher ammo dropped from NPCs (by "npc_dropweapons") respawning as if its a regular map entity. (The drop should only be collectable once.)
  • Fixed chumtoads not following their owner.
  • Gargantua: Fixed prey catching animations (GARG_AE_PICKUP_PREY and GARG_AE_BITE_KILL_PREY) preventing the Gargantua from completing a scripted sequence if these animations were being called by the script.
  • Houndeyes now support global and individual "monster roaming" settings:
    • Behaviour for global properties:
      • Roaming monsters option is 0 (No): monster_houndeye will roam if its AI chooses to do so (default Half-Life behaviour), unless its "Monster Roaming" option is set to 1 (never).
      • Roaming monsters option is 1 (Yes): monster_houndeye will always roam, unless its "Monster Roaming" option is set to 1 (never).
    • Behaviour for individual properties:
      • Monster roaming option is 0 (Map Default): monster_houndeye will roam if the Map properties "Roaming monsters" option is 1 (Yes). Otherwise, its AI decides (default Half-Life behaviour).
      • Monster roaming option is 1 (Never): monster_houndeye will never roam.
      • Monster roaming option is 2 (Always): monster_houndeye will always roam.
  • NPCs that are too far away from their "func_tank" will now stop control and end their task.
  • Scripted NPCs will no longer fall if the "Instantaneous" option moves them far enough above the ground
    • If "Instantaneous" is selected for a scripted_sequence's "Move to Position" option, a trace line is performed to search for the ground at a distance equal to the NPC's height.
    • If the ground isn't detected, MOVETYPE_FLY is set early for the "Idle Animation". Previously, MOVETYPE_FLY was only set for the "Action Animation".
    • This change was needed because the engine now performs more regular FL_ONGROUND checks, leading to a more accurate physics simulation.
  • Voltigore: Adjusted the friendly fire damage nullification conditions to rely on `IRelationship` rather than the `m_fIsPlayerAlly` flag. This allows Voltigores to inflict melee attack damage against other Voltigores regardless of what classifications they use as long as they aren't allied, i.e. the relationship between them is R_NO or higher.

1.5 Weapons/Items

  • Crossbow:
    • Set the removal think function, rather than remove the crossbow bolt immediately. This allows for the crossbow bolt to consistently push MOVETYPE_PUSHSTEP objects.
    • Set velocity to zero as a last step to fix explosion position.
    • Bolts can now push MOVETYPE_PUSHSTEP entities on impact.
    • Velocity is no longer cleared if a crossbow bolt touches a MOVETYPE_PUSHSTEP entity (e.g. func_pushable). Misc. code standards updates.
  • Shock rifle secondary fire will now properly check the classification of the target so that only allies have their HEV charged.
  • Shock rifle drop direction fixed.

2 Maps

2.1 Black Mesa: Special Tactics Sector

  • Added new script for less stuck NPCs.
  • Added new script for round timer, which also replaces the old sprites.
  • Added new secret.
  • Added new spawn sprites for the Gargantua survival bonus round.
  • Added new visuals for monster HP and tech level.
  • Added spectator support:
    • Players who want to idle or just want to watch can join spectator mode.
    • You can also leave it by pressing tertiary attack (throw crowbar) "+alt1".
  • Added super round support:
    • Re-rolls and resets all samples and scores of all teams when a team is about to win.
    • Added an option to disable bonus rounds.
    • Added an option to disable super rounds.
    • Added spectator mode portal.
  • Changed the layout of the yellow lab arena.
  • Corrected misaligned textures.
  • Fixed the Gargantua survival bug where Gargantuas could stay alive when the bonus round ends.
  • Fixed the dead end bug in the find maze bonus game.
  • Fixed the skylight / sky texture bugs.
  • Fixed the suicide exploits of all survival bonus rounds.
  • New timer sprite displayed in the player HUD.
  • Reworked the monster spawn system, better placement.
  • Reworked the skill settings for the map.

2.2 CTF Warforts

  • Added new gag soda machine.
  • Class balance changes.
  • Deployable turret models now use full-bright rendering for the floating team icon.
  • Fixed exploit with Operative class, where users could remain stealth while running at full speed.
  • Fixed issue where weapons were retained between rounds, most problematically the long jump module.
  • Flanker nerf adjusted: Long jump removed, dual Uzis swapped for single Uzi, and base speed increased and gravity reduced.
  • Players may no longer carry an enemy flag into their own spawn, preventing potential griefing by refusing to leave and being safe from harm.
  • Removed alien mercenaries from the side bunker.
  • Texture fixes.

2.3 Half-Life Campaign

  • HL_C07_A1: Recompiled (legacy clip nodes) version to fix problem with jumping out of water in certain areas.

2.4 Polar Rescue

  • A very long overdue update...
  • Added comprehensive materials definition for those noice footstep atmospherics.
  • Added extreme difficulty: Effectively the same as hard mode, but with survival mode enabled. Super unfair.
  • Added fire escape stairs beside the elevator shaft.
    • Top floor blocked with sandbags, needs a high explosive detpack from the bottom floor to clear them.
    • Can act as an alternative route to hostage refuge should the lift be unsuitable.
  • Changed camera objects to a dome camera model.
  • Changed how the security station on the ground floor is accessed.
  • Changed rock netting at the start to be breakable, so you can see what you need to shoot inside.
  • Changed secret with a cool sound model.
  • High definition objective sprites. (Constantly remind Hezus that I stole and re-factored his SnD script to do this.)
  • Huge redesign to the command centre: No longer a silly office.
  • Huge redesign to the nuclear reactor: Really gigantic. Seriously.
  • Lots more hint sprites. People love hint sprites.
  • Minor redesign to the radio room.
  • Minor redesign to the security station.
  • Zillions of tweaks nobody cares about blah blah.

2.5 They Hunger

  • E2M1: Increased height of picnic table by 2 units. Fixes players not being able to jump over the gate when standing on top of it.

3 Misc

3.1 Textures

  • lcd_display.wad: Updated with new high definition numerals and LCD screens.