{ "reference": "GameLib/MapOutdoorCharacterShadow.cpp", "reference_sha256": "9d8b6f7d0271d13cc7d6209e34ccac1f6ca52b22606ede69348ee2b2a6dd35c6", "priority": "P4", "contracts": [], "functions": { "CMapOutdoor::SetShadowTextureSize": { "status": "ADAPTED", "impl": [ "extension/src/platform/GameLib/MapOutdoorCharacterShadow.cpp:CMapOutdoor::SetShadowTextureSize" ], "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": { "status": "ADAPTED", "impl": [ "extension/src/platform/GameLib/MapOutdoorCharacterShadow.cpp:CMapOutdoor::CreateCharacterShadowTexture" ], "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": { "status": "ADAPTED", "impl": [ "extension/src/platform/GameLib/MapOutdoorCharacterShadow.cpp:CMapOutdoor::ReleaseCharacterShadowTexture" ], "note": "40250 shadow texture release retained for the native offscreen pass.", "test": "extension/tests/port_login_flow_test.cpp" }, "CMapOutdoor::BeginRenderCharacterShadowToTexture": { "status": "NEEDS_LIVE", "impl": [ "extension/src/platform/GameLib/MapOutdoorCharacterShadow.cpp:CMapOutdoor::BeginRenderCharacterShadowToTexture" ], "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": "NEEDS_LIVE", "impl": [ "extension/src/platform/GameLib/MapOutdoorCharacterShadow.cpp:CMapOutdoor::EndRenderCharacterShadowToTexture" ], "note": "Restores the 40250 viewport, render target, light state and transforms after the shadow pass; matched Windows screenshot parity remains open." } } }