summaryrefslogtreecommitdiff
path: root/src/T2DLL/T2OuterObjPlugin.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/T2DLL/T2OuterObjPlugin.cpp')
-rw-r--r--src/T2DLL/T2OuterObjPlugin.cpp23
1 files changed, 20 insertions, 3 deletions
diff --git a/src/T2DLL/T2OuterObjPlugin.cpp b/src/T2DLL/T2OuterObjPlugin.cpp
index cc33816..0ad3022 100644
--- a/src/T2DLL/T2OuterObjPlugin.cpp
+++ b/src/T2DLL/T2OuterObjPlugin.cpp
@@ -1,13 +1,30 @@
+#include "CResFile.h"
+#include "T2OuterObjDef.h"
#include "T2OuterObjPlugin.h"
-T2OuterObjPlugin::T2OuterObjPlugin(unsigned long, T2PluginSpecifier&) {
+T2OuterObjPlugin::T2OuterObjPlugin(DWORD inType, T2PluginSpecifier& inSpecifier)
+ : T2ToolPlugin(inType, inSpecifier)
+{
}
/*virtual*/ T2OuterObjPlugin::~T2OuterObjPlugin() {
}
-int T2OuterObjPlugin::LoadAllTemplatePlugin(T2WorldDef*, T2TemplatePluginDB*) {
+BOOL T2OuterObjPlugin::LoadAllTemplatePlugin(T2WorldDef* inWorldDef, T2TemplatePluginDB* inDB) {
+ LoadT2OuterObjDef(inWorldDef);
+ return true;
}
-void T2OuterObjPlugin::LoadT2OuterObjDef(T2WorldDef*) {
+typedef T2OuterObjDef *(MSVC_STDCALL* ConstructTemplatePluginType) (T2PluginSpecifier *, CResFile *, T2WorldDef *, T2OuterObjPlugin *);
+
+void T2OuterObjPlugin::LoadT2OuterObjDef(T2WorldDef* inWorldDef) {
+ ConstructTemplatePluginType theFunc = (ConstructTemplatePluginType) GetProcAddress((HMODULE) mModuleHandle, "ConstructTemplatePlugin");
+#line 25
+ _ASSERT(theFunc);
+
+ CResFile resFile;
+ resFile.OpenResource(mModuleHandle, 1, 'OODf');
+ T2OuterObjDef *theDef = theFunc(&mSpecifier, &resFile, inWorldDef, this);
+
+ mTemplatePlugin = theDef;
}