blog.bds

i have crippling depression

Xash3D FWGS - November 2023


While we want to do a stable release as soon as possible, there is still lots of stuff to do before we switch all our users to the new codebase.

Consider Donating

a1batross

Initial Xash3D SDL2/Linux port author, Xash3D FWGS engine maintainer, creator of non-commercial Flying With Gauss organization.

nekonomicon

hlsdk-portable, mdldec, opensource-mods.md maintainer and Xash3D FWGS contributor (*BSD/clang port, PNG support, etc).

Velaron

cs16-client & tf15-client maintainer and Xash3D FWGS contributor (Android port, voice chat, etc).

SNMetamorph

PrimeXT & GoldSrc Monitor maintainer and Xash3D FWGS contributor (Windows port, voice chat, etc).

  • BTC: 16GAzK3qei5AwBW7sggXp3yNcFHBtdpxXj
  • ETH (ERC20): 0xb580eeca9756e3881f9d6d026e28db28eb72a383
  • USDT (ERC20): 0xb580eeca9756e3881f9d6d026e28db28eb72a383
  • USDC (ERC20): 0xb580eeca9756e3881f9d6d026e28db28eb72a383

Tasty New Stuff

by Flying With Gauss
  • Fix for streaming and other overlays (OBS, Discord, etc.)
  • IPv6 support
  • Added support for looping .mp3 files with ID3v2 tags
  • Minidumps support for Windows
  • Demo RCE exploits fixed
  • Improved and faster filesystem for Linux
  • Borderless fullscreen support
  • VBO is back with bugfixes
  • New GLES3Compat renderer
  • PlayStation Vita port by fgsfds
  • Nintendo Switch port by fgsfds
  • MacOS port by sofakng
  • PlayStation Portable port by Crow_bar
  • mdldec utility updated with bone weights support and bugfixes
  • KTX2 textures support
  • Initial SailfishOS/AuroraOS support

.pk3dir Support

by a1batross

Xash3D FWGS now supports pk3dir convention. It first appeared in ioquake3, which then got supported in FTE and DarkPlaces.

What does it do? Well, if you're using PK3 and PAK archives, you may not waste your time on repacking the archive during development. Instead, you create a folder ".pk3dir" extension. Keeping the same directory hierarchy, as with PK3 and PAK, you can think of it as an archive. And engine will work with it, like it's an archive as well. Of course, it also gives you possibility to not spill over temporary assets and files onto game directory.

Cross-platform Video Playback (WIP)

by a1batross

Xash3D engine supported movie playback for a long time, but it utilizes Video for Windows API, which has downsides from obviously being closed source and Windows exclusive and requiring the user to install third-party software. It also sometimes just outright doesn't work for an unknown reason.

This time I have implemented video player using ffmpeg to the Xash3D FWGS engine, which actually was in the plan for a whopping eight years already.

The obvious improvement of using ffmpeg is a wide variety of codecs. It successfully worked with movie intros from Half-Life, Opposing Force and Paranoia mod.

But very VFW specific internal engine logic, bites me. Instead of normal playback, the engine tracks frames by itself and tries to seek over the movie stream. Seeking itself is harmless, but it makes playback very suboptimal, and some frames may be lost, which doesn't make the decoder happy. A random Bink file my friend found for me works, but it absolutely fails on VP9 streams, from refusing playing them at all or just showing random artifacts.

GoldSrc Protocol / VGUI2 Support (WIP)

by a1batross

Experimental support of GoldSrc protocol on goldsrc-proto branch. Also progress being made on supporting VGUI2 on the new_vgui_support_api branch.

Screenshot

Screenshot

FreeVGUI

by Flying With Gauss

Announcing clean-er re-implementation of original Valve's GUI library from Half-Life 1 under the work title freevgui. I'm working on it since last year in my free time of free time of free time.

This implementation is intended to be used within Xash3D FWGS as a drop-in FOSS and cross-platform alternative to the proprietary vgui.dll library, but potentially can be used as a replacement in Half-Life mods as well, as it's both API and ABI compatible.

Unlike Nagist's implementation, this library specifically hasn't been derived from HLSDK code, and every line of code has been carefully restored from DWARF debug information and decompilation using Ghidra.

Source code will be published as soon as I finish implementing the controls library and when I decide on licensing. For now, it has dependency on 3-clause BSD licensed C++ templates library, and C utilities library from Xash3D FWGS which is GPLv2 licensed. I'll probably drop GPL dependency to allow it included in Half-Life mods as a bug fixed replacement of original vgui code, when it will have bug fixes in the first place.

Software-like Water

by a1batross

Water ripples from Half-Life's software renderer, works with OpenGL renderer, enabled with r_ripple CVar.

Half-Life 25th Anniversary

by Flying With Gauss

With Half-Life turning whole 25 years, Valve released an update to the game which we now support too (make sure to update your engine to the latest version). I would like to personally thank everyone who has been supporting the developers and Xash3D FWGS all these years, stay tuned for more updates and have fun!