2V3-a: walk with the keyboard through the ported player chain
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>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
157f7c3bb4
commit
ff0983d3c8
@@ -0,0 +1,92 @@
|
||||
{
|
||||
"reference": "UserInterface/PythonPlayerInputMouse.cpp",
|
||||
"reference_sha256": "6c9476fe2d668e7fcf07c70f6da4e6c24141314cd1d944844785697f684c3bec",
|
||||
"priority": "P0",
|
||||
"contracts": [],
|
||||
"functions": {
|
||||
"CPythonPlayer::NEW_SetMouseMoveState": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerInputMouse.cpp:CPythonPlayer::NEW_SetMouseMoveState"
|
||||
]
|
||||
},
|
||||
"CPythonPlayer::NEW_MoveToMouseScreenDirection": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerInputMouse.cpp:CPythonPlayer::NEW_MoveToMouseScreenDirection"
|
||||
]
|
||||
},
|
||||
"CPythonPlayer::NEW_SetMouseCameraState": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerInputMouse.cpp:CPythonPlayer::NEW_SetMouseCameraState"
|
||||
]
|
||||
},
|
||||
"CPythonPlayer::NEW_SetMouseSmartState": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerInputMouse.cpp:CPythonPlayer::NEW_SetMouseSmartState"
|
||||
]
|
||||
},
|
||||
"CPythonPlayer::__OnPressSmart": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerInputMouse.cpp:CPythonPlayer::__OnPressSmart"
|
||||
]
|
||||
},
|
||||
"CPythonPlayer::__OnClickSmart": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerInputMouse.cpp:CPythonPlayer::__OnClickSmart"
|
||||
]
|
||||
},
|
||||
"CPythonPlayer::__ShowPickedEffect": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerInputMouse.cpp:CPythonPlayer::__ShowPickedEffect"
|
||||
]
|
||||
},
|
||||
"CPythonPlayer::NEW_SetMouseFunc": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerInputMouse.cpp:CPythonPlayer::NEW_SetMouseFunc"
|
||||
]
|
||||
},
|
||||
"CPythonPlayer::NEW_GetMouseFunc": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerInputMouse.cpp:CPythonPlayer::NEW_GetMouseFunc"
|
||||
]
|
||||
},
|
||||
"CPythonPlayer::SetQuickCameraMode": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerInputMouse.cpp:CPythonPlayer::SetQuickCameraMode"
|
||||
]
|
||||
},
|
||||
"CPythonPlayer::NEW_SetMouseState": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerInputMouse.cpp:CPythonPlayer::NEW_SetMouseState"
|
||||
]
|
||||
},
|
||||
"CPythonPlayer::NEW_SetMouseMiddleButtonState": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerInputMouse.cpp:CPythonPlayer::NEW_SetMouseMiddleButtonState"
|
||||
]
|
||||
},
|
||||
"CPythonPlayer::NEW_RefreshMouseWalkingDirection": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerInputMouse.cpp:CPythonPlayer::NEW_RefreshMouseWalkingDirection"
|
||||
]
|
||||
},
|
||||
"CPythonPlayer::__IsRightButtonSkillMode": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/UserInterface/PythonPlayerInputMouse.cpp:CPythonPlayer::__IsRightButtonSkillMode"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user