diff options
author | 2025-09-29 23:11:55 +0100 | |
---|---|---|
committer | 2025-10-01 21:37:26 +0100 | |
commit | b3c359826ae519ea2816128dfe641032b9e9e97f (patch) | |
tree | 065368fa828bbfc45ceddc58ef10dd82e02a3698 /gamedata | |
parent | 88f12ae363758c9214942335b4cdb4b5c0e559c9 (diff) | |
download | sst-master.tar.gz sst-master.zip |
While we're at it, come up with a way for certain gamedata matches to be
Windows-only. Somewhat reduces ifdef usage, although does not entirely
remove it of course.
Tested in HL2 2707. Haven't tested other HL2 builds, or Episode 1.
Doesn't seem to work in DMoMM yet either; not sure why.
A big list of stuff still to fix follows.
Hidden cvars are currently an issue. We still need to figure out what to
do with the flag bits because FCVAR_HIDDEN just doesn't exist in OE and
there's some other flag with the same value instead.
We also need to do something about the flag setting in fixes.c since
HIDDEN is again not a thing, and also DEVONLY is not a thing either.
When the plugin is autoloaded, all the initial log text gets eaten,
because there's some stupid crap we have to do to trick the engine into
displaying coloured text otherwise it just won't. Not even stuff from
Warning(). Very stupid, but Hayden already figured out a solution, so
that'll be done in another upcoming commit.
Apparently raw mouse input breaks the menu. We might need to bump up the
priority on making that hook only be active when there's no UI open -
something I wanted to do anyway due to the demo drive issues.
Big thanks to Hayden for doing a lot of the initial groundwork on this,
particularly the cvar registration stuff. He gets a copyright notice in
con_.c even though I ended up doing a lot of stuff differently because
quite a bit of his work is still in there.
Don't blame him for the self-modifying code though, that was my crazy
idea. Sorry, but, in my defence... Well, it works.
Diffstat (limited to 'gamedata')
-rw-r--r-- | gamedata/engine.txt | 36 | ||||
-rw-r--r-- | gamedata/gamelib.txt | 2 |
2 files changed, 24 insertions, 14 deletions
diff --git a/gamedata/engine.txt b/gamedata/engine.txt index a50f9ce..f13a63a 100644 --- a/gamedata/engine.txt +++ b/gamedata/engine.txt @@ -1,22 +1,28 @@ # ICvar # XXX: const and non-const entries might be flipped here on Windows, not 100% # sure. kind of just choosing not to care thusfar, as it still works the same! -vtidx_AllocateDLLIdentifier 5 - Portal2 8 -vtidx_RegisterConCommand 6 - Portal2 9 -vtidx_UnregisterConCommands 8 - Portal2 11 -# unused: -#vtidx_FindCommandBase 10 -# Portal2 13 +vtidx_AllocateDLLIdentifier + NE 5 + Portal2 8 +vtidx_RegisterConCommand + OE 5 # named RegisterConCommandBase here, but same thing + NE 6 + Portal2 9 +vtidx_UnregisterConCommands + NE 8 + Portal2 11 vtidx_FindVar 12 + OE 7 Portal2 15 -vtidx_FindCommand 14 - Portal2 17 -vtidx_CallGlobalChangeCallbacks 20 - L4Dx 18 - Portal2 21 +vtidx_FindCommand + NE 14 + Portal2 17 +vtidx_CallGlobalChangeCallbacks + NE 20 + L4Dx 18 + Portal2 21 +vtidx_CallGlobalChangeCallbacks_OE # different function signature, no float arg + OE 12 vtidx_ConsoleColorPrintf OrangeBoxbased 23 L4Dx 21 @@ -148,6 +154,8 @@ vtidx_VGuiConnect 3 + NVDTOR vtidx_VGuiIsInitialized 6 + NVDTOR # this is also just called IsInitialized() L4Dbased 7 + NVDTOR L4DS 8 + NVDTOR + OE 5 + NVDTOR + #DMoMM 10 + NVDTOR # untested, can't remember where I got this... # CDedicatedServerAPI vtidx_RunFrame 7 diff --git a/gamedata/gamelib.txt b/gamedata/gamelib.txt index 486a216..26e4758 100644 --- a/gamedata/gamelib.txt +++ b/gamedata/gamelib.txt @@ -1,11 +1,13 @@ # CGameMovement vtidx_CheckJumpButton + OE 14 + NVDTOR Portal1_3420 22 + NVDTOR 2013 28 + NVDTOR L4D 32 + NVDTOR L4DS 33 + NVDTOR Portal2 35 + NVDTOR off_mv 8 + OE 4 Portal1_3420 4 # IServerGameDLL |