sub_814593C and associated ewram

This commit is contained in:
PikalaxALT
2018-12-02 12:09:16 -05:00
parent 8f0f725039
commit 2fb1404613
5 changed files with 62 additions and 167 deletions
-161
View File
@@ -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}
+3
View File
@@ -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
+1
View File
@@ -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
+57
View File
@@ -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
View File
@@ -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