feat: complete native client rendering parity updates

This commit is contained in:
shen
2026-09-27 19:44:41 -07:00
parent 9a9dc6d224
commit 25dd65f2ce
99 changed files with 21121 additions and 921 deletions
@@ -9,7 +9,7 @@
"impl": [
"extension/src/platform/GameLib/MapOutdoorCharacterShadow.cpp:CMapOutdoor::SetShadowTextureSize"
],
"note": "40250 body verbatim, kept in the platform file beside the render-to-texture pass it serves (Begin/End are platform no-ops).",
"note": "40250 shadow texture lifecycle in the platform file; Begin/End now run the light-view offscreen pass through the RecordingDevice CPU R5G6B5 target.",
"test": "extension/tests/port_login_flow_test.cpp"
},
"CMapOutdoor::CreateCharacterShadowTexture": {
@@ -17,7 +17,7 @@
"impl": [
"extension/src/platform/GameLib/MapOutdoorCharacterShadow.cpp:CMapOutdoor::CreateCharacterShadowTexture"
],
"note": "40250 body verbatim, kept in the platform file beside the render-to-texture pass it serves (Begin/End are platform no-ops).",
"note": "40250 shadow texture creation retained; the RecordingDevice now rasterizes its R5G6B5 render target and exposes the result as a memory texture.",
"test": "extension/tests/port_login_flow_test.cpp"
},
"CMapOutdoor::ReleaseCharacterShadowTexture": {
@@ -25,22 +25,22 @@
"impl": [
"extension/src/platform/GameLib/MapOutdoorCharacterShadow.cpp:CMapOutdoor::ReleaseCharacterShadowTexture"
],
"note": "40250 body verbatim, kept in the platform file beside the render-to-texture pass it serves (Begin/End are platform no-ops).",
"note": "40250 shadow texture release retained for the native offscreen pass.",
"test": "extension/tests/port_login_flow_test.cpp"
},
"CMapOutdoor::BeginRenderCharacterShadowToTexture": {
"status": "DIVERGENT",
"status": "NEEDS_LIVE",
"impl": [
"extension/src/platform/GameLib/MapOutdoorCharacterShadow.cpp:CMapOutdoor::BeginRenderCharacterShadowToTexture"
],
"note": "Returns false: the render-to-texture character shadow pass is not drawn (RecordingDevice drops off-screen render targets); callers skip the pass as when 40250 fails to begin it."
"note": "Restores 40250 light view, target, viewport and render states; the small R5G6B5 target is rasterized on CPU. Native fake-server capture contains nonwhite shadow pixels; matched Windows screenshot parity remains open."
},
"CMapOutdoor::EndRenderCharacterShadowToTexture": {
"status": "DIVERGENT",
"status": "NEEDS_LIVE",
"impl": [
"extension/src/platform/GameLib/MapOutdoorCharacterShadow.cpp:CMapOutdoor::EndRenderCharacterShadowToTexture"
],
"note": "No-op, paired with BeginRenderCharacterShadowToTexture returning false."
"note": "Restores the 40250 viewport, render target, light state and transforms after the shadow pass; matched Windows screenshot parity remains open."
}
}
}
@@ -9,17 +9,21 @@
"impl": [
"extension/src/platform/GameLib/MapOutdoorRenderHTP.cpp:CMapOutdoor::__RenderTerrain_RenderHardwareTransformPatch"
],
"note": "No-op: the Godot terrain adapter draws the height-field (PORT-PLAN §3); the D3D8 texture-stage splat passes have no recording-device counterpart."
"note": "Native path now follows 40250 near/mid/far patch distance bands, LOD 0/1/2, splat limit and fog-color far fill; Godot path stays adapted. Same-scene Windows color and image comparison remains open."
},
"CMapOutdoor::__HardwareTransformPatch_RenderPatchSplat": {
"status": "DIVERGENT",
"impl": [],
"note": "Not built: only called from __RenderTerrain_RenderHardwareTransformPatch, which is a no-op (Godot draws the terrain, PORT-PLAN §3)."
"impl": [
"extension/src/platform/GameLib/MapOutdoorRenderHTP.cpp:CMapOutdoor::__HardwareTransformPatch_RenderPatchSplat"
],
"note": "Native path draws 40250 terrain splat layers and static/character shadows; texture-0 fallback and state sequencing still differ from the reference and need matched image verification."
},
"CMapOutdoor::__HardwareTransformPatch_RenderPatchNone": {
"status": "DIVERGENT",
"impl": [],
"note": "Not built: only called from __RenderTerrain_RenderHardwareTransformPatch, which is a no-op (Godot draws the terrain, PORT-PLAN §3)."
"status": "NEEDS_LIVE",
"impl": [
"extension/src/platform/GameLib/MapOutdoorRenderHTP.cpp:CMapOutdoor::__HardwareTransformPatch_RenderPatchNone"
],
"note": "Native path now draws the far patch with the 40250 fog texture factor; matched Windows image comparison remains open."
}
}
}