Skip to content

Commit d3658a2

Browse files
NukooooKxnrl
andauthored
feat: vtable dumper & function entry (#75)
!backport of Kxnrl/modsharp#386 --------- Co-authored-by: Kyle <kyle@kxnrl.com>
1 parent bda4be0 commit d3658a2

55 files changed

Lines changed: 4101 additions & 1032 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.asset/gamedata/core.games.jsonc

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,13 @@
1111
"INetChannel::SendNetMessage": {
1212
"library": "networksystem",
1313
"linux": "55 48 89 E5 41 57 41 89 D7 41 56 4C 8D B7",
14-
"windows": "48 89 5C 24 ? 48 89 6C 24 ? 56 57 41 56 48 83 EC ? 41 0F B6 F0"
14+
"windows": "48 89 5C 24 ? 48 89 6C 24 ? 56 57 41 56 48 83 EC ? 41 0F B6 F0",
15+
"refs": {
16+
"strings": [
17+
"CNetChan::SendNetMessage: SerializeAbstract for message %s failed!\n"
18+
],
19+
"vtable": "CNetChan"
20+
}
1521
},
1622
"IScriptVM::CreateVM": {
1723
"library": "vscript",

.asset/gamedata/engine.games.jsonc

Lines changed: 90 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,37 +1,120 @@
11
{
22
"Addresses": {
3+
"CNetworkGameServer::ActiveServer": {
4+
"library": "engine",
5+
"refs": {
6+
"strings": [
7+
"CNetworkGameServer::ActivateServer",
8+
"SV: %i player server started\n",
9+
"SV: Game started\n",
10+
"SV: addon='%s'\n"
11+
]
12+
}
13+
},
14+
"CNetworkGameServer::ConnectClient": {
15+
"library": "engine",
16+
"refs": {
17+
"strings": [
18+
"CNetworkGameServerBase::ConnectClient( name='%s', remote='%s' )\n",
19+
"Server not active, ignoring %s\n",
20+
"Bad host version %d %s\n",
21+
"Bad auth data from %s\n"
22+
]
23+
}
24+
},
325
"CNetworkGameServer::GetFreeClient": {
426
"library": "engine",
527
"linux": "55 48 89 E5 41 57 41 56 49 89 FE 41 55 41 54 49 89 F4 53 48 81 EC ? ? ? ? 41 C6 01",
6-
"windows": "48 89 54 24 10 53 56 57 41 56 48 83 EC ?"
28+
"windows": "48 89 54 24 10 53 56 57 41 56 48 83 EC ?",
29+
"refs": {
30+
"strings": [
31+
"Kicked to free up slot"
32+
]
33+
}
734
},
835
// str '---------players--------\n'
936
"CNetworkGameServer::PrintStatus": {
1037
"library": "engine",
1138
"linux": "48 B8 ? ? ? ? ? ? ? ? 55 48 89 E5 41 57 41 56 49 89 FE 41 55 41 54 53",
12-
"windows": "48 89 5C 24 20 44 89 44 24 18 89 54 24 10"
39+
"windows": "48 89 5C 24 20 44 89 44 24 18 89 54 24 10",
40+
"refs": {
41+
"strings": [
42+
"NOTE: Printing secret stuff because non-public Steam universe.\n"
43+
]
44+
}
1345
},
1446
// "SV: Spawn Server: %s\n"
1547
"CNetworkGameServer::SpawnServer": {
1648
"library": "engine",
1749
"linux": "55 48 89 E5 41 57 41 56 41 55 41 54 49 89 F4 53 48 89 FB 48 81 EC ? ? ? ? 48 85 F6 8B 3D",
18-
"windows": "48 89 5C 24 20 55 56 57 41 54 41 56 48 8D 6C 24 C9"
50+
"windows": "48 89 5C 24 20 55 56 57 41 54 41 56 48 8D 6C 24 C9",
51+
"refs": {
52+
"strings": [
53+
"SV: Spawn Server: %s\n",
54+
"SV: Spawn Server: %s: [%s]\n",
55+
"SV_SpawnServer -- Finished"
56+
]
57+
}
1958
},
2059
// "PrepareForAssetLoad(%s)"
2160
"CNetworkGameServer::SpawnServer_Unknown": {
2261
"library": "engine",
2362
"linux": "55 48 8D 05 ? ? ? ? 48 89 E5 41 57 41 56 41 55 41 54 53 48 89 FB 48 81 EC",
24-
"windows": "48 89 5C 24 18 48 89 74 24 20 55 57 41 54 41 56 41 57 48 8B EC"
63+
"windows": "48 89 5C 24 18 48 89 74 24 20 55 57 41 54 41 56 41 57 48 8B EC",
64+
"refs": {
65+
"strings": [
66+
"PrepareForAssetLoad(%s)"
67+
]
68+
}
69+
},
70+
"CServerSideClient::ExecuteStringCommand": {
71+
"library": "engine",
72+
"refs": {
73+
"strings": [
74+
"Client %s(%d) tried to execute command \"%s\" but it is not marked FCVAR_CLIENT_CAN_EXECUTE.\n",
75+
"Client %s(%d) tried to execute command \"%s\" before being fully connected.\n",
76+
"SV: Cheat command '%s' ignored. Set sv_cheats to 1 enable cheats.\n"
77+
],
78+
"vtable": "CServerSideClient"
79+
}
80+
},
81+
"CServerSideClient::IsHearingClient": {
82+
"library": "engine",
83+
"refs": {
84+
"cvars": [
85+
"ss_voice_hearpartner"
86+
],
87+
"vtable": "CServerSideClient"
88+
}
89+
},
90+
"CServerSideClient::SendNetMessage": {
91+
"library": "engine",
92+
"refs": {
93+
"strings": [
94+
"TV client has no downstream TV sink\n"
95+
],
96+
"vtable": "CServerSideClient"
97+
}
2598
},
2699
"HostStateRequest": {
27100
"library": "engine",
28101
"linux": "55 48 89 E5 41 57 41 56 41 55 41 54 49 89 FC 53 48 89 F3 48 83 EC ? 48 83 7F ? ? 74 ? 8B 3D",
29-
"windows": "48 89 74 24 ? 57 48 83 EC ? 33 F6 48 8B FA 48 39 35"
102+
"windows": "48 89 74 24 ? 57 48 83 EC ? 33 F6 48 8B FA 48 39 35",
103+
"refs": {
104+
"strings": [
105+
"Discarding pending request '%s, %u'\n"
106+
]
107+
}
30108
},
31109
"Source2_Init": {
32110
"library": "engine",
33111
"linux": "55 48 89 E5 41 57 41 56 41 55 41 54 53 48 81 EC ? ? ? ? 48 89 BD ? ? ? ? 48 8B 3D ? ? ? ? 48 85 FF",
34-
"windows": "40 55 53 56 57 41 54 41 55 41 56 41 57 48 8D AC 24 ? ? ? ? 48 81 EC ? ? ? ? 4C 8B E1"
112+
"windows": "40 55 53 56 57 41 54 41 55 41 56 41 57 48 8D AC 24 ? ? ? ? 48 81 EC ? ? ? ? 4C 8B E1",
113+
"refs": {
114+
"strings": [
115+
"Source2Init OK\n"
116+
]
117+
}
35118
}
36119
},
37120
"Offsets": {
@@ -162,18 +245,6 @@
162245
"linux": 39,
163246
"windows": 37
164247
},
165-
"CServerSideClient::ExecuteStringCommand": {
166-
"linux": 15,
167-
"windows": 14
168-
},
169-
"CServerSideClient::IsHearingClient": {
170-
"linux": 21,
171-
"windows": 19
172-
},
173-
"CServerSideClient::SendNetMessage": {
174-
"linux": 16,
175-
"windows": 15
176-
},
177248
"CServerSideClient::SetName": {
178249
"linux": 63,
179250
"windows": 61
@@ -187,4 +258,4 @@
187258
"windows": 35
188259
}
189260
}
190-
}
261+
}

.asset/gamedata/log.games.jsonc

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,12 @@
33
"LogDirect": {
44
"library": "tier0",
55
"linux": "55 49 89 FA 48 89 E5 41 57 41 56 41 89 D6",
6-
"windows": "4C 89 4C 24 20 44 89 44 24 18 89 54 24 10 55"
6+
"windows": "4C 89 4C 24 20 44 89 44 24 18 89 54 24 10 55",
7+
"refs": {
8+
"strings": [
9+
"%s():\n%s"
10+
]
11+
}
712
},
813
"LoggingSystem_IsChannelEnabled": {
914
"library": "tier0",

0 commit comments

Comments
 (0)