Isle
Loading...
Searching...
No Matches
legotextureinfo.h
Go to the documentation of this file.
1#ifndef LEGOTEXTUREINFO_H
2#define LEGOTEXTUREINFO_H
3
4#include "misc/legotypes.h"
5#include "tgl/tgl.h"
6
7#include <d3drmobj.h>
8#include <ddraw.h>
9
10class LegoTexture;
11
20public:
25
30
39 static LegoTextureInfo* Create(const char* p_name, LegoTexture* p_texture);
40
48 static BOOL SetGroupTexture(Tgl::Mesh* pMesh, LegoTextureInfo* p_textureInfo);
49
57 static BOOL GetGroupTexture(Tgl::Mesh* pMesh, LegoTextureInfo*& p_textureInfo);
58
66 LegoResult FUN_10066010(const LegoU8* p_bits);
67
68 // private:
69
73 char* m_name; // 0x00
74
79
84
88 LPDIRECT3DRMTEXTURE2 m_texture; // 0x0c
89};
90
91// GLOBAL: LEGO1 0x100db6f0
92// IID_IDirect3DRMTexture2
93
94#endif // LEGOTEXTUREINFO_H
[AI] Contains DirectDraw and Direct3DRM handles and metadata for a texture used in the LEGO Island re...
static BOOL GetGroupTexture(Tgl::Mesh *pMesh, LegoTextureInfo *&p_textureInfo)
[AI] Retrieves the LegoTextureInfo currently attached to the supplied mesh group.
static BOOL SetGroupTexture(Tgl::Mesh *pMesh, LegoTextureInfo *p_textureInfo)
[AI] Assigns a Direct3DRM texture group from a LegoTextureInfo to a mesh group via the Tgl/Microsoft ...
LegoTextureInfo()
[AI] Constructor.
LegoResult FUN_10066010(const LegoU8 *p_bits)
[AI] Updates the pixel bits for the current surface/texture with the provided bitmap data.
LPDIRECTDRAWPALETTE m_palette
[AI] DirectDraw palette object (8-bit) assigned to the m_surface.
LPDIRECTDRAWSURFACE m_surface
[AI] DirectDraw surface holding the 8-bit indexed image for the texture.
LPDIRECT3DRMTEXTURE2 m_texture
[AI] Direct3DRM texture object used by retained-mode rendering.
~LegoTextureInfo()
[AI] Destructor.
char * m_name
[AI] Pointer to the logical name string for this texture (allocated; e.g., "BROWN_ROOF").
static LegoTextureInfo * Create(const char *p_name, LegoTexture *p_texture)
[AI] Creates a new LegoTextureInfo for a given logical name and loaded LegoTexture.
[AI] Represents a texture which wraps a LegoImage and provides loading/saving functionality.
Definition: legotexture.h:15
[AI] Represents a renderable 3D mesh.
Definition: tgl.h:596
struct IDirectDrawSurface FAR * LPDIRECTDRAWSURFACE
Definition: ddraw.h:74
struct IDirectDrawPalette FAR * LPDIRECTDRAWPALETTE
Definition: ddraw.h:78
typedef BOOL(FAR PASCAL *LPDIENUMDEVICEOBJECTSCALLBACKA)(LPCDIDEVICEOBJECTINSTANCEA
[AI] Defines basic fixed-width data types and platform-neutral constants for LEGO Island codebase.
unsigned char LegoU8
[AI] Unsigned 8-bit integer type used throughout LEGO Island.
Definition: legotypes.h:47
LegoS32 LegoResult
[AI] Function result type (return code): typically SUCCESS (0) or FAILURE (-1).
Definition: legotypes.h:101