summaryrefslogtreecommitdiff
path: root/src/T2DLL/T2MoverPlugin.cpp
diff options
context:
space:
mode:
authorAsh Wolf <ninji@wuffs.org>2023-06-28 22:22:32 +0100
committerAsh Wolf <ninji@wuffs.org>2023-06-28 22:22:32 +0100
commitc0c336500955a23e344651e5412c9d9d441ef4ee (patch)
tree790769c748db307cf3314f6e896e2f61c68561a2 /src/T2DLL/T2MoverPlugin.cpp
parent37e364b2c6cc7487a1c888d256a73e5337bb7189 (diff)
downloadt2win-c0c336500955a23e344651e5412c9d9d441ef4ee.tar.gz
t2win-c0c336500955a23e344651e5412c9d9d441ef4ee.zip
first pass of T2DLL
Diffstat (limited to '')
-rw-r--r--src/T2DLL/T2MoverPlugin.cpp22
1 files changed, 19 insertions, 3 deletions
diff --git a/src/T2DLL/T2MoverPlugin.cpp b/src/T2DLL/T2MoverPlugin.cpp
index a2a5a3a..0b38037 100644
--- a/src/T2DLL/T2MoverPlugin.cpp
+++ b/src/T2DLL/T2MoverPlugin.cpp
@@ -1,13 +1,29 @@
+#include "CResFile.h"
#include "T2MoverPlugin.h"
-T2MoverPlugin::T2MoverPlugin(unsigned long, T2PluginSpecifier&) {
+T2MoverPlugin::T2MoverPlugin(DWORD type, T2PluginSpecifier& specifier)
+ : T2EquipPlugin(type, specifier)
+{
}
/*virtual*/ T2MoverPlugin::~T2MoverPlugin() {
}
-int T2MoverPlugin::LoadAllTemplatePlugin(T2WorldDef*, T2TemplatePluginDB*) {
+BOOL T2MoverPlugin::LoadAllTemplatePlugin(T2WorldDef* worldDef, T2TemplatePluginDB*) {
+ LoadT2MoverDef(worldDef);
+ return true;
}
-void T2MoverPlugin::LoadT2MoverDef(T2WorldDef*) {
+typedef T2TemplatePlugin *(MSVC_STDCALL* ConstructTemplatePluginType) (T2PluginSpecifier *, CResFile *, T2WorldDef *, T2MoverPlugin *);
+
+void T2MoverPlugin::LoadT2MoverDef(T2WorldDef* worldDef) {
+ ConstructTemplatePluginType func = (ConstructTemplatePluginType) GetProcAddress((HMODULE) mModuleHandle, "ConstructTemplatePlugin");
+#line 26
+ _ASSERT(func);
+
+ CResFile resFile;
+ resFile.OpenResource(mModuleHandle, 1, 'MvDf');
+ T2TemplatePlugin *plugin = func(&mSpecifier, &resFile, worldDef, this);
+
+ mTemplatePlugin = plugin;
}