Richard Boegli's CnC_Generals_Zero_Hour Fork WIP
This is documentation of Richard Boegil's Zero Hour Fork
 
Loading...
Searching...
No Matches
WW3DAssetManager Class Reference

#include <assetmgr.h>

Inherited by W3DAssetManager.

Public Member Functions

 WW3DAssetManager (void)
 
virtual ~WW3DAssetManager (void)
 
virtual bool Load_3D_Assets (const char *filename)
 
virtual bool Load_3D_Assets (FileClass &assetfile)
 
virtual void Free_Assets (void)
 
virtual void Release_Unused_Assets (void)
 
virtual void Free_Assets_With_Exclusion_List (const DynamicVectorClass< StringClass > &model_exclusion_list)
 
virtual void Create_Asset_List (DynamicVectorClass< StringClass > &model_exclusion_list)
 
virtual RenderObjClassCreate_Render_Obj (const char *name)
 
virtual bool Render_Obj_Exists (const char *name)
 
virtual RenderObjIteratorCreate_Render_Obj_Iterator (void)
 
virtual void Release_Render_Obj_Iterator (RenderObjIterator *)
 
virtual AssetIteratorCreate_HAnim_Iterator (void)
 
virtual HAnimClassGet_HAnim (const char *name)
 
virtual bool Add_Anim (HAnimClass *new_anim)
 
HashTemplateClass< StringClass, TextureClass * > & Texture_Hash ()
 
virtual TextureClassGet_Texture (const char *filename, MipCountType mip_level_count=MIP_LEVELS_ALL, WW3DFormat texture_format=WW3D_FORMAT_UNKNOWN, bool allow_compression=true, TextureBaseClass::TexAssetType type=TextureBaseClass::TEX_REGULAR, bool allow_reduction=true)
 
virtual void Release_All_Textures (void)
 
virtual void Release_Unused_Textures (void)
 
virtual void Release_Texture (TextureClass *)
 
virtual void Load_Procedural_Textures ()
 
virtual MetalMapManagerClassPeek_Metal_Map_Manager ()
 
virtual Font3DInstanceClassGet_Font3DInstance (const char *name)
 
virtual FontCharsClassGet_FontChars (const char *name, int point_size, bool is_bold=false)
 
virtual AssetIteratorCreate_HTree_Iterator (void)
 
virtual HTreeClassGet_HTree (const char *name)
 
virtual void Register_Prototype_Loader (PrototypeLoaderClass *loader)
 
void Add_Prototype (PrototypeClass *newproto)
 
void Remove_Prototype (PrototypeClass *proto)
 
void Remove_Prototype (const char *name)
 
PrototypeClassFind_Prototype (const char *name)
 
bool Get_WW3D_Load_On_Demand (void)
 
void Set_WW3D_Load_On_Demand (bool on_off)
 
bool Get_Activate_Fog_On_Load (void)
 
void Set_Activate_Fog_On_Load (bool on_off)
 
void Log_All_Textures ()
 

Static Public Member Functions

static WW3DAssetManagerGet_Instance (void)
 
static void Delete_This (void)
 
static void Log_Texture_Statistics ()
 

Protected Types

enum  { PROTOLOADERS_VECTOR_SIZE = 32 , PROTOLOADERS_GROWTH_RATE = 16 , PROTOTYPES_VECTOR_SIZE = 256 , PROTOTYPES_GROWTH_RATE = 32 }
 
enum  { PROTOTYPE_HASH_TABLE_SIZE = 4096 , PROTOTYPE_HASH_BITS = 12 , PROTOTYPE_HASH_MASK = 0x00000FFF }
 

Protected Member Functions

virtual AssetIteratorCreate_Font3DData_Iterator (void)
 
virtual void Add_Font3DData (Font3DDataClass *font)
 
virtual void Remove_Font3DData (Font3DDataClass *font)
 
virtual Font3DDataClassGet_Font3DData (const char *name)
 
virtual void Release_All_Font3DDatas (void)
 
virtual void Release_Unused_Font3DDatas (void)
 
virtual void Release_All_FontChars (void)
 
void Free (void)
 
PrototypeLoaderClassFind_Prototype_Loader (int chunk_id)
 
bool Load_Prototype (ChunkLoadClass &cload)
 

Protected Attributes

DynamicVectorClass< PrototypeLoaderClass * > PrototypeLoaders
 
DynamicVectorClass< PrototypeClass * > Prototypes
 
PrototypeClass ** PrototypeHashTable
 
HTreeManagerClass HTreeManager
 
HAnimManagerClass HAnimManager
 
