lyt_texMap OK

This commit is contained in:
elijah-thomas774
2024-06-06 23:24:25 -04:00
parent afbcb57c62
commit b0b02bbedf
8 changed files with 265 additions and 13 deletions
+16 -5
View File
@@ -49,12 +49,28 @@ public:
void Set(const TexMap &t) {
*this = t;
}
// IDK how many of these Sets/ReplaceImage/SetNoWrap actually exist due to version changes
void Set(const GXTexObj &);
void Set(const GXTlutObj &);
void Set(TPLPalette *, u32);
void Set(const TPLDescriptor *);
void ReplaceImage(const TexMap &);
// guess, between set and replace image which just does the same thing as Set by only Image, Width, Height, and
// format
void ReplaceImage(const GXTexObj &);
void ReplaceImage(TPLPalette *, u32);
void ReplaceImage(const TPLDescriptor *);
void SetNoWrap(const TexMap &);
void SetNoWrap(const GXTexObj &);
void SetNoWrap(TPLPalette *, u32);
void SetNoWrap(const TPLDescriptor *);
void SetTexParam(void *pImage, u16 width, u16 height, GXTexFmt format, GXTexWrapMode wrapS, GXTexWrapMode wrapT,
bool);
void *GetImage() const {
return mpImage;
}
@@ -169,11 +185,6 @@ public:
mBits.paletteFormat = fmt;
}
// ReplaceImage__Q34nw4r3lyt6TexMapFP10TPLPaletteUl
void ReplaceImage(TPLPalette *pal, u32 id);
// ReplaceImage__Q34nw4r3lyt6TexMapFPC13TPLDescriptor
void ReplaceImage(TPLDescriptor *pTPLDesc);
private:
void *mpImage; // at 0x00
void *mpPalette; // at 0x04
+21 -1
View File
@@ -56,7 +56,27 @@ typedef struct _GXLightObjImpl {
} GXLightObjImpl;
typedef struct _GXTexObjImpl {
u8 todo[0x20];
u32 dummy0; // at 0x00
// -> 0x0x000003 | wrapS
// -> 0x0x00000C | wrapT
// -> 0x00000010 | magFilt
// -> 0x000000E0 | minFilt
// -> 0x00000100 | edgeLODEnable
// -> 0x0001FE00 | lodBias * 32
// -> 0x00180000 | anisotropy
// -> 0x00200000 | biasClampEn
u32 dummy1; // at 0x04
// -> 0x000000FF | minLOD * 16
// -> 0x0000FF00 | maxLOD * 16
u32 dummy2; // at 0x08
// -> 0x000003FF | width - 1
// -> 0x000FFC00 | height - 1
u32 dummy3; // at 0x0C (( & 0xFFFFFF) << 5 -> ObjData)
u32 userData; // at 0x10
u32 format; // at 0x14
u32 tlutName; // at 0x18
u32 dummy7; // at 0x1C
// -> 0x01000000 | MipMap
} GXTexObjImpl;
typedef struct _GXTlutObjImpl {
+12 -2
View File
@@ -11,13 +11,23 @@ GX_DECL_PUBLIC_STRUCT(GXTlutObj, 12);
void __GXSetSUTexRegs(void);
void GXInitTexObj(GXTexObj *, void *, u16, u16, GXTexFmt, GXTexWrapMode, GXTexWrapMode, u8);
void GXInitTexObjLOD(GXTexObj *, GXTexFilter, GXTexFilter, f32, f32, f32, u8, u8, GXAnisotropy);
void GXInitTexObj(GXTexObj *pTexObj, void *pImage, u16 width, u16 height, GXTexFmt format, GXTexWrapMode wrapS,
GXTexWrapMode wrapT, u8 mipmap);
void GXInitTexObjLOD(GXTexObj *pTexObj, GXTexFilter minFilter, GXTexFilter magFilter, f32 minLOD, f32 maxLOD,
f32 LODBias, u8 biasClampEnable, u8 edgeLODEnable, GXAnisotropy anisotropy);
void GXInitTexObjTlut(GXTexObj *, u32);
void GXInitTexObjCI(GXTexObj *, void *, u16, u16, GXTexFmt, GXTexWrapMode, GXTexWrapMode, u8, u32);
void GXInitTlutObj(GXTlutObj *, void *, GXTlutFmt, u16);
void GXLoadTlut(GXTlutObj *, u32);
void GXLoadTexObj(GXTexObj *, GXTexMapID);
void GXGetTexObjAll(const GXTexObj *pTexObj, void **pImage, u16 *width, u16 *height, GXTexFmt *format,
GXTexWrapMode *wrapS, GXTexWrapMode *wrapT, u8 *mipmap);
void GXGetTexObjLODAll(const GXTexObj *pTexObj, GXTexFilter *minFilter, GXTexFilter *magFilter, f32 *minLOD,
f32 *maxLOD, f32 *LODBias, u8 *biasClampEnable, u8 *edgeLODEnable, GXAnisotropy *anisotropy);
u32 GXGetTexObjTlut(GXTexObj *);
#ifdef __cplusplus
}
#endif