summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPikalaxALT <pikalaxalt@gmail.com>2019-09-30 17:33:57 -0400
committerPikalaxALT <pikalaxalt@gmail.com>2019-09-30 17:33:57 -0400
commit64362d3040b3defb722bf72203fda64b96da1e06 (patch)
treed7e1c9fde72658115ae67ba91f9487e53f1c59cf
parente65487716a0afc3c48d712f706783c58cc82676c (diff)
Berry Pouch rodata
-rw-r--r--asm/berry_pouch.s12
-rw-r--r--baserom.ipsbin2012689 -> 2012420 bytes
-rw-r--r--data/berry_pouch.s31
-rw-r--r--data/itemfinder.s4
-rw-r--r--include/graphics.h4
-rw-r--r--ld_script.txt1
-rw-r--r--src/berry_pouch.c197
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
index 1ede5acbe..e4c815c03 100644
--- a/baserom.ips
+++ b/baserom.ips
Binary files differ
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)
{