render parity unit I: 40250 PythonGraphic SetGamma, cooldown fan, up/down buttons

SetGamma, RenderCoolTimeBox, RenderUp/DownButton and GetAvailableMemory are
transliterated from 40250 in place of stubs. The cooldown fan is emitted as
untextured polygon UI commands (native_render + python_ui_surface.gd draw
Bar+quad as a polygon); D3D8 shim gains SetGammaRamp/D3DGAMMARAMP.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
shenlei
2026-09-28 14:17:27 +09:00
co-authored by Claude Opus 5.5
parent d3fd5f8613
commit 0e8a1574cb
8 changed files with 298 additions and 21 deletions
+11
View File
@@ -687,6 +687,16 @@ typedef struct _D3DCAPS8
} D3DCAPS8;
#define D3DDEVCAPS_HWTRANSFORMANDLIGHT 0x00010000L
#define D3DCAPS2_FULLSCREENGAMMA 0x00020000L
typedef struct _D3DGAMMARAMP
{
WORD red[256];
WORD green[256];
WORD blue[256];
} D3DGAMMARAMP;
#define D3DSGR_NO_CALIBRATION 0x00000000L
#define D3DSGR_CALIBRATE 0x00000001L
#define D3DPTFILTERCAPS_MINFANISOTROPIC 0x00000400L
#define D3DPTFILTERCAPS_MAGFANISOTROPIC 0x04000000L
#define D3DPTADDRESSCAPS_WRAP 0x00000001L
@@ -802,6 +812,7 @@ struct IDirect3DDevice8
virtual HRESULT GetViewport(D3DVIEWPORT8* pViewport) = 0;
virtual HRESULT SetViewport(const D3DVIEWPORT8* pViewport) = 0;
virtual UINT GetAvailableTextureMem() = 0;
virtual void SetGammaRamp(DWORD Flags, const D3DGAMMARAMP* pRamp) = 0;
virtual HRESULT BeginScene() = 0;
virtual HRESULT EndScene() = 0;
virtual HRESULT SetTransform(D3DTRANSFORMSTATETYPE State, const D3DMATRIX* pMatrix) = 0;