isle/LEGO1/lego/legoomni/include/legotextureinfo.h
Anonymous Maarten c77b5869f5
Fix warnings triggered by isle-portable (#1304)
* Replace computed constant with more readable computed constants

* LegoAnim::GetActorUnknown0x04 returns a number, not a pointer

* Add macro for creating RGB555 colors

* Texture pixel data is passed through as const data

* Compare palette index against 0 instead of NULL pointer

* warning: deleting 'void*' is undefined [-Wdelete-incomplete] warning

Some DirectX sdk's declars D3DRMIMAGE::buffer1 and D3DRMIMAGE::buffer2
as a void pointer.

* Don't use floats

* Fix wrong op

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-12-29 22:45:00 +01:00

34 lines
805 B
C++

#ifndef LEGOTEXTUREINFO_H
#define LEGOTEXTUREINFO_H
#include "misc/legotypes.h"
#include "tgl/tgl.h"
#include <d3drmobj.h>
#include <ddraw.h>
class LegoTexture;
// SIZE 0x10
class LegoTextureInfo {
public:
LegoTextureInfo();
~LegoTextureInfo();
static LegoTextureInfo* Create(const char* p_name, LegoTexture* p_texture);
static BOOL SetGroupTexture(Tgl::Mesh* pMesh, LegoTextureInfo* p_textureInfo);
static BOOL GetGroupTexture(Tgl::Mesh* pMesh, LegoTextureInfo*& p_textureInfo);
LegoResult FUN_10066010(const LegoU8* p_bits);
// private:
char* m_name; // 0x00
LPDIRECTDRAWSURFACE m_surface; // 0x04
LPDIRECTDRAWPALETTE m_palette; // 0x08
LPDIRECT3DRMTEXTURE2 m_texture; // 0x0c
};
// GLOBAL: LEGO1 0x100db6f0
// IID_IDirect3DRMTexture2
#endif // LEGOTEXTUREINFO_H