summaryrefslogtreecommitdiff
path: root/arm9/lib/src
diff options
context:
space:
mode:
authorMade <made111@gmx.de>2020-05-17 01:40:01 +0200
committerMade <made111@gmx.de>2020-05-17 01:40:01 +0200
commit2e1c3ccd3ff3035acc98b34c2b29ba5c865e6194 (patch)
tree11a531b7e84aeebead25bb3b387c260bfdf1bc9e /arm9/lib/src
parent929c523340dfecbd0e3313e25d36abe47e1cc63e (diff)
struct defs
Diffstat (limited to 'arm9/lib/src')
-rw-r--r--arm9/lib/src/GX_g3.c36
-rw-r--r--arm9/lib/src/GX_g3b.c130
-rw-r--r--arm9/lib/src/GX_state.c28
-rw-r--r--arm9/lib/src/GX_vramcnt.c148
4 files changed, 171 insertions, 171 deletions
diff --git a/arm9/lib/src/GX_g3.c b/arm9/lib/src/GX_g3.c
index eb01453d..379ee52b 100644
--- a/arm9/lib/src/GX_g3.c
+++ b/arm9/lib/src/GX_g3.c
@@ -3,34 +3,34 @@
#include "gx.h"
-ARM_FUNC void G3_BeginMakeDL(struct DL *displaylist, void *r1, u32 r2){
- displaylist->var0C = r2;
- displaylist->var08 = r1;
- displaylist->var00 = r1;
- displaylist->var04 = (u32 *)r1 + 1;
- displaylist->var10 = 0x0;
+ARM_FUNC void G3_BeginMakeDL(struct GXDLInfo *displaylist, void *r1, u32 r2){
+ displaylist->length = r2;
+ displaylist->bottom = r1;
+ displaylist->curr_cmd = r1;
+ displaylist->curr_param = (u32 *)r1 + 1;
+ displaylist->param0_cmd_flg = 0x0;
}
-ARM_FUNC s32 G3_EndMakeDL(struct DL *displaylist){
- if (displaylist->var08 == displaylist->var00)
+ARM_FUNC s32 G3_EndMakeDL(struct GXDLInfo *displaylist){
+ if (displaylist->bottom == (u32 *)displaylist->curr_cmd)
return 0;
//pads the buffer with 0 to 4byte alignment if needed
- switch((u32)displaylist->var00 & 0x3)
+ switch((u32)displaylist->curr_cmd & 0x3)
{
case 0:
- return displaylist->var00 - displaylist->var08;
+ return displaylist->curr_cmd - (u8 *)displaylist->bottom;
case 1:
- *displaylist->var00++ = 0x0;
+ *displaylist->curr_cmd++ = 0x0;
case 2:
- *displaylist->var00++ = 0x0;
+ *displaylist->curr_cmd++ = 0x0;
case 3:
- *displaylist->var00++ = 0x0;
+ *displaylist->curr_cmd++ = 0x0;
}
- if (displaylist->var10)
+ if (displaylist->param0_cmd_flg)
{
- *displaylist->var04++ = 0x0;
- displaylist->var10 = 0x0;
+ *displaylist->curr_param++ = 0x0;
+ displaylist->param0_cmd_flg = 0x0;
}
- displaylist->var00 = (u8 *)displaylist->var04;
- return displaylist->var00 - displaylist->var08;
+ displaylist->curr_cmd = (u8 *)displaylist->curr_param;
+ return displaylist->curr_cmd - (u8 *)displaylist->bottom;
}
diff --git a/arm9/lib/src/GX_g3b.c b/arm9/lib/src/GX_g3b.c
index 50281ec0..9a943bce 100644
--- a/arm9/lib/src/GX_g3b.c
+++ b/arm9/lib/src/GX_g3b.c
@@ -3,36 +3,36 @@
#include "gx.h"
-ARM_FUNC void G3BS_LoadMtx44(struct DL *displaylist, struct Mtx44 *mtx){
- *(u32 *)displaylist->var00 = 0x16;
- MI_Copy64B(mtx, displaylist->var04);
+ARM_FUNC void G3BS_LoadMtx44(struct GXDLInfo *displaylist, struct Mtx44 *mtx){
+ *(u32 *)displaylist->curr_cmd = 0x16;
+ MI_Copy64B(mtx, displaylist->curr_param);
}
-ARM_FUNC void G3B_PushMtx(struct DL *displaylist){
- *(u32 *)displaylist->var00 = 0x11;
- displaylist->var00 = (u8 *)displaylist->var04;
- displaylist->var04 = (u32 *)displaylist->var00 + 1;
+ARM_FUNC void G3B_PushMtx(struct GXDLInfo *displaylist){
+ *(u32 *)displaylist->curr_cmd = 0x11;
+ displaylist->curr_cmd = (u8 *)displaylist->curr_param;
+ displaylist->curr_param = (u32 *)displaylist->curr_cmd + 1;
}
-ARM_FUNC void G3B_PopMtx(struct DL *displaylist, void *mtx){
- *(u32 *)displaylist->var00 = 0x12;
- *displaylist->var04 = (u32)mtx;
- displaylist->var00 = (u8 *)displaylist->var04 + 0x4;
- displaylist->var04 = (u32 *)displaylist->var00 + 1;
+ARM_FUNC void G3B_PopMtx(struct GXDLInfo *displaylist, void *mtx){
+ *(u32 *)displaylist->curr_cmd = 0x12;
+ *displaylist->curr_param = (u32)mtx;
+ displaylist->curr_cmd = (u8 *)displaylist->curr_param + 0x4;
+ displaylist->curr_param = (u32 *)displaylist->curr_cmd + 1;
}
-ARM_FUNC void G3B_LoadMtx44(struct DL *displaylist, struct Mtx44 *mtx){
+ARM_FUNC void G3B_LoadMtx44(struct GXDLInfo *displaylist, struct Mtx44 *mtx){
G3BS_LoadMtx44(displaylist, mtx);
- displaylist->var00 = (u8 *)displaylist->var04 + sizeof(struct Mtx44);
- displaylist->var04 = (u32 *)displaylist->var00 + 1;
+ displaylist->curr_cmd = (u8 *)displaylist->curr_param + sizeof(struct Mtx44);
+ displaylist->curr_param = (u32 *)displaylist->curr_cmd + 1;
}
//color format is RGB555, stored in the lower bits
-ARM_FUNC void G3B_Color(struct DL * displaylist, u32 vtx_col){
- *(u32 *)displaylist->var00 = 0x20;
- *displaylist->var04 = vtx_col;
- displaylist->var00 = (u8 *)displaylist->var04 + 0x4;
- displaylist->var04 = (u32 *)displaylist->var00 + 1;
+ARM_FUNC void G3B_Color(struct GXDLInfo * displaylist, u32 vtx_col){
+ *(u32 *)displaylist->curr_cmd = 0x20;
+ *displaylist->curr_param = vtx_col;
+ displaylist->curr_cmd = (u8 *)displaylist->curr_param + 0x4;
+ displaylist->curr_param = (u32 *)displaylist->curr_cmd + 1;
}
/*
@@ -40,51 +40,51 @@ Only feed normalized Vectors
only the fractional part and the sign, which is in the first nonfraction bit
since the vector is assumed to be normalized, are used
*/
-ARM_FUNC void G3B_Normal(struct DL * displaylist, fx16 x, fx16 y, fx16 z){
- *(u32 *)displaylist->var00 = 0x21;
- *displaylist->var04 = ((x >> 3) & 0x3FF) | (((y >> 3) & 0x3FF) << 0xA) | (((z >> 3) & 0x3FF) << 0x14) ;
- displaylist->var00 = (u8 *)displaylist->var04 + 0x4;
- displaylist->var04 = (u32 *)displaylist->var00 + 1;
+ARM_FUNC void G3B_Normal(struct GXDLInfo * displaylist, fx16 x, fx16 y, fx16 z){
+ *(u32 *)displaylist->curr_cmd = 0x21;
+ *displaylist->curr_param = ((x >> 3) & 0x3FF) | (((y >> 3) & 0x3FF) << 0xA) | (((z >> 3) & 0x3FF) << 0x14) ;
+ displaylist->curr_cmd = (u8 *)displaylist->curr_param + 0x4;
+ displaylist->curr_param = (u32 *)displaylist->curr_cmd + 1;
}
-ARM_FUNC void G3B_Vtx(struct DL * displaylist, fx32 x, fx32 y, fx32 z){
- *(u32 *)displaylist->var00 = 0x23;
- displaylist->var04[0] = (u32)(u16)x | (u32)(u16)y << 0x10;
- displaylist->var04[1] = (u32)(u16)z;
- displaylist->var00 = (u8 *)displaylist->var04 + 0x8;
- displaylist->var04 = (u32 *)displaylist->var00 + 1;
+ARM_FUNC void G3B_Vtx(struct GXDLInfo * displaylist, fx32 x, fx32 y, fx32 z){
+ *(u32 *)displaylist->curr_cmd = 0x23;
+ displaylist->curr_param[0] = (u32)(u16)x | (u32)(u16)y << 0x10;
+ displaylist->curr_param[1] = (u32)(u16)z;
+ displaylist->curr_cmd = (u8 *)displaylist->curr_param + 0x8;
+ displaylist->curr_param = (u32 *)displaylist->curr_cmd + 1;
}
//TODO: name arguments
-ARM_FUNC void G3B_PolygonAttr(struct DL *displaylist, u32 r1, u32 r2, u32 r3, u32 r4, u32 r5, u32 r6){
- *(u32 *)displaylist->var00 = 0x29;
- *displaylist->var04 = r1 | r2 << 0x4 | r3 << 0x6 | r6 | r4 << 0x18 | r5 << 0x10;
- displaylist->var00 = (u8 *)displaylist->var04 + 0x4;
- displaylist->var04 = (u32 *)displaylist->var00 + 1;
+ARM_FUNC void G3B_PolygonAttr(struct GXDLInfo *displaylist, u32 r1, u32 r2, u32 r3, u32 r4, u32 r5, u32 r6){
+ *(u32 *)displaylist->curr_cmd = 0x29;
+ *displaylist->curr_param = r1 | r2 << 0x4 | r3 << 0x6 | r6 | r4 << 0x18 | r5 << 0x10;
+ displaylist->curr_cmd = (u8 *)displaylist->curr_param + 0x4;
+ displaylist->curr_param = (u32 *)displaylist->curr_cmd + 1;
}
-ARM_FUNC void G3B_MaterialColorDiffAmb(struct DL *displaylist, u32 diffuse_col, u32 ambient_col, u32 replace){
- *(u32 *)displaylist->var00 = 0x30;
+ARM_FUNC void G3B_MaterialColorDiffAmb(struct GXDLInfo *displaylist, u32 diffuse_col, u32 ambient_col, u32 replace){
+ *(u32 *)displaylist->curr_cmd = 0x30;
u32 replace_vtx_color_with_diffuse;
if (replace)
replace_vtx_color_with_diffuse = TRUE;
else
replace_vtx_color_with_diffuse = FALSE;
- *displaylist->var04 = diffuse_col | ambient_col << 0x10 | replace_vtx_color_with_diffuse << 0xF;
- displaylist->var00 = (u8 *)displaylist->var04 + 0x4;
- displaylist->var04 = (u32 *)displaylist->var00 + 1;
+ *displaylist->curr_param = diffuse_col | ambient_col << 0x10 | replace_vtx_color_with_diffuse << 0xF;
+ displaylist->curr_cmd = (u8 *)displaylist->curr_param + 0x4;
+ displaylist->curr_param = (u32 *)displaylist->curr_cmd + 1;
}
-ARM_FUNC void G3B_MaterialColorSpecEmi(struct DL *displaylist, u32 specular_col, u32 emission_col, u32 shiny_table){
- *(u32 *)displaylist->var00 = 0x31;
+ARM_FUNC void G3B_MaterialColorSpecEmi(struct GXDLInfo *displaylist, u32 specular_col, u32 emission_col, u32 shiny_table){
+ *(u32 *)displaylist->curr_cmd = 0x31;
u32 enable_shininess_table;
if (shiny_table)
enable_shininess_table = TRUE;
else
enable_shininess_table = FALSE;
- *displaylist->var04 = specular_col | emission_col << 0x10 | enable_shininess_table << 0xF;
- displaylist->var00 = (u8 *)displaylist->var04 + 0x4;
- displaylist->var04 = (u32 *)displaylist->var00 + 1;
+ *displaylist->curr_param = specular_col | emission_col << 0x10 | enable_shininess_table << 0xF;
+ displaylist->curr_cmd = (u8 *)displaylist->curr_param + 0x4;
+ displaylist->curr_param = (u32 *)displaylist->curr_cmd + 1;
}
/*
@@ -92,29 +92,29 @@ Only feed normalized Vectors
only the fractional part and the sign, which is in the first nonfraction bit
since the vector is assumed to be normalized, are used
*/
-ARM_FUNC void G3B_LightVector(struct DL * displaylist, u32 light_num, fx16 x, fx16 y, fx16 z){
- *(u32 *)displaylist->var00 = 0x32;
- *displaylist->var04 = ((x >> 3) & 0x3FF) | (((y >> 3) & 0x3FF) << 0xA) | (((z >> 3) & 0x3FF) << 0x14) | light_num << 0x1E;
- displaylist->var00 = (u8 *)displaylist->var04 + 0x4;
- displaylist->var04 = (u32 *)displaylist->var00 + 1;
+ARM_FUNC void G3B_LightVector(struct GXDLInfo * displaylist, u32 light_num, fx16 x, fx16 y, fx16 z){
+ *(u32 *)displaylist->curr_cmd = 0x32;
+ *displaylist->curr_param = ((x >> 3) & 0x3FF) | (((y >> 3) & 0x3FF) << 0xA) | (((z >> 3) & 0x3FF) << 0x14) | light_num << 0x1E;
+ displaylist->curr_cmd = (u8 *)displaylist->curr_param + 0x4;
+ displaylist->curr_param = (u32 *)displaylist->curr_cmd + 1;
}
-ARM_FUNC void G3B_LightColor(struct DL * displaylist, u32 light_num, u32 col){
- *(u32 *)displaylist->var00 = 0x33;
- *displaylist->var04 = col | light_num << 0x1E;
- displaylist->var00 = (u8 *)displaylist->var04 + 0x4;
- displaylist->var04 = (u32 *)displaylist->var00 + 1;
+ARM_FUNC void G3B_LightColor(struct GXDLInfo * displaylist, u32 light_num, u32 col){
+ *(u32 *)displaylist->curr_cmd = 0x33;
+ *displaylist->curr_param = col | light_num << 0x1E;
+ displaylist->curr_cmd = (u8 *)displaylist->curr_param + 0x4;
+ displaylist->curr_param = (u32 *)displaylist->curr_cmd + 1;
}
-ARM_FUNC void G3B_Begin(struct DL * displaylist, u32 type){
- *(u32 *)displaylist->var00 = 0x40;
- *displaylist->var04 = type;
- displaylist->var00 = (u8 *)displaylist->var04 + 0x4;
- displaylist->var04 = (u32 *)displaylist->var00 + 1;
+ARM_FUNC void G3B_Begin(struct GXDLInfo * displaylist, u32 type){
+ *(u32 *)displaylist->curr_cmd = 0x40;
+ *displaylist->curr_param = type;
+ displaylist->curr_cmd = (u8 *)displaylist->curr_param + 0x4;
+ displaylist->curr_param = (u32 *)displaylist->curr_cmd + 1;
}
-ARM_FUNC void G3B_End(struct DL * displaylist){
- *(u32 *)displaylist->var00 = 0x41;
- displaylist->var00 = (u8 *)displaylist->var04;
- displaylist->var04 = (u32 *)displaylist->var00 + 1;
+ARM_FUNC void G3B_End(struct GXDLInfo * displaylist){
+ *(u32 *)displaylist->curr_cmd = 0x41;
+ displaylist->curr_cmd = (u8 *)displaylist->curr_param;
+ displaylist->curr_param = (u32 *)displaylist->curr_cmd + 1;
}
diff --git a/arm9/lib/src/GX_state.c b/arm9/lib/src/GX_state.c
index 7da3e1b4..db313c31 100644
--- a/arm9/lib/src/GX_state.c
+++ b/arm9/lib/src/GX_state.c
@@ -2,22 +2,22 @@
#include "main.h"
#include "gx.h"
-extern struct VRAM_banks UNK_021D33C4;
+extern struct GX_State gGXState;
ARM_FUNC void GX_InitGXState(){
- UNK_021D33C4.var00 = 0x0;
- UNK_021D33C4.var02 = 0x0;
- UNK_021D33C4.var04 = 0x0;
- UNK_021D33C4.var06 = 0x0;
- UNK_021D33C4.var08 = 0x0;
- UNK_021D33C4.var0A = 0x0;
- UNK_021D33C4.var0C = 0x0;
- UNK_021D33C4.var0E = 0x0;
- UNK_021D33C4.var10 = 0x0;
- UNK_021D33C4.var12 = 0x0;
- UNK_021D33C4.var14 = 0x0;
- UNK_021D33C4.var16 = 0x0;
- UNK_021D33C4.var18 = 0x0;
+ gGXState.lcdc = 0x0;
+ gGXState.bg = 0x0;
+ gGXState.obj = 0x0;
+ gGXState.arm7 = 0x0;
+ gGXState.tex = 0x0;
+ gGXState.texPltt = 0x0;
+ gGXState.clrImg = 0x0;
+ gGXState.bgExtPltt = 0x0;
+ gGXState.objExtPltt = 0x0;
+ gGXState.sub_bg = 0x0;
+ gGXState.sub_obj = 0x0;
+ gGXState.sub_bgExtPltt = 0x0;
+ gGXState.sub_objExtPltt = 0x0;
reg_GX_VRAMCNT = 0x0;
reg_GX_VRAMCNT_E = 0x0;
reg_GX_VRAMCNT_F = 0x0;
diff --git a/arm9/lib/src/GX_vramcnt.c b/arm9/lib/src/GX_vramcnt.c
index 18507fa4..da55d806 100644
--- a/arm9/lib/src/GX_vramcnt.c
+++ b/arm9/lib/src/GX_vramcnt.c
@@ -3,7 +3,7 @@
#include "gx.h"
extern u16 UNK_021D33BC;
-extern struct VRAM_banks UNK_021D33C4;
+extern struct GX_State gGXState;
ARM_FUNC void GX_VRAMCNT_SetLCDC_(u32 mask){
if (mask & (0x1 << 0))
@@ -27,8 +27,8 @@ ARM_FUNC void GX_VRAMCNT_SetLCDC_(u32 mask){
}
ARM_FUNC void GX_SetBankForBG(s32 bg){
- UNK_021D33C4.var00 = (u16)(~bg & (UNK_021D33C4.var00 | UNK_021D33C4.var02));
- UNK_021D33C4.var02 = bg;
+ gGXState.lcdc = (u16)(~bg & (gGXState.lcdc | gGXState.bg));
+ gGXState.bg = bg;
switch (bg)
{
case 8:
@@ -96,12 +96,12 @@ ARM_FUNC void GX_SetBankForBG(s32 bg){
default:
break;
}
- GX_VRAMCNT_SetLCDC_(UNK_021D33C4.var00);
+ GX_VRAMCNT_SetLCDC_(gGXState.lcdc);
}
ARM_FUNC void GX_SetBankForOBJ(s32 obj){
- UNK_021D33C4.var00 = (u16)(~obj & (UNK_021D33C4.var00 | UNK_021D33C4.var04));
- UNK_021D33C4.var04 = obj;
+ gGXState.lcdc = (u16)(~obj & (gGXState.lcdc | gGXState.obj));
+ gGXState.obj = obj;
switch (obj)
{
case 3:
@@ -135,12 +135,12 @@ ARM_FUNC void GX_SetBankForOBJ(s32 obj){
default:
break;
}
- GX_VRAMCNT_SetLCDC_(UNK_021D33C4.var00);
+ GX_VRAMCNT_SetLCDC_(gGXState.lcdc);
}
ARM_FUNC void GX_SetBankForBGExtPltt(s32 bgextpltt){
- UNK_021D33C4.var00 = (u16)(~bgextpltt & (UNK_021D33C4.var00 | UNK_021D33C4.var0E));
- UNK_021D33C4.var0E = bgextpltt;
+ gGXState.lcdc = (u16)(~bgextpltt & (gGXState.lcdc | gGXState.bgExtPltt));
+ gGXState.bgExtPltt = bgextpltt;
switch (bgextpltt)
{
case 0x10:
@@ -161,12 +161,12 @@ ARM_FUNC void GX_SetBankForBGExtPltt(s32 bgextpltt){
reg_GX_DISPCNT &= ~0x40000000;
break;
}
- GX_VRAMCNT_SetLCDC_(UNK_021D33C4.var00);
+ GX_VRAMCNT_SetLCDC_(gGXState.lcdc);
}
ARM_FUNC void GX_SetBankForOBJExtPltt(s32 objextpltt){
- UNK_021D33C4.var00 = (u16)(~objextpltt & (UNK_021D33C4.var00 | UNK_021D33C4.var10));
- UNK_021D33C4.var10 = objextpltt;
+ gGXState.lcdc = (u16)(~objextpltt & (gGXState.lcdc | gGXState.objExtPltt));
+ gGXState.objExtPltt = objextpltt;
switch (objextpltt)
{
case 32:
@@ -181,12 +181,12 @@ ARM_FUNC void GX_SetBankForOBJExtPltt(s32 objextpltt){
reg_GX_DISPCNT &= ~0x80000000;
break;
}
- GX_VRAMCNT_SetLCDC_(UNK_021D33C4.var00);
+ GX_VRAMCNT_SetLCDC_(gGXState.lcdc);
}
ARM_FUNC void GX_SetBankForTex(s32 tex){
- UNK_021D33C4.var00 = (u16)(~tex & (UNK_021D33C4.var00 | UNK_021D33C4.var08));
- UNK_021D33C4.var08 = tex;
+ gGXState.lcdc = (u16)(~tex & (gGXState.lcdc | gGXState.tex));
+ gGXState.tex = tex;
if (tex == 0)
{
reg_G3X_DISP3DCNT &= 0x0000CFFE;
@@ -244,12 +244,12 @@ ARM_FUNC void GX_SetBankForTex(s32 tex){
break;
}
}
- GX_VRAMCNT_SetLCDC_(UNK_021D33C4.var00);
+ GX_VRAMCNT_SetLCDC_(gGXState.lcdc);
}
ARM_FUNC void GX_SetBankForTexPltt(s32 texpltt){
- UNK_021D33C4.var00 = (u16)(~texpltt & (UNK_021D33C4.var00 | UNK_021D33C4.var0A));
- UNK_021D33C4.var0A = texpltt;
+ gGXState.lcdc = (u16)(~texpltt & (gGXState.lcdc | gGXState.texPltt));
+ gGXState.texPltt = texpltt;
switch (texpltt)
{
case 0: //needed to match
@@ -270,12 +270,12 @@ ARM_FUNC void GX_SetBankForTexPltt(s32 texpltt){
reg_GX_VRAMCNT_G = 0x83;
break;
}
- GX_VRAMCNT_SetLCDC_(UNK_021D33C4.var00);
+ GX_VRAMCNT_SetLCDC_(gGXState.lcdc);
}
ARM_FUNC void GX_SetBankForClearImage(s32 clearimage){
- UNK_021D33C4.var00 = (u16)(~clearimage & (UNK_021D33C4.var00 | UNK_021D33C4.var0C));
- UNK_021D33C4.var0C = clearimage;
+ gGXState.lcdc = (u16)(~clearimage & (gGXState.lcdc | gGXState.clrImg));
+ gGXState.clrImg = clearimage;
switch (clearimage)
{
case 3:
@@ -301,12 +301,12 @@ ARM_FUNC void GX_SetBankForClearImage(s32 clearimage){
reg_GX_VRAMCNT_C = 0x9B;
reg_G3X_DISP3DCNT |= 0x4000;
}
- GX_VRAMCNT_SetLCDC_(UNK_021D33C4.var00);
+ GX_VRAMCNT_SetLCDC_(gGXState.lcdc);
}
ARM_FUNC void GX_SetBankForARM7(s32 arm7){
- UNK_021D33C4.var00 = (u16)(~arm7 & (UNK_021D33C4.var00 | UNK_021D33C4.var06));
- UNK_021D33C4.var06 = arm7;
+ gGXState.lcdc = (u16)(~arm7 & (gGXState.lcdc | gGXState.arm7));
+ gGXState.arm7 = arm7;
switch (arm7)
{
case 0: //needed to match
@@ -321,17 +321,17 @@ ARM_FUNC void GX_SetBankForARM7(s32 arm7){
case 8:
reg_GX_VRAMCNT_D = 0x82;
}
- GX_VRAMCNT_SetLCDC_(UNK_021D33C4.var00);
+ GX_VRAMCNT_SetLCDC_(gGXState.lcdc);
}
ARM_FUNC void GX_SetBankForLCDC(s32 lcdc){
- UNK_021D33C4.var00 |= lcdc;
+ gGXState.lcdc |= lcdc;
GX_VRAMCNT_SetLCDC_(lcdc);
}
ARM_FUNC void GX_SetBankForSubBG(s32 subbg){
- UNK_021D33C4.var00 = (u16)(~subbg & (UNK_021D33C4.var00 | UNK_021D33C4.var12));
- UNK_021D33C4.var12 = subbg;
+ gGXState.lcdc = (u16)(~subbg & (gGXState.lcdc | gGXState.sub_bg));
+ gGXState.sub_bg = subbg;
switch (subbg)
{
case 0: //needed to match
@@ -344,13 +344,13 @@ ARM_FUNC void GX_SetBankForSubBG(s32 subbg){
case 128:
reg_GX_VRAMCNT_H = 0x81;
}
- GX_VRAMCNT_SetLCDC_(UNK_021D33C4.var00);
+ GX_VRAMCNT_SetLCDC_(gGXState.lcdc);
}
ARM_FUNC void GX_SetBankForSubOBJ(s32 subobj){
- UNK_021D33C4.var00 = (u16)(~subobj & (UNK_021D33C4.var00 | UNK_021D33C4.var14));
- UNK_021D33C4.var14 = subobj;
+ gGXState.lcdc = (u16)(~subobj & (gGXState.lcdc | gGXState.sub_obj));
+ gGXState.sub_obj = subobj;
switch (subobj)
{
case 8:
@@ -362,12 +362,12 @@ ARM_FUNC void GX_SetBankForSubOBJ(s32 subobj){
case 0: //needed to match
break;
}
- GX_VRAMCNT_SetLCDC_(UNK_021D33C4.var00);
+ GX_VRAMCNT_SetLCDC_(gGXState.lcdc);
}
ARM_FUNC void GX_SetBankForSubBGExtPltt(s32 subbgextpltt){
- UNK_021D33C4.var00 = (u16)(~subbgextpltt & (UNK_021D33C4.var00 | UNK_021D33C4.var16));
- UNK_021D33C4.var16 = subbgextpltt;
+ gGXState.lcdc = (u16)(~subbgextpltt & (gGXState.lcdc | gGXState.sub_bgExtPltt));
+ gGXState.sub_bgExtPltt = subbgextpltt;
switch (subbgextpltt)
{
case 128:
@@ -378,12 +378,12 @@ ARM_FUNC void GX_SetBankForSubBGExtPltt(s32 subbgextpltt){
reg_GXS_DB_DISPCNT &= ~0x40000000;
break;
}
- GX_VRAMCNT_SetLCDC_(UNK_021D33C4.var00);
+ GX_VRAMCNT_SetLCDC_(gGXState.lcdc);
}
ARM_FUNC void GX_SetBankForSubOBJExtPltt(s32 subobjextpltt){
- UNK_021D33C4.var00 = (u16)(~subobjextpltt & (UNK_021D33C4.var00 | UNK_021D33C4.var18));
- UNK_021D33C4.var18 = subobjextpltt;
+ gGXState.lcdc = (u16)(~subobjextpltt & (gGXState.lcdc | gGXState.sub_objExtPltt));
+ gGXState.sub_objExtPltt = subobjextpltt;
switch (subobjextpltt)
{
case 256:
@@ -394,63 +394,63 @@ ARM_FUNC void GX_SetBankForSubOBJExtPltt(s32 subobjextpltt){
reg_GXS_DB_DISPCNT &= ~0x80000000;
break;
}
- GX_VRAMCNT_SetLCDC_(UNK_021D33C4.var00);
+ GX_VRAMCNT_SetLCDC_(gGXState.lcdc);
}
ARM_FUNC u32 FUN_020C6130(u16 *ptr){
u16 temp = *ptr;
*ptr = 0;
- UNK_021D33C4.var00 |= temp;
+ gGXState.lcdc |= temp;
GX_VRAMCNT_SetLCDC_(temp);
return temp;
}
ARM_FUNC u32 GX_ResetBankForBG(){
- return FUN_020C6130(&UNK_021D33C4.var02);
+ return FUN_020C6130(&gGXState.bg);
}
ARM_FUNC u32 GX_ResetBankForOBJ(){
- return FUN_020C6130(&UNK_021D33C4.var04);
+ return FUN_020C6130(&gGXState.obj);
}
ARM_FUNC u32 GX_ResetBankForBGExtPltt(){
reg_GX_DISPCNT &= ~0x40000000;
- return FUN_020C6130(&UNK_021D33C4.var0E);
+ return FUN_020C6130(&gGXState.bgExtPltt);
}
ARM_FUNC u32 GX_ResetBankForOBJExtPltt(){
reg_GX_DISPCNT &= ~0x80000000;
- return FUN_020C6130(&UNK_021D33C4.var10);
+ return FUN_020C6130(&gGXState.objExtPltt);
}
ARM_FUNC u32 GX_ResetBankForTex(){
- return FUN_020C6130(&UNK_021D33C4.var08);
+ return FUN_020C6130(&gGXState.tex);
}
ARM_FUNC u32 GX_ResetBankForTexPltt(){
- return FUN_020C6130(&UNK_021D33C4.var0A);
+ return FUN_020C6130(&gGXState.texPltt);
}
ARM_FUNC u32 GX_ResetBankForClearImage(){
- return FUN_020C6130(&UNK_021D33C4.var0C);
+ return FUN_020C6130(&gGXState.clrImg);
}
ARM_FUNC u32 GX_ResetBankForSubBG(){
- return FUN_020C6130(&UNK_021D33C4.var12);
+ return FUN_020C6130(&gGXState.sub_bg);
}
ARM_FUNC u32 FUN_020C605C(){
- return FUN_020C6130(&UNK_021D33C4.var14);
+ return FUN_020C6130(&gGXState.sub_obj);
}
ARM_FUNC u32 FUN_020C6034(){
reg_GXS_DB_DISPCNT &= ~0x40000000;
- return FUN_020C6130(&UNK_021D33C4.var16);
+ return FUN_020C6130(&gGXState.sub_bgExtPltt);
}
ARM_FUNC u32 GX_ResetBankForSubOBJ(){
reg_GXS_DB_DISPCNT &= ~0x80000000;
- return FUN_020C6130(&UNK_021D33C4.var18);
+ return FUN_020C6130(&gGXState.sub_objExtPltt);
}
ARM_FUNC u32 FUN_020C5F28(u16 *ptr){
@@ -479,101 +479,101 @@ ARM_FUNC u32 FUN_020C5F28(u16 *ptr){
}
ARM_FUNC u32 disableBankForX_(){
- return FUN_020C5F28(&UNK_021D33C4.var02);
+ return FUN_020C5F28(&gGXState.bg);
}
ARM_FUNC u32 GX_DisableBankForOBJExtPltt_2(){
- return FUN_020C5F28(&UNK_021D33C4.var04);
+ return FUN_020C5F28(&gGXState.obj);
}
ARM_FUNC u32 GX_DisableBankForBGExtPltt(){
reg_GX_DISPCNT &= ~0x40000000;
- return FUN_020C5F28(&UNK_021D33C4.var0E);
+ return FUN_020C5F28(&gGXState.bgExtPltt);
}
ARM_FUNC u32 GX_DisableBankForOBJExtPltt(){
reg_GX_DISPCNT &= ~0x80000000;
- return FUN_020C5F28(&UNK_021D33C4.var10);
+ return FUN_020C5F28(&gGXState.objExtPltt);
}
ARM_FUNC u32 GX_DisableBankForTexPltt_2(){
- return FUN_020C5F28(&UNK_021D33C4.var08);
+ return FUN_020C5F28(&gGXState.tex);
}
ARM_FUNC u32 GX_DisableBankForTexPltt(){
- return FUN_020C5F28(&UNK_021D33C4.var0A);
+ return FUN_020C5F28(&gGXState.texPltt);
}
ARM_FUNC u32 GX_DisableBankForClearImage(){
- return FUN_020C5F28(&UNK_021D33C4.var0C);
+ return FUN_020C5F28(&gGXState.clrImg);
}
ARM_FUNC u32 GX_DisableBankForARM7(){
- return FUN_020C5F28(&UNK_021D33C4.var06);
+ return FUN_020C5F28(&gGXState.arm7);
}
ARM_FUNC u32 GX_DisableBankForLCDC(){
- return FUN_020C5F28(&UNK_021D33C4.var00);
+ return FUN_020C5F28(&gGXState.lcdc);
}
ARM_FUNC u32 GX_DisableBankForSubBGExtPltt(){
- return FUN_020C5F28(&UNK_021D33C4.var12);
+ return FUN_020C5F28(&gGXState.sub_bg);
}
ARM_FUNC u32 GX_DisableBankForSubOBJExtPltt_2(){
- return FUN_020C5F28(&UNK_021D33C4.var14);
+ return FUN_020C5F28(&gGXState.sub_obj);
}
ARM_FUNC u32 FUN_020C5E04(){
reg_GXS_DB_DISPCNT &= ~0x40000000;
- return FUN_020C5F28(&UNK_021D33C4.var16);
+ return FUN_020C5F28(&gGXState.sub_bgExtPltt);
}
ARM_FUNC u32 GX_DisableBankForSubOBJExtPltt(){
reg_GXS_DB_DISPCNT &= ~0x80000000;
- return FUN_020C5F28(&UNK_021D33C4.var18);
+ return FUN_020C5F28(&gGXState.sub_objExtPltt);
}
ARM_FUNC u32 GX_GetBankForBGExtPltt_2(){
- return UNK_021D33C4.var02;
+ return gGXState.bg;
}
ARM_FUNC u32 GX_GetBankForOBJ(){
- return UNK_021D33C4.var04;
+ return gGXState.obj;
}
ARM_FUNC u32 GX_GetBankForBGExtPltt(){
- return UNK_021D33C4.var0E;
+ return gGXState.bgExtPltt;
}
ARM_FUNC u32 GX_GetBankForOBJExtPltt(){
- return UNK_021D33C4.var10;
+ return gGXState.objExtPltt;
}
ARM_FUNC u32 FUN_020C5D8C(){
- return UNK_021D33C4.var08;
+ return gGXState.tex;
}
ARM_FUNC u32 GX_GetBankForTexPltt(){
- return UNK_021D33C4.var0A;
+ return gGXState.texPltt;
}
ARM_FUNC u32 GX_GetBankForLCDC(){
- return UNK_021D33C4.var00;
+ return gGXState.lcdc;
}
ARM_FUNC u32 GX_GetBankForSubBGExtPltt_2(){
- return UNK_021D33C4.var12;
+ return gGXState.sub_bg;
}
ARM_FUNC u32 GX_GetBankForSubOBJ(){
- return UNK_021D33C4.var14;
+ return gGXState.sub_obj;
}
ARM_FUNC u32 GX_GetBankForSubBGExtPltt(){
- return UNK_021D33C4.var16;
+ return gGXState.sub_bgExtPltt;
}
ARM_FUNC u32 GX_GetBankForSubOBJExtPltt(){
- return UNK_021D33C4.var18;
+ return gGXState.sub_objExtPltt;
}