summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPikalaxALT <pikalaxalt@gmail.com>2017-05-19 11:05:17 -0400
committerPikalaxALT <pikalaxalt@gmail.com>2017-05-19 11:05:17 -0400
commitbade8566271df0ef7f27370573561f4d03f2caf5 (patch)
treece317324183a27591f99eeab53759d8af14ffe4a
parented1cec5ab54507d498c52291146c8d29afa6ff67 (diff)
DoTVShowPokemonAngler
-rw-r--r--asm/tv.s94
-rw-r--r--include/global.h4
-rw-r--r--src/tv.c41
3 files changed, 38 insertions, 101 deletions
diff --git a/asm/tv.s b/asm/tv.s
index bb1b2756d..2019337af 100644
--- a/asm/tv.s
+++ b/asm/tv.s
@@ -4927,100 +4927,6 @@ nullsub_22: @ 80C1BF4
.section .text_80C1C5C
- thumb_func_start DoTVShowPokemonAngler
-DoTVShowPokemonAngler: @ 80C1E38
- push {r4,r5,lr}
- ldr r0, _080C1E5C @ =gSpecialVar_0x8004
- ldrh r1, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _080C1E60 @ =gSaveBlock1 + 0x2738
- adds r4, r0, r1
- ldr r0, _080C1E64 @ =gScriptResult
- movs r1, 0
- strh r1, [r0]
- ldrb r0, [r4, 0x2]
- ldrb r2, [r4, 0x3]
- cmp r0, r2
- bcs _080C1E6C
- ldr r0, _080C1E68 @ =gUnknown_020387E8
- strb r1, [r0]
- b _080C1E74
- .align 2, 0
-_080C1E5C: .4byte gSpecialVar_0x8004
-_080C1E60: .4byte gSaveBlock1 + 0x2738
-_080C1E64: .4byte gScriptResult
-_080C1E68: .4byte gUnknown_020387E8
-_080C1E6C:
- ldr r1, _080C1E80 @ =gUnknown_020387E8
- movs r0, 0x1
- strb r0, [r1]
- adds r0, r1, 0
-_080C1E74:
- ldrb r5, [r0]
- cmp r5, 0
- beq _080C1E84
- cmp r5, 0x1
- beq _080C1EBC
- b _080C1EE4
- .align 2, 0
-_080C1E80: .4byte gUnknown_020387E8
-_080C1E84:
- ldr r0, _080C1EB0 @ =gStringVar1
- adds r1, r4, 0
- adds r1, 0x13
- ldrb r2, [r4, 0x6]
- bl TVShowConvertInternationalString
- ldr r0, _080C1EB4 @ =gStringVar2
- ldrh r2, [r4, 0x4]
- movs r1, 0xB
- muls r1, r2
- ldr r2, _080C1EB8 @ =gSpeciesNames
- adds r1, r2
- bl StringCopy
- ldrb r1, [r4, 0x3]
- movs r0, 0x2
- bl sub_80BF088
- bl TVShowDone
- b _080C1EE4
- .align 2, 0
-_080C1EB0: .4byte gStringVar1
-_080C1EB4: .4byte gStringVar2
-_080C1EB8: .4byte gSpeciesNames
-_080C1EBC:
- ldr r0, _080C1EF8 @ =gStringVar1
- adds r1, r4, 0
- adds r1, 0x13
- ldrb r2, [r4, 0x6]
- bl TVShowConvertInternationalString
- ldr r0, _080C1EFC @ =gStringVar2
- ldrh r2, [r4, 0x4]
- movs r1, 0xB
- muls r1, r2
- ldr r2, _080C1F00 @ =gSpeciesNames
- adds r1, r2
- bl StringCopy
- ldrb r1, [r4, 0x2]
- movs r0, 0x2
- bl sub_80BF088
- bl TVShowDone
-_080C1EE4:
- ldr r0, _080C1F04 @ =gTVFishingGuruAdviceTextGroup
- lsls r1, r5, 2
- adds r1, r0
- ldr r0, [r1]
- bl ShowFieldMessage
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080C1EF8: .4byte gStringVar1
-_080C1EFC: .4byte gStringVar2
-_080C1F00: .4byte gSpeciesNames
-_080C1F04: .4byte gTVFishingGuruAdviceTextGroup
- thumb_func_end DoTVShowPokemonAngler
-
thumb_func_start DoTVShowTheWorldOfMasters
DoTVShowTheWorldOfMasters: @ 80C1F08
push {r4-r6,lr}
diff --git a/include/global.h b/include/global.h
index 0f794d8f0..17fd3c4a5 100644
--- a/include/global.h
+++ b/include/global.h
@@ -265,7 +265,7 @@ struct TVShowMassOutbreak {
u8 pad19[11];
};
-struct TVShowUnknownTVShowType {
+struct TVShowPokemonAngler {
/*0x00*/ u8 var00;
/*0x01*/ u8 var01;
/*0x02*/ u8 var02;
@@ -313,7 +313,7 @@ typedef union TVShow {
struct TVShowFanclubOpinions fanclubOpinions;
struct TVShowNameRaterShow nameRaterShow;
struct TVShowMassOutbreak massOutbreak;
- struct TVShowUnknownTVShowType unknownTvShowType;
+ struct TVShowPokemonAngler pokemonAngler;
struct TVShowUnknownTVShowType2 unknownTvShowType2;
struct TVShowSmartShopper smartshopperShow;
struct TVShowContestWinner contestShow;
diff --git a/src/tv.c b/src/tv.c
index d64599897..46c46965a 100644
--- a/src/tv.c
+++ b/src/tv.c
@@ -53,6 +53,7 @@ extern u8 gSpeciesNames[][11];
extern u8 gMoveNames[][13];
extern u8 *gTVPokemonOutbreakTextGroup[];
extern u8 *gTVGabbyAndTyTextGroup[];
+extern u8 *gTVFishingGuruAdviceTextGroup[];
extern struct OutbreakPokemon gPokeOutbreakSpeciesList[5];
extern void sub_80BEBF4(void);
@@ -381,12 +382,12 @@ void sub_80BE9D4()
strb r1, [r4, 1]\n\
.syntax divided\n");
#endif
- show->unknownTvShowType.var02 = gUnknown_020387E2 & 0xFF;
- show->unknownTvShowType.var03 = gUnknown_020387E2 >> 8;
- show->unknownTvShowType.var04 = gUnknown_020387E0;
- StringCopy(show->unknownTvShowType.playerName, gSaveBlock2.playerName);
+ show->pokemonAngler.var02 = gUnknown_020387E2 & 0xFF;
+ show->pokemonAngler.var03 = gUnknown_020387E2 >> 8;
+ show->pokemonAngler.var04 = gUnknown_020387E0;
+ StringCopy(show->pokemonAngler.playerName, gSaveBlock2.playerName);
sub_80BE138(show);
- show->unknownTvShowType.language = GAME_LANGUAGE;
+ show->pokemonAngler.language = GAME_LANGUAGE;
}
}
@@ -1610,6 +1611,8 @@ _080BFF58:\n\
asm(".section .text_c");
+void TVShowConvertInternationalString(u8 *, u8 *, u8);
+
void TakeTVShowInSearchOfTrainersOffTheAir(void);
void DoTVShowPokemonNewsMassOutbreak(void)
@@ -1681,6 +1684,34 @@ void DoTVShowInSearchOfTrainers(void) {
ShowFieldMessage(gTVGabbyAndTyTextGroup[switchval]);
}
+void DoTVShowPokemonAngler(void) {
+ TVShow *tvShow;
+ u8 switchval;
+ tvShow = &gSaveBlock1.tvShows.shows[gSpecialVar_0x8004];
+ gScriptResult = 0;
+ if (tvShow->pokemonAngler.var02 < tvShow->pokemonAngler.var03) {
+ gUnknown_020387E8 = 0;
+ } else {
+ gUnknown_020387E8 = 1;
+ }
+ switchval = gUnknown_020387E8;
+ switch (switchval) {
+ case 0:
+ TVShowConvertInternationalString(gStringVar1, tvShow->pokemonAngler.playerName, tvShow->pokemonAngler.language);
+ StringCopy(gStringVar2, gSpeciesNames[tvShow->pokemonAngler.var04]);
+ sub_80BF088(2, tvShow->pokemonAngler.var03);
+ TVShowDone();
+ break;
+ case 1:
+ TVShowConvertInternationalString(gStringVar1, tvShow->pokemonAngler.playerName, tvShow->pokemonAngler.language);
+ StringCopy(gStringVar2, gSpeciesNames[tvShow->pokemonAngler.var04]);
+ sub_80BF088(2, tvShow->pokemonAngler.var02);
+ TVShowDone();
+ break;
+ }
+ ShowFieldMessage(gTVFishingGuruAdviceTextGroup[switchval]);
+}
+
asm(".section .text_d");
void TVShowDone(void)