Email or username:

Password:

Forgot your password?
173 posts total
a1batross
Half-Life: MMod was released just few hours ago.

Of course, I wouldn't be myself if I wasn't tried to run this mod under Xash. Moreover, mod author released a Linux port, so I don't even need to reboot to Windows or play with Wine.

First run was... almost fine if there wasn't a RED RECTANGLE OVER MY WHOLE SCREEN. I know that this can happen because of invalid HUD sprites drawing. My beloved GDB showed me a NULL pointer instead of sprite model pointer due to invalid HUD sprite index.

So I checked hud.txt, it was fine. I checked how mod runs under GoldSrc, it was fine. I ran GoldSrc under GDB and invalid index was there as well.

So I fired up Ghidra, found a function that's used to set HUD sprite model, and found out that it checks for valid index before sprite model pointer is set. I implemented similar check in Xash and BIG RED RECTANGLE was gone.

=================

But the red rectangle wasn't the only bug I fixed this night. This mod loves to showcase custom animations and cool particle effects and dlights. One of such features: our character legs in first person, was just gone.

I switched back to Ghidra and GoldSrc I left under GDB, traced all "hl1mmod_visuals_drawlegs" variable checks and after quick GDB session I found it's unusual technique to draw these legs: it's third person mode! But not actually.

The engine, before adding our player to the render list, checks if we're in third person mode. So mod author added a temporary variable, that's set to true at the beginning of each frame, and depending on its value in CL_IsThirdPerson it "lies" to the engine that we're in third person mode so our player model should be drawn but in the AddEntity call, it checks if engine was tricked and sets the variable to zero, so further Is Third Person checks are actually false.

In Xash the order of calling AddEntity and IsThirdPerson was swapped. I swapped it back and removed an additional check in the renderer, and was able to see the legs.

Thus, the current "master" version of Xash3D FWGS now runs this mod almost perfectly.
Half-Life: MMod was released just few hours ago.

Of course, I wouldn't be myself if I wasn't tried to run this mod under Xash. Moreover, mod author released a Linux port, so I don't even need to reboot to Windows or play with Wine.
a1batross
fgsfdsfgs, who previously upstreamed xash3d-fwgs Switch port, now upstreamed Vita support as well. 🥳
a1batross
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.
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. :)

a1batross
So did anybody ever use walking with mouse (i.e. disabled mouse look) in Quake or Doom unironically?
a1batross
few screenshots

I don't have an RT capable card so copied it from discord channel
a1batross
So apparently you can now play Half-Life 1 with ray tracing, which isn't exactly the version I waited for with a true Vulkan renderer, but hey, it's an incredible job by a very skilled developer.

And also it's a xash3d-fwgs, I'm glad to see what people can do with our open source engine.

Download: https://github.com/sultim-t/xash-rt/releases/tag/1.0.4

(edited to reupload video with working audio)
So apparently you can now play Half-Life 1 with ray tracing, which isn't exactly the version I waited for with a true Vulkan renderer, but hey, it's an incredible job by a very skilled developer.

And also it's a xash3d-fwgs, I'm glad to see what people can do with our open source engine.
a1batross
🎉 xash3d-fwgs port for Nintendo Switch landed in upstream 🎉
a1batross
xash3d-fwgs with raytraced ref_vk runs on steamdeck... kinda

video isn't mine
a1batross
Debugging a sound canceling issue turned out to be yet another half life misused channel bug

(try to hit something with crowbar with crackling geiger counter)
a1batross
https://www.moddb.com/mods/school-2-in-novy-urengoy-recreated-on-xash3d

School building recreation demo, made in PrimeXT & Xash3D FWGS. As author says:

"This is a school project, required for admission to the 9th grade exams. Every real place has been thoroughly transferred to the game, using tons of photographic materials. Demo shows pretty impressive graphic capabilities of Xash3D FWGS engine with PrimeXT toolkit. "

For an unfinished school project, this really looks nice. Detail level is fine, although corridors feel a bit lifeless. But high chances they are empty IRL too, without kids and teachers roaming around. :)
https://www.moddb.com/mods/school-2-in-novy-urengoy-recreated-on-xash3d

School building recreation demo, made in PrimeXT & Xash3D FWGS. As author says:
a1batross
Few more screenshots. Can see how much work was put to make all these textures from photos.
a1batross
I don't know what happened here but the bug reporter guy just said it doesn't reproduce anymore
a1batross
Few another screenshots of work done using PrimeXT, running on Xash3D FWGS

Courtesy of CASPERX69X
a1batross
Merged enttools patch to new engine branch.

In old Xash fork we had a feature, which helps on debugging mods and experiment with entities called enttools.

This is basically an analogue of Source's ent_create & ent_fire, but it also has a function to query entity information back to client.

Some of our users combined it with cvar expansion extension and customizable touchscreen controls to have very basic and generic sandbox mode for every game.
Merged enttools patch to new engine branch.

In old Xash fork we had a feature, which helps on debugging mods and experiment with entities called enttools.
Go Up