OnServerVoiceDataIsPlayingDemoCallee Patch Workflow
SkillAI & modelsGenerate the Windows-only OnServerVoiceData_IsPlayingDemo_Callee patch YAML from IVEngineClient2_IsPlayingDemo.windows.yaml using a deterministic preprocessor script. Use when locating the IVEngineClient2::IsPlayingDemo indirect call inside C_ServerVoiceHandler::OnServerVoiceData without LLM decompilation. Trigger: OnServerVoiceData IsPlayingDemo callee, voice demo call patch, IsPlayingDemo callsite
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the OnServerVoiceDataIsPlayingDemoCallee Patch Workflow skill
What this skill tells your AI
The instructions your AI receives, as published by hlnd2t/cs2_vibesignatures in .claude/skills/find-OnServerVoiceData_IsPlayingDemo_Callee/SKILL.md and read by ahel’s review.
Overview
This Windows-only patch finder converts the already-generated
IVEngineClient2_IsPlayingDemo.windows.yaml vfunc metadata into
OnServerVoiceData_IsPlayingDemo_Callee.windows.yaml.
The target call site is inside C_ServerVoiceHandler::OnServerVoiceData:
mov rcx, cs:g_pSource2EngineToClient
mov rax, [rcx]
call qword ptr [rax+150h] ; IVEngineClient2::IsPlayingDemo
test al, al
jz short loc_...
The patch address is the address of the indirect call instruction itself.
Prerequisite
The following input YAML must already exist in the current client module output directory:
IVEngineClient2_IsPlayingDemo.windows.yaml
Its required fields are:
func_name: IVEngineClient2_IsPlayingDemo
vtable_name: IVEngineClient2
vfunc_offset: '0x150'
vfunc_index: 42
vfunc_sig: FF 90 50 01 00 00 84 C0 74 ?? 83 FD ??
Deterministic Preprocessor
Run through the configured ida_analyze_bin.py pipeline. The corresponding script is:
ida_preprocessor_scripts/find-OnServerVoiceData_IsPlayingDemo_Callee.py
The script performs these checks without LLM invocation:
- Rejects every platform except Windows.
- Reads the input vfunc YAML from the current client output directory.
- Verifies the function name, vtable name, and
vfunc_offset / 8 == vfunc_indexrelationship. - Verifies that
vfunc_sigstarts with the concrete encoding ofcall qword ptr [rax+vfunc_offset]. - Calls IDA MCP
find_byteswith the fullvfunc_sigand requires exactly one match. - Writes the match address as
patch_va, derivespatch_rvafrom the image base, copiesvfunc_sigtopatch_sig, and writespatch_sig_disp: 0.
Output
For game version 14173, the expected output is:
patch_name: OnServerVoiceData_IsPlayingDemo_Callee
patch_va: '0x180aec45d'
patch_rva: '0xaec45d'
patch_sig: FF 90 50 01 00 00 84 C0 74 ?? 83 FD ??
patch_sig_disp: 0
No patch_bytes field is generated because this skill identifies the callee call site;
the downstream consumer decides how that call instruction is patched.
Failure Conditions
Stop and report failure when any of the following occurs:
- The input YAML is missing or malformed.
- The vfunc offset and index disagree.
- The signature does not begin at the expected indirect call.
- The signature has zero or multiple matches.
- The match address or image base is invalid.
Signals
- GitHub stars
- 65
- Forks
- 10
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
find-onservervoicedata-isplayingdemo-callee- Source
- github.com/hlnd2t/cs2_vibesignatures