layout: restructure into src/ tests/ android/ scripts/ tools/

- extension/src/{port,platform,codepage} -> src/; native_render -> src/host
  (+ dxt, shaders/); libgr2 -> src/gr2; extension/third_party -> third_party
- extension/tests -> tests/port, libgr2/tests -> tests/gr2
- android-native -> android (build.sh, push-client.sh moved in)
- script -> scripts; tools/40250 -> tools/server; oracle -> tools/granny-oracle;
  perf tools -> tools/perf
- all build trees under build/ (native, release, android, port-gate)
- xrender:: CMake aliases -> mt::; port-map ledger impl paths rewritten

No code changes. ctest 15/15, port_gate macos+android PASS, port_map check 0 errors.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
shenlei
2026-09-29 19:08:19 +09:00
co-authored by Claude Opus 5.5
parent 70710477cf
commit a46093104c
2817 changed files with 13728 additions and 13744 deletions
@@ -15,138 +15,138 @@
"CPythonApplication::GetMousePosition": {
"status": "ADAPTED",
"impl": [
"extension/src/platform/UserInterface/PythonApplication.cpp:CPythonApplication::GetMousePosition"
"src/platform/UserInterface/PythonApplication.cpp:CPythonApplication::GetMousePosition"
],
"note": "40250 CPythonApplication lifecycle and state adapted for platform host and singletons",
"test": "extension/tests/port_login_flow_test.cpp"
"test": "tests/port/port_login_flow_test.cpp"
},
"CPythonApplication::SetMinFog": {
"status": "ADAPTED",
"impl": [
"extension/src/platform/UserInterface/PythonApplication.cpp:CPythonApplication::SetMinFog"
"src/platform/UserInterface/PythonApplication.cpp:CPythonApplication::SetMinFog"
],
"test": "extension/tests/port_login_flow_test.cpp",
"test": "tests/port/port_login_flow_test.cpp",
"note": "40250 body verbatim in the platform layer."
},
"CPythonApplication::SetFrameSkip": {
"status": "ADAPTED",
"impl": [
"extension/src/platform/UserInterface/PythonApplication.cpp:CPythonApplication::SetFrameSkip"
"src/platform/UserInterface/PythonApplication.cpp:CPythonApplication::SetFrameSkip"
],
"note": "40250 CPythonApplication lifecycle and state adapted for platform host and singletons",
"test": "extension/tests/port_login_flow_test.cpp"
"test": "tests/port/port_login_flow_test.cpp"
},
"CPythonApplication::NotifyHack": {
"status": "ADAPTED",
"impl": [
"extension/src/platform/UserInterface/PythonApplication.cpp:CPythonApplication::NotifyHack"
"src/platform/UserInterface/PythonApplication.cpp:CPythonApplication::NotifyHack"
],
"note": "40250 CPythonApplication lifecycle and state adapted for platform host and singletons",
"test": "extension/tests/port_login_flow_test.cpp"
"test": "tests/port/port_login_flow_test.cpp"
},
"CPythonApplication::GetInfo": {
"status": "ADAPTED",
"impl": [
"extension/src/platform/UserInterface/PythonApplication.cpp:CPythonApplication::GetInfo"
"src/platform/UserInterface/PythonApplication.cpp:CPythonApplication::GetInfo"
],
"note": "40250 CPythonApplication lifecycle and state adapted for platform host and singletons",
"test": "extension/tests/port_login_flow_test.cpp"
"test": "tests/port/port_login_flow_test.cpp"
},
"CPythonApplication::Abort": {
"status": "ADAPTED",
"impl": [
"extension/src/platform/UserInterface/PythonApplication.cpp:CPythonApplication::Abort"
"src/platform/UserInterface/PythonApplication.cpp:CPythonApplication::Abort"
],
"note": "40250 CPythonApplication lifecycle and state adapted for platform host and singletons",
"test": "extension/tests/port_login_flow_test.cpp"
"test": "tests/port/port_login_flow_test.cpp"
},
"CPythonApplication::Exit": {
"status": "ADAPTED",
"impl": [
"extension/src/platform/UserInterface/PythonApplication.cpp:CPythonApplication::Exit"
"src/platform/UserInterface/PythonApplication.cpp:CPythonApplication::Exit"
],
"note": "40250 CPythonApplication lifecycle and state adapted for platform host and singletons",
"test": "extension/tests/port_login_flow_test.cpp"
"test": "tests/port/port_login_flow_test.cpp"
},
"CPythonApplication::RenderGame": {
"status": "ADAPTED",
"impl": [
"extension/src/platform/UserInterface/PythonApplication.cpp:CPythonApplication::RenderGame"
"src/platform/UserInterface/PythonApplication.cpp:CPythonApplication::RenderGame"
],
"test": "extension/tests/port_login_flow_test.cpp",
"test": "tests/port/port_login_flow_test.cpp",
"note": "40250's !PERF_CHECKER_RENDER_GAME branch line for line, members reached through their singletons; the perf-timing branch (PERF_CHECKER_RENDER_GAME is FALSE) is left out."
},
"CPythonApplication::UpdateGame": {
"status": "ADAPTED",
"impl": [
"extension/src/platform/UserInterface/PythonApplication.cpp:CPythonApplication::UpdateGame"
"src/platform/UserInterface/PythonApplication.cpp:CPythonApplication::UpdateGame"
],
"test": "extension/tests/port_login_flow_test.cpp",
"test": "tests/port/port_login_flow_test.cpp",
"note": "40250 body through the singletons, minus the __PERFORMANCE_CHECK__/PERF_CHECKER timing. An invented CScreen::SetCursorPosition in the perspective block was removed (unit J): as in 40250 the pick ray comes from RenderGame's SetCursorPosition."
},
"CPythonApplication::SkipRenderBuffering": {
"status": "ADAPTED",
"impl": [
"extension/src/platform/UserInterface/PythonApplication.cpp:CPythonApplication::SkipRenderBuffering"
"src/platform/UserInterface/PythonApplication.cpp:CPythonApplication::SkipRenderBuffering"
],
"test": "extension/tests/port_login_flow_test.cpp",
"test": "tests/port/port_login_flow_test.cpp",
"note": "40250 body verbatim in the platform layer."
},
"CPythonApplication::Process": {
"status": "ADAPTED",
"impl": [
"extension/src/platform/UserInterface/PythonApplication.cpp:CPythonApplication::Process"
"src/platform/UserInterface/PythonApplication.cpp:CPythonApplication::Process"
],
"test": "extension/tests/port_login_flow_test.cpp",
"test": "tests/port/port_login_flow_test.cpp",
"note": "Frame order as 40250 (network, account connector, camera, resource, mouse/UI update, specular, culling, Begin/UI/mouse render/End). Left out: guild mark up/download (not ported), lost-device restore, ClearDepthBuffer/Show (host presents), frame-skip timing/Sleep (host paces frames), FPS counters, and the !IsActive() SkipRenderBuffering(3000) (CMSWindow::IsActive is a stub). Unit J restored 40250:741-842: render time, face count, frame buffering average and the automatic sight range (SetViewDistanceSet(0, ...): 25600 under 5000 faces, else MIN_FOG..25600 scaled by render time, or the forced range), with a PORT guard on the face-speed division. Fog/far-clip effect NEEDS_LIVE against the reference frame."
},
"CPythonApplication::UpdateClientRect": {
"status": "ADAPTED",
"impl": [
"extension/src/platform/UserInterface/PythonApplication.cpp:CPythonApplication::UpdateClientRect"
"src/platform/UserInterface/PythonApplication.cpp:CPythonApplication::UpdateClientRect"
],
"note": "40250 CPythonApplication lifecycle and state adapted for platform host and singletons",
"test": "extension/tests/port_login_flow_test.cpp"
"test": "tests/port/port_login_flow_test.cpp"
},
"CPythonApplication::SetMouseHandler": {
"status": "ADAPTED",
"impl": [
"extension/src/platform/UserInterface/PythonApplication.cpp:SetMouseHandler"
"src/platform/UserInterface/PythonApplication.cpp:SetMouseHandler"
],
"note": "Body verbatim on a file-static m_poMouseHandler (no application object yet); SetCursorNum calls its ChangeCursor.",
"test": "extension/tests/port_login_flow_test.cpp (step 10)"
"test": "tests/port/port_login_flow_test.cpp (step 10)"
},
"CPythonApplication::CheckDeviceState": {
"status": "ADAPTED",
"impl": [
"extension/src/platform/UserInterface/PythonApplication.cpp:CPythonApplication::CheckDeviceState"
"src/platform/UserInterface/PythonApplication.cpp:CPythonApplication::CheckDeviceState"
],
"note": "40250 CPythonApplication lifecycle and state adapted for platform host and singletons",
"test": "extension/tests/port_login_flow_test.cpp"
"test": "tests/port/port_login_flow_test.cpp"
},
"CPythonApplication::CreateDevice": {
"status": "ADAPTED",
"impl": [
"extension/src/platform/UserInterface/PythonApplication.cpp:CPythonApplication::CreateDevice"
"src/platform/UserInterface/PythonApplication.cpp:CPythonApplication::CreateDevice"
],
"note": "40250 CPythonApplication lifecycle and state adapted for platform host and singletons",
"test": "extension/tests/port_login_flow_test.cpp"
"test": "tests/port/port_login_flow_test.cpp"
},
"CPythonApplication::Loop": {
"status": "ADAPTED",
"impl": [
"extension/src/platform/UserInterface/PythonApplication.cpp:CPythonApplication::Loop"
"src/platform/UserInterface/PythonApplication.cpp:CPythonApplication::Loop"
],
"note": "40250 CPythonApplication lifecycle and state adapted for platform host and singletons",
"test": "extension/tests/port_login_flow_test.cpp"
"test": "tests/port/port_login_flow_test.cpp"
},
"LoadLocaleData": {
"status": "ADAPTED",
"impl": [
"extension/src/platform/UserInterface/PythonApplication.cpp:LoadLocaleData"
"src/platform/UserInterface/PythonApplication.cpp:LoadLocaleData"
],
"note": "Body verbatim in the platform CPythonApplication stand-in (the class itself is not ported); it reads item/mob tables and CPythonSkill's skilldesc/skilltable.",
"test": "extension/tests/port_login_flow_test.cpp step 3c (port.login_flow / port.login_live: item 19 Sword+9, mob 101 Wild Dog, skill 1 Three-Way Cut cool time 12)"
"test": "tests/port/port_login_flow_test.cpp step 3c (port.login_flow / port.login_live: item 19 Sword+9, mob 101 Wild Dog, skill 1 Three-Way Cut cool time 12)"
},
"__GetWindowMode": {
"status": "N_A",
@@ -155,151 +155,151 @@
"CPythonApplication::Create": {
"status": "ADAPTED",
"impl": [
"extension/src/platform/UserInterface/PythonApplication.cpp:CPythonApplication::Create"
"src/platform/UserInterface/PythonApplication.cpp:CPythonApplication::Create"
],
"note": "40250 CPythonApplication lifecycle and state adapted for platform host and singletons; m_LightManager.Initialize() (40250 :1263) now called; Destroy() still empty (m_LightManager.Destroy at 40250 :1418 not yet mirrored); 40250 :1196-1251 tiling selection mirrored (SOFTWARE_TILING cfg → GRAPHICS_CAPS_SOFTWARE_TILING before device create, auto tiling IsFastTNL ? HTP : STP via ReserveSoftwareTilingEnable, !IsFastTNL → CGrannyLODController::SetMinLODMode(true)); RecordingDevice caps report VS 1.1 + CLIPTLVERTS so auto picks HTP",
"test": "extension/tests/port_login_flow_test.cpp"
"test": "tests/port/port_login_flow_test.cpp"
},
"CPythonApplication::SetGlobalCenterPosition": {
"status": "ADAPTED",
"impl": [
"extension/src/platform/UserInterface/PythonApplication.cpp:CPythonApplication::SetGlobalCenterPosition"
"src/platform/UserInterface/PythonApplication.cpp:CPythonApplication::SetGlobalCenterPosition"
],
"note": "40250 GlobalPositionToLocalPosition -> GetHeight -> SetCenterPosition order preserved in platform host; exercised by port.login_flow and python_game_render_test.",
"test": "extension/tests/port_login_flow_test.cpp"
"test": "tests/port/port_login_flow_test.cpp"
},
"CPythonApplication::SetCenterPosition": {
"status": "ADAPTED",
"impl": [
"extension/src/platform/UserInterface/PythonApplicationCamera.cpp:CPythonApplication::SetCenterPosition"
"src/platform/UserInterface/PythonApplicationCamera.cpp:CPythonApplication::SetCenterPosition"
],
"note": "40250 camera state adapted on platform ApplicationCamera structure",
"test": "extension/tests/port_login_flow_test.cpp (step 8, 9)"
"test": "tests/port/port_login_flow_test.cpp (step 8, 9)"
},
"CPythonApplication::GetCenterPosition": {
"status": "ADAPTED",
"impl": [
"extension/src/platform/UserInterface/PythonApplicationCamera.cpp:CPythonApplication::GetCenterPosition"
"src/platform/UserInterface/PythonApplicationCamera.cpp:CPythonApplication::GetCenterPosition"
],
"note": "40250 camera state adapted on platform ApplicationCamera structure",
"test": "extension/tests/port_login_flow_test.cpp (step 8, 9)"
"test": "tests/port/port_login_flow_test.cpp (step 8, 9)"
},
"CPythonApplication::SetServerTime": {
"status": "ADAPTED",
"impl": [
"extension/src/platform/UserInterface/PythonApplication.cpp:CPythonApplication::SetServerTime"
"src/platform/UserInterface/PythonApplication.cpp:CPythonApplication::SetServerTime"
],
"note": "GC_TIME sets the server time, local ELTimer millisecond base and wall-clock base in ServerClock; platform host routes IAbstractApplication::SetServerTime here.",
"test": "extension/tests/port_login_flow_test.cpp"
"test": "tests/port/port_login_flow_test.cpp"
},
"CPythonApplication::GetServerTime": {
"status": "ADAPTED",
"impl": [
"extension/src/platform/UserInterface/PythonApplication.cpp:CPythonApplication::GetServerTime"
"src/platform/UserInterface/PythonApplication.cpp:CPythonApplication::GetServerTime"
],
"note": "Returns 40250 server millisecond base plus wrapped ELTimer elapsed milliseconds; port.login_flow checks the fake GC_TIME replaces a sentinel.",
"test": "extension/tests/port_login_flow_test.cpp"
"test": "tests/port/port_login_flow_test.cpp"
},
"CPythonApplication::GetServerTimeStamp": {
"status": "ADAPTED",
"impl": [
"extension/src/platform/UserInterface/PythonApplication.cpp:CPythonApplication::GetServerTimeStamp"
"src/platform/UserInterface/PythonApplication.cpp:CPythonApplication::GetServerTimeStamp"
],
"note": "Returns 40250 server base plus wall-clock elapsed seconds; port.login_flow checks the fake GC_TIME replaces a sentinel.",
"test": "extension/tests/port_login_flow_test.cpp"
"test": "tests/port/port_login_flow_test.cpp"
},
"CPythonApplication::GetGlobalTime": {
"status": "ADAPTED",
"impl": [
"extension/src/platform/UserInterface/PythonApplication.cpp:CPythonApplication::GetGlobalTime"
"src/platform/UserInterface/PythonApplication.cpp:CPythonApplication::GetGlobalTime"
],
"note": "40250 CPythonApplication lifecycle and state adapted for platform host and singletons",
"test": "extension/tests/port_login_flow_test.cpp"
"test": "tests/port/port_login_flow_test.cpp"
},
"CPythonApplication::GetGlobalElapsedTime": {
"status": "ADAPTED",
"impl": [
"extension/src/platform/UserInterface/PythonApplication.cpp:CPythonApplication::GetGlobalElapsedTime"
"src/platform/UserInterface/PythonApplication.cpp:CPythonApplication::GetGlobalElapsedTime"
],
"note": "40250 CPythonApplication lifecycle and state adapted for platform host and singletons",
"test": "extension/tests/port_login_flow_test.cpp"
"test": "tests/port/port_login_flow_test.cpp"
},
"CPythonApplication::SetFPS": {
"status": "ADAPTED",
"impl": [
"extension/src/platform/UserInterface/PythonApplication.cpp:CPythonApplication::SetFPS"
"src/platform/UserInterface/PythonApplication.cpp:CPythonApplication::SetFPS"
],
"note": "40250 CPythonApplication lifecycle and state adapted for platform host and singletons",
"test": "extension/tests/port_login_flow_test.cpp"
"test": "tests/port/port_login_flow_test.cpp"
},
"CPythonApplication::GetWidth": {
"status": "ADAPTED",
"impl": [
"extension/src/platform/UserInterface/PythonApplication.cpp:CPythonApplication::GetWidth"
"src/platform/UserInterface/PythonApplication.cpp:CPythonApplication::GetWidth"
],
"note": "40250 CPythonApplication lifecycle and state adapted for platform host and singletons",
"test": "extension/tests/port_login_flow_test.cpp"
"test": "tests/port/port_login_flow_test.cpp"
},
"CPythonApplication::GetHeight": {
"status": "ADAPTED",
"impl": [
"extension/src/platform/UserInterface/PythonApplication.cpp:CPythonApplication::GetHeight"
"src/platform/UserInterface/PythonApplication.cpp:CPythonApplication::GetHeight"
],
"note": "40250 CPythonApplication lifecycle and state adapted for platform host and singletons",
"test": "extension/tests/port_login_flow_test.cpp"
"test": "tests/port/port_login_flow_test.cpp"
},
"CPythonApplication::SetConnectData": {
"status": "ADAPTED",
"impl": [
"extension/src/platform/UserInterface/PythonApplication.cpp:CPythonApplication::SetConnectData"
"src/platform/UserInterface/PythonApplication.cpp:CPythonApplication::SetConnectData"
],
"note": "40250 CPythonApplication lifecycle and state adapted for platform host and singletons",
"test": "extension/tests/port_login_flow_test.cpp"
"test": "tests/port/port_login_flow_test.cpp"
},
"CPythonApplication::GetConnectData": {
"status": "ADAPTED",
"impl": [
"extension/src/platform/UserInterface/PythonApplication.cpp:CPythonApplication::GetConnectData"
"src/platform/UserInterface/PythonApplication.cpp:CPythonApplication::GetConnectData"
],
"note": "40250 CPythonApplication lifecycle and state adapted for platform host and singletons",
"test": "extension/tests/port_login_flow_test.cpp"
"test": "tests/port/port_login_flow_test.cpp"
},
"CPythonApplication::EnableSpecialCameraMode": {
"status": "ADAPTED",
"impl": [
"extension/src/platform/UserInterface/PythonApplicationCamera.cpp:CPythonApplication::EnableSpecialCameraMode"
"src/platform/UserInterface/PythonApplicationCamera.cpp:CPythonApplication::EnableSpecialCameraMode"
],
"note": "40250 camera state adapted on platform ApplicationCamera structure",
"test": "extension/tests/port_login_flow_test.cpp (step 8, 9)"
"test": "tests/port/port_login_flow_test.cpp (step 8, 9)"
},
"CPythonApplication::SetCameraSpeed": {
"status": "ADAPTED",
"impl": [
"extension/src/platform/UserInterface/PythonApplicationCamera.cpp:CPythonApplication::SetCameraSpeed"
"src/platform/UserInterface/PythonApplicationCamera.cpp:CPythonApplication::SetCameraSpeed"
],
"note": "40250 camera state adapted on platform ApplicationCamera structure",
"test": "extension/tests/port_login_flow_test.cpp (step 8, 9)"
"test": "tests/port/port_login_flow_test.cpp (step 8, 9)"
},
"CPythonApplication::SetForceSightRange": {
"status": "ADAPTED",
"impl": [
"extension/src/platform/UserInterface/PythonApplication.cpp:CPythonApplication::SetForceSightRange"
"src/platform/UserInterface/PythonApplication.cpp:CPythonApplication::SetForceSightRange"
],
"note": "40250 body verbatim in the platform layer. m_iForceSightRange lives in the file-static s_iForceSightRange (initial -1 as the 40250 constructor sets) until the application object exists.",
"test": "extension/tests/port_login_flow_test.cpp"
"test": "tests/port/port_login_flow_test.cpp"
},
"CPythonApplication::Clear": {
"status": "ADAPTED",
"impl": [
"extension/src/platform/UserInterface/PythonApplication.cpp:CPythonApplication::Clear"
"src/platform/UserInterface/PythonApplication.cpp:CPythonApplication::Clear"
],
"note": "40250 CPythonApplication lifecycle and state adapted for platform host and singletons",
"test": "extension/tests/port_login_flow_test.cpp"
"test": "tests/port/port_login_flow_test.cpp"
},
"CPythonApplication::Destroy": {
"status": "DIVERGENT",
"impl": [
"extension/src/platform/UserInterface/PythonApplication.cpp:CPythonApplication::Destroy"
"src/platform/UserInterface/PythonApplication.cpp:CPythonApplication::Destroy"
],
"note": "Empty and never called: the host tears down through the singleton resets in PythonBoot::Stop, not 40250 Main's app->Destroy(). 40250's body (window manager, SaveConfig/SaveInterfaceStatus writing into the client dir, managers incl. m_LightManager.Destroy(), device) is not run; porting it needs Stop to call it with config writes redirected out of the 40250 client dir."
}