summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--arm9/asm/unk_02034188.s16
-rw-r--r--arm9/asm/unk_020625EC.s8
-rw-r--r--arm9/asm/unk_0206F3FC.s2
-rw-r--r--arm9/asm/unk_02073DA8.s4
-rw-r--r--arm9/asm/unk_020799E8.s2
-rw-r--r--arm9/asm/unk_0207F95C.s2
-rw-r--r--arm9/asm/unk_02089498.s16
-rw-r--r--arm9/asm/unk_02089960.s16
-rw-r--r--arm9/global.inc8
-rw-r--r--arm9/lib/include/GX_g2.h70
-rw-r--r--arm9/lib/include/gx.h30
-rw-r--r--arm9/lib/include/registers.h72
-rw-r--r--arm9/lib/src/GX_g2.c10
-rw-r--r--arm9/modules/06/asm/module_06.s12
-rw-r--r--arm9/modules/07/asm/module_07.s2
-rw-r--r--arm9/modules/08/asm/module_08.s38
-rw-r--r--arm9/modules/11/asm/module_11_thumb2.s16
-rw-r--r--arm9/modules/12/asm/module_12.s36
-rw-r--r--arm9/modules/14/asm/module_14.s42
-rw-r--r--arm9/modules/15/asm/module_15.s10
-rw-r--r--arm9/modules/18/asm/module_18.s14
-rw-r--r--arm9/modules/22/asm/module_22.s2
-rw-r--r--arm9/modules/23/asm/module_23.s8
-rw-r--r--arm9/modules/26/asm/module_26.s2
-rw-r--r--arm9/modules/34/asm/module_34.s2
-rw-r--r--arm9/modules/51/asm/module_51.s8
-rw-r--r--arm9/modules/55/asm/module_55.s6
-rw-r--r--arm9/modules/56/asm/module_56.s4
-rw-r--r--arm9/modules/57/asm/module_57.s8
-rw-r--r--arm9/modules/59/asm/mod59_021D74E0_asm.s84
-rw-r--r--arm9/modules/59/asm/mod59_021D9868.s20
-rw-r--r--arm9/modules/67/asm/module_67.s6
-rw-r--r--arm9/modules/71/asm/module_71.s46
-rw-r--r--arm9/modules/75/asm/module_75.s4
-rw-r--r--arm9/modules/80/asm/module_80.s4
-rw-r--r--arm9/modules/81/asm/module_81.s8
-rw-r--r--arm9/modules/83/asm/module_83.s6
-rw-r--r--arm9/modules/86/asm/module_86.s44
-rw-r--r--arm9/src/GX_layers.c13
-rw-r--r--arm9/src/gf_gfx_loader.c2
-rw-r--r--arm9/src/unk_02016B94.c378
-rw-r--r--include/unk_02016B94.h38
42 files changed, 623 insertions, 496 deletions
diff --git a/arm9/asm/unk_02034188.s b/arm9/asm/unk_02034188.s
index 358c38be..caa306a6 100644
--- a/arm9/asm/unk_02034188.s
+++ b/arm9/asm/unk_02034188.s
@@ -194,28 +194,28 @@ _02034308:
bl DestroyMsgData
mov r0, #0x0
add r1, r0, #0x0
- bl FUN_0201797C
+ bl ToggleBgLayer
mov r0, #0x1
mov r1, #0x0
- bl FUN_0201797C
+ bl ToggleBgLayer
mov r0, #0x2
mov r1, #0x0
- bl FUN_0201797C
+ bl ToggleBgLayer
mov r0, #0x3
mov r1, #0x0
- bl FUN_0201797C
+ bl ToggleBgLayer
mov r0, #0x4
mov r1, #0x0
- bl FUN_0201797C
+ bl ToggleBgLayer
mov r0, #0x5
mov r1, #0x0
- bl FUN_0201797C
+ bl ToggleBgLayer
mov r0, #0x6
mov r1, #0x0
- bl FUN_0201797C
+ bl ToggleBgLayer
mov r0, #0x7
mov r1, #0x0
- bl FUN_0201797C
+ bl ToggleBgLayer
ldr r0, [sp, #0x10]
mov r1, #0x0
bl FUN_020178A0
diff --git a/arm9/asm/unk_020625EC.s b/arm9/asm/unk_020625EC.s
index d33d8e85..e5f32edd 100644
--- a/arm9/asm/unk_020625EC.s
+++ b/arm9/asm/unk_020625EC.s
@@ -1088,18 +1088,18 @@ FUN_02062DB0: ; 0x02062DB0
bl FUN_0201AC68
mov r0, #0x1
add r1, r0, #0x0
- bl FUN_0201797C
+ bl ToggleBgLayer
add r0, r4, #0x0
add r0, #0xd0
ldr r0, [r0, #0x0]
mov r1, #0x0
- bl FUN_02018884
+ bl GetBgPriority
strh r0, [r4, #0x10]
add r0, r4, #0x0
add r0, #0xd0
ldr r0, [r0, #0x0]
mov r1, #0x1
- bl FUN_02018884
+ bl GetBgPriority
strh r0, [r4, #0x12]
mov r0, #0x0
mov r1, #0x2
@@ -1221,7 +1221,7 @@ FUN_02062EC4: ; 0x02062EC4
bl FUN_0201AC68
mov r0, #0x1
mov r1, #0x0
- bl FUN_0201797C
+ bl ToggleBgLayer
ldrh r1, [r4, #0x10]
mov r0, #0x0
lsl r1, r1, #0x18
diff --git a/arm9/asm/unk_0206F3FC.s b/arm9/asm/unk_0206F3FC.s
index c4933942..ec8358fb 100644
--- a/arm9/asm/unk_0206F3FC.s
+++ b/arm9/asm/unk_0206F3FC.s
@@ -4602,7 +4602,7 @@ FUN_020717E8: ; 0x020717E8
add r5, r1, #0x0
add r4, r2, #0x0
mov r1, #0x4
- bl FUN_0201886C
+ bl GetBgTilemapBuffer
lsl r1, r5, #0x1
mov r3, #0x19
add r5, r4, #0x0
diff --git a/arm9/asm/unk_02073DA8.s b/arm9/asm/unk_02073DA8.s
index ff153e99..36695450 100644
--- a/arm9/asm/unk_02073DA8.s
+++ b/arm9/asm/unk_02073DA8.s
@@ -994,11 +994,11 @@ _020745DA:
strb r1, [r6, r0]
ldr r0, [r6, #0x0]
mov r1, #0x2
- bl FUN_0201886C
+ bl GetBgTilemapBuffer
str r0, [sp, #0x14]
ldr r0, [r6, #0x0]
mov r1, #0x1
- bl FUN_0201886C
+ bl GetBgTilemapBuffer
ldr r1, _020746B4 ; =0x00000B0C
str r0, [sp, #0x10]
ldrb r3, [r6, r1]
diff --git a/arm9/asm/unk_020799E8.s b/arm9/asm/unk_020799E8.s
index 308fcf1b..751aecc6 100644
--- a/arm9/asm/unk_020799E8.s
+++ b/arm9/asm/unk_020799E8.s
@@ -297,7 +297,7 @@ _02079BDA:
lsl r1, r5, #0x18
add r0, r6, #0x0
lsr r1, r1, #0x18
- bl FUN_0201886C
+ bl GetBgTilemapBuffer
cmp r0, #0x0
beq _02079BF8
ldr r2, [sp, #0xc]
diff --git a/arm9/asm/unk_0207F95C.s b/arm9/asm/unk_0207F95C.s
index b36fe9c1..954edc56 100644
--- a/arm9/asm/unk_0207F95C.s
+++ b/arm9/asm/unk_0207F95C.s
@@ -116,7 +116,7 @@ FUN_0207F9C8: ; 0x0207F9C8
add r4, r1, #0x0
mov r1, #0x4
add r5, r2, #0x0
- bl FUN_0201886C
+ bl GetBgTilemapBuffer
add r7, r0, #0x0
lsl r0, r5, #0x2
add r1, r5, r0
diff --git a/arm9/asm/unk_02089498.s b/arm9/asm/unk_02089498.s
index 195c9c70..57c254fa 100644
--- a/arm9/asm/unk_02089498.s
+++ b/arm9/asm/unk_02089498.s
@@ -303,28 +303,28 @@ FUN_020896E0: ; 0x020896E0
add r4, r0, #0x0
mov r0, #0x0
add r1, r0, #0x0
- bl FUN_0201797C
+ bl ToggleBgLayer
mov r0, #0x1
mov r1, #0x0
- bl FUN_0201797C
+ bl ToggleBgLayer
mov r0, #0x2
mov r1, #0x0
- bl FUN_0201797C
+ bl ToggleBgLayer
mov r0, #0x3
mov r1, #0x0
- bl FUN_0201797C
+ bl ToggleBgLayer
mov r0, #0x4
mov r1, #0x0
- bl FUN_0201797C
+ bl ToggleBgLayer
mov r0, #0x5
mov r1, #0x0
- bl FUN_0201797C
+ bl ToggleBgLayer
mov r0, #0x6
mov r1, #0x0
- bl FUN_0201797C
+ bl ToggleBgLayer
mov r0, #0x7
mov r1, #0x0
- bl FUN_0201797C
+ bl ToggleBgLayer
ldr r0, [r4, #0x14]
mov r1, #0x0
bl FUN_020178A0
diff --git a/arm9/asm/unk_02089960.s b/arm9/asm/unk_02089960.s
index 425d4a82..6fac4090 100644
--- a/arm9/asm/unk_02089960.s
+++ b/arm9/asm/unk_02089960.s
@@ -242,28 +242,28 @@ FUN_02089B2C: ; 0x02089B2C
add r4, r0, #0x0
mov r0, #0x0
add r1, r0, #0x0
- bl FUN_0201797C
+ bl ToggleBgLayer
mov r0, #0x1
mov r1, #0x0
- bl FUN_0201797C
+ bl ToggleBgLayer
mov r0, #0x2
mov r1, #0x0
- bl FUN_0201797C
+ bl ToggleBgLayer
mov r0, #0x3
mov r1, #0x0
- bl FUN_0201797C
+ bl ToggleBgLayer
mov r0, #0x4
mov r1, #0x0
- bl FUN_0201797C
+ bl ToggleBgLayer
mov r0, #0x5
mov r1, #0x0
- bl FUN_0201797C
+ bl ToggleBgLayer
mov r0, #0x6
mov r1, #0x0
- bl FUN_0201797C
+ bl ToggleBgLayer
mov r0, #0x7
mov r1, #0x0
- bl FUN_0201797C
+ bl ToggleBgLayer
ldr r0, [r4, #0x18]
mov r1, #0x0
bl FUN_020178A0
diff --git a/arm9/global.inc b/arm9/global.inc
index 8640f5ef..7f29e3e0 100644
--- a/arm9/global.inc
+++ b/arm9/global.inc
@@ -1042,7 +1042,7 @@
.extern FUN_020170F4
.extern FUN_020178A0
.extern FUN_020178BC
-.extern FUN_0201797C
+.extern ToggleBgLayer
.extern FUN_020179E0
.extern FUN_02017B48
.extern FUN_02017B54
@@ -1065,11 +1065,11 @@
.extern FUN_02018768
.extern FUN_0201878C
.extern FUN_020187B0
-.extern FUN_0201886C
+.extern GetBgTilemapBuffer
.extern FUN_02018878
-.extern FUN_02018884
+.extern GetBgPriority
.extern BlitBitmapRect4Bit
-.extern FUN_02018F4C
+.extern FillBitmapRect8Bit
.extern AllocWindows
.extern InitWindow
.extern WindowIsInUse
diff --git a/arm9/lib/include/GX_g2.h b/arm9/lib/include/GX_g2.h
index 372be12b..987bda38 100644
--- a/arm9/lib/include/GX_g2.h
+++ b/arm9/lib/include/GX_g2.h
@@ -4,7 +4,7 @@
#include "fx.h"
#include "registers.h"
-void G2x_SetBGyAffine_(u32 *ptr, struct Mtx22 *mtx, fx32 a, fx32 b, fx32 c, fx32 d);
+void G2x_SetBGyAffine_(u32 ptr, const struct Mtx22 *mtx, fx32 a, fx32 b, fx32 c, fx32 d);
void G2x_SetBlendAlpha_(u32 *ptr, fx32 a, fx32 b, fx32 c, fx32 d);
void G2x_SetBlendBrightness_(u16 *ptr, fx32 a, fx32 brightness);
void G2x_SetBlendBrightnessExt_(u16 *ptr, fx32 a, fx32 b, fx32 c, fx32 d, fx32 brightness);
@@ -43,6 +43,74 @@ static inline void G2_SetWndOutsidePlane(int wnd, BOOL effect)
reg_G2_WINOUT = (u16)tmp;
}
+static inline void G2_SetBG0Offset(int hOffset, int vOffset)
+{
+ reg_G2_BG0OFS = (u32)(((hOffset << REG_G2_BG0OFS_HOFFSET_SHIFT) & REG_G2_BG0OFS_HOFFSET_MASK) |
+ ((vOffset << REG_G2_BG0OFS_VOFFSET_SHIFT) & REG_G2_BG0OFS_VOFFSET_MASK));
+}
+
+static inline void G2_SetBG1Offset(int hOffset, int vOffset)
+{
+ reg_G2_BG1OFS = (u32)(((hOffset << REG_G2_BG1OFS_HOFFSET_SHIFT) & REG_G2_BG1OFS_HOFFSET_MASK) |
+ ((vOffset << REG_G2_BG1OFS_VOFFSET_SHIFT) & REG_G2_BG1OFS_VOFFSET_MASK));
+}
+
+static inline void G2_SetBG2Offset(int hOffset, int vOffset)
+{
+ reg_G2_BG2OFS = (u32)(((hOffset << REG_G2_BG2OFS_HOFFSET_SHIFT) & REG_G2_BG2OFS_HOFFSET_MASK) |
+ ((vOffset << REG_G2_BG2OFS_VOFFSET_SHIFT) & REG_G2_BG2OFS_VOFFSET_MASK));
+}
+
+static inline void G2_SetBG3Offset(int hOffset, int vOffset)
+{
+ reg_G2_BG3OFS = (u32)(((hOffset << REG_G2_BG3OFS_HOFFSET_SHIFT) & REG_G2_BG3OFS_HOFFSET_MASK) |
+ ((vOffset << REG_G2_BG3OFS_VOFFSET_SHIFT) & REG_G2_BG3OFS_VOFFSET_MASK));
+}
+
+static inline void G2S_SetBG0Offset(int hOffset, int vOffset)
+{
+ reg_G2S_DB_BG0OFS = (u32)(((hOffset << REG_G2S_DB_BG0OFS_HOFFSET_SHIFT) & REG_G2S_DB_BG0OFS_HOFFSET_MASK) |
+ ((vOffset << REG_G2S_DB_BG0OFS_VOFFSET_SHIFT) & REG_G2S_DB_BG0OFS_VOFFSET_MASK));
+}
+
+static inline void G2S_SetBG1Offset(int hOffset, int vOffset)
+{
+ reg_G2S_DB_BG1OFS = (u32)(((hOffset << REG_G2S_DB_BG1OFS_HOFFSET_SHIFT) & REG_G2S_DB_BG1OFS_HOFFSET_MASK) |
+ ((vOffset << REG_G2S_DB_BG1OFS_VOFFSET_SHIFT) & REG_G2S_DB_BG1OFS_VOFFSET_MASK));
+}
+
+static inline void G2S_SetBG2Offset(int hOffset, int vOffset)
+{
+ reg_G2S_DB_BG2OFS = (u32)(((hOffset << REG_G2S_DB_BG2OFS_HOFFSET_SHIFT) & REG_G2S_DB_BG2OFS_HOFFSET_MASK) |
+ ((vOffset << REG_G2S_DB_BG2OFS_VOFFSET_SHIFT) & REG_G2S_DB_BG2OFS_VOFFSET_MASK));
+}
+
+static inline void G2S_SetBG3Offset(int hOffset, int vOffset)
+{
+ reg_G2S_DB_BG3OFS = (u32)(((hOffset << REG_G2S_DB_BG3OFS_HOFFSET_SHIFT) & REG_G2S_DB_BG3OFS_HOFFSET_MASK) |
+ ((vOffset << REG_G2S_DB_BG3OFS_VOFFSET_SHIFT) & REG_G2S_DB_BG3OFS_VOFFSET_MASK));
+}
+
+static inline void G2_SetBG2Affine(const struct Mtx22 *mtx, int centerX, int centerY, int x1, int y1)
+{
+ G2x_SetBGyAffine_((u32)&reg_G2_BG2PA, mtx, centerX, centerY, x1, y1);
+}
+
+static inline void G2_SetBG3Affine(const struct Mtx22 *mtx, int centerX, int centerY, int x1, int y1)
+{
+ G2x_SetBGyAffine_((u32)&reg_G2_BG3PA, mtx, centerX, centerY, x1, y1);
+}
+
+static inline void G2S_SetBG2Affine(const struct Mtx22 *mtx, int centerX, int centerY, int x1, int y1)
+{
+ G2x_SetBGyAffine_((u32)&reg_G2S_DB_BG2PA, mtx, centerX, centerY, x1, y1);
+}
+
+static inline void G2S_SetBG3Affine(const struct Mtx22 *mtx, int centerX, int centerY, int x1, int y1)
+{
+ G2x_SetBGyAffine_((u32)&reg_G2S_DB_BG3PA, mtx, centerX, centerY, x1, y1);
+}
+
//The g2 and g2_oam headers contain a lot of inline functions and enums that may want to be ported over at some point
#endif //GUARD_GX_G2_H
diff --git a/arm9/lib/include/gx.h b/arm9/lib/include/gx.h
index acd23b39..7ba8d1f3 100644
--- a/arm9/lib/include/gx.h
+++ b/arm9/lib/include/gx.h
@@ -186,4 +186,34 @@ static inline void GX_SetMasterBrightness(int brightness)
GXx_SetMasterBrightness_(&reg_GX_MASTER_BRIGHT, brightness);
}
+static inline void GX_SetVisiblePlane(int plane)
+{
+ reg_GX_DISPCNT = (u32)((reg_GX_DISPCNT & ~REG_GX_DISPCNT_DISPLAY_MASK) | (plane << REG_GX_DISPCNT_DISPLAY_SHIFT));
+}
+
+static inline void GXS_SetVisiblePlane(int plane)
+{
+ reg_GXS_DB_DISPCNT = (u32)((reg_GXS_DB_DISPCNT & ~REG_GXS_DB_DISPCNT_DISPLAY_MASK) | (plane << REG_GXS_DB_DISPCNT_DISPLAY_SHIFT));
+}
+
+static inline void GXS_DispOn(void)
+{
+ reg_GXS_DB_DISPCNT |= REG_GXS_DB_DISPCNT_MODE_MASK;
+}
+
+static inline void GX_SetDispSelect(GXDispSelect sel)
+{
+ reg_GX_POWCNT = (u16)((reg_GX_POWCNT & ~REG_GX_POWCNT_DSEL_MASK) | (sel << REG_GX_POWCNT_DSEL_SHIFT));
+}
+
+static inline void GX_SetBGScrOffset(GXBGScrOffset offset)
+{
+ reg_GX_DISPCNT = (u32)((reg_GX_DISPCNT & ~REG_GX_DISPCNT_BGSCREENOFFSET_MASK) | (offset << REG_GX_DISPCNT_BGSCREENOFFSET_SHIFT));
+}
+
+static inline void GX_SetBGCharOffset(GXBGCharOffset offset)
+{
+ reg_GX_DISPCNT = (u32)((reg_GX_DISPCNT & ~REG_GX_DISPCNT_BGCHAROFFSET_MASK) | (offset << REG_GX_DISPCNT_BGCHAROFFSET_SHIFT));
+}
+
#endif //GUARD_GX_H
diff --git a/arm9/lib/include/registers.h b/arm9/lib/include/registers.h
index f4da59ad..27796cf7 100644
--- a/arm9/lib/include/registers.h
+++ b/arm9/lib/include/registers.h
@@ -929,4 +929,76 @@
#define REG_G2S_DB_BG3CNT_PRIORITY_SIZE 2
#define REG_G2S_DB_BG3CNT_PRIORITY_MASK 0x0003
+// G2_BG0OFS
+#define REG_G2_BG0OFS_VOFFSET_SHIFT 16
+#define REG_G2_BG0OFS_VOFFSET_SIZE 9
+#define REG_G2_BG0OFS_VOFFSET_MASK 0x01ff0000
+
+#define REG_G2_BG0OFS_HOFFSET_SHIFT 0
+#define REG_G2_BG0OFS_HOFFSET_SIZE 9
+#define REG_G2_BG0OFS_HOFFSET_MASK 0x000001ff
+
+// G2_BG1OFS
+#define REG_G2_BG1OFS_VOFFSET_SHIFT 16
+#define REG_G2_BG1OFS_VOFFSET_SIZE 9
+#define REG_G2_BG1OFS_VOFFSET_MASK 0x01ff0000
+
+#define REG_G2_BG1OFS_HOFFSET_SHIFT 0
+#define REG_G2_BG1OFS_HOFFSET_SIZE 9
+#define REG_G2_BG1OFS_HOFFSET_MASK 0x000001ff
+
+// G2_BG2OFS
+#define REG_G2_BG2OFS_VOFFSET_SHIFT 16
+#define REG_G2_BG2OFS_VOFFSET_SIZE 9
+#define REG_G2_BG2OFS_VOFFSET_MASK 0x01ff0000
+
+#define REG_G2_BG2OFS_HOFFSET_SHIFT 0
+#define REG_G2_BG2OFS_HOFFSET_SIZE 9
+#define REG_G2_BG2OFS_HOFFSET_MASK 0x000001ff
+
+// G2_BG3OFS
+#define REG_G2_BG3OFS_VOFFSET_SHIFT 16
+#define REG_G2_BG3OFS_VOFFSET_SIZE 9
+#define REG_G2_BG3OFS_VOFFSET_MASK 0x01ff0000
+
+#define REG_G2_BG3OFS_HOFFSET_SHIFT 0
+#define REG_G2_BG3OFS_HOFFSET_SIZE 9
+#define REG_G2_BG3OFS_HOFFSET_MASK 0x000001ff
+
+// G2S_DB_BG0OFS
+#define REG_G2S_DB_BG0OFS_VOFFSET_SHIFT 16
+#define REG_G2S_DB_BG0OFS_VOFFSET_SIZE 9
+#define REG_G2S_DB_BG0OFS_VOFFSET_MASK 0x01ff0000
+
+#define REG_G2S_DB_BG0OFS_HOFFSET_SHIFT 0
+#define REG_G2S_DB_BG0OFS_HOFFSET_SIZE 9
+#define REG_G2S_DB_BG0OFS_HOFFSET_MASK 0x000001ff
+
+// G2S_DB_BG1OFS
+#define REG_G2S_DB_BG1OFS_VOFFSET_SHIFT 16
+#define REG_G2S_DB_BG1OFS_VOFFSET_SIZE 9
+#define REG_G2S_DB_BG1OFS_VOFFSET_MASK 0x01ff0000
+
+#define REG_G2S_DB_BG1OFS_HOFFSET_SHIFT 0
+#define REG_G2S_DB_BG1OFS_HOFFSET_SIZE 9
+#define REG_G2S_DB_BG1OFS_HOFFSET_MASK 0x000001ff
+
+// G2S_DB_BG2OFS
+#define REG_G2S_DB_BG2OFS_VOFFSET_SHIFT 16
+#define REG_G2S_DB_BG2OFS_VOFFSET_SIZE 9
+#define REG_G2S_DB_BG2OFS_VOFFSET_MASK 0x01ff0000
+
+#define REG_G2S_DB_BG2OFS_HOFFSET_SHIFT 0
+#define REG_G2S_DB_BG2OFS_HOFFSET_SIZE 9
+#define REG_G2S_DB_BG2OFS_HOFFSET_MASK 0x000001ff
+
+// G2S_DB_BG3OFS
+#define REG_G2S_DB_BG3OFS_VOFFSET_SHIFT 16
+#define REG_G2S_DB_BG3OFS_VOFFSET_SIZE 9
+#define REG_G2S_DB_BG3OFS_VOFFSET_MASK 0x01ff0000
+
+#define REG_G2S_DB_BG3OFS_HOFFSET_SHIFT 0
+#define REG_G2S_DB_BG3OFS_HOFFSET_SIZE 9
+#define REG_G2S_DB_BG3OFS_HOFFSET_MASK 0x000001ff
+
#endif //POKEDIAMOND_ARM9_REGISTERS_H
diff --git a/arm9/lib/src/GX_g2.c b/arm9/lib/src/GX_g2.c
index 99ba0e26..39b8bff4 100644
--- a/arm9/lib/src/GX_g2.c
+++ b/arm9/lib/src/GX_g2.c
@@ -1,16 +1,16 @@
#include "global.h"
#include "gx.h"
-ARM_FUNC void G2x_SetBGyAffine_(u32 *ptr, struct Mtx22 *mtx, fx32 a, fx32 b, fx32 c, fx32 d){
+ARM_FUNC void G2x_SetBGyAffine_(u32 ptr, const struct Mtx22 *mtx, fx32 a, fx32 b, fx32 c, fx32 d){
fx32 temp0, temp1, temp2, temp3;
- ptr[0] = (u32)((u16)(fx16)(mtx->_[0] >> 4) | (u16)(fx16)(mtx->_[1] >> 4)<< 0x10);
- ptr[1] = (u32)((u16)(fx16)(mtx->_[2] >> 4) | (u16)(fx16)(mtx->_[3] >> 4)<< 0x10);
+ *((vu32 *)ptr + 0) = (u32)((u16)(fx16)(mtx->_[0] >> 4) | (u16)(fx16)(mtx->_[1] >> 4)<< 0x10);
+ *((vu32 *)ptr + 1) = (u32)((u16)(fx16)(mtx->_[2] >> 4) | (u16)(fx16)(mtx->_[3] >> 4)<< 0x10);
temp0 = c - a;
temp1 = d - b;
temp2 = mtx->_[0] * temp0 + mtx->_[1] * temp1 + (a << 0xC);
temp3 = mtx->_[2] * temp0 + mtx->_[3] * temp1 + (b << 0xC);
- ptr[2] = (u32)(temp2 >> 4);
- ptr[3] = (u32)(temp3 >> 4);
+ *((vu32 *)ptr + 2) = (u32)(temp2 >> 4);
+ *((vu32 *)ptr + 3) = (u32)(temp3 >> 4);
}
ARM_FUNC void G2x_SetBlendAlpha_(u32 *ptr, fx32 a, fx32 b, fx32 c, fx32 d){
diff --git a/arm9/modules/06/asm/module_06.s b/arm9/modules/06/asm/module_06.s
index e4c3ea0d..03071c93 100644
--- a/arm9/modules/06/asm/module_06.s
+++ b/arm9/modules/06/asm/module_06.s
@@ -8955,23 +8955,23 @@ MOD06_0223DA8C: ; 0x0223DA8C
str r0, [r4, r1]
ldr r0, [r4]
mov r1, #0
- bl FUN_02018884
+ bl GetBgPriority
mov r1, #0x8d
lsl r1, r1, #2
strb r0, [r4, r1]
ldr r0, [r4]
mov r1, #1
- bl FUN_02018884
+ bl GetBgPriority
ldr r1, _0223DB10 ; =0x00000235
strb r0, [r4, r1]
ldr r0, [r4]
mov r1, #2
- bl FUN_02018884
+ bl GetBgPriority
ldr r1, _0223DB14 ; =0x00000236
strb r0, [r4, r1]
ldr r0, [r4]
mov r1, #3
- bl FUN_02018884
+ bl GetBgPriority
ldr r1, _0223DB18 ; =0x00000237
strb r0, [r4, r1]
mov r0, #0
@@ -27719,12 +27719,12 @@ MOD06_02246F0C: ; 0x02246F0C
ldr r0, [r5, #0x60]
mov r1, #0
ldr r0, [r0, #8]
- bl FUN_02018884
+ bl GetBgPriority
strh r0, [r5, #0x24]
ldr r0, [r5, #0x60]
mov r1, #3
ldr r0, [r0, #8]
- bl FUN_02018884
+ bl GetBgPriority
strh r0, [r5, #0x26]
ldr r2, _02246FB4 ; =0x0400000A
mov r1, #3
diff --git a/arm9/modules/07/asm/module_07.s b/arm9/modules/07/asm/module_07.s
index e95e23e7..16149710 100644
--- a/arm9/modules/07/asm/module_07.s
+++ b/arm9/modules/07/asm/module_07.s
@@ -3478,7 +3478,7 @@ MOD07_02213AA0: ; 0x02213AA0
ldr r0, [r4, #0xc]
str r1, [sp]
add r1, r2, #0
- bl FUN_0201886C
+ bl GetBgTilemapBuffer
add r6, r0, #0
ldr r0, [r4]
add r0, #0x29
diff --git a/arm9/modules/08/asm/module_08.s b/arm9/modules/08/asm/module_08.s
index a02c3f48..3d45d586 100644
--- a/arm9/modules/08/asm/module_08.s
+++ b/arm9/modules/08/asm/module_08.s
@@ -616,7 +616,7 @@ _022122C6:
add r0, #0xc4
ldr r0, [r0]
mov r1, #0
- bl FUN_02018884
+ bl GetBgPriority
mov r1, #0x1a
lsl r1, r1, #4
strb r0, [r4, r1]
@@ -624,21 +624,21 @@ _022122C6:
add r0, #0xc4
ldr r0, [r0]
mov r1, #1
- bl FUN_02018884
+ bl GetBgPriority
ldr r1, _02212374 ; =0x000001A1
strb r0, [r4, r1]
add r0, r4, #0
add r0, #0xc4
ldr r0, [r0]
mov r1, #2
- bl FUN_02018884
+ bl GetBgPriority
ldr r1, _02212378 ; =0x000001A2
strb r0, [r4, r1]
add r0, r4, #0
add r0, #0xc4
ldr r0, [r0]
mov r1, #3
- bl FUN_02018884
+ bl GetBgPriority
ldr r1, _0221237C ; =0x000001A3
mov r3, #0
strb r0, [r4, r1]
@@ -1830,7 +1830,7 @@ _02212AE8:
bl FUN_02018744
mov r0, #2
mov r1, #1
- bl FUN_0201797C
+ bl ToggleBgLayer
b _02212B40
_02212B3C:
bl MOD12_02233560
@@ -3163,7 +3163,7 @@ _02213500:
bl MI_CpuFill8
mov r0, #2
mov r1, #0
- bl FUN_0201797C
+ bl ToggleBgLayer
mov r0, #0
str r0, [sp]
add r0, r5, #0
@@ -3273,7 +3273,7 @@ _022135AC:
bl FUN_020179E0
mov r0, #2
mov r1, #1
- bl FUN_0201797C
+ bl ToggleBgLayer
add r0, r5, #0
bl MOD08_02215574
add r1, r0, #0
@@ -4371,7 +4371,7 @@ _02213E50:
bl FUN_020178BC
mov r0, #2
mov r1, #1
- bl FUN_0201797C
+ bl ToggleBgLayer
ldrb r0, [r5, #5]
add r0, r0, #1
strb r0, [r5, #5]
@@ -4491,7 +4491,7 @@ _02213F56: ; jump table
_02213F60:
mov r0, #2
mov r1, #1
- bl FUN_0201797C
+ bl ToggleBgLayer
ldrb r0, [r4, #5]
add r0, r0, #1
strb r0, [r4, #5]
@@ -4981,7 +4981,7 @@ _02214324:
_02214338:
mov r0, #3
mov r1, #0
- bl FUN_0201797C
+ bl ToggleBgLayer
ldr r0, [r4, #0x48]
bl MOD08_02212004
cmp r0, #0
@@ -5060,7 +5060,7 @@ _022143BE:
bl GfGfxLoader_LoadScrnData
mov r0, #3
mov r1, #1
- bl FUN_0201797C
+ bl ToggleBgLayer
ldrb r0, [r4, #5]
add r0, r0, #1
strb r0, [r4, #5]
@@ -5550,7 +5550,7 @@ MOD08_0221477C: ; 0x0221477C
lsl r0, r4, #0x18
lsr r0, r0, #0x18
mov r1, #0
- bl FUN_0201797C
+ bl ToggleBgLayer
add r0, r5, #0
bl MOD08_02212004
cmp r0, #1
@@ -15287,7 +15287,7 @@ _02219008:
bl G2x_SetBlendAlpha_
mov r0, #2
mov r1, #1
- bl FUN_0201797C
+ bl ToggleBgLayer
ldrb r0, [r4, #0x1c]
add r0, r0, #1
strb r0, [r4, #0x1c]
@@ -15377,7 +15377,7 @@ _022190A4:
_022190B2:
mov r0, #2
mov r1, #0
- bl FUN_0201797C
+ bl ToggleBgLayer
ldr r0, [r4, #0x20]
add r1, r5, #0
bl MOD08_02212438
@@ -15565,7 +15565,7 @@ _02219228:
strh r0, [r4, #0x18]
mov r0, #2
str r1, [r4, #4]
- bl FUN_0201797C
+ bl ToggleBgLayer
add r0, r5, #0
mov r1, #0
bl MOD08_02212498
@@ -15690,7 +15690,7 @@ _02219334:
bl G2x_SetBlendAlpha_
mov r0, #2
mov r1, #1
- bl FUN_0201797C
+ bl ToggleBgLayer
ldrb r0, [r4, #0x1c]
add r0, r0, #1
strb r0, [r4, #0x1c]
@@ -15778,7 +15778,7 @@ _022193CC:
_022193DA:
mov r0, #2
mov r1, #0
- bl FUN_0201797C
+ bl ToggleBgLayer
ldr r0, [r4, #0x20]
add r1, r5, #0
bl MOD08_02212438
@@ -15969,7 +15969,7 @@ _02219550:
strh r0, [r4, #0x18]
mov r0, #2
str r1, [r4, #4]
- bl FUN_0201797C
+ bl ToggleBgLayer
add r0, r5, #0
mov r1, #0
bl MOD08_02212498
@@ -29589,7 +29589,7 @@ MOD08_0222042C: ; 0x0222042C
bl MOD08_0221477C
mov r0, #2
mov r1, #1
- bl FUN_0201797C
+ bl ToggleBgLayer
ldr r0, [r4, #8]
ldr r1, _022204C8 ; =MOD08_02220304
add r2, r4, #0
diff --git a/arm9/modules/11/asm/module_11_thumb2.s b/arm9/modules/11/asm/module_11_thumb2.s
index 40e43938..ca3736f6 100644
--- a/arm9/modules/11/asm/module_11_thumb2.s
+++ b/arm9/modules/11/asm/module_11_thumb2.s
@@ -84439,7 +84439,7 @@ _022584B4:
lsl r0, r0, #0x18
lsr r0, r0, #0x18
add r1, r6, #0
- bl FUN_0201797C
+ bl ToggleBgLayer
add r1, r4, #4
lsl r1, r1, #0x18
add r0, r5, #0
@@ -85979,7 +85979,7 @@ _0225910E:
bl FUN_02018768
mov r0, #7
mov r1, #0
- bl FUN_0201797C
+ bl ToggleBgLayer
mov r0, #7
mov r1, #0
bl FUN_020178BC
@@ -88427,7 +88427,7 @@ MOD11_0225A5C0: ; 0x0225A5C0
ldr r0, [r7]
bl MOD11_0222FF68
mov r1, #5
- bl FUN_0201886C
+ bl GetBgTilemapBuffer
add r4, r0, #0
add r0, r7, #0
add r1, sp, #4
@@ -89269,13 +89269,13 @@ _0225AC68:
lsl r0, r0, #0x18
lsr r0, r0, #0x18
add r1, r4, #0
- bl FUN_0201797C
+ bl ToggleBgLayer
b _0225AC84
_0225AC7A:
lsl r0, r0, #0x18
lsr r0, r0, #0x18
add r1, r6, #0
- bl FUN_0201797C
+ bl ToggleBgLayer
_0225AC84:
add r5, r5, #1
cmp r5, #4
@@ -89482,7 +89482,7 @@ MOD11_0225ADD8: ; 0x0225ADD8
bl MOD11_0222FF68
mov r1, #4
str r0, [sp, #4]
- bl FUN_0201886C
+ bl GetBgTilemapBuffer
mov ip, r0
lsl r0, r7, #2
add r0, r5, r0
@@ -90650,14 +90650,14 @@ _0225B716:
lsl r0, r0, #0x18
lsr r0, r0, #0x18
mov r1, #0
- bl FUN_0201797C
+ bl ToggleBgLayer
b _0225B736
_0225B72A:
add r0, r4, #4
lsl r0, r0, #0x18
lsr r0, r0, #0x18
mov r1, #1
- bl FUN_0201797C
+ bl ToggleBgLayer
_0225B736:
add r4, r4, #1
add r5, r5, #2
diff --git a/arm9/modules/12/asm/module_12.s b/arm9/modules/12/asm/module_12.s
index 4ccb62ed..96c131ea 100644
--- a/arm9/modules/12/asm/module_12.s
+++ b/arm9/modules/12/asm/module_12.s
@@ -3619,7 +3619,7 @@ MOD12_0222F324: ; 0x0222F324
bl FUN_020178A0
mov r0, #4
mov r1, #0
- bl FUN_0201797C
+ bl ToggleBgLayer
ldr r0, [r4, #0x30]
mov r1, #4
bl FUN_020178A0
@@ -8394,7 +8394,7 @@ _02231A04:
lsl r0, r0, #0x18
lsr r0, r0, #0x18
add r1, r6, #0
- bl FUN_0201797C
+ bl ToggleBgLayer
add r1, r4, #4
lsl r1, r1, #0x18
add r0, r5, #0
@@ -9846,7 +9846,7 @@ MOD12_02232538: ; 0x02232538
mov r1, #4
add r4, r2, #0
str r0, [sp, #4]
- bl FUN_0201886C
+ bl GetBgTilemapBuffer
mov ip, r0
lsl r0, r7, #2
add r0, r5, r0
@@ -11774,14 +11774,14 @@ _022333C0:
lsl r0, r0, #0x18
lsr r0, r0, #0x18
add r1, r7, #0
- bl FUN_0201797C
+ bl ToggleBgLayer
b _022333E0
_022333D4:
add r0, r4, #4
lsl r0, r0, #0x18
lsr r0, r0, #0x18
mov r1, #1
- bl FUN_0201797C
+ bl ToggleBgLayer
_022333E0:
add r4, r4, #1
add r5, r5, #2
@@ -11991,7 +11991,7 @@ MOD12_0223356C: ; 0x0223356C
add r5, r1, #0
mov r1, #2
add r4, r2, #0
- bl FUN_0201886C
+ bl GetBgTilemapBuffer
mov r1, #0xc0
mul r1, r5
lsl r1, r1, #1
@@ -26691,7 +26691,7 @@ _0223A418:
ldr r0, [r0]
mov r1, #2
ldr r0, [r0, #0x30]
- bl FUN_0201886C
+ bl GetBgTilemapBuffer
mov ip, r0
mov r0, #0
str r0, [sp, #8]
@@ -26921,7 +26921,7 @@ _0223A5CC:
ldr r0, [r0]
mov r1, #2
ldr r0, [r0, #0x30]
- bl FUN_0201886C
+ bl GetBgTilemapBuffer
mov ip, r0
mov r0, #0
str r0, [sp, #8]
@@ -28480,7 +28480,7 @@ _0223B1DE:
mov r1, #2
ldr r0, [r0]
ldr r0, [r0, #0x30]
- bl FUN_0201886C
+ bl GetBgTilemapBuffer
mov ip, r0
mov r0, #0
str r0, [sp, #8]
@@ -28818,7 +28818,7 @@ _0223B47C:
lsl r0, r0, #0x18
lsr r0, r0, #0x18
add r1, r6, #0
- bl FUN_0201797C
+ bl ToggleBgLayer
add r1, r4, #4
lsl r1, r1, #0x18
add r0, r5, #0
@@ -30475,14 +30475,14 @@ _0223C162:
lsl r0, r0, #0x18
lsr r0, r0, #0x18
add r1, r7, #0
- bl FUN_0201797C
+ bl ToggleBgLayer
b _0223C182
_0223C176:
add r0, r4, #4
lsl r0, r0, #0x18
lsr r0, r0, #0x18
mov r1, #1
- bl FUN_0201797C
+ bl ToggleBgLayer
_0223C182:
add r4, r4, #1
add r5, r5, #2
@@ -30738,7 +30738,7 @@ _0223C338:
ldr r0, [sp]
mov r1, #3
ldr r0, [r0, #0x60]
- bl FUN_0201886C
+ bl GetBgTilemapBuffer
add r2, r0, #0
mov r1, #0
cmp r4, #0
@@ -36487,7 +36487,7 @@ _0223EF78:
ldr r0, [r0]
mov r1, #2
ldr r0, [r0, #0x74]
- bl FUN_0201886C
+ bl GetBgTilemapBuffer
mov ip, r0
mov r0, #0
str r0, [sp, #8]
@@ -36724,7 +36724,7 @@ _0223F140:
ldr r0, [r0]
mov r1, #2
ldr r0, [r0, #0x74]
- bl FUN_0201886C
+ bl GetBgTilemapBuffer
mov ip, r0
mov r0, #0
str r0, [sp, #8]
@@ -41494,7 +41494,7 @@ _022415D4:
bl FUN_020178A0
mov r0, #4
mov r1, #0
- bl FUN_0201797C
+ bl ToggleBgLayer
ldr r0, [r4, #0x30]
mov r1, #4
bl FUN_020178A0
@@ -46285,7 +46285,7 @@ _02243B98:
ldr r0, [r0]
mov r1, #2
ldr r0, [r0, #0x30]
- bl FUN_0201886C
+ bl GetBgTilemapBuffer
mov ip, r0
mov r0, #0
str r0, [sp, #8]
@@ -46515,7 +46515,7 @@ _02243D4C:
ldr r0, [r0]
mov r1, #2
ldr r0, [r0, #0x30]
- bl FUN_0201886C
+ bl GetBgTilemapBuffer
mov ip, r0
mov r0, #0
str r0, [sp, #8]
diff --git a/arm9/modules/14/asm/module_14.s b/arm9/modules/14/asm/module_14.s
index 0e5c39da..0c8541b9 100644
--- a/arm9/modules/14/asm/module_14.s
+++ b/arm9/modules/14/asm/module_14.s
@@ -13899,7 +13899,7 @@ MOD14_021DE278: ; 0x021DE278
ldr r0, _021DE2E4 ; =0x00005984
mov r1, #3
ldr r0, [r5, r0]
- bl FUN_0201886C
+ bl GetBgTilemapBuffer
add r7, r0, #0
beq _021DE2C2
ldr r1, [sp, #0x20]
@@ -20555,7 +20555,7 @@ MOD14_021E16A0: ; 0x021E16A0
add r4, r1, #0
ldr r0, [r0, #8]
mov r1, #2
- bl FUN_0201886C
+ bl GetBgTilemapBuffer
mov ip, r0
add r2, r0, #0
mov r0, #1
@@ -20866,7 +20866,7 @@ MOD14_021E1908: ; 0x021E1908
add r6, r2, #0
ldr r4, [sp, #0x18]
ldr r5, [sp, #0x1c]
- bl FUN_0201886C
+ bl GetBgTilemapBuffer
sub r1, r7, #1
sub r2, r6, #2
lsl r1, r1, #5
@@ -21100,7 +21100,7 @@ MOD14_021E1AD8: ; 0x021E1AD8
add r5, r1, #0
ldr r0, [r0]
mov r1, #1
- bl FUN_0201886C
+ bl GetBgTilemapBuffer
mov r2, #8
sub r2, r2, r5
mov ip, r2
@@ -21267,7 +21267,7 @@ MOD14_021E1C10: ; 0x021E1C10
add r6, r2, #0
ldr r5, [sp, #0x18]
ldr r4, [sp, #0x1c]
- bl FUN_0201886C
+ bl GetBgTilemapBuffer
sub r1, r7, #1
sub r2, r6, #1
lsl r1, r1, #5
@@ -21339,7 +21339,7 @@ MOD14_021E1CA0: ; 0x021E1CA0
push {r3, r4, r5, r6, r7, lr}
add r4, r1, #0
ldrb r1, [r4, #4]
- bl FUN_0201886C
+ bl GetBgTilemapBuffer
ldrb r1, [r4, #5]
mov r5, #0
sub r2, r1, #1
@@ -21383,7 +21383,7 @@ MOD14_021E1CEC: ; 0x021E1CEC
push {r3, r4, r5, r6, r7, lr}
add r4, r1, #0
ldrb r1, [r4, #4]
- bl FUN_0201886C
+ bl GetBgTilemapBuffer
ldrb r1, [r4, #5]
mov r5, #0
sub r2, r1, #2
@@ -21795,7 +21795,7 @@ MOD14_021E1FF8: ; 0x021E1FF8
mov r1, #9
mov r2, #0xa
mov r3, #0xe
- bl FUN_02018F4C
+ bl FillBitmapRect8Bit
mov r4, #0
mov r0, #0xc
str r4, [sp, #0x20]
@@ -21872,7 +21872,7 @@ _021E20AA:
lsl r1, r6, #0x10
ldr r0, [sp, #0x2c]
lsr r1, r1, #0x10
- bl FUN_02018F4C
+ bl FillBitmapRect8Bit
_021E20C8:
ldr r1, [sp, #0x1c]
add r0, r5, #0
@@ -27001,12 +27001,12 @@ _021E4762:
thumb_func_start MOD14_021E4764
MOD14_021E4764: ; 0x021E4764
- ldr r3, _021E476C ; =FUN_0201797C
+ ldr r3, _021E476C ; =ToggleBgLayer
mov r0, #4
mov r1, #0
bx r3
.align 2, 0
-_021E476C: .word FUN_0201797C
+_021E476C: .word ToggleBgLayer
thumb_func_start MOD14_021E4770
MOD14_021E4770: ; 0x021E4770
@@ -27020,7 +27020,7 @@ MOD14_021E4770: ; 0x021E4770
bl G2x_SetBlendAlpha_
mov r0, #4
mov r1, #1
- bl FUN_0201797C
+ bl ToggleBgLayer
pop {r3, pc}
.align 2, 0
_021E478C: .word 0x04001050
@@ -28587,35 +28587,35 @@ MOD14_021E539C: ; 0x021E539C
_021E53B2:
mov r0, #5
mov r1, #1
- bl FUN_0201797C
+ bl ToggleBgLayer
mov r0, #6
mov r1, #0
- bl FUN_0201797C
+ bl ToggleBgLayer
mov r0, #7
mov r1, #0
- bl FUN_0201797C
+ bl ToggleBgLayer
pop {r3, pc}
_021E53CC:
mov r0, #6
mov r1, #1
- bl FUN_0201797C
+ bl ToggleBgLayer
mov r0, #5
mov r1, #0
- bl FUN_0201797C
+ bl ToggleBgLayer
mov r0, #7
mov r1, #0
- bl FUN_0201797C
+ bl ToggleBgLayer
pop {r3, pc}
_021E53E6:
mov r0, #7
mov r1, #1
- bl FUN_0201797C
+ bl ToggleBgLayer
mov r0, #5
mov r1, #0
- bl FUN_0201797C
+ bl ToggleBgLayer
mov r0, #6
mov r1, #0
- bl FUN_0201797C
+ bl ToggleBgLayer
pop {r3, pc}
thumb_func_start MOD14_021E5400
diff --git a/arm9/modules/15/asm/module_15.s b/arm9/modules/15/asm/module_15.s
index b5efbd03..85687e1e 100644
--- a/arm9/modules/15/asm/module_15.s
+++ b/arm9/modules/15/asm/module_15.s
@@ -6545,7 +6545,7 @@ MOD15_021DA760: ; 0x021DA760
beq _021DA778
mov r0, #1
mov r1, #0
- bl FUN_0201797C
+ bl ToggleBgLayer
mov r0, #1
pop {r3, pc}
_021DA778:
@@ -6566,7 +6566,7 @@ MOD15_021DA77C: ; 0x021DA77C
bl G2x_SetBlendAlpha_
mov r0, #1
add r1, r0, #0
- bl FUN_0201797C
+ bl ToggleBgLayer
mov r0, #0x7c
str r0, [sp]
mov r0, #0xc
@@ -6783,7 +6783,7 @@ MOD15_021DA8E8: ; 0x021DA8E8
bl MOD15_021DA950
mov r0, #2
mov r1, #0
- bl FUN_0201797C
+ bl ToggleBgLayer
add sp, #0x10
pop {r3, r4, r5, pc}
.align 2, 0
@@ -6903,7 +6903,7 @@ MOD15_021DAA24: ; 0x021DAA24
bl G2x_SetBlendAlpha_
mov r0, #2
mov r1, #1
- bl FUN_0201797C
+ bl ToggleBgLayer
ldr r1, _021DAAC0 ; =0x04000048
ldr r0, _021DAAC4 ; =0xFFFFC0FF
ldrh r2, [r1]
@@ -7027,7 +7027,7 @@ MOD15_021DAB18: ; 0x021DAB18
beq _021DAB74
mov r0, #2
mov r1, #0
- bl FUN_0201797C
+ bl ToggleBgLayer
ldr r0, _021DAB78 ; =0x0400004A
ldrh r2, [r0]
mov r0, #0x3f
diff --git a/arm9/modules/18/asm/module_18.s b/arm9/modules/18/asm/module_18.s
index fed1b86a..b6d3d0c3 100644
--- a/arm9/modules/18/asm/module_18.s
+++ b/arm9/modules/18/asm/module_18.s
@@ -3460,7 +3460,7 @@ MOD18_0223B1A8: ; 0x0223B1A8
mov r1, #1
str r2, [sp, #0x14]
str r3, [sp, #0x18]
- bl FUN_0201886C
+ bl GetBgTilemapBuffer
ldr r1, [r5, r6]
str r0, [sp, #0x34]
ldr r0, [sp, #0x38]
@@ -4109,7 +4109,7 @@ MOD18_0223B6A4: ; 0x0223B6A4
sub sp, #0xc
mov r1, #2
str r0, [sp]
- bl FUN_0201886C
+ bl GetBgTilemapBuffer
str r0, [sp, #8]
mov r2, #0
mov r0, #4
@@ -4536,7 +4536,7 @@ MOD18_0223B9BC: ; 0x0223B9BC
ldr r3, [r3]
sub r2, r2, #2
strb r1, [r3, r2]
- bl FUN_0201886C
+ bl GetBgTilemapBuffer
ldr r1, _0223B9E8 ; =0x02250874
mov r2, #0x30
mov r3, #0x36
@@ -4593,7 +4593,7 @@ _0223BA26:
_0223BA36:
add r0, r5, #0
mov r1, #1
- bl FUN_0201886C
+ bl GetBgTilemapBuffer
ldr r1, _0223BB40 ; =0x02251380
add r6, r0, #0
ldr r2, [r1]
@@ -4757,7 +4757,7 @@ MOD18_0223BB7C: ; 0x0223BB7C
ldr r1, _0223BC48 ; =0x000009E7
ldrb r4, [r2, r1]
mov r1, #0
- bl FUN_0201886C
+ bl GetBgTilemapBuffer
add r5, r0, #0
asr r0, r4, #1
lsr r0, r0, #0x1e
@@ -14378,7 +14378,7 @@ _02240480:
ldr r0, [r0, #4]
ldr r0, [r0, #0x40]
ldr r0, [r0, #8]
- bl FUN_0201886C
+ bl GetBgTilemapBuffer
mov r3, #0
mov r1, #2
add r2, r3, #0
@@ -14430,7 +14430,7 @@ MOD18_022404F4: ; 0x022404F4
mov r1, #2
add r6, r2, #0
mov r4, #0
- bl FUN_0201886C
+ bl GetBgTilemapBuffer
add r5, r0, #0
bne _02240512
add sp, #8
diff --git a/arm9/modules/22/asm/module_22.s b/arm9/modules/22/asm/module_22.s
index bf11e9db..9a7e3e39 100644
--- a/arm9/modules/22/asm/module_22.s
+++ b/arm9/modules/22/asm/module_22.s
@@ -1722,7 +1722,7 @@ MOD22_02255544: ; 0x02255544
push {r3, r4, r5, r6, r7, lr}
add r4, r1, #0
mov r1, #6
- bl FUN_0201886C
+ bl GetBgTilemapBuffer
ldr r1, _022555A0 ; =0x00000252
mov r7, #1
add r1, r0, r1
diff --git a/arm9/modules/23/asm/module_23.s b/arm9/modules/23/asm/module_23.s
index 9f052087..ec9f38f2 100644
--- a/arm9/modules/23/asm/module_23.s
+++ b/arm9/modules/23/asm/module_23.s
@@ -1216,7 +1216,7 @@ MOD23_02255124: ; 0x02255124
add r6, r0, #0
ldr r0, [r6, #4]
mov r1, #6
- bl FUN_0201886C
+ bl GetBgTilemapBuffer
mov ip, r0
mov r0, #0
ldr r3, _022551A0 ; =MOD23_02255FB8
@@ -1572,7 +1572,7 @@ MOD23_02255410: ; 0x02255410
add r5, r1, #0
mov r1, #6
add r4, r0, #0
- bl FUN_0201886C
+ bl GetBgTilemapBuffer
ldrh r1, [r5, #2]
cmp r1, #0x11
bne _0225542E
@@ -1602,7 +1602,7 @@ MOD23_0225544C: ; 0x0225544C
push {lr}
sub sp, #0xc
mov r1, #6
- bl FUN_0201886C
+ bl GetBgTilemapBuffer
mov r1, #0x29
str r1, [sp]
mov r1, #0x28
@@ -1638,7 +1638,7 @@ MOD23_0225548C: ; 0x0225548C
sub sp, #0x14
add r6, r1, #0
mov r1, #6
- bl FUN_0201886C
+ bl GetBgTilemapBuffer
add r7, r0, #0
ldrh r0, [r6]
mov r1, #0
diff --git a/arm9/modules/26/asm/module_26.s b/arm9/modules/26/asm/module_26.s
index 6d8828a0..3c634036 100644
--- a/arm9/modules/26/asm/module_26.s
+++ b/arm9/modules/26/asm/module_26.s
@@ -748,7 +748,7 @@ MOD26_02254DAC: ; 0x02254DAC
push {r3, r4, r5, r6, r7, lr}
add r4, r1, #0
mov r1, #6
- bl FUN_0201886C
+ bl GetBgTilemapBuffer
mov r5, #0
ldr r1, _02254DE0 ; =MOD26_02254FD0
add r0, #0x84
diff --git a/arm9/modules/34/asm/module_34.s b/arm9/modules/34/asm/module_34.s
index ddc4f587..4129f34e 100644
--- a/arm9/modules/34/asm/module_34.s
+++ b/arm9/modules/34/asm/module_34.s
@@ -535,7 +535,7 @@ MOD34_02254C1C: ; 0x02254C1C
mov r1, #6
add r4, r2, #0
add r6, r3, #0
- bl FUN_0201886C
+ bl GetBgTilemapBuffer
ldr r1, _02254C6C ; =MOD34_02254C94
lsl r2, r5, #1
ldrh r1, [r1, r2]
diff --git a/arm9/modules/51/asm/module_51.s b/arm9/modules/51/asm/module_51.s
index 6fa1300b..2721d5fb 100644
--- a/arm9/modules/51/asm/module_51.s
+++ b/arm9/modules/51/asm/module_51.s
@@ -927,13 +927,13 @@ _02254F88:
_02254FB0:
ldr r0, [r5, #0x14]
mov r1, #7
- bl FUN_0201886C
+ bl GetBgTilemapBuffer
mov r1, #6
lsl r1, r1, #8
bl DC_FlushRange
ldr r0, [r5, #0x14]
mov r1, #7
- bl FUN_0201886C
+ bl GetBgTilemapBuffer
add r2, r0, #0
mov r0, #0
str r0, [sp]
@@ -1507,13 +1507,13 @@ _022553BE:
_02255422:
ldr r0, [sp, #0x1c]
mov r1, #7
- bl FUN_0201886C
+ bl GetBgTilemapBuffer
mov r1, #6
lsl r1, r1, #8
bl DC_FlushRange
ldr r0, [sp, #0x1c]
mov r1, #7
- bl FUN_0201886C
+ bl GetBgTilemapBuffer
add r2, r0, #0
mov r0, #0
str r0, [sp]
diff --git a/arm9/modules/55/asm/module_55.s b/arm9/modules/55/asm/module_55.s
index 43c76968..8f876fa1 100644
--- a/arm9/modules/55/asm/module_55.s
+++ b/arm9/modules/55/asm/module_55.s
@@ -1385,7 +1385,7 @@ MOD55_021D8044: ; 0x021D8044
ldr r0, [sp]
mov r1, #1
ldr r0, [r0, #4]
- bl FUN_0201886C
+ bl GetBgTilemapBuffer
mov ip, r0
mov r1, #0xf2
ldr r0, [sp]
@@ -2245,7 +2245,7 @@ MOD55_021D86D4: ; 0x021D86D4
ldr r0, [sp]
mov r1, #1
ldr r0, [r0, #4]
- bl FUN_0201886C
+ bl GetBgTilemapBuffer
str r0, [sp, #0x24]
mov r1, #0xf2
ldr r0, [sp]
@@ -4322,7 +4322,7 @@ _021D974E:
bne _021D9864
ldr r0, [r4, #4]
mov r1, #2
- bl FUN_0201886C
+ bl GetBgTilemapBuffer
ldr r2, _021D9A5C ; =0x00000FFF
mov r7, #0x10
mov ip, r0
diff --git a/arm9/modules/56/asm/module_56.s b/arm9/modules/56/asm/module_56.s
index 06c4e0d6..47c92423 100644
--- a/arm9/modules/56/asm/module_56.s
+++ b/arm9/modules/56/asm/module_56.s
@@ -3253,7 +3253,7 @@ MOD56_0221375C: ; 0x0221375C
strh r1, [r2, #6]
ldr r0, [r0]
mov r1, #0
- bl FUN_0201886C
+ bl GetBgTilemapBuffer
add r1, r0, #0
mov r2, #0
cmp r4, #0x11
@@ -3371,7 +3371,7 @@ MOD56_022138A4: ; 0x022138A4
add r7, r1, #0
ldr r0, [r0]
mov r1, #0
- bl FUN_0201886C
+ bl GetBgTilemapBuffer
mov r6, #0
mov r4, #5
_022138BA:
diff --git a/arm9/modules/57/asm/module_57.s b/arm9/modules/57/asm/module_57.s
index cb997572..c5c56cfc 100644
--- a/arm9/modules/57/asm/module_57.s
+++ b/arm9/modules/57/asm/module_57.s
@@ -1845,7 +1845,7 @@ MOD57_021D83D8: ; 0x021D83D8
add r4, r1, #0
ldr r0, [r0]
mov r1, #2
- bl FUN_0201886C
+ bl GetBgTilemapBuffer
add r7, r0, #0
lsl r0, r4, #2
add r0, #0x80
@@ -1909,7 +1909,7 @@ MOD57_021D8428: ; 0x021D8428
ldr r0, [r0]
add r1, r6, #0
lsr r4, r4, #0x18
- bl FUN_0201886C
+ bl GetBgTilemapBuffer
mov r2, #0
add r3, r0, r4
add r0, r2, #0
@@ -2215,7 +2215,7 @@ MOD57_021D8690: ; 0x021D8690
bl FUN_02017E14
ldr r0, [r5]
mov r1, #7
- bl FUN_0201886C
+ bl GetBgTilemapBuffer
cmp r0, #0
beq _021D86CA
ldr r2, _021D86E0 ; =0x000032FC
@@ -2448,7 +2448,7 @@ MOD57_021D8830: ; 0x021D8830
lsl r1, r7, #0x18
ldr r0, [sp, #4]
lsr r1, r1, #0x18
- bl FUN_0201886C
+ bl GetBgTilemapBuffer
mov r4, #0
add r1, r0, #0
add r3, r4, #0
diff --git a/arm9/modules/59/asm/mod59_021D74E0_asm.s b/arm9/modules/59/asm/mod59_021D74E0_asm.s
index 6781b0fb..1b1c3f63 100644
--- a/arm9/modules/59/asm/mod59_021D74E0_asm.s
+++ b/arm9/modules/59/asm/mod59_021D74E0_asm.s
@@ -435,28 +435,28 @@ _021D7798:
bl FUN_02018744
mov r0, #0
add r1, r0, #0
- bl FUN_0201797C
+ bl ToggleBgLayer
mov r0, #1
mov r1, #0
- bl FUN_0201797C
+ bl ToggleBgLayer
mov r0, #2
mov r1, #0
- bl FUN_0201797C
+ bl ToggleBgLayer
mov r0, #3
mov r1, #0
- bl FUN_0201797C
+ bl ToggleBgLayer
mov r0, #4
mov r1, #0
- bl FUN_0201797C
+ bl ToggleBgLayer
mov r0, #5
mov r1, #0
- bl FUN_0201797C
+ bl ToggleBgLayer
mov r0, #6
mov r1, #0
- bl FUN_0201797C
+ bl ToggleBgLayer
mov r0, #7
mov r1, #0
- bl FUN_0201797C
+ bl ToggleBgLayer
add r0, r4, #0
bl MOD59_021D8058
mov r0, #0
@@ -478,28 +478,28 @@ MOD59_021D796C: ; 0x021D796C
add r4, r0, #0
mov r0, #0
add r1, r0, #0
- bl FUN_0201797C
+ bl ToggleBgLayer
mov r0, #1
mov r1, #0
- bl FUN_0201797C
+ bl ToggleBgLayer
mov r0, #2
mov r1, #0
- bl FUN_0201797C
+ bl ToggleBgLayer
mov r0, #3
mov r1, #0
- bl FUN_0201797C
+ bl ToggleBgLayer
mov r0, #4
mov r1, #0
- bl FUN_0201797C
+ bl ToggleBgLayer
mov r0, #5
mov r1, #0
- bl FUN_0201797C
+ bl ToggleBgLayer
mov r0, #6
mov r1, #0
- bl FUN_0201797C
+ bl ToggleBgLayer
mov r0, #7
mov r1, #0
- bl FUN_0201797C
+ bl ToggleBgLayer
ldr r0, [r4, #0x18]
mov r1, #0
bl FUN_020178A0
@@ -690,7 +690,7 @@ _021D7B0E:
lsl r0, r4, #0x18
lsr r0, r0, #0x18
mov r1, #1
- bl FUN_0201797C
+ bl ToggleBgLayer
b _021D7BDE
_021D7B1A:
mov r0, #0x10
@@ -783,7 +783,7 @@ _021D7BC0:
lsl r0, r4, #0x18
lsr r0, r0, #0x18
mov r1, #0
- bl FUN_0201797C
+ bl ToggleBgLayer
b _021D7BDE
_021D7BD0:
ldr r0, _021D7BE4 ; =0x04000050
@@ -1191,7 +1191,7 @@ _021D7EEE: ; jump table
_021D7EFA:
add r0, r5, #0
add r1, r5, #0
- bl FUN_0201797C
+ bl ToggleBgLayer
mov r0, #1
ldr r1, [r4]
lsl r0, r0, #0xa
@@ -2218,7 +2218,7 @@ _021D86E4:
bl FUN_020178BC
mov r0, #5
mov r1, #1
- bl FUN_0201797C
+ bl ToggleBgLayer
add r0, r4, #0
add r2, r7, #0
add r0, #0xa8
@@ -2284,7 +2284,7 @@ _021D8728:
_021D8792:
mov r0, #5
add r1, r7, #0
- bl FUN_0201797C
+ bl ToggleBgLayer
mov r0, #0x1e
add r4, #0xb0
str r0, [r4]
@@ -2307,7 +2307,7 @@ _021D87A6:
_021D87BE:
mov r0, #2
mov r1, #1
- bl FUN_0201797C
+ bl ToggleBgLayer
add r0, r4, #0
add r2, r7, #0
add r0, #0xa8
@@ -2619,10 +2619,10 @@ _021D8A1A:
bl FUN_02005350
add r0, r5, #0
mov r1, #1
- bl FUN_0201797C
+ bl ToggleBgLayer
mov r0, #7
mov r1, #1
- bl FUN_0201797C
+ bl ToggleBgLayer
mov r0, #6
mov r1, #1
str r0, [sp]
@@ -2675,10 +2675,10 @@ _021D8A92:
bl MOD59_021D8140
mov r0, #3
mov r1, #1
- bl FUN_0201797C
+ bl ToggleBgLayer
mov r0, #1
add r1, r0, #0
- bl FUN_0201797C
+ bl ToggleBgLayer
mov r0, #0x10
str r0, [sp]
mov r0, #4
@@ -2778,7 +2778,7 @@ _021D8B80:
bl FUN_02018744
mov r0, #1
add r1, r5, #0
- bl FUN_0201797C
+ bl ToggleBgLayer
ldr r0, [r4, #0x10]
str r0, [r4, #0xc]
bl _021D985C
@@ -2898,7 +2898,7 @@ _021D8C88:
_021D8C98:
add r0, r5, #0
mov r1, #1
- bl FUN_0201797C
+ bl ToggleBgLayer
mov r0, #0x14
str r0, [r4, #0xc]
bl _021D985C
@@ -2928,7 +2928,7 @@ _021D8CBC:
bl FUN_020145C8
mov r0, #6
mov r1, #1
- bl FUN_0201797C
+ bl ToggleBgLayer
add r0, r4, #0
mov r1, #3
add r0, #0x8b
@@ -3058,7 +3058,7 @@ _021D8DEA:
bl MOD59_021D8234
mov r0, #1
add r1, r0, #0
- bl FUN_0201797C
+ bl ToggleBgLayer
add r2, r5, #0
ldr r0, [r4, #0x18]
mov r1, #1
@@ -3223,7 +3223,7 @@ _021D8F5E:
bl FUN_02018744
add r0, r5, #0
mov r1, #1
- bl FUN_0201797C
+ bl ToggleBgLayer
mov r0, #0x1c
str r0, [r4, #0xc]
bl _021D985C
@@ -3277,7 +3277,7 @@ _021D8FD2:
bl MOD59_021D8234
mov r0, #6
mov r1, #1
- bl FUN_0201797C
+ bl ToggleBgLayer
mov r0, #6
mov r1, #1
str r0, [sp]
@@ -3482,7 +3482,7 @@ _021D9192:
bl MOD59_021D82A0
mov r0, #6
add r1, r5, #0
- bl FUN_0201797C
+ bl ToggleBgLayer
add r0, r4, #0
add r1, r5, #0
add r0, #0x94
@@ -3848,13 +3848,13 @@ _021D945C:
_021D9476:
add r0, r5, #0
mov r1, #1
- bl FUN_0201797C
+ bl ToggleBgLayer
mov r0, #3
mov r1, #1
- bl FUN_0201797C
+ bl ToggleBgLayer
mov r0, #7
mov r1, #1
- bl FUN_0201797C
+ bl ToggleBgLayer
add r0, r4, #0
add r0, #0x84
ldr r0, [r0]
@@ -3862,7 +3862,7 @@ _021D9476:
bne _021D94AE
mov r0, #1
add r1, r0, #0
- bl FUN_0201797C
+ bl ToggleBgLayer
add r2, r5, #0
ldr r0, [r4, #0x18]
mov r1, #1
@@ -3872,7 +3872,7 @@ _021D9476:
_021D94AE:
mov r0, #2
mov r1, #1
- bl FUN_0201797C
+ bl ToggleBgLayer
add r2, r5, #0
ldr r0, [r4, #0x18]
mov r1, #2
@@ -4124,16 +4124,16 @@ _021D9684:
_021D9696:
add r0, r5, #0
mov r1, #1
- bl FUN_0201797C
+ bl ToggleBgLayer
mov r0, #3
mov r1, #1
- bl FUN_0201797C
+ bl ToggleBgLayer
mov r0, #7
mov r1, #1
- bl FUN_0201797C
+ bl ToggleBgLayer
mov r0, #1
add r1, r0, #0
- bl FUN_0201797C
+ bl ToggleBgLayer
add r2, r5, #0
ldr r0, [r4, #0x18]
mov r1, #1
diff --git a/arm9/modules/59/asm/mod59_021D9868.s b/arm9/modules/59/asm/mod59_021D9868.s
index 7561b354..a096c1ab 100644
--- a/arm9/modules/59/asm/mod59_021D9868.s
+++ b/arm9/modules/59/asm/mod59_021D9868.s
@@ -415,28 +415,28 @@ MOD59_021D9BD0: ; 0x021D9BD0
add r4, r0, #0
mov r0, #0
add r1, r0, #0
- bl FUN_0201797C
+ bl ToggleBgLayer
mov r0, #1
mov r1, #0
- bl FUN_0201797C
+ bl ToggleBgLayer
mov r0, #2
mov r1, #0
- bl FUN_0201797C
+ bl ToggleBgLayer
mov r0, #3
mov r1, #0
- bl FUN_0201797C
+ bl ToggleBgLayer
mov r0, #4
mov r1, #0
- bl FUN_0201797C
+ bl ToggleBgLayer
mov r0, #5
mov r1, #0
- bl FUN_0201797C
+ bl ToggleBgLayer
mov r0, #6
mov r1, #0
- bl FUN_0201797C
+ bl ToggleBgLayer
mov r0, #7
mov r1, #0
- bl FUN_0201797C
+ bl ToggleBgLayer
ldr r0, _021D9C44 ; =0x04000050
mov r1, #0
strh r1, [r0]
@@ -511,7 +511,7 @@ _021D9C92: ; jump table
_021D9C9A:
mov r0, #2
add r1, r5, #0
- bl FUN_0201797C
+ bl ToggleBgLayer
mov r0, #1
ldr r1, [r4]
lsl r0, r0, #0xa
@@ -562,7 +562,7 @@ _021D9C9A:
bl CopyWindowToVram
mov r0, #2
mov r1, #1
- bl FUN_0201797C
+ bl ToggleBgLayer
mov r0, #0xf0
str r0, [r4, #0x24]
mov r0, #1
diff --git a/arm9/modules/67/asm/module_67.s b/arm9/modules/67/asm/module_67.s
index d5d4a3d4..85a4b0d0 100644
--- a/arm9/modules/67/asm/module_67.s
+++ b/arm9/modules/67/asm/module_67.s
@@ -405,7 +405,7 @@ _021D7802:
_021D7844:
ldr r0, [r4]
mov r1, #2
- bl FUN_0201886C
+ bl GetBgTilemapBuffer
add r1, r4, #0
mov r2, #2
add r1, #0x5c
@@ -841,7 +841,7 @@ MOD67_021D7B84: ; 0x021D7B84
add r4, r0, #0
ldr r0, [r4]
mov r1, #0
- bl FUN_0201886C
+ bl GetBgTilemapBuffer
ldr r2, _021D7B9C ; =0x0000085C
add r1, r4, r2
sub r2, #0x5c
@@ -863,7 +863,7 @@ MOD67_021D7BA0: ; 0x021D7BA0
ldr r0, [r7]
lsr r1, r1, #0x18
add r5, r3, #0
- bl FUN_0201886C
+ bl GetBgTilemapBuffer
str r0, [sp, #0x14]
ldr r1, _021D7C2C ; =0x021D97D8
lsl r0, r5, #5
diff --git a/arm9/modules/71/asm/module_71.s b/arm9/modules/71/asm/module_71.s
index ed4eef41..a8d81d99 100644
--- a/arm9/modules/71/asm/module_71.s
+++ b/arm9/modules/71/asm/module_71.s
@@ -128,7 +128,7 @@ MOD71_0222D5C0: ; 0x0222D5C0
bl FUN_02083B84
mov r0, #0
mov r1, #1
- bl FUN_0201797C
+ bl ToggleBgLayer
mov r0, #0x10
mov r1, #1
bl GX_EngineAToggleLayers
@@ -314,28 +314,28 @@ MOD71_0222D820: ; 0x0222D820
bl MOD71_02230F40
mov r0, #4
mov r1, #1
- bl FUN_0201797C
+ bl ToggleBgLayer
mov r0, #5
mov r1, #1
- bl FUN_0201797C
+ bl ToggleBgLayer
mov r0, #6
mov r1, #1
- bl FUN_0201797C
+ bl ToggleBgLayer
mov r0, #0x10
mov r1, #1
bl GX_EngineBToggleLayers
mov r0, #0
mov r1, #1
- bl FUN_0201797C
+ bl ToggleBgLayer
mov r0, #1
add r1, r0, #0
- bl FUN_0201797C
+ bl ToggleBgLayer
mov r0, #2
mov r1, #1
- bl FUN_0201797C
+ bl ToggleBgLayer
mov r0, #3
mov r1, #1
- bl FUN_0201797C
+ bl ToggleBgLayer
mov r0, #0x10
mov r1, #1
bl GX_EngineAToggleLayers
@@ -1211,13 +1211,13 @@ _0222DFD6:
bl FUN_0200A208
mov r0, #1
add r1, r0, #0
- bl FUN_0201797C
+ bl ToggleBgLayer
mov r0, #2
mov r1, #1
- bl FUN_0201797C
+ bl ToggleBgLayer
mov r0, #3
mov r1, #1
- bl FUN_0201797C
+ bl ToggleBgLayer
mov r0, #0x10
mov r1, #1
bl GX_EngineAToggleLayers
@@ -1267,13 +1267,13 @@ _0222E054:
bl FUN_0200A208
mov r0, #4
mov r1, #1
- bl FUN_0201797C
+ bl ToggleBgLayer
mov r0, #5
mov r1, #1
- bl FUN_0201797C
+ bl ToggleBgLayer
mov r0, #6
mov r1, #1
- bl FUN_0201797C
+ bl ToggleBgLayer
mov r0, #0x10
mov r1, #1
bl GX_EngineBToggleLayers
@@ -2044,25 +2044,25 @@ _0222E6BC:
blt _0222E6BC
mov r0, #0
add r1, r0, #0
- bl FUN_0201797C
+ bl ToggleBgLayer
mov r0, #1
mov r1, #0
- bl FUN_0201797C
+ bl ToggleBgLayer
mov r0, #2
mov r1, #0
- bl FUN_0201797C
+ bl ToggleBgLayer
mov r0, #3
mov r1, #0
- bl FUN_0201797C
+ bl ToggleBgLayer
mov r0, #4
mov r1, #0
- bl FUN_0201797C
+ bl ToggleBgLayer
mov r0, #5
mov r1, #0
- bl FUN_0201797C
+ bl ToggleBgLayer
mov r0, #6
mov r1, #0
- bl FUN_0201797C
+ bl ToggleBgLayer
mov r2, #1
lsl r2, r2, #0x1a
ldr r1, [r2]
@@ -2237,7 +2237,7 @@ _0222E8B2:
lsl r1, r4, #0x18
add r0, r5, #0
lsr r1, r1, #0x18
- bl FUN_0201886C
+ bl GetBgTilemapBuffer
cmp r0, #0
beq _0222E8D0
ldr r2, [sp, #4]
@@ -2262,7 +2262,7 @@ MOD71_0222E8DC: ; 0x0222E8DC
sub sp, #4
mov r1, #2
add r4, r0, #0
- bl FUN_0201886C
+ bl GetBgTilemapBuffer
add r2, r0, #0
mov r0, #0
mov r3, #6
diff --git a/arm9/modules/75/asm/module_75.s b/arm9/modules/75/asm/module_75.s
index 8e0b0738..90d51109 100644
--- a/arm9/modules/75/asm/module_75.s
+++ b/arm9/modules/75/asm/module_75.s
@@ -3215,7 +3215,7 @@ MOD75_021E84E4: ; 0x021E84E4
add r5, r1, #0
mov r1, #4
add r6, r2, #0
- bl FUN_0201886C
+ bl GetBgTilemapBuffer
add r7, r0, #0
ldr r0, _021E856C ; =0x00000424
ldrb r0, [r4, r0]
@@ -3289,7 +3289,7 @@ MOD75_021E8574: ; 0x021E8574
add r4, r1, #0
ldr r0, [r0]
mov r1, #4
- bl FUN_0201886C
+ bl GetBgTilemapBuffer
mov ip, r0
add r1, r4, #0
mov r0, #6
diff --git a/arm9/modules/80/asm/module_80.s b/arm9/modules/80/asm/module_80.s
index 0af56956..47f9d903 100644
--- a/arm9/modules/80/asm/module_80.s
+++ b/arm9/modules/80/asm/module_80.s
@@ -14405,10 +14405,10 @@ MOD80_022348CC: ; 0x022348CC
bne _02234944
mov r0, #4
mov r1, #0
- bl FUN_0201797C
+ bl ToggleBgLayer
mov r0, #5
mov r1, #0
- bl FUN_0201797C
+ bl ToggleBgLayer
mov r0, #0x10
mov r1, #0
bl GX_EngineBToggleLayers
diff --git a/arm9/modules/81/asm/module_81.s b/arm9/modules/81/asm/module_81.s
index 2d24e28f..fce433e7 100644
--- a/arm9/modules/81/asm/module_81.s
+++ b/arm9/modules/81/asm/module_81.s
@@ -3869,7 +3869,7 @@ _02239C02:
bl FUN_020179E0
mov r0, #7
mov r1, #0
- bl FUN_0201797C
+ bl ToggleBgLayer
mov r0, #0x10
mov r1, #1
bl GX_EngineAToggleLayers
@@ -4281,10 +4281,10 @@ MOD81_02239F58: ; 0x02239F58
bl FUN_020179E0
mov r0, #3
mov r1, #0
- bl FUN_0201797C
+ bl ToggleBgLayer
mov r0, #7
mov r1, #1
- bl FUN_0201797C
+ bl ToggleBgLayer
ldr r2, _02239FB0 ; =0x04000304
ldrh r1, [r2]
lsr r0, r2, #0xb
@@ -8593,7 +8593,7 @@ _0223C14A:
bl FUN_020179E0
mov r0, #7
mov r1, #0
- bl FUN_0201797C
+ bl ToggleBgLayer
mov r0, #0x10
mov r1, #1
bl GX_EngineAToggleLayers
diff --git a/arm9/modules/83/asm/module_83.s b/arm9/modules/83/asm/module_83.s
index 9baa0806..b30544aa 100644
--- a/arm9/modules/83/asm/module_83.s
+++ b/arm9/modules/83/asm/module_83.s
@@ -822,7 +822,7 @@ MOD83_0222DC10: ; 0x0222DC10
mov r1, #2
add r6, r2, #0
add r7, r3, #0
- bl FUN_0201886C
+ bl GetBgTilemapBuffer
ldr r1, _0222DC5C ; =0x00004380
cmp r7, #2
bne _0222DC2A
@@ -863,7 +863,7 @@ MOD83_0222DC60: ; 0x0222DC60
add r4, r1, #0
add r6, r2, #0
mov r1, #2
- bl FUN_0201886C
+ bl GetBgTilemapBuffer
lsl r1, r6, #5
add r3, r4, r1
ldr r1, _0222DC9C ; =0x00004384
@@ -17117,7 +17117,7 @@ MOD83_02235BF4: ; 0x02235BF4
ldr r0, [r5, #0x20]
add r6, r1, #0
mov r1, #2
- bl FUN_0201886C
+ bl GetBgTilemapBuffer
add r4, r0, #0
cmp r6, #0
beq _02235C18
diff --git a/arm9/modules/86/asm/module_86.s b/arm9/modules/86/asm/module_86.s
index 15ec8788..a552ad64 100644
--- a/arm9/modules/86/asm/module_86.s
+++ b/arm9/modules/86/asm/module_86.s
@@ -106,22 +106,22 @@ _021D75B8:
bl MOD86_021D7B80
add r0, r6, #0
mov r1, #1
- bl FUN_0201797C
+ bl ToggleBgLayer
mov r0, #1
add r1, r0, #0
- bl FUN_0201797C
+ bl ToggleBgLayer
mov r0, #3
mov r1, #1
- bl FUN_0201797C
+ bl ToggleBgLayer
mov r0, #4
mov r1, #1
- bl FUN_0201797C
+ bl ToggleBgLayer
mov r0, #5
mov r1, #1
- bl FUN_0201797C
+ bl ToggleBgLayer
mov r0, #7
mov r1, #1
- bl FUN_0201797C
+ bl ToggleBgLayer
mov r0, #6
mov r1, #1
str r0, [sp]
@@ -380,28 +380,28 @@ _021D76F8:
bl FUN_02018744
mov r0, #0
add r1, r0, #0
- bl FUN_0201797C
+ bl ToggleBgLayer
mov r0, #1
mov r1, #0
- bl FUN_0201797C
+ bl ToggleBgLayer
mov r0, #2
mov r1, #0
- bl FUN_0201797C
+ bl ToggleBgLayer
mov r0, #3
mov r1, #0
- bl FUN_0201797C
+ bl ToggleBgLayer
mov r0, #4
mov r1, #0
- bl FUN_0201797C
+ bl ToggleBgLayer
mov r0, #5
mov r1, #0
- bl FUN_0201797C
+ bl ToggleBgLayer
mov r0, #6
mov r1, #0
- bl FUN_0201797C
+ bl ToggleBgLayer
mov r0, #7
mov r1, #0
- bl FUN_0201797C
+ bl ToggleBgLayer
add sp, #0x54
pop {r4, r5, pc}
.align 2, 0
@@ -416,28 +416,28 @@ MOD86_021D7858: ; 0x021D7858
add r4, r0, #0
mov r0, #0
add r1, r0, #0
- bl FUN_0201797C
+ bl ToggleBgLayer
mov r0, #1
mov r1, #0
- bl FUN_0201797C
+ bl ToggleBgLayer
mov r0, #2
mov r1, #0
- bl FUN_0201797C
+ bl ToggleBgLayer
mov r0, #3
mov r1, #0
- bl FUN_0201797C
+ bl ToggleBgLayer
mov r0, #4
mov r1, #0
- bl FUN_0201797C
+ bl ToggleBgLayer
mov r0, #5
mov r1, #0
- bl FUN_0201797C
+ bl ToggleBgLayer
mov r0, #6
mov r1, #0
- bl FUN_0201797C
+ bl ToggleBgLayer
mov r0, #7
mov r1, #0
- bl FUN_0201797C
+ bl ToggleBgLayer
ldr r0, [r4, #0x10]
mov r1, #0
bl FUN_020178A0
diff --git a/arm9/src/GX_layers.c b/arm9/src/GX_layers.c
index f0ac9472..790b13bb 100644
--- a/arm9/src/GX_layers.c
+++ b/arm9/src/GX_layers.c
@@ -54,13 +54,13 @@ THUMB_FUNC void GX_EngineAToggleLayers(u32 layer_mask, GX_LayerToggle layer_togg
}
}
- reg_GX_DISPCNT = (reg_GX_DISPCNT & 0xFFFFE0FF) | (layer_data.EngineA_DISPCNT_LayerMask ^= layer_mask) << 8;
+ GX_SetVisiblePlane(layer_data.EngineA_DISPCNT_LayerMask ^= layer_mask);
}
THUMB_FUNC void GX_SetEngineALayers(u32 layer_mask)
{
layer_data.EngineA_DISPCNT_LayerMask = layer_mask;
- reg_GX_DISPCNT = (reg_GX_DISPCNT & 0xFFFFE0FF) | layer_mask << 8;
+ GX_SetVisiblePlane(layer_mask);
}
THUMB_FUNC void GX_DisableEngineBLayers()
@@ -85,25 +85,24 @@ THUMB_FUNC void GX_EngineBToggleLayers(u32 layer_mask, GX_LayerToggle layer_togg
}
}
- reg_GXS_DB_DISPCNT = (reg_GXS_DB_DISPCNT & 0xFFFFE0FF) | (layer_data.EngineB_DISPCNT_LayerMask ^= layer_mask) << 8;
+ GXS_SetVisiblePlane(layer_data.EngineB_DISPCNT_LayerMask ^= layer_mask);
}
THUMB_FUNC void GX_BothDispOn()
{
GX_DispOn();
-
- reg_GXS_DB_DISPCNT |= 0x10000;
+ GXS_DispOn();
}
THUMB_FUNC void GX_SwapDisplay()
{
if (gMain.unk65 == 0)
{
- reg_GX_POWCNT |= 0x8000; //send display A to lower screen
+ GX_SetDispSelect(GX_DISP_SELECT_MAIN_SUB);
}
else
{
- reg_GX_POWCNT &= 0xFFFF7FFF; // sned display A to upper screen
+ GX_SetDispSelect(GX_DISP_SELECT_SUB_MAIN);
}
}
diff --git a/arm9/src/gf_gfx_loader.c b/arm9/src/gf_gfx_loader.c
index 66d788e6..e6fedda8 100644
--- a/arm9/src/gf_gfx_loader.c
+++ b/arm9/src/gf_gfx_loader.c
@@ -30,7 +30,7 @@ THUMB_FUNC void GfGfxLoader_LoadScrnData(NarcId narcId, s32 memberNo, struct BgC
{
if (szByte == 0)
szByte = pScreenData->szByte;
- if (FUN_0201886C(unkStruct02016B94_2, (u8)a3) != NULL)
+ if (GetBgTilemapBuffer(unkStruct02016B94_2, (u8) a3) != NULL)
FUN_02017DFC(unkStruct02016B94_2, (u8)a3, pScreenData->rawData, szByte);
FUN_02017CE8(unkStruct02016B94_2, (u8)a3, pScreenData->rawData, szByte, a4);
}
diff --git a/arm9/src/unk_02016B94.c b/arm9/src/unk_02016B94.c
index 3341a533..cb990b8b 100644
--- a/arm9/src/unk_02016B94.c
+++ b/arm9/src/unk_02016B94.c
@@ -8,15 +8,13 @@
extern void NNS_G2dGetUnpackedBGCharacterData(void *param0, u32 *param1);
extern void NNS_G2dGetUnpackedPaletteData(void *param0, u32 *param1);
-const u8 UNK_020EDB30[8] = {
+const u8 UNK_020EDB30[] = {
0x10,
0x20,
0x20,
0x20,
0x20,
0x20,
- 0x00,
- 0x00,
};
void (*const UNK_020EDB5C[])(struct Window *) = {
@@ -60,7 +58,7 @@ THUMB_FUNC struct BgConfig *FUN_02016B94(u32 heap_id)
struct BgConfig *ptr = AllocFromHeap(heap_id, sizeof(struct BgConfig));
memset(ptr, 0, sizeof(struct BgConfig));
ptr->heap_id = heap_id;
- ptr->unk04 = 0;
+ ptr->scrollScheduled = 0;
ptr->unk06 = 0;
return ptr;
@@ -75,8 +73,8 @@ THUMB_FUNC void FUN_02016BBC(const struct GraphicsModes *modes)
{
GX_SetGraphicsMode(modes->dispMode, modes->bgMode, modes->_2d3dMode);
GXS_SetGraphicsMode(modes->subMode);
- reg_GX_DISPCNT &= ~REG_GX_DISPCNT_BGSCREENOFFSET_MASK;
- reg_GX_DISPCNT &= ~REG_GX_DISPCNT_BGCHAROFFSET_MASK;
+ GX_SetBGScrOffset(0);
+ GX_SetBGCharOffset(0);
GX_DisableEngineALayers();
GX_DisableEngineBLayers();
@@ -207,11 +205,11 @@ THUMB_FUNC void FUN_02016C18(
break;
}
- param0->bgs[param1].unk20 = 0;
- param0->bgs[param1].unk24 = FX32_ONE;
- param0->bgs[param1].unk28 = FX32_ONE;
- param0->bgs[param1].unk2c = 0;
- param0->bgs[param1].unk30 = 0;
+ param0->bgs[param1].rotation = 0;
+ param0->bgs[param1].xScale = FX32_ONE;
+ param0->bgs[param1].yScale = FX32_ONE;
+ param0->bgs[param1].centerX = 0;
+ param0->bgs[param1].centerY = 0;
if (template->bufferSize != 0)
{
@@ -219,13 +217,13 @@ THUMB_FUNC void FUN_02016C18(
MI_CpuClear16(param0->bgs[param1].tilemapBuffer, template->bufferSize);
- param0->bgs[param1].unk0c = template->bufferSize;
+ param0->bgs[param1].bufferSize = template->bufferSize;
param0->bgs[param1].unk10 = template->unk0c;
}
else
{
param0->bgs[param1].tilemapBuffer = NULL;
- param0->bgs[param1].unk0c = 0;
+ param0->bgs[param1].bufferSize = 0;
param0->bgs[param1].unk10 = 0;
}
@@ -597,49 +595,49 @@ THUMB_FUNC void FUN_02017850(u32 param0, u8 *param1, u8 *param2)
}
}
-THUMB_FUNC void FUN_020178A0(struct BgConfig *param0, u32 param1)
+THUMB_FUNC void FUN_020178A0(struct BgConfig *bgConfig, u32 bgId)
{
- if (param0->bgs[param1].tilemapBuffer != NULL)
+ if (bgConfig->bgs[bgId].tilemapBuffer != NULL)
{
- FreeToHeap(param0->bgs[param1].tilemapBuffer);
- param0->bgs[param1].tilemapBuffer = NULL;
+ FreeToHeap(bgConfig->bgs[bgId].tilemapBuffer);
+ bgConfig->bgs[bgId].tilemapBuffer = NULL;
}
}
-THUMB_FUNC void FUN_020178BC(u32 param0, u16 param1)
+THUMB_FUNC void FUN_020178BC(u32 bgId, u16 priority)
{
- switch (param0)
+ switch (bgId)
{
case 0:
- reg_G2_BG0CNT = (u16)(reg_G2_BG0CNT & ~3 | param1);
+ G2_SetBG0Priority(priority);
break;
case 1:
- reg_G2_BG1CNT = (u16)(reg_G2_BG1CNT & ~3 | param1);
+ G2_SetBG1Priority(priority);
break;
case 2:
- reg_G2_BG2CNT = (u16)(reg_G2_BG2CNT & ~3 | param1);
+ G2_SetBG2Priority(priority);
break;
case 3:
- reg_G2_BG3CNT = (u16)(reg_G2_BG3CNT & ~3 | param1);
+ G2_SetBG3Priority(priority);
break;
case 4:
- reg_G2S_DB_BG0CNT = (u16)(reg_G2S_DB_BG0CNT & ~3 | param1);
+ G2S_SetBG0Priority(priority);
break;
case 5:
- reg_G2S_DB_BG1CNT = (u16)(reg_G2S_DB_BG1CNT & ~3 | param1);
+ G2S_SetBG1Priority(priority);
break;
case 6:
- reg_G2S_DB_BG2CNT = (u16)(reg_G2S_DB_BG2CNT & ~3 | param1);
+ G2S_SetBG2Priority(priority);
break;
case 7:
- reg_G2S_DB_BG3CNT = (u16)(reg_G2S_DB_BG3CNT & ~3 | param1);
+ G2S_SetBG3Priority(priority);
break;
}
}
-THUMB_FUNC void FUN_0201797C(u32 param0, GX_LayerToggle toggle)
+THUMB_FUNC void ToggleBgLayer(u32 bgId, GX_LayerToggle toggle)
{
- switch (param0)
+ switch (bgId)
{
case 0:
GX_EngineAToggleLayers(1, toggle);
@@ -668,90 +666,78 @@ THUMB_FUNC void FUN_0201797C(u32 param0, GX_LayerToggle toggle)
}
}
-THUMB_FUNC void FUN_020179E0(struct BgConfig *param0, u32 param1, u32 param2, fx32 val)
+THUMB_FUNC void FUN_020179E0(struct BgConfig *bgConfig, u32 bgId, u32 param2, fx32 val)
{
- FUN_02017B8C(&param0->bgs[param1], param2, val);
+ FUN_02017B8C(&bgConfig->bgs[bgId], param2, val);
- u32 r1 = (u32)param0->bgs[param1].unk14;
- u32 r0 = (u32)param0->bgs[param1].unk18;
- switch (param1)
+ u32 x = (u32)bgConfig->bgs[bgId].hOffset;
+ u32 y = (u32)bgConfig->bgs[bgId].vOffset;
+ switch (bgId)
{
case 0:
-
- reg_G2_BG0OFS = (r1 & 0x1FF) | ((r0 << 16) & 0x1FF0000);
+ G2_SetBG0Offset(x, y);
break;
case 1:
-
- reg_G2_BG1OFS = (r1 & 0x1FF) | ((r0 << 16) & 0x1FF0000);
+ G2_SetBG1Offset(x, y);
break;
-
case 2:
- if (param0->bgs[2].mode == 0)
+ if (bgConfig->bgs[2].mode == 0)
{
- reg_G2_BG2OFS = (r1 & 0x1FF) | ((r0 << 16) & 0x1FF0000);
+ G2_SetBG2Offset(x, y);
}
else
{
- FUN_02017C6C(param0, 2);
+ FUN_02017C6C(bgConfig, 2);
}
break;
-
case 3:
- if (param0->bgs[3].mode == 0)
+ if (bgConfig->bgs[3].mode == 0)
{
- reg_G2_BG3OFS = (r1 & 0x1FF) | ((r0 << 16) & 0x1FF0000);
+ G2_SetBG3Offset(x, y);
}
else
{
- FUN_02017C6C(param0, 3);
+ FUN_02017C6C(bgConfig, 3);
}
-
break;
-
case 4:
-
- reg_G2S_DB_BG0OFS = (r1 & 0x1FF) | ((r0 << 16) & 0x1FF0000);
+ G2S_SetBG0Offset(x, y);
break;
case 5:
-
- reg_G2S_DB_BG1OFS = (r1 & 0x1FF) | ((r0 << 16) & 0x1FF0000);
+ G2S_SetBG1Offset(x, y);
break;
-
case 6:
- if (param0->bgs[6].mode == 0)
+ if (bgConfig->bgs[6].mode == 0)
{
- reg_G2S_DB_BG2OFS = (r1 & 0x1FF) | ((r0 << 16) & 0x1FF0000);
+ G2S_SetBG2Offset(x, y);
}
else
{
- FUN_02017C6C(param0, 6);
+ FUN_02017C6C(bgConfig, 6);
}
-
break;
-
case 7:
- if (param0->bgs[7].mode == 0)
+ if (bgConfig->bgs[7].mode == 0)
{
- reg_G2S_DB_BG3OFS = (r1 & 0x1FF) | ((r0 << 16) & 0x1FF0000);
+ G2S_SetBG3Offset(x, y);
}
else
{
- FUN_02017C6C(param0, 7);
+ FUN_02017C6C(bgConfig, 7);
}
-
break;
}
}
THUMB_FUNC fx32 FUN_02017B48(struct BgConfig *param0, u32 param1)
{
- return param0->bgs[param1].unk14;
+ return param0->bgs[param1].hOffset;
}
THUMB_FUNC fx32 FUN_02017B54(struct BgConfig *param0, u32 param1)
{
- return param0->bgs[param1].unk18;
+ return param0->bgs[param1].vOffset;
}
THUMB_FUNC void FUN_02017B60(struct BgConfig *param0,
@@ -771,22 +757,22 @@ THUMB_FUNC void FUN_02017B8C(struct Bg *param0, u32 param1, fx32 val)
switch (param1)
{
case 0:
- param0->unk14 = val;
+ param0->hOffset = val;
break;
case 1:
- param0->unk14 += val;
+ param0->hOffset += val;
break;
case 2:
- param0->unk14 -= val;
+ param0->hOffset -= val;
break;
case 3:
- param0->unk18 = val;
+ param0->vOffset = val;
break;
case 4:
- param0->unk18 += val;
+ param0->vOffset += val;
break;
case 5:
- param0->unk18 -= val;
+ param0->vOffset -= val;
break;
}
}
@@ -797,36 +783,16 @@ THUMB_FUNC void FUN_02017BD0(
switch (param1)
{
case 2:
- G2x_SetBGyAffine_(reg_G2_BG2P,
- param2,
- param3,
- param4,
- param0->bgs[param1].unk14,
- param0->bgs[param1].unk18);
+ G2_SetBG2Affine(param2, param3, param4, param0->bgs[param1].hOffset, param0->bgs[param1].vOffset);
break;
case 3:
- G2x_SetBGyAffine_(reg_G2_BG3P,
- param2,
- param3,
- param4,
- param0->bgs[param1].unk14,
- param0->bgs[param1].unk18);
+ G2_SetBG3Affine(param2, param3, param4, param0->bgs[param1].hOffset, param0->bgs[param1].vOffset);
break;
case 6:
- G2x_SetBGyAffine_(reg_G2S_DB_BG2P,
- param2,
- param3,
- param4,
- param0->bgs[param1].unk14,
- param0->bgs[param1].unk18);
+ G2S_SetBG2Affine(param2, param3, param4, param0->bgs[param1].hOffset, param0->bgs[param1].vOffset);
break;
case 7:
- G2x_SetBGyAffine_(reg_G2S_DB_BG3P,
- param2,
- param3,
- param4,
- param0->bgs[param1].unk14,
- param0->bgs[param1].unk18);
+ G2S_SetBG3Affine(param2, param3, param4, param0->bgs[param1].hOffset, param0->bgs[param1].vOffset);
break;
}
}
@@ -860,7 +826,7 @@ THUMB_FUNC void FUN_02017CD0(struct BgConfig *param0, u32 param1)
FUN_02017CE8(param0,
param1,
param0->bgs[param1].tilemapBuffer,
- param0->bgs[param1].unk0c,
+ param0->bgs[param1].bufferSize,
param0->bgs[param1].unk10);
}
@@ -874,7 +840,7 @@ THUMB_FUNC void FUN_02017CE8(
if (st4 != 0)
{
FUN_02017C98(param2, st4, param3);
- FUN_02017D68(param1, st4, param0->bgs[param1].unk10 * 2, param0->bgs[param1].unk0c);
+ FUN_02017D68(param1, st4, param0->bgs[param1].unk10 * 2, param0->bgs[param1].bufferSize);
return;
}
@@ -1553,7 +1519,7 @@ THUMB_FUNC void FUN_02018744(struct BgConfig *param0, u32 param1)
{
if (param0->bgs[param1].tilemapBuffer != NULL)
{
- MI_CpuClear16(param0->bgs[param1].tilemapBuffer, param0->bgs[param1].unk0c);
+ MI_CpuClear16(param0->bgs[param1].tilemapBuffer, param0->bgs[param1].bufferSize);
FUN_02017CD0(param0, param1);
}
}
@@ -1562,7 +1528,7 @@ THUMB_FUNC void FUN_02018768(struct BgConfig *param0, u32 param1, u16 param2)
{
if (param0->bgs[param1].tilemapBuffer != NULL)
{
- MI_CpuFill16(param0->bgs[param1].tilemapBuffer, param2, param0->bgs[param1].unk0c);
+ MI_CpuFill16(param0->bgs[param1].tilemapBuffer, param2, param0->bgs[param1].bufferSize);
FUN_02017CD0(param0, param1);
}
}
@@ -1571,7 +1537,7 @@ THUMB_FUNC void FUN_0201878C(struct BgConfig *param0, u32 param1, u16 param2)
{
if (param0->bgs[param1].tilemapBuffer != NULL)
{
- MI_CpuFill16(param0->bgs[param1].tilemapBuffer, param2, param0->bgs[param1].unk0c);
+ MI_CpuFill16(param0->bgs[param1].tilemapBuffer, param2, param0->bgs[param1].bufferSize);
FUN_0201AC68(param0, param1);
}
}
@@ -1629,26 +1595,26 @@ THUMB_FUNC u8 (*FUN_02018848(u8 *param0, u32 param1, u8 param2, u32 heap_id))[2]
return ptr;
}
-THUMB_FUNC void *FUN_0201886C(struct BgConfig *param0, u8 param1)
+THUMB_FUNC void *GetBgTilemapBuffer(struct BgConfig *bgConfig, u8 bgId)
{
- return param0->bgs[param1].tilemapBuffer;
+ return bgConfig->bgs[bgId].tilemapBuffer;
}
THUMB_FUNC u16 FUN_02018878(struct BgConfig *param0, u32 param1)
{
- return param0->bgs[param1].unk20;
+ return param0->bgs[param1].rotation;
}
-THUMB_FUNC u8 FUN_02018884(struct BgConfig *param0, u32 param1)
+THUMB_FUNC u8 GetBgPriority(struct BgConfig *bgConfig, u32 bgId)
{
- switch (param1)
+ switch (bgId)
{
case 0:
return G2_GetBG0Control().priority;
case 1:
return G2_GetBG1Control().priority;
case 2:
- switch (param0->bgs[param1].mode)
+ switch (bgConfig->bgs[bgId].mode)
{
default:
case 0:
@@ -1660,7 +1626,7 @@ THUMB_FUNC u8 FUN_02018884(struct BgConfig *param0, u32 param1)
}
break;
case 3:
- switch (param0->bgs[param1].mode)
+ switch (bgConfig->bgs[bgId].mode)
{
default:
case 0:
@@ -1678,7 +1644,7 @@ THUMB_FUNC u8 FUN_02018884(struct BgConfig *param0, u32 param1)
return G2S_GetBG1Control().priority;
case 6:
- switch (param0->bgs[param1].mode)
+ switch (bgConfig->bgs[bgId].mode)
{
default:
case 0:
@@ -1690,7 +1656,7 @@ THUMB_FUNC u8 FUN_02018884(struct BgConfig *param0, u32 param1)
}
break;
case 7:
- switch (param0->bgs[param1].mode)
+ switch (bgConfig->bgs[bgId].mode)
{
default:
case 0:
@@ -1825,75 +1791,75 @@ THUMB_FUNC void BlitBitmapRect8Bit(const struct Bitmap *src,
}
}
-THUMB_FUNC void FUN_02018E88(
- struct Bitmap *param0, u16 param1, u16 param2, u16 param3, u16 param4, u8 param5)
+THUMB_FUNC void FillBitmapRect4Bit(
+ struct Bitmap *surface, u16 x, u16 y, u16 width, u16 height, u8 fillValue)
{
- int r6 = param1 + param3;
- if (r6 > param0->width)
+ int r6 = x + width;
+ if (r6 > surface->width)
{
- r6 = param0->width;
+ r6 = surface->width;
}
- int r12 = param2 + param4;
- if (r12 > param0->height)
+ int r12 = y + height;
+ if (r12 > surface->height)
{
- r12 = param0->height;
+ r12 = surface->height;
}
- int lr = (((param0->width) + (param0->width & 7)) >> 3);
+ int lr = (((surface->width) + (surface->width & 7)) >> 3);
- for (int i = param2; i < r12; i++)
+ for (int i = y; i < r12; i++)
{
- for (int j = param1; j < r6; j++)
+ for (int j = x; j < r6; j++)
{
- u8 *unk = (u8 *)((u8 *)param0->pixels + ((j >> 1) & 3) + ((j << 2) & 0x3fe0) +
+ u8 *unk = (u8 *)((u8 *)surface->pixels + ((j >> 1) & 3) + ((j << 2) & 0x3fe0) +
(((i << 2) & 0x3fe0) * lr) + ((i << 2) & 0x1c));
if ((j & 1) != 0)
{
*unk &= 0xf;
- *unk |= (param5 << 4);
+ *unk |= (fillValue << 4);
}
else
{
*unk &= 0xf0;
- *unk |= param5;
+ *unk |= fillValue;
}
}
}
}
-THUMB_FUNC void FUN_02018F4C(
- struct Bitmap *param0, u16 param1, u16 param2, u16 param3, u16 param4, u8 param5)
+THUMB_FUNC void FillBitmapRect8Bit(
+ struct Bitmap *surface, u16 x, u16 y, u16 width, u16 height, u8 fillValue)
{
- int r6 = param1 + param3;
- if (r6 > param0->width)
+ int r6 = x + width;
+ if (r6 > surface->width)
{
- r6 = param0->width;
+ r6 = surface->width;
}
- int r12 = param2 + param4;
- if (r12 > param0->height)
+ int r12 = y + height;
+ if (r12 > surface->height)
{
- r12 = param0->height;
+ r12 = surface->height;
}
- int lr = (((param0->width) + (param0->width & 7)) >> 3);
+ int lr = (((surface->width) + (surface->width & 7)) >> 3);
- for (int i = param2; i < r12; i++)
+ for (int i = y; i < r12; i++)
{
- for (int j = param1; j < r6; j++)
+ for (int j = x; j < r6; j++)
{
- u8 *unk = (u8 *)((u8 *)param0->pixels + (j & 7) + ((j << 3) & 0x7fc0) +
+ u8 *unk = (u8 *)((u8 *)surface->pixels + (j & 7) + ((j << 3) & 0x7fc0) +
(((i << 3) & 0x7fc0) * lr) + ((i << 3) & 0x38));
- *unk = param5;
+ *unk = fillValue;
}
}
}
@@ -2219,7 +2185,7 @@ THUMB_FUNC void CopyWindowToVram_TextMode(struct Window *window)
FUN_02017CE8(window->bgConfig,
window->bgId,
window->bgConfig->bgs[window->bgId].tilemapBuffer,
- window->bgConfig->bgs[window->bgId].unk0c,
+ window->bgConfig->bgs[window->bgId].bufferSize,
window->bgConfig->bgs[window->bgId].unk10);
}
@@ -2236,7 +2202,7 @@ THUMB_FUNC void CopyWindowToVram_AffineMode(struct Window *window)
FUN_02017CE8(window->bgConfig,
window->bgId,
window->bgConfig->bgs[window->bgId].tilemapBuffer,
- window->bgConfig->bgs[window->bgId].unk0c,
+ window->bgConfig->bgs[window->bgId].bufferSize,
window->bgConfig->bgs[window->bgId].unk10);
FUN_02017E14(window->bgConfig,
@@ -2282,7 +2248,7 @@ THUMB_FUNC void FUN_020195A8(struct Window *window)
FUN_02017CE8(window->bgConfig,
window->bgId,
window->bgConfig->bgs[window->bgId].tilemapBuffer,
- window->bgConfig->bgs[window->bgId].unk0c,
+ window->bgConfig->bgs[window->bgId].bufferSize,
window->bgConfig->bgs[window->bgId].unk10);
}
@@ -2298,7 +2264,7 @@ THUMB_FUNC void FUN_020195E4(struct Window *window)
FUN_02017CE8(window->bgConfig,
window->bgId,
window->bgConfig->bgs[window->bgId].tilemapBuffer,
- window->bgConfig->bgs[window->bgId].unk0c,
+ window->bgConfig->bgs[window->bgId].bufferSize,
window->bgConfig->bgs[window->bgId].unk10);
}
@@ -2372,11 +2338,11 @@ THUMB_FUNC void FillWindowPixelRect(
if (window->bgConfig->bgs[window->bgId].colorMode == 0)
{
- FUN_02018E88(&st8, x, y, width, height, fillValue);
+ FillBitmapRect4Bit(&st8, x, y, width, height, fillValue);
}
else
{
- FUN_02018F4C(&st8, x, y, width, height, fillValue);
+ FillBitmapRect8Bit(&st8, x, y, width, height, fillValue);
}
}
@@ -5178,7 +5144,7 @@ THUMB_FUNC void FUN_0201AB60(struct BgConfig *param0)
FUN_0201AC78(param0);
FUN_0201AB78(param0);
- param0->unk04 = 0;
+ param0->scrollScheduled = 0;
param0->unk06 = 0;
}
@@ -5186,42 +5152,42 @@ THUMB_FUNC void FUN_0201AB78(struct BgConfig *param0)
{
if ((param0->unk06 & 1) != 0)
{
- FUN_02017D68(0, param0->bgs[0].tilemapBuffer, param0->bgs[0].unk10 * 2, param0->bgs[0].unk0c);
+ FUN_02017D68(0, param0->bgs[0].tilemapBuffer, param0->bgs[0].unk10 * 2, param0->bgs[0].bufferSize);
}
if ((param0->unk06 & 2) != 0)
{
- FUN_02017D68(1, param0->bgs[1].tilemapBuffer, param0->bgs[1].unk10 * 2, param0->bgs[1].unk0c);
+ FUN_02017D68(1, param0->bgs[1].tilemapBuffer, param0->bgs[1].unk10 * 2, param0->bgs[1].bufferSize);
}
if ((param0->unk06 & 4) != 0)
{
- FUN_02017D68(2, param0->bgs[2].tilemapBuffer, param0->bgs[2].unk10 * 2, param0->bgs[2].unk0c);
+ FUN_02017D68(2, param0->bgs[2].tilemapBuffer, param0->bgs[2].unk10 * 2, param0->bgs[2].bufferSize);
}
if ((param0->unk06 & 8) != 0)
{
- FUN_02017D68(3, param0->bgs[3].tilemapBuffer, param0->bgs[3].unk10 * 2, param0->bgs[3].unk0c);
+ FUN_02017D68(3, param0->bgs[3].tilemapBuffer, param0->bgs[3].unk10 * 2, param0->bgs[3].bufferSize);
}
if ((param0->unk06 & 0x10) != 0)
{
- FUN_02017D68(4, param0->bgs[4].tilemapBuffer, param0->bgs[4].unk10 * 2, param0->bgs[4].unk0c);
+ FUN_02017D68(4, param0->bgs[4].tilemapBuffer, param0->bgs[4].unk10 * 2, param0->bgs[4].bufferSize);
}
if ((param0->unk06 & 0x20) != 0)
{
- FUN_02017D68(5, param0->bgs[5].tilemapBuffer, param0->bgs[5].unk10 * 2, param0->bgs[5].unk0c);
+ FUN_02017D68(5, param0->bgs[5].tilemapBuffer, param0->bgs[5].unk10 * 2, param0->bgs[5].bufferSize);
}
if ((param0->unk06 & 0x40) != 0)
{
- FUN_02017D68(6, param0->bgs[6].tilemapBuffer, param0->bgs[6].unk10 * 2, param0->bgs[6].unk0c);
+ FUN_02017D68(6, param0->bgs[6].tilemapBuffer, param0->bgs[6].unk10 * 2, param0->bgs[6].bufferSize);
}
if ((param0->unk06 & 0x80) != 0)
{
- FUN_02017D68(7, param0->bgs[7].tilemapBuffer, param0->bgs[7].unk10 * 2, param0->bgs[7].unk0c);
+ FUN_02017D68(7, param0->bgs[7].tilemapBuffer, param0->bgs[7].unk10 * 2, param0->bgs[7].bufferSize);
}
}
@@ -5232,111 +5198,103 @@ THUMB_FUNC void FUN_0201AC68(struct BgConfig *param0, u32 param1)
THUMB_FUNC void FUN_0201AC78(struct BgConfig *param0)
{
- if ((param0->unk04 & 1) != 0)
+ if ((param0->scrollScheduled & 1) != 0)
{
- reg_G2_BG0OFS = (u32)(
- (param0->bgs[0].unk14 & 0x1ff) | ((param0->bgs[0].unk18 << 0x10) & 0x1ff0000));
+ G2_SetBG0Offset(param0->bgs[0].hOffset, param0->bgs[0].vOffset);
}
- if ((param0->unk04 & 2) != 0)
+ if ((param0->scrollScheduled & 2) != 0)
{
- reg_G2_BG1OFS = (u32)(
- (param0->bgs[1].unk14 & 0x1ff) | ((param0->bgs[1].unk18 << 0x10) & 0x1ff0000));
+ G2_SetBG1Offset(param0->bgs[1].hOffset, param0->bgs[1].vOffset);
}
- if ((param0->unk04 & 4) != 0)
+ if ((param0->scrollScheduled & 4) != 0)
{
if (param0->bgs[2].mode == 0)
{
- reg_G2_BG2OFS = (u32)(
- (param0->bgs[2].unk14 & 0x1ff) | ((param0->bgs[2].unk18 << 0x10) & 0x1ff0000));
+ G2_SetBG2Offset(param0->bgs[2].hOffset, param0->bgs[2].vOffset);
}
else
{
struct Mtx22 st38;
MTX22_2DAffine(
- &st38, param0->bgs[2].unk20, param0->bgs[2].unk24, param0->bgs[2].unk28, 2);
- G2x_SetBGyAffine_(reg_G2_BG2P,
+ &st38, param0->bgs[2].rotation, param0->bgs[2].xScale, param0->bgs[2].yScale, 2);
+ G2_SetBG2Affine(
&st38,
- param0->bgs[2].unk2c,
- param0->bgs[2].unk30,
- param0->bgs[2].unk14,
- param0->bgs[2].unk18);
+ param0->bgs[2].centerX,
+ param0->bgs[2].centerY,
+ param0->bgs[2].hOffset,
+ param0->bgs[2].vOffset);
}
}
- if ((param0->unk04 & 8) != 0)
+ if ((param0->scrollScheduled & 8) != 0)
{
if (param0->bgs[3].mode == 0)
{
- reg_G2_BG3OFS = (u32)(
- (param0->bgs[3].unk14 & 0x1ff) | ((param0->bgs[3].unk18 << 0x10) & 0x1ff0000));
+ G2_SetBG3Offset(param0->bgs[3].hOffset, param0->bgs[3].vOffset);
}
else
{
struct Mtx22 st28;
MTX22_2DAffine(
- &st28, param0->bgs[3].unk20, param0->bgs[3].unk24, param0->bgs[3].unk28, 2);
- G2x_SetBGyAffine_(reg_G2_BG3P,
+ &st28, param0->bgs[3].rotation, param0->bgs[3].xScale, param0->bgs[3].yScale, 2);
+ G2_SetBG3Affine(
&st28,
- param0->bgs[3].unk2c,
- param0->bgs[3].unk30,
- param0->bgs[3].unk14,
- param0->bgs[3].unk18);
+ param0->bgs[3].centerX,
+ param0->bgs[3].centerY,
+ param0->bgs[3].hOffset,
+ param0->bgs[3].vOffset);
}
}
- if ((param0->unk04 & 0x10) != 0)
+ if ((param0->scrollScheduled & 0x10) != 0)
{
- reg_G2S_DB_BG0OFS = (u32)(
- (param0->bgs[4].unk14 & 0x1ff) | ((param0->bgs[4].unk18 << 0x10) & 0x1ff0000));
+ G2S_SetBG0Offset(param0->bgs[4].hOffset, param0->bgs[4].vOffset);
}
- if ((param0->unk04 & 0x20) != 0)
+ if ((param0->scrollScheduled & 0x20) != 0)
{
- reg_G2S_DB_BG1OFS = (u32)(
- (param0->bgs[5].unk14 & 0x1ff) | ((param0->bgs[5].unk18 << 0x10) & 0x1ff0000));
+ G2S_SetBG1Offset(param0->bgs[5].hOffset, param0->bgs[5].vOffset);
}
- if ((param0->unk04 & 0x40) != 0)
+ if ((param0->scrollScheduled & 0x40) != 0)
{
if (param0->bgs[6].mode == 0)
{
- reg_G2S_DB_BG2OFS = (u32)(
- (param0->bgs[6].unk14 & 0x1ff) | ((param0->bgs[6].unk18 << 0x10) & 0x1ff0000));
+ G2S_SetBG2Offset(param0->bgs[6].hOffset, param0->bgs[6].vOffset);
}
else
{
struct Mtx22 st18;
MTX22_2DAffine(
- &st18, param0->bgs[6].unk20, param0->bgs[6].unk24, param0->bgs[6].unk28, 2);
- G2x_SetBGyAffine_(reg_G2S_DB_BG2P,
+ &st18, param0->bgs[6].rotation, param0->bgs[6].xScale, param0->bgs[6].yScale, 2);
+ G2S_SetBG2Affine(
&st18,
- param0->bgs[6].unk2c,
- param0->bgs[6].unk30,
- param0->bgs[6].unk14,
- param0->bgs[6].unk18);
+ param0->bgs[6].centerX,
+ param0->bgs[6].centerY,
+ param0->bgs[6].hOffset,
+ param0->bgs[6].vOffset);
}
}
- if ((param0->unk04 & 0x80) != 0)
+ if ((param0->scrollScheduled & 0x80) != 0)
{
if (param0->bgs[7].mode == 0)
{
- reg_G2S_DB_BG3OFS = (u32)(
- (param0->bgs[7].unk14 & 0x1ff) | ((param0->bgs[7].unk18 << 0x10) & 0x1ff0000));
+ G2S_SetBG3Offset(param0->bgs[7].hOffset, param0->bgs[7].vOffset);
}
else
{
struct Mtx22 st08;
MTX22_2DAffine(
- &st08, param0->bgs[7].unk20, param0->bgs[7].unk24, param0->bgs[7].unk28, 2);
- G2x_SetBGyAffine_(reg_G2S_DB_BG3P,
+ &st08, param0->bgs[7].rotation, param0->bgs[7].xScale, param0->bgs[7].yScale, 2);
+ G2S_SetBG3Affine(
&st08,
- param0->bgs[7].unk2c,
- param0->bgs[7].unk30,
- param0->bgs[7].unk14,
- param0->bgs[7].unk18);
+ param0->bgs[7].centerX,
+ param0->bgs[7].centerY,
+ param0->bgs[7].hOffset,
+ param0->bgs[7].vOffset);
}
}
}
@@ -5345,14 +5303,14 @@ THUMB_FUNC void FUN_0201AEE4(
struct BgConfig *param0, u32 param1, u32 param2, fx32 param3)
{
FUN_02017B8C(&param0->bgs[param1], param2, param3);
- param0->unk04 |= 1 << param1;
+ param0->scrollScheduled |= 1 << param1;
}
THUMB_FUNC void FUN_0201AF08(
struct BgConfig *param0, u32 param1, u32 param2, u16 param3)
{
FUN_0201AF2C(&param0->bgs[param1], param2, param3);
- param0->unk04 |= 1 << param1;
+ param0->scrollScheduled |= 1 << param1;
}
THUMB_FUNC void FUN_0201AF2C(struct Bg *param0, u32 param1, u16 val)
@@ -5360,13 +5318,13 @@ THUMB_FUNC void FUN_0201AF2C(struct Bg *param0, u32 param1, u16 val)
switch (param1)
{
case 0:
- param0->unk20 = val;
+ param0->rotation = val;
break;
case 1:
- param0->unk20 += val;
+ param0->rotation += val;
break;
case 2:
- param0->unk20 -= val;
+ param0->rotation -= val;
break;
}
}
@@ -5375,7 +5333,7 @@ THUMB_FUNC void FUN_0201AF50(
struct BgConfig *param0, u32 param1, u32 param2, fx32 param3)
{
FUN_0201AF74(&param0->bgs[param1], param2, param3);
- param0->unk04 |= 1 << param1;
+ param0->scrollScheduled |= 1 << param1;
}
THUMB_FUNC void FUN_0201AF74(struct Bg *param0, u32 param1, fx32 val)
@@ -5383,22 +5341,22 @@ THUMB_FUNC void FUN_0201AF74(struct Bg *param0, u32 param1, fx32 val)
switch (param1 - 9)
{
case 0:
- param0->unk2c = val;
+ param0->centerX = val;
break;
case 1:
- param0->unk2c += val;
+ param0->centerX += val;
break;
case 2:
- param0->unk2c -= val;
+ param0->centerX -= val;
break;
case 3:
- param0->unk30 = val;
+ param0->centerY = val;
break;
case 4:
- param0->unk30 += val;
+ param0->centerY += val;
break;
case 5:
- param0->unk30 -= val;
+ param0->centerY -= val;
break;
}
}
diff --git a/include/unk_02016B94.h b/include/unk_02016B94.h
index 475626bf..1e5a4fdb 100644
--- a/include/unk_02016B94.h
+++ b/include/unk_02016B94.h
@@ -34,28 +34,28 @@ struct BgTemplate
struct Bg
{
void *tilemapBuffer;
- u32 unk0c;
+ u32 bufferSize;
u32 unk10;
- fx32 unk14;
- fx32 unk18;
+ fx32 hOffset;
+ fx32 vOffset;
u8 mode;
u8 unk1d;
u8 colorMode;
u8 tileSize;
- u16 unk20;
+ u16 rotation;
u16 unk22; // probably padding
- fx32 unk24;
- fx32 unk28;
- fx32 unk2c;
- fx32 unk30;
+ fx32 xScale;
+ fx32 yScale;
+ fx32 centerX;
+ fx32 centerY;
};
struct BgConfig
{
u32 heap_id;
- u16 unk04;
+ u16 scrollScheduled;
u16 unk06;
struct Bg bgs[8];
};
@@ -101,10 +101,10 @@ void FUN_02016C18(
void FUN_020170F4(struct BgConfig *config, u8 bgId, u32 attr, u8 value);
u8 FUN_020177DC(u8 param0, u32 param1);
void FUN_02017850(u32 param0, u8 *param1, u8 *param2);
-void FUN_020178A0(struct BgConfig *param0, u32 param1);
-void FUN_020178BC(u32 param0, u16 param1);
-void FUN_0201797C(u32 param0, GX_LayerToggle toggle);
-void FUN_020179E0(struct BgConfig *param0, u32 param1, u32 param2, fx32 val);
+void FUN_020178A0(struct BgConfig *bgConfig, u32 bgId);
+void FUN_020178BC(u32 bgId, u16 priority);
+void ToggleBgLayer(u32 bgId, GX_LayerToggle toggle);
+void FUN_020179E0(struct BgConfig *bgConfig, u32 bgId, u32 param2, fx32 val);
fx32 FUN_02017B48(struct BgConfig *param0, u32 param1);
fx32 FUN_02017B54(struct BgConfig *param0, u32 param1);
void FUN_02017B60(struct BgConfig *param0,
@@ -220,9 +220,9 @@ void FUN_0201878C(struct BgConfig *param0, u32 param1, u16 param2);
void *FUN_020187B0(u32 param0);
void FUN_02018808(u8 *param0, u32 param1, u8 (*param2)[2], u8 param3);
u8 (*FUN_02018848(u8 *param0, u32 param1, u8 param2, u32 heap_id))[2];
-void *FUN_0201886C(struct BgConfig *param0, u8 param1);
+void *GetBgTilemapBuffer(struct BgConfig *bgConfig, u8 bgId);
u16 FUN_02018878(struct BgConfig *param0, u32 param1);
-u8 FUN_02018884(struct BgConfig *param0, u32 param1);
+u8 GetBgPriority(struct BgConfig *bgConfig, u32 bgId);
void BlitBitmapRect4Bit(const struct Bitmap *src,
const struct Bitmap *dst,
u16 srcX,
@@ -241,10 +241,10 @@ void BlitBitmapRect8Bit(const struct Bitmap *src,
u16 width,
u16 height,
u16 colorKey);
-void FUN_02018E88(
- struct Bitmap *param0, u16 param1, u16 param2, u16 param3, u16 param4, u8 param5);
-void FUN_02018F4C(
- struct Bitmap *param0, u16 param1, u16 param2, u16 param3, u16 param4, u8 param5);
+void FillBitmapRect4Bit(
+ struct Bitmap *surface, u16 x, u16 y, u16 width, u16 height, u8 fillValue);
+void FillBitmapRect8Bit(
+ struct Bitmap *surface, u16 x, u16 y, u16 width, u16 height, u8 fillValue);
struct Window *AllocWindows(u32 heap_id, s32 size);
void InitWindow(struct Window *window);
BOOL WindowIsInUse(struct Window *window);