mirror of
https://github.com/pret/pokeruby.git
synced 2026-10-05 17:02:45 -04:00
DoTVShowPokemonFanClubOpinions
This commit is contained in:
@@ -4815,114 +4815,4 @@ _080C1AFC:
|
||||
_080C1B04: .4byte gTVRecentHappeningsTextGroup
|
||||
thumb_func_end DoTVShowRecentHappenings
|
||||
|
||||
thumb_func_start DoTVShowPokemonFanClubOpinions
|
||||
DoTVShowPokemonFanClubOpinions: @ 80C1B08
|
||||
push {r4-r6,lr}
|
||||
ldr r0, _080C1B30 @ =gSpecialVar_0x8004
|
||||
ldrh r1, [r0]
|
||||
lsls r0, r1, 3
|
||||
adds r0, r1
|
||||
lsls r0, 2
|
||||
ldr r1, _080C1B34 @ =gSaveBlock1 + 0x2738
|
||||
adds r4, r0, r1
|
||||
ldr r1, _080C1B38 @ =gScriptResult
|
||||
movs r0, 0
|
||||
strh r0, [r1]
|
||||
ldr r6, _080C1B3C @ =gUnknown_020387E8
|
||||
ldrb r5, [r6]
|
||||
cmp r5, 0x3
|
||||
bgt _080C1B40
|
||||
cmp r5, 0x1
|
||||
bge _080C1B88
|
||||
cmp r5, 0
|
||||
beq _080C1B46
|
||||
b _080C1BD6
|
||||
.align 2, 0
|
||||
_080C1B30: .4byte gSpecialVar_0x8004
|
||||
_080C1B34: .4byte gSaveBlock1 + 0x2738
|
||||
_080C1B38: .4byte gScriptResult
|
||||
_080C1B3C: .4byte gUnknown_020387E8
|
||||
_080C1B40:
|
||||
cmp r5, 0x4
|
||||
beq _080C1BC0
|
||||
b _080C1BD6
|
||||
_080C1B46:
|
||||
ldr r0, _080C1B78 @ =gStringVar1
|
||||
adds r1, r4, 0x5
|
||||
ldrb r2, [r4, 0xD]
|
||||
bl TVShowConvertInternationalString
|
||||
ldr r0, _080C1B7C @ =gStringVar2
|
||||
ldrh r2, [r4, 0x2]
|
||||
movs r1, 0xB
|
||||
muls r1, r2
|
||||
ldr r2, _080C1B80 @ =gSpeciesNames
|
||||
adds r1, r2
|
||||
bl StringCopy
|
||||
ldr r0, _080C1B84 @ =gStringVar3
|
||||
adds r1, r4, 0
|
||||
adds r1, 0x10
|
||||
ldrb r2, [r4, 0xE]
|
||||
bl TVShowConvertInternationalString
|
||||
ldrb r0, [r4, 0x4]
|
||||
lsrs r0, 4
|
||||
adds r0, 0x1
|
||||
strb r0, [r6]
|
||||
b _080C1BD6
|
||||
.align 2, 0
|
||||
_080C1B78: .4byte gStringVar1
|
||||
_080C1B7C: .4byte gStringVar2
|
||||
_080C1B80: .4byte gSpeciesNames
|
||||
_080C1B84: .4byte gStringVar3
|
||||
_080C1B88:
|
||||
ldr r0, _080C1BB0 @ =gStringVar1
|
||||
adds r1, r4, 0x5
|
||||
ldrb r2, [r4, 0xD]
|
||||
bl TVShowConvertInternationalString
|
||||
ldr r0, _080C1BB4 @ =gStringVar2
|
||||
ldrh r2, [r4, 0x2]
|
||||
movs r1, 0xB
|
||||
muls r1, r2
|
||||
ldr r2, _080C1BB8 @ =gSpeciesNames
|
||||
adds r1, r2
|
||||
bl StringCopy
|
||||
ldr r0, _080C1BBC @ =gStringVar3
|
||||
ldrh r1, [r4, 0x1C]
|
||||
bl sub_80EB3FC
|
||||
movs r0, 0x4
|
||||
strb r0, [r6]
|
||||
b _080C1BD6
|
||||
.align 2, 0
|
||||
_080C1BB0: .4byte gStringVar1
|
||||
_080C1BB4: .4byte gStringVar2
|
||||
_080C1BB8: .4byte gSpeciesNames
|
||||
_080C1BBC: .4byte gStringVar3
|
||||
_080C1BC0:
|
||||
ldr r0, _080C1BE8 @ =gStringVar1
|
||||
adds r1, r4, 0x5
|
||||
ldrb r2, [r4, 0xD]
|
||||
bl TVShowConvertInternationalString
|
||||
ldr r0, _080C1BEC @ =gStringVar3
|
||||
ldrh r1, [r4, 0x1E]
|
||||
bl sub_80EB3FC
|
||||
bl TVShowDone
|
||||
_080C1BD6:
|
||||
ldr r0, _080C1BF0 @ =gTVFanClubOpinionsTextGroup
|
||||
lsls r1, r5, 2
|
||||
adds r1, r0
|
||||
ldr r0, [r1]
|
||||
bl ShowFieldMessage
|
||||
pop {r4-r6}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_080C1BE8: .4byte gStringVar1
|
||||
_080C1BEC: .4byte gStringVar3
|
||||
_080C1BF0: .4byte gTVFanClubOpinionsTextGroup
|
||||
thumb_func_end DoTVShowPokemonFanClubOpinions
|
||||
|
||||
thumb_func_start nullsub_22
|
||||
nullsub_22: @ 80C1BF4
|
||||
bx lr
|
||||
thumb_func_end nullsub_22
|
||||
|
||||
.align 2, 0 @ Don't pad with nop.
|
||||
|
||||
+2
-2
@@ -224,8 +224,8 @@ struct TVShowFanclubOpinions {
|
||||
/*0x02*/ u16 var02;
|
||||
/*0x04*/ u8 var04A:4;
|
||||
u8 var04B:4;
|
||||
/*0x05*/ u8 var05[8];
|
||||
/*0x0D*/ u8 var0D;
|
||||
/*0x05*/ u8 playerName[8];
|
||||
/*0x0D*/ u8 language;
|
||||
/*0x0E*/ u8 var0E;
|
||||
/*0x0F*/ u8 var0F;
|
||||
/*0x10*/ u8 var10[8];
|
||||
|
||||
+2
-2
@@ -11,8 +11,8 @@ enum
|
||||
TVSHOW_PKMN_FAN_CLUB_OPINIONS = 3,
|
||||
TVSHOW_UNKN_SHOWTYPE_04 = 4,
|
||||
TVSHOW_NAME_RATER_SHOW = 5,
|
||||
TVSHOW_UNK_SHOWTYPE_06 = 6,
|
||||
TVSHOW_UNK_SHOWTYPE_07 = 7,
|
||||
TVSHOW_FISHING_ADVICE = 6,
|
||||
TVSHOW_WORLD_OF_MASTERS = 7,
|
||||
TVSHOW_MASS_OUTBREAK = 41,
|
||||
};
|
||||
#endif //POKERUBY_TV_H
|
||||
|
||||
@@ -51,6 +51,7 @@ extern struct UnkTvStruct gUnknown_03005D38;
|
||||
|
||||
extern u8 gSpeciesNames[][11];
|
||||
extern u8 gMoveNames[][13];
|
||||
extern u8 *gTVFanClubOpinionsTextGroup[];
|
||||
extern u8 *gTVPokemonOutbreakTextGroup[];
|
||||
extern u8 *gTVGabbyAndTyTextGroup[];
|
||||
extern u8 *gTVFishingGuruAdviceTextGroup[];
|
||||
@@ -208,13 +209,13 @@ void sub_80BE6A0(void)
|
||||
tvShow->fanclubOpinions.var04B = gSpecialVar_0x8007;
|
||||
|
||||
|
||||
StringCopy(tvShow->fanclubOpinions.var05, gSaveBlock2.playerName);
|
||||
StringCopy(tvShow->fanclubOpinions.playerName, gSaveBlock2.playerName);
|
||||
|
||||
GetMonData(&gPlayerParty[GetLeadMonIndex()], MON_DATA_NICKNAME, tvShow->fanclubOpinions.var10);
|
||||
|
||||
tvShow->fanclubOpinions.var02 = GetMonData(&gPlayerParty[GetLeadMonIndex()], MON_DATA_SPECIES, NULL);
|
||||
sub_80BE160(tvShow);
|
||||
tvShow->fanclubOpinions.var0D = GAME_LANGUAGE;
|
||||
tvShow->fanclubOpinions.language = GAME_LANGUAGE;
|
||||
tvShow->fanclubOpinions.var0E = sub_80BDEAC(tvShow->fanclubOpinions.var10);
|
||||
StripExtCtrlCodes(tvShow->fanclubOpinions.var10);
|
||||
}
|
||||
@@ -839,10 +840,10 @@ void sub_80BF2C4(void)
|
||||
case TVSHOW_NAME_RATER_SHOW:
|
||||
sub_80BF478();
|
||||
break;
|
||||
case TVSHOW_UNK_SHOWTYPE_06:
|
||||
case TVSHOW_FISHING_ADVICE:
|
||||
sub_80BF484();
|
||||
break;
|
||||
case TVSHOW_UNK_SHOWTYPE_07:
|
||||
case TVSHOW_WORLD_OF_MASTERS:
|
||||
sub_80BF4BC();
|
||||
break;
|
||||
}
|
||||
@@ -895,7 +896,7 @@ void sub_80BF478(void)
|
||||
void sub_80BF484(void)
|
||||
{
|
||||
TVShow *show;
|
||||
sub_80BF25C(TVSHOW_UNK_SHOWTYPE_06);
|
||||
sub_80BF25C(TVSHOW_FISHING_ADVICE);
|
||||
if (gScriptResult == 0) {
|
||||
show = &gSaveBlock1.tvShows.shows[gUnknown_03005D38.var0];
|
||||
sub_80EB6FC(show->recentHappenings.var04, 2); // wrong struct ident, fix later
|
||||
@@ -905,7 +906,7 @@ void sub_80BF484(void)
|
||||
void sub_80BF4BC(void)
|
||||
{
|
||||
TVShow *show;
|
||||
sub_80BF25C(TVSHOW_UNK_SHOWTYPE_07);
|
||||
sub_80BF25C(TVSHOW_WORLD_OF_MASTERS);
|
||||
if (gScriptResult == 0) {
|
||||
show = &gSaveBlock1.tvShows.shows[gUnknown_03005D38.var0];
|
||||
sub_80EB6FC(show->fanclubOpinions.var18, 1); // wrong struct ident, fix later
|
||||
@@ -1447,7 +1448,7 @@ __attribute__((naked))
|
||||
void sub_80BFE24(struct SaveTVStruct *arg0, struct SaveTVStruct *arg1, struct SaveTVStruct *arg2, struct SaveTVStruct *arg3)
|
||||
{
|
||||
asm(".syntax unified\n\
|
||||
push {r4-r7,lr}\n\
|
||||
push {r4-r7,lr}\n\
|
||||
mov r7, r10\n\
|
||||
mov r6, r9\n\
|
||||
mov r5, r8\n\
|
||||
@@ -1616,6 +1617,40 @@ void TVShowConvertInternationalString(u8 *, u8 *, u8);
|
||||
|
||||
void TakeTVShowInSearchOfTrainersOffTheAir(void);
|
||||
|
||||
void DoTVShowPokemonFanClubOpinions(void) {
|
||||
TVShow *tvShow;
|
||||
u8 switchval;
|
||||
tvShow = &gSaveBlock1.tvShows.shows[gSpecialVar_0x8004];
|
||||
gScriptResult = 0;
|
||||
switchval = gUnknown_020387E8;
|
||||
switch (switchval) {
|
||||
case 0:
|
||||
TVShowConvertInternationalString(gStringVar1, tvShow->fanclubOpinions.playerName, tvShow->fanclubOpinions.language);
|
||||
StringCopy(gStringVar2, gSpeciesNames[tvShow->fanclubOpinions.var02]);
|
||||
TVShowConvertInternationalString(gStringVar3, tvShow->fanclubOpinions.var10, tvShow->fanclubOpinions.var0E);
|
||||
gUnknown_020387E8 = tvShow->fanclubOpinions.var04B + 1;
|
||||
break;
|
||||
case 1:
|
||||
case 2:
|
||||
case 3:
|
||||
TVShowConvertInternationalString(gStringVar1, tvShow->fanclubOpinions.playerName, tvShow->fanclubOpinions.language);
|
||||
StringCopy(gStringVar2, gSpeciesNames[tvShow->fanclubOpinions.var02]);
|
||||
sub_80EB3FC(gStringVar3, tvShow->fanclubOpinions.var1C[0]);
|
||||
gUnknown_020387E8 = 4;
|
||||
break;
|
||||
case 4:
|
||||
TVShowConvertInternationalString(gStringVar1, tvShow->fanclubOpinions.playerName, tvShow->fanclubOpinions.language);
|
||||
sub_80EB3FC(gStringVar3, tvShow->fanclubOpinions.var1C[1]);
|
||||
TVShowDone();
|
||||
break;
|
||||
}
|
||||
ShowFieldMessage(gTVFanClubOpinionsTextGroup[switchval]);
|
||||
}
|
||||
|
||||
void nullsub_22(void) {
|
||||
|
||||
}
|
||||
|
||||
void DoTVShowPokemonNewsMassOutbreak(void)
|
||||
{
|
||||
TVShow *tvShow;
|
||||
|
||||
Reference in New Issue
Block a user