Skip to content

Releases: FreeSlave/halflife-featureful

Half-Life Featureful SDK 2024-03-14

14 Mar 16:14
Compare
Choose a tag to compare
Pre-release

The mod sample is included in the archive, with the test map and assets

The provided FGD has an extended format used by J.A.C.K. and won't work with Valve Hammer Editor!

Changelog

Ammo changes

  • The max ammo carry per each ammo type can be configured via features/maxammo.cfg file (example included).
  • Increased the max ammo the player can potentially carry - now it supports showing up to 4 digits in HUD.

ParticleMan implementation

ParticleMan is an additional library made by Valve that is used to spawn particle effects in Counter Strike and Day of Defeat. While Valve's ParticleMan is a separate closed-source library, it can be reimplemented in the client.

  • The ParticleMan reimplementation by @SamVanheer added to the SDK.
  • Added a new client command test_particles to spawn test particles with ParticleMan.

Entities

  • New entity particle_shooter - create particles with ParticleMan. Designed after the entity from Day of Defeat.
  • Buttons are now allowed to play scripted_sentences.
  • New parameter Delay Before Reset for trigger_relay which allows to ignore consequent calls to trigger_relay until the specified time has passed since the last call.
  • New suffixes for multi_manager delays values: forward and reverse to forward or forward-reverse the use type the multi_manager has been called with to its targets. E.g. if multi_manager was triggered with On use type, all targets which have #forward suffix in the delay value will be triggered with On. All targets which have #reverse suffix in the delay will be triggered with Off in this case.

Cvar changes

  • The client cvar cl_satchelcontrol has been renamed to _satctrl and set to 0 by default (classic satchel control behavior).
  • New client cvar _grenphys added to let user control whether they want the anniversary hand grenade physics or not.
  • Note: weird cvar names is the result of user info buffer being limited to 256 bytes.
  • New cvar cl_pmanstats to show ParticleMan stats.

Other changes

  • Added previously missing func_vehicle to fgd.

Codebase changes

  • The minimum required C++ version now is C++11, instead of C++98.
  • Ammo types registration is now separated from weapon precaching.

Half-Life Featureful SDK 2024-02-13

13 Feb 18:32
Compare
Choose a tag to compare
Pre-release

The mod sample is included in the archive, with the test map and assets

The provided FGD has an extended format used by J.A.C.K. and won't work with Valve Hammer Editor!

Changelog

Half-Life Anniversary changes

Some Half-Life Anniversary changes were merged from hlsdk-portable. Thanks @nekonomicon

  • Improved handgrenade throw physics.
  • Improved spawn spot randomization in multiplayer.
  • Fix gauss sound on level transition.
  • Added HL anniversary fix for pushable acceleration
  • func_vehicle implementation
  • Fixed snark throwing when player is on the edge.
  • Applied new satchel controls.

More changes related to HL anniversary will be merged in the next version.

Cvar changes

  • New client cvar cl_satchelcontrol to control the preferred control scheme. 0 is for legacy, 1 is for anniversary.
  • Changed how pushablemode cvar works. Now 0 means anniversary mode (default), -1 means legacy mode and 1 means XashXT mode. The special value 2 (which meant the SoHL mode) has been removed.

Configurable features

  • gargantua_larger_size - when enabled, make Gargantua's size equal to one from Opposing Force. This fixes the problem with some projectiles (e.g. shockroach and hornetgun ones) not properly hitting the monster.

Other changes and fixes

  • Shock trooper and voltigores now have a 'hate' relationship to the player instead of just 'dislike'.
  • Picking up items by +use (when the pickup_policy value is not 0) is no longer allowed through the walls.
  • Fixed a bug when colorable crosshair didn't restore properly after using a func_tank.
  • The number of sentences limit on server were increased to 4096. Note that the maximum number of sentences still depends on the engine. It's 4096 for Xash3D, 2048 for HL anniversary and 1536 for HL pre-anniversary.

Half-Life Featureful SDK 2024-01-12

12 Jan 15:15
Compare
Choose a tag to compare
Pre-release

The mod sample is included in the archive, with the test map and assets

The provided FGD has an extended format used by J.A.C.K. and won't work with Valve Hammer Editor!

Changelog

Support for subtitles

Mods can use sound/captions.txt and sound/captions_profiles.txt files to define captions.
Sample files defining captions for some sentences on the first two maps of "Anomalous Materials" chapter are packed with the mod sample.

HUD scaling

