diff options
-rw-r--r-- | asm/berry_pouch.s | 12 | ||||
-rw-r--r-- | baserom.ips | bin | 2012689 -> 2012420 bytes | |||
-rw-r--r-- | data/berry_pouch.s | 31 | ||||
-rw-r--r-- | data/itemfinder.s | 4 | ||||
-rw-r--r-- | include/graphics.h | 4 | ||||
-rw-r--r-- | ld_script.txt | 1 | ||||
-rw-r--r-- | src/berry_pouch.c | 197 |
7 files changed, 207 insertions, 42 deletions
diff --git a/asm/berry_pouch.s b/asm/berry_pouch.s index e30e12580..f86bff256 100644 --- a/asm/berry_pouch.s +++ b/asm/berry_pouch.s @@ -969,7 +969,7 @@ DisplayItemMessageInBerryPouch: @ 813EB20 ldrb r0, [r4, 0x5] cmp r0, 0xFF bne _0813EB44 - ldr r0, _0813EB78 @ =gUnknown_8464400 + ldr r0, _0813EB78 @ =gUnknown_84643D8 + 0x28 bl AddWindow strb r0, [r4, 0x5] _0813EB44: @@ -996,7 +996,7 @@ _0813EB44: bx r0 .align 2, 0 _0813EB74: .4byte gUnknown_203F38C -_0813EB78: .4byte gUnknown_8464400 +_0813EB78: .4byte gUnknown_84643D8 + 0x28 thumb_func_end DisplayItemMessageInBerryPouch thumb_func_start sub_813EB7C @@ -1006,7 +1006,7 @@ sub_813EB7C: @ 813EB7C adds r3, r1, 0 lsls r0, 24 lsrs r0, 24 - ldr r1, _0813EBA4 @ =gUnknown_84643F0 + ldr r1, _0813EBA4 @ =gUnknown_84643D8 + 0x18 movs r2, 0x2 str r2, [sp] movs r2, 0x1 @@ -1021,7 +1021,7 @@ sub_813EB7C: @ 813EB7C pop {r0} bx r0 .align 2, 0 -_0813EBA4: .4byte gUnknown_84643F0 +_0813EBA4: .4byte gUnknown_84643D8 + 0x18 thumb_func_end sub_813EB7C thumb_func_start sub_813EBA8 @@ -1031,7 +1031,7 @@ sub_813EBA8: @ 813EBA8 adds r3, r1, 0 lsls r0, 24 lsrs r0, 24 - ldr r1, _0813EBD0 @ =gUnknown_84643F8 + ldr r1, _0813EBD0 @ =gUnknown_84643D8 + 0x20 movs r2, 0x2 str r2, [sp] movs r2, 0x1 @@ -1046,7 +1046,7 @@ sub_813EBA8: @ 813EBA8 pop {r0} bx r0 .align 2, 0 -_0813EBD0: .4byte gUnknown_84643F8 +_0813EBD0: .4byte gUnknown_84643D8 + 0x20 thumb_func_end sub_813EBA8 thumb_func_start sub_813EBD4 diff --git a/baserom.ips b/baserom.ips Binary files differindex 1ede5acbe..e4c815c03 100644 --- a/baserom.ips +++ b/baserom.ips diff --git a/data/berry_pouch.s b/data/berry_pouch.s deleted file mode 100644 index 68d9cd5a3..000000000 --- a/data/berry_pouch.s +++ /dev/null @@ -1,31 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - .section .rodata - .align 2 - -gUnknown_84643B8:: @ 84643B8 - .incbin "baserom.gba", 0x4643B8, 0x20 - -gUnknown_84643D8:: @ 84643D8 - .incbin "baserom.gba", 0x4643D8, 0x18 - -gUnknown_84643F0:: @ 84643F0 - .incbin "baserom.gba", 0x4643F0, 0x8 - -gUnknown_84643F8:: @ 84643F8 - .incbin "baserom.gba", 0x4643F8, 0x8 - -gUnknown_8464400:: @ 8464400 - .incbin "baserom.gba", 0x464400, 0x48 - -gUnknown_8464448:: @ 8464448 - .incbin "baserom.gba", 0x464448, 0x60 - -gUnknown_84644A8:: @ 84644A8 - obj_tiles gUnknown_8E8560C, 0x800, 100 - -gUnknown_84644B0:: @ 84644B0 - obj_pal gUnknown_8E85C1C, 100 - -gUnknown_84644B8:: @ 84644B8 - .incbin "baserom.gba", 0x4644B8, 0x32C diff --git a/data/itemfinder.s b/data/itemfinder.s index 3a955deeb..88e9910f4 100644 --- a/data/itemfinder.s +++ b/data/itemfinder.s @@ -1,5 +1,9 @@ .section .rodata .align 2 + +gUnknown_84644D0:: @ 84644D0 + .incbin "baserom.gba", 0x4644D0, 0x314 + gUnknown_84647E4:: @ 84647E4 .incbin "baserom.gba", 0x4647E4, 0x18 diff --git a/include/graphics.h b/include/graphics.h index 9d4bdf177..ce671246e 100644 --- a/include/graphics.h +++ b/include/graphics.h @@ -999,11 +999,11 @@ extern const u8 gCreditsAllRightsReservedGfxTiles[]; extern const u8 gCreditsAllRightsReservedGfxMap[]; // berry_pouch -extern const u8 gUnknown_8E8560C[]; +extern const u32 gUnknown_8E8560C[]; extern const u8 gUnknown_8E859D0[]; extern const u8 gUnknown_8E85BA4[]; extern const u8 gUnknown_8E85BF4[]; -extern const u8 gUnknown_8E85C1C[]; +extern const u32 gUnknown_8E85C1C[]; extern const u8 gUnknown_8E85C44[]; #endif //GUARD_GRAPHICS_H diff --git a/ld_script.txt b/ld_script.txt index 7e28cc850..a7ab32150 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -468,7 +468,6 @@ SECTIONS { data/wild_pokemon_area.o(.rodata); src/dynamic_placeholder_text_util.o(.rodata); src/berry_pouch.o(.rodata); - data/berry_pouch.o(.rodata); data/itemfinder.o(.rodata); src/buy_menu_helpers.o(.rodata); src/slot_machine.o(.rodata); diff --git a/src/berry_pouch.c b/src/berry_pouch.c index 8e394be37..ff4652ee2 100644 --- a/src/berry_pouch.c +++ b/src/berry_pouch.c @@ -200,8 +200,201 @@ const u8 gUnknown_84643B0[] = { const u8 gUnknown_84643B4[] = _(" "); -extern const struct CompressedSpriteSheet gUnknown_84644A8; -extern const struct CompressedSpritePalette gUnknown_84644B0; +const struct WindowTemplate gUnknown_84643B8[] = { + { + .bg = 0, + .tilemapLeft = 11, + .tilemapTop = 1, + .width = 18, + .height = 14, + .paletteNum = 15, + .baseBlock = 0x027 + }, { + .bg = 0, + .tilemapLeft = 5, + .tilemapTop = 16, + .width = 25, + .height = 4, + .paletteNum = 15, + .baseBlock = 0x123 + }, { + .bg = 2, + .tilemapLeft = 1, + .tilemapTop = 1, + .width = 9, + .height = 2, + .paletteNum = 15, + .baseBlock = 0x187 + }, DUMMY_WIN_TEMPLATE +}; + +const struct WindowTemplate gUnknown_84643D8[] = { + { + .bg = 0x02, + .tilemapLeft = 0x18, + .tilemapTop = 0x0f, + .width = 0x05, + .height = 0x04, + .paletteNum = 0x0f, + .baseBlock = 0x1d1 + }, { + .bg = 0x02, + .tilemapLeft = 0x11, + .tilemapTop = 0x09, + .width = 0x0c, + .height = 0x04, + .paletteNum = 0x0f, + .baseBlock = 0x1d1 + }, { + .bg = 0x02, + .tilemapLeft = 0x01, + .tilemapTop = 0x01, + .width = 0x08, + .height = 0x03, + .paletteNum = 0x0c, + .baseBlock = 0x201 + }, { + .bg = 0x02, + .tilemapLeft = 0x17, + .tilemapTop = 0x0f, + .width = 0x06, + .height = 0x04, + .paletteNum = 0x0f, + .baseBlock = 0x219 + }, { + .bg = 0x02, + .tilemapLeft = 0x15, + .tilemapTop = 0x09, + .width = 0x06, + .height = 0x04, + .paletteNum = 0x0f, + .baseBlock = 0x219 + }, { + .bg = 0x02, + .tilemapLeft = 0x02, + .tilemapTop = 0x0f, + .width = 0x1a, + .height = 0x04, + .paletteNum = 0x0f, + .baseBlock = 0x231 + }, { + .bg = 0x02, + .tilemapLeft = 0x06, + .tilemapTop = 0x0f, + .width = 0x0e, + .height = 0x04, + .paletteNum = 0x0c, + .baseBlock = 0x231 + }, { + .bg = 0x02, + .tilemapLeft = 0x06, + .tilemapTop = 0x0f, + .width = 0x0f, + .height = 0x04, + .paletteNum = 0x0c, + .baseBlock = 0x269 + }, { + .bg = 0x02, + .tilemapLeft = 0x06, + .tilemapTop = 0x0f, + .width = 0x10, + .height = 0x04, + .paletteNum = 0x0c, + .baseBlock = 0x2a5 + }, { + .bg = 0x02, + .tilemapLeft = 0x06, + .tilemapTop = 0x0f, + .width = 0x17, + .height = 0x04, + .paletteNum = 0x0c, + .baseBlock = 0x2e5 + }, { + .bg = 0x02, + .tilemapLeft = 0x16, + .tilemapTop = 0x11, + .width = 0x07, + .height = 0x02, + .paletteNum = 0x0f, + .baseBlock = 0x199 + }, { + .bg = 0x02, + .tilemapLeft = 0x16, + .tilemapTop = 0x0f, + .width = 0x07, + .height = 0x04, + .paletteNum = 0x0f, + .baseBlock = 0x199 + }, { + .bg = 0x02, + .tilemapLeft = 0x16, + .tilemapTop = 0x0d, + .width = 0x07, + .height = 0x06, + .paletteNum = 0x0f, + .baseBlock = 0x199 + }, { + .bg = 0x02, + .tilemapLeft = 0x16, + .tilemapTop = 0x0b, + .width = 0x07, + .height = 0x08, + .paletteNum = 0x0f, + .baseBlock = 0x199 + } +}; + +const u8 gUnknown_8464448[][3] = { + { 0, 1, 2 }, + { 0, 2, 3 }, + { 0, 3, 2 } +}; + +const struct OamData gOamData_8464454 = { + .affineMode = ST_OAM_AFFINE_NORMAL, + .shape = ST_OAM_SQUARE, + .size = ST_OAM_SIZE_3, + .priority = 1 +}; + +const union AnimCmd gSpriteAnims_846445C[] = { + ANIMCMD_FRAME(0, 0), + ANIMCMD_END +}; + +const union AnimCmd *const gSpriteAnimTable_8464464[] = { + gSpriteAnims_846445C +}; + +const union AffineAnimCmd gSpriteAffineAnims_8464468[] = { + AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0), + AFFINEANIMCMD_END +}; + +const union AffineAnimCmd gSpriteAffineAnims_8464478[] = { + AFFINEANIMCMD_FRAME(0, 0, -2, 2), + AFFINEANIMCMD_FRAME(0, 0, 2, 4), + AFFINEANIMCMD_FRAME(0, 0, -2, 4), + AFFINEANIMCMD_FRAME(0, 0, 2, 2), + AFFINEANIMCMD_END +}; + +const union AffineAnimCmd *const gSpriteAffineAnimTable_84644A0[] = { + gSpriteAffineAnims_8464468, + gSpriteAffineAnims_8464478 +}; + +const struct CompressedSpriteSheet gUnknown_84644A8 = { + gUnknown_8E8560C, 0x800, 100 +}; + +const struct CompressedSpritePalette gUnknown_84644B0 = { + gUnknown_8E85C1C, 100 +}; + +const struct SpriteTemplate gUnknown_84644B8 = { + 100, 100, &gOamData_8464454, gSpriteAnimTable_8464464, NULL, gSpriteAffineAnimTable_84644A0, SpriteCallbackDummy +}; void InitBerryPouch(u8 a0, void (*savedCallback)(void), u8 a2) { |