mirror of
https://github.com/zeldaret/ss
synced 2026-07-08 05:50:30 -04:00
lyt_texMap OK
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user