Added hud_scale client cvar to control HUD scaling. 1 means the original scale. 0 means autoscale depending on the screen resolution. Note that support for high definition sprites from the anniversary patch will be added later.

Configurable Weapon Layout

Weapon layout can be configured in features/hud_weapon_layout.cfg file. The format is described in the sample file.

Entities

  • trigger_configure_monster can configure more monster's parameters: Free Roaming, Gib Policy and Size For Grapple.
  • Added dead turret entities: monster_miniturret_dead, monster_sentry_dead and monster_turret_dead
  • Added Custom amount parameter for ammo entities.
  • Added Custom Initial Ammo parameter for weapons.
  • Added Delay after blocked parameter for monstermaker. If not zero, this is used instead of spawn delay before trying to to spawn the monster again, if the spawn was blocked before.
  • Added Don't fire look target for trigger_camera.
  • Added scripted_following entity and the Followage policy parameter for following monster (Experimental).

Bugfixes

  • Fixed HUD not showing after 'fullupdate' command.
  • Fixed repeatable scripted_sequence with Walk or Run move type not properly working after it got interrupted and triggered again (Half-Life bug). Thanks @Aynekko for reporting.
  • Fixed scripted_sequence being unresponsive when it has Idle Animation and Turn to Face move type (Half-Life bug).

Configurable features

  • Color values in hexadecimal form can be prefixed with # symbol instead of 0x.
  • hud_autoscale_by_default - whether hud_scale value is 0 by default (meaning autoscale).
  • crosshair_colorable feature and corresponding cvar. Allows crosshair color to depend on the chosen HUD color. Requires a sprite with white crosshairs to apply colors properly. Experimental feature, not enabled by default.

Half-Life Featureful SDK 2023-12-11

11 Dec 16:58
Compare
Choose a tag to compare
Pre-release

The mod sample is included in the archive, with the test map and assets

The provided FGD has an extended format used by J.A.C.K. and won't work with Valve Hammer Editor!

Changelog

  • The glow shell effect (applied by the shockroach projectiles) now wears off over time from osprey and apache.
  • Fixed Desert Eagle not ejecting a shell upon firing.
  • Fixed the Half-Life path finding bug when the fleeing monster couldn't choose a spot as a cover because the enemy couldn't build a path to this spot.
  • Don't report missing HG_HOSTILE and ST_HOSTILE sentences (as they're optional)
  • The entity with game_playerdie targetname is now triggered upon the player's death in singleplayer as well.
  • The pain indicator sprite color doesn't blend with the HUD color anymore. This prevents pain sprite rendering green or other weird colors depending on the HUD color.

Half-Life Featureful SDK 2023-11-10

10 Nov 13:47
Compare
Choose a tag to compare
Pre-release

The mod sample is included in the archive, with the test map and assets

The provided FGD has an extended format used by J.A.C.K. and won't work with Valve Hammer Editor!

Changelog

BugFixes

  • Fixed Pitworm entity light, laser attack sprite, strafe beam and missing sound precache.
  • Fixed barnacle grapple physics to match Opposing Force.
  • Fixed player_weaponstrip unintentionally removing player's flashlight or NVG.
  • Fixed trigger_camera no longer prevents enabling the control if player dies while using the camera.
  • Level transition won't be activated if player is dead, to avoid strange situation when player gets transitioned to another level in a dead state (which is possible if trigger_changelevel is triggered by something else with a delay).
  • When trigger_camera entity gets removed it automatically releases the player who activated it.

Entities

  • Added Ignore Armor flag for trigger_hurt and trigger_hurt_remote
  • Added No Camera Punch flag for trigger_hurt and trigger_hurt_remote
  • Added Alive player only flag for trigger_camera to ensure that the camera won't start if player is dead. It also makes camera release the player's view if player died while camera was activated.
  • Allow opfor human grunts to have no weapons if weapons are set to "None".
  • Opfor medics and torch grunts can be set to throw hand grenades. FGD was changed accordingly.

Client cvars and commands

  • hud_min_alpha cvar to control the minimum HUD alpha value.
  • hud_color is now a client command. The color is now getting saved to the player's configuration.

Server cvars

  • Added items_physics_fix server cvar in attempt to fix items and ammo sometimes falling through the floor (e.g. if spawned from a func_breakable on a shelf). Changing this cvar may have some unwanted side-effects. Read description in featureful_exec.cfg

Configurable features

  • monsters_spawned_named_wait_trigger. When set to false, named monsters spawned from monstermaker won't wait 5 seconds before entering their regular AI loop, unlike they do in Half-Life. Previously the default behavior in this SDK was the same as having this feature set to false, and while it's usually desirable, it might break some existing maps. So now it's set to true by default in order to match original Half-Life behavior.
  • vortigaunt_squad allows to add a capability to form squads for vortigaunts. In original Half-Life they don't have this capability set.

Half-Life Featureful SDK 2023-10-09

09 Oct 11:36
Compare
Choose a tag to compare
Pre-release

The mod sample is included in the archive, with the test map and assets

The provided FGD has an extended format used by J.A.C.K. and won't work with Valve Hammer Editor!

Changelog

Configurable features

  • Wall puff sprites (cl_weapon_wallpuff) can be configured via featureful_server.cfg. Up to 4 sprites can defined (wall_puff1 - wall_puff4) which allows to set sprites from Counter Strike. By default sprites/stmbal1.spr is used as a sole wall puff sprite.

BugFixes

  • Fixed opfor ropes physics on high framerates.
  • Fixed spore launcher not playing a pet sound.
  • Fixed some HUD issues when player has both flashlight and NVG.
  • Fixed FG_CURE sentence group (a resource change)
  • Replaced fgrunt/checkin (a missing sound) with fgrunt/check in sentences.txt (a resource change).

Entities

  • Each global variable has one integer number associated with them, in addition to the state value. The number can be changed via game_counter_set targeting env_global with Modify/Set value triggermode. Also, triggering such env_global with 'On' or 'Toggle' use-type increments the global variable number by 1. Triggering it with 'Off' use-type decrements the number by 1.
  • New parameter Obey Use-type for env_global which allows to change the global variable state accordingly to the input use-type.
  • New spawnflag Act as Master for env_global which allows to use the global variable state as a master.
  • New entity trigger_compare for comparing constant numbers and numbers associated with entities (so called Locus Ratio) and triggering different targets depending on the result of comparison.
  • New entity calc_state to evaluate the state from boolean operation where the 'On' state corresponds to True and 'Off' state corresponds to False. Can be used as a master.
  • Copy Input and Reverse Input trigger modes for trigger_relay.
  • New entity calc_eval_number to evaluate the math expression based on constant numbers and calc ratios of entities.
  • New entity game_number for storing floating point numbers (you can still use game_counter to store and retrieve integer values). Can be used as a storage or parameter of calc_eval_number.
  • New entity trigger_check_state to check the master entity state and trigger the target depending on the check result.
  • Customizable smoke sprite for env_explosion.
  • monster_human_assassin_dead.
  • Barnacles can't grab victims possessed by non-interruptible scripts anymore.

Server commands

  • set_global_state - set the state of global variable. Available only when sv_cheats is enabled.
  • set_global_value - set the number value associated with global variables. Available only when sv_cheats is enabled.
  • ReportAIState (impulse 103) now reports the name of the scripted sequence entity if monster is currently possessed by a script. The command also draws the current monster route and the nearest node using temporary beams.
  • calc_ratio - calculate a ratio values associated with entity and report the result to developer console.
  • calc_state - calculate/get the entity state and report the result to developer console.

Other

  • Support for snow texture material.
  • Added item_sodacan to FGD.

New pages on wiki: Math and Master entities.

Half-Life Featureful SDK 2023-09-08

08 Sep 14:39
Compare
Choose a tag to compare
Pre-release

The mod sample is included in the archive, with the test map and assets

The provided FGD has an extended format used by J.A.C.K. and won't work with Valve Hammer Editor!

Changelog:

  • New parameter Gravity Setting for pickups (items, weapons and ammo)
  • Customizable models for ammo entities.
  • Add Master parameter for scripted_sequence. If the script has a master, then it won't possess the monster until the master is enabled.
  • Sound Radius parameter for func_tracktrain
  • Add HG_HOSTILE sentence group for human grunts to use against non-player non-alien enemies (in Half-Life they use HG_ALERT only against player and HG_MONSTER against alien monsters).
  • Add Speech Group parameter for talk monsters. It's a custom prefix used by a monster. E.g. you can make Barney talk like scientists by specifying the SC Speech group. Note that the monster will still use its original pain and death sounds in this case.
  • Add bigmomma_wait_fix configurable feature in featureful_server.cfg. When enabled info_bigmomma entities actually use the provided Wait value (bugged in original Half-Life).
  • Fix the upper rope segment sometimes incorrectly aligned.
  • env_warpball can create AI sounds now (e.g. combat sounds).
  • New flags Relative Teleport and Random Destination for trigger_teleport.
  • Allow +use, flashlight and other impulse commands during weapon reload (those commands are locked during reload in original Half-Life).

Half-Life Featureful SDK 2023-08-07

07 Aug 14:12
Compare
Choose a tag to compare
Pre-release

The mod sample is included in the archive, with the test map and assets

The provided FGD has an extended format used by J.A.C.K. and won't work with Valve Hammer Editor!

Changelog:

  • Target on pickup now works on ammo entities too.
  • Disable check for FL_ONGROUND in default melee attack check to fix zombies not being able to attack sentry turrets (original Half-Life bug). Note: if this change brings any issues, it must be looked at again.
  • Implement 'Fire if over limit' for game_counter.
  • Add Looped flag for trigger_mp3audio.
  • trigger_mp3audio is now use-type aware (On & Off).
  • Removed stopaudio and playaudio commands as they are redundant. Just use mp3 stop and mp3 play instead.
  • Fix forcing a flashlight when getting a suit from impulse 101 command. Now NVG is given if it's the default option in the mod (suit_light feature in featureful_server.cfg).
  • func_ladder can be turned on and off.
  • Add Don't mess Yaw spawnflag for env_sprite. In Half-Life the yaw value set in the editor for env_sprite is used as a roll value in the game. It's programmed this way due to some historical reasons and it makes oriented sprites setup harder. The new spawnflag is added to overcome this problem.
  • Precache unlocked and locked sounds for func_rot_button.
  • Female assassin cloaking ability can be controlled by sk_hassassin_cloaking skill cvars. If they're missing, the original behavior from Half-Life is used (cloaking enabled only on Hard difficulty).
  • Configuring custom amount of gibs for func_breakable and func_breakable_effect.

Half-Life Featureful SDK 2023-07-06

06 Jul 11:43
Compare
Choose a tag to compare
Pre-release

The mod sample is included in the archive, with the test map and assets

The provided FGD has an extended format used by J.A.C.K. and won't work with Valve Hammer Editor!

Changelog:

  • IMPORTANT: Featureful configs now should be placed in features/ subdirectory of the mod directory. The previous approach (configs in the mod directory) will work too, but now is deprecated.
  • The features directory, containing the config files, is now bundled with game libraries and fgd in github artifacts (autobuilds).
  • !!! Removed cl_viewroll cvar and view_roll configurable feature. Use cl_rollangle cvar to control the rolling. When rollangle is set to 0, the view roll is practically disabled.
  • Added func_illusionary_toggle.
  • "Victory dance" AI schedules of human grunts and alien grunts are now interrupted by danger sounds (e.g. grenades).
  • "Move away" AI schedules (when the ally monster is "pushed" by a player) are now interrupted by damage and danger sounds.
  • M249 now alternates between the shell and link ejection (like in Opposing Force).
  • New configurable feature scientist_random_heads that allows to control randomizing of scientists heads (e.g. if your mod has different number of scientists heads than Half-Life or you want to limit the random to the first n heads. Example: Opposing Force has 6 scientists submodels but the random still should be limited to 4).
  • New configurable feature doors_open_in_move_direction to allow opening rotating doors in the direction of player's moving instead of facing.
  • Fixed a crash when controllable func_tank is triggered with null activator (original Half-Life bug).
  • Fixed rendering a black frame when fog is enabled for the first time in the game.
  • Fixed fog not working when prediction is disabled (cl_lw 0).
  • Voice pitch of talking monsters is now customizable in entity properties.

Half-Life Featureful SDK 2023-06-05

05 Jun 13:26
Compare
Choose a tag to compare
Pre-release

The mod sample is included in the archive, with the test map and assets

The provided FGD has an extended format used by J.A.C.K. and won't work with Valve Hammer Editor!

Changelog:

  • Fix baby voltigores using the wrong gib model. Thanks @LambdaLuke87 for reporting the issue.
  • The gonome's ability to lock the player is now a configurable feature (via featureful_server.cfg)
  • Delay values in multi_manager now support suffixes #off, #on, and #kill (as alternative to Sven Co-op-like #0, #1 and #2).
  • New flag Remove on interruption for scripted_sequence.
  • New parameter Fire on Possession for scripted_sequence.
  • env_fog no longer affects the sky by default. Added Affect skybox spawnflag.