sub_814593C and associated ewram
This commit is contained in:
@@ -5,167 +5,6 @@
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_814593C
|
||||
sub_814593C: @ 814593C
|
||||
push {r4,r5,lr}
|
||||
sub sp, 0x8
|
||||
adds r2, r0, 0
|
||||
ldr r5, =gUnknown_203F3C8
|
||||
ldr r0, [r5]
|
||||
cmp r0, 0
|
||||
bne _08145954
|
||||
movs r0, 0x1
|
||||
negs r0, r0
|
||||
b _08145A8C
|
||||
.pool
|
||||
_08145954:
|
||||
movs r4, 0xBA
|
||||
lsls r4, 1
|
||||
adds r0, r4
|
||||
ldrb r0, [r0]
|
||||
cmp r0, 0x6
|
||||
bls _08145962
|
||||
b _08145A64
|
||||
_08145962:
|
||||
lsls r0, 2
|
||||
ldr r1, =_08145970
|
||||
adds r0, r1
|
||||
ldr r0, [r0]
|
||||
mov pc, r0
|
||||
.pool
|
||||
.align 2, 0
|
||||
_08145970:
|
||||
.4byte _0814598C
|
||||
.4byte _0814599E
|
||||
.4byte _081459AA
|
||||
.4byte _081459F2
|
||||
.4byte _08145A30
|
||||
.4byte _08145A3A
|
||||
.4byte _08145A4C
|
||||
_0814598C:
|
||||
movs r0, 0x1
|
||||
negs r0, r0
|
||||
movs r1, 0
|
||||
str r1, [sp]
|
||||
movs r2, 0
|
||||
movs r3, 0x10
|
||||
bl BeginNormalPaletteFade
|
||||
b _08145A7A
|
||||
_0814599E:
|
||||
bl UpdatePaletteFade
|
||||
lsls r0, 24
|
||||
cmp r0, 0
|
||||
beq _08145A7A
|
||||
b _08145A8A
|
||||
_081459AA:
|
||||
movs r5, 0x1E
|
||||
str r5, [sp]
|
||||
movs r4, 0x14
|
||||
str r4, [sp, 0x4]
|
||||
movs r0, 0
|
||||
movs r1, 0
|
||||
movs r2, 0
|
||||
movs r3, 0
|
||||
bl FillBgTilemapBufferRect_Palette0
|
||||
str r5, [sp]
|
||||
str r4, [sp, 0x4]
|
||||
movs r0, 0x1
|
||||
movs r1, 0
|
||||
movs r2, 0
|
||||
movs r3, 0
|
||||
bl FillBgTilemapBufferRect_Palette0
|
||||
str r5, [sp]
|
||||
str r4, [sp, 0x4]
|
||||
movs r0, 0x2
|
||||
movs r1, 0
|
||||
movs r2, 0
|
||||
movs r3, 0
|
||||
bl FillBgTilemapBufferRect_Palette0
|
||||
movs r0, 0
|
||||
bl CopyBgTilemapBufferToVram
|
||||
movs r0, 0x1
|
||||
bl CopyBgTilemapBufferToVram
|
||||
movs r0, 0x2
|
||||
bl CopyBgTilemapBufferToVram
|
||||
b _08145A7A
|
||||
_081459F2:
|
||||
movs r0, 0x1
|
||||
bl HideBg
|
||||
movs r0, 0x2
|
||||
bl HideBg
|
||||
ldr r4, =gUnknown_203F3C8
|
||||
ldr r0, [r4]
|
||||
movs r1, 0xBD
|
||||
lsls r1, 1
|
||||
adds r0, r1
|
||||
ldrb r0, [r0]
|
||||
bl RemoveWindow
|
||||
ldr r0, [r4]
|
||||
movs r1, 0xBC
|
||||
lsls r1, 1
|
||||
adds r0, r1
|
||||
ldrb r0, [r0]
|
||||
bl RemoveWindow
|
||||
ldr r0, [r4]
|
||||
movs r1, 0xBB
|
||||
lsls r1, 1
|
||||
adds r0, r1
|
||||
ldrb r0, [r0]
|
||||
bl RemoveWindow
|
||||
b _08145A7A
|
||||
.pool
|
||||
_08145A30:
|
||||
bl sub_81461D8
|
||||
bl FreeMonIconPalettes
|
||||
b _08145A7A
|
||||
_08145A3A:
|
||||
ldr r0, =gUnknown_203F3B8
|
||||
ldrb r0, [r0]
|
||||
adds r1, r2, 0
|
||||
bl sub_8142344
|
||||
b _08145A7A
|
||||
.pool
|
||||
_08145A4C:
|
||||
movs r0, 0
|
||||
bl CopyBgTilemapBufferToVram
|
||||
movs r0, 0x1
|
||||
negs r0, r0
|
||||
movs r1, 0
|
||||
str r1, [sp]
|
||||
movs r2, 0x10
|
||||
movs r3, 0
|
||||
bl BeginNormalPaletteFade
|
||||
b _08145A7A
|
||||
_08145A64:
|
||||
bl UpdatePaletteFade
|
||||
lsls r0, 24
|
||||
lsrs r1, r0, 24
|
||||
cmp r1, 0
|
||||
bne _08145A8A
|
||||
ldr r0, [r5]
|
||||
adds r0, r4
|
||||
strb r1, [r0]
|
||||
movs r0, 0x1
|
||||
b _08145A8C
|
||||
_08145A7A:
|
||||
ldr r0, =gUnknown_203F3C8
|
||||
ldr r1, [r0]
|
||||
movs r0, 0xBA
|
||||
lsls r0, 1
|
||||
adds r1, r0
|
||||
ldrb r0, [r1]
|
||||
adds r0, 0x1
|
||||
strb r0, [r1]
|
||||
_08145A8A:
|
||||
movs r0, 0
|
||||
_08145A8C:
|
||||
add sp, 0x8
|
||||
pop {r4,r5}
|
||||
pop {r1}
|
||||
bx r1
|
||||
.pool
|
||||
thumb_func_end sub_814593C
|
||||
|
||||
thumb_func_start sub_8145A98
|
||||
sub_8145A98: @ 8145A98
|
||||
push {r4-r7,lr}
|
||||
|
||||
@@ -1,6 +1,9 @@
|
||||
#ifndef GUARD_MYSTERY_GIFT_MENU_H
|
||||
#define GUARD_MYSTERY_GIFT_MENU_H
|
||||
|
||||
extern bool8 gUnknown_203F3B8;
|
||||
|
||||
void sub_81422FC(void);
|
||||
void sub_8142344(bool8, bool32);
|
||||
|
||||
#endif //GUARD_MYSTERY_GIFT_MENU_H
|
||||
|
||||
@@ -11,5 +11,6 @@ u8 sub_80D2D78(u16 iconId, void callback(struct Sprite *), u16 x, u16 y, u16 a4,
|
||||
void sub_80D2FF0(u16 iconId);
|
||||
void sub_80D2EF8(struct Sprite *sprite);
|
||||
void sub_809707C(void);
|
||||
void FreeMonIconPalettes(void);
|
||||
|
||||
#endif // GUARD_POKEMON_ICON_H
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
#include "malloc.h"
|
||||
#include "menu.h"
|
||||
#include "pokemon_icon.h"
|
||||
#include "mystery_gift_menu.h"
|
||||
#include "mevent.h"
|
||||
|
||||
struct UnkStruct_8467FB8
|
||||
@@ -28,11 +29,18 @@ struct UnkStruct_203F3C8
|
||||
/*045C*/ u8 buffer_045C[0x1000];
|
||||
};
|
||||
|
||||
struct UnkStruct_203F3CC
|
||||
{
|
||||
/*0000*/ u8 filler_0000[0x13a4];
|
||||
};
|
||||
|
||||
EWRAM_DATA struct UnkStruct_203F3C8 * gUnknown_203F3C8 = NULL;
|
||||
EWRAM_DATA struct UnkStruct_203F3CC * gUnknown_203F3CC = NULL;
|
||||
|
||||
void sub_8145A98(void);
|
||||
void sub_8145D18(u8 bgId);
|
||||
void sub_8146060(void);
|
||||
void sub_81461D8(void);
|
||||
|
||||
extern const struct WindowTemplate gUnknown_8467074[3];
|
||||
|
||||
@@ -130,3 +138,52 @@ s32 sub_814571C(void)
|
||||
++gUnknown_203F3C8->unk_0174;
|
||||
return 0;
|
||||
}
|
||||
|
||||
s32 sub_814593C(bool32 flag)
|
||||
{
|
||||
if (gUnknown_203F3C8 == NULL)
|
||||
return -1;
|
||||
switch (gUnknown_203F3C8->unk_0174)
|
||||
{
|
||||
case 0:
|
||||
BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0);
|
||||
break;
|
||||
case 1:
|
||||
if (UpdatePaletteFade())
|
||||
return 0;
|
||||
break;
|
||||
case 2:
|
||||
FillBgTilemapBufferRect_Palette0(0, 0x000, 0, 0, 30, 20);
|
||||
FillBgTilemapBufferRect_Palette0(1, 0x000, 0, 0, 30, 20);
|
||||
FillBgTilemapBufferRect_Palette0(2, 0x000, 0, 0, 30, 20);
|
||||
CopyBgTilemapBufferToVram(0);
|
||||
CopyBgTilemapBufferToVram(1);
|
||||
CopyBgTilemapBufferToVram(2);
|
||||
break;
|
||||
case 3:
|
||||
HideBg(1);
|
||||
HideBg(2);
|
||||
RemoveWindow(gUnknown_203F3C8->unk_017A);
|
||||
RemoveWindow(gUnknown_203F3C8->unk_0178);
|
||||
RemoveWindow(gUnknown_203F3C8->unk_0176);
|
||||
break;
|
||||
case 4:
|
||||
sub_81461D8();
|
||||
FreeMonIconPalettes();
|
||||
break;
|
||||
case 5:
|
||||
sub_8142344(gUnknown_203F3B8, flag);
|
||||
break;
|
||||
case 6:
|
||||
CopyBgTilemapBufferToVram(0);
|
||||
BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0);
|
||||
break;
|
||||
default:
|
||||
if (UpdatePaletteFade())
|
||||
return 0;
|
||||
gUnknown_203F3C8->unk_0174 = 0;
|
||||
return 1;
|
||||
}
|
||||
++gUnknown_203F3C8->unk_0174;
|
||||
return 0;
|
||||
}
|
||||
|
||||
+1
-6
@@ -1709,12 +1709,7 @@ gUnknown_203F3B8: @ 203F3B8
|
||||
.include "src/mevent.o"
|
||||
.include "src/mevent_server_helpers.o"
|
||||
.include "src/mevent_server.o"
|
||||
|
||||
gUnknown_203F3C8: @ 203F3C8
|
||||
.space 0x4
|
||||
|
||||
gUnknown_203F3CC: @ 203F3CC
|
||||
.space 0x4
|
||||
.include "src/mevent_8145654.o"
|
||||
|
||||
gUnknown_203F3D0: @ 203F3D0
|
||||
.space 0x4
|
||||
|
||||
Reference in New Issue
Block a user