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,110 @@
{
"reference": "UserInterface/PythonNetworkStreamPhaseGameActor.cpp",
"reference_sha256": "b62fd266ef028167d4901469eaaa1c9119d993b67aa45c27527270d3ba9a5b0d",
"priority": "P2",
"contracts": [],
"functions": {
"CPythonNetworkStream::__GlobalPositionToLocalPosition": {
"status": "PORTED",
"impl": [
"extension/src/port/UserInterface/PythonNetworkStreamPhaseGameActor.cpp:CPythonNetworkStream::__GlobalPositionToLocalPosition"
]
},
"CPythonNetworkStream::__LocalPositionToGlobalPosition": {
"status": "PORTED",
"impl": [
"extension/src/port/UserInterface/PythonNetworkStreamPhaseGameActor.cpp:CPythonNetworkStream::__LocalPositionToGlobalPosition"
]
},
"CPythonNetworkStream::__CanActMainInstance": {
"status": "PORTED",
"impl": [
"extension/src/port/UserInterface/PythonNetworkStreamPhaseGameActor.cpp:CPythonNetworkStream::__CanActMainInstance"
]
},
"CPythonNetworkStream::__ClearNetworkActorManager": {
"status": "PORTED",
"impl": [
"extension/src/port/UserInterface/PythonNetworkStreamPhaseGameActor.cpp:CPythonNetworkStream::__ClearNetworkActorManager"
]
},
"__SetWeaponPower": {
"status": "PORTED",
"impl": [
"extension/src/port/UserInterface/PythonNetworkStreamPhaseGameActor.cpp:__SetWeaponPower"
]
},
"IsInvisibleRace": {
"status": "PORTED",
"impl": [
"extension/src/port/UserInterface/PythonNetworkStreamPhaseGameActor.cpp:IsInvisibleRace"
]
},
"CPythonNetworkStream::RecvCharacterAppendPacket": {
"status": "PORTED",
"impl": [
"extension/src/port/UserInterface/PythonNetworkStreamPhaseGameActor.cpp:CPythonNetworkStream::RecvCharacterAppendPacket"
]
},
"CPythonNetworkStream::RecvCharacterAdditionalInfo": {
"status": "PORTED",
"impl": [
"extension/src/port/UserInterface/PythonNetworkStreamPhaseGameActor.cpp:CPythonNetworkStream::RecvCharacterAdditionalInfo"
]
},
"CPythonNetworkStream::RecvCharacterAppendPacketNew": {
"status": "PORTED",
"impl": [
"extension/src/port/UserInterface/PythonNetworkStreamPhaseGameActor.cpp:CPythonNetworkStream::RecvCharacterAppendPacketNew"
]
},
"CPythonNetworkStream::RecvCharacterUpdatePacket": {
"status": "PORTED",
"impl": [
"extension/src/port/UserInterface/PythonNetworkStreamPhaseGameActor.cpp:CPythonNetworkStream::RecvCharacterUpdatePacket"
]
},
"CPythonNetworkStream::RecvCharacterUpdatePacketNew": {
"status": "PORTED",
"impl": [
"extension/src/port/UserInterface/PythonNetworkStreamPhaseGameActor.cpp:CPythonNetworkStream::RecvCharacterUpdatePacketNew"
]
},
"CPythonNetworkStream::__RecvCharacterAppendPacket": {
"status": "PORTED",
"impl": [
"extension/src/port/UserInterface/PythonNetworkStreamPhaseGameActor.cpp:CPythonNetworkStream::__RecvCharacterAppendPacket"
]
},
"CPythonNetworkStream::__RecvCharacterUpdatePacket": {
"status": "PORTED",
"impl": [
"extension/src/port/UserInterface/PythonNetworkStreamPhaseGameActor.cpp:CPythonNetworkStream::__RecvCharacterUpdatePacket"
]
},
"CPythonNetworkStream::RecvCharacterDeletePacket": {
"status": "PORTED",
"impl": [
"extension/src/port/UserInterface/PythonNetworkStreamPhaseGameActor.cpp:CPythonNetworkStream::RecvCharacterDeletePacket"
]
},
"CPythonNetworkStream::RecvCharacterMovePacket": {
"status": "PORTED",
"impl": [
"extension/src/port/UserInterface/PythonNetworkStreamPhaseGameActor.cpp:CPythonNetworkStream::RecvCharacterMovePacket"
]
},
"CPythonNetworkStream::RecvOwnerShipPacket": {
"status": "PORTED",
"impl": [
"extension/src/port/UserInterface/PythonNetworkStreamPhaseGameActor.cpp:CPythonNetworkStream::RecvOwnerShipPacket"
]
},
"CPythonNetworkStream::RecvSyncPositionPacket": {
"status": "PORTED",
"impl": [
"extension/src/port/UserInterface/PythonNetworkStreamPhaseGameActor.cpp:CPythonNetworkStream::RecvSyncPositionPacket"
]
}
}
}