1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
|
// = 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_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
|