41#ifndef TEXTURELOADER_H
42#define TEXTURELOADER_H
52struct IDirect3DTexture8;
58 static void Init(
void);
71 bool allow_compression);
87 static void Update(
void(*network_callback)(
void) =
NULL);
104 static bool TextureLoadSuspended;
108 static int TextureInactiveOverrideTime;
135 bool Is_Empty (
void)
const {
return (Root.Next == &Root); }
217 virtual void Deinit (
void);
255 void Apply (
bool initialize);
282 virtual void Deinit (
void);
295 unsigned char* Get_Locked_CubeMap_Surface_Pointer(
unsigned int face,
unsigned int level);
296 unsigned int Get_Locked_CubeMap_Surface_Pitch(
unsigned int face,
unsigned int level)
const;
298 IDirect3DCubeTexture8* Peek_D3D_Cube_Texture(
void) {
return (IDirect3DCubeTexture8*)
D3DTexture; }
323 unsigned char* Get_Locked_Volume_Pointer(
unsigned int level);
324 unsigned int Get_Locked_Volume_Row_Pitch(
unsigned int level);
325 unsigned int Get_Locked_Volume_Slice_Pitch(
unsigned int level);
327 IDirect3DVolumeTexture8* Peek_D3D_Volume_Texture(
void) {
return (IDirect3DVolumeTexture8*)
D3DTexture; }
virtual void Unlock_Surfaces(void)
virtual bool Load_Compressed_Mipmap(void)
virtual void Deinit(void)
virtual bool Begin_Uncompressed_Load(void)
CubeTextureLoadTaskClass()
virtual void Destroy(void)
virtual void Init(TextureBaseClass *tc, TaskType type, PriorityType priority)
virtual bool Begin_Compressed_Load(void)
virtual void Lock_Surfaces(void)
void Push_Front(TextureLoadTaskClass *task)
void Remove(TextureLoadTaskClass *task)
TextureLoadTaskClass * Pop_Front(void)
TextureLoadTaskClass * Pop_Back(void)
void Push_Back(TextureLoadTaskClass *task)
SynchronizedTextureLoadTaskListClass(void)
IDirect3DTexture8 * Peek_D3D_Texture(void)
unsigned int Get_Reduction(void) const
TextureBaseClass * Texture
WW3DFormat Get_Format(void) const
virtual void Deinit(void)
unsigned int Get_Height(void) const
virtual bool Load_Uncompressed_Mipmap(void)
~TextureLoadTaskClass(void)
virtual bool Load_Compressed_Mipmap(void)
unsigned int Get_Locked_Surface_Pitch(unsigned int level) const
unsigned int LockedSurfacePitch[MIP_LEVELS_MAX]
static TextureLoadTaskClass * Create(TextureBaseClass *tc, TaskType type, PriorityType priority)
virtual void Init(TextureBaseClass *tc, TaskType type, PriorityType priority)
virtual bool Begin_Compressed_Load(void)
virtual void Destroy(void)
unsigned char * LockedSurfacePtr[MIP_LEVELS_MAX]
void Set_Type(TaskType t)
TextureLoadTaskClass(void)
StateType Get_State(void) const
TaskType Get_Type(void) const
virtual bool Begin_Uncompressed_Load(void)
virtual void Lock_Surfaces(void)
static void Delete_Free_Pool(void)
unsigned int MipLevelCount
PriorityType Get_Priority(void) const
void Apply_Missing_Texture(void)
void Apply(bool initialize)
unsigned int Get_Mip_Level_Count(void) const
unsigned char * Get_Locked_Surface_Ptr(unsigned int level)
virtual void Unlock_Surfaces(void)
unsigned int Get_Width(void) const
TextureBaseClass * Peek_Texture(void)
void Set_State(StateType s)
IDirect3DBaseTexture8 * D3DTexture
void Set_Priority(PriorityType p)
TextureLoadTaskClass * Pop_Back(void)
bool Is_Empty(void) const
void Push_Back(TextureLoadTaskClass *task)
void Push_Front(TextureLoadTaskClass *task)
TextureLoadTaskClass * Pop_Front(void)
void Remove(TextureLoadTaskClass *task)
TextureLoadTaskListClass(void)
TextureLoadTaskListNodeClass(void)
TextureLoadTaskListClass * Get_List(void)
TextureLoadTaskListNodeClass * Prev
TextureLoadTaskListClass * List
friend class TextureLoadTaskListClass
TextureLoadTaskListNodeClass * Next
static void Continue_Texture_Load()
static void Set_Texture_Inactive_Override_Time(int time_ms)
static void Validate_Texture_Size(unsigned &width, unsigned &height, unsigned &depth)
static void Request_Background_Loading(TextureBaseClass *tc)
static void Flush_Pending_Load_Tasks(void)
static void Suspend_Texture_Load()
static void Request_Thumbnail(TextureBaseClass *tc)
static IDirect3DTexture8 * Load_Thumbnail(const StringClass &filename, const Vector3 &hsv_shift)
static bool Is_DX8_Thread(void)
static void Request_Foreground_Loading(TextureBaseClass *tc)
static IDirect3DSurface8 * Load_Surface_Immediate(const StringClass &filename, WW3DFormat surface_format, bool allow_compression)
virtual void Unlock_Surfaces(void)
virtual bool Load_Compressed_Mipmap(void)
virtual void Lock_Surfaces(void)
virtual void Init(TextureBaseClass *tc, TaskType type, PriorityType priority)
VolumeTextureLoadTaskClass()
virtual bool Begin_Compressed_Load(void)
virtual void Destroy(void)
virtual bool Begin_Uncompressed_Load(void)