"Games" { "tf" { "Functions" { "CTFPlayer::PlayTauntSceneFromItem()" { "signature" "CTFPlayer::PlayTauntSceneFromItem()" "callconv" "thiscall" "return" "bool" "this" "entity" "arguments" { "item_view" { // this is actually a pointer, but dynhooks doesn't support setting pointers "type" "int" } } } "CTFPlayer::HandleTauntCommand()" { "signature" "CTFPlayer::HandleTauntCommand()" "callconv" "thiscall" "return" "void" "this" "entity" "arguments" { "slot" { "type" "int" } } } } "Signatures" { "CTFPlayer::PlayTauntSceneFromItem()" { // xref string "taunt is press and hold" "library" "server" "linux" "@_ZN9CTFPlayer22PlayTauntSceneFromItemEPK13CEconItemView" "windows" "\x53\x8B\xDC\x83\xEC\x08\x83\xE4\xF0\x83\xC4\x04\x55\x8B\x6B\x04\x89\x6C\x24\x04\x8B\xEC\x81\xEC\x98\x01\x00\x00\x56\x8B\x73\x08" } "CTFPlayer::FindPartnerTauntInitiator()" { // xref string "%s looking for a partner taunt initiator." "library" "server" "linux" "@_ZN9CTFPlayer25FindPartnerTauntInitiatorEv" "windows" "\x53\x8B\xDC\x83\xEC\x08\x83\xE4\xF0\x83\xC4\x04\x55\x8B\x6B\x04\x89\x6C\x24\x04\x8B\xEC\x81\xEC\x98\x01\x00\x00\xA1\x2A\x2A\x2A\x2A\x56\x8B\xF1" } "CTFPlayer::HandleTauntCommand()" { // find ::AcceptTauntWithPartner() via xref string "%s doing %s with initiator %s.\n" // ::HandleTauntCommand() is single xref of function "library" "server" "linux" "@_ZN9CTFPlayer18HandleTauntCommandEi" "windows" "\x55\x8B\xEC\x83\xEC\x1C\x57\x8B\xF9\xE8\x2A\x2A\x2A\x2A\x84\xC0\x0F\x84\x2A\x2A\x2A\x2A\x8B\x87\x50\x20\x00\x00" } } } }