Files
firestorm/Gameleap/code/mw4/Libraries/mlr/GOSImagePool.hpp
T
Cyd 2b8ca921cb Initial full mirror of c:\VWE (source + assets + toolchain + outputs) via Git LFS
Complete disaster-recovery snapshot: engine/game source, game data assets,
VC6 toolchain + DX SDKs, build outputs, deployed game, and _UNUSED archive.
Large binaries in Git LFS; text preserved byte-for-byte (core.autocrlf=false,
no eol attributes). See RECOVERY.md for the one-clone rebuild procedure.
2026-06-24 21:28:16 -05:00

99 lines
1.9 KiB
C++

#pragma once
#define MLR_GOSIMAGEPOOL_HPP
#include "MLR.hpp"
namespace MidLevelRenderer {
class GOSImage;
class MLRTexture;
class GOSImagePool
#if defined(_ARMOR)
: public Stuff::Signature
#endif
{
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// Constructors/Destructors
//
public:
GOSImagePool();
~GOSImagePool();
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// Image handling
//
public:
GOSImage*
GetImage(const char* imageName);
GOSImage*
GetImage(const char* imageName, gos_TextureFormat format, int size, gos_TextureHints hints);
virtual bool
LoadImageGOS(GOSImage *image, int=0)=0;
void
RemoveImage(GOSImage *image);
void
GetTexturePath(Stuff::MString* pName) const
{ Check_Object(this); *pName = texturePath; }
static DWORD
SkinThis(
const char* name,
gos_TextureFormat format,
DWORD skin,
DWORD detail
);
static void
SkinThis(
TEXTUREPTR texture_ptr,
TEXTUREPTR skin_ptr,
TEXTUREPTR detail_ptr
);
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// Testing
//
public:
void
TestInstance() const
{}
protected:
Stuff::HashOf<GOSImage*, Stuff::MString>
imageHash;
Stuff::MString
texturePath;
static int
ReadHint(Stuff::Page *page);
};
class TGAFilePool:
public GOSImagePool
{
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// Constructors/Destructors
//
public:
TGAFilePool(
const char* path,
const char* hint_file=NULL
);
~TGAFilePool();
protected:
Stuff::NotationFile
*hintFile;
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// Image handling
//
public:
bool
LoadImageGOS(GOSImage *image, int=0);
};
}