CSource1LegacyGameEventGameSystem_ClientPostDataUpdate Location Workflow
Overview
Locate the virtual function CSource1LegacyGameEventGameSystem_ClientPostDataUpdate in CS2 client binary.
This function references the string "CNetworkGameClient::OnSource1Source1LegacyGameEvent: UnserializeKeyValue failed." and is a virtual function in the CSource1LegacyGameEventGameSystem vtable.
Location Steps
1. Search for Signature String
Use find_regex to search for the CNetworkGameClient::OnSource1Source1LegacyGameEvent: UnserializeKeyValue failed. string:
mcp__ida-pro-mcp__find_regex(pattern="CNetworkGameClient::OnSource1Source1LegacyGameEvent: UnserializeKeyValue failed.")
2. Find CSource1LegacyGameEventGameSystem_ClientPostDataUpdate via Cross-References
Use xrefs_to on the string address to find the function that references it:
mcp__ida-pro-mcp__xrefs_to(addrs="<string_addr>")
There may be multiple functions referencing this string. The target function is the one that has no more string references than "CNetworkGameClient::OnSource1Source1LegacyGameEvent: UnserializeKeyValue failed." — i.e., it should have minimal or only this one string reference.
3. Rename CSource1LegacyGameEventGameSystem_ClientPostDataUpdate
mcp__ida-pro-mcp__rename(batch={"func": {"addr": "<ClientPostDataUpdate_addr>", "name": "CSource1LegacyGameEventGameSystem_ClientPostDataUpdate"}})
4. Load CSource1LegacyGameEventGameSystem VTable and Get VTable Index
ALWAYS Use SKILL /get-vtable-from-yaml with class_name=CSource1LegacyGameEventGameSystem
If the skill returns an error, STOP and report to user.
Find CSource1LegacyGameEventGameSystem_ClientPostDataUpdate address in vtable_entries to determine vfunc_index.
5. Generate Signature
ALWAYS Use SKILL /generate-signature-for-function to generate a robust and unique signature for CSource1LegacyGameEventGameSystem_ClientPostDataUpdate.
6. Write YAML Output
ALWAYS Use SKILL /write-vfunc-as-yaml to write the analysis results for CSource1LegacyGameEventGameSystem_ClientPostDataUpdate.
Required parameters:
func_name:CSource1LegacyGameEventGameSystem_ClientPostDataUpdatefunc_addr: The function address from step 2func_sig: The validated signature from step 5
VTable parameters:
vtable_name:CSource1LegacyGameEventGameSystemvfunc_offset: calculated from vfunc_index * 8vfunc_index: from step 4
Function Characteristics
CSource1LegacyGameEventGameSystem_ClientPostDataUpdate
- Virtual function in CSource1LegacyGameEventGameSystem vtable
- References the string
CNetworkGameClient::OnSource1Source1LegacyGameEvent: UnserializeKeyValue failed. - Handles source1 legacy game event processing during client post data update
Output YAML Files
CSource1LegacyGameEventGameSystem_ClientPostDataUpdate.windows.yaml/.linux.yaml