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
+192 -48
View File
@@ -5,148 +5,292 @@
"contracts": [],
"functions": {
"CRaceData::GetSmokeBone": {
"status": "TODO"
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/RaceData.cpp:CRaceData::GetSmokeBone"
]
},
"CRaceData::GetSmokeEffectID": {
"status": "TODO"
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/RaceData.cpp:CRaceData::GetSmokeEffectID"
]
},
"CRaceData::FindHair": {
"status": "TODO"
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/RaceData.cpp:CRaceData::FindHair"
]
},
"CRaceData::SetHairSkin": {
"status": "TODO"
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/RaceData.cpp:CRaceData::SetHairSkin"
]
},
"CRaceData::FindShape": {
"status": "TODO"
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/RaceData.cpp:CRaceData::FindShape"
]
},
"CRaceData::SetShapeModel": {
"status": "TODO"
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/RaceData.cpp:CRaceData::SetShapeModel"
]
},
"CRaceData::AppendShapeSkin": {
"status": "TODO"
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/RaceData.cpp:CRaceData::AppendShapeSkin"
]
},
"CRaceData::New": {
"status": "TODO"
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/RaceData.cpp:CRaceData::New"
]
},
"CRaceData::Delete": {
"status": "TODO"
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/RaceData.cpp:CRaceData::Delete"
]
},
"CRaceData::CreateSystem": {
"status": "TODO"
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/RaceData.cpp:CRaceData::CreateSystem"
]
},
"CRaceData::DestroySystem": {
"status": "TODO"
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/RaceData.cpp:CRaceData::DestroySystem"
]
},
"CRaceData::CreateMotionModeIterator": {
"status": "TODO"
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/RaceData.cpp:CRaceData::CreateMotionModeIterator"
]
},
"CRaceData::NextMotionModeIterator": {
"status": "TODO"
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/RaceData.cpp:CRaceData::NextMotionModeIterator"
]
},
"CRaceData::GetMotionKey": {
"status": "TODO"
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/RaceData.cpp:CRaceData::GetMotionKey"
]
},
"CRaceData::GetMotionModeDataPointer": {
"status": "TODO"
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/RaceData.cpp:CRaceData::GetMotionModeDataPointer"
]
},
"CRaceData::GetModelDataPointer": {
"status": "TODO"
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/RaceData.cpp:CRaceData::GetModelDataPointer"
]
},
"CRaceData::GetMotionVectorPointer": {
"status": "TODO"
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/RaceData.cpp:CRaceData::GetMotionVectorPointer"
]
},
"CRaceData::GetMotionDataPointer": {
"status": "TODO"
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/RaceData.cpp:CRaceData::GetMotionDataPointer"
]
},
"CRaceData::GetAttachingDataCount": {
"status": "TODO"
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/RaceData.cpp:CRaceData::GetAttachingDataCount"
]
},
"CRaceData::GetAttachingDataPointer": {
"status": "TODO"
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/RaceData.cpp:CRaceData::GetAttachingDataPointer"
]
},
"CRaceData::GetCollisionDataPointer": {
"status": "TODO"
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/RaceData.cpp:CRaceData::GetCollisionDataPointer"
]
},
"CRaceData::GetBodyCollisionDataPointer": {
"status": "TODO"
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/RaceData.cpp:CRaceData::GetBodyCollisionDataPointer"
]
},
"CRaceData::SetRace": {
"status": "TODO"
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/RaceData.cpp:CRaceData::SetRace"
]
},
"CRaceData::RegisterAttachingBoneName": {
"status": "TODO"
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/RaceData.cpp:CRaceData::RegisterAttachingBoneName"
]
},
"CRaceData::RegisterMotionMode": {
"status": "TODO"
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/RaceData.cpp:CRaceData::RegisterMotionMode"
]
},
"CRaceData::NEW_RegisterMotion": {
"status": "TODO"
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/RaceData.cpp:CRaceData::NEW_RegisterMotion"
]
},
"CRaceData::RegisterMotionData": {
"status": "TODO"
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/RaceData.cpp:CRaceData::RegisterMotionData"
]
},
"CRaceData::OLD_RegisterMotion": {
"status": "TODO"
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/RaceData.cpp:CRaceData::OLD_RegisterMotion"
]
},
"CRaceData::__OLD_RegisterMotion": {
"status": "TODO"
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/RaceData.cpp:CRaceData::__OLD_RegisterMotion"
]
},
"CRaceData::SetMotionRandomWeight": {
"status": "TODO"
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/RaceData.cpp:CRaceData::SetMotionRandomWeight"
]
},
"CRaceData::RegisterNormalAttack": {
"status": "TODO"
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/RaceData.cpp:CRaceData::RegisterNormalAttack"
]
},
"CRaceData::GetNormalAttackIndex": {
"status": "TODO"
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/RaceData.cpp:CRaceData::GetNormalAttackIndex"
]
},
"CRaceData::ReserveComboAttack": {
"status": "TODO"
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/RaceData.cpp:CRaceData::ReserveComboAttack"
]
},
"CRaceData::RegisterComboAttack": {
"status": "TODO"
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/RaceData.cpp:CRaceData::RegisterComboAttack"
]
},
"CRaceData::GetComboDataPointer": {
"status": "TODO"
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/RaceData.cpp:CRaceData::GetComboDataPointer"
]
},
"CRaceData::GetBaseModelFileName": {
"status": "TODO"
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/RaceData.cpp:CRaceData::GetBaseModelFileName"
]
},
"CRaceData::GetAttributeFileName": {
"status": "TODO"
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/RaceData.cpp:CRaceData::GetAttributeFileName"
]
},
"CRaceData::GetMotionListFileName": {
"status": "TODO"
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/RaceData.cpp:CRaceData::GetMotionListFileName"
]
},
"CRaceData::GetBaseModelThing": {
"status": "TODO"
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/RaceData.cpp:CRaceData::GetBaseModelThing"
]
},
"CRaceData::GetLODModelThing": {
"status": "TODO"
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/RaceData.cpp:CRaceData::GetLODModelThing"
]
},
"CRaceData::GetAttributeDataPtr": {
"status": "TODO"
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/RaceData.cpp:CRaceData::GetAttributeDataPtr"
]
},
"CRaceData::GetAttachingBoneName": {
"status": "TODO"
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/RaceData.cpp:CRaceData::GetAttachingBoneName"
]
},
"CRaceData::IsTree": {
"status": "TODO"
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/RaceData.cpp:CRaceData::IsTree"
]
},
"CRaceData::GetTreeFileName": {
"status": "TODO"
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/RaceData.cpp:CRaceData::GetTreeFileName"
]
},
"CRaceData::Destroy": {
"status": "TODO"
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/RaceData.cpp:CRaceData::Destroy"
]
},
"CRaceData::__Initialize": {
"status": "TODO"
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/RaceData.cpp:CRaceData::__Initialize"
]
},
"CRaceData::CRaceData": {
"status": "TODO"
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/RaceData.cpp:CRaceData::CRaceData"
]
},
"CRaceData::~CRaceData": {
"status": "TODO"
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/RaceData.cpp:CRaceData::~CRaceData"
]
}
}
}