DoTVShowRecentHappenings

This commit is contained in:
PikalaxALT
2017-05-19 12:35:46 -04:00
parent b0925c52d7
commit cd7914aad6
2 changed files with 86 additions and 147 deletions
-147
View File
@@ -4668,151 +4668,4 @@ _080C196C:
_080C1974: .4byte gTVFanClubTextGroup
thumb_func_end DoTVShowPokemonFanClubLetter
thumb_func_start DoTVShowRecentHappenings
DoTVShowRecentHappenings: @ 80C1978
push {r4-r7,lr}
ldr r0, _080C19A4 @ =gSpecialVar_0x8004
ldrh r1, [r0]
lsls r0, r1, 3
adds r0, r1
lsls r0, 2
ldr r1, _080C19A8 @ =gSaveBlock1 + 0x2738
adds r5, r0, r1
ldr r1, _080C19AC @ =gScriptResult
movs r0, 0
strh r0, [r1]
ldr r0, _080C19B0 @ =gUnknown_020387E8
ldrb r6, [r0]
adds r7, r0, 0
cmp r6, 0x32
bls _080C199A
b _080C1AF0
_080C199A:
lsls r0, r6, 2
ldr r1, _080C19B4 @ =_080C19B8
adds r0, r1
ldr r0, [r0]
mov pc, r0
.align 2, 0
_080C19A4: .4byte gSpecialVar_0x8004
_080C19A8: .4byte gSaveBlock1 + 0x2738
_080C19AC: .4byte gScriptResult
_080C19B0: .4byte gUnknown_020387E8
_080C19B4: .4byte _080C19B8
.align 2, 0
_080C19B8:
.4byte _080C1A84
.4byte _080C1AA8
.4byte _080C1AC0
.4byte _080C1AC0
.4byte _080C1AC0
.4byte _080C1AC6
.4byte _080C1AF0
.4byte _080C1AF0
.4byte _080C1AF0
.4byte _080C1AF0
.4byte _080C1AF0
.4byte _080C1AF0
.4byte _080C1AF0
.4byte _080C1AF0
.4byte _080C1AF0
.4byte _080C1AF0
.4byte _080C1AF0
.4byte _080C1AF0
.4byte _080C1AF0
.4byte _080C1AF0
.4byte _080C1AF0
.4byte _080C1AF0
.4byte _080C1AF0
.4byte _080C1AF0
.4byte _080C1AF0
.4byte _080C1AF0
.4byte _080C1AF0
.4byte _080C1AF0
.4byte _080C1AF0
.4byte _080C1AF0
.4byte _080C1AF0
.4byte _080C1AF0
.4byte _080C1AF0
.4byte _080C1AF0
.4byte _080C1AF0
.4byte _080C1AF0
.4byte _080C1AF0
.4byte _080C1AF0
.4byte _080C1AF0
.4byte _080C1AF0
.4byte _080C1AF0
.4byte _080C1AF0
.4byte _080C1AF0
.4byte _080C1AF0
.4byte _080C1AF0
.4byte _080C1AF0
.4byte _080C1AF0
.4byte _080C1AF0
.4byte _080C1AF0
.4byte _080C1AF0
.4byte _080C1ACC
_080C1A84:
ldr r0, _080C1AA0 @ =gStringVar1
adds r1, r5, 0
adds r1, 0x10
ldrb r2, [r5, 0x18]
bl TVShowConvertInternationalString
adds r0, r5, 0
bl sub_80BF79C
ldr r1, _080C1AA4 @ =gUnknown_020387E8
movs r0, 0x32
strb r0, [r1]
b _080C1AF0
.align 2, 0
_080C1AA0: .4byte gStringVar1
_080C1AA4: .4byte gUnknown_020387E8
_080C1AA8:
bl Random
ldrb r4, [r7]
adds r4, 0x1
lsls r0, 16
lsrs r0, 16
movs r1, 0x3
bl __umodsi3
adds r0, r4
strb r0, [r7]
b _080C1AF0
_080C1AC0:
movs r0, 0x5
strb r0, [r7]
b _080C1AF0
_080C1AC6:
bl TVShowDone
b _080C1AF0
_080C1ACC:
ldr r4, _080C1AE8 @ =gStringVar4
adds r1, r5, 0x4
adds r0, r4, 0
movs r2, 0x2
movs r3, 0x2
bl ConvertEasyChatWordsToString
adds r0, r4, 0
bl ShowFieldMessage
ldr r1, _080C1AEC @ =gUnknown_020387E8
movs r0, 0x1
strb r0, [r1]
b _080C1AFC
.align 2, 0
_080C1AE8: .4byte gStringVar4
_080C1AEC: .4byte gUnknown_020387E8
_080C1AF0:
ldr r0, _080C1B04 @ =gTVRecentHappeningsTextGroup
lsls r1, r6, 2
adds r1, r0
ldr r0, [r1]
bl ShowFieldMessage
_080C1AFC:
pop {r4-r7}
pop {r0}
bx r0
.align 2, 0
_080C1B04: .4byte gTVRecentHappeningsTextGroup
thumb_func_end DoTVShowRecentHappenings
.align 2, 0 @ Don't pad with nop.
+86
View File
@@ -51,6 +51,15 @@ extern struct UnkTvStruct gUnknown_03005D38;
extern u8 gSpeciesNames[][11];
extern u8 gMoveNames[][13];
extern u8 *gTVBravoTrainerTextGroup[];
extern u8 *gTVBravoTrainerBattleTowerTextGroup[];
extern u8 *gTVSmartShopperTextGroup[];
extern u8 *gTVNameRaterTextGroup[];
extern u8 *gTVPokemonTodayTextGroup[];
extern u8 *gTVPokemonTodayFailedCaptureTextGroup[];
extern u8 *gTVFanClubTextGroup[];
extern u8 *gTVRecentHappeningsTextGroup[];
extern u8 *gTVFanClubOpinionsTextGroup[];
extern u8 *gTVPokemonOutbreakTextGroup[];
extern u8 *gTVGabbyAndTyTextGroup[];
@@ -1617,6 +1626,83 @@ void TVShowConvertInternationalString(u8 *, u8 *, u8);
void TakeTVShowInSearchOfTrainersOffTheAir(void);
void DoTVShowRecentHappenings(void) {
TVShow *tvShow;
u8 switchval;
tvShow = &gSaveBlock1.tvShows.shows[gSpecialVar_0x8004];
gScriptResult = 0;
switchval = gUnknown_020387E8;
switch (switchval) {
case 0:
TVShowConvertInternationalString(gStringVar1, tvShow->recentHappenings.var10, tvShow->recentHappenings.var18);
sub_80BF79C(&tvShow->recentHappenings);
gUnknown_020387E8 = 50;
break;
case 1:
gUnknown_020387E8 += 1 + (Random() % 3);
break;
case 2:
case 3:
case 4:
gUnknown_020387E8 = 5;
break;
case 5:
TVShowDone();
break;
case 6:
case 7:
case 8:
case 9:
case 10:
case 11:
case 12:
case 13:
case 14:
case 15:
case 16:
case 17:
case 18:
case 19:
case 20:
case 21:
case 22:
case 23:
case 24:
case 25:
case 26:
case 27:
case 28:
case 29:
case 30:
case 31:
case 32:
case 33:
case 34:
case 35:
case 36:
case 37:
case 38:
case 39:
case 40:
case 41:
case 42:
case 43:
case 44:
case 45:
case 46:
case 47:
case 48:
case 49:
break;
case 50:
ConvertEasyChatWordsToString(gStringVar4, tvShow->recentHappenings.var04, 2, 2);
ShowFieldMessage(gStringVar4);
gUnknown_020387E8 = 1;
return;
}
ShowFieldMessage(gTVRecentHappeningsTextGroup[switchval]);
}
void DoTVShowPokemonFanClubOpinions(void) {
TVShow *tvShow;
u8 switchval;