port 2V2-c: chrmgr/chr modules + race registration chain

PythonCharacterManagerModule/PythonCharacterModule ported verbatim; the
2V0 chr/chrmgr stubs are gone and initchr/initchrmgr run in 40250 order.
The registration chain they need (RaceData/RaceDataFile/RaceManager/
RaceMotionData, GameType, AttributeData/AttributeInstance, TextFileLoader,
Util, Camera/CameraProcedure) is ported; CRaceManager is created in
PythonBoot. port.login_flow asserts race 0 has its wait motions and no
unhandled packet header; port.login_live 8/8 against 192.168.21.203.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
shenlei
2026-09-23 18:40:47 +09:00
co-authored by Claude Opus 5.5
parent 62b6e23bfc
commit 996d793f0c
39 changed files with 8270 additions and 625 deletions
@@ -0,0 +1,242 @@
{
"reference": "GameLib/RaceMotionData.cpp",
"reference_sha256": "021a976e2f62bb1c0056a6f076b6e7715c8eb513be3f7bc73738695c19cddece",
"priority": "P1",
"contracts": [],
"functions": {
"CRaceMotionData::CreateSystem": {
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/RaceMotionData.cpp:CRaceMotionData::CreateSystem"
]
},
"CRaceMotionData::DestroySystem": {
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/RaceMotionData.cpp:CRaceMotionData::DestroySystem"
]
},
"CRaceMotionData::New": {
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/RaceMotionData.cpp:CRaceMotionData::New"
]
},
"CRaceMotionData::Delete": {
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/RaceMotionData.cpp:CRaceMotionData::Delete"
]
},
"CRaceMotionData::SetName": {
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/RaceMotionData.cpp:CRaceMotionData::SetName"
]
},
"CRaceMotionData::SetType": {
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/RaceMotionData.cpp:CRaceMotionData::SetType"
]
},
"CRaceMotionData::GetType": {
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/RaceMotionData.cpp:CRaceMotionData::GetType"
]
},
"CRaceMotionData::IsLock": {
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/RaceMotionData.cpp:CRaceMotionData::IsLock"
]
},
"CRaceMotionData::GetLoopCount": {
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/RaceMotionData.cpp:CRaceMotionData::GetLoopCount"
]
},
"CRaceMotionData::GetMotionDuration": {
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/RaceMotionData.cpp:CRaceMotionData::GetMotionDuration"
]
},
"CRaceMotionData::SetMotionDuration": {
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/RaceMotionData.cpp:CRaceMotionData::SetMotionDuration"
]
},
"CRaceMotionData::IsComboInputTimeData": {
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/RaceMotionData.cpp:CRaceMotionData::IsComboInputTimeData"
]
},
"CRaceMotionData::GetComboInputStartTime": {
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/RaceMotionData.cpp:CRaceMotionData::GetComboInputStartTime"
]
},
"CRaceMotionData::GetNextComboTime": {
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/RaceMotionData.cpp:CRaceMotionData::GetNextComboTime"
]
},
"CRaceMotionData::GetComboInputEndTime": {
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/RaceMotionData.cpp:CRaceMotionData::GetComboInputEndTime"
]
},
"CRaceMotionData::isAttackingMotion": {
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/RaceMotionData.cpp:CRaceMotionData::isAttackingMotion"
]
},
"CRaceMotionData::GetMotionAttackDataPointer": {
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/RaceMotionData.cpp:CRaceMotionData::GetMotionAttackDataPointer"
]
},
"CRaceMotionData::GetMotionAttackDataReference": {
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/RaceMotionData.cpp:CRaceMotionData::GetMotionAttackDataReference"
]
},
"CRaceMotionData::HasSplashMotionEvent": {
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/RaceMotionData.cpp:CRaceMotionData::HasSplashMotionEvent"
]
},
"CRaceMotionData::IsCancelEnableSkill": {
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/RaceMotionData.cpp:CRaceMotionData::IsCancelEnableSkill"
]
},
"CRaceMotionData::IsLoopMotion": {
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/RaceMotionData.cpp:CRaceMotionData::IsLoopMotion"
]
},
"CRaceMotionData::GetLoopStartTime": {
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/RaceMotionData.cpp:CRaceMotionData::GetLoopStartTime"
]
},
"CRaceMotionData::GetLoopEndTime": {
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/RaceMotionData.cpp:CRaceMotionData::GetLoopEndTime"
]
},
"CRaceMotionData::GetMotionEventDataCount": {
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/RaceMotionData.cpp:CRaceMotionData::GetMotionEventDataCount"
]
},
"CRaceMotionData::GetMotionEventDataPointer": {
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/RaceMotionData.cpp:CRaceMotionData::GetMotionEventDataPointer"
]
},
"CRaceMotionData::GetMotionAttackingEventDataPointer": {
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/RaceMotionData.cpp:CRaceMotionData::GetMotionAttackingEventDataPointer"
]
},
"CRaceMotionData::GetEventType": {
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/RaceMotionData.cpp:CRaceMotionData::GetEventType"
]
},
"CRaceMotionData::GetEventStartTime": {
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/RaceMotionData.cpp:CRaceMotionData::GetEventStartTime"
]
},
"CRaceMotionData::GetSoundInstanceVectorPointer": {
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/RaceMotionData.cpp:CRaceMotionData::GetSoundInstanceVectorPointer"
]
},
"CRaceMotionData::SetAccumulationPosition": {
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/RaceMotionData.cpp:CRaceMotionData::SetAccumulationPosition"
]
},
"CRaceMotionData::LoadMotionData": {
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/RaceMotionData.cpp:CRaceMotionData::LoadMotionData"
]
},
"CRaceMotionData::SaveMotionData": {
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/RaceMotionData.cpp:CRaceMotionData::SaveMotionData"
]
},
"CRaceMotionData::LoadSoundScriptData": {
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/RaceMotionData.cpp:CRaceMotionData::LoadSoundScriptData"
]
},
"CRaceMotionData::GetMotionFileName": {
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/RaceMotionData.cpp:CRaceMotionData::GetMotionFileName"
]
},
"CRaceMotionData::GetSoundScriptFileName": {
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/RaceMotionData.cpp:CRaceMotionData::GetSoundScriptFileName"
]
},
"CRaceMotionData::Initialize": {
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/RaceMotionData.cpp:CRaceMotionData::Initialize"
]
},
"CRaceMotionData::Destroy": {
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/RaceMotionData.cpp:CRaceMotionData::Destroy"
]
},
"CRaceMotionData::CRaceMotionData": {
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/RaceMotionData.cpp:CRaceMotionData::CRaceMotionData"
]
},
"CRaceMotionData::~CRaceMotionData": {
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/RaceMotionData.cpp:CRaceMotionData::~CRaceMotionData"
]
}
}
}