aboutsummaryrefslogtreecommitdiff
path: root/gamedata/engine.txt
diff options
context:
space:
mode:
authorGravatar Michael Smith <mikesmiffy128@gmail.com> 2025-09-29 23:11:55 +0100
committerGravatar Michael Smith <mikesmiffy128@gmail.com> 2025-10-01 21:37:26 +0100
commitb3c359826ae519ea2816128dfe641032b9e9e97f (patch)
tree065368fa828bbfc45ceddc58ef10dd82e02a3698 /gamedata/engine.txt
parent88f12ae363758c9214942335b4cdb4b5c0e559c9 (diff)
downloadsst-b3c359826ae519ea2816128dfe641032b9e9e97f.tar.gz
sst-b3c359826ae519ea2816128dfe641032b9e9e97f.zip
Get it sort-of-mostly working in "Old Engine" HL2HEADmaster
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/engine.txt')
-rw-r--r--gamedata/engine.txt36
1 files changed, 22 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