alliedmodders / amxmodx

AMX Mod X - Half-Life 1 Scripting and Administration
http://www.amxmodx.org/
496 stars 197 forks source link

Sven Co-op missing gamedata files #1100

Open RedSprend opened 5 months ago

RedSprend commented 5 months ago

Looking through the gamedata files Sven Co-op (svencoop) is missing. Can't take advantage of some plugin functions such as client_disconnected() for that reason (getting client_disconnected and client_remove forwards have been disabled upon server start).

AMXX version: v1.9.0.5294 OS: I have only tested this on Linux (Ubunu) so far. Steam AppID: 276060

R4to0 commented 3 months ago

I've been learning/messing with updating these for quite some time, at the same time revising and documenting older entries for ease modding inside amxmodx. I'm not very familiar with AMXX code but I was able to make some good progress updating offsets and signatures in ham.inc file. They are not hard to do, it's just very very time consuming to make sure everything is aligned and datatypes are correct.

My only issue/doubt is about BOOL/int/bool datatypes when updating older entries. In HL1 they make use of BOOL which is a typedef int, while in Sven Co-op all of these were replaced with bool.

In AMXX most of them are still exposed as Int for SC, with some converted to bool and moved to sc prefixed ones from vanila HLSDK. I don't know if AMXX implicitly converts them when hooking however I'm moving all of them to Bool just in case, which implies copying some from base HLSDK, prefixing with sc and adjusting to bool accordingly. Is this the correct way to handle these in case of AMXX?

As for new method parameters, adding them to existing entries is enough or have to mark older ones with V_REMOVED and just build a new entry?

Sorry for hijacking this thread and for the wall of text!