summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorscnorton <scnorton@biociphers.org>2017-05-30 14:01:23 -0400
committerscnorton <scnorton@biociphers.org>2017-05-30 14:01:23 -0400
commitd461483611ae66ad2cd9fd9e4d2c5f95d38f5387 (patch)
tree6118318742694e02aaf73a5af9ca8458124bd7a8
parent47e2ef7b9be4a1e470cb03fd868af10413eaef34 (diff)
DoTVShowBravoTrainerBattleTowerProfile
-rwxr-xr-xasm/tv.s273
-rwxr-xr-xsrc/tv.c108
2 files changed, 108 insertions, 273 deletions
diff --git a/asm/tv.s b/asm/tv.s
index 0fb78ff2f..100a14ef2 100755
--- a/asm/tv.s
+++ b/asm/tv.s
@@ -7,279 +7,6 @@
.text
- thumb_func_start DoTVShowBravoTrainerBattleTowerProfile
-DoTVShowBravoTrainerBattleTowerProfile: @ 80C0B9C
- push {r4,r5,lr}
- ldr r0, _080C0BC8 @ =gSpecialVar_0x8004
- ldrh r1, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _080C0BCC @ =gSaveBlock1 + 0x2738
- adds r4, r0, r1
- ldr r1, _080C0BD0 @ =gScriptResult
- movs r0, 0
- strh r0, [r1]
- ldr r0, _080C0BD4 @ =gUnknown_020387E8
- ldrb r5, [r0]
- adds r2, r0, 0
- cmp r5, 0xE
- bls _080C0BBE
- b _080C0DDE
-_080C0BBE:
- lsls r0, r5, 2
- ldr r1, _080C0BD8 @ =_080C0BDC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080C0BC8: .4byte gSpecialVar_0x8004
-_080C0BCC: .4byte gSaveBlock1 + 0x2738
-_080C0BD0: .4byte gScriptResult
-_080C0BD4: .4byte gUnknown_020387E8
-_080C0BD8: .4byte _080C0BDC
- .align 2, 0
-_080C0BDC:
- .4byte _080C0C18
- .4byte _080C0C5C
- .4byte _080C0C8C
- .4byte _080C0CB0
- .4byte _080C0CDC
- .4byte _080C0D24
- .4byte _080C0D30
- .4byte _080C0D3C
- .4byte _080C0D42
- .4byte _080C0D42
- .4byte _080C0D42
- .4byte _080C0D5C
- .4byte _080C0D88
- .4byte _080C0D88
- .4byte _080C0DC0
-_080C0C18:
- ldr r0, _080C0C40 @ =gStringVar1
- adds r1, r4, 0x2
- ldrb r2, [r4, 0x1D]
- bl TVShowConvertInternationalString
- ldr r0, _080C0C44 @ =gStringVar2
- ldrh r2, [r4, 0xA]
- movs r1, 0xB
- muls r1, r2
- ldr r2, _080C0C48 @ =gSpeciesNames
- adds r1, r2
- bl StringCopy
- ldrh r0, [r4, 0x16]
- cmp r0, 0x6
- bls _080C0C50
- ldr r1, _080C0C4C @ =gUnknown_020387E8
- movs r0, 0x1
- strb r0, [r1]
- b _080C0DDE
- .align 2, 0
-_080C0C40: .4byte gStringVar1
-_080C0C44: .4byte gStringVar2
-_080C0C48: .4byte gSpeciesNames
-_080C0C4C: .4byte gUnknown_020387E8
-_080C0C50:
- ldr r1, _080C0C58 @ =gUnknown_020387E8
- movs r0, 0x2
- strb r0, [r1]
- b _080C0DDE
- .align 2, 0
-_080C0C58: .4byte gUnknown_020387E8
-_080C0C5C:
- ldrb r1, [r4, 0x1A]
- movs r0, 0
- bl sub_80BF088
- ldrh r1, [r4, 0x16]
- movs r0, 0x1
- bl sub_80BF088
- ldrb r0, [r4, 0x1C]
- cmp r0, 0x1
- bne _080C0C80
- ldr r1, _080C0C7C @ =gUnknown_020387E8
- movs r0, 0x3
- strb r0, [r1]
- b _080C0DDE
- .align 2, 0
-_080C0C7C: .4byte gUnknown_020387E8
-_080C0C80:
- ldr r1, _080C0C88 @ =gUnknown_020387E8
- movs r0, 0x4
- strb r0, [r1]
- b _080C0DDE
- .align 2, 0
-_080C0C88: .4byte gUnknown_020387E8
-_080C0C8C:
- ldr r0, _080C0CAC @ =gStringVar1
- adds r1, r4, 0
- adds r1, 0xC
- ldrb r2, [r4, 0x1D]
- bl TVShowConvertInternationalString
- ldrh r1, [r4, 0x16]
- adds r1, 0x1
- movs r0, 0x1
- bl sub_80BF088
-_080C0CA2:
- ldrb r0, [r4, 0x1B]
- cmp r0, 0
- beq _080C0CFE
- b _080C0D18
- .align 2, 0
-_080C0CAC: .4byte gStringVar1
-_080C0CB0:
- ldr r0, _080C0CD0 @ =gStringVar1
- adds r1, r4, 0
- adds r1, 0xC
- ldrb r2, [r4, 0x1D]
- bl TVShowConvertInternationalString
- ldr r0, _080C0CD4 @ =gStringVar2
- ldrh r2, [r4, 0x14]
- movs r1, 0xB
- muls r1, r2
- ldr r2, _080C0CD8 @ =gSpeciesNames
- adds r1, r2
- bl StringCopy
- b _080C0CA2
- .align 2, 0
-_080C0CD0: .4byte gStringVar1
-_080C0CD4: .4byte gStringVar2
-_080C0CD8: .4byte gSpeciesNames
-_080C0CDC:
- ldr r0, _080C0D08 @ =gStringVar1
- adds r1, r4, 0
- adds r1, 0xC
- ldrb r2, [r4, 0x1D]
- bl TVShowConvertInternationalString
- ldr r0, _080C0D0C @ =gStringVar2
- ldrh r2, [r4, 0x14]
- movs r1, 0xB
- muls r1, r2
- ldr r2, _080C0D10 @ =gSpeciesNames
- adds r1, r2
- bl StringCopy
- ldrb r0, [r4, 0x1B]
- cmp r0, 0
- bne _080C0D18
-_080C0CFE:
- ldr r1, _080C0D14 @ =gUnknown_020387E8
- movs r0, 0x5
- strb r0, [r1]
- b _080C0DDE
- .align 2, 0
-_080C0D08: .4byte gStringVar1
-_080C0D0C: .4byte gStringVar2
-_080C0D10: .4byte gSpeciesNames
-_080C0D14: .4byte gUnknown_020387E8
-_080C0D18:
- ldr r1, _080C0D20 @ =gUnknown_020387E8
- movs r0, 0x6
- strb r0, [r1]
- b _080C0DDE
- .align 2, 0
-_080C0D20: .4byte gUnknown_020387E8
-_080C0D24:
- ldr r0, _080C0D2C @ =gStringVar1
- adds r1, r4, 0
- adds r1, 0xC
- b _080C0D46
- .align 2, 0
-_080C0D2C: .4byte gStringVar1
-_080C0D30:
- ldr r0, _080C0D38 @ =gStringVar1
- adds r1, r4, 0
- adds r1, 0xC
- b _080C0D46
- .align 2, 0
-_080C0D38: .4byte gStringVar1
-_080C0D3C:
- movs r0, 0xB
- strb r0, [r2]
- b _080C0DDE
-_080C0D42:
- ldr r0, _080C0D54 @ =gStringVar1
- adds r1, r4, 0x2
-_080C0D46:
- ldrb r2, [r4, 0x1D]
- bl TVShowConvertInternationalString
- ldr r1, _080C0D58 @ =gUnknown_020387E8
- movs r0, 0xB
- strb r0, [r1]
- b _080C0DDE
- .align 2, 0
-_080C0D54: .4byte gStringVar1
-_080C0D58: .4byte gUnknown_020387E8
-_080C0D5C:
- ldr r0, _080C0D74 @ =gStringVar1
- ldrh r1, [r4, 0x18]
- bl sub_80EB3FC
- ldrb r0, [r4, 0x1B]
- cmp r0, 0
- bne _080C0D7C
- ldr r1, _080C0D78 @ =gUnknown_020387E8
- movs r0, 0xC
- strb r0, [r1]
- b _080C0DDE
- .align 2, 0
-_080C0D74: .4byte gStringVar1
-_080C0D78: .4byte gUnknown_020387E8
-_080C0D7C:
- ldr r1, _080C0D84 @ =gUnknown_020387E8
- movs r0, 0xD
- strb r0, [r1]
- b _080C0DDE
- .align 2, 0
-_080C0D84: .4byte gUnknown_020387E8
-_080C0D88:
- ldr r0, _080C0DB0 @ =gStringVar1
- ldrh r1, [r4, 0x18]
- bl sub_80EB3FC
- ldr r0, _080C0DB4 @ =gStringVar2
- adds r1, r4, 0x2
- ldrb r2, [r4, 0x1D]
- bl TVShowConvertInternationalString
- ldr r0, _080C0DB8 @ =gStringVar3
- adds r1, r4, 0
- adds r1, 0xC
- ldrb r2, [r4, 0x1D]
- bl TVShowConvertInternationalString
- ldr r1, _080C0DBC @ =gUnknown_020387E8
- movs r0, 0xE
- strb r0, [r1]
- b _080C0DDE
- .align 2, 0
-_080C0DB0: .4byte gStringVar1
-_080C0DB4: .4byte gStringVar2
-_080C0DB8: .4byte gStringVar3
-_080C0DBC: .4byte gUnknown_020387E8
-_080C0DC0:
- ldr r0, _080C0DF0 @ =gStringVar1
- adds r1, r4, 0x2
- ldrb r2, [r4, 0x1D]
- bl TVShowConvertInternationalString
- ldr r0, _080C0DF4 @ =gStringVar2
- ldrh r2, [r4, 0xA]
- movs r1, 0xB
- muls r1, r2
- ldr r2, _080C0DF8 @ =gSpeciesNames
- adds r1, r2
- bl StringCopy
- bl TVShowDone
-_080C0DDE:
- ldr r0, _080C0DFC @ =gTVBravoTrainerBattleTowerTextGroup
- lsls r1, r5, 2
- adds r1, r0
- ldr r0, [r1]
- bl ShowFieldMessage
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080C0DF0: .4byte gStringVar1
-_080C0DF4: .4byte gStringVar2
-_080C0DF8: .4byte gSpeciesNames
-_080C0DFC: .4byte gTVBravoTrainerBattleTowerTextGroup
- thumb_func_end DoTVShowBravoTrainerBattleTowerProfile
-
thumb_func_start DoTVShowTodaysSmartShopper
DoTVShowTodaysSmartShopper: @ 80C0E00
push {r4-r6,lr}
diff --git a/src/tv.c b/src/tv.c
index 6b43a16d0..7b177df1d 100755
--- a/src/tv.c
+++ b/src/tv.c
@@ -3076,6 +3076,114 @@ void DoTVShowBravoTrainerPokemonProfile(void)
ShowFieldMessage(gTVBravoTrainerTextGroup[switchval]);
}
+void DoTVShowBravoTrainerBattleTowerProfile(void)
+{
+ TVShow *tvShow;
+ u8 switchval;
+
+ tvShow = &gSaveBlock1.tvShows[gSpecialVar_0x8004];
+ gScriptResult = 0;
+ switchval = gUnknown_020387E8;
+ switch(switchval)
+ {
+ case 0:
+ TVShowConvertInternationalString(gStringVar1, tvShow->bravoTrainerTower.trainerName, tvShow->bravoTrainerTower.language);
+ StringCopy(gStringVar2, gSpeciesNames[tvShow->bravoTrainerTower.species]);
+ if (tvShow->bravoTrainerTower.var16 >= 7)
+ {
+ gUnknown_020387E8 = 1;
+ } else
+ {
+ gUnknown_020387E8 = 2;
+ }
+ break;
+ case 1:
+ sub_80BF088(0, tvShow->bravoTrainerTower.btLevel);
+ sub_80BF088(1, tvShow->bravoTrainerTower.var16);
+ if (tvShow->bravoTrainerTower.var1c == 1)
+ {
+ gUnknown_020387E8 = 3;
+ } else
+ {
+ gUnknown_020387E8 = 4;
+ }
+ break;
+ case 2:
+ TVShowConvertInternationalString(gStringVar1, tvShow->bravoTrainerTower.pokemonName, tvShow->bravoTrainerTower.language);
+ sub_80BF088(1, tvShow->bravoTrainerTower.var16 + 1);
+ if (tvShow->bravoTrainerTower.var1b == 0)
+ {
+ gUnknown_020387E8 = 5;
+ } else
+ {
+ gUnknown_020387E8 = 6;
+ }
+ break;
+ case 3:
+ TVShowConvertInternationalString(gStringVar1, tvShow->bravoTrainerTower.pokemonName, tvShow->bravoTrainerTower.language);
+ StringCopy(gStringVar2, gSpeciesNames[tvShow->bravoTrainerTower.winningMove]);
+ if (tvShow->bravoTrainerTower.var1b == 0)
+ {
+ gUnknown_020387E8 = 5;
+ } else
+ {
+ gUnknown_020387E8 = 6;
+ }
+ break;
+ case 4:
+ TVShowConvertInternationalString(gStringVar1, tvShow->bravoTrainerTower.pokemonName, tvShow->bravoTrainerTower.language);
+ StringCopy(gStringVar2, gSpeciesNames[tvShow->bravoTrainerTower.winningMove]);
+ if (tvShow->bravoTrainerTower.var1b == 0)
+ {
+ gUnknown_020387E8 = 5;
+ } else
+ {
+ gUnknown_020387E8 = 6;
+ }
+ break;
+ case 5:
+ TVShowConvertInternationalString(gStringVar1, tvShow->bravoTrainerTower.pokemonName, tvShow->bravoTrainerTower.language);
+ gUnknown_020387E8 = 11;
+ break;
+ case 6:
+ TVShowConvertInternationalString(gStringVar1, tvShow->bravoTrainerTower.pokemonName, tvShow->bravoTrainerTower.language);
+ gUnknown_020387E8 = 11;
+ break;
+ case 7:
+ gUnknown_020387E8 = 11;
+ break;
+ case 8:
+ case 9:
+ case 10:
+ TVShowConvertInternationalString(gStringVar1, tvShow->bravoTrainerTower.trainerName, tvShow->bravoTrainerTower.language);
+ gUnknown_020387E8 = 11;
+ break;
+ case 11:
+ sub_80EB3FC(gStringVar1, tvShow->bravoTrainerTower.var18[0]);
+ if (tvShow->bravoTrainerTower.var1b == 0)
+ {
+ gUnknown_020387E8 = 12;
+ } else
+ {
+ gUnknown_020387E8 = 13;
+ }
+ break;
+ case 12:
+ case 13:
+ sub_80EB3FC(gStringVar1, tvShow->bravoTrainerTower.var18[0]);
+ TVShowConvertInternationalString(gStringVar2, tvShow->bravoTrainerTower.trainerName, tvShow->bravoTrainerTower.language);
+ TVShowConvertInternationalString(gStringVar3, tvShow->bravoTrainerTower.pokemonName, tvShow->bravoTrainerTower.language);
+ gUnknown_020387E8 = 14;
+ break;
+ case 14:
+ TVShowConvertInternationalString(gStringVar1, tvShow->bravoTrainerTower.trainerName, tvShow->bravoTrainerTower.language);
+ StringCopy(gStringVar2, gSpeciesNames[tvShow->bravoTrainerTower.species]);
+ TVShowDone();
+ break;
+ }
+ ShowFieldMessage(gTVBravoTrainerBattleTowerTextGroup[switchval]);
+}
+
asm(".section .text_c");
void TVShowConvertInternationalString(u8 *, u8 *, u8);