summaryrefslogtreecommitdiffhomepage
path: root/gamedata/engine.kv
diff options
context:
space:
mode:
authorMichael Smith <mikesmiffy128@gmail.com>2024-08-22 00:02:48 +0100
committerMichael Smith <mikesmiffy128@gmail.com>2024-08-23 20:40:01 +0100
commitcf0354eb8e043fcd9c6c17756701972f948a16f1 (patch)
treede931afc161f43e95d040ae655a6a2081aeb4ff2 /gamedata/engine.kv
parent78323e416f79ef9c26bbd742082627bc45e116c1 (diff)
Rewrite the gamedata and entprops systems entirely
This removes the horrible janky old KeyValues parser and replaces it with a couple of trivial ad-hoc text parsers. In doing so, make the format of the actual gamedata files more human-friendly too. We also gain support for nested SendTables in mkentprops, which are required to get at various things like player velocity. And, the actual string matching is made more efficient (or, at least, more scalable) by way of a cool radix tree thing which generates a bunch of switch cases on distinct characters.
Diffstat (limited to 'gamedata/engine.kv')
-rw-r--r--gamedata/engine.kv181
1 files changed, 0 insertions, 181 deletions
diff --git a/gamedata/engine.kv b/gamedata/engine.kv
deleted file mode 100644
index 304b218..0000000
--- a/gamedata/engine.kv
+++ /dev/null
@@ -1,181 +0,0 @@
-// = engine library =
-
-// 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 { default 5 Portal2 8 }
-vtidx_RegisterConCommand { default 6 Portal2 9 }
-vtidx_UnregisterConCommands { default 8 Portal2 11 }
-//vtidx_FindComandBase { default 10 Portal2 13 } // unused
-vtidx_FindVar { default 12 Portal2 15 }
-//vtidx_FindVar_const { default 13 Portal2 16 } // e.g. this might be wrong(???)
-vtidx_FindCommand { default 14 Portal2 17 }
-vtidx_CallGlobalChangeCallbacks { default 20 L4Dx 18 Portal2 21 }
-vtidx_ConsoleColorPrintf { OrangeBoxbased 23 L4Dx 21 Portal2 24 }
-
-// CDemoRecorder
-vtidx_StartRecording 2
-vtidx_SetSignonState 3
-vtidx_StopRecording 7
-vtidx_RecordPacket 11
-
-// VEngineClient
-vtidx_IsInGame {
- Client015 26
- Client014 {
- L4D2 28
- 2013 26
- }
- Client013 {
- L4D1 27
- default 26
- }
- // TODO(compat): unconfirmed, and OE support isn't really a thing yet anyway
- //Client012 28
-}
-vtidx_GetGameDirectory {
- Client015 35 // current portal 2
- Client014 {
- L4D2 73 // YES IT'S SEVENTY THREE ALL OF A SUDDEN.
- 2013 35
- }
- Client013 {
- L4Dx 36 // AND THEN THEY CHANGED IT BACK LATER! (on 2.0.4.1)
- default 35 // <- most things have this!
- }
- Client012 37 // dmomm, ep1, ...
-}
-vtidx_GetEngineBuildNumber {
- Client013 {
- L4D2 99
- Portal2 100
- }
- Client014 {
- L4D2 31
- 2013 98
- }
- Portal1_3420 91
- // TODO(compat): we'll need these... but need to detect first
- //Portal1_5135 102
- //L4D1_1005 99
- //L4D1_Steam 97
-}
-
-// IGameUIFuncs
-vtidx_GetDesktopResolution 5
-
-// IGame/CGame
-vtidx_DispatchAllStoredGameMessages 16
-
-// VEngineServer
-vtidx_PEntityOfEntIndex { OrangeBox 19 } // probably OE too but???
-vtidx_ServerCommand { OrangeBoxbased 36 }
-
-sz_edict {
- default 20
- L4Dbased 16 // see engineapi.h comment
-}
-
-// vgui::Panel
-vtidx_SetPaintEnabled {
- default 67
- Client013 {
- L4D1 68
- L4D2 {
- default 71
- L4D2_2147plus 72
- }
- }
- Client014 {
- L4D2 70
- }
-}
-vtidx_Paint {
- default 123
- Client014 { L4D2 126 } // 2000
- Client013 {
- L4D2 {
- default 127 // 2045
- L4D2_2147plus 128
- }
- }
-}
-
-// SendProp
-sz_SendProp {
- // wrapping all these in 005 for right now.
- // will need at least 009 as well at some point!
- SrvDLL005 {
- OrangeBox 76
- L4D1 80
- L4D2 84
- Portal2 84
- }
- //2013 80 // TODO(compat): not sure about 2013/009 yet
-}
-off_SP_varname {
- SrvDLL005 {
- OrangeBox 44
- //L4Dbased 48 // TODO(compat): haven't tested Survivors
- // for now do this instead:
- L4D 48
- Portal2 48
- }
- //2013 48 // TODO(compat): not sure about 2013/009 yet pt2
-}
-off_SP_offset {
- SrvDLL005 {
- OrangeBox 68
- L4D1 72
- L4D2 76
- Portal2 76
- }
- //2013 72 // TODO(compat): not sure about 2013/009 yet pt3
-}
-
-// CBaseServer/CGameServer
-vtidx_GetSpawnCount {
- //OrangeBox "13 + NVDTOR" // not used right now anyway
- L4D1 "13 + NVDTOR"
- L4D2 "14 + NVDTOR" // GetTimescale() added, pushed it down
- // rest untested, add later if/when actually needed for something
-}
-
-// IEngineVGuiInternal/CEngineVGui
-vtidx_GetPanel NVDTOR
-vtidx_VGuiConnect { // note: the actual name is Connect() but that's too generic
- default "3 + NVDTOR"
- L4Dbased {
- default "4 + NVDTOR" // ActivateGameUI added
- L4DS "5 + NVDTOR" // some other crap added, god knows
- }
-}
-vtidx_VGuiIsInitialized { // likewise, function is just called IsInitialized()
- default "6 + NVDTOR"
- L4Dbased {
- default "7 + NVDTOR"
- L4DS "8 + NVDTOR"
- }
-}
-
-// CDedicatedServerAPI
-vtidx_RunFrame 7
-
-// IEngine
-vtidx_Frame "4 + NVDTOR"
-
-// CEngineTool
-vtidx_GetRealTime {
- default 34 // HL2, P1, L4D1, BMS
- // OE, DMoMM 24
- L4D2 35
- Portal2 36
-}
-vtidx_HostFrameTime {
- default 35
- // OE, DMoMM 25
- L4D2 38
- Portal2 39
-}
-
-// vi: sw=4 ts=4 noet tw=80 cc=80 ft=text