TextureFileCache * TextureCache
 
SList< Font3DDataClassFont3DDatas
 
SimpleDynVecClass< FontCharsClass * > FontCharsList
 
bool WW3D_Load_On_Demand
 
bool Activate_Fog_On_Load
 
MetalMapManagerClassMetalManager
 
HashTemplateClass< StringClass, TextureClass * > TextureHash
 

Static Protected Attributes

static WW3DAssetManagerTheInstance = NULL
 

Friends

class RObjIterator
 
class HAnimIterator
 
class HTreeIterator
 
class Font3DDataIterator
 
class TextureIterator
 
class Font3DInstanceClass
 

Detailed Description

Definition at line 184 of file assetmgr.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
protected
Enumerator
PROTOLOADERS_VECTOR_SIZE 
PROTOLOADERS_GROWTH_RATE 
PROTOTYPES_VECTOR_SIZE 
PROTOTYPES_GROWTH_RATE 

Definition at line 351 of file assetmgr.h.

◆ anonymous enum

anonymous enum
protected
Enumerator
PROTOTYPE_HASH_TABLE_SIZE 
PROTOTYPE_HASH_BITS 
PROTOTYPE_HASH_MASK 

Definition at line 378 of file assetmgr.h.

Constructor & Destructor Documentation

◆ WW3DAssetManager()

WW3DAssetManager::WW3DAssetManager ( void )

Definition at line 208 of file assetmgr.cpp.

◆ ~WW3DAssetManager()

WW3DAssetManager::~WW3DAssetManager ( void )
virtual

Definition at line 263 of file assetmgr.cpp.

Member Function Documentation

◆ Add_Anim()

virtual bool WW3DAssetManager::Add_Anim ( HAnimClass * new_anim)
inlinevirtual

Definition at line 254 of file assetmgr.h.

◆ Add_Font3DData()

void WW3DAssetManager::Add_Font3DData ( Font3DDataClass * font)
protectedvirtual

Definition at line 1383 of file assetmgr.cpp.

◆ Add_Prototype()

void WW3DAssetManager::Add_Prototype ( PrototypeClass * newproto)

Definition at line 1564 of file assetmgr.cpp.

◆ Create_Asset_List()

void WW3DAssetManager::Create_Asset_List ( DynamicVectorClass< StringClass > & model_exclusion_list)
virtual

Definition at line 598 of file assetmgr.cpp.

◆ Create_Font3DData_Iterator()

AssetIterator * WW3DAssetManager::Create_Font3DData_Iterator ( void )
protectedvirtual

Definition at line 959 of file assetmgr.cpp.

◆ Create_HAnim_Iterator()

AssetIterator * WW3DAssetManager::Create_HAnim_Iterator ( void )
virtual

Definition at line 920 of file assetmgr.cpp.

◆ Create_HTree_Iterator()

AssetIterator * WW3DAssetManager::Create_HTree_Iterator ( void )
virtual

Definition at line 938 of file assetmgr.cpp.

◆ Create_Render_Obj()

RenderObjClass * WW3DAssetManager::Create_Render_Obj ( const char * name)
virtual

Reimplemented in W3DAssetManager.

Definition at line 799 of file assetmgr.cpp.

◆ Create_Render_Obj_Iterator()

RenderObjIterator * WW3DAssetManager::Create_Render_Obj_Iterator ( void )
virtual

Definition at line 880 of file assetmgr.cpp.

◆ Delete_This()

static void WW3DAssetManager::Delete_This ( void )
inlinestatic

Definition at line 206 of file assetmgr.h.

◆ Find_Prototype()

PrototypeClass * WW3DAssetManager::Find_Prototype ( const char * name)

Definition at line 1672 of file assetmgr.cpp.

◆ Find_Prototype_Loader()

PrototypeLoaderClass * WW3DAssetManager::Find_Prototype_Loader ( int chunk_id)
protected

Definition at line 1538 of file assetmgr.cpp.

◆ Free()

void WW3DAssetManager::Free ( void )
protected

Definition at line 438 of file assetmgr.cpp.

◆ Free_Assets()

void WW3DAssetManager::Free_Assets ( void )
virtual

Definition at line 457 of file assetmgr.cpp.

◆ Free_Assets_With_Exclusion_List()

void WW3DAssetManager::Free_Assets_With_Exclusion_List ( const DynamicVectorClass< StringClass > & model_exclusion_list)
virtual

Definition at line 528 of file assetmgr.cpp.

◆ Get_Activate_Fog_On_Load()

bool WW3DAssetManager::Get_Activate_Fog_On_Load ( void )
inline

Definition at line 323 of file assetmgr.h.

◆ Get_Font3DData()

Font3DDataClass * WW3DAssetManager::Get_Font3DData ( const char * name)
protectedvirtual

Definition at line 1349 of file assetmgr.cpp.

◆ Get_Font3DInstance()

Font3DInstanceClass * WW3DAssetManager::Get_Font3DInstance ( const char * name)
virtual

Definition at line 1330 of file assetmgr.cpp.

◆ Get_FontChars()

FontCharsClass * WW3DAssetManager::Get_FontChars ( const char * name,
int point_size,
bool is_bold = false )
virtual

Definition at line 1457 of file assetmgr.cpp.

◆ Get_HAnim()

HAnimClass * WW3DAssetManager::Get_HAnim ( const char * name)
virtual

Reimplemented in W3DAssetManager.

Definition at line 978 of file assetmgr.cpp.

◆ Get_HTree()

HTreeClass * WW3DAssetManager::Get_HTree ( const char * name)
virtual

Definition at line 1032 of file assetmgr.cpp.

◆ Get_Instance()

static WW3DAssetManager * WW3DAssetManager::Get_Instance ( void )
inlinestatic

Definition at line 205 of file assetmgr.h.

◆ Get_Texture()

TextureClass * WW3DAssetManager::Get_Texture ( const char * filename,
MipCountType mip_level_count = MIP_LEVELS_ALL,
WW3DFormat texture_format = WW3D_FORMAT_UNKNOWN,
bool allow_compression = true,
TextureBaseClass::TexAssetType type = TextureBaseClass::TEX_REGULAR,
bool allow_reduction = true )
virtual

Reimplemented in W3DAssetManager.

Definition at line 1075 of file assetmgr.cpp.

◆ Get_WW3D_Load_On_Demand()

bool WW3DAssetManager::Get_WW3D_Load_On_Demand ( void )
inline

Definition at line 317 of file assetmgr.h.

◆ Load_3D_Assets() [1/2]

bool WW3DAssetManager::Load_3D_Assets ( const char * filename)
virtual

Reimplemented in W3DAssetManager.

Definition at line 631 of file assetmgr.cpp.

◆ Load_3D_Assets() [2/2]

bool WW3DAssetManager::Load_3D_Assets ( FileClass & assetfile)
virtual

Definition at line 661 of file assetmgr.cpp.

◆ Load_Procedural_Textures()

void WW3DAssetManager::Load_Procedural_Textures ( )
virtual

Definition at line 295 of file assetmgr.cpp.

◆ Load_Prototype()

bool WW3DAssetManager::Load_Prototype ( ChunkLoadClass & cload)
protected

Definition at line 712 of file assetmgr.cpp.

◆ Log_All_Textures()

void WW3DAssetManager::Log_All_Textures ( void )

Definition at line 1235 of file assetmgr.cpp.

◆ Log_Texture_Statistics()

void WW3DAssetManager::Log_Texture_Statistics ( )
static

Definition at line 384 of file assetmgr.cpp.

◆ Peek_Metal_Map_Manager()

virtual MetalMapManagerClass * WW3DAssetManager::Peek_Metal_Map_Manager ( )
inlinevirtual

Definition at line 279 of file assetmgr.h.

◆ Register_Prototype_Loader()

void WW3DAssetManager::Register_Prototype_Loader ( PrototypeLoaderClass * loader)
virtual

Definition at line 1517 of file assetmgr.cpp.

◆ Release_All_Font3DDatas()

void WW3DAssetManager::Release_All_Font3DDatas ( void )
protectedvirtual

Definition at line 1407 of file assetmgr.cpp.

◆ Release_All_FontChars()

void WW3DAssetManager::Release_All_FontChars ( void )
protectedvirtual

Definition at line 1490 of file assetmgr.cpp.

◆ Release_All_Textures()

void WW3DAssetManager::Release_All_Textures ( void )
virtual

Definition at line 1152 of file assetmgr.cpp.

◆ Release_Render_Obj_Iterator()

void WW3DAssetManager::Release_Render_Obj_Iterator ( RenderObjIterator * it)
virtual

Definition at line 898 of file assetmgr.cpp.

◆ Release_Texture()

void WW3DAssetManager::Release_Texture ( TextureClass * tex)
virtual

Definition at line 1225 of file assetmgr.cpp.

◆ Release_Unused_Assets()

void WW3DAssetManager::Release_Unused_Assets ( void )
virtual

Definition at line 503 of file assetmgr.cpp.

◆ Release_Unused_Font3DDatas()

void WW3DAssetManager::Release_Unused_Font3DDatas ( void )
protectedvirtual

Definition at line 1428 of file assetmgr.cpp.

◆ Release_Unused_Textures()

void WW3DAssetManager::Release_Unused_Textures ( void )
virtual

Definition at line 1181 of file assetmgr.cpp.

◆ Remove_Font3DData()

void WW3DAssetManager::Remove_Font3DData ( Font3DDataClass * font)
protectedvirtual

Definition at line 1389 of file assetmgr.cpp.

◆ Remove_Prototype() [1/2]

void WW3DAssetManager::Remove_Prototype ( const char * name)

Definition at line 1640 of file assetmgr.cpp.

◆ Remove_Prototype() [2/2]

void WW3DAssetManager::Remove_Prototype ( PrototypeClass * proto)

Definition at line 1586 of file assetmgr.cpp.

◆ Render_Obj_Exists()

bool WW3DAssetManager::Render_Obj_Exists ( const char * name)
virtual

Definition at line 857 of file assetmgr.cpp.

◆ Set_Activate_Fog_On_Load()

void WW3DAssetManager::Set_Activate_Fog_On_Load ( bool on_off)
inline

Definition at line 324 of file assetmgr.h.

◆ Set_WW3D_Load_On_Demand()

void WW3DAssetManager::Set_WW3D_Load_On_Demand ( bool on_off)
inline

Definition at line 318 of file assetmgr.h.

◆ Texture_Hash()

HashTemplateClass< StringClass, TextureClass * > & WW3DAssetManager::Texture_Hash ( )
inline

Definition at line 261 of file assetmgr.h.

Friends And Related Symbol Documentation

◆ Font3DDataIterator

friend class Font3DDataIterator
friend

Definition at line 439 of file assetmgr.h.

◆ Font3DInstanceClass

friend class Font3DInstanceClass
friend

Definition at line 443 of file assetmgr.h.

◆ HAnimIterator

friend class HAnimIterator
friend

Definition at line 437 of file assetmgr.h.

◆ HTreeIterator

friend class HTreeIterator
friend

Definition at line 438 of file assetmgr.h.

◆ RObjIterator

friend class RObjIterator
friend

Definition at line 436 of file assetmgr.h.

◆ TextureIterator

friend class TextureIterator
friend

Definition at line 440 of file assetmgr.h.

Member Data Documentation

◆ Activate_Fog_On_Load

bool WW3DAssetManager::Activate_Fog_On_Load
protected

Definition at line 417 of file assetmgr.h.

◆ Font3DDatas

SList<Font3DDataClass> WW3DAssetManager::Font3DDatas
protected

Definition at line 402 of file assetmgr.h.

◆ FontCharsList

SimpleDynVecClass<FontCharsClass*> WW3DAssetManager::FontCharsList
protected

Definition at line 407 of file assetmgr.h.

◆ HAnimManager

HAnimManagerClass WW3DAssetManager::HAnimManager
protected

Definition at line 391 of file assetmgr.h.

◆ HTreeManager

HTreeManagerClass WW3DAssetManager::HTreeManager
protected

Definition at line 390 of file assetmgr.h.

◆ MetalManager

MetalMapManagerClass* WW3DAssetManager::MetalManager
protected

Definition at line 420 of file assetmgr.h.

◆ PrototypeHashTable

PrototypeClass* * WW3DAssetManager::PrototypeHashTable
protected

Definition at line 385 of file assetmgr.h.

◆ PrototypeLoaders

DynamicVectorClass< PrototypeLoaderClass * > WW3DAssetManager::PrototypeLoaders
protected

Definition at line 365 of file assetmgr.h.

◆ Prototypes

DynamicVectorClass< PrototypeClass * > WW3DAssetManager::Prototypes
protected

Definition at line 372 of file assetmgr.h.

◆ TextureCache

TextureFileCache* WW3DAssetManager::TextureCache
protected

Definition at line 397 of file assetmgr.h.

◆ TextureHash

HashTemplateClass<StringClass, TextureClass *> WW3DAssetManager::TextureHash
protected

Definition at line 425 of file assetmgr.h.

◆ TheInstance

WW3DAssetManager * WW3DAssetManager::TheInstance = NULL
staticprotected

Definition at line 431 of file assetmgr.h.

◆ WW3D_Load_On_Demand

bool WW3DAssetManager::WW3D_Load_On_Demand
protected

Definition at line 412 of file assetmgr.h.


The documentation for this class was generated from the following files: