berry_pouch through sub_813D0E4
This commit is contained in:
@@ -5,155 +5,6 @@
|
|||||||
|
|
||||||
.text
|
.text
|
||||||
|
|
||||||
thumb_func_start sub_813D07C
|
|
||||||
sub_813D07C: @ 813D07C
|
|
||||||
push {r4,lr}
|
|
||||||
bl ResetAllBgsCoordinatesAndBgCntRegs
|
|
||||||
ldr r4, _0813D0DC @ =gUnknown_203F36C
|
|
||||||
ldr r0, [r4]
|
|
||||||
adds r0, 0xC
|
|
||||||
movs r2, 0x80
|
|
||||||
lsls r2, 4
|
|
||||||
movs r1, 0
|
|
||||||
bl memset
|
|
||||||
movs r0, 0
|
|
||||||
bl ResetBgsAndClearDma3BusyFlags
|
|
||||||
ldr r1, _0813D0E0 @ =gUnknown_846434C
|
|
||||||
movs r0, 0
|
|
||||||
movs r2, 0x3
|
|
||||||
bl InitBgsFromTemplates
|
|
||||||
ldr r1, [r4]
|
|
||||||
adds r1, 0xC
|
|
||||||
movs r0, 0x1
|
|
||||||
bl SetBgTilemapBuffer
|
|
||||||
movs r0, 0x1
|
|
||||||
bl ScheduleBgCopyTilemapToVram
|
|
||||||
movs r0, 0x50
|
|
||||||
movs r1, 0
|
|
||||||
bl SetGpuReg
|
|
||||||
movs r1, 0x82
|
|
||||||
lsls r1, 5
|
|
||||||
movs r0, 0
|
|
||||||
bl SetGpuReg
|
|
||||||
movs r0, 0
|
|
||||||
bl ShowBg
|
|
||||||
movs r0, 0x1
|
|
||||||
bl ShowBg
|
|
||||||
movs r0, 0x2
|
|
||||||
bl ShowBg
|
|
||||||
pop {r4}
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
.align 2, 0
|
|
||||||
_0813D0DC: .4byte gUnknown_203F36C
|
|
||||||
_0813D0E0: .4byte gUnknown_846434C
|
|
||||||
thumb_func_end sub_813D07C
|
|
||||||
|
|
||||||
thumb_func_start sub_813D0E4
|
|
||||||
sub_813D0E4: @ 813D0E4
|
|
||||||
push {r4-r6,lr}
|
|
||||||
sub sp, 0x4
|
|
||||||
ldr r5, _0813D104 @ =gUnknown_203F36C
|
|
||||||
ldr r0, [r5]
|
|
||||||
ldr r6, _0813D108 @ =0x0000080c
|
|
||||||
adds r0, r6
|
|
||||||
movs r1, 0
|
|
||||||
ldrsh r4, [r0, r1]
|
|
||||||
cmp r4, 0x1
|
|
||||||
beq _0813D130
|
|
||||||
cmp r4, 0x1
|
|
||||||
bgt _0813D10C
|
|
||||||
cmp r4, 0
|
|
||||||
beq _0813D116
|
|
||||||
b _0813D190
|
|
||||||
.align 2, 0
|
|
||||||
_0813D104: .4byte gUnknown_203F36C
|
|
||||||
_0813D108: .4byte 0x0000080c
|
|
||||||
_0813D10C:
|
|
||||||
cmp r4, 0x2
|
|
||||||
beq _0813D14C
|
|
||||||
cmp r4, 0x3
|
|
||||||
beq _0813D178
|
|
||||||
b _0813D190
|
|
||||||
_0813D116:
|
|
||||||
bl ResetTempTileDataBuffers
|
|
||||||
ldr r1, _0813D12C @ =gUnknown_8E859D0
|
|
||||||
str r4, [sp]
|
|
||||||
movs r0, 0x1
|
|
||||||
movs r2, 0
|
|
||||||
movs r3, 0
|
|
||||||
bl DecompressAndCopyTileDataToVram
|
|
||||||
b _0813D17E
|
|
||||||
.align 2, 0
|
|
||||||
_0813D12C: .4byte gUnknown_8E859D0
|
|
||||||
_0813D130:
|
|
||||||
bl FreeTempTileDataBuffersIfPossible
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r0, 24
|
|
||||||
cmp r0, 0x1
|
|
||||||
beq _0813D1B4
|
|
||||||
ldr r0, _0813D148 @ =gUnknown_8E85C44
|
|
||||||
ldr r1, [r5]
|
|
||||||
adds r1, 0xC
|
|
||||||
bl LZDecompressWram
|
|
||||||
b _0813D17E
|
|
||||||
.align 2, 0
|
|
||||||
_0813D148: .4byte gUnknown_8E85C44
|
|
||||||
_0813D14C:
|
|
||||||
ldr r0, _0813D16C @ =gUnknown_8E85BA4
|
|
||||||
movs r1, 0
|
|
||||||
movs r2, 0x60
|
|
||||||
bl LoadCompressedPalette
|
|
||||||
ldr r0, _0813D170 @ =gSaveBlock2Ptr
|
|
||||||
ldr r0, [r0]
|
|
||||||
ldrb r0, [r0, 0x8]
|
|
||||||
cmp r0, 0
|
|
||||||
beq _0813D17E
|
|
||||||
ldr r0, _0813D174 @ =gUnknown_8E85BF4
|
|
||||||
movs r1, 0
|
|
||||||
movs r2, 0x20
|
|
||||||
bl LoadCompressedPalette
|
|
||||||
b _0813D17E
|
|
||||||
.align 2, 0
|
|
||||||
_0813D16C: .4byte gUnknown_8E85BA4
|
|
||||||
_0813D170: .4byte gSaveBlock2Ptr
|
|
||||||
_0813D174: .4byte gUnknown_8E85BF4
|
|
||||||
_0813D178:
|
|
||||||
ldr r0, _0813D18C @ =gUnknown_84644A8
|
|
||||||
bl LoadCompressedSpriteSheet
|
|
||||||
_0813D17E:
|
|
||||||
ldr r1, [r5]
|
|
||||||
adds r1, r6
|
|
||||||
ldrh r0, [r1]
|
|
||||||
adds r0, 0x1
|
|
||||||
strh r0, [r1]
|
|
||||||
b _0813D1B4
|
|
||||||
.align 2, 0
|
|
||||||
_0813D18C: .4byte gUnknown_84644A8
|
|
||||||
_0813D190:
|
|
||||||
ldr r0, _0813D1A8 @ =gUnknown_84644B0
|
|
||||||
bl LoadCompressedSpritePalette
|
|
||||||
ldr r0, _0813D1AC @ =gUnknown_203F36C
|
|
||||||
ldr r0, [r0]
|
|
||||||
ldr r1, _0813D1B0 @ =0x0000080c
|
|
||||||
adds r0, r1
|
|
||||||
movs r1, 0
|
|
||||||
strh r1, [r0]
|
|
||||||
movs r0, 0x1
|
|
||||||
b _0813D1B6
|
|
||||||
.align 2, 0
|
|
||||||
_0813D1A8: .4byte gUnknown_84644B0
|
|
||||||
_0813D1AC: .4byte gUnknown_203F36C
|
|
||||||
_0813D1B0: .4byte 0x0000080c
|
|
||||||
_0813D1B4:
|
|
||||||
movs r0, 0
|
|
||||||
_0813D1B6:
|
|
||||||
add sp, 0x4
|
|
||||||
pop {r4-r6}
|
|
||||||
pop {r1}
|
|
||||||
bx r1
|
|
||||||
thumb_func_end sub_813D0E4
|
|
||||||
|
|
||||||
thumb_func_start sub_813D1C0
|
thumb_func_start sub_813D1C0
|
||||||
sub_813D1C0: @ 813D1C0
|
sub_813D1C0: @ 813D1C0
|
||||||
push {r4,lr}
|
push {r4,lr}
|
||||||
|
|||||||
BIN
Binary file not shown.
+4
-5
@@ -1,9 +1,8 @@
|
|||||||
|
.include "asm/macros.inc"
|
||||||
|
.include "constants/constants.inc"
|
||||||
.section .rodata
|
.section .rodata
|
||||||
.align 2
|
.align 2
|
||||||
|
|
||||||
gUnknown_846434C:: @ 846434C
|
|
||||||
.incbin "baserom.gba", 0x46434C, 0xC
|
|
||||||
|
|
||||||
gUnknown_8464358:: @ 8464358
|
gUnknown_8464358:: @ 8464358
|
||||||
.incbin "baserom.gba", 0x464358, 0x14
|
.incbin "baserom.gba", 0x464358, 0x14
|
||||||
|
|
||||||
@@ -50,10 +49,10 @@ gUnknown_8464448:: @ 8464448
|
|||||||
.incbin "baserom.gba", 0x464448, 0x60
|
.incbin "baserom.gba", 0x464448, 0x60
|
||||||
|
|
||||||
gUnknown_84644A8:: @ 84644A8
|
gUnknown_84644A8:: @ 84644A8
|
||||||
.incbin "baserom.gba", 0x4644A8, 0x8
|
obj_tiles gUnknown_8E8560C, 0x800, 100
|
||||||
|
|
||||||
gUnknown_84644B0:: @ 84644B0
|
gUnknown_84644B0:: @ 84644B0
|
||||||
.incbin "baserom.gba", 0x4644B0, 0x8
|
obj_pal gUnknown_8E85C1C, 100
|
||||||
|
|
||||||
gUnknown_84644B8:: @ 84644B8
|
gUnknown_84644B8:: @ 84644B8
|
||||||
.incbin "baserom.gba", 0x4644B8, 0x32C
|
.incbin "baserom.gba", 0x4644B8, 0x32C
|
||||||
|
|||||||
+6
-6
@@ -13989,22 +13989,22 @@ gItemPcTilemap:: @ 8E85458
|
|||||||
.incbin "graphics/item_pc/unk_8E85458.bin.lz"
|
.incbin "graphics/item_pc/unk_8E85458.bin.lz"
|
||||||
|
|
||||||
gUnknown_8E8560C:: @ 8E8560C
|
gUnknown_8E8560C:: @ 8E8560C
|
||||||
.incbin "baserom.gba", 0xE8560C, 0x3C4
|
.incbin "graphics/berry_pouch/unk_8E8560C.4bpp.lz"
|
||||||
|
|
||||||
gUnknown_8E859D0:: @ 8E859D0
|
gUnknown_8E859D0:: @ 8E859D0
|
||||||
.incbin "baserom.gba", 0xE859D0, 0x1D4
|
.incbin "graphics/berry_pouch/unk_8E859D0.4bpp.lz"
|
||||||
|
|
||||||
gUnknown_8E85BA4:: @ 8E85BA4
|
gUnknown_8E85BA4:: @ 8E85BA4
|
||||||
.incbin "baserom.gba", 0xE85BA4, 0x50
|
.incbin "graphics/berry_pouch/unk_8E85BA4.gbapal.lz"
|
||||||
|
|
||||||
gUnknown_8E85BF4:: @ 8E85BF4
|
gUnknown_8E85BF4:: @ 8E85BF4
|
||||||
.incbin "baserom.gba", 0xE85BF4, 0x28
|
.incbin "graphics/berry_pouch/unk_8E85BF4.gbapal.lz"
|
||||||
|
|
||||||
gUnknown_8E85C1C:: @ 8E85C1C
|
gUnknown_8E85C1C:: @ 8E85C1C
|
||||||
.incbin "baserom.gba", 0xE85C1C, 0x28
|
.incbin "graphics/berry_pouch/unk_8E85C1C.gbapal.lz"
|
||||||
|
|
||||||
gUnknown_8E85C44:: @ 8E85C44
|
gUnknown_8E85C44:: @ 8E85C44
|
||||||
.incbin "baserom.gba", 0xE85C44, 0x184
|
.incbin "graphics/berry_pouch/unk_8E85C44.bin.lz"
|
||||||
|
|
||||||
gUnknown_8E85DC8:: @ 8E85DC8
|
gUnknown_8E85DC8:: @ 8E85DC8
|
||||||
.incbin "baserom.gba", 0xE85DC8, 0x134
|
.incbin "baserom.gba", 0xE85DC8, 0x134
|
||||||
|
|||||||
Binary file not shown.
|
After Width: | Height: | Size: 782 B |
Binary file not shown.
|
After Width: | Height: | Size: 444 B |
@@ -0,0 +1,51 @@
|
|||||||
|
JASC-PAL
|
||||||
|
0100
|
||||||
|
48
|
||||||
|
0 65 90
|
||||||
|
255 0 255
|
||||||
|
41 57 82
|
||||||
|
65 180 164
|
||||||
|
255 0 255
|
||||||
|
255 0 255
|
||||||
|
106 205 197
|
||||||
|
164 205 238
|
||||||
|
189 238 255
|
||||||
|
255 255 205
|
||||||
|
180 189 180
|
||||||
|
148 148 148
|
||||||
|
238 230 172
|
||||||
|
106 106 106
|
||||||
|
106 156 238
|
||||||
|
0 90 131
|
||||||
|
0 0 0
|
||||||
|
0 0 0
|
||||||
|
0 0 0
|
||||||
|
0 0 0
|
||||||
|
0 0 0
|
||||||
|
0 0 0
|
||||||
|
0 0 0
|
||||||
|
189 213 213
|
||||||
|
238 255 255
|
||||||
|
222 246 255
|
||||||
|
255 255 255
|
||||||
|
164 222 255
|
||||||
|
16 172 222
|
||||||
|
0 82 115
|
||||||
|
0 115 139
|
||||||
|
0 123 197
|
||||||
|
0 0 0
|
||||||
|
0 0 0
|
||||||
|
0 0 0
|
||||||
|
0 0 0
|
||||||
|
0 0 0
|
||||||
|
0 0 0
|
||||||
|
0 0 0
|
||||||
|
189 213 213
|
||||||
|
238 255 255
|
||||||
|
222 246 255
|
||||||
|
255 255 255
|
||||||
|
164 222 255
|
||||||
|
24 82 180
|
||||||
|
0 90 131
|
||||||
|
24 82 180
|
||||||
|
24 82 180
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
JASC-PAL
|
||||||
|
0100
|
||||||
|
16
|
||||||
|
0 65 90
|
||||||
|
255 0 255
|
||||||
|
41 57 82
|
||||||
|
213 139 115
|
||||||
|
255 0 255
|
||||||
|
255 0 255
|
||||||
|
255 172 148
|
||||||
|
164 205 238
|
||||||
|
189 238 255
|
||||||
|
255 255 205
|
||||||
|
180 189 180
|
||||||
|
148 148 148
|
||||||
|
238 230 172
|
||||||
|
106 106 106
|
||||||
|
106 156 238
|
||||||
|
0 90 131
|
||||||
Binary file not shown.
@@ -998,4 +998,12 @@ extern const u16 gCreditsAllRightsReservedGfxPal[];
|
|||||||
extern const u8 gCreditsAllRightsReservedGfxTiles[];
|
extern const u8 gCreditsAllRightsReservedGfxTiles[];
|
||||||
extern const u8 gCreditsAllRightsReservedGfxMap[];
|
extern const u8 gCreditsAllRightsReservedGfxMap[];
|
||||||
|
|
||||||
|
// berry_pouch
|
||||||
|
extern const u8 gUnknown_8E8560C[];
|
||||||
|
extern const u8 gUnknown_8E859D0[];
|
||||||
|
extern const u8 gUnknown_8E85BA4[];
|
||||||
|
extern const u8 gUnknown_8E85BF4[];
|
||||||
|
extern const u8 gUnknown_8E85C1C[];
|
||||||
|
extern const u8 gUnknown_8E85C44[];
|
||||||
|
|
||||||
#endif //GUARD_GRAPHICS_H
|
#endif //GUARD_GRAPHICS_H
|
||||||
|
|||||||
@@ -467,6 +467,7 @@ SECTIONS {
|
|||||||
src/help_system.o(.rodata);
|
src/help_system.o(.rodata);
|
||||||
data/wild_pokemon_area.o(.rodata);
|
data/wild_pokemon_area.o(.rodata);
|
||||||
src/dynamic_placeholder_text_util.o(.rodata);
|
src/dynamic_placeholder_text_util.o(.rodata);
|
||||||
|
src/berry_pouch.o(.rodata);
|
||||||
data/berry_pouch.o(.rodata);
|
data/berry_pouch.o(.rodata);
|
||||||
data/itemfinder.o(.rodata);
|
data/itemfinder.o(.rodata);
|
||||||
src/buy_menu_helpers.o(.rodata);
|
src/buy_menu_helpers.o(.rodata);
|
||||||
|
|||||||
+86
-2
@@ -1,6 +1,8 @@
|
|||||||
#include "global.h"
|
#include "global.h"
|
||||||
#include "malloc.h"
|
#include "malloc.h"
|
||||||
#include "bg.h"
|
#include "bg.h"
|
||||||
|
#include "decompress.h"
|
||||||
|
#include "gpu_regs.h"
|
||||||
#include "palette.h"
|
#include "palette.h"
|
||||||
#include "text.h"
|
#include "text.h"
|
||||||
#include "berry_pouch.h"
|
#include "berry_pouch.h"
|
||||||
@@ -10,6 +12,7 @@
|
|||||||
#include "scanline_effect.h"
|
#include "scanline_effect.h"
|
||||||
#include "item_menu_icons.h"
|
#include "item_menu_icons.h"
|
||||||
#include "list_menu.h"
|
#include "list_menu.h"
|
||||||
|
#include "graphics.h"
|
||||||
#include "constants/items.h"
|
#include "constants/items.h"
|
||||||
|
|
||||||
struct BerryPouchStruct_203F36C
|
struct BerryPouchStruct_203F36C
|
||||||
@@ -20,8 +23,8 @@ struct BerryPouchStruct_203F36C
|
|||||||
u8 filler_007[2];
|
u8 filler_007[2];
|
||||||
u8 unk_009;
|
u8 unk_009;
|
||||||
u8 filler_00a[2];
|
u8 filler_00a[2];
|
||||||
u8 filler_00c[0x800];
|
u8 unk_00C[BG_SCREEN_SIZE];
|
||||||
u16 unk_80C[4];
|
s16 unk_80C[4];
|
||||||
};
|
};
|
||||||
|
|
||||||
struct BerryPouchStruct_203F370
|
struct BerryPouchStruct_203F370
|
||||||
@@ -55,6 +58,37 @@ void sub_813DA68(u8 taskId);
|
|||||||
void sub_813E910(void);
|
void sub_813E910(void);
|
||||||
void sub_813EC08(void);
|
void sub_813EC08(void);
|
||||||
|
|
||||||
|
static const struct BgTemplate gUnknown_846434C[] = {
|
||||||
|
{
|
||||||
|
.bg = 0,
|
||||||
|
.charBaseIndex = 0,
|
||||||
|
.mapBaseIndex = 31,
|
||||||
|
.screenSize = 0,
|
||||||
|
.paletteMode = 0,
|
||||||
|
.priority = 1,
|
||||||
|
.baseTile = 0x000
|
||||||
|
}, {
|
||||||
|
.bg = 1,
|
||||||
|
.charBaseIndex = 3,
|
||||||
|
.mapBaseIndex = 30,
|
||||||
|
.screenSize = 0,
|
||||||
|
.paletteMode = 0,
|
||||||
|
.priority = 2,
|
||||||
|
.baseTile = 0x000
|
||||||
|
}, {
|
||||||
|
.bg = 2,
|
||||||
|
.charBaseIndex = 0,
|
||||||
|
.mapBaseIndex = 29,
|
||||||
|
.screenSize = 0,
|
||||||
|
.paletteMode = 0,
|
||||||
|
.priority = 0,
|
||||||
|
.baseTile = 0x000
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
extern const struct CompressedSpriteSheet gUnknown_84644A8;
|
||||||
|
extern const struct CompressedSpritePalette gUnknown_84644B0;
|
||||||
|
|
||||||
void InitBerryPouch(u8 a0, void (*savedCallback)(void), u8 a2)
|
void InitBerryPouch(u8 a0, void (*savedCallback)(void), u8 a2)
|
||||||
{
|
{
|
||||||
u8 i;
|
u8 i;
|
||||||
@@ -231,3 +265,53 @@ void sub_813D048(u8 taskId)
|
|||||||
DestroyTask(taskId);
|
DestroyTask(taskId);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void sub_813D07C(void)
|
||||||
|
{
|
||||||
|
ResetAllBgsCoordinatesAndBgCntRegs();
|
||||||
|
memset(gUnknown_203F36C->unk_00C, 0, BG_SCREEN_SIZE);
|
||||||
|
ResetBgsAndClearDma3BusyFlags(FALSE);
|
||||||
|
InitBgsFromTemplates(0, gUnknown_846434C, NELEMS(gUnknown_846434C));
|
||||||
|
SetBgTilemapBuffer(1, gUnknown_203F36C->unk_00C);
|
||||||
|
ScheduleBgCopyTilemapToVram(1);
|
||||||
|
SetGpuReg(REG_OFFSET_BLDCNT, 0);
|
||||||
|
SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 | DISPCNT_OBJ_1D_MAP | DISPCNT_OBJ_ON);
|
||||||
|
ShowBg(0);
|
||||||
|
ShowBg(1);
|
||||||
|
ShowBg(2);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool8 sub_813D0E4(void)
|
||||||
|
{
|
||||||
|
switch (gUnknown_203F36C->unk_80C[0])
|
||||||
|
{
|
||||||
|
case 0:
|
||||||
|
ResetTempTileDataBuffers();
|
||||||
|
DecompressAndCopyTileDataToVram(1, gUnknown_8E859D0, 0, 0, 0);
|
||||||
|
gUnknown_203F36C->unk_80C[0]++;
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
if (FreeTempTileDataBuffersIfPossible() != TRUE)
|
||||||
|
{
|
||||||
|
LZDecompressWram(gUnknown_8E85C44, gUnknown_203F36C->unk_00C);
|
||||||
|
gUnknown_203F36C->unk_80C[0]++;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
LoadCompressedPalette(gUnknown_8E85BA4, 0, 0x60);
|
||||||
|
if (gSaveBlock2Ptr->playerGender != MALE)
|
||||||
|
LoadCompressedPalette(gUnknown_8E85BF4, 0, 0x20);
|
||||||
|
gUnknown_203F36C->unk_80C[0]++;
|
||||||
|
break;
|
||||||
|
case 3:
|
||||||
|
LoadCompressedSpriteSheet(&gUnknown_84644A8);
|
||||||
|
gUnknown_203F36C->unk_80C[0]++;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
LoadCompressedSpritePalette(&gUnknown_84644B0);
|
||||||
|
gUnknown_203F36C->unk_80C[0] = 0;
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user