summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--asm/mevent_8145654.s161
-rw-r--r--include/mystery_gift_menu.h3
-rw-r--r--include/pokemon_icon.h1
-rw-r--r--src/mevent_8145654.c57
-rw-r--r--sym_ewram.txt7
5 files changed, 62 insertions, 167 deletions
diff --git a/asm/mevent_8145654.s b/asm/mevent_8145654.s
index 80f9f6d3d..b831c9e87 100644
--- a/asm/mevent_8145654.s
+++ b/asm/mevent_8145654.s
@@ -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}
diff --git a/include/mystery_gift_menu.h b/include/mystery_gift_menu.h
index 17af9ce57..24bf85a13 100644
--- a/include/mystery_gift_menu.h
+++ b/include/mystery_gift_menu.h
@@ -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
diff --git a/include/pokemon_icon.h b/include/pokemon_icon.h
index cc6c578fe..2c2edcc7c 100644
--- a/include/pokemon_icon.h
+++ b/include/pokemon_icon.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
diff --git a/src/mevent_8145654.c b/src/mevent_8145654.c
index 3477543a8..6c51f9091 100644
--- a/src/mevent_8145654.c
+++ b/src/mevent_8145654.c
@@ -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;
+}
diff --git a/sym_ewram.txt b/sym_ewram.txt
index b12c9d4a6..9e638c025 100644
--- a/sym_ewram.txt
+++ b/sym_ewram.txt
@@ -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