small init changes

This commit is contained in:
aap 2016-06-26 11:35:16 +02:00
parent 53647520bc
commit 454e7b8ac6
2 changed files with 48 additions and 14 deletions

View File

@ -8,6 +8,7 @@
#include "rwplg.h" #include "rwplg.h"
#include "rwpipeline.h" #include "rwpipeline.h"
#include "rwobjects.h" #include "rwobjects.h"
#include "rwengine.h"
#include "rwplugins.h" #include "rwplugins.h"
#include "ps2/rwps2.h" #include "ps2/rwps2.h"
#include "ps2/rwps2plg.h" #include "ps2/rwps2plg.h"
@ -409,14 +410,9 @@ MatFX::enableEffects(Atomic *atomic)
atomic->pipeline = matFXGlobals.pipelines[rw::platform]; atomic->pipeline = matFXGlobals.pipelines[rw::platform];
} }
void static void*
registerMatFXPlugin(void) matfxOpen(void*, int32, int32)
{ {
ObjPipeline *defpipe = new ObjPipeline(PLATFORM_NULL);
defpipe->pluginID = 0; //ID_MATFX;
defpipe->pluginData = 0;
for(uint i = 0; i < nelem(matFXGlobals.pipelines); i++)
matFXGlobals.pipelines[i] = defpipe;
matFXGlobals.pipelines[PLATFORM_PS2] = matFXGlobals.pipelines[PLATFORM_PS2] =
ps2::makeMatFXPipeline(); ps2::makeMatFXPipeline();
matFXGlobals.pipelines[PLATFORM_XBOX] = matFXGlobals.pipelines[PLATFORM_XBOX] =
@ -429,6 +425,27 @@ registerMatFXPlugin(void)
wdgl::makeMatFXPipeline(); wdgl::makeMatFXPipeline();
matFXGlobals.pipelines[PLATFORM_GL3] = matFXGlobals.pipelines[PLATFORM_GL3] =
gl3::makeMatFXPipeline(); gl3::makeMatFXPipeline();
}
static void*
matfxClose(void*, int32, int32)
{
}
void
registerMatFXPlugin(void)
{
// init dummy pipelines
ObjPipeline *defpipe = new ObjPipeline(PLATFORM_NULL);
defpipe->pluginID = 0; //ID_MATFX;
defpipe->pluginData = 0;
for(uint i = 0; i < nelem(matFXGlobals.pipelines); i++)
matFXGlobals.pipelines[i] = defpipe;
// TODO: call platform specific init functions?
// have platform specific open functions?
Engine::registerPlugin(0, ID_MATFX, matfxOpen, matfxClose);
matFXGlobals.atomicOffset = matFXGlobals.atomicOffset =
Atomic::registerPlugin(sizeof(int32), ID_MATFX, Atomic::registerPlugin(sizeof(int32), ID_MATFX,

View File

@ -8,6 +8,7 @@
#include "rwplg.h" #include "rwplg.h"
#include "rwpipeline.h" #include "rwpipeline.h"
#include "rwobjects.h" #include "rwobjects.h"
#include "rwengine.h"
#include "rwplugins.h" #include "rwplugins.h"
#include "ps2/rwps2.h" #include "ps2/rwps2.h"
#include "ps2/rwps2plg.h" #include "ps2/rwps2plg.h"
@ -226,14 +227,9 @@ skinRights(void *object, int32, int32, uint32)
Skin::setPipeline((Atomic*)object, 1); Skin::setPipeline((Atomic*)object, 1);
} }
void static void*
registerSkinPlugin(void) skinOpen(void*, int32, int32)
{ {
ObjPipeline *defpipe = new ObjPipeline(PLATFORM_NULL);
defpipe->pluginID = ID_SKIN;
defpipe->pluginData = 1;
for(uint i = 0; i < nelem(skinGlobals.pipelines); i++)
skinGlobals.pipelines[i] = defpipe;
skinGlobals.pipelines[PLATFORM_PS2] = skinGlobals.pipelines[PLATFORM_PS2] =
ps2::makeSkinPipeline(); ps2::makeSkinPipeline();
skinGlobals.pipelines[PLATFORM_XBOX] = skinGlobals.pipelines[PLATFORM_XBOX] =
@ -246,6 +242,27 @@ registerSkinPlugin(void)
wdgl::makeSkinPipeline(); wdgl::makeSkinPipeline();
skinGlobals.pipelines[PLATFORM_GL3] = skinGlobals.pipelines[PLATFORM_GL3] =
gl3::makeSkinPipeline(); gl3::makeSkinPipeline();
}
static void*
skinClose(void*, int32, int32)
{
}
void
registerSkinPlugin(void)
{
// init dummy pipelines
ObjPipeline *defpipe = new ObjPipeline(PLATFORM_NULL);
defpipe->pluginID = ID_SKIN;
defpipe->pluginData = 1;
for(uint i = 0; i < nelem(skinGlobals.pipelines); i++)
skinGlobals.pipelines[i] = defpipe;
// TODO: call platform specific init functions?
// have platform specific open functions?
Engine::registerPlugin(0, ID_SKIN, skinOpen, skinClose);
skinGlobals.offset = Geometry::registerPlugin(sizeof(Skin*), ID_SKIN, skinGlobals.offset = Geometry::registerPlugin(sizeof(Skin*), ID_SKIN,
createSkin, createSkin,