port: ScriptLib Resource.cpp verbatim 40250; PythonUtils mapped (already verbatim)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
f9cd63713f
commit
58a3d01027
@@ -1,31 +1,106 @@
|
||||
// 40250 ScriptLib/Resource.cpp, verbatim.
|
||||
#include "ScriptLib/StdAfx.h"
|
||||
#include "ScriptLib/Resource.h"
|
||||
#include "EterLib/GrpImage.h"
|
||||
#include "EterLib/GrpExpandedImageInstance.h"
|
||||
#include "EterLib/GrpTextInstance.h"
|
||||
#include "EterLib/GrpMarkInstance.h"
|
||||
#include "EterLib/GrpSubImage.h"
|
||||
#include "EterLib/GrpText.h"
|
||||
#include "EterLib/AttributeData.h"
|
||||
#include "EterGrnLib/Thing.h"
|
||||
#include "EterGrnLib/ThingInstance.h"
|
||||
#include "EffectLib/EffectMesh.h"
|
||||
#include "EffectLib/EffectInstance.h"
|
||||
#include "GameLib/WeaponTrace.h"
|
||||
#include "GameLib/MapType.h"
|
||||
#include "GameLib/GameType.h"
|
||||
#include "GameLib/RaceData.h"
|
||||
#include "GameLib/RaceMotionData.h"
|
||||
#include "GameLib/ActorInstance.h"
|
||||
#include "GameLib/Area.h"
|
||||
#include "GameLib/ItemData.h"
|
||||
#include "GameLib/FlyingData.h"
|
||||
#include "GameLib/FlyTrace.h"
|
||||
#include "GameLib/FlyingInstance.h"
|
||||
#include "GameLib/FlyingData.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); }
|
||||
#include "ScriptLib/Resource.h"
|
||||
|
||||
CResource * NewImage(const char* c_szFileName)
|
||||
{
|
||||
return new CGraphicImage(c_szFileName);
|
||||
}
|
||||
|
||||
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);
|
||||
CResource * NewSubImage(const char* c_szFileName)
|
||||
{
|
||||
return new CGraphicSubImage(c_szFileName);
|
||||
}
|
||||
|
||||
CResource * NewText(const char* c_szFileName)
|
||||
{
|
||||
return new CGraphicText(c_szFileName);
|
||||
}
|
||||
|
||||
CResource * NewThing(const char* c_szFileName)
|
||||
{
|
||||
return new CGraphicThing(c_szFileName);
|
||||
}
|
||||
|
||||
CResource * NewEffectMesh(const char* c_szFileName)
|
||||
{
|
||||
return new CEffectMesh(c_szFileName);
|
||||
}
|
||||
|
||||
CResource * NewAttributeData(const char* c_szFileName)
|
||||
{
|
||||
return new CAttributeData(c_szFileName);
|
||||
}
|
||||
|
||||
void CPythonResource::DumpFileList(const char * c_szFileName)
|
||||
{
|
||||
m_resManager.DumpFileListToTextFile(c_szFileName);
|
||||
}
|
||||
|
||||
void CPythonResource::Destroy()
|
||||
{
|
||||
CFlyingInstance::DestroySystem();
|
||||
CActorInstance::DestroySystem();
|
||||
CArea::DestroySystem();
|
||||
CGraphicExpandedImageInstance::DestroySystem();
|
||||
CGraphicImageInstance::DestroySystem();
|
||||
CGraphicMarkInstance::DestroySystem();
|
||||
CGraphicThingInstance::DestroySystem();
|
||||
CGrannyModelInstance::DestroySystem();
|
||||
CGraphicTextInstance::DestroySystem();
|
||||
CEffectInstance::DestroySystem();
|
||||
CWeaponTrace::DestroySystem();
|
||||
CFlyTrace::DestroySystem();
|
||||
|
||||
m_resManager.DestroyDeletingList();
|
||||
|
||||
CFlyingData::DestroySystem();
|
||||
CItemData::DestroySystem();
|
||||
CEffectData::DestroySystem();
|
||||
CEffectMesh::SEffectMeshData::DestroySystem();
|
||||
CRaceData::DestroySystem();
|
||||
NRaceData::DestroySystem();
|
||||
CRaceMotionData::DestroySystem();
|
||||
|
||||
m_resManager.Destroy();
|
||||
}
|
||||
|
||||
CPythonResource::CPythonResource()
|
||||
{
|
||||
m_resManager.RegisterResourceNewFunctionPointer("sub", NewSubImage);
|
||||
m_resManager.RegisterResourceNewFunctionPointer("dds", NewImage);
|
||||
m_resManager.RegisterResourceNewFunctionPointer("jpg", NewImage);
|
||||
m_resManager.RegisterResourceNewFunctionPointer("tga", NewImage);
|
||||
m_resManager.RegisterResourceNewFunctionPointer("bmp", NewImage);
|
||||
m_resManager.RegisterResourceNewFunctionPointer("fnt", NewText);
|
||||
m_resManager.RegisterResourceNewFunctionPointer("gr2", NewThing);
|
||||
m_resManager.RegisterResourceNewFunctionPointer("mde", NewEffectMesh);
|
||||
m_resManager.RegisterResourceNewFunctionPointer("mdatr", NewAttributeData);
|
||||
}
|
||||
|
||||
CPythonResource::~CPythonResource()
|
||||
{
|
||||
}
|
||||
CPythonResource::~CPythonResource() { m_resManager.DestroyDeletingList(); }
|
||||
void CPythonResource::Destroy() { m_resManager.DestroyDeletingList(); m_resManager.Destroy(); }
|
||||
void CPythonResource::DumpFileList(const char* name) { m_resManager.DumpFileListToTextFile(name); }
|
||||
|
||||
Reference in New Issue
Block a user