Email or username:

Password:

Forgot your password?
149 posts total
a1batross
>Quake II Remastered rated in Korea

So what it will be then? KEX Engine "please sign in to Bethesda.net" port? Cool lighting port? They already pulled out that card with RTX version.

It would be nice if :quake2: will get an expansion campaign like Quake I remaster though.
shp :blobshp:
@a1ba maybe I'm too negative but the quake remaster only lessened my interest in quake and modding it
a1batross
Added sd_notify support for dedicated server, so you can see current server FPS, player count and map in systemctl status.

It also notifies watchdog, so if engine got stuck for 5 seconds, it gets restarted.
a1batross
Some guy who has been IP spoofing found another way to annoy players.

Presumably, they are scraping client IPs by hosting a fake server and some time later send "disconnect" messages to these client IPs with spoofed server IP.

Except being just annoying, it doesn't seem to be harmful. But I'm not sure how to fix it. Send current qport as an argument? It will break disconnection from unpatched servers.
Some guy who has been IP spoofing found another way to annoy players.

Presumably, they are scraping client IPs by hosting a fake server and some time later send "disconnect" messages to these client IPs with spoofed server IP.
a1batross
I think, I know. This message only used during connection, it's not used after netchan is created.
a1batross

Did Valve just acknowledged Xash in a random tweet?

RT @CounterStrike
Here’s a fun look at lighting across CS 1.6 (with ray tracing), CS:GO, and Counter-Strike

@3kliksphilip
Should Counter Strike be so BRIGHT AND COLOURFUL? https://youtu.be/hCijBGQcH80

eukara
@a1ba so close... just please Valve, GPL your mess already!
a1batross
Added pk3dir convention support to Xash3D FWGS.

Thank you, @eukara, for an idea. :)

Now, I wish that some Half-Life map editor supported it as well. Probably TrenchBroom does, but its HL1 support wasn't the best.
a1batross
https://developer.valvesoftware.com/wiki/Xash3D

uhhh some dude really picked a very specific Wiki to write about Xash on

it's not me, I swear :D
a1batross
007: Nightfire for PC has a pretty weird archive format.

There are two type of nodes: files and directories.

Files have one uint8_t field and two uint32_t fields. Compressed flag, real size and compressed size. It's typical.

But directories... Directories have two uint32_t fields: count of subdirectories, ok, and sum of regular file name lengths in that directory.

There is no flag to distinguish directory from regular file. You're supposed to subtract name length from and if there are any bytes left, then it's a file. If not, start decrementing subdirectories count.

Why exactly the sum of name lengths?
007: Nightfire for PC has a pretty weird archive format.

There are two type of nodes: files and directories.

a1batross
Oh I get it now.

It's probably for easier FindFirst/FindNext implementation, to find subdirectories nodes faster, as they are at the end of the list.
a1batross
People who played Half-Life multiplayer since its release

How the "chat rooms" function worked? Was it basically an IRC client with channels per game? Or something more? Did it require a valid CD key? How bad it was in terms of moderation?
eukara
@a1ba It wasn't just IRC, it ran on its own proprietary backend. In order to connect to it you needed to be able to connect to the Auth server first, but that may not necessarily have used a CD key check though - just an implementation detail perhaps.

The server software had a filter list, which would attempt to filter out your basic "bad" words. That was probably the extent of moderation back then. I have a copy of the bad words list somewhere and it's not all that long compared to modern filter lists. It may not reflect the state of the list by the time WON shut down though.
@a1ba It wasn't just IRC, it ran on its own proprietary backend. In order to connect to it you needed to be able to connect to the Auth server first, but that may not necessarily have used a CD key check though - just an implementation detail perhaps.
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.
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.
a1batross
Some pretty --help output... :dopeswim:
a1batross
Did somebody ever preserve (or was it ever published?) the SVN repository of Fitzquake?

Asking for historical purposes.
a1batross
*sparkles*

This is as far as I go.
a1batross
-#define MAX_LIGHTSTYLES 64 // original quake limit
+#define MAX_LIGHTSTYLES 256 // a1ba: increased from 64 to 256, protocol limit


There is no such thing as too many lightstyles.
a1batross
On this April Fools' Day, I found myself a fool.

A few months ago, I wrote a simple program. It scans game servers list and reports anything suspicious, unexpected or if someone just tries to flood the list with curses or shady links. ;)

Despite the protocol isn't really defined, I decided to make validator especially strict. No extensions allowed! Or so I thought...

Unless our friends who maintain engine fork on old unsupported protocol suddenly decided to add an extension. And it broke validator. And validator automatically banned everyone who used that fork.
On this April Fools' Day, I found myself a fool.

A few months ago, I wrote a simple program. It scans game servers list and reports anything suspicious, unexpected or if someone just tries to flood the list with curses or shady links. ;)
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?
Go Up