Browse Source

Add functions to load a specified resource from the plClientResMgr onto a plate.

cursors2
Joseph Davies 14 years ago
parent
commit
197e24a746
  1. 29
      MOULOpenSourceClientPlugin/Plasma20/Sources/Plasma/PubUtilLib/plPipeline/plPlates.cpp
  2. 2
      MOULOpenSourceClientPlugin/Plasma20/Sources/Plasma/PubUtilLib/plPipeline/plPlates.h

29
MOULOpenSourceClientPlugin/Plasma20/Sources/Plasma/PubUtilLib/plPipeline/plPlates.cpp

@ -51,6 +51,7 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
#include "plPlates.h" #include "plPlates.h"
#include "../plJPEG/plJPEG.h" #include "../plJPEG/plJPEG.h"
#include "../plGImage/plPNG.h"
#include "../plGImage/plMipmap.h" #include "../plGImage/plMipmap.h"
#include "../plSurface/plLayer.h" #include "../plSurface/plLayer.h"
#include "../plSurface/hsGMaterial.h" #include "../plSurface/hsGMaterial.h"
@ -59,6 +60,7 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
#include "hsGDeviceRef.h" #include "hsGDeviceRef.h"
#include "hsResMgr.h" #include "hsResMgr.h"
#include "plPipeDebugFlags.h" #include "plPipeDebugFlags.h"
#include "../plClientResMgr/plClientResMgr.h"
// A bit of a hack so that we will have the correct instance in the SceneViewer // A bit of a hack so that we will have the correct instance in the SceneViewer
@ -542,6 +544,33 @@ void plPlate::ReloadFromJPEGResource( const char *resName, UInt32 colorKey )
} }
} }
void plPlate::CreateFromResourceDat(const char *resName)
{
if (resName)
{
plMipmap* resTexture = TRACKED_NEW plMipmap;
resTexture->CopyFrom(plClientResMgr::Instance().getResource(resName));
char keyName[128];
sprintf( keyName, "PlateResource#%d", fMagicUniqueKeyInt++ );
hsgResMgr::ResMgr()->NewKey(keyName, resTexture, plLocation::kGlobalFixedLoc);
CreateMaterial(resTexture->GetWidth(), resTexture->GetHeight(), true, resTexture);
}
else
{
// Null resource request - Create a blank Material instead
CreateMaterial(32, 32, true);
}
}
void plPlate::ReloadFromResourceDat(const char *resName)
{
if (resName)
{
fMipmap->CopyFrom(plClientResMgr::Instance().getResource(resName));
}
}
//// ILink /////////////////////////////////////////////////////////////////// //// ILink ///////////////////////////////////////////////////////////////////
// Links a plate into a plate list, but also sorts by decreasing depth, // Links a plate into a plate list, but also sorts by decreasing depth,
// so the plate won't actually necessarily be added after the pointer // so the plate won't actually necessarily be added after the pointer

2
MOULOpenSourceClientPlugin/Plasma20/Sources/Plasma/PubUtilLib/plPipeline/plPlates.h

@ -147,6 +147,8 @@ class plPlate
void ReloadFromResource( const char *resName, UInt32 colorKey = 0x00ff00ff ); void ReloadFromResource( const char *resName, UInt32 colorKey = 0x00ff00ff );
void CreateFromJPEGResource( const char *resName, UInt32 colorKey = 0x00ff00ff ); void CreateFromJPEGResource( const char *resName, UInt32 colorKey = 0x00ff00ff );
void ReloadFromJPEGResource( const char *resName, UInt32 colorKey = 0x00ff00ff ); void ReloadFromJPEGResource( const char *resName, UInt32 colorKey = 0x00ff00ff );
void CreateFromResourceDat( const char *resName );
void ReloadFromResourceDat( const char *resName );
}; };
//// plGraphPlate Class Definition /////////////////////////////////////////// //// plGraphPlate Class Definition ///////////////////////////////////////////

Loading…
Cancel
Save