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"
}
}
}