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,170 @@
{
"reference": "UserInterface/PythonCharacterManager.cpp",
"reference_sha256": "040f89aab5ec5f07f11ec290bdacda47c46f2fe7f584ec0e5be312060c29f9a7",
"priority": "P0",
"contracts": [],
"functions": {
"CPythonCharacterManager::AdjustCollisionWithOtherObjects": {
"status": "TODO"
},
"CPythonCharacterManager::EnableSortRendering": {
"status": "TODO"
},
"CPythonCharacterManager::InsertPVPKey": {
"status": "TODO"
},
"CPythonCharacterManager::RemovePVPKey": {
"status": "TODO"
},
"CPythonCharacterManager::ChangeGVG": {
"status": "TODO"
},
"CPythonCharacterManager::ClearMainInstance": {
"status": "TODO"
},
"CPythonCharacterManager::SetMainInstance": {
"status": "TODO"
},
"CPythonCharacterManager::GetMainInstancePtr": {
"status": "TODO"
},
"CPythonCharacterManager::GetInfo": {
"status": "TODO"
},
"CPythonCharacterManager::IsCacheMode": {
"status": "TODO"
},
"CPythonCharacterManager::Update": {
"status": "TODO"
},
"CPythonCharacterManager::ShowPointEffect": {
"status": "TODO"
},
"CPythonCharacterManager::RegisterPointEffect": {
"status": "TODO"
},
"CPythonCharacterManager::UpdateTransform": {
"status": "TODO"
},
"CPythonCharacterManager::UpdateDeleting": {
"status": "TODO"
},
"CPythonCharacterManager::Deform": {
"status": "TODO"
},
"CPythonCharacterManager::OLD_GetPickedInstanceVID": {
"status": "TODO"
},
"CPythonCharacterManager::OLD_GetPickedInstancePtr": {
"status": "TODO"
},
"CPythonCharacterManager::OLD_GetPickedInstPosReference": {
"status": "TODO"
},
"CPythonCharacterManager::IsRegisteredVID": {
"status": "TODO"
},
"CPythonCharacterManager::IsAliveVID": {
"status": "TODO"
},
"CPythonCharacterManager::IsDeadVID": {
"status": "TODO"
},
"CPythonCharacterManager::__RenderSortedAliveActorList": {
"status": "TODO"
},
"CPythonCharacterManager::__RenderSortedDeadActorList": {
"status": "TODO"
},
"CPythonCharacterManager::Render": {
"status": "TODO"
},
"CPythonCharacterManager::RenderShadowMainInstance": {
"status": "TODO"
},
"CPythonCharacterManager::RenderShadowAllInstances": {
"status": "TODO"
},
"CPythonCharacterManager::RenderCollision": {
"status": "TODO"
},
"CPythonCharacterManager::CreateInstance": {
"status": "TODO"
},
"CPythonCharacterManager::RegisterInstance": {
"status": "TODO"
},
"CPythonCharacterManager::DeleteInstance": {
"status": "TODO"
},
"CPythonCharacterManager::__DeleteBlendOutInstance": {
"status": "TODO"
},
"CPythonCharacterManager::DeleteInstanceByFade": {
"status": "TODO"
},
"CPythonCharacterManager::SelectInstance": {
"status": "TODO"
},
"CPythonCharacterManager::GetInstancePtr": {
"status": "TODO"
},
"CPythonCharacterManager::GetInstancePtrByName": {
"status": "TODO"
},
"CPythonCharacterManager::GetSelectedInstancePtr": {
"status": "TODO"
},
"CPythonCharacterManager::FindClickableInstancePtr": {
"status": "TODO"
},
"CPythonCharacterManager::__UpdateSortPickedActorList": {
"status": "TODO"
},
"CPythonCharacterManager::__UpdatePickedActorList": {
"status": "TODO"
},
"CPythonCharacterManager::__SortPickedActorList": {
"status": "TODO"
},
"CPythonCharacterManager::__NEW_Pick": {
"status": "TODO"
},
"CPythonCharacterManager::__OLD_Pick": {
"status": "TODO"
},
"CPythonCharacterManager::PickAll": {
"status": "TODO"
},
"CPythonCharacterManager::GetCloseInstance": {
"status": "TODO"
},
"CPythonCharacterManager::RefreshAllPCTextTail": {
"status": "TODO"
},
"CPythonCharacterManager::RefreshAllGuildMark": {
"status": "TODO"
},
"CPythonCharacterManager::DeleteAllInstances": {
"status": "TODO"
},
"CPythonCharacterManager::DestroyAliveInstanceMap": {
"status": "TODO"
},
"CPythonCharacterManager::DestroyDeadInstanceList": {
"status": "TODO"
},
"CPythonCharacterManager::Destroy": {
"status": "TODO"
},
"CPythonCharacterManager::__Initialize": {
"status": "TODO"
},
"CPythonCharacterManager::CPythonCharacterManager": {
"status": "TODO"
},
"CPythonCharacterManager::~CPythonCharacterManager": {
"status": "TODO"
}
}
}