Files
dusklight/include/dolphin/charPipeline/texPalette.h
T
TakaRikka eda175afc8 copy dolsdk2004 to tp / b_bh + e_mb done (#2299)
* move dolsdk2004 over

* cleanup some temp work

* finish and cleanup gf

* b_bh done

* d_a_e_mb done
2025-02-10 21:20:42 +02:00

56 lines
1.2 KiB
C

#ifndef _CHARPIPELINE_TEXPALETTE_H_
#define _CHARPIPELINE_TEXPALETTE_H_
#include <dolphin/gx/GXStruct.h>
#ifdef __cplusplus
extern "C" {
#endif
typedef struct {
u16 numEntries;
u8 unpacked;
u8 pad8;
GXTlutFmt format;
Ptr data;
} CLUTHeader, *CLUTHeaderPtr;
typedef struct {
u16 height;
u16 width;
u32 format;
Ptr data;
GXTexWrapMode wrapS;
GXTexWrapMode wrapT;
GXTexFilter minFilter;
GXTexFilter magFilter;
f32 LODBias;
u8 edgeLODEnable;
u8 minLOD;
u8 maxLOD;
u8 unpacked;
} TEXHeader, *TEXHeaderPtr;
typedef struct {
TEXHeaderPtr textureHeader;
CLUTHeaderPtr CLUTHeader;
} TEXDescriptor, *TEXDescriptorPtr;
typedef struct {
u32 versionNumber;
u32 numDescriptors;
TEXDescriptorPtr descriptorArray;
} TEXPalette, *TEXPalettePtr;
void TEXGetPalette(TEXPalettePtr* pal, char* name);
TEXDescriptorPtr TEXGet(TEXPalettePtr pal, u32 id);
void TEXReleasePalette(TEXPalettePtr* pal);
void TEXGetGXTexObjFromPalette(TEXPalettePtr pal, GXTexObj* to, u32 id);
void TEXGetGXTexObjFromPaletteCI(TEXPalettePtr pal, GXTexObj* to, GXTlutObj* tlo, GXTlut tluts, u32 id);
#ifdef __cplusplus
}
#endif
#endif