summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--asm/tv.s49
-rw-r--r--src/tv.c26
2 files changed, 26 insertions, 49 deletions
diff --git a/asm/tv.s b/asm/tv.s
index 54bbe2e6b..6bad83371 100644
--- a/asm/tv.s
+++ b/asm/tv.s
@@ -1613,55 +1613,6 @@ _080BE474: .4byte gSaveBlock2
.section .text_80BE8EC
- thumb_func_start sub_80BE97C
-sub_80BE97C: @ 80BE97C
- push {r4,lr}
- lsls r0, 24
- cmp r0, 0
- beq _080BE9A4
- ldr r4, _080BE9A0 @ =gUnknown_020387E2
- ldrh r0, [r4]
- lsrs r0, 8
- cmp r0, 0x4
- bls _080BE992
- bl sub_80BE9D4
-_080BE992:
- ldrb r0, [r4]
- strh r0, [r4]
- cmp r0, 0xFF
- beq _080BE9C8
- adds r0, 0x1
- b _080BE9C6
- .align 2, 0
-_080BE9A0: .4byte gUnknown_020387E2
-_080BE9A4:
- ldr r4, _080BE9D0 @ =gUnknown_020387E2
- ldrb r0, [r4]
- cmp r0, 0x4
- bls _080BE9B0
- bl sub_80BE9D4
-_080BE9B0:
- ldrh r0, [r4]
- movs r1, 0xFF
- lsls r1, 8
- ands r1, r0
- strh r1, [r4]
- lsrs r0, r1, 8
- cmp r0, 0xFF
- beq _080BE9C8
- movs r2, 0x80
- lsls r2, 1
- adds r0, r1, r2
-_080BE9C6:
- strh r0, [r4]
-_080BE9C8:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080BE9D0: .4byte gUnknown_020387E2
- thumb_func_end sub_80BE97C
-
thumb_func_start sub_80BE9D4
sub_80BE9D4: @ 80BE9D4
push {r4,r5,lr}
diff --git a/src/tv.c b/src/tv.c
index ec253c37d..7d1fc1091 100644
--- a/src/tv.c
+++ b/src/tv.c
@@ -51,6 +51,8 @@ extern struct OutbreakPokemon gPokeOutbreakSpeciesList[5];
extern void sub_80BEBF4(void);
+extern u16 gUnknown_020387E2;
+
void ClearTVShowData(void)
{
u8 showidx;
@@ -317,6 +319,30 @@ void UpdateMassOutbreakTimeLeft(u16 arg0)
gSaveBlock1.outbreakUnk5 -= arg0;
}
+void sub_80BE9D4(u8);
+
+void sub_80BE97C(bool8 flag)
+{
+ u8 var0, var1;
+ if (flag != 0) {
+ var0 = gUnknown_020387E2 >> 8;
+ if (var0 > 4)
+ sub_80BE9D4(var0);
+ gUnknown_020387E2 &= 0xFF;
+ var1 = gUnknown_020387E2 & 0xFF;
+ if (var1 != 0xFF)
+ gUnknown_020387E2++;
+ } else {
+ var0 = gUnknown_020387E2 & 0xFF;
+ if (var0 > 4)
+ sub_80BE9D4(var0);
+ gUnknown_020387E2 &= 0xFF00;
+ var1 = gUnknown_020387E2 >> 8;
+ if (var1 != 0xFF)
+ gUnknown_020387E2 += 0x100;
+ }
+}
+
asm(".section .text_b");
u8 sub_80BF4F4(u8 arg0)