πŸΆπš‘πšŠπŸ·πš‹πšŠπšŠπŸ·πš‹πšŠ

πŸΆπš‘πšŠπŸ·πš‹πšŠπšŠπŸ·πš‹πšŠ

@a1batross

Male. 25. Pronouns: any. Xash3D FWGS maintainer, Elbrus researcher. Writing low quality Linux drivers for life.

suya.place
a1ba#1785
Joined 18 Sep 2022
host.mempool
Badges
You Actually Tried
You Actually Tried
Have a post Featured by a community moderator or staff member
Made it
Made it
Completed the LambdaGeneration Half-Life 25th Anniversary Adventure
Two Years
Two Years
There won't be any more.
Follow
(this is old news, I know, I'm just reposting stuff from my idtech.space account)

One of the highly requested features in Xash3D FWGS was player decals.

The GoldSrc implementation, to be honest, sucks ass. For some reason, they generate a WAD file, then pack it into a special file format archive that acts like a cache called HPAK (that custom.hpk file!). File limit size was a pathetic 16 kilobytes, but understandable for it's time.

Step by step, we got rid of this mess. Unkle Mike implemented storing BMP directly, then @SNMetamorph found and fixed every bug in HPAK parsing code, proposed increasing the limit to 128 kilobytes and I just added PNG support for it.

With PNG and that size limit it's easily abusable though. There is nothing wrong to draw a big smug John Carmack face or draw some memes, but not pixel art that's basically the size of the map...

UPDATE: The limits were enforced to 512x512 pixels and 128 kilobytes, which is OK for PNG images and not abuses the compressed format too much.
(this is old news, I know, I'm just reposting stuff from my idtech.space account)

One of the highly requested features in Xash3D FWGS was player decals.

The GoldSrc implementation, to be honest, sucks ass. For some reason, they generate a WAD file, then pack it into a special file format archive that acts like a cache called HPAK (that custom.hpk file!). File limit size was a pathetic 16 kilobytes, but understandable for it's time.

Step by step, we got rid of this mess. Unkle Mike implemented storing BMP directly, then @SNMetamorph found and fixed every bug in HPAK parsing code, proposed increasing the limit to 128 kilobytes and I just added PNG support for it.

With PNG and that size limit it's easily abusable though. There is nothing wrong to draw a big smug John Carmack face or draw some memes, but not pixel art that's basically the size of the map...

UPDATE: The limits were enforced to 512x512 pixels and 128 kilobytes, which is OK for PNG images and not abuses the compressed format too much.
(this is old news, I know, I'm just reposting stuff from my idtech.space account)

One of the highly requested features in Xash3D FWGS was player decals.

The GoldSrc implementation, to be honest, sucks ass. For some reason, they generate a WAD file, then pack it into a special file format archive that acts like a cache called HPAK (that custom.hpk file!). File limit size was a pathetic 16 kilobytes, but understandable for it's time.

Step by step, we got rid of this mess. Unkle Mike implemented storing BMP directly, then @SNMetamorph found and fixed every bug in HPAK parsing code, proposed increasing the limit to 128 kilobytes and I just added PNG support for it.

With PNG and that size limit it's easily abusable though. There is nothing wrong to draw a big smug John Carmack face or draw some memes, but not pixel art that's basically the size of the map...

UPDATE: The limits were enforced to 512x512 pixels and 128 kilobytes, which is OK for PNG images and not abuses the compressed format too much.

(this is old news, I know, I'm just reposting stuff from my idtech.space account) One of the highly requested features in Xash3D FWGS was player decals. The GoldSrc implementation, to be honest, sucks ass. For some reason, they generate a WAD file, then pack it into a special file format archive that acts like a cache called HPAK (that custom.hpk file!). File limit size was a pathetic 16 kilobytes, but understandable for it's time. Step by step, we got rid of this mess. Unkle Mike implemented…

barnpog6
testify6

Instead of trying to add my software water implementation into our software renderer, I did it in an OpenGL renderer that everyone uses and will use anyway. This code waited for this moment for two year until somebody reminded about it... It doesn't use shaders, it's really just that software effect implemented modifying the texture and re-uploading to GPU. I thought it will be slower but I guess generating and uploading 128x128 is not a problem for modern computers. I also found some bugs and…

(Edited)
trophy4

During another sleepless night, I tried to hack GoldSrc protocol into Xash3D FWGS. This isn't something I really want to implement and support in the engine, just want to see what could be improved in further Xash protocol extensions. There isn't so much to show off yet because client doesn't connect to HLDS yet. But I noticed a few interesting things. 1) In GoldSrc there are still remnants of old authentication with CD keys, which cannot even be used anymore. The only way to authenticate is the so-called "Steam protocol" in LAN mode, in which it doesn't validate the certificate cookie in Steam. I guess that's how networking works on pirated games? Honestly, I never looked into this. 2) To prevent protocol reverse-engineering, Valve tried to mangle the network data. This isn't a problem anymore, because the algorithm itself was RE'd a long time ago. It's a pure comedy of security through obscurity: github.com/dreamstalker/rehlds/b…. You t…

trophy2
nerd2

Finally added a hotkey handlers to my mainui_cpp from Xash3D FWGS, featuring Half-Life WON menu. However, behavior differs from WON launcher. In WON it handles it on key press, which makes navigation confusing, and sometimes it might react twice or more. Like if you're in main menu, pressing 'C' to open configuration menu, and it jumps straight to controls menu instead. This is probably due to mishandled button repeat, but I'm not sure. Instead, I do it on key release, which allows in my opini…

visualstudio3

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 was in the plan for a whopping eight years already. The obvious improvement of using ffmpeg is a wide variety of c…

(Edited)
trophy1