summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPikalaxALT <pikalaxalt@gmail.com>2017-05-17 16:12:01 -0400
committerPikalaxALT <pikalaxalt@gmail.com>2017-05-17 16:12:01 -0400
commit3d9f4bb75b6df275e578f3945d998dcd916f9b58 (patch)
tree625d5579da417f425ae93c97f935f562cc046d38
parentee6893441e0fdb02ebf6269b91d3382645a5c0fe (diff)
Players house TV check function
-rw-r--r--asm/tv.s53
-rw-r--r--include/flags.h2
-rw-r--r--src/tv.c19
3 files changed, 21 insertions, 53 deletions
diff --git a/asm/tv.s b/asm/tv.s
index bd0d3540f..408494562 100644
--- a/asm/tv.s
+++ b/asm/tv.s
@@ -3121,59 +3121,6 @@ _080BF4F0: .4byte gSaveBlock1 + 0x2738
.section .text_80BF544
- thumb_func_start CheckForBigMovieOrEmergencyNewsOnTV
-CheckForBigMovieOrEmergencyNewsOnTV: @ 80BFBB0
- push {lr}
- ldr r1, _080BFBD0 @ =gSaveBlock1
- movs r0, 0x4
- ldrsb r0, [r1, r0]
- cmp r0, 0x1
- bne _080BFBCC
- ldr r0, _080BFBD4 @ =gSaveBlock2
- ldrb r0, [r0, 0x8]
- cmp r0, 0
- bne _080BFBD8
- movs r0, 0x5
- ldrsb r0, [r1, r0]
- cmp r0, 0
- beq _080BFBE0
-_080BFBCC:
- movs r0, 0
- b _080BFC0A
- .align 2, 0
-_080BFBD0: .4byte gSaveBlock1
-_080BFBD4: .4byte gSaveBlock2
-_080BFBD8:
- movs r0, 0x5
- ldrsb r0, [r1, r0]
- cmp r0, 0x2
- bne _080BFBCC
-_080BFBE0:
- ldr r0, _080BFC04 @ =0x0000085d
- bl FlagGet
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080BFBFE
- movs r0, 0x83
- lsls r0, 4
- bl FlagGet
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080BFC08
-_080BFBFE:
- movs r0, 0x1
- b _080BFC0A
- .align 2, 0
-_080BFC04: .4byte 0x0000085d
-_080BFC08:
- movs r0, 0x2
-_080BFC0A:
- pop {r1}
- bx r1
- thumb_func_end CheckForBigMovieOrEmergencyNewsOnTV
-
thumb_func_start GetMomOrDadStringForTVMessage
GetMomOrDadStringForTVMessage: @ 80BFC10
push {r4,lr}
diff --git a/include/flags.h b/include/flags.h
index 56325dea6..d2aa0c47f 100644
--- a/include/flags.h
+++ b/include/flags.h
@@ -51,6 +51,8 @@
#define SYS_BRAILLE_WAIT 0x851
#define SYS_BRAILLE_FLY 0x852
+#define SYS_TV_LATI 0x85D
+
#define SYS_SHOAL_ITEM 0x85F
#define SYS_B_DASH 0x860 // got Running Shoes
#define SYS_CTRL_OBJ_DELETE 0x861
diff --git a/src/tv.c b/src/tv.c
index 86d17ecd2..2b31cf4d7 100644
--- a/src/tv.c
+++ b/src/tv.c
@@ -10,6 +10,7 @@
#include "pokedex.h"
#include "naming_screen.h"
#include "rom4.h"
+#include "map_constants.h"
enum
{
@@ -591,6 +592,24 @@ u32 GetPlayerTrainerId(void)
return (gSaveBlock2.playerTrainerId[3] << 24) | (gSaveBlock2.playerTrainerId[2] << 16) | (gSaveBlock2.playerTrainerId[1] << 8) | (gSaveBlock2.playerTrainerId[0]);
}
+u8 CheckForBigMovieOrEmergencyNewsOnTV(void)
+{
+ if (gSaveBlock1.location.mapGroup != MAP_GROUP_LITTLEROOT_TOWN_BRENDANS_HOUSE_1F)
+ return 0;
+ if (gSaveBlock2.playerGender == MALE) {
+ if (gSaveBlock1.location.mapNum != MAP_ID_LITTLEROOT_TOWN_BRENDANS_HOUSE_1F)
+ return 0;
+ } else {
+ if (gSaveBlock1.location.mapNum != MAP_ID_LITTLEROOT_TOWN_MAYS_HOUSE_1F)
+ return 0;
+ }
+ if (FlagGet(SYS_TV_LATI) == 1)
+ return 1;
+ if (FlagGet(SYS_TV_HOME) == 1)
+ return 2;
+ return 1;
+}
+
asm(".section .text_c");
void DoTVShowPokemonNewsMassOutbreak(void)