Skip to content

Half-Life Featureful SDK 2024-05-01

Pre-release
Pre-release
Compare
Choose a tag to compare
@FreeSlave FreeSlave released this 01 May 18:55
· 554 commits to featureful since this 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!

If you already have a mod in development based on Half-Life Featureful read this article to get the idea how to apply the new SDK version for your project.

Changelog

Per-monster sound replacement

Now monsters have a Sound Replacement File parameter. These files define sound replacements for the monster entity. See example in sound/female_pain.txt.

This feature is quite experimental and needs more testing.

The demo map update

The demo map was extended a bit to include demonstration of more entities and features.

Captions changes

  • Number of captions is virtually unlimited now (as opposed to maximum 256 in the previous releases). Note that you're still limited by the number of sentences depending on the engine (2048 on the modern GoldSource).
  • The length of the caption is virtually unlimited (as opposed to maximum 599 characters in the previous releases).
  • Added support for the forced caption duration (the hold time). See example in sound/captions.txt.
  • Added more HL sentences to the sample sound/captions.txt.

New features in featureful_server.cfg

  • gauss_fidget - allows to enable/disable the Tau-cannon fidget idle animation.
  • medic_drop_healthkit - whether medic grunts drop healthkits upon dying.

Monsters

  • New monster monster_civilian - generic friendly npc with scientist-like behavior. Doesn't have the healing ability. Suitable for making civilian npcs like construction workers or unarmed npcs from Condition Zero Deleted Scenes.
  • Commented out monster_gus and monster_gus_dead in the fgd. This monster was from Cleaner's Adventures and wasn't enabled in the game code anyway.
  • Customizable Fly Speed, Turn Rate and Check Distance for monster_flyer_flock.
  • Added Alert friends and Friends can alert me parameters for talk monsters.
  • Monsters with Tolerance level set to Absolute are now not alerted by friends death by default (it still can be forced via Friends can alert me parameter).

Entities

  • New entity player_hasweapon - check if player has a specific weapon. Can be used as Master.
  • New entity player_hasitem - check if player has a specified item (suit, flashlight or longjump). Can be used as Master.
  • New entity trigger_skill_test - fire a trigger depending on the current difficulty.
  • New flag Fade sprite for env_smoker to automatically fade smoke sprites (by default the entity relies on fading in the sprite animation).
  • New parameter Scale unit type for env_smoker (historically the entity used tenths of the scale, i.e. 10 meant scale 1).
  • New entity player_calc_ratio - calculate the absolute or fractional value of player's health, armor or ammo amount.
  • trigger_compare has a new way to fire a target depending on the condition. Now you can define test type and triggers for pass and fail. The old triggers work independently from the new ones, but it's not recommended to use both approaches at the same time.
  • trigger_compare now can be used as a master. The state depends on the evaluation of the chosen condition.
  • The parameter Fire On Equal To of trigger_compare now uses a different internal key name. The old key is still supported, but considered deprecated.
  • New entity env_extinguisher to produce a fire extintinguisher effect. Ported from Field Intensity.
  • New parameter Starting frame for env_model. The negative value allows randomizing the starting frame.
  • momentary_door now has an associted Calc Ratio value (like in Spirit of Half-Life).

Bugfixes

  • Fixed player being able to pick up the same ammo item multiple times when the pickup policy allows picking up by pressing +use button. Thanks b0rdie for reporting.
  • Fixed not being able to set custom model and custom model scale for monster_flyer_flock. Thanks 23-down for reporting.
  • Fixed setting Gun State parameter with some custom Barney models. Thanks 23-down for reporting.
  • Now if sk_rgrunt_explode skill is not defined, the hand grenade damage is used as a fallback.

Client input changes

  • Windows version now uses SDL2 to handle mouse and joystick input when running on the engine version post 2013 update (when SDL2 was added to the engine). The old non-SDL2 input handling is still supported when running on the older versions.

Codebase changes:

  • ARRAYSIZE is now a template constexpr function instead of the macro.
  • The virtual function IsTriggered now returns bool instead of BOOL.