diff options
-rw-r--r-- | asm/bag.s | 431 | ||||
-rw-r--r-- | asm/trainer_pokemon_sprites.s (renamed from asm/battle_dome_cards.s) | 0 | ||||
-rw-r--r-- | data/bag/bag_window_pal.pal | 19 | ||||
-rw-r--r-- | data/data_83FECCC.s | 29 | ||||
-rw-r--r-- | data/trainer_pokemon_sprites.s | 25 | ||||
-rw-r--r-- | include/bag.h | 4 | ||||
-rw-r--r-- | include/item_menu.h | 12 | ||||
-rw-r--r-- | ld_script.txt | 5 | ||||
-rw-r--r-- | src/bag.c | 243 | ||||
-rw-r--r-- | sym_ewram.txt | 5 |
10 files changed, 312 insertions, 461 deletions
diff --git a/asm/bag.s b/asm/bag.s deleted file mode 100644 index 702de4e4a..000000000 --- a/asm/bag.s +++ /dev/null @@ -1,431 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_810B858 -sub_810B858: @ 810B858 - push {r4,lr} - ldr r0, _0810B86C @ =gUnknown_203ACFC - ldrb r0, [r0, 0x4] - cmp r0, 0x3 - beq _0810B874 - ldr r0, _0810B870 @ =gUnknown_84530C4 - bl InitWindows - b _0810B87A - .align 2, 0 -_0810B86C: .4byte gUnknown_203ACFC -_0810B870: .4byte gUnknown_84530C4 -_0810B874: - ldr r0, _0810B8E4 @ =gUnknown_84530E4 - bl InitWindows -_0810B87A: - bl DeactivateAllTextPrinters - movs r0, 0 - movs r1, 0x64 - movs r2, 0xE0 - bl sub_815001C - movs r0, 0 - movs r1, 0x6D - movs r2, 0xD0 - bl sub_814FEAC - movs r0, 0 - movs r1, 0x81 - movs r2, 0xC0 - bl sub_814FF2C - ldr r0, _0810B8E8 @ =gUnknown_8453098 - movs r1, 0xF0 - movs r2, 0x20 - bl LoadPalette - movs r4, 0 -_0810B8A8: - adds r0, r4, 0 - movs r1, 0 - bl FillWindowPixelBuffer - adds r0, r4, 0 - bl PutWindowTilemap - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x2 - bls _0810B8A8 - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram - movs r4, 0 - ldr r3, _0810B8EC @ =gUnknown_203AD34 - movs r2, 0xFF -_0810B8CC: - adds r0, r4, r3 - ldrb r1, [r0] - orrs r1, r2 - strb r1, [r0] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0xA - bls _0810B8CC - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0810B8E4: .4byte gUnknown_84530E4 -_0810B8E8: .4byte gUnknown_8453098 -_0810B8EC: .4byte gUnknown_203AD34 - thumb_func_end sub_810B858 - - thumb_func_start sub_810B8F0 -sub_810B8F0: @ 810B8F0 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x14 - mov r9, r3 - ldr r3, [sp, 0x30] - ldr r4, [sp, 0x34] - ldr r6, [sp, 0x38] - ldr r5, [sp, 0x3C] - mov r8, r5 - ldr r5, [sp, 0x40] - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - mov r7, r9 - lsls r7, 24 - lsrs r7, 24 - mov r9, r7 - lsls r3, 24 - lsrs r3, 24 - lsls r4, 24 - lsrs r4, 24 - lsls r6, 24 - lsrs r6, 24 - lsls r5, 24 - lsrs r5, 24 - str r4, [sp] - str r6, [sp, 0x4] - lsls r4, r5, 1 - adds r4, r5 - ldr r5, _0810B954 @ =gUnknown_84530B8 - adds r4, r5 - str r4, [sp, 0x8] - mov r4, r8 - lsls r4, 24 - asrs r4, 24 - str r4, [sp, 0xC] - str r2, [sp, 0x10] - mov r2, r9 - bl AddTextPrinterParametrized2 - add sp, 0x14 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0810B954: .4byte gUnknown_84530B8 - thumb_func_end sub_810B8F0 - - thumb_func_start sub_810B958 -sub_810B958: @ 810B958 - push {r4,lr} - sub sp, 0xC - adds r4, r0, 0 - movs r0, 0x1 - adds r1, r4, 0 - movs r2, 0 - bl GetStringWidth - movs r2, 0x48 - subs r2, r0 - lsrs r2, 1 - lsls r2, 24 - lsrs r2, 24 - ldr r0, _0810B990 @ =gUnknown_84530B8 - str r0, [sp] - movs r0, 0 - str r0, [sp, 0x4] - str r4, [sp, 0x8] - movs r0, 0x2 - movs r1, 0x1 - movs r3, 0x1 - bl box_print - add sp, 0xC - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0810B990: .4byte gUnknown_84530B8 - thumb_func_end sub_810B958 - - thumb_func_start sub_810B994 -sub_810B994: @ 810B994 - push {r4,lr} - sub sp, 0xC - movs r0, 0x2 - movs r1, 0 - movs r2, 0x81 - movs r3, 0xC - bl SetWindowBorderStyle - ldr r4, _0810B9D8 @ =gUnknown_84162E8 - movs r0, 0 - adds r1, r4, 0 - movs r2, 0 - bl GetStringWidth - movs r3, 0x40 - subs r3, r0 - lsrs r3, 1 - lsls r3, 24 - lsrs r3, 24 - movs r0, 0x1 - str r0, [sp] - movs r0, 0 - str r0, [sp, 0x4] - str r0, [sp, 0x8] - movs r0, 0x2 - movs r1, 0 - adds r2, r4, 0 - bl AddTextPrinterParameterized - add sp, 0xC - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0810B9D8: .4byte gUnknown_84162E8 - thumb_func_end sub_810B994 - - thumb_func_start sub_810B9DC -sub_810B9DC: @ 810B9DC - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r1, 24 - lsrs r1, 24 - ldr r6, _0810BA10 @ =gUnknown_203AD34 - adds r4, r5, r6 - ldrb r0, [r4] - cmp r0, 0xFF - bne _0810BA2A - adds r0, r5, r1 - lsls r0, 3 - ldr r1, _0810BA14 @ =gUnknown_8453104 - adds r0, r1 - bl AddWindow - strb r0, [r4] - cmp r5, 0x6 - beq _0810BA18 - ldrb r0, [r4] - movs r1, 0 - movs r2, 0x64 - movs r3, 0xE - bl SetWindowBorderStyle - b _0810BA24 - .align 2, 0 -_0810BA10: .4byte gUnknown_203AD34 -_0810BA14: .4byte gUnknown_8453104 -_0810BA18: - ldrb r0, [r6, 0x6] - movs r1, 0 - movs r2, 0x81 - movs r3, 0xC - bl SetWindowBorderStyle -_0810BA24: - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram -_0810BA2A: - ldr r0, _0810BA38 @ =gUnknown_203AD34 - adds r0, r5, r0 - ldrb r0, [r0] - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_0810BA38: .4byte gUnknown_203AD34 - thumb_func_end sub_810B9DC - - thumb_func_start sub_810BA3C -sub_810BA3C: @ 810BA3C - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, _0810BA6C @ =gUnknown_203AD34 - adds r4, r0 - ldrb r0, [r4] - movs r1, 0 - bl sub_810F4D8 - ldrb r0, [r4] - bl ClearWindowTilemap - ldrb r0, [r4] - bl RemoveWindow - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram - movs r0, 0xFF - strb r0, [r4] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0810BA6C: .4byte gUnknown_203AD34 - thumb_func_end sub_810BA3C - - thumb_func_start sub_810BA70 -sub_810BA70: @ 810BA70 - push {r4,lr} - lsls r0, 24 - lsrs r1, r0, 24 - ldr r0, _0810BA94 @ =gUnknown_203AD34 - adds r4, r1, r0 - ldrb r0, [r4] - cmp r0, 0xFF - bne _0810BA8C - lsls r0, r1, 3 - ldr r1, _0810BA98 @ =gUnknown_8453104 - adds r0, r1 - bl AddWindow - strb r0, [r4] -_0810BA8C: - ldrb r0, [r4] - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_0810BA94: .4byte gUnknown_203AD34 -_0810BA98: .4byte gUnknown_8453104 - thumb_func_end sub_810BA70 - - thumb_func_start sub_810BA9C -sub_810BA9C: @ 810BA9C - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0810BAD4 @ =gUnknown_203AD34 - adds r4, r0, r1 - ldrb r0, [r4] - cmp r0, 0xFF - beq _0810BACE - movs r1, 0 - bl sub_810F260 - ldrb r0, [r4] - bl ClearWindowTilemap - ldrb r0, [r4] - bl RemoveWindow - movs r0, 0x1 - bl PutWindowTilemap - movs r0, 0 - bl schedule_bg_copy_tilemap_to_vram - movs r0, 0xFF - strb r0, [r4] -_0810BACE: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0810BAD4: .4byte gUnknown_203AD34 - thumb_func_end sub_810BA9C - - thumb_func_start sub_810BAD8 -sub_810BAD8: @ 810BAD8 - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0810BAE4 @ =gUnknown_203AD34 - adds r0, r1 - ldrb r0, [r0] - bx lr - .align 2, 0 -_0810BAE4: .4byte gUnknown_203AD34 - thumb_func_end sub_810BAD8 - - thumb_func_start sub_810BAE8 -sub_810BAE8: @ 810BAE8 - push {lr} - sub sp, 0x10 - adds r3, r1, 0 - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0810BB10 @ =gUnknown_845311C - movs r2, 0x2 - str r2, [sp] - movs r2, 0x64 - str r2, [sp, 0x4] - movs r2, 0xE - str r2, [sp, 0x8] - str r3, [sp, 0xC] - movs r2, 0x2 - movs r3, 0 - bl CreateYesNoMenuWithCallbacks - add sp, 0x10 - pop {r0} - bx r0 - .align 2, 0 -_0810BB10: .4byte gUnknown_845311C - thumb_func_end sub_810BAE8 - - thumb_func_start sub_810BB14 -sub_810BB14: @ 810BB14 - push {lr} - sub sp, 0x10 - adds r3, r1, 0 - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0810BB3C @ =gUnknown_8453124 - movs r2, 0x2 - str r2, [sp] - movs r2, 0x64 - str r2, [sp, 0x4] - movs r2, 0xE - str r2, [sp, 0x8] - str r3, [sp, 0xC] - movs r2, 0x2 - movs r3, 0 - bl CreateYesNoMenuWithCallbacks - add sp, 0x10 - pop {r0} - bx r0 - .align 2, 0 -_0810BB3C: .4byte gUnknown_8453124 - thumb_func_end sub_810BB14 - - thumb_func_start sub_810BB40 -sub_810BB40: @ 810BB40 - push {r4,lr} - movs r0, 0x2 - movs r1, 0 - bl sub_810B9DC - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, _0810BB70 @ =gSaveBlock1Ptr - ldr r0, [r0] - movs r1, 0xA4 - lsls r1, 2 - adds r0, r1 - bl GetMoney - adds r3, r0, 0 - adds r0, r4, 0 - movs r1, 0x81 - movs r2, 0xC - bl PrintMoneyAmountInMoneyBoxWithBorder - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0810BB70: .4byte gSaveBlock1Ptr - thumb_func_end sub_810BB40 - - thumb_func_start sub_810BB74 -sub_810BB74: @ 810BB74 - push {lr} - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - movs r2, 0xE - bl DrawTextBorderOuter - pop {r0} - bx r0 - thumb_func_end sub_810BB74 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/battle_dome_cards.s b/asm/trainer_pokemon_sprites.s index 3ff8f9318..3ff8f9318 100644 --- a/asm/battle_dome_cards.s +++ b/asm/trainer_pokemon_sprites.s diff --git a/data/bag/bag_window_pal.pal b/data/bag/bag_window_pal.pal new file mode 100644 index 000000000..426ea279e --- /dev/null +++ b/data/bag/bag_window_pal.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +255 255 255 +255 255 255 +98 98 98 +213 213 205 +230 8 8 +255 189 115 +32 156 8 +148 246 148 +49 82 205 +164 197 246 +0 0 0 +0 0 0 +0 0 0 +255 156 148 +255 255 255 +189 90 82 diff --git a/data/data_83FECCC.s b/data/data_83FECCC.s index a855e5f7f..3bdef180f 100644 --- a/data/data_83FECCC.s +++ b/data/data_83FECCC.s @@ -1,3 +1,5 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" .section .rodata .align 2 @@ -3079,33 +3081,6 @@ gUnknown_8453092:: @ 8453092 gUnknown_8453094:: @ 8453094 .incbin "baserom.gba", 0x453094, 0x4 -gUnknown_8453098:: @ 8453098 - .incbin "baserom.gba", 0x453098, 0x20 - -gUnknown_84530B8:: @ 84530B8 - .incbin "baserom.gba", 0x4530B8, 0xC - -gUnknown_84530C4:: @ 84530C4 - .incbin "baserom.gba", 0x4530C4, 0x20 - -gUnknown_84530E4:: @ 84530E4 - .incbin "baserom.gba", 0x4530E4, 0x20 - -gUnknown_8453104:: @ 8453104 - .incbin "baserom.gba", 0x453104, 0x18 - -gUnknown_845311C:: @ 845311C - .incbin "baserom.gba", 0x45311C, 0x8 - -gUnknown_8453124:: @ 8453124 - .incbin "baserom.gba", 0x453124, 0x54 - -gUnknown_8453178:: @ 8453178 - .incbin "baserom.gba", 0x453178, 0xC - -gUnknown_8453184:: @ 8453184 - .incbin "baserom.gba", 0x453184, 0x8 - .section .rodata.8453F6C // item_pc.o diff --git a/data/trainer_pokemon_sprites.s b/data/trainer_pokemon_sprites.s new file mode 100644 index 000000000..6d5477040 --- /dev/null +++ b/data/trainer_pokemon_sprites.s @@ -0,0 +1,25 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" + .section .rodata + + .align 2 +gUnknown_845312C:: @ 845312C + window_template 0x00, 0x02, 0x0f, 0x1a, 0x04, 0x0f, 0x02a2 + window_template 0x00, 0x06, 0x0f, 0x0e, 0x04, 0x0c, 0x02a2 + window_template 0x00, 0x06, 0x0f, 0x0f, 0x04, 0x0c, 0x02da + window_template 0x00, 0x06, 0x0f, 0x10, 0x04, 0x0c, 0x0316 + window_template 0x00, 0x06, 0x0f, 0x17, 0x04, 0x0c, 0x0356 + window_template 0x00, 0x16, 0x11, 0x07, 0x02, 0x0f, 0x020a + window_template 0x00, 0x16, 0x0f, 0x07, 0x04, 0x0f, 0x020a + window_template 0x00, 0x16, 0x0d, 0x07, 0x06, 0x0f, 0x020a + window_template 0x00, 0x16, 0x0b, 0x07, 0x08, 0x0f, 0x020a + +gUnknown_8453174:: + .byte 16, 8, 4, 0 + + .align 2 +gUnknown_8453178:: @ 8453178 + .space 12 + +gUnknown_8453184:: @ 8453184 + .byte 0, 0, 0, 0xc0, 0, 0, 0, 0 diff --git a/include/bag.h b/include/bag.h new file mode 100644 index 000000000..fe29149e9 --- /dev/null +++ b/include/bag.h @@ -0,0 +1,4 @@ +#ifndef GUARD_BAG_H +#define GUARD_BAG_H + +#endif //GUARD_BAG_H diff --git a/include/item_menu.h b/include/item_menu.h index 9ebe3918a..efd0066ed 100644 --- a/include/item_menu.h +++ b/include/item_menu.h @@ -7,6 +7,18 @@ // Exported RAM declarations +struct BagStruct +{ + void (*bagCallback)(void); + u8 location; + u8 pocket; + u16 unk6; + u8 cursorPosition[6]; + u8 scrollPosition[6]; +}; + +extern struct BagStruct gUnknown_203ACFC; + extern u16 gSpecialVar_ItemId; // Exported ROM declarations diff --git a/ld_script.txt b/ld_script.txt index 53385c39f..ece412fc7 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -212,8 +212,9 @@ SECTIONS { asm/list_menu.o(.text); asm/item_menu.o(.text); asm/save_location.o(.text); + src/bag.o(.text); asm/bag.o(.text); - asm/battle_dome_cards.o(.text); + asm/trainer_pokemon_sprites.o(.text); asm/unk_810C3A4.o(.text); src/vs_seeker.o(.text); asm/item_pc.o(.text); @@ -389,6 +390,8 @@ SECTIONS { data/data_83F5738.o(.rodata); src/save.o(.rodata); data/data_83FECCC.o(.rodata); + src/bag.o(.rodata); + data/trainer_pokemon_sprites.o(.rodata); src/vs_seeker.o(.rodata); data/data_83FECCC.o(.rodata.8453F6C); src/quest_log.o(.rodata); diff --git a/src/bag.c b/src/bag.c new file mode 100644 index 000000000..003b30e8a --- /dev/null +++ b/src/bag.c @@ -0,0 +1,243 @@ +#include "global.h" +#include "task.h" +#include "palette.h" +#include "item_menu.h" +#include "text.h" +#include "window.h" +#include "text_window.h" +#include "menu_helpers.h" +#include "menu.h" +#include "money.h" +#include "bag.h" + +extern const u8 gUnknown_84162E8[]; + +const u16 gUnknown_8453098[] = INCBIN_U16("data/bag/bag_window_pal.gbapal"); +const struct TextColor gUnknown_84530B8[] = { + {0, 1, 2}, + {0, 2, 3}, + {0, 3, 2}, + {0, 8, 9} +}; +const struct WindowTemplate gUnknown_84530C4[] = { + { + .priority = 0, + .tilemapLeft = 0x0b, + .tilemapTop = 0x01, + .width = 0x12, + .height = 0x0c, + .paletteNum = 0x0f, + .baseBlock = 0x008a + }, { + .priority = 0, + .tilemapLeft = 0x05, + .tilemapTop = 0x0e, + .width = 0x19, + .height = 0x06, + .paletteNum = 0x0f, + .baseBlock = 0x0162 + }, { + .priority = 0, + .tilemapLeft = 0x01, + .tilemapTop = 0x01, + .width = 0x09, + .height = 0x02, + .paletteNum = 0x0f, + .baseBlock = 0x01f8 + }, DUMMY_WIN_TEMPLATE +}; +const struct WindowTemplate gUnknown_84530E4[] = { + { + .priority = 0, + .tilemapLeft = 0x0b, + .tilemapTop = 0x01, + .width = 0x12, + .height = 0x0c, + .paletteNum = 0x0f, + .baseBlock = 0x008a + }, { + .priority = 0, + .tilemapLeft = 0x05, + .tilemapTop = 0x0e, + .width = 0x19, + .height = 0x06, + .paletteNum = 0x0f, + .baseBlock = 0x0162 + }, { + .priority = 0, + .tilemapLeft = 0x01, + .tilemapTop = 0x01, + .width = 0x08, + .height = 0x02, + .paletteNum = 0x0C, + .baseBlock = 0x01f8 + }, DUMMY_WIN_TEMPLATE +}; +const struct WindowTemplate gUnknown_8453104[] = { + { + .priority = 0, + .tilemapLeft = 24, + .tilemapTop = 15, + .width = 5, + .height = 4, + .paletteNum = 0xF, + .baseBlock = 0x242 + }, { + .priority = 0, + .tilemapLeft = 17, + .tilemapTop = 9, + .width = 12, + .height = 4, + .paletteNum = 0xF, + .baseBlock = 0x242 + }, { + .priority = 0, + .tilemapLeft = 1, + .tilemapTop = 1, + .width = 8, + .height = 3, + .paletteNum = 0xC, + .baseBlock = 0x272 + } +}; + +const struct WindowTemplate gUnknown_845311C = { + .priority = 0, + .tilemapLeft = 23, + .tilemapTop = 15, + .width = 6, + .height = 4, + .paletteNum = 0xF, + .baseBlock = 0x28a +}; + +const struct WindowTemplate gUnknown_8453124 = { + .priority = 0, + .tilemapLeft = 21, + .tilemapTop = 9, + .width = 6, + .height = 4, + .paletteNum = 0xF, + .baseBlock = 0x28a +}; + +EWRAM_DATA u8 gUnknown_203AD34[11] = {}; + +void sub_810B858(void) +{ + u8 i; + + if (gUnknown_203ACFC.location != 3) + InitWindows(gUnknown_84530C4); + else + InitWindows(gUnknown_84530E4); + DeactivateAllTextPrinters(); + sub_815001C(0, 0x64, 0xE0); + sub_814FEAC(0, 0x6D, 0xD0); + sub_814FF2C(0, 0x81, 0xC0); + LoadPalette(gUnknown_8453098, 0xF0, 0x20); + for (i = 0; i < 3; i++) + { + FillWindowPixelBuffer(i, 0x00); + PutWindowTilemap(i); + } + schedule_bg_copy_tilemap_to_vram(0); + for (i = 0; i < 11; i++) + { + gUnknown_203AD34[i] = 0xFF; + } +} + +void sub_810B8F0(u8 windowId, u8 fontId, const u8 * str, u8 x, u8 y, u8 letterSpacing, u8 lineSpacing, s8 speed, u8 colorIdx) +{ + AddTextPrinterParametrized2(windowId, fontId, x, y, letterSpacing, lineSpacing, &gUnknown_84530B8[colorIdx], speed, str); +} + +void sub_810B958(const u8 * str) +{ + u32 x = 0x48 - GetStringWidth(1, str, 0); + box_print(2, 1, x / 2, 1, &gUnknown_84530B8[0], 0, str); +} + +void sub_810B994(void) +{ + u32 x; + SetWindowBorderStyle(2, FALSE, 0x081, 0x0C); + x = 0x40 - GetStringWidth(0, gUnknown_84162E8, 0); + AddTextPrinterParameterized(2, 0, gUnknown_84162E8, x / 2, 1, 0, NULL); +} + +u8 sub_810B9DC(u8 a0, u8 a1) +{ + if (gUnknown_203AD34[a0] == 0xFF) + { + gUnknown_203AD34[a0] = AddWindow(&gUnknown_8453104[a0 + a1]); + if (a0 != 6) + { + SetWindowBorderStyle(gUnknown_203AD34[a0], FALSE, 0x064, 0x0E); + } + else + { + SetWindowBorderStyle(gUnknown_203AD34[a0], FALSE, 0x081, 0x0C); + } + schedule_bg_copy_tilemap_to_vram(0); + } + return gUnknown_203AD34[a0]; +} + +void sub_810BA3C(u8 a0) +{ + sub_810F4D8(gUnknown_203AD34[a0], FALSE); + ClearWindowTilemap(gUnknown_203AD34[a0]); + RemoveWindow(gUnknown_203AD34[a0]); + schedule_bg_copy_tilemap_to_vram(0); + gUnknown_203AD34[a0] = 0xFF; +} + +u8 sub_810BA70(u8 a0) +{ + if (gUnknown_203AD34[a0] == 0xFF) + { + gUnknown_203AD34[a0] = AddWindow(&gUnknown_8453104[a0]); + } + return gUnknown_203AD34[a0]; +} + +void sub_810BA9C(u8 a0) +{ + if (gUnknown_203AD34[a0] != 0xFF) + { + sub_810F260(gUnknown_203AD34[a0], FALSE); + ClearWindowTilemap(gUnknown_203AD34[a0]); + RemoveWindow(gUnknown_203AD34[a0]); + PutWindowTilemap(1); + schedule_bg_copy_tilemap_to_vram(0); + gUnknown_203AD34[a0] = 0xFF; + + } +} + +u8 sub_810BAD8(u8 a0) +{ + return gUnknown_203AD34[a0]; +} + +void sub_810BAE8(u8 taskId, const struct YesNoFuncTable * ptrs) +{ + CreateYesNoMenuWithCallbacks(taskId, &gUnknown_845311C, 2, 0, 2, 0x64, 0x0E, ptrs); +} + +void sub_810BB14(u8 taskId, const struct YesNoFuncTable * ptrs) +{ + CreateYesNoMenuWithCallbacks(taskId, &gUnknown_8453124, 2, 0, 2, 0x064, 0x0E, ptrs); +} + +void sub_810BB40(void) +{ + PrintMoneyAmountInMoneyBoxWithBorder(sub_810B9DC(2, 0), 0x081, 0x0C, GetMoney(&gSaveBlock1Ptr->money)); +} + +void sub_810BB74(u8 windowId) +{ + DrawTextBorderOuter(windowId, 0x064, 0x0E); +} diff --git a/sym_ewram.txt b/sym_ewram.txt index 016de3ab7..f301d9cc4 100644 --- a/sym_ewram.txt +++ b/sym_ewram.txt @@ -1343,9 +1343,10 @@ gUnknown_203AD2C: @ 203AD2C gSpecialVar_ItemId: @ 203AD30 .space 0x4 -gUnknown_203AD34: @ 203AD34 - .space 0xC + .align 2 + .include "src/bag.o" + .align 2 gUnknown_203AD40: @ 203AD40 .space 0x18 |