Xash3D FWGS Engine adaptation
for mods ESHQ and ES: Randomaze
ƒ RD AAOW FDL; 2.08.2024; 21:30
General information
This engine adaptation was created especially for ESHQ mod and ES: Randomaze mod for Half-Life part 1.
It is based on one of the newest versions of Xash3d FWGS engine (v49/0.20
).
Main changes:
- We have fixed some known bugs (like non-rotating
func_rotating
; crashes on some events triggered byscientists
andbullsquids
, etc) for which we had enough mind and time. - We have added the
trigger_sound
entity that replaces theenv_sound
. It works as well astrigger_multiple
(with hardcodedwait
value – one second). We cannot understand why there were no brush entities to set sound effect. Sphericalenv_sound
has very weird and unpredictable behavior, and it is difficult to apply it in cases like long narrow building entrances (f. e., partially opened gates). This situation really needs a brush entity with bidirectional processing. - We have returned the green blood to some monsters. This feature was implemented but wasn’t enabled in client library.
Also it has been added to
env_blood
andmonster_generic
entities (with an ability to set it up). - Also we have returned human-like gibs and red blood to zombie. We think that zombie is more like a scientist than a bullsquid.
- We have removed the
cycler_sprite
entity from our maps and added thenon-solid
flag to thecycler
entity. Also ourcycler
now have thematerial
field (crowbar sound depends on it) and two fields that defines collision box endpoints (like thecolor
setup).cycler
andenv_sprite
entities can also acceptbody
,skin
andsequence
fields. Alsocycler
now can trigger its target. Finally, ourcycler
now can be breakable (with the specified explosion and health coefficients). - Our doors (
momentary
,rotating
andsimple
) have different fields for “Just opened” and “Just closed” sounds. Also we’ve fixed some bugs (basically, around thestarts open
flag) and expanded the list of sounds. Finally, our doors will not playlocked
sounds when they’re opened. - Our
turrets
,sentries
andapaches
can trigger something on their deaths. Also player cannot stuck in them anymore. Breakables
can spawn crowbars (why it wasn’t so?), gauss gun clips, axes, headcrabs and some other useful things.- Our
ambient_generic
(and all entities that can sound) has more accurate sound radius. - We’ve added the
item_key
entity in addition toitem_security
to simplify doors triggering. It can look like a card or like a bunch of keys. - We’ve added the
game_player_set_health
entity that sets absolute value of health and armor. It is applicable when you need to create an effect of immediate but controllable damage. - Our
func_illusionary
triggers its textures when get call (as well asfunc_wall
orfunc_button
). - Our
grunts
,Barneys
,scientists
andzombies
got “burned” state. Now it is possible to add burned corpses to the map. Also zombie got “dead” animation. - Our gman has
killable
flag and two skins. - Our
monster_rat
can run and can be smashed (as well asmonster_cockroach
, but with red blood, of course). Also rats can trigger anything when die. - Our
.357
andcrossbow
got correct reload sounds. - We’ve added
don’t reset view angle / speed
flag to thetrigger_teleport
entity. It’s useful in case of map space expanding. - Our
weapon_fastswitch
mode is now really fast (as it is in HL2). You just need to press slot button again to select the next weapon. - Our
game_end
entity now works correctly (it ends the game), andplayer_loadsaved
can “kill” player (so you don’t need thetrigger_hurt
or some other “freezing” method). - Wood, glass and snow textures got their own sounds for player steps.
- We have added the
trigger_ramdom
entity that can randomly trigger targets from a specified list with specified probabilities. - Our
item_security
anditem_antidote
are collectable . Their counts can be used to trigger events on maps and activate extra abilities. - Our lasers can be turned off correctly. The older version of an engine turned off a sprite, but didn’t turn off the damage field.
- Added support for an achievement script. Our modification generates script with extended player’s abilities
according to count of collected
item_antidote
items. - Added support of
origin
brush forbreakables
andpushables
when they drop items on break. Now item will be dropped at the center of theorigin
brush or at the center of entity if this brush is not presented. - Range of sounds for
pushables
has been expanded. Now they depend on materials. Sound script forpushables
has been improved (better behavior fitting). - The
scripted_sentence
entity now can play single sound (it should be prefixed with!!
). Also you can add text message fromtitles.txt
in addition to the sound sentence. - Some speed improvements applied to
shotgun
,mp5
,hornetgun
,.357
and other weapons. - Fixed mouse wheel’s behavior and some inconveniences in the keyboard settings interface.
- Fixed the
gag
flag’s behavior: now all scientists withgag
will be really silent. - “Credits” section added to the main menu. The map for it can be specified in the game configuration.
- Added the
locked sequence
flag for all monsters. When set, engine will loop the sequence that is specified in monster’s settings before its first damage, death or before the call from thescripted_sequence
entity. This feature works without additionalscripted_sequence
entities. - Behavior of sounds of
momentary
doors has been reviewed: sounds of moving and stop are working properly now. - Fixed bug with stucking weapons that can be dropped by dead human grunts.
Use only
flag for doors will now work as a lock. Triggering these doors by their names will unlock them without opening. If no name specified, the door will be initially unlocked.- Added replacements for entities from HL: blue shift and Afraid of monsters mods.
- Barnacles can shoot no gibs on death.
- Fixed the too long stuck on automated jumping from the water.
- Switching between walk and run now works as well as in HL2 (run requires
/
key holding by default).Always run
flag has been added toAdvanced controls
menu (it disables this behavior). - Fixed the mapping for additive textures: now they are able to be transparent and semitransparent conveyors.
- Breakables now have sounds that depend on their sizes (including the explosion).
- HUD now can display extra abilities (superflashlight, invisibility for enemies, damageproof).
- Pushables are now reacting on explosions, shooting and hitting by a crowbar (they move from the source of damage).
- Implemented the “meat mode”: corpses can now be destroyed by bullets and crowbar in one hit. It requires
the line
meat_mode "1"
in fileconfig.cfg
. - Our
trains
can have parts of their paths where they will not emit the sound of moving. The corresponding flag has been added topath_corner
entity. - Our
trigger_gravity
now can set the coefficient for all objects on the map and save it for the next game loading. All values greater than80
will be treated this way. - Our adaptation is now able to save the current
room type
(echo effect) for the next game loading. - Our
monstermakers
are now able to emit teleportation sounds and show specified sprites when activated. - Our brush entity
trigger_fog
can smoothly turn on / off the fog effect of the desired color and density.
Other notes
- The current build is not multiplatform as its mother project (support code has been removed).
- The current build contains renderer based on SDL library.
- The current assembly doesn’t support the voice chat because of absence of required Opus codec.
- This assembly completely adapted for building with Visual Studio 2022.
- This assembly is enough to run Half-Life (WON) and some compatible mods.
- This assembly is a fork of original Xash3D FWGS engine with the same license