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,98 @@
{
"reference": "EterLib/AttributeInstance.cpp",
"reference_sha256": "ddc7c046d58c5967c589562fd7eccc6688bf6e7c33f40bafbf1c994908027fa3",
"priority": "P4",
"contracts": [],
"functions": {
"CAttributeInstance::Picking": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/AttributeInstance.cpp:CAttributeInstance::Picking"
]
},
"CAttributeInstance::GetHeight": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/AttributeInstance.cpp:CAttributeInstance::GetHeight"
]
},
"CAttributeInstance::GetObjectPointer": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/AttributeInstance.cpp:CAttributeInstance::GetObjectPointer"
]
},
"CAttributeInstance::IsInHeight": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/AttributeInstance.cpp:CAttributeInstance::IsInHeight"
]
},
"CAttributeInstance::SetObjectPointer": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/AttributeInstance.cpp:CAttributeInstance::SetObjectPointer"
]
},
"CAttributeInstance::RefreshObject": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/AttributeInstance.cpp:CAttributeInstance::RefreshObject"
]
},
"CAttributeInstance::GetDataFileName": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/AttributeInstance.cpp:CAttributeInstance::GetDataFileName"
]
},
"CAttributeInstance::CreateSystem": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/AttributeInstance.cpp:CAttributeInstance::CreateSystem"
]
},
"CAttributeInstance::DestroySystem": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/AttributeInstance.cpp:CAttributeInstance::DestroySystem"
]
},
"CAttributeInstance::New": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/AttributeInstance.cpp:CAttributeInstance::New"
]
},
"CAttributeInstance::Delete": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/AttributeInstance.cpp:CAttributeInstance::Delete"
]
},
"CAttributeInstance::IsEmpty": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/AttributeInstance.cpp:CAttributeInstance::IsEmpty"
]
},
"CAttributeInstance::Clear": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/AttributeInstance.cpp:CAttributeInstance::Clear"
]
},
"CAttributeInstance::CAttributeInstance": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/AttributeInstance.cpp:CAttributeInstance::CAttributeInstance"
]
},
"CAttributeInstance::~CAttributeInstance": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/AttributeInstance.cpp:CAttributeInstance::~CAttributeInstance"
]
}
}
}