summaryrefslogtreecommitdiff
path: root/arm9/modules
diff options
context:
space:
mode:
Diffstat (limited to 'arm9/modules')
-rw-r--r--arm9/modules/19/asm/module_19.s111
-rw-r--r--arm9/modules/19/src/module_19.c47
2 files changed, 47 insertions, 111 deletions
diff --git a/arm9/modules/19/asm/module_19.s b/arm9/modules/19/asm/module_19.s
deleted file mode 100644
index cfdf20fa..00000000
--- a/arm9/modules/19/asm/module_19.s
+++ /dev/null
@@ -1,111 +0,0 @@
- .include "asm/macros.inc"
- .include "global.inc"
- .section .text
- .balign 4, 0
-
- thumb_func_start MOD19_02252440
-MOD19_02252440: ; 0x02252440
- push {r4, lr}
- sub sp, #0x10
- add r4, r0, #0
- mov r0, #3
- mov r1, #8
- lsl r2, r0, #0xf
- bl CreateHeap
- mov r0, #0
- bl GXS_SetGraphicsMode
- mov r0, #0x80
- bl GX_SetBankForSubBG
- mov r0, #1
- lsl r0, r0, #8
- bl GX_SetBankForSubOBJ
- ldr r2, _022524E0 ; =0x04001000
- ldr r0, _022524E4 ; =0xFFCFFFEF
- ldr r1, [r2]
- mov r3, #0
- and r1, r0
- mov r0, #0x10
- orr r0, r1
- str r0, [r2]
- ldr r2, _022524E8 ; =0x02252508
- add r0, r4, #0
- mov r1, #4
- bl InitBgFromTemplate
- mov r0, #0
- str r0, [sp]
- str r0, [sp, #4]
- mov r0, #1
- str r0, [sp, #8]
- mov r0, #8
- str r0, [sp, #0xc]
- mov r0, #0xc
- mov r1, #0xa
- add r2, r4, #0
- mov r3, #4
- bl GfGfxLoader_LoadCharData
- mov r0, #0
- str r0, [sp]
- str r0, [sp, #4]
- mov r0, #1
- str r0, [sp, #8]
- mov r0, #8
- str r0, [sp, #0xc]
- mov r0, #0xc
- mov r1, #0xb
- add r2, r4, #0
- mov r3, #4
- bl GfGfxLoader_LoadScrnData
- mov r0, #0x20
- str r0, [sp]
- mov r0, #8
- str r0, [sp, #4]
- mov r0, #0xc
- add r1, r0, #0
- mov r2, #4
- mov r3, #0
- bl GfGfxLoader_GXLoadPal
- ldr r2, _022524E0 ; =0x04001000
- ldr r0, _022524EC ; =0xFFFF1FFF
- ldr r1, [r2]
- and r0, r1
- str r0, [r2]
- ldr r1, [r2]
- ldr r0, _022524F0 ; =0xFFFFE0FF
- and r1, r0
- lsr r0, r2, #0x12
- orr r0, r1
- str r0, [r2]
- add sp, #0x10
- pop {r4, pc}
- .align 2, 0
-_022524E0: .word 0x04001000
-_022524E4: .word 0xFFCFFFEF
-_022524E8: .word MOD19_02252508
-_022524EC: .word 0xFFFF1FFF
-_022524F0: .word 0xFFFFE0FF
- thumb_func_end MOD19_02252440
-
- thumb_func_start MOD19_022524F4
-MOD19_022524F4: ; 0x022524F4
- push {r3, lr}
- mov r1, #4
- bl FreeBgTilemapBuffer
- mov r0, #8
- bl DestroyHeap
- pop {r3, pc}
- thumb_func_end MOD19_022524F4
-
- thumb_func_start MOD19_02252504
-MOD19_02252504: ; 0x02252504
- mov r0, #1
- bx lr
- thumb_func_end MOD19_02252504
-
- .rodata
- .global MOD19_02252508
-MOD19_02252508: ; 0x02252508
- .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- .byte 0x01, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-
- .data
- .bss
diff --git a/arm9/modules/19/src/module_19.c b/arm9/modules/19/src/module_19.c
new file mode 100644
index 00000000..1fc6197e
--- /dev/null
+++ b/arm9/modules/19/src/module_19.c
@@ -0,0 +1,47 @@
+#include "global.h"
+#include "heap.h"
+#include "gx.h"
+#include "gf_gfx_loader.h"
+#include "bg_window.h"
+#include "graphic/poketch.naix"
+
+const struct BgTemplate MOD19_02252508 = {
+ .x = 0,
+ .y = 0,
+ .bufferSize = 0x800,
+ .baseTile = 0x000,
+ .size = GF_BG_SCR_SIZE_256x256,
+ .colorMode = GF_BG_CLR_4BPP,
+ .screenBase = 12,
+ .charBase = 0,
+ .priority = 0,
+ .areaOver = 0,
+ .mosaic = 0
+};
+
+THUMB_FUNC void MOD19_02252440(struct BgConfig * bgConfig)
+{
+ CreateHeap(3, 8, 0x18000);
+ GXS_SetGraphicsMode(GX_BGMODE_0);
+ GX_SetBankForSubBG(0x80);
+ GX_SetBankForSubOBJ(0x100);
+ GXS_SetOBJVRamModeChar(GX_OBJVRAMMODE_CHAR_1D_32K);
+ InitBgFromTemplate(bgConfig, GF_BG_LYR_SUB_0, &MOD19_02252508, GF_BG_TYPE_TEXT);
+ GfGfxLoader_LoadCharData(NARC_GRAPHIC_POKETCH, NARC_poketch_narc_0010_NCGR_lz, bgConfig, GF_BG_LYR_SUB_0, 0, 0, TRUE, 8);
+ GfGfxLoader_LoadScrnData(NARC_GRAPHIC_POKETCH, NARC_poketch_narc_0011_NSCR_lz, bgConfig, GF_BG_LYR_SUB_0, 0, 0, TRUE, 8);
+ GfGfxLoader_GXLoadPal(NARC_GRAPHIC_POKETCH, NARC_poketch_narc_0012_NCLR, GF_BG_LYR_SUB_0, 0x00, 0x20, 8);
+ GXS_SetVisibleWnd(GX_WNDMASK_NONE);
+ GXS_SetVisiblePlane(GX_PLANEMASK_BG0);
+}
+
+THUMB_FUNC void MOD19_022524F4(struct BgConfig * bgConfig)
+{
+ FreeBgTilemapBuffer(bgConfig, GF_BG_LYR_SUB_0);
+ DestroyHeap(8);
+}
+
+THUMB_FUNC BOOL MOD19_02252504(struct BgConfig * bgConfig)
+{
+#pragma unused(bgConfig)
+ return TRUE;
+}