summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--asm/use_pokeblock.s139
-rw-r--r--src/use_pokeblock.c54
2 files changed, 54 insertions, 139 deletions
diff --git a/asm/use_pokeblock.s b/asm/use_pokeblock.s
index e6f69d335..2cb9110dd 100644
--- a/asm/use_pokeblock.s
+++ b/asm/use_pokeblock.s
@@ -6,145 +6,6 @@
.text
- thumb_func_start sub_81368A4
-sub_81368A4: @ 81368A4
- push {r4,lr}
- sub sp, 0x4
- ldr r1, _081368C4 @ =gUnknown_02039304
- ldr r0, [r1]
- adds r0, 0x50
- ldrb r0, [r0]
- adds r4, r1, 0
- cmp r0, 0x6
- bls _081368B8
- b _081369B8
-_081368B8:
- lsls r0, 2
- ldr r1, _081368C8 @ =_081368CC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_081368C4: .4byte gUnknown_02039304
-_081368C8: .4byte _081368CC
- .align 2, 0
-_081368CC:
- .4byte _081368E8
- .4byte _08136922
- .4byte _0813692E
- .4byte _0813694C
- .4byte _0813695A
- .4byte _0813696C
- .4byte _08136998
-_081368E8:
- ldr r0, _0813690C @ =gUnknown_083DFEC4
- ldr r0, [r0]
- ldr r1, _08136910 @ =0x000087dc
- adds r0, r1
- movs r2, 0
- ldrsh r1, [r0, r2]
- ldr r0, _08136914 @ =gUnknown_02039310
- ldrb r0, [r0]
- cmp r1, r0
- beq _08136918
- ldr r0, [r4]
- adds r0, 0x56
- ldrb r0, [r0]
- bl sub_80F5060
- ldr r1, [r4]
- b _08136986
- .align 2, 0
-_0813690C: .4byte gUnknown_083DFEC4
-_08136910: .4byte 0x000087dc
-_08136914: .4byte gUnknown_02039310
-_08136918:
- ldr r0, [r4]
- adds r0, 0x50
- movs r1, 0x3
- strb r1, [r0]
- b _081369B8
-_08136922:
- bl gpu_sync_bg_show
- lsls r0, 24
- cmp r0, 0
- bne _081369B8
- b _08136982
-_0813692E:
- bl sub_8055870
- adds r4, r0, 0
- cmp r4, 0
- bne _081369B8
- bl sub_80F1934
- ldr r0, _08136948 @ =gUnknown_02039304
- ldr r0, [r0]
- adds r0, 0x50
- strb r4, [r0]
- b _081369B8
- .align 2, 0
-_08136948: .4byte gUnknown_02039304
-_0813694C:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0x10
- movs r2, 0
- bl BlendPalettes
- b _08136982
-_0813695A:
- movs r1, 0x80
- lsls r1, 19
- ldr r2, _08136968 @ =0x00007f40
- adds r0, r2, 0
- strh r0, [r1]
- ldr r1, [r4]
- b _08136986
- .align 2, 0
-_08136968: .4byte 0x00007f40
-_0813696C:
- ldr r0, _08136990 @ =sub_8136264
- bl SetVBlankCallback
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
-_08136982:
- ldr r0, _08136994 @ =gUnknown_02039304
- ldr r1, [r0]
-_08136986:
- adds r1, 0x50
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _081369B8
- .align 2, 0
-_08136990: .4byte sub_8136264
-_08136994: .4byte gUnknown_02039304
-_08136998:
- ldr r0, _081369C0 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _081369B8
- bl sub_80F3C94
- bl sub_80F3D00
- ldr r0, _081369C4 @ =sub_81369CC
- bl launch_c3_walk_stairs_and_run_once
- ldr r0, _081369C8 @ =sub_8136244
- bl SetMainCallback2
-_081369B8:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_081369C0: .4byte gPaletteFade
-_081369C4: .4byte sub_81369CC
-_081369C8: .4byte sub_8136244
- thumb_func_end sub_81368A4
-
thumb_func_start sub_81369CC
sub_81369CC: @ 81369CC
push {r4-r6,lr}
diff --git a/src/use_pokeblock.c b/src/use_pokeblock.c
index b23cc4d69..f84ecad08 100644
--- a/src/use_pokeblock.c
+++ b/src/use_pokeblock.c
@@ -45,6 +45,7 @@ void sub_8136D60(void);
void sub_8136808(void);
void sub_8136D8C(void);
u8 sub_81370A4(u8);
+void sub_81369CC(void);
void sub_8136130(struct Pokeblock *pokeblock, MainCallback callback)
{
@@ -389,3 +390,56 @@ void sub_8136808(void)
break;
}
}
+
+void sub_81368A4(void)
+{
+ switch (gUnknown_02039304->unk50)
+ {
+ case 0:
+ if (gUnknown_083DFEC4->unk87DC != gUnknown_02039310)
+ {
+ sub_80F5060(gUnknown_02039304->unk56);
+ gUnknown_02039304->unk50++;
+ }
+ else
+ {
+ gUnknown_02039304->unk50 = 3;
+ }
+ break;
+ case 1:
+ if (!gpu_sync_bg_show())
+ {
+ gUnknown_02039304->unk50++;
+ }
+ break;
+ case 2:
+ if (!sub_8055870())
+ {
+ sub_80F1934();
+ gUnknown_02039304->unk50 = 0;
+ }
+ break;
+ case 3:
+ BlendPalettes(-1, 16, 0);
+ gUnknown_02039304->unk50++;
+ break;
+ case 4:
+ REG_DISPCNT = DISPCNT_OBJ_1D_MAP | DISPCNT_BG_ALL_ON | DISPCNT_OBJ_ON | DISPCNT_WIN0_ON | DISPCNT_WIN1_ON;
+ gUnknown_02039304->unk50++;
+ break;
+ case 5:
+ SetVBlankCallback(sub_8136264);
+ BeginNormalPaletteFade(-1, 0, 16, 0, 0);
+ gUnknown_02039304->unk50++;
+ break;
+ case 6:
+ if (!gPaletteFade.active)
+ {
+ sub_80F3C94();
+ sub_80F3D00();
+ launch_c3_walk_stairs_and_run_once(sub_81369CC);
+ SetMainCallback2(sub_8136244);
+ }
+ break;
+ }
+}