summaryrefslogtreecommitdiffhomepage
path: root/gamedata/engine.kv
blob: c436eb53c24ce25e36266d71eb56a07e6f8bad99 (plain)
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
// = 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
}

// 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
}

// IEngineVGuiInternal/CEngineVGui
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