Half-Life Featureful SDK 2024-05-01
Pre-release
Pre-release
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
andmonster_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
andCheck Distance
formonster_flyer_flock
. - Added
Alert friends
andFriends 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
forenv_smoker
to automatically fade smoke sprites (by default the entity relies on fading in the sprite animation). - New parameter
Scale unit type
forenv_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
oftrigger_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
forenv_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 returnsbool
instead ofBOOL
.