port: EffectLib + EterBase/Utils platform bodies (1:1 40250)

EffectLib's 18 units are copied verbatim (Type.h: drop a comment backslash
that clang splices into the next enum line). The remaining Utils stubs get
the 40250 bodies, so .msf fly data resolve relative .mse attachments, and
CPythonResource registers mde/mdatr as 40250 does. login_flow spawns
level_up.mse and sees its particle draws.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
shenlei
2026-09-24 03:19:30 +09:00
co-authored by Claude Opus 5.5
parent 03de3f314a
commit b69116992c
61 changed files with 6702 additions and 1579 deletions
@@ -1,144 +0,0 @@
// Platform skeleton for EffectLib/EffectData.h (40250 EffectLib/EffectData.cpp), generated by platform_stub.py.
// Every MT_PLATFORM_STUB() body is unimplemented: replace it with the platform implementation.
#include "EffectLib/StdAfx.h"
#include "EffectLib/EffectData.h"
#include "../PlatformStub.h"
CEffectData::CEffectData()
{
MT_PLATFORM_STUB();
}
CEffectData::~CEffectData()
{
MT_PLATFORM_STUB();
}
auto CEffectData::Clear() -> void
{
MT_PLATFORM_STUB();
}
auto CEffectData::LoadScript(const char *) -> bool
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
}
auto CEffectData::LoadSoundScriptData(const char *) -> bool
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
}
auto CEffectData::GetParticleCount() -> DWORD
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<DWORD>();
}
auto CEffectData::GetParticlePointer(DWORD) -> CParticleSystemData *
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<CParticleSystemData *>();
}
auto CEffectData::GetMeshCount() -> DWORD
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<DWORD>();
}
auto CEffectData::GetMeshPointer(DWORD) -> CEffectMeshScript *
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<CEffectMeshScript *>();
}
auto CEffectData::GetLightCount() -> DWORD
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<DWORD>();
}
auto CEffectData::GetLightPointer(DWORD) -> CLightData *
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<CLightData *>();
}
auto CEffectData::GetSoundInstanceVector() -> NSound::TSoundInstanceVector *
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<NSound::TSoundInstanceVector *>();
}
auto CEffectData::GetBoundingSphereRadius() -> float
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<float>();
}
auto CEffectData::GetBoundingSpherePosition() -> D3DXVECTOR3
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<D3DXVECTOR3>();
}
auto CEffectData::GetFileName() const -> const char *
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<const char *>();
}
auto CEffectData::__ClearParticleDataVector() -> void
{
MT_PLATFORM_STUB();
}
auto CEffectData::__ClearLightDataVector() -> void
{
MT_PLATFORM_STUB();
}
auto CEffectData::__ClearMeshDataVector() -> void
{
MT_PLATFORM_STUB();
}
auto CEffectData::AllocParticle() -> CParticleSystemData *
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<CParticleSystemData *>();
}
auto CEffectData::AllocMesh() -> CEffectMeshScript *
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<CEffectMeshScript *>();
}
auto CEffectData::AllocLight() -> CLightData *
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<CLightData *>();
}
auto CEffectData::DestroySystem() -> void
{
MT_PLATFORM_STUB();
}
auto CEffectData::New() -> CEffectData *
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<CEffectData *>();
}
auto CEffectData::Delete(CEffectData *) -> void
{
MT_PLATFORM_STUB();
}
decltype(CEffectData::ms_kPool) CEffectData::ms_kPool{};
@@ -1,44 +0,0 @@
// Platform skeleton for EffectLib/EffectElementBase.h (40250 EffectLib/EffectElementBase.cpp), generated by platform_stub.py.
// Every MT_PLATFORM_STUB() body is unimplemented: replace it with the platform implementation.
#include "EffectLib/StdAfx.h"
#include "EffectLib/EffectElementBase.h"
#include "../PlatformStub.h"
CEffectElementBase::CEffectElementBase()
{
MT_PLATFORM_STUB();
}
CEffectElementBase::~CEffectElementBase()
{
MT_PLATFORM_STUB();
}
auto CEffectElementBase::Clear() -> void
{
MT_PLATFORM_STUB();
}
auto CEffectElementBase::isData() -> bool
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
}
auto CEffectElementBase::LoadScript(CTextFileLoader &) -> BOOL
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<BOOL>();
}
auto CEffectElementBase::GetPosition(float, D3DXVECTOR3 &) -> void
{
MT_PLATFORM_STUB();
}
auto CEffectElementBase::GetStartTime() -> float
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<float>();
}
@@ -1,63 +0,0 @@
// Platform skeleton for EffectLib/EffectElementBaseInstance.h (40250 EffectLib/EffectElementBaseInstance.cpp), generated by platform_stub.py.
// Every MT_PLATFORM_STUB() body is unimplemented: replace it with the platform implementation.
#include "EffectLib/StdAfx.h"
#include "EffectLib/EffectElementBaseInstance.h"
#include "../PlatformStub.h"
CEffectElementBaseInstance::CEffectElementBaseInstance()
{
MT_PLATFORM_STUB();
}
CEffectElementBaseInstance::~CEffectElementBaseInstance()
{
MT_PLATFORM_STUB();
}
auto CEffectElementBaseInstance::SetDataPointer(CEffectElementBase *) -> void
{
MT_PLATFORM_STUB();
}
auto CEffectElementBaseInstance::Initialize() -> void
{
MT_PLATFORM_STUB();
}
auto CEffectElementBaseInstance::Destroy() -> void
{
MT_PLATFORM_STUB();
}
auto CEffectElementBaseInstance::SetLocalMatrixPointer(const D3DXMATRIX *) -> void
{
MT_PLATFORM_STUB();
}
auto CEffectElementBaseInstance::Update(float) -> bool
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
}
auto CEffectElementBaseInstance::Render() -> void
{
MT_PLATFORM_STUB();
}
auto CEffectElementBaseInstance::isActive() -> bool
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
}
auto CEffectElementBaseInstance::SetActive() -> void
{
MT_PLATFORM_STUB();
}
auto CEffectElementBaseInstance::SetDeactive() -> void
{
MT_PLATFORM_STUB();
}
@@ -1,125 +0,0 @@
// Platform skeleton for EffectLib/EffectInstance.h (40250 EffectLib/EffectInstance.cpp), generated by platform_stub.py.
// Every MT_PLATFORM_STUB() body is unimplemented: replace it with the platform implementation.
#include "EffectLib/StdAfx.h"
#include "EffectLib/EffectInstance.h"
#include "../PlatformStub.h"
auto CEffectInstance::GetBoundingSphere(D3DXVECTOR3 &, float &) -> bool
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
}
auto CEffectInstance::DestroySystem() -> void
{
MT_PLATFORM_STUB();
}
auto CEffectInstance::New() -> CEffectInstance *
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<CEffectInstance *>();
}
auto CEffectInstance::Delete(CEffectInstance *) -> void
{
MT_PLATFORM_STUB();
}
auto CEffectInstance::ResetRenderingEffectCount() -> void
{
MT_PLATFORM_STUB();
}
auto CEffectInstance::GetRenderingEffectCount() -> int
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<int>();
}
CEffectInstance::CEffectInstance()
{
MT_PLATFORM_STUB();
}
CEffectInstance::~CEffectInstance()
{
MT_PLATFORM_STUB();
}
auto CEffectInstance::LessRenderOrder(CEffectInstance *) -> bool
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
}
auto CEffectInstance::SetEffectDataPointer(CEffectData *) -> void
{
MT_PLATFORM_STUB();
}
auto CEffectInstance::Clear() -> void
{
MT_PLATFORM_STUB();
}
auto CEffectInstance::isAlive() -> BOOL
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<BOOL>();
}
auto CEffectInstance::SetActive() -> void
{
MT_PLATFORM_STUB();
}
auto CEffectInstance::SetDeactive() -> void
{
MT_PLATFORM_STUB();
}
auto CEffectInstance::SetGlobalMatrix(const D3DXMATRIX &) -> void
{
MT_PLATFORM_STUB();
}
auto CEffectInstance::UpdateSound() -> void
{
MT_PLATFORM_STUB();
}
auto CEffectInstance::OnUpdate() -> void
{
MT_PLATFORM_STUB();
}
auto CEffectInstance::OnRender() -> void
{
MT_PLATFORM_STUB();
}
auto CEffectInstance::__Initialize() -> void
{
MT_PLATFORM_STUB();
}
auto CEffectInstance::__SetParticleData(CParticleSystemData *) -> void
{
MT_PLATFORM_STUB();
}
auto CEffectInstance::__SetMeshData(CEffectMeshScript *) -> void
{
MT_PLATFORM_STUB();
}
auto CEffectInstance::__SetLightData(CLightData *) -> void
{
MT_PLATFORM_STUB();
}
decltype(CEffectInstance::ms_kPool) CEffectInstance::ms_kPool{};
decltype(CEffectInstance::ms_iRenderingEffectCount) CEffectInstance::ms_iRenderingEffectCount{};
@@ -1,189 +0,0 @@
// Platform skeleton for EffectLib/EffectManager.h (40250 EffectLib/EffectManager.cpp), generated by platform_stub.py.
// Every MT_PLATFORM_STUB() body is unimplemented: replace it with the platform implementation.
#include "EffectLib/StdAfx.h"
#include "EffectLib/EffectManager.h"
#include "../PlatformStub.h"
CEffectManager::CEffectManager()
{
MT_PLATFORM_STUB();
}
CEffectManager::~CEffectManager()
{
MT_PLATFORM_STUB();
}
auto CEffectManager::Destroy() -> void
{
MT_PLATFORM_STUB();
}
auto CEffectManager::UpdateSound() -> void
{
MT_PLATFORM_STUB();
}
auto CEffectManager::Update() -> void
{
MT_PLATFORM_STUB();
}
auto CEffectManager::Render() -> void
{
MT_PLATFORM_STUB();
}
auto CEffectManager::GetInfo(std::string *) -> void
{
MT_PLATFORM_STUB();
}
auto CEffectManager::IsAliveEffect(DWORD) -> bool
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
}
auto CEffectManager::RegisterEffect(const char *, bool, bool) -> BOOL
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<BOOL>();
}
auto CEffectManager::RegisterEffect2(const char *, DWORD *, bool) -> BOOL
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<BOOL>();
}
auto CEffectManager::DeleteAllInstances() -> void
{
MT_PLATFORM_STUB();
}
auto CEffectManager::CreateEffect(DWORD, const D3DXVECTOR3 &, const D3DXVECTOR3 &) -> int
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<int>();
}
auto CEffectManager::CreateEffect(const char *, const D3DXVECTOR3 &, const D3DXVECTOR3 &) -> int
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<int>();
}
auto CEffectManager::CreateEffectInstance(DWORD, DWORD) -> void
{
MT_PLATFORM_STUB();
}
auto CEffectManager::SelectEffectInstance(DWORD) -> BOOL
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<BOOL>();
}
auto CEffectManager::DestroyEffectInstance(DWORD) -> bool
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
}
auto CEffectManager::DeactiveEffectInstance(DWORD) -> void
{
MT_PLATFORM_STUB();
}
auto CEffectManager::SetEffectTextures(DWORD, std::vector<std::string>) -> void
{
MT_PLATFORM_STUB();
}
auto CEffectManager::SetEffectInstancePosition(const D3DXVECTOR3 &) -> void
{
MT_PLATFORM_STUB();
}
auto CEffectManager::SetEffectInstanceRotation(const D3DXVECTOR3 &) -> void
{
MT_PLATFORM_STUB();
}
auto CEffectManager::SetEffectInstanceGlobalMatrix(const D3DXMATRIX &) -> void
{
MT_PLATFORM_STUB();
}
auto CEffectManager::ShowEffect() -> void
{
MT_PLATFORM_STUB();
}
auto CEffectManager::HideEffect() -> void
{
MT_PLATFORM_STUB();
}
auto CEffectManager::GetRandomEffect() -> DWORD
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<DWORD>();
}
auto CEffectManager::GetEmptyIndex() -> int
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<int>();
}
auto CEffectManager::GetEffectData(DWORD, CEffectData **) -> bool
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
}
auto CEffectManager::GetEffectData(DWORD, const CEffectData **) -> bool
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
}
auto CEffectManager::CreateUnsafeEffectInstance(DWORD, CEffectInstance **) -> void
{
MT_PLATFORM_STUB();
}
auto CEffectManager::DestroyUnsafeEffectInstance(CEffectInstance *) -> bool
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
}
auto CEffectManager::GetRenderingEffectCount() -> int
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<int>();
}
auto CEffectManager::__Initialize() -> void
{
MT_PLATFORM_STUB();
}
auto CEffectManager::__DestroyEffectInstanceMap() -> void
{
MT_PLATFORM_STUB();
}
auto CEffectManager::__DestroyEffectCacheMap() -> void
{
MT_PLATFORM_STUB();
}
auto CEffectManager::__DestroyEffectDataMap() -> void
{
MT_PLATFORM_STUB();
}
@@ -1,269 +0,0 @@
// Platform skeleton for EffectLib/EffectMesh.h (40250 EffectLib/EffectMesh.cpp), generated by platform_stub.py.
// Every MT_PLATFORM_STUB() body is unimplemented: replace it with the platform implementation.
#include "EffectLib/StdAfx.h"
#include "EffectLib/EffectMesh.h"
#include "../PlatformStub.h"
auto CEffectMesh::SEffectMeshData::New() -> SEffectMeshData *
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<SEffectMeshData *>();
}
auto CEffectMesh::SEffectMeshData::Delete(SEffectMeshData *) -> void
{
MT_PLATFORM_STUB();
}
auto CEffectMesh::SEffectMeshData::DestroySystem() -> void
{
MT_PLATFORM_STUB();
}
decltype(CEffectMesh::SEffectMeshData::ms_kPool) CEffectMesh::SEffectMeshData::ms_kPool{};
auto CEffectMesh::Type() -> TType
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<TType>();
}
CEffectMesh::CEffectMesh(const char * c_szFileName) : CResource(c_szFileName) // initializers as in 40250
{
MT_PLATFORM_STUB();
}
CEffectMesh::~CEffectMesh()
{
MT_PLATFORM_STUB();
}
auto CEffectMesh::GetFrameCount() -> DWORD
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<DWORD>();
}
auto CEffectMesh::GetMeshCount() -> DWORD
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<DWORD>();
}
auto CEffectMesh::GetMeshDataPointer(DWORD) -> TEffectMeshData *
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<TEffectMeshData *>();
}
auto CEffectMesh::GetTextureVectorPointer(DWORD) -> std::vector<CGraphicImage *> *
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<std::vector<CGraphicImage *> *>();
}
auto CEffectMesh::GetTextureVectorReference(DWORD) -> std::vector<CGraphicImage *> &
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<std::vector<CGraphicImage *> &>();
}
auto CEffectMesh::GetMeshElementPointer(DWORD, TEffectMeshData **) -> BOOL
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<BOOL>();
}
auto CEffectMesh::OnLoad(int, const void *) -> bool
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
}
auto CEffectMesh::OnClear() -> void
{
MT_PLATFORM_STUB();
}
auto CEffectMesh::OnIsEmpty() const -> bool
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
}
auto CEffectMesh::OnIsType(TType) -> bool
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
}
auto CEffectMesh::__LoadData_Ver001(int, const BYTE *) -> BOOL
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<BOOL>();
}
auto CEffectMesh::__LoadData_Ver002(int, const BYTE *) -> BOOL
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<BOOL>();
}
CEffectMeshScript::CEffectMeshScript()
{
MT_PLATFORM_STUB();
}
CEffectMeshScript::~CEffectMeshScript()
{
MT_PLATFORM_STUB();
}
auto CEffectMeshScript::GetMeshFileName() -> const char *
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<const char *>();
}
auto CEffectMeshScript::ReserveMeshData(DWORD) -> void
{
MT_PLATFORM_STUB();
}
auto CEffectMeshScript::CheckMeshIndex(DWORD) -> bool
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
}
auto CEffectMeshScript::GetMeshDataPointer(DWORD, TMeshData **) -> bool
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
}
auto CEffectMeshScript::GetMeshDataCount() -> int
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<int>();
}
auto CEffectMeshScript::GetBillboardType(DWORD) -> int
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<int>();
}
auto CEffectMeshScript::isBlendingEnable(DWORD) -> BOOL
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<BOOL>();
}
auto CEffectMeshScript::GetBlendingSrcType(DWORD) -> BYTE
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<BYTE>();
}
auto CEffectMeshScript::GetBlendingDestType(DWORD) -> BYTE
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<BYTE>();
}
auto CEffectMeshScript::isTextureAlphaEnable(DWORD) -> BOOL
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<BOOL>();
}
auto CEffectMeshScript::GetColorOperationType(DWORD, BYTE *) -> BOOL
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<BOOL>();
}
auto CEffectMeshScript::GetColorFactor(DWORD, D3DXCOLOR *) -> BOOL
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<BOOL>();
}
auto CEffectMeshScript::GetTimeTableAlphaPointer(DWORD, TTimeEventTableFloat **) -> BOOL
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<BOOL>();
}
auto CEffectMeshScript::isMeshAnimationLoop() -> BOOL
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<BOOL>();
}
auto CEffectMeshScript::GetMeshAnimationLoopCount() -> BOOL
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<BOOL>();
}
auto CEffectMeshScript::GetMeshAnimationFrameDelay() -> float
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<float>();
}
auto CEffectMeshScript::isTextureAnimationLoop(DWORD) -> BOOL
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<BOOL>();
}
auto CEffectMeshScript::GetTextureAnimationFrameDelay(DWORD) -> float
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<float>();
}
auto CEffectMeshScript::GetTextureAnimationStartFrame(DWORD) -> DWORD
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<DWORD>();
}
auto CEffectMeshScript::OnClear() -> void
{
MT_PLATFORM_STUB();
}
auto CEffectMeshScript::OnIsData() -> bool
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
}
auto CEffectMeshScript::OnLoadScript(CTextFileLoader &) -> BOOL
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<BOOL>();
}
auto CEffectMeshScript::DestroySystem() -> void
{
MT_PLATFORM_STUB();
}
auto CEffectMeshScript::New() -> CEffectMeshScript *
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<CEffectMeshScript *>();
}
auto CEffectMeshScript::Delete(CEffectMeshScript *) -> void
{
MT_PLATFORM_STUB();
}
decltype(CEffectMeshScript::ms_kPool) CEffectMeshScript::ms_kPool{};
@@ -1,66 +0,0 @@
// Platform skeleton for EffectLib/EffectMeshInstance.h (40250 EffectLib/EffectMeshInstance.cpp), generated by platform_stub.py.
// Every MT_PLATFORM_STUB() body is unimplemented: replace it with the platform implementation.
#include "EffectLib/StdAfx.h"
#include "EffectLib/EffectMeshInstance.h"
#include "../PlatformStub.h"
CEffectMeshInstance::CEffectMeshInstance()
{
MT_PLATFORM_STUB();
}
CEffectMeshInstance::~CEffectMeshInstance()
{
MT_PLATFORM_STUB();
}
auto CEffectMeshInstance::DestroySystem() -> void
{
MT_PLATFORM_STUB();
}
auto CEffectMeshInstance::New() -> CEffectMeshInstance *
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<CEffectMeshInstance *>();
}
auto CEffectMeshInstance::Delete(CEffectMeshInstance *) -> void
{
MT_PLATFORM_STUB();
}
decltype(CEffectMeshInstance::ms_kPool) CEffectMeshInstance::ms_kPool{};
auto CEffectMeshInstance::OnSetDataPointer(CEffectElementBase *) -> void
{
MT_PLATFORM_STUB();
}
auto CEffectMeshInstance::OnInitialize() -> void
{
MT_PLATFORM_STUB();
}
auto CEffectMeshInstance::OnDestroy() -> void
{
MT_PLATFORM_STUB();
}
auto CEffectMeshInstance::OnUpdate(float) -> bool
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
}
auto CEffectMeshInstance::OnRender() -> void
{
MT_PLATFORM_STUB();
}
auto CEffectMeshInstance::isActive() -> BOOL
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<BOOL>();
}
@@ -1,39 +0,0 @@
// Platform skeleton for EffectLib/EffectUpdateDecorator.h (40250 EffectLib/EffectUpdateDecorator.cpp), generated by platform_stub.py.
// Every MT_PLATFORM_STUB() body is unimplemented: replace it with the platform implementation.
#include "EffectLib/StdAfx.h"
#include "EffectLib/EffectUpdateDecorator.h"
#include "../PlatformStub.h"
auto NEffectUpdateDecorator::CAirResistanceDecorator::__Excute(const CDecoratorData &) -> void
{
MT_PLATFORM_STUB();
}
auto NEffectUpdateDecorator::CAirResistanceDecorator::__Clone(CParticleInstance *, CParticleInstance *) -> CBaseDecorator *
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<CBaseDecorator *>();
}
auto NEffectUpdateDecorator::CGravityDecorator::__Excute(const CDecoratorData &) -> void
{
MT_PLATFORM_STUB();
}
auto NEffectUpdateDecorator::CGravityDecorator::__Clone(CParticleInstance *, CParticleInstance *) -> CBaseDecorator *
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<CBaseDecorator *>();
}
auto NEffectUpdateDecorator::CRotationDecorator::__Excute(const CDecoratorData &) -> void
{
MT_PLATFORM_STUB();
}
auto NEffectUpdateDecorator::CRotationDecorator::__Clone(CParticleInstance *, CParticleInstance *) -> CBaseDecorator *
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<CBaseDecorator *>();
}
@@ -1,89 +0,0 @@
// Platform skeleton for EffectLib/EmitterProperty.h (40250 EffectLib/EmitterProperty.cpp), generated by platform_stub.py.
// Every MT_PLATFORM_STUB() body is unimplemented: replace it with the platform implementation.
#include "EffectLib/StdAfx.h"
#include "EffectLib/EmitterProperty.h"
#include "../PlatformStub.h"
CEmitterProperty::CEmitterProperty()
{
MT_PLATFORM_STUB();
}
CEmitterProperty::~CEmitterProperty()
{
MT_PLATFORM_STUB();
}
auto CEmitterProperty::Clear() -> void
{
MT_PLATFORM_STUB();
}
auto CEmitterProperty::GetEmitterShape() -> BYTE
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<BYTE>();
}
auto CEmitterProperty::GetEmitterAdvancedType() -> BYTE
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<BYTE>();
}
auto CEmitterProperty::isEmitFromEdge() -> BOOL
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<BOOL>();
}
auto CEmitterProperty::GetEmittingSize(float, float *) -> void
{
MT_PLATFORM_STUB();
}
auto CEmitterProperty::GetEmittingAngularVelocity(float, float *) -> void
{
MT_PLATFORM_STUB();
}
auto CEmitterProperty::GetEmittingDirectionX(float, float *) -> void
{
MT_PLATFORM_STUB();
}
auto CEmitterProperty::GetEmittingDirectionY(float, float *) -> void
{
MT_PLATFORM_STUB();
}
auto CEmitterProperty::GetEmittingDirectionZ(float, float *) -> void
{
MT_PLATFORM_STUB();
}
auto CEmitterProperty::GetEmittingVelocity(float, float *) -> void
{
MT_PLATFORM_STUB();
}
auto CEmitterProperty::GetEmissionCountPerSecond(float, float *) -> void
{
MT_PLATFORM_STUB();
}
auto CEmitterProperty::GetParticleLifeTime(float, float *) -> void
{
MT_PLATFORM_STUB();
}
auto CEmitterProperty::GetParticleSizeX(float, float *) -> void
{
MT_PLATFORM_STUB();
}
auto CEmitterProperty::GetParticleSizeY(float, float *) -> void
{
MT_PLATFORM_STUB();
}
@@ -1,73 +0,0 @@
// Platform skeleton for EffectLib/FrameController.h (40250 EffectLib/FrameController.cpp), generated by platform_stub.py.
// Every MT_PLATFORM_STUB() body is unimplemented: replace it with the platform implementation.
#include "EffectLib/StdAfx.h"
#include "EffectLib/FrameController.h"
#include "../PlatformStub.h"
CFrameController::CFrameController()
{
MT_PLATFORM_STUB();
}
CFrameController::~CFrameController()
{
MT_PLATFORM_STUB();
}
auto CFrameController::Clear() -> void
{
MT_PLATFORM_STUB();
}
auto CFrameController::Update(float) -> void
{
MT_PLATFORM_STUB();
}
auto CFrameController::SetCurrentFrame(DWORD) -> void
{
MT_PLATFORM_STUB();
}
auto CFrameController::GetCurrentFrame() -> BYTE
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<BYTE>();
}
auto CFrameController::SetMaxFrame(DWORD) -> void
{
MT_PLATFORM_STUB();
}
auto CFrameController::SetFrameTime(float) -> void
{
MT_PLATFORM_STUB();
}
auto CFrameController::SetStartFrame(DWORD) -> void
{
MT_PLATFORM_STUB();
}
auto CFrameController::SetLoopFlag(BOOL) -> void
{
MT_PLATFORM_STUB();
}
auto CFrameController::SetLoopCount(int) -> void
{
MT_PLATFORM_STUB();
}
auto CFrameController::SetActive(BOOL) -> void
{
MT_PLATFORM_STUB();
}
auto CFrameController::isActive(DWORD) -> BOOL
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<BOOL>();
}
@@ -1,72 +0,0 @@
// Platform skeleton for EffectLib/ParticleInstance.h (40250 EffectLib/ParticleInstance.cpp), generated by platform_stub.py.
// Every MT_PLATFORM_STUB() body is unimplemented: replace it with the platform implementation.
#include "EffectLib/StdAfx.h"
#include "EffectLib/ParticleInstance.h"
#include "../PlatformStub.h"
CParticleInstance::CParticleInstance()
{
MT_PLATFORM_STUB();
}
CParticleInstance::~CParticleInstance()
{
MT_PLATFORM_STUB();
}
auto CParticleInstance::GetRadiusApproximation() -> float
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<float>();
}
auto CParticleInstance::Update(float, float) -> BOOL
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<BOOL>();
}
auto CParticleInstance::New() -> CParticleInstance *
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<CParticleInstance *>();
}
auto CParticleInstance::DestroySystem() -> void
{
MT_PLATFORM_STUB();
}
auto CParticleInstance::Transform(const D3DXMATRIX *) -> void
{
MT_PLATFORM_STUB();
}
auto CParticleInstance::Transform(const D3DXMATRIX *, const float) -> void
{
MT_PLATFORM_STUB();
}
auto CParticleInstance::GetParticleMeshPointer() -> TPTVertex *
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<TPTVertex *>();
}
auto CParticleInstance::DeleteThis() -> void
{
MT_PLATFORM_STUB();
}
auto CParticleInstance::Destroy() -> void
{
MT_PLATFORM_STUB();
}
auto CParticleInstance::__Initialize() -> void
{
MT_PLATFORM_STUB();
}
decltype(CParticleInstance::ms_kPool) CParticleInstance::ms_kPool{};
@@ -1,38 +0,0 @@
// Platform skeleton for EffectLib/ParticleProperty.h (40250 EffectLib/ParticleProperty.cpp), generated by platform_stub.py.
// Every MT_PLATFORM_STUB() body is unimplemented: replace it with the platform implementation.
#include "EffectLib/StdAfx.h"
#include "EffectLib/ParticleProperty.h"
#include "../PlatformStub.h"
CParticleProperty::CParticleProperty()
{
MT_PLATFORM_STUB();
}
CParticleProperty::~CParticleProperty()
{
MT_PLATFORM_STUB();
}
auto CParticleProperty::Clear() -> void
{
MT_PLATFORM_STUB();
}
auto CParticleProperty::InsertTexture(const char *) -> void
{
MT_PLATFORM_STUB();
}
auto CParticleProperty::SetTexture(const char *) -> bool
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
}
auto CParticleProperty::operator=(const CParticleProperty &) -> CParticleProperty &
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<CParticleProperty &>();
}
@@ -1,73 +0,0 @@
// Platform skeleton for EffectLib/ParticleSystemData.h (40250 EffectLib/ParticleSystemData.cpp), generated by platform_stub.py.
// Every MT_PLATFORM_STUB() body is unimplemented: replace it with the platform implementation.
#include "EffectLib/StdAfx.h"
#include "EffectLib/ParticleSystemData.h"
#include "../PlatformStub.h"
CParticleSystemData::~CParticleSystemData()
{
MT_PLATFORM_STUB();
}
CParticleSystemData::CParticleSystemData()
{
MT_PLATFORM_STUB();
}
auto CParticleSystemData::GetEmitterPropertyPointer() -> CEmitterProperty *
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<CEmitterProperty *>();
}
auto CParticleSystemData::GetParticlePropertyPointer() -> CParticleProperty *
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<CParticleProperty *>();
}
auto CParticleSystemData::ChangeTexture(const char *) -> void
{
MT_PLATFORM_STUB();
}
auto CParticleSystemData::BuildDecorator(CParticleInstance *) -> void
{
MT_PLATFORM_STUB();
}
auto CParticleSystemData::OnLoadScript(CTextFileLoader &) -> BOOL
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<BOOL>();
}
auto CParticleSystemData::OnClear() -> void
{
MT_PLATFORM_STUB();
}
auto CParticleSystemData::OnIsData() -> bool
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
}
auto CParticleSystemData::DestroySystem() -> void
{
MT_PLATFORM_STUB();
}
auto CParticleSystemData::New() -> CParticleSystemData *
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<CParticleSystemData *>();
}
auto CParticleSystemData::Delete(CParticleSystemData *) -> void
{
MT_PLATFORM_STUB();
}
decltype(CParticleSystemData::ms_kPool) CParticleSystemData::ms_kPool{};
@@ -1,71 +0,0 @@
// Platform skeleton for EffectLib/ParticleSystemInstance.h (40250 EffectLib/ParticleSystemInstance.cpp), generated by platform_stub.py.
// Every MT_PLATFORM_STUB() body is unimplemented: replace it with the platform implementation.
#include "EffectLib/StdAfx.h"
#include "EffectLib/ParticleSystemInstance.h"
#include "../PlatformStub.h"
auto CParticleSystemInstance::DestroySystem() -> void
{
MT_PLATFORM_STUB();
}
auto CParticleSystemInstance::New() -> CParticleSystemInstance *
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<CParticleSystemInstance *>();
}
auto CParticleSystemInstance::Delete(CParticleSystemInstance *) -> void
{
MT_PLATFORM_STUB();
}
decltype(CParticleSystemInstance::ms_kPool) CParticleSystemInstance::ms_kPool{};
CParticleSystemInstance::CParticleSystemInstance()
{
MT_PLATFORM_STUB();
}
CParticleSystemInstance::~CParticleSystemInstance()
{
MT_PLATFORM_STUB();
}
auto CParticleSystemInstance::OnSetDataPointer(CEffectElementBase *) -> void
{
MT_PLATFORM_STUB();
}
auto CParticleSystemInstance::CreateParticles(float) -> void
{
MT_PLATFORM_STUB();
}
auto CParticleSystemInstance::GetEmissionCount() -> DWORD
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<DWORD>();
}
auto CParticleSystemInstance::OnInitialize() -> void
{
MT_PLATFORM_STUB();
}
auto CParticleSystemInstance::OnDestroy() -> void
{
MT_PLATFORM_STUB();
}
auto CParticleSystemInstance::OnUpdate(float) -> bool
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
}
auto CParticleSystemInstance::OnRender() -> void
{
MT_PLATFORM_STUB();
}
@@ -1,67 +0,0 @@
// Platform skeleton for EffectLib/SimpleLightData.h (40250 EffectLib/SimpleLightData.cpp), generated by platform_stub.py.
// Every MT_PLATFORM_STUB() body is unimplemented: replace it with the platform implementation.
#include "EffectLib/StdAfx.h"
#include "EffectLib/SimpleLightData.h"
#include "../PlatformStub.h"
CLightData::CLightData()
{
MT_PLATFORM_STUB();
}
CLightData::~CLightData()
{
MT_PLATFORM_STUB();
}
auto CLightData::GetRange(float, float &) -> void
{
MT_PLATFORM_STUB();
}
auto CLightData::GetDuration() -> float
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<float>();
}
auto CLightData::InitializeLight(D3DLIGHT8 &) -> void
{
MT_PLATFORM_STUB();
}
auto CLightData::OnClear() -> void
{
MT_PLATFORM_STUB();
}
auto CLightData::OnIsData() -> bool
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
}
auto CLightData::OnLoadScript(CTextFileLoader &) -> BOOL
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<BOOL>();
}
auto CLightData::DestroySystem() -> void
{
MT_PLATFORM_STUB();
}
auto CLightData::New() -> CLightData *
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<CLightData *>();
}
auto CLightData::Delete(CLightData *) -> void
{
MT_PLATFORM_STUB();
}
decltype(CLightData::ms_kPool) CLightData::ms_kPool{};
@@ -1,60 +0,0 @@
// Platform skeleton for EffectLib/SimpleLightInstance.h (40250 EffectLib/SimpleLightInstance.cpp), generated by platform_stub.py.
// Every MT_PLATFORM_STUB() body is unimplemented: replace it with the platform implementation.
#include "EffectLib/StdAfx.h"
#include "EffectLib/SimpleLightInstance.h"
#include "../PlatformStub.h"
CLightInstance::CLightInstance()
{
MT_PLATFORM_STUB();
}
CLightInstance::~CLightInstance()
{
MT_PLATFORM_STUB();
}
auto CLightInstance::OnSetDataPointer(CEffectElementBase *) -> void
{
MT_PLATFORM_STUB();
}
auto CLightInstance::OnInitialize() -> void
{
MT_PLATFORM_STUB();
}
auto CLightInstance::OnDestroy() -> void
{
MT_PLATFORM_STUB();
}
auto CLightInstance::OnUpdate(float) -> bool
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
}
auto CLightInstance::OnRender() -> void
{
MT_PLATFORM_STUB();
}
auto CLightInstance::DestroySystem() -> void
{
MT_PLATFORM_STUB();
}
auto CLightInstance::New() -> CLightInstance *
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<CLightInstance *>();
}
auto CLightInstance::Delete(CLightInstance *) -> void
{
MT_PLATFORM_STUB();
}
decltype(CLightInstance::ms_kPool) CLightInstance::ms_kPool{};
-12
View File
@@ -1,12 +0,0 @@
// Platform skeleton for EffectLib/Type.h (40250 EffectLib/Type.cpp), generated by platform_stub.py.
// Every MT_PLATFORM_STUB() body is unimplemented: replace it with the platform implementation.
#include "EffectLib/StdAfx.h"
#include "EffectLib/Type.h"
#include "../PlatformStub.h"
auto GetTokenTimeEventFloat(CTextFileLoader &, const char *, TTimeEventTableFloat *) -> BOOL
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<BOOL>();
}
+455 -56
View File
@@ -1,73 +1,276 @@
// Platform skeleton for EterBase/Utils.h (40250 EterBase/Utils.cpp), generated by platform_stub.py.
// Every MT_PLATFORM_STUB() body is unimplemented: replace it with the platform implementation. Implemented
// bodies are the 40250 code (batch 2D: the path helpers EterPack uses); stl_lowers lives in EterBase/Stl.cpp.
// Platform implementation of EterBase/Utils.h (40250 EterBase/Utils.cpp). The pure string/path helpers are the
// 40250 bodies verbatim (PORT-PLAN §3); Win32 calls are swapped for POSIX ones where marked PORT.
// stl_lowers lives in EterBase/Stl.cpp.
#include "EterBase/StdAfx.h"
#include "EterBase/Utils.h"
#include "EterBase/Stl.h"
#include "../PlatformStub.h"
#include <assert.h>
#include <stdarg.h>
#include <stdlib.h>
#include <sys/stat.h>
#include <unistd.h>
auto CreateTempFileName(const char *) -> const char *
#include <algorithm>
#include <filesystem>
// PORT: GetTempPath/GetTempFileName -> $TMPDIR + mkstemp (same "<prefix>XXXX" unique-file contract).
const char * CreateTempFileName(const char * c_pszPrefix)
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<const char *>();
static char szTempName[MAX_PATH + 1];
const char * tmp = getenv("TMPDIR");
snprintf(szTempName, sizeof(szTempName), "%s/%sXXXXXX", tmp && *tmp ? tmp : "/tmp", c_pszPrefix ? c_pszPrefix : "etb");
int fd = mkstemp(szTempName);
if (fd >= 0)
close(fd);
return (szTempName);
}
auto GetFilePathNameExtension(const char *, int, std::string *, std::string *, std::string *) -> void
void GetFilePathNameExtension(const char * c_szFile, int len, std::string * pstPath, std::string * pstName, std::string * pstExt)
{
MT_PLATFORM_STUB();
assert(pstPath != NULL);
assert(pstName != NULL);
assert(pstExt != NULL);
int ext = len;
int pos = len;
while (pos > 0)
{
--pos;
char c = c_szFile[pos];
if (ext == len && c == '.')
{
ext = pos;
break;
}
if (c == '/' || c == '\\')
break;
}
while (pos > 0)
{
--pos;
char c = c_szFile[pos];
if (c == '/' || c == '\\')
break;
}
if (pos)
{
++pos;
pstPath->append(c_szFile, pos);
}
if (ext > pos)
pstName->append(c_szFile + pos, ext - pos);
++ext;
if (len > ext)
pstExt->append(c_szFile + ext, len - ext);
}
auto GetFileExtension(const char *, int, std::string *) -> void
void GetFileExtension(const char* c_szFile, int len, std::string* pstExt)
{
MT_PLATFORM_STUB();
int ext = len;
int pos = len;
while (pos > 0)
{
--pos;
char c=c_szFile[pos];
if (ext==len && c=='.')
{
ext=pos;
break;
}
if (c=='/') break;
else if (c=='\\') break;
}
++ext;
if (len>ext)
pstExt->append(c_szFile+ext, len-ext);
}
auto GetFileNameParts(const char *, int, char *, char *, char *) -> void
void GetFileNameParts(const char* c_szFile, int len, char* pszPath, char* pszName, char* pszExt)
{
MT_PLATFORM_STUB();
assert(pszPath!=NULL);
assert(pszName!=NULL);
assert(pszExt!=NULL);
int ext=len;
int pos=len;
while (pos>0)
{
--pos;
char c=c_szFile[pos];
if (ext==len && c=='.')
{
ext=pos;
break;
}
if (c=='/') break;
else if (c=='\\') break;
}
while (pos>0)
{
--pos;
char c=c_szFile[pos];
if (c=='/') break;
else if (c=='\\') break;
}
if (pos)
{
++pos;
for (int i = 0; i < pos; ++i)
{
pszPath[i] = c_szFile[i];
}
pszPath[pos] = '\0';
}
if (ext>pos)
{
int count = 0;
for (int i = pos; i < ext; ++i)
{
pszName[count++] = c_szFile[i];
}
pszName[count] = '\0';
}
++ext;
if (len > ext)
{
int count = 0;
for (int i = ext; i < len; ++i)
{
pszExt[count++] = c_szFile[i];
}
pszExt[count] = '\0';
}
}
auto GetOldIndexingName(char *, int) -> void
// PORT: _ecvt(Index, 256, &dec, &sign) truncated at dec is the unsigned decimal digits of Index.
void GetOldIndexingName(char * szName, int Index)
{
MT_PLATFORM_STUB();
char Temp[512];
snprintf(Temp, sizeof(Temp), "%u", Index < 0 ? 0u - (unsigned) Index : (unsigned) Index);
strcat(szName, Temp);
}
auto GetIndexingName(char *, DWORD) -> void
void GetIndexingName(char * szName, DWORD Index)
{
MT_PLATFORM_STUB();
sprintf(szName + strlen(szName), "%u", Index);
}
auto GetOnlyFileName(const char *, std::string &) -> void
void GetOnlyFileName(const char * sz_Name, std::string & strFileName)
{
MT_PLATFORM_STUB();
strFileName = "";
int i;
for (i=strlen(sz_Name)-1; i>=0; --i)
{
if ('\\' == sz_Name[i] || '/' == sz_Name[i])
{
++i;
break;
}
}
if (i == -1)
i = 0;
for (size_t j = i; j < strlen(sz_Name); ++j)
{
strFileName += sz_Name[j];
}
strFileName += "\0";
}
auto GetOnlyPathName(const char *, std::string &) -> void
void GetOnlyPathName(const char * sz_Name, std::string & OnlyPathName)
{
MT_PLATFORM_STUB();
int i;
for (i = strlen(sz_Name) - 1; i >= 0; --i)
{
if ('\\' == sz_Name[i] || '/' == sz_Name[i])
{
++i;
break;
}
}
if (i == -1)
i = 0;
OnlyPathName.reserve(strlen(sz_Name));
OnlyPathName = "";
for (int j=0; j<i; ++j)
{
OnlyPathName += sz_Name[j];
}
OnlyPathName += "\0";
}
auto GetOnlyPathName(const char *) -> const char *
const char * GetOnlyPathName(const char * c_szName)
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<const char *>();
static std::string strPathName;
GetOnlyPathName(c_szName, strPathName);
return strPathName.c_str();
}
auto GetLocalFileName(const char *, const char *, std::string *) -> bool
bool GetLocalFileName(const char * c_szGlobalPath, const char * c_szFullPathFileName, std::string * pstrLocalFileName)
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
std::string strLocalFileName;
std::string strGlobalPath;
std::string strFullPathFileName;
StringPath(c_szGlobalPath, strGlobalPath);
StringPath(c_szFullPathFileName, strFullPathFileName);
if (strGlobalPath.length() >= strFullPathFileName.length())
return false;
DWORD length = std::min(strGlobalPath.length(), strFullPathFileName.length()); // PORT: min -> std::min
for (DWORD dwPos = 0; dwPos < length; ++dwPos)
{
if (strGlobalPath[dwPos] != strFullPathFileName[dwPos])
return false;
}
*pstrLocalFileName = &c_szFullPathFileName[length];
return true;
}
auto GetExceptionPathName(const char *, std::string &) -> void
void GetExceptionPathName(const char * sz_Name, std::string & OnlyFileName)
{
MT_PLATFORM_STUB();
GetOnlyFileName(sz_Name, OnlyFileName);
}
auto GetWorkingFolder(std::string &) -> void
void GetWorkingFolder(std::string & strFileName)
{
MT_PLATFORM_STUB();
char buf[128+1];
if (!getcwd(buf, 128)) // PORT: _getcwd -> getcwd
buf[0] = '\0';
strcat(buf, "/");
strFileName = buf;
}
void StringLowers(char * String)
@@ -125,21 +328,64 @@ void StringPath(const char * c_szSrc, std::string & rString)
}
}
auto PrintAsciiData(const void *, int) -> void
#define ishprint(x) ((((x) & 0xE0) > 0x90) || isprint(x))
void PrintAsciiData(const void* void_data, int bytes)
{
MT_PLATFORM_STUB();
int i, j, k;
const unsigned char* p;
const unsigned char* data;
data = (const unsigned char*) void_data;
fprintf(stdout, "------------------------------------------------------------------\n");
j = bytes;
while (1)
{
k = j >= 16 ? 16 : j;
p = data;
for (i = 0; i < 16; ++i)
{
if (i >= k)
fprintf(stdout, " ");
else
fprintf(stdout, "%02x ", *p);
p++;
}
fprintf(stdout, "| ");
p = data;
for (i = 0; i < k; ++i)
{
if (i >= k)
fprintf(stdout, " ");
else
fprintf(stdout, "%c", ishprint(*p) ? *p : '.');
p++;
}
fprintf(stdout, "\n");
j -= 16;
data += 16;
if (j <= 0)
break;
}
fprintf(stdout, "------------------------------------------------------------------\n");
}
auto IsFile(const char *) -> bool
bool IsFile(const char* filename)
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
return access(filename, 0) == 0 ? true : false; // PORT: _access -> access
}
auto IsGlobalFileName(const char *) -> bool
bool IsGlobalFileName(const char * c_szFileName)
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
return strchr(c_szFileName, ':') != NULL;
}
auto MIN(int a, int b) -> int
@@ -178,40 +424,193 @@ auto fMINMAX(float min, float value, float max) -> float
return (max < tv) ? max : tv;
}
auto MyCreateDirectory(const char *) -> void
void MyCreateDirectory(const char* path)
{
MT_PLATFORM_STUB();
if (!path || !*path)
return;
char * dir;
const char * p;
if (strlen(path) >= 3)
{
if (*(path + 1) == ':') // C:, D: drive prefix
path += 3;
}
p = path;
int len = strlen(path) + 1;
dir = new char[len];
while (*p)
{
if (*p == '/' || *p == '\\')
{
memset(dir, 0, len);
strncpy(dir, path, p - path);
mkdir(dir, 0755); // PORT: CreateDirectory(dir, NULL) -> mkdir
}
++p;
}
delete [] dir;
}
auto RemoveAllDirectory(const char *) -> void
// PORT: CDirRemover (CDir walk + DeleteFile/RemoveDirectory) -> std::filesystem::remove_all.
void RemoveAllDirectory(const char * c_szDirectoryName)
{
MT_PLATFORM_STUB();
std::error_code ec;
std::filesystem::remove_all(c_szDirectoryName, ec);
}
auto SplitLine(const char *, const char *, std::vector<std::string> *) -> bool
bool SplitLine(const char * c_szLine, const char * c_szDelimeter, std::vector<std::string> * pkVec_strToken)
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<bool>();
pkVec_strToken->reserve(10);
pkVec_strToken->clear();
std::string strLine = c_szLine;
DWORD basePos = 0;
do
{
int beginPos = strLine.find_first_not_of(c_szDelimeter, basePos);
if (beginPos < 0)
return false;
int endPos;
if (strLine[beginPos] == '"')
{
++beginPos;
endPos = strLine.find_first_of("\"", beginPos);
if (endPos < 0)
return false;
basePos = endPos + 1;
}
else
{
endPos = strLine.find_first_of(c_szDelimeter, beginPos);
basePos = endPos;
}
pkVec_strToken->push_back(strLine.substr(beginPos, endPos - beginPos));
} while (basePos < strLine.length());
return true;
}
auto _getf(const char *, ...) -> const char *
const char * _getf(const char* c_szFormat, ...)
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<const char *>();
static char szBuf[256];
va_list args;
va_start(args, c_szFormat);
vsnprintf(szBuf, sizeof(szBuf), c_szFormat, args); // PORT: _vsnprintf -> vsnprintf
va_end(args);
return szBuf;
}
auto CommandLineToArgv(PCHAR, int *) -> PCHAR *
PCHAR* CommandLineToArgv( PCHAR CmdLine, int* _argc )
{
MT_PLATFORM_STUB();
return mt_platform_stub_return<PCHAR *>();
PCHAR* argv;
PCHAR _argv;
ULONG len;
ULONG argc;
CHAR a;
ULONG i, j;
BOOL in_QM; // PORT: BOOLEAN/PUCHAR -> BOOL/unsigned char * (not in the platform windows.h)
BOOL in_TEXT;
BOOL in_SPACE;
len = strlen(CmdLine);
i = ((len+2)/2)*sizeof(PVOID) + sizeof(PVOID);
argv = (PCHAR*)malloc( // PORT: GlobalAlloc(GMEM_FIXED, ...) -> malloc
i + (len+2)*sizeof(CHAR));
_argv = (PCHAR)(((unsigned char *)argv)+i);
argc = 0;
argv[argc] = _argv;
in_QM = FALSE;
in_TEXT = FALSE;
in_SPACE = TRUE;
i = 0;
j = 0;
while( (a = CmdLine[i]) ) {
if(in_QM) {
if(a == '\"') {
in_QM = FALSE;
} else {
_argv[j] = a;
j++;
}
} else {
switch(a) {
case '\"':
in_QM = TRUE;
in_TEXT = TRUE;
if(in_SPACE) {
argv[argc] = _argv+j;
argc++;
}
in_SPACE = FALSE;
break;
case ' ':
case '\t':
case '\n':
case '\r':
if(in_TEXT) {
_argv[j] = '\0';
j++;
}
in_TEXT = FALSE;
in_SPACE = TRUE;
break;
default:
in_TEXT = TRUE;
if(in_SPACE) {
argv[argc] = _argv+j;
argc++;
}
_argv[j] = a;
j++;
in_SPACE = FALSE;
break;
}
}
i++;
}
_argv[j] = '\0';
argv[argc] = NULL;
(*_argc) = argc;
return argv;
}
auto StringExceptCharacter(std::string *, const char *) -> void
void StringExceptCharacter(std::string * pstrString, const char * c_szCharacter)
{
MT_PLATFORM_STUB();
int icurPos = 0;
int iNextPos = 0;
while((iNextPos = pstrString->find_first_of(c_szCharacter, icurPos)) >= 0)
{
std::string strFront = pstrString->substr(icurPos, iNextPos - icurPos);
std::string strBack = pstrString->substr(iNextPos+1, pstrString->length() - iNextPos - 1);
*pstrString = strFront + strBack;
}
}
auto GetExcutedFileName(std::string &) -> void
// PORT: GetModuleFileName(NULL, ...) -> the platform has no executable-path query; report the working folder.
void GetExcutedFileName(std::string & r_str)
{
MT_PLATFORM_STUB();
GetWorkingFolder(r_str);
}
@@ -3,7 +3,9 @@
#include "EterLib/GrpImage.h"
#include "EterLib/GrpSubImage.h"
#include "EterLib/GrpText.h"
#include "EterLib/AttributeData.h"
#include "EterGrnLib/Thing.h"
#include "EffectLib/EffectMesh.h"
namespace {
CResource* NewUIImage(const char* name) { return new CGraphicImage(name); }
@@ -11,6 +13,8 @@ CResource* NewUISubImage(const char* name) { return new CGraphicSubImage(name);
// 40250 UserInterface/PythonApplication.cpp NewText: a "<face>:<size>[i].fnt" name is a CGraphicText.
CResource* NewText(const char* name) { return new CGraphicText(name); }
CResource* NewThing(const char* name) { return new CGraphicThing(name); }
CResource* NewEffectMesh(const char* name) { return new CEffectMesh(name); }
CResource* NewAttributeData(const char* name) { return new CAttributeData(name); }
}
CPythonResource::CPythonResource() {
@@ -19,6 +23,8 @@ CPythonResource::CPythonResource() {
m_resManager.RegisterResourceNewFunctionPointer("sub", NewUISubImage);
m_resManager.RegisterResourceNewFunctionPointer("fnt", NewText);
m_resManager.RegisterResourceNewFunctionPointer("gr2", NewThing);
m_resManager.RegisterResourceNewFunctionPointer("mde", NewEffectMesh);
m_resManager.RegisterResourceNewFunctionPointer("mdatr", NewAttributeData);
}
CPythonResource::~CPythonResource() { m_resManager.DestroyDeletingList(); }
void CPythonResource::Destroy() { m_resManager.DestroyDeletingList(); m_resManager.Destroy(); }
@@ -122,8 +122,7 @@ bool CPythonApplication::Create(PyObject*, const char*, int, int, int)
return false;
}
// 40250 m_pyItem.Create() (PythonApplication.cpp:1253): registers dropitem.mse with CEffectManager,
// still a platform stub.
// 40250 m_pyItem.Create() (PythonApplication.cpp:1253): registers dropitem.mse with CEffectManager.
CPythonItem::Instance().Create();
// 40250 PythonApplication.cpp:1260, after DefaultFont_Startup and the IME.