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,211 @@
// Platform skeleton for EterGrnLib/Material.h (40250 EterGrnLib/Material.cpp), generated by platform_stub.py.
// Every MT_PLATFORM_STUB() body is unimplemented: replace it with the platform implementation.
#include "EterGrnLib/StdAfx.h"
#include "EterGrnLib/Material.h"
#include "../PlatformStub.h"
auto CGrannyMaterial::CreateSphereMap(UINT, const char *) -> void
{
MT_PLATFORM_STUB();
}
auto CGrannyMaterial::DestroySphereMap() -> void
{
MT_PLATFORM_STUB();
}
auto CGrannyMaterial::TranslateSpecularMatrix(float, float, float) -> void
{
MT_PLATFORM_STUB();
}
decltype(CGrannyMaterial::ms_matSpecular) CGrannyMaterial::ms_matSpecular{};
decltype(CGrannyMaterial::ms_v3SpecularTrans) CGrannyMaterial::ms_v3SpecularTrans{};
CGrannyMaterial::CGrannyMaterial()
{
MT_PLATFORM_STUB();
}
CGrannyMaterial::~CGrannyMaterial()
{
MT_PLATFORM_STUB();
}
auto CGrannyMaterial::Destroy() -> void
{
MT_PLATFORM_STUB();
}
auto CGrannyMaterial::Copy(CGrannyMaterial &) -> void
{
MT_PLATFORM_STUB();
}
auto CGrannyMaterial::IsEqual(granny_material *) const -> bool
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
}
auto CGrannyMaterial::IsIn(const char *, int *) -> bool
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
}
auto CGrannyMaterial::SetSpecularInfo(BOOL, float, BYTE) -> void
{
MT_PLATFORM_STUB();
}
auto CGrannyMaterial::ApplyRenderState() -> void
{
MT_PLATFORM_STUB();
}
auto CGrannyMaterial::RestoreRenderState() -> void
{
MT_PLATFORM_STUB();
}
auto CGrannyMaterial::Initialize() -> void
{
MT_PLATFORM_STUB();
}
auto CGrannyMaterial::CreateFromGrannyMaterialPointer(granny_material *) -> bool
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
}
auto CGrannyMaterial::SetImagePointer(int, CGraphicImage *) -> void
{
MT_PLATFORM_STUB();
}
auto CGrannyMaterial::GetType() const -> CGrannyMaterial::EType
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<CGrannyMaterial::EType>();
}
auto CGrannyMaterial::GetImagePointer(int) const -> CGraphicImage *
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<CGraphicImage *>();
}
auto CGrannyMaterial::GetDiffuseTexture() const -> const CGraphicTexture *
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<const CGraphicTexture *>();
}
auto CGrannyMaterial::GetOpacityTexture() const -> const CGraphicTexture *
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<const CGraphicTexture *>();
}
auto CGrannyMaterial::GetD3DTexture(int) const -> LPDIRECT3DTEXTURE8
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<LPDIRECT3DTEXTURE8>();
}
auto CGrannyMaterial::__GetImagePointer(const char *) -> CGraphicImage *
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<CGraphicImage *>();
}
auto CGrannyMaterial::__IsSpecularEnable() const -> BOOL
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<BOOL>();
}
auto CGrannyMaterial::__GetSpecularPower() const -> float
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<float>();
}
auto CGrannyMaterial::__ApplyDiffuseRenderState() -> void
{
MT_PLATFORM_STUB();
}
auto CGrannyMaterial::__RestoreDiffuseRenderState() -> void
{
MT_PLATFORM_STUB();
}
auto CGrannyMaterial::__ApplySpecularRenderState() -> void
{
MT_PLATFORM_STUB();
}
auto CGrannyMaterial::__RestoreSpecularRenderState() -> void
{
MT_PLATFORM_STUB();
}
decltype(CGrannyMaterial::ms_akSphereMapInstance) CGrannyMaterial::ms_akSphereMapInstance{};
CGrannyMaterialPalette::CGrannyMaterialPalette()
{
MT_PLATFORM_STUB();
}
CGrannyMaterialPalette::~CGrannyMaterialPalette()
{
MT_PLATFORM_STUB();
}
auto CGrannyMaterialPalette::Clear() -> void
{
MT_PLATFORM_STUB();
}
auto CGrannyMaterialPalette::Copy(const CGrannyMaterialPalette &) -> void
{
MT_PLATFORM_STUB();
}
auto CGrannyMaterialPalette::RegisterMaterial(granny_material *) -> DWORD
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<DWORD>();
}
auto CGrannyMaterialPalette::SetMaterialImagePointer(const char *, CGraphicImage *) -> void
{
MT_PLATFORM_STUB();
}
auto CGrannyMaterialPalette::SetMaterialData(const char *, const SMaterialData &) -> void
{
MT_PLATFORM_STUB();
}
auto CGrannyMaterialPalette::SetSpecularInfo(const char *, BOOL, float) -> void
{
MT_PLATFORM_STUB();
}
auto CGrannyMaterialPalette::GetMaterialRef(DWORD) -> CGrannyMaterial &
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<CGrannyMaterial &>();
}
auto CGrannyMaterialPalette::GetMaterialCount() const -> DWORD
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<DWORD>();
}