diff options
author | PikalaxALT <pikalaxalt@gmail.com> | 2017-05-19 11:05:17 -0400 |
---|---|---|
committer | PikalaxALT <pikalaxalt@gmail.com> | 2017-05-19 11:05:17 -0400 |
commit | bade8566271df0ef7f27370573561f4d03f2caf5 (patch) | |
tree | ce317324183a27591f99eeab53759d8af14ffe4a | |
parent | ed1cec5ab54507d498c52291146c8d29afa6ff67 (diff) |
DoTVShowPokemonAngler
-rw-r--r-- | asm/tv.s | 94 | ||||
-rw-r--r-- | include/global.h | 4 | ||||
-rw-r--r-- | src/tv.c | 41 |
3 files changed, 38 insertions, 101 deletions
@@ -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; @@ -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) |