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>
32 lines
1.6 KiB
C++
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); }
|