summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPikalaxALT <pikalax1@gmail.com>2017-05-17 11:05:59 -0400
committerPikalaxALT <pikalax1@gmail.com>2017-05-17 11:05:59 -0400
commit277bc35bad136185b00bdcc7618736d989bb08b5 (patch)
tree875cca0ad5682886dcbe226bab9cbc19dccad2b9
parent5c6e190868d3caf789635ea3d7418091d0d2769e (diff)
sub_80BF674
-rw-r--r--asm/tv.s53
-rw-r--r--src/tv.c20
2 files changed, 20 insertions, 53 deletions
diff --git a/asm/tv.s b/asm/tv.s
index 18ab85d34..aa8f5fe1d 100644
--- a/asm/tv.s
+++ b/asm/tv.s
@@ -3121,59 +3121,6 @@ _080BF4F0: .4byte gSaveBlock1 + 0x2738
.section .text_80BF544
- thumb_func_start sub_80BF674
-sub_80BF674: @ 80BF674
- push {r4-r6,lr}
- lsls r0, 16
- lsrs r5, r0, 16
- bl Random
- lsls r0, 16
- lsrs r0, 16
- ldr r1, _080BF694 @ =0x0000019b
- bl __umodsi3
- adds r0, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- adds r6, r4, 0
- b _080BF6B2
- .align 2, 0
-_080BF694: .4byte 0x0000019b
-_080BF698:
- cmp r4, 0x1
- bne _080BF6A4
- ldr r4, _080BF6A0 @ =0x0000019b
- b _080BF6AA
- .align 2, 0
-_080BF6A0: .4byte 0x0000019b
-_080BF6A4:
- subs r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
-_080BF6AA:
- cmp r4, r6
- bne _080BF6B2
- adds r4, r5, 0
- b _080BF6CE
-_080BF6B2:
- adds r0, r4, 0
- bl SpeciesToNationalPokedexNum
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0
- bl sub_8090D90
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x1
- bne _080BF698
- cmp r4, r5
- beq _080BF698
-_080BF6CE:
- adds r0, r4, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80BF674
-
thumb_func_start sub_80BF6D8
sub_80BF6D8: @ 80BF6D8
push {lr}
diff --git a/src/tv.c b/src/tv.c
index 49c75004e..d2773faee 100644
--- a/src/tv.c
+++ b/src/tv.c
@@ -6,6 +6,8 @@
#include "rng.h"
#include "string_util.h"
#include "text.h"
+#include "species.h"
+#include "pokedex.h"
enum
{
@@ -378,6 +380,24 @@ u16 sub_80BF638(u8 arg0, u16 arg1)
return retval;
}
+u16 sub_80BF674(u16 species) {
+ u16 rspecies;
+ u16 cspecies;
+ rspecies = (Random() % (NUM_SPECIES - 1)) + 1;
+ cspecies = rspecies;
+ while ((s8)sub_8090D90(SpeciesToNationalPokedexNum(cspecies), 0) != 1 || cspecies == species) {
+ if (cspecies == SPECIES_BULBASAUR)
+ cspecies = NUM_SPECIES - 1;
+ else
+ cspecies --;
+ if (cspecies == rspecies) {
+ cspecies = species;
+ return cspecies;
+ }
+ }
+ return cspecies;
+}
+
asm(".section .text_c");
void DoTVShowPokemonNewsMassOutbreak(void)