Files
mtgodot-poc/extension/src/platform/ScriptLib/Resource.cpp
T
shenleiandClaude Opus 5.5 b69116992c 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>
2026-09-24 03:19:30 +09:00

32 lines
1.6 KiB
C++

#include "ScriptLib/StdAfx.h"
#include "ScriptLib/Resource.h"
#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); }
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() {
for (const char* ext : {"tga", "dds", "png", "jpg", "bmp"})
m_resManager.RegisterResourceNewFunctionPointer(ext, NewUIImage);
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(); }
void CPythonResource::DumpFileList(const char* name) { m_resManager.DumpFileListToTextFile(name); }