port 2V2-b: GamePhase dispatch consumes the Entergame burst

PythonNetworkStreamPhaseGame/PhaseGameActor/PhaseGameItem/Command,
NetworkActorManager and PythonChat/PythonChatModule are ported verbatim and
dispatched at runtime; the 2V0 chat stub module is removed and initChat()
runs before initnet() as in 40250. InstanceBase, PythonCharacterManager and
GameLib ActorInstance/RaceData/RaceManager compile but stay TODO until
2V2-c/d wire them.

Units not ported yet get their singletons from PythonBoot's GameSingletons
(CPythonApplication member order) and platform/pending stand-ins generated
by platform_stub.py pending; const char* stand-ins return "".

port.login_flow's fake server now sends the CInputLogin::Entergame order
(actor insert, NPC positions, PHASE_GAME, land list, time, channel, greet
notice, ping) and a TraceError observer asserts no unknown packet header.
port.login_live passes against the real server for 10 s of game phase.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
shenlei
2026-09-23 18:20:57 +09:00
co-authored by Claude Opus 5.5
parent d16fabf61c
commit 62b6e23bfc
76 changed files with 21087 additions and 753 deletions
@@ -0,0 +1,251 @@
{
"reference": "GameLib/ActorInstance.cpp",
"reference_sha256": "29fa76807f3fbd3c066a3e9464540852a3f5879b4a4d3acc4287dbfa1a6356c3",
"priority": "P0",
"contracts": [],
"functions": {
"CActorInstance::INSTANCEBASE_Deform": {
"status": "TODO"
},
"CActorInstance::INSTANCEBASE_Transform": {
"status": "TODO"
},
"CActorInstance::OnUpdate": {
"status": "TODO"
},
"CActorInstance::GetBackground": {
"status": "TODO"
},
"CActorInstance::SetMainInstance": {
"status": "TODO"
},
"CActorInstance::SetParalysis": {
"status": "TODO"
},
"CActorInstance::SetFaint": {
"status": "TODO"
},
"CActorInstance::SetSleep": {
"status": "TODO"
},
"CActorInstance::SetResistFallen": {
"status": "TODO"
},
"CActorInstance::SetReachScale": {
"status": "TODO"
},
"CActorInstance::__GetReachScale": {
"status": "TODO"
},
"CActorInstance::__GetAttackSpeed": {
"status": "TODO"
},
"CActorInstance::__GetCurrentComboType": {
"status": "TODO"
},
"CActorInstance::SetComboType": {
"status": "TODO"
},
"CActorInstance::SetAttackSpeed": {
"status": "TODO"
},
"CActorInstance::SetMoveSpeed": {
"status": "TODO"
},
"CActorInstance::SetFishingPosition": {
"status": "TODO"
},
"CActorInstance::Move": {
"status": "TODO"
},
"CActorInstance::Stop": {
"status": "TODO"
},
"CActorInstance::SetOwner": {
"status": "TODO"
},
"CActorInstance::SetActorType": {
"status": "TODO"
},
"CActorInstance::GetActorType": {
"status": "TODO"
},
"CActorInstance::IsHandMode": {
"status": "TODO"
},
"CActorInstance::IsTwoHandMode": {
"status": "TODO"
},
"CActorInstance::IsBowMode": {
"status": "TODO"
},
"CActorInstance::IsPoly": {
"status": "TODO"
},
"CActorInstance::IsPC": {
"status": "TODO"
},
"CActorInstance::IsNPC": {
"status": "TODO"
},
"CActorInstance::IsEnemy": {
"status": "TODO"
},
"CActorInstance::IsStone": {
"status": "TODO"
},
"CActorInstance::IsWarp": {
"status": "TODO"
},
"CActorInstance::IsGoto": {
"status": "TODO"
},
"CActorInstance::IsBuilding": {
"status": "TODO"
},
"CActorInstance::IsDoor": {
"status": "TODO"
},
"CActorInstance::IsObject": {
"status": "TODO"
},
"CActorInstance::DestroySystem": {
"status": "TODO"
},
"CActorInstance::DieEnd": {
"status": "TODO"
},
"CActorInstance::Die": {
"status": "TODO"
},
"CActorInstance::IsSleep": {
"status": "TODO"
},
"CActorInstance::IsParalysis": {
"status": "TODO"
},
"CActorInstance::IsFaint": {
"status": "TODO"
},
"CActorInstance::IsResistFallen": {
"status": "TODO"
},
"CActorInstance::IsMoving": {
"status": "TODO"
},
"CActorInstance::IsWaiting": {
"status": "TODO"
},
"CActorInstance::IsDead": {
"status": "TODO"
},
"CActorInstance::IsKnockDown": {
"status": "TODO"
},
"CActorInstance::IsDamage": {
"status": "TODO"
},
"CActorInstance::IsAttacked": {
"status": "TODO"
},
"CActorInstance::PhysicsProcess": {
"status": "TODO"
},
"CActorInstance::__AccumulationMovement": {
"status": "TODO"
},
"CActorInstance::AccumulationMovement": {
"status": "TODO"
},
"CActorInstance::TransformProcess": {
"status": "TODO"
},
"CActorInstance::OnUpdateCollisionData": {
"status": "TODO"
},
"CActorInstance::OnUpdateHeighInstance": {
"status": "TODO"
},
"CActorInstance::OnGetObjectHeight": {
"status": "TODO"
},
"CActorInstance::Revive": {
"status": "TODO"
},
"CActorInstance::IsStun": {
"status": "TODO"
},
"CActorInstance::Stun": {
"status": "TODO"
},
"CActorInstance::SetWalkMode": {
"status": "TODO"
},
"CActorInstance::SetRunMode": {
"status": "TODO"
},
"CActorInstance::GetNormalAttackIndex": {
"status": "TODO"
},
"CActorInstance::__InitializeMovement": {
"status": "TODO"
},
"CActorInstance::AddMovement": {
"status": "TODO"
},
"CActorInstance::AdjustDynamicCollisionMovement": {
"status": "TODO"
},
"CActorInstance::__AdjustCollisionMovement": {
"status": "TODO"
},
"CActorInstance::IsMovement": {
"status": "TODO"
},
"CActorInstance::GetHeight": {
"status": "TODO"
},
"CActorInstance::IntersectDefendingSphere": {
"status": "TODO"
},
"CActorInstance::__IsMountingHorse": {
"status": "TODO"
},
"CActorInstance::MountHorse": {
"status": "TODO"
},
"CActorInstance::__CreateTree": {
"status": "TODO"
},
"CActorInstance::__DestroyTree": {
"status": "TODO"
},
"CActorInstance::__SetTreePosition": {
"status": "TODO"
},
"CActorInstance::ClearAttachingEffect": {
"status": "TODO"
},
"CActorInstance::Destroy": {
"status": "TODO"
},
"CActorInstance::__InitializeRotationData": {
"status": "TODO"
},
"CActorInstance::__InitializeStateData": {
"status": "TODO"
},
"CActorInstance::__InitializeMotionData": {
"status": "TODO"
},
"CActorInstance::__Initialize": {
"status": "TODO"
},
"CActorInstance::CActorInstance": {
"status": "TODO"
},
"CActorInstance::~CActorInstance": {
"status": "TODO"
}
}
}
@@ -0,0 +1,44 @@
{
"reference": "GameLib/ActorInstanceData.cpp",
"reference_sha256": "c8f4c28eeeac19e4d827d1c742477e46d2780acff230af49b74c668aac14a701",
"priority": "P1",
"contracts": [],
"functions": {
"CActorInstance::GetVirtualID": {
"status": "TODO"
},
"CActorInstance::SetVirtualID": {
"status": "TODO"
},
"CActorInstance::UpdateAttribute": {
"status": "TODO"
},
"CActorInstance::__CreateAttributeInstance": {
"status": "TODO"
},
"CActorInstance::GetRace": {
"status": "TODO"
},
"CActorInstance::SetRace": {
"status": "TODO"
},
"CActorInstance::SetHair": {
"status": "TODO"
},
"CActorInstance::SetShape": {
"status": "TODO"
},
"CActorInstance::ChangeMaterial": {
"status": "TODO"
},
"CActorInstance::GetPartItemID": {
"status": "TODO"
},
"CActorInstance::SetSpecularInfo": {
"status": "TODO"
},
"CActorInstance::SetSpecularInfoForce": {
"status": "TODO"
}
}
}
+152
View File
@@ -0,0 +1,152 @@
{
"reference": "GameLib/RaceData.cpp",
"reference_sha256": "399a7690468dac633f649561e577a20bf6ce48979734e20dcb92b10c1f9f47ec",
"priority": "P1",
"contracts": [],
"functions": {
"CRaceData::GetSmokeBone": {
"status": "TODO"
},
"CRaceData::GetSmokeEffectID": {
"status": "TODO"
},
"CRaceData::FindHair": {
"status": "TODO"
},
"CRaceData::SetHairSkin": {
"status": "TODO"
},
"CRaceData::FindShape": {
"status": "TODO"
},
"CRaceData::SetShapeModel": {
"status": "TODO"
},
"CRaceData::AppendShapeSkin": {
"status": "TODO"
},
"CRaceData::New": {
"status": "TODO"
},
"CRaceData::Delete": {
"status": "TODO"
},
"CRaceData::CreateSystem": {
"status": "TODO"
},
"CRaceData::DestroySystem": {
"status": "TODO"
},
"CRaceData::CreateMotionModeIterator": {
"status": "TODO"
},
"CRaceData::NextMotionModeIterator": {
"status": "TODO"
},
"CRaceData::GetMotionKey": {
"status": "TODO"
},
"CRaceData::GetMotionModeDataPointer": {
"status": "TODO"
},
"CRaceData::GetModelDataPointer": {
"status": "TODO"
},
"CRaceData::GetMotionVectorPointer": {
"status": "TODO"
},
"CRaceData::GetMotionDataPointer": {
"status": "TODO"
},
"CRaceData::GetAttachingDataCount": {
"status": "TODO"
},
"CRaceData::GetAttachingDataPointer": {
"status": "TODO"
},
"CRaceData::GetCollisionDataPointer": {
"status": "TODO"
},
"CRaceData::GetBodyCollisionDataPointer": {
"status": "TODO"
},
"CRaceData::SetRace": {
"status": "TODO"
},
"CRaceData::RegisterAttachingBoneName": {
"status": "TODO"
},
"CRaceData::RegisterMotionMode": {
"status": "TODO"
},
"CRaceData::NEW_RegisterMotion": {
"status": "TODO"
},
"CRaceData::RegisterMotionData": {
"status": "TODO"
},
"CRaceData::OLD_RegisterMotion": {
"status": "TODO"
},
"CRaceData::__OLD_RegisterMotion": {
"status": "TODO"
},
"CRaceData::SetMotionRandomWeight": {
"status": "TODO"
},
"CRaceData::RegisterNormalAttack": {
"status": "TODO"
},
"CRaceData::GetNormalAttackIndex": {
"status": "TODO"
},
"CRaceData::ReserveComboAttack": {
"status": "TODO"
},
"CRaceData::RegisterComboAttack": {
"status": "TODO"
},
"CRaceData::GetComboDataPointer": {
"status": "TODO"
},
"CRaceData::GetBaseModelFileName": {
"status": "TODO"
},
"CRaceData::GetAttributeFileName": {
"status": "TODO"
},
"CRaceData::GetMotionListFileName": {
"status": "TODO"
},
"CRaceData::GetBaseModelThing": {
"status": "TODO"
},
"CRaceData::GetLODModelThing": {
"status": "TODO"
},
"CRaceData::GetAttributeDataPtr": {
"status": "TODO"
},
"CRaceData::GetAttachingBoneName": {
"status": "TODO"
},
"CRaceData::IsTree": {
"status": "TODO"
},
"CRaceData::GetTreeFileName": {
"status": "TODO"
},
"CRaceData::Destroy": {
"status": "TODO"
},
"CRaceData::__Initialize": {
"status": "TODO"
},
"CRaceData::CRaceData": {
"status": "TODO"
},
"CRaceData::~CRaceData": {
"status": "TODO"
}
}
}
@@ -0,0 +1,65 @@
{
"reference": "GameLib/RaceManager.cpp",
"reference_sha256": "52f446872e4619da00b4e1a1790c181aad0a5ef0dc48e7016d3fab3d53a81f2c",
"priority": "P4",
"contracts": [],
"functions": {
"__IsGuildRace": {
"status": "TODO"
},
"__IsNPCRace": {
"status": "TODO"
},
"__GetRaceResourcePathes": {
"status": "TODO"
},
"CRaceManager::__LoadRaceData": {
"status": "TODO"
},
"CRaceManager::__LoadRaceMotionList": {
"status": "TODO"
},
"CRaceManager::RegisterRaceSrcName": {
"status": "TODO"
},
"CRaceManager::RegisterRaceName": {
"status": "TODO"
},
"CRaceManager::CreateRace": {
"status": "TODO"
},
"CRaceManager::SelectRace": {
"status": "TODO"
},
"CRaceManager::GetSelectedRaceDataPointer": {
"status": "TODO"
},
"CRaceManager::GetRaceDataPointer": {
"status": "TODO"
},
"CRaceManager::SetPathName": {
"status": "TODO"
},
"CRaceManager::GetFullPathFileName": {
"status": "TODO"
},
"CRaceManager::Create": {
"status": "TODO"
},
"CRaceManager::__Initialize": {
"status": "TODO"
},
"CRaceManager::__DestroyRaceDataMap": {
"status": "TODO"
},
"CRaceManager::Destroy": {
"status": "TODO"
},
"CRaceManager::CRaceManager": {
"status": "TODO"
},
"CRaceManager::~CRaceManager": {
"status": "TODO"
}
}
}