port 2A step 4: platform skeleton + rest of the 2V3 header closure

- Mirror the remaining non-Python 2V3 closure headers (98 more, 173 total): EffectLib,
  EterGrnLib, SpeedTreeLib, SphereLib, PRTerrainLib, EterImageLib, EterBase/Poly, cipher/tea,
  EterLib Grp*/IME/Input/MSWindow/StateManager, GameLib actor/map/race headers, EterPack.
- SDK shims: granny.h, SpeedTreeRT.h, imm.h, Dimm.h (the SDK MIDL header, not mirrored),
  dinput/d3dx8 additions; D3D8 render-state enums, FVF macros and the COM resource hierarchy;
  more Win32 GDI/handle types with layout static_asserts.
- PORT edits for MSVC-permissive code (typename, friend visibility, <algorithm>, pointer→uintptr_t)
  and PRTerrainLib/StdAfx.h dropping the ScriptLib/Python include.
- port_logic links the vendored cryptopp/minilzo.
- extension/src/platform: port_platform target with 103 generated stub files (1917 function
  stubs, 146 static members) from the new platform_stub.py (clang -ast-dump-filter);
  MT_PLATFORM_STUB() marks every unimplemented body. libmtgodot links port_platform and
  port_gate.sh builds it.

Gate: macOS, Android, iOS, Windows (mingw) PASS; Linux BLOCKED (no toolchain).

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
shenlei
2026-09-22 21:46:24 +09:00
co-authored by Claude Opus 5
parent fc47582017
commit 9a8e11f3dd
220 changed files with 24287 additions and 25 deletions
@@ -0,0 +1,282 @@
// Platform skeleton for EterLib/GrpScreen.h (40250 EterLib/GrpScreen.cpp), generated by platform_stub.py.
// Every MT_PLATFORM_STUB() body is unimplemented: replace it with the platform implementation.
#include "EterLib/StdAfx.h"
#include "EterLib/GrpScreen.h"
#include "../PlatformStub.h"
CScreen::CScreen()
{
MT_PLATFORM_STUB();
}
CScreen::~CScreen()
{
MT_PLATFORM_STUB();
}
auto CScreen::ClearDepthBuffer() -> void
{
MT_PLATFORM_STUB();
}
auto CScreen::Clear() -> void
{
MT_PLATFORM_STUB();
}
auto CScreen::Begin() -> bool
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
}
auto CScreen::End() -> void
{
MT_PLATFORM_STUB();
}
auto CScreen::Show(HWND) -> void
{
MT_PLATFORM_STUB();
}
auto CScreen::Show(RECT *) -> void
{
MT_PLATFORM_STUB();
}
auto CScreen::Show(RECT *, HWND) -> void
{
MT_PLATFORM_STUB();
}
auto CScreen::RenderLine2d(float, float, float, float, float) -> void
{
MT_PLATFORM_STUB();
}
auto CScreen::RenderBox2d(float, float, float, float, float) -> void
{
MT_PLATFORM_STUB();
}
auto CScreen::RenderBar2d(float, float, float, float, float) -> void
{
MT_PLATFORM_STUB();
}
auto CScreen::RenderGradationBar2d(float, float, float, float, DWORD, DWORD, float) -> void
{
MT_PLATFORM_STUB();
}
auto CScreen::RenderCircle2d(float, float, float, float, int) -> void
{
MT_PLATFORM_STUB();
}
auto CScreen::RenderCircle3d(float, float, float, float, int) -> void
{
MT_PLATFORM_STUB();
}
auto CScreen::RenderLine3d(float, float, float, float, float, float) -> void
{
MT_PLATFORM_STUB();
}
auto CScreen::RenderBox3d(float, float, float, float, float, float) -> void
{
MT_PLATFORM_STUB();
}
auto CScreen::RenderBar3d(float, float, float, float, float, float) -> void
{
MT_PLATFORM_STUB();
}
auto CScreen::RenderBar3d(const D3DXVECTOR3 *) -> void
{
MT_PLATFORM_STUB();
}
auto CScreen::RenderGradationBar3d(float, float, float, float, float, float, DWORD, DWORD) -> void
{
MT_PLATFORM_STUB();
}
auto CScreen::RenderLineCube(float, float, float, float, float, float) -> void
{
MT_PLATFORM_STUB();
}
auto CScreen::RenderCube(float, float, float, float, float, float) -> void
{
MT_PLATFORM_STUB();
}
auto CScreen::RenderCube(float, float, float, float, float, float, D3DXMATRIX) -> void
{
MT_PLATFORM_STUB();
}
auto CScreen::RenderTextureBox(float, float, float, float, float, float, float, float, float) -> void
{
MT_PLATFORM_STUB();
}
auto CScreen::RenderBillboard(D3DXVECTOR3 *, D3DXCOLOR &) -> void
{
MT_PLATFORM_STUB();
}
auto CScreen::DrawMinorGrid(float, float, float, float, float, float, float) -> void
{
MT_PLATFORM_STUB();
}
auto CScreen::DrawGrid(float, float, float, float, float, float, float, float, float) -> void
{
MT_PLATFORM_STUB();
}
auto CScreen::RenderD3DXMesh(LPD3DXMESH, const D3DXMATRIX *, float, float, float, float, D3DFILLMODE) -> void
{
MT_PLATFORM_STUB();
}
auto CScreen::RenderSphere(const D3DXMATRIX *, float, float, float, float, D3DFILLMODE) -> void
{
MT_PLATFORM_STUB();
}
auto CScreen::RenderCylinder(const D3DXMATRIX *, float, float, float, float, float, D3DFILLMODE) -> void
{
MT_PLATFORM_STUB();
}
auto CScreen::SetColorOperation() -> void
{
MT_PLATFORM_STUB();
}
auto CScreen::SetDiffuseOperation() -> void
{
MT_PLATFORM_STUB();
}
auto CScreen::SetBlendOperation() -> void
{
MT_PLATFORM_STUB();
}
auto CScreen::SetOneColorOperation(D3DXCOLOR &) -> void
{
MT_PLATFORM_STUB();
}
auto CScreen::SetAddColorOperation(D3DXCOLOR &) -> void
{
MT_PLATFORM_STUB();
}
auto CScreen::SetDiffuseColor(DWORD) -> void
{
MT_PLATFORM_STUB();
}
auto CScreen::SetDiffuseColor(float, float, float, float) -> void
{
MT_PLATFORM_STUB();
}
auto CScreen::SetClearColor(float, float, float, float) -> void
{
MT_PLATFORM_STUB();
}
auto CScreen::SetClearDepth(float) -> void
{
MT_PLATFORM_STUB();
}
auto CScreen::SetClearStencil(DWORD) -> void
{
MT_PLATFORM_STUB();
}
auto CScreen::SetCursorPosition(int, int, int, int) -> void
{
MT_PLATFORM_STUB();
}
auto CScreen::GetCursorPosition(float *, float *, float *) -> bool
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
}
auto CScreen::GetCursorXYPosition(float *, float *) -> bool
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
}
auto CScreen::GetCursorZPosition(float *) -> bool
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
}
auto CScreen::GetPickingPosition(float, float *, float *, float *) -> void
{
MT_PLATFORM_STUB();
}
auto CScreen::ProjectPosition(float, float, float, float *, float *) -> void
{
MT_PLATFORM_STUB();
}
auto CScreen::ProjectPosition(float, float, float, float *, float *, float *) -> void
{
MT_PLATFORM_STUB();
}
auto CScreen::UnprojectPosition(float, float, float, float *, float *, float *) -> void
{
MT_PLATFORM_STUB();
}
auto CScreen::IsLostDevice() -> BOOL
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<BOOL>();
}
auto CScreen::RestoreDevice() -> BOOL
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<BOOL>();
}
auto CScreen::BuildViewFrustum() -> void
{
MT_PLATFORM_STUB();
}
auto CScreen::Identity() -> void
{
MT_PLATFORM_STUB();
}
decltype(CScreen::ms_diffuseColor) CScreen::ms_diffuseColor{};
decltype(CScreen::ms_clearColor) CScreen::ms_clearColor{};
decltype(CScreen::ms_clearStencil) CScreen::ms_clearStencil{};
decltype(CScreen::ms_clearDepth) CScreen::ms_clearDepth{};
decltype(CScreen::ms_frustum) CScreen::ms_frustum{};