summaryrefslogtreecommitdiff
path: root/src/T2DLL/T2OuterObjPlugin.cpp
blob: 0ad302229e22bf61456b0316c7a66755f6dc4b43 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#include "CResFile.h"
#include "T2OuterObjDef.h"
#include "T2OuterObjPlugin.h"

T2OuterObjPlugin::T2OuterObjPlugin(DWORD inType, T2PluginSpecifier& inSpecifier)
    : T2ToolPlugin(inType, inSpecifier)
{
}

/*virtual*/ T2OuterObjPlugin::~T2OuterObjPlugin() {
}

BOOL T2OuterObjPlugin::LoadAllTemplatePlugin(T2WorldDef* inWorldDef, T2TemplatePluginDB* inDB) {
    LoadT2OuterObjDef(inWorldDef);
    return true;
}

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;
}