diff options
author | Made <made111@gmx.de> | 2020-05-17 01:40:01 +0200 |
---|---|---|
committer | Made <made111@gmx.de> | 2020-05-17 01:40:01 +0200 |
commit | 2e1c3ccd3ff3035acc98b34c2b29ba5c865e6194 (patch) | |
tree | 11a531b7e84aeebead25bb3b387c260bfdf1bc9e /arm9/lib/src | |
parent | 929c523340dfecbd0e3313e25d36abe47e1cc63e (diff) |
struct defs
Diffstat (limited to 'arm9/lib/src')
-rw-r--r-- | arm9/lib/src/GX_g3.c | 36 | ||||
-rw-r--r-- | arm9/lib/src/GX_g3b.c | 130 | ||||
-rw-r--r-- | arm9/lib/src/GX_state.c | 28 | ||||
-rw-r--r-- | arm9/lib/src/GX_vramcnt.c | 148 |
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; } |