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,85 @@
// Platform skeleton for EterImageLib/DXTCImage.h (40250 EterImageLib/DXTCImage.cpp), generated by platform_stub.py.
// Every MT_PLATFORM_STUB() body is unimplemented: replace it with the platform implementation.
#include "EterImageLib/StdAfx.h"
#include "EterImageLib/DXTCImage.h"
#include "../PlatformStub.h"
CDXTCImage::CDXTCImage()
{
MT_PLATFORM_STUB();
}
CDXTCImage::~CDXTCImage()
{
MT_PLATFORM_STUB();
}
auto CDXTCImage::Initialize() -> void
{
MT_PLATFORM_STUB();
}
auto CDXTCImage::Clear() -> void
{
MT_PLATFORM_STUB();
}
auto CDXTCImage::LoadFromFile(const char *) -> bool
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
}
auto CDXTCImage::LoadFromMemory(const BYTE *) -> bool
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
}
auto CDXTCImage::LoadHeaderFromMemory(const BYTE *) -> bool
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
}
auto CDXTCImage::Copy(int, BYTE *, long) -> bool
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
}
auto CDXTCImage::Decompress(int, DWORD *) -> void
{
MT_PLATFORM_STUB();
}
auto CDXTCImage::DecompressDXT1(int, DWORD *) -> void
{
MT_PLATFORM_STUB();
}
auto CDXTCImage::DecompressDXT3(int, DWORD *) -> void
{
MT_PLATFORM_STUB();
}
auto CDXTCImage::DecompressDXT5(int, DWORD *) -> void
{
MT_PLATFORM_STUB();
}
auto CDXTCImage::DecompressARGB(int, DWORD *) -> void
{
MT_PLATFORM_STUB();
}
auto CDXTCImage::DecodePixelFormat(CHAR *, XDDPIXELFORMAT *) -> void
{
MT_PLATFORM_STUB();
}
auto CDXTCImage::Unextract(BYTE *, int, int, int) -> void
{
MT_PLATFORM_STUB();
}
@@ -0,0 +1,92 @@
// Platform skeleton for EterImageLib/Image.h (40250 EterImageLib/Image.cpp), generated by platform_stub.py.
// Every MT_PLATFORM_STUB() body is unimplemented: replace it with the platform implementation.
#include "EterImageLib/StdAfx.h"
#include "EterImageLib/Image.h"
#include "../PlatformStub.h"
CImage::CImage()
{
MT_PLATFORM_STUB();
}
CImage::CImage(CImage &)
{
MT_PLATFORM_STUB();
}
CImage::~CImage()
{
MT_PLATFORM_STUB();
}
auto CImage::Destroy() -> void
{
MT_PLATFORM_STUB();
}
auto CImage::Create(int, int) -> void
{
MT_PLATFORM_STUB();
}
auto CImage::Clear(DWORD) -> void
{
MT_PLATFORM_STUB();
}
auto CImage::GetWidth() const -> int
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<int>();
}
auto CImage::GetHeight() const -> int
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<int>();
}
auto CImage::GetBasePointer() -> DWORD *
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<DWORD *>();
}
auto CImage::GetLinePointer(int) -> DWORD *
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<DWORD *>();
}
auto CImage::PutImage(int, int, CImage *) -> void
{
MT_PLATFORM_STUB();
}
auto CImage::FlipTopToBottom() -> void
{
MT_PLATFORM_STUB();
}
auto CImage::SetFileName(const char *) -> void
{
MT_PLATFORM_STUB();
}
auto CImage::GetFileNameString() -> const std::string &
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<const std::string &>();
}
auto CImage::IsEmpty() const -> bool
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
}
auto CImage::Initialize() -> void
{
MT_PLATFORM_STUB();
}
@@ -0,0 +1,72 @@
// Platform skeleton for EterImageLib/TGAImage.h (40250 EterImageLib/TGAImage.cpp), generated by platform_stub.py.
// Every MT_PLATFORM_STUB() body is unimplemented: replace it with the platform implementation.
#include "EterImageLib/StdAfx.h"
#include "EterImageLib/TGAImage.h"
#include "../PlatformStub.h"
CTGAImage::CTGAImage()
{
MT_PLATFORM_STUB();
}
CTGAImage::CTGAImage(CImage &)
{
MT_PLATFORM_STUB();
}
CTGAImage::~CTGAImage()
{
MT_PLATFORM_STUB();
}
auto CTGAImage::Create(int, int) -> void
{
MT_PLATFORM_STUB();
}
auto CTGAImage::LoadFromMemory(int, const BYTE *) -> bool
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
}
auto CTGAImage::LoadFromDiskFile(const char *) -> bool
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
}
auto CTGAImage::SaveToDiskFile(const char *) -> bool
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
}
auto CTGAImage::SetCompressed(bool) -> void
{
MT_PLATFORM_STUB();
}
auto CTGAImage::SetAlphaChannel(bool) -> void
{
MT_PLATFORM_STUB();
}
auto CTGAImage::GetHeader() -> TGA_HEADER &
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<TGA_HEADER &>();
}
auto CTGAImage::GetRawPixelCount(const DWORD *) -> int
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<int>();
}
auto CTGAImage::GetRLEPixelCount(const DWORD *) -> int
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<int>();
}