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,194 @@
{
"reference": "UserInterface/PythonChatModule.cpp",
"reference_sha256": "e8072051ae8777a6f85afe1b322c30488e274c15d7d69c78b8779581154710db",
"priority": "P3",
"contracts": [],
"functions": {
"chatSetChatColor": {
"status": "PORTED",
"impl": [
"extension/src/port/UserInterface/PythonChatModule.cpp:chatSetChatColor"
]
},
"chatClear": {
"status": "PORTED",
"impl": [
"extension/src/port/UserInterface/PythonChatModule.cpp:chatClear"
]
},
"chatClose": {
"status": "PORTED",
"impl": [
"extension/src/port/UserInterface/PythonChatModule.cpp:chatClose"
]
},
"chatCreateChatSet": {
"status": "PORTED",
"impl": [
"extension/src/port/UserInterface/PythonChatModule.cpp:chatCreateChatSet"
]
},
"chatUpdate": {
"status": "PORTED",
"impl": [
"extension/src/port/UserInterface/PythonChatModule.cpp:chatUpdate"
]
},
"chatRender": {
"status": "PORTED",
"impl": [
"extension/src/port/UserInterface/PythonChatModule.cpp:chatRender"
]
},
"chatSetBoardState": {
"status": "PORTED",
"impl": [
"extension/src/port/UserInterface/PythonChatModule.cpp:chatSetBoardState"
]
},
"chatSetPosition": {
"status": "PORTED",
"impl": [
"extension/src/port/UserInterface/PythonChatModule.cpp:chatSetPosition"
]
},
"chatSetHeight": {
"status": "PORTED",
"impl": [
"extension/src/port/UserInterface/PythonChatModule.cpp:chatSetHeight"
]
},
"chatSetStep": {
"status": "PORTED",
"impl": [
"extension/src/port/UserInterface/PythonChatModule.cpp:chatSetStep"
]
},
"chatToggleChatMode": {
"status": "PORTED",
"impl": [
"extension/src/port/UserInterface/PythonChatModule.cpp:chatToggleChatMode"
]
},
"chatEnableChatMode": {
"status": "PORTED",
"impl": [
"extension/src/port/UserInterface/PythonChatModule.cpp:chatEnableChatMode"
]
},
"chatDisableChatMode": {
"status": "PORTED",
"impl": [
"extension/src/port/UserInterface/PythonChatModule.cpp:chatDisableChatMode"
]
},
"chatSetEndPos": {
"status": "PORTED",
"impl": [
"extension/src/port/UserInterface/PythonChatModule.cpp:chatSetEndPos"
]
},
"chatGetLineCount": {
"status": "PORTED",
"impl": [
"extension/src/port/UserInterface/PythonChatModule.cpp:chatGetLineCount"
]
},
"chatGetVisibleLineCount": {
"status": "PORTED",
"impl": [
"extension/src/port/UserInterface/PythonChatModule.cpp:chatGetVisibleLineCount"
]
},
"chatGetLineStep": {
"status": "PORTED",
"impl": [
"extension/src/port/UserInterface/PythonChatModule.cpp:chatGetLineStep"
]
},
"chatAppendChat": {
"status": "PORTED",
"impl": [
"extension/src/port/UserInterface/PythonChatModule.cpp:chatAppendChat"
]
},
"chatAppendChatWithDelay": {
"status": "PORTED",
"impl": [
"extension/src/port/UserInterface/PythonChatModule.cpp:chatAppendChatWithDelay"
]
},
"chatArrangeShowingChat": {
"status": "PORTED",
"impl": [
"extension/src/port/UserInterface/PythonChatModule.cpp:chatArrangeShowingChat"
]
},
"chatIgnoreCharacter": {
"status": "PORTED",
"impl": [
"extension/src/port/UserInterface/PythonChatModule.cpp:chatIgnoreCharacter"
]
},
"chatIsIgnoreCharacter": {
"status": "PORTED",
"impl": [
"extension/src/port/UserInterface/PythonChatModule.cpp:chatIsIgnoreCharacter"
]
},
"chatCreateWhisper": {
"status": "PORTED",
"impl": [
"extension/src/port/UserInterface/PythonChatModule.cpp:chatCreateWhisper"
]
},
"chatAppendWhisper": {
"status": "PORTED",
"impl": [
"extension/src/port/UserInterface/PythonChatModule.cpp:chatAppendWhisper"
]
},
"chatRenderWhisper": {
"status": "PORTED",
"impl": [
"extension/src/port/UserInterface/PythonChatModule.cpp:chatRenderWhisper"
]
},
"chatSetWhisperBoxSize": {
"status": "PORTED",
"impl": [
"extension/src/port/UserInterface/PythonChatModule.cpp:chatSetWhisperBoxSize"
]
},
"chatSetWhisperPosition": {
"status": "PORTED",
"impl": [
"extension/src/port/UserInterface/PythonChatModule.cpp:chatSetWhisperPosition"
]
},
"chatClearWhisper": {
"status": "PORTED",
"impl": [
"extension/src/port/UserInterface/PythonChatModule.cpp:chatClearWhisper"
]
},
"chatInitWhisper": {
"status": "PORTED",
"impl": [
"extension/src/port/UserInterface/PythonChatModule.cpp:chatInitWhisper"
]
},
"chatGetLinkFromHyperlink": {
"status": "PORTED",
"impl": [
"extension/src/port/UserInterface/PythonChatModule.cpp:chatGetLinkFromHyperlink"
]
},
"initChat": {
"status": "PORTED",
"impl": [
"extension/src/port/UserInterface/PythonChatModule.cpp:initChat"
]
}
}
}