a1batross

@a1ba@idtech.space
163 Followers
43 Following
639 Posts
Maintainer of Xash3D FWGS, a Half-Life compatible engine. Posting here about my only attempt into game dev without being a game developer, reverse-engineering GoldSource, sometimes about other idTech-based engines. Don't expect me being good in graphics development. :)
he/him/any
Main account@a1ba@suya.place
Profile picture sourcehttps://pleroma.viridianpatriots.com/notice/AQ8dLE0eXIDGSciioq
Posting about this with small delay here, but this month my friend and a very talented programmer under nickname @numas13 made his Xash3D FWGS main menu UI implementation public. It is written from the ground up in Rust programming language using ratatui library, making the main menu look like it's something out of Unix terminal.

For now, it's more tailored towards Half-Life and not generic enough to support mods, but maybe with few modifications it might fit into your own Xash-based game if you want something with different design... and in Rust, this thing is very popular these days. Hell, maybe it's the first step towards engine oxidation. :)

For demonstration purposes, this menu is included with engine on Windows, Linux and macOS builds (cross-compiling it for other platforms is another can of worms...) and can be enabled with `-menulib menu_tui.dll` command line switch on Windows or with `-menulib libmenu_tui.so` on Linux.
To combat an old Half-Life bug with cut-off dlights on overly scaled textures, I've introduced a radius multiplier for dynamic lights, so we can enable lighting on the neighbor surfaces as well.

This however has a problem by actually lighting up too many surfaces that do not receive any lighting, potentially hurting the performance.

... Until I found a fix for that in JoeQuake, which seems has been taken from FitzQuake, which attributes LadyHavoc, best known for DarkPlaces engine. It exactly checks whether the surfaces receive any lighting or not, which turned out to be perfect for my case here.

Below are comparison screenshots.
I know few people from Valve follow me here, so... Valve, wtf?

src/ https://x.com/csco_dev/status/1877993047897600241/photo/1
Classic Offensive (@csco_dev) on X

X (formerly Twitter)
don't mind me, just decided to rewatch hl1 documentary
To get myself familiar with the Quake III engine branch used in Alice, which in my assumption should be quite similar to what's used in Ritual's FAKK2, I fixed the published SDK to build with modern C++ compilers.

It didn't turned out to be really hard, other than typical pre-standard C++ incompatibilities I've seen porting HLSDK countless times for modern compilers, there isn't much needed to be done.

And look, it even gets loaded in original Loki Games' port of this game!

The source code is at https://github.com/a1batross/fakk2-sdk

To compile and install (backup the original cgame.so/fgame.so just in case) just run:
```
cd source
CC="cc -m32" CXX="c++ -m32" ./waf configure build install --destdir=path/to/install/bin/x86/glibc-2.1
```
GitHub - a1batross/fakk2-sdk: Heavy Metal FAKK 2 SDK fixed to build on modern systems

Heavy Metal FAKK 2 SDK fixed to build on modern systems - a1batross/fakk2-sdk

GitHub
the full client works too

no 3d acceleration in vm so it's softpipe performance, not even llvmpipe because mesa probably was built without it

anyway it should work better on actual hardware, there is no reason not to, almost no changes were made to the engine

btw I just noticed that we're working on this engine more days than Uncle Mike did when we're just forked it
New (well, cut) Half-Life tracks from NetTest1
That's it.

~~Most of you are WRONG. The right answer, Quake, is only 3rd by popularity. Congrats to those 28 people!~~

Proof: https://code.idtech.space/id/quake/src/branch/master/WinQuake/r_main.c#L155

And I, too, was wrong because the code above doesn't generate pink color. Quake with it's default palette can't provide pink. Half-Life 1 however, really made it pink by setting 255-th color in the palette pink before uploading it.

So the checkboard was made in Quake but Half-Lfie 1 made it pink.
quake/WinQuake/r_main.c at master

quake - Quake and QuakeWorld's source code

code.idtech.space
so where do you think famous missing texture pink checkerboard came from

don't cheat
DOOM
0%
Quake I
0%
Quake II
50%
Half-Life 1, aka GoldSource engine
50%
Source Engine
0%
Poll ended at .
hm, it's almost as if some of these maps were intended to have lit water...

...no, of course, they mostly weren't, but soon level designers would be able to easily configure it through worldspawn's key/value settings in a new feature coming to xash3d-fwgs