PythonPlayer, PythonPlayerInput{,Keyboard,Mouse}, PythonPlayerEventHandler,
PythonPlayerSkill, PythonPlayerModule and GameType are verbatim copies; the
`player` stub module and the pending PythonPlayer/GameType stand-ins are gone.
Unported callees (CPythonSkill, CItemData, CItemManager, CPythonItem, ...) are
pending stubs. 64-bit fixes: emotion icon handles use Py_BuildPointer, and
PyDict_Next takes Py_ssize_t.
The actor did not move because GrannyUpdateModelMatrix passed the model matrix
through. Walk/run motions use constant root-motion extraction
(AccumulationFlags=AccumulationExtracted, LoopTranslation e.g. (0,-300,0) for
the warrior run, same as the .msa Accumulation). libgr2 now reads both fields
from TrackGroups[0], and the runtime moves by LoopTranslation over each
control's local-clock span, blended by control weight. VDA extraction is not
implemented.
port.login_flow presses DIK_UP; the actor walks more than 100 cm, and the fake
server parses CG packets and sees CG_MOVE FUNC_MOVE, then FUNC_WAIT at the new
position. port.login_live against the real server walked 132 cm.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
303 lines
9.7 KiB
JSON
303 lines
9.7 KiB
JSON
{
|
|
"reference": "UserInterface/PythonPlayerInput.cpp",
|
|
"reference_sha256": "a1967697f9d0b96bbcdaab5b73c9fc6473739e29281cd96d1d87d0a7af496ea8",
|
|
"priority": "P0",
|
|
"contracts": [],
|
|
"functions": {
|
|
"CPythonPlayer::__GetPickableDistance": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/UserInterface/PythonPlayerInput.cpp:CPythonPlayer::__GetPickableDistance"
|
|
]
|
|
},
|
|
"CPythonPlayer::PickCloseMoney": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/UserInterface/PythonPlayerInput.cpp:CPythonPlayer::PickCloseMoney"
|
|
]
|
|
},
|
|
"CPythonPlayer::PickCloseItem": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/UserInterface/PythonPlayerInput.cpp:CPythonPlayer::PickCloseItem"
|
|
]
|
|
},
|
|
"CPythonPlayer::__IsTarget": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/UserInterface/PythonPlayerInput.cpp:CPythonPlayer::__IsTarget"
|
|
]
|
|
},
|
|
"CPythonPlayer::__IsSameTargetVID": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/UserInterface/PythonPlayerInput.cpp:CPythonPlayer::__IsSameTargetVID"
|
|
]
|
|
},
|
|
"CPythonPlayer::__GetTargetVID": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/UserInterface/PythonPlayerInput.cpp:CPythonPlayer::__GetTargetVID"
|
|
]
|
|
},
|
|
"CPythonPlayer::GetTargetVID": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/UserInterface/PythonPlayerInput.cpp:CPythonPlayer::GetTargetVID"
|
|
]
|
|
},
|
|
"CPythonPlayer::__GetTargetActorPtr": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/UserInterface/PythonPlayerInput.cpp:CPythonPlayer::__GetTargetActorPtr"
|
|
]
|
|
},
|
|
"CPythonPlayer::__SetTargetVID": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/UserInterface/PythonPlayerInput.cpp:CPythonPlayer::__SetTargetVID"
|
|
]
|
|
},
|
|
"CPythonPlayer::__ClearTarget": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/UserInterface/PythonPlayerInput.cpp:CPythonPlayer::__ClearTarget"
|
|
]
|
|
},
|
|
"CPythonPlayer::SetTarget": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/UserInterface/PythonPlayerInput.cpp:CPythonPlayer::SetTarget"
|
|
]
|
|
},
|
|
"CPythonPlayer::__ChangeTargetToPickedInstance": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/UserInterface/PythonPlayerInput.cpp:CPythonPlayer::__ChangeTargetToPickedInstance"
|
|
]
|
|
},
|
|
"CPythonPlayer::__GetSkillTargetInstancePtr": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/UserInterface/PythonPlayerInput.cpp:CPythonPlayer::__GetSkillTargetInstancePtr"
|
|
]
|
|
},
|
|
"CPythonPlayer::__GetDeadTargetInstancePtr": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/UserInterface/PythonPlayerInput.cpp:CPythonPlayer::__GetDeadTargetInstancePtr"
|
|
]
|
|
},
|
|
"CPythonPlayer::__GetAliveTargetInstancePtr": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/UserInterface/PythonPlayerInput.cpp:CPythonPlayer::__GetAliveTargetInstancePtr"
|
|
]
|
|
},
|
|
"CPythonPlayer::OpenCharacterMenu": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/UserInterface/PythonPlayerInput.cpp:CPythonPlayer::OpenCharacterMenu"
|
|
]
|
|
},
|
|
"CPythonPlayer::__OnClickItem": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/UserInterface/PythonPlayerInput.cpp:CPythonPlayer::__OnClickItem"
|
|
]
|
|
},
|
|
"CPythonPlayer::__OnClickActor": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/UserInterface/PythonPlayerInput.cpp:CPythonPlayer::__OnClickActor"
|
|
]
|
|
},
|
|
"CPythonPlayer::__OnPressActor": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/UserInterface/PythonPlayerInput.cpp:CPythonPlayer::__OnPressActor"
|
|
]
|
|
},
|
|
"CPythonPlayer::__OnPressItem": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/UserInterface/PythonPlayerInput.cpp:CPythonPlayer::__OnPressItem"
|
|
]
|
|
},
|
|
"CPythonPlayer::__OnClickGround": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/UserInterface/PythonPlayerInput.cpp:CPythonPlayer::__OnClickGround"
|
|
]
|
|
},
|
|
"CPythonPlayer::SetMovableGroundDistance": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/UserInterface/PythonPlayerInput.cpp:CPythonPlayer::SetMovableGroundDistance"
|
|
]
|
|
},
|
|
"CPythonPlayer::__IsMovableGroundDistance": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/UserInterface/PythonPlayerInput.cpp:CPythonPlayer::__IsMovableGroundDistance"
|
|
]
|
|
},
|
|
"CPythonPlayer::__OnPressGround": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/UserInterface/PythonPlayerInput.cpp:CPythonPlayer::__OnPressGround"
|
|
]
|
|
},
|
|
"CPythonPlayer::__OnPressScreen": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/UserInterface/PythonPlayerInput.cpp:CPythonPlayer::__OnPressScreen"
|
|
]
|
|
},
|
|
"CPythonPlayer::NEW_MoveToDirection": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/UserInterface/PythonPlayerInput.cpp:CPythonPlayer::NEW_MoveToDirection"
|
|
]
|
|
},
|
|
"CPythonPlayer::NEW_Stop": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/UserInterface/PythonPlayerInput.cpp:CPythonPlayer::NEW_Stop"
|
|
]
|
|
},
|
|
"CPythonPlayer::NEW_CancelFishing": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/UserInterface/PythonPlayerInput.cpp:CPythonPlayer::NEW_CancelFishing"
|
|
]
|
|
},
|
|
"CPythonPlayer::NEW_Fishing": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/UserInterface/PythonPlayerInput.cpp:CPythonPlayer::NEW_Fishing"
|
|
]
|
|
},
|
|
"CPythonPlayer::NEW_Attack": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/UserInterface/PythonPlayerInput.cpp:CPythonPlayer::NEW_Attack"
|
|
]
|
|
},
|
|
"CPythonPlayer::NEW_IsEmptyReservedDelayTime": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/UserInterface/PythonPlayerInput.cpp:CPythonPlayer::NEW_IsEmptyReservedDelayTime"
|
|
]
|
|
},
|
|
"CPythonPlayer::NEW_SetAutoCameraRotationSpeed": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/UserInterface/PythonPlayerInput.cpp:CPythonPlayer::NEW_SetAutoCameraRotationSpeed"
|
|
]
|
|
},
|
|
"CPythonPlayer::NEW_ResetCameraRotation": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/UserInterface/PythonPlayerInput.cpp:CPythonPlayer::NEW_ResetCameraRotation"
|
|
]
|
|
},
|
|
"CPythonPlayer::__CanShot": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/UserInterface/PythonPlayerInput.cpp:CPythonPlayer::__CanShot"
|
|
]
|
|
},
|
|
"CPythonPlayer::__CanChangeTarget": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/UserInterface/PythonPlayerInput.cpp:CPythonPlayer::__CanChangeTarget"
|
|
]
|
|
},
|
|
"CPythonPlayer::__CanMove": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/UserInterface/PythonPlayerInput.cpp:CPythonPlayer::__CanMove"
|
|
]
|
|
},
|
|
"CPythonPlayer::__CanAttack": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/UserInterface/PythonPlayerInput.cpp:CPythonPlayer::__CanAttack"
|
|
]
|
|
},
|
|
"CPythonPlayer::NEW_GetMultiKeyDirRotation": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/UserInterface/PythonPlayerInput.cpp:CPythonPlayer::NEW_GetMultiKeyDirRotation"
|
|
]
|
|
},
|
|
"CPythonPlayer::NEW_GetMouseDirRotation": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/UserInterface/PythonPlayerInput.cpp:CPythonPlayer::NEW_GetMouseDirRotation"
|
|
]
|
|
},
|
|
"CPythonPlayer::GetDegreeFromPosition": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/UserInterface/PythonPlayerInput.cpp:CPythonPlayer::GetDegreeFromPosition"
|
|
]
|
|
},
|
|
"CPythonPlayer::__ClearReservedAction": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/UserInterface/PythonPlayerInput.cpp:CPythonPlayer::__ClearReservedAction"
|
|
]
|
|
},
|
|
"CPythonPlayer::__ReserveClickItem": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/UserInterface/PythonPlayerInput.cpp:CPythonPlayer::__ReserveClickItem"
|
|
]
|
|
},
|
|
"CPythonPlayer::__ReserveClickActor": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/UserInterface/PythonPlayerInput.cpp:CPythonPlayer::__ReserveClickActor"
|
|
]
|
|
},
|
|
"CPythonPlayer::__ReserveClickGround": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/UserInterface/PythonPlayerInput.cpp:CPythonPlayer::__ReserveClickGround"
|
|
]
|
|
},
|
|
"CPythonPlayer::__IsReservedUseSkill": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/UserInterface/PythonPlayerInput.cpp:CPythonPlayer::__IsReservedUseSkill"
|
|
]
|
|
},
|
|
"CPythonPlayer::__ReserveUseSkill": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/UserInterface/PythonPlayerInput.cpp:CPythonPlayer::__ReserveUseSkill"
|
|
]
|
|
},
|
|
"CPythonPlayer::__ClearAutoAttackTargetActorID": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/UserInterface/PythonPlayerInput.cpp:CPythonPlayer::__ClearAutoAttackTargetActorID"
|
|
]
|
|
},
|
|
"CPythonPlayer::__SetAutoAttackTargetActorID": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/UserInterface/PythonPlayerInput.cpp:CPythonPlayer::__SetAutoAttackTargetActorID"
|
|
]
|
|
},
|
|
"CPythonPlayer::__ReserveProcess_ClickActor": {
|
|
"status": "PORTED",
|
|
"impl": [
|
|
"extension/src/port/UserInterface/PythonPlayerInput.cpp:CPythonPlayer::__ReserveProcess_ClickActor"
|
|
]
|
|
}
|
|
}
|
|
}
|