diff options
author | PikalaxALT <pikalaxalt@gmail.com> | 2021-06-04 18:37:08 -0400 |
---|---|---|
committer | PikalaxALT <pikalaxalt@gmail.com> | 2021-06-04 18:37:08 -0400 |
commit | e29c9e21ba9b64c86ac677b2bf4a69e92e8ac34b (patch) | |
tree | 961f150c6ccef7e09990f8e1f5d7cc0c37c8d031 | |
parent | 1b5cf67f5f3585ea1a50dc2d487e6897dd7e6f55 (diff) |
Port more inlines from gx lib
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)®_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)®_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)®_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)®_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_(®_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(¶m0->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(¶m0->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(¶m0->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(¶m0->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); |