summaryrefslogtreecommitdiff
path: root/arm9/lib/src
diff options
context:
space:
mode:
Diffstat (limited to 'arm9/lib/src')
-rw-r--r--arm9/lib/src/GX_load3d.c20
1 files changed, 12 insertions, 8 deletions
diff --git a/arm9/lib/src/GX_load3d.c b/arm9/lib/src/GX_load3d.c
index 5f13deda..5aa15581 100644
--- a/arm9/lib/src/GX_load3d.c
+++ b/arm9/lib/src/GX_load3d.c
@@ -9,14 +9,18 @@ extern u32 sTexLCDCBlk1;
extern u32 sTexLCDCBlk2;
extern u32 sSzTexBlk1;
-//probably structs of length 0x6
-extern u16 sTexStartAddrTable[];
-extern u16 sTexStartAddrTable[];
-extern u16 sTexStartAddrTable[];
+static const struct _TexStartAddrTable
+{
+ u16 blk1; // 12 bit shift
+ u16 blk2; // 12 bit shift
+ u16 szBlk1; // 12 bit shift
+};
+extern struct _TexStartAddrTable sTexStartAddrTable[16];
+
extern u32 sTexPltt;
extern u32 sTexPlttLCDCBlk;
-extern u16 sTexPlttStartAddrTable[];
+extern u16 sTexPlttStartAddrTable[8];
extern s32 sClrImg;
extern u32 sClrImgLCDCBlk;
@@ -24,9 +28,9 @@ extern u32 sClrImgLCDCBlk;
ARM_FUNC void GX_BeginLoadTex(){
u32 temp = GX_ResetBankForTex();
sTex = temp;
- sTexLCDCBlk1 = sTexStartAddrTable[temp * 3] << 0xC;
- sTexLCDCBlk2 = sTexStartAddrTable[temp * 3] << 0xC;
- sSzTexBlk1 = sTexStartAddrTable[temp * 3] << 0xC;
+ sTexLCDCBlk1 = sTexStartAddrTable[temp].blk1 << 0xC;
+ sTexLCDCBlk2 = sTexStartAddrTable[temp].blk2 << 0xC;
+ sSzTexBlk1 = sTexStartAddrTable[temp].szBlk1 << 0xC;
}
ARM_FUNC void GX_LoadTex(void *src, u32 offset, u32 size){