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,22 @@
// Platform skeleton for SphereLib/frustum.h (40250 SphereLib/frustum.cpp), generated by platform_stub.py.
// Every MT_PLATFORM_STUB() body is unimplemented: replace it with the platform implementation.
#include "SphereLib/StdAfx.h"
#include "SphereLib/frustum.h"
#include "../PlatformStub.h"
auto Frustum::BuildViewFrustum(D3DXMATRIX &) -> void
{
MT_PLATFORM_STUB();
}
auto Frustum::BuildViewFrustum2(D3DXMATRIX &, float, float, float, float, const D3DXVECTOR3 &, const D3DXVECTOR3 &) -> void
{
MT_PLATFORM_STUB();
}
auto Frustum::ViewVolumeTest(const Vector3d &, const float) const -> ViewState
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<ViewState>();
}
@@ -0,0 +1,49 @@
// Platform skeleton for SphereLib/sphere.h (40250 SphereLib/sphere.cpp), generated by platform_stub.py.
// Every MT_PLATFORM_STUB() body is unimplemented: replace it with the platform implementation.
#include "SphereLib/StdAfx.h"
#include "SphereLib/sphere.h"
#include "../PlatformStub.h"
SphereInterface::SphereInterface()
{
MT_PLATFORM_STUB();
}
SphereInterface::~SphereInterface()
{
MT_PLATFORM_STUB();
}
auto Sphere::Set(const Vector3d &, float) -> void
{
MT_PLATFORM_STUB();
}
auto Sphere::Compute(const SphereInterface &) -> void
{
MT_PLATFORM_STUB();
}
auto Sphere::RayIntersection(const Vector3d &, const Vector3d &, float, Vector3d *) -> bool
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
}
auto Sphere::RayIntersection(const Vector3d &, const Vector3d &, Vector3d *) -> bool
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
}
auto Sphere::RayIntersectionInFront(const Vector3d &, const Vector3d &, Vector3d *) -> bool
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
}
auto Sphere::Report() -> void
{
MT_PLATFORM_STUB();
}
@@ -0,0 +1,138 @@
// Platform skeleton for SphereLib/spherepack.h (40250 SphereLib/spherepack.cpp), generated by platform_stub.py.
// Every MT_PLATFORM_STUB() body is unimplemented: replace it with the platform implementation.
#include "SphereLib/StdAfx.h"
#include "SphereLib/spherepack.h"
#include "../PlatformStub.h"
auto SpherePack::LostChild(SpherePack *) -> void
{
MT_PLATFORM_STUB();
}
auto SpherePack::Render(unsigned int) -> void
{
MT_PLATFORM_STUB();
}
auto SpherePack::Recompute(float) -> bool
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
}
auto SpherePack::VisibilityTest(const Frustum &, SpherePackCallback *, ViewState) -> void
{
MT_PLATFORM_STUB();
}
auto SpherePack::RayTrace(const Vector3d &, const Vector3d &, float, SpherePackCallback *) -> void
{
MT_PLATFORM_STUB();
}
auto SpherePack::RangeTest(const Vector3d &, float, SpherePackCallback *, ViewState) -> void
{
MT_PLATFORM_STUB();
}
auto SpherePack::PointTest2d(const Vector3d &, SpherePackCallback *, ViewState) -> void
{
MT_PLATFORM_STUB();
}
auto SpherePack::Reset() -> void
{
MT_PLATFORM_STUB();
}
SpherePackFactory::SpherePackFactory(int, float, float, float)
{
MT_PLATFORM_STUB();
}
SpherePackFactory::~SpherePackFactory()
{
MT_PLATFORM_STUB();
}
auto SpherePackFactory::Process() -> void
{
MT_PLATFORM_STUB();
}
auto SpherePackFactory::AddSphere_(const Vector3d &, float, void *, bool, int) -> SpherePack *
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<SpherePack *>();
}
auto SpherePackFactory::AddIntegrate(SpherePack *) -> void
{
MT_PLATFORM_STUB();
}
auto SpherePackFactory::AddRecompute(SpherePack *) -> void
{
MT_PLATFORM_STUB();
}
auto SpherePackFactory::Integrate(SpherePack *, SpherePack *, float) -> void
{
MT_PLATFORM_STUB();
}
auto SpherePackFactory::Render() -> void
{
MT_PLATFORM_STUB();
}
auto SpherePackFactory::Remove(SpherePack *) -> void
{
MT_PLATFORM_STUB();
}
auto SpherePackFactory::FrustumTest(const Frustum &, SpherePackCallback *) -> void
{
MT_PLATFORM_STUB();
}
auto SpherePackFactory::RayTrace(const Vector3d &, const Vector3d &, SpherePackCallback *) -> void
{
MT_PLATFORM_STUB();
}
auto SpherePackFactory::RangeTest(const Vector3d &, float, SpherePackCallback *) -> void
{
MT_PLATFORM_STUB();
}
auto SpherePackFactory::PointTest2d(const Vector3d &, SpherePackCallback *) -> void
{
MT_PLATFORM_STUB();
}
auto SpherePackFactory::RayTraceCallback(const Vector3d &, const Vector3d &, float, const Vector3d &, SpherePack *) -> void
{
MT_PLATFORM_STUB();
}
auto SpherePackFactory::RangeTestCallback(const Vector3d &, float, SpherePack *, ViewState) -> void
{
MT_PLATFORM_STUB();
}
auto SpherePackFactory::PointTest2dCallback(const Vector3d &, SpherePack *, ViewState) -> void
{
MT_PLATFORM_STUB();
}
auto SpherePackFactory::VisibilityCallback(const Frustum &, SpherePack *, ViewState) -> void
{
MT_PLATFORM_STUB();
}
auto SpherePackFactory::Reset() -> void
{
MT_PLATFORM_STUB();
}
@@ -0,0 +1,12 @@
// Platform skeleton for SphereLib/vector.h, generated by platform_stub.py.
// Every MT_PLATFORM_STUB() body is unimplemented: replace it with the platform implementation.
#include "SphereLib/StdAfx.h"
#include "SphereLib/vector.h"
#include "../PlatformStub.h"
auto Vector3d::IsInStaticRange() const -> bool
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
}