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,248 @@
{
"reference": "UserInterface/PythonCharacterManagerModule.cpp",
"reference_sha256": "bab53370d95383243f0e04338e63df48c2cd71d44f97414cfe91cd10ba149c4c",
"priority": "P4",
"contracts": [],
"functions": {
"chrmgrSetEmpireNameMode": {
"status": "PORTED",
"impl": [
"extension/src/port/UserInterface/PythonCharacterManagerModule.cpp:chrmgrSetEmpireNameMode"
]
},
"chrmgrRegisterTitleName": {
"status": "PORTED",
"impl": [
"extension/src/port/UserInterface/PythonCharacterManagerModule.cpp:chrmgrRegisterTitleName"
]
},
"chrmgrRegisterNameColor": {
"status": "PORTED",
"impl": [
"extension/src/port/UserInterface/PythonCharacterManagerModule.cpp:chrmgrRegisterNameColor"
]
},
"chrmgrRegisterTitleColor": {
"status": "PORTED",
"impl": [
"extension/src/port/UserInterface/PythonCharacterManagerModule.cpp:chrmgrRegisterTitleColor"
]
},
"chrmgrGetPickedVID": {
"status": "PORTED",
"impl": [
"extension/src/port/UserInterface/PythonCharacterManagerModule.cpp:chrmgrGetPickedVID"
]
},
"chrmgrGetVIDInfo": {
"status": "PORTED",
"impl": [
"extension/src/port/UserInterface/PythonCharacterManagerModule.cpp:chrmgrGetVIDInfo"
]
},
"chrmgrSetPathName": {
"status": "PORTED",
"impl": [
"extension/src/port/UserInterface/PythonCharacterManagerModule.cpp:chrmgrSetPathName"
]
},
"chrmgrCreateRace": {
"status": "PORTED",
"impl": [
"extension/src/port/UserInterface/PythonCharacterManagerModule.cpp:chrmgrCreateRace"
]
},
"chrmgrSelectRace": {
"status": "PORTED",
"impl": [
"extension/src/port/UserInterface/PythonCharacterManagerModule.cpp:chrmgrSelectRace"
]
},
"chrmgrRegisterAttachingBoneName": {
"status": "PORTED",
"impl": [
"extension/src/port/UserInterface/PythonCharacterManagerModule.cpp:chrmgrRegisterAttachingBoneName"
]
},
"chrmgrRegisterMotionMode": {
"status": "PORTED",
"impl": [
"extension/src/port/UserInterface/PythonCharacterManagerModule.cpp:chrmgrRegisterMotionMode"
]
},
"chrmgrSetMotionRandomWeight": {
"status": "PORTED",
"impl": [
"extension/src/port/UserInterface/PythonCharacterManagerModule.cpp:chrmgrSetMotionRandomWeight"
]
},
"chrmgrRegisterNormalAttack": {
"status": "PORTED",
"impl": [
"extension/src/port/UserInterface/PythonCharacterManagerModule.cpp:chrmgrRegisterNormalAttack"
]
},
"chrmgrReserveComboAttack": {
"status": "PORTED",
"impl": [
"extension/src/port/UserInterface/PythonCharacterManagerModule.cpp:chrmgrReserveComboAttack"
]
},
"chrmgrRegisterComboAttack": {
"status": "PORTED",
"impl": [
"extension/src/port/UserInterface/PythonCharacterManagerModule.cpp:chrmgrRegisterComboAttack"
]
},
"chrmgrReserveComboAttackNew": {
"status": "PORTED",
"impl": [
"extension/src/port/UserInterface/PythonCharacterManagerModule.cpp:chrmgrReserveComboAttackNew"
]
},
"chrmgrRegisterComboAttackNew": {
"status": "PORTED",
"impl": [
"extension/src/port/UserInterface/PythonCharacterManagerModule.cpp:chrmgrRegisterComboAttackNew"
]
},
"chrmgrLoadRaceData": {
"status": "PORTED",
"impl": [
"extension/src/port/UserInterface/PythonCharacterManagerModule.cpp:chrmgrLoadRaceData"
]
},
"chrmgrLoadLocalRaceData": {
"status": "PORTED",
"impl": [
"extension/src/port/UserInterface/PythonCharacterManagerModule.cpp:chrmgrLoadLocalRaceData"
]
},
"chrmgrRegisterCacheMotionData": {
"status": "PORTED",
"impl": [
"extension/src/port/UserInterface/PythonCharacterManagerModule.cpp:chrmgrRegisterCacheMotionData"
]
},
"chrmgrRegisterMotionData": {
"status": "PORTED",
"impl": [
"extension/src/port/UserInterface/PythonCharacterManagerModule.cpp:chrmgrRegisterMotionData"
]
},
"chrmgrRegisterRaceSrcName": {
"status": "PORTED",
"impl": [
"extension/src/port/UserInterface/PythonCharacterManagerModule.cpp:chrmgrRegisterRaceSrcName"
]
},
"chrmgrRegisterRaceName": {
"status": "PORTED",
"impl": [
"extension/src/port/UserInterface/PythonCharacterManagerModule.cpp:chrmgrRegisterRaceName"
]
},
"chrmgrSetShapeModel": {
"status": "PORTED",
"impl": [
"extension/src/port/UserInterface/PythonCharacterManagerModule.cpp:chrmgrSetShapeModel"
]
},
"chrmgrAppendShapeSkin": {
"status": "PORTED",
"impl": [
"extension/src/port/UserInterface/PythonCharacterManagerModule.cpp:chrmgrAppendShapeSkin"
]
},
"chrmgrSetMovingSpeed": {
"status": "PORTED",
"impl": [
"extension/src/port/UserInterface/PythonCharacterManagerModule.cpp:chrmgrSetMovingSpeed"
]
},
"chrmgrRegisterEffect": {
"status": "PORTED",
"impl": [
"extension/src/port/UserInterface/PythonCharacterManagerModule.cpp:chrmgrRegisterEffect"
]
},
"chrmgrRegisterCacheEffect": {
"status": "PORTED",
"impl": [
"extension/src/port/UserInterface/PythonCharacterManagerModule.cpp:chrmgrRegisterCacheEffect"
]
},
"chrmgrSetDustGap": {
"status": "PORTED",
"impl": [
"extension/src/port/UserInterface/PythonCharacterManagerModule.cpp:chrmgrSetDustGap"
]
},
"chrmgrSetHorseDustGap": {
"status": "PORTED",
"impl": [
"extension/src/port/UserInterface/PythonCharacterManagerModule.cpp:chrmgrSetHorseDustGap"
]
},
"chrmgrToggleDirectionLine": {
"status": "PORTED",
"impl": [
"extension/src/port/UserInterface/PythonCharacterManagerModule.cpp:chrmgrToggleDirectionLine"
]
},
"chrmgrRegisterPointEffect": {
"status": "PORTED",
"impl": [
"extension/src/port/UserInterface/PythonCharacterManagerModule.cpp:chrmgrRegisterPointEffect"
]
},
"chrmgrShowPointEffect": {
"status": "PORTED",
"impl": [
"extension/src/port/UserInterface/PythonCharacterManagerModule.cpp:chrmgrShowPointEffect"
]
},
"CPythonCharacterManager::SCRIPT_SetAffect": {
"status": "PORTED",
"impl": [
"extension/src/port/UserInterface/PythonCharacterManagerModule.cpp:CPythonCharacterManager::SCRIPT_SetAffect"
]
},
"chrmgrSetAffect": {
"status": "PORTED",
"impl": [
"extension/src/port/UserInterface/PythonCharacterManagerModule.cpp:chrmgrSetAffect"
]
},
"CPythonCharacterManager::SetEmoticon": {
"status": "PORTED",
"impl": [
"extension/src/port/UserInterface/PythonCharacterManagerModule.cpp:CPythonCharacterManager::SetEmoticon"
]
},
"CPythonCharacterManager::IsPossibleEmoticon": {
"status": "PORTED",
"impl": [
"extension/src/port/UserInterface/PythonCharacterManagerModule.cpp:CPythonCharacterManager::IsPossibleEmoticon"
]
},
"chrmgrSetEmoticon": {
"status": "PORTED",
"impl": [
"extension/src/port/UserInterface/PythonCharacterManagerModule.cpp:chrmgrSetEmoticon"
]
},
"chrmgrIsPossibleEmoticon": {
"status": "PORTED",
"impl": [
"extension/src/port/UserInterface/PythonCharacterManagerModule.cpp:chrmgrIsPossibleEmoticon"
]
},
"initchrmgr": {
"status": "PORTED",
"impl": [
"extension/src/port/UserInterface/PythonCharacterManagerModule.cpp:initchrmgr"
]
}
}
}