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
+76 -19
View File
@@ -5,61 +5,118 @@
"contracts": [],
"functions": {
"__IsGuildRace": {
"status": "TODO"
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/RaceManager.cpp:__IsGuildRace"
]
},
"__IsNPCRace": {
"status": "TODO"
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/RaceManager.cpp:__IsNPCRace"
]
},
"__GetRaceResourcePathes": {
"status": "TODO"
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/RaceManager.cpp:__GetRaceResourcePathes"
]
},
"CRaceManager::__LoadRaceData": {
"status": "TODO"
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/RaceManager.cpp:CRaceManager::__LoadRaceData"
]
},
"CRaceManager::__LoadRaceMotionList": {
"status": "TODO"
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/RaceManager.cpp:CRaceManager::__LoadRaceMotionList"
]
},
"CRaceManager::RegisterRaceSrcName": {
"status": "TODO"
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/RaceManager.cpp:CRaceManager::RegisterRaceSrcName"
]
},
"CRaceManager::RegisterRaceName": {
"status": "TODO"
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/RaceManager.cpp:CRaceManager::RegisterRaceName"
]
},
"CRaceManager::CreateRace": {
"status": "TODO"
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/RaceManager.cpp:CRaceManager::CreateRace"
]
},
"CRaceManager::SelectRace": {
"status": "TODO"
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/RaceManager.cpp:CRaceManager::SelectRace"
]
},
"CRaceManager::GetSelectedRaceDataPointer": {
"status": "TODO"
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/RaceManager.cpp:CRaceManager::GetSelectedRaceDataPointer"
]
},
"CRaceManager::GetRaceDataPointer": {
"status": "TODO"
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/RaceManager.cpp:CRaceManager::GetRaceDataPointer"
]
},
"CRaceManager::SetPathName": {
"status": "TODO"
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/RaceManager.cpp:CRaceManager::SetPathName"
]
},
"CRaceManager::GetFullPathFileName": {
"status": "TODO"
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/RaceManager.cpp:CRaceManager::GetFullPathFileName"
]
},
"CRaceManager::Create": {
"status": "TODO"
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/RaceManager.cpp:CRaceManager::Create"
]
},
"CRaceManager::__Initialize": {
"status": "TODO"
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/RaceManager.cpp:CRaceManager::__Initialize"
]
},
"CRaceManager::__DestroyRaceDataMap": {
"status": "TODO"
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/RaceManager.cpp:CRaceManager::__DestroyRaceDataMap"
]
},
"CRaceManager::Destroy": {
"status": "TODO"
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/RaceManager.cpp:CRaceManager::Destroy"
]
},
"CRaceManager::CRaceManager": {
"status": "TODO"
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/RaceManager.cpp:CRaceManager::CRaceManager"
]
},
"CRaceManager::~CRaceManager": {
"status": "TODO"
"status": "PORTED",
"impl": [
"extension/src/port/GameLib/RaceManager.cpp:CRaceManager::~CRaceManager"
]
}
}
}