summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPikalaxALT <pikalax1@gmail.com>2017-05-17 11:14:27 -0400
committerPikalaxALT <pikalax1@gmail.com>2017-05-17 11:14:27 -0400
commit43f3259ee1c25aa2e1c1e7a6f62afc59a5eab7af (patch)
tree085b7726add0ec95645703bf06e4e3e822d78374
parent277bc35bad136185b00bdcc7618736d989bb08b5 (diff)
couple more functions in tv.text_80BF544
-rw-r--r--asm/tv.s66
-rw-r--r--src/tv.c24
2 files changed, 23 insertions, 67 deletions
diff --git a/asm/tv.s b/asm/tv.s
index aa8f5fe1d..8058a7a29 100644
--- a/asm/tv.s
+++ b/asm/tv.s
@@ -3121,72 +3121,6 @@ _080BF4F0: .4byte gSaveBlock1 + 0x2738
.section .text_80BF544
- thumb_func_start sub_80BF6D8
-sub_80BF6D8: @ 80BF6D8
- push {lr}
- ldr r0, _080BF700 @ =gSaveBlock1 + 0x2738
- bl sub_80BF720
- ldr r1, _080BF704 @ =gUnknown_03005D38
- strb r0, [r1]
- ldr r2, _080BF708 @ =gSpecialVar_0x8006
- ldrb r1, [r1]
- lsls r1, 24
- asrs r1, 24
- strh r1, [r2]
- lsls r0, 24
- asrs r0, 24
- movs r1, 0x1
- negs r1, r1
- cmp r0, r1
- bne _080BF710
- ldr r1, _080BF70C @ =gScriptResult
- movs r0, 0x1
- b _080BF714
- .align 2, 0
-_080BF700: .4byte gSaveBlock1 + 0x2738
-_080BF704: .4byte gUnknown_03005D38
-_080BF708: .4byte gSpecialVar_0x8006
-_080BF70C: .4byte gScriptResult
-_080BF710:
- ldr r1, _080BF71C @ =gScriptResult
- movs r0, 0
-_080BF714:
- strh r0, [r1]
- pop {r0}
- bx r0
- .align 2, 0
-_080BF71C: .4byte gScriptResult
- thumb_func_end sub_80BF6D8
-
- thumb_func_start sub_80BF720
-sub_80BF720: @ 80BF720
- push {lr}
- adds r2, r0, 0
- movs r1, 0
-_080BF726:
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0]
- cmp r0, 0
- bne _080BF73A
- lsls r0, r1, 24
- asrs r0, 24
- b _080BF748
-_080BF73A:
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x4
- bls _080BF726
- movs r0, 0x1
- negs r0, r0
-_080BF748:
- pop {r1}
- bx r1
- thumb_func_end sub_80BF720
-
thumb_func_start sub_80BF74C
sub_80BF74C: @ 80BF74C
push {lr}
diff --git a/src/tv.c b/src/tv.c
index d2773faee..246b90a03 100644
--- a/src/tv.c
+++ b/src/tv.c
@@ -34,6 +34,7 @@ struct OutbreakPokemon
extern u8 *gUnknown_083D1464[3];
extern u16 gSpecialVar_0x8004;
+extern u16 gSpecialVar_0x8006;
extern u8 gSpecialVar_0x8007;
extern u16 gScriptResult;
extern u8 gUnknown_020387E8;
@@ -380,7 +381,8 @@ u16 sub_80BF638(u8 arg0, u16 arg1)
return retval;
}
-u16 sub_80BF674(u16 species) {
+u16 sub_80BF674(u16 species)
+{
u16 rspecies;
u16 cspecies;
rspecies = (Random() % (NUM_SPECIES - 1)) + 1;
@@ -398,6 +400,26 @@ u16 sub_80BF674(u16 species) {
return cspecies;
}
+void sub_80BF6D8(void)
+{
+ gUnknown_03005D38.var0 = sub_80BF720(gSaveBlock1.tvShows);
+ gSpecialVar_0x8006 = gUnknown_03005D38.var0;
+ if (gUnknown_03005D38.var0 == -1)
+ gScriptResult = 1;
+ else
+ gScriptResult = 0;
+}
+
+s8 sub_80BF720(TVShow tvShow[])
+{
+ u8 idx;
+ for (idx=0; idx<5; idx++) {
+ if (tvShow[idx].common.var00 == 0)
+ return idx;
+ }
+ return -1;
+}
+
asm(".section .text_c");
void DoTVShowPokemonNewsMassOutbreak(void)