diff options
-rwxr-xr-x | asm/tv.s | 85 | ||||
-rw-r--r-- | include/global.h | 6 | ||||
-rwxr-xr-x | src/tv.c | 50 |
3 files changed, 43 insertions, 98 deletions
@@ -7,91 +7,6 @@ .text - thumb_func_start TakeTVShowInSearchOfTrainersOffTheAir -TakeTVShowInSearchOfTrainersOffTheAir: @ 80BDC80 - ldr r0, _080BDC94 @ =gSaveBlock1 - ldr r1, _080BDC98 @ =0x00002b1a - adds r0, r1 - ldrb r2, [r0] - movs r1, 0x11 - negs r1, r1 - ands r1, r2 - strb r1, [r0] - bx lr - .align 2, 0 -_080BDC94: .4byte gSaveBlock1 -_080BDC98: .4byte 0x00002b1a - thumb_func_end TakeTVShowInSearchOfTrainersOffTheAir - - thumb_func_start GabbyAndTyGetBattleNum -GabbyAndTyGetBattleNum: @ 80BDC9C - push {lr} - ldr r0, _080BDCBC @ =gSaveBlock1 - ldr r2, _080BDCC0 @ =0x00002b19 - adds r1, r0, r2 - ldrb r0, [r1] - cmp r0, 0x5 - bls _080BDCB8 - ldrb r0, [r1] - movs r1, 0x3 - bl __umodsi3 - adds r0, 0x6 - lsls r0, 24 - lsrs r0, 24 -_080BDCB8: - pop {r1} - bx r1 - .align 2, 0 -_080BDCBC: .4byte gSaveBlock1 -_080BDCC0: .4byte 0x00002b19 - thumb_func_end GabbyAndTyGetBattleNum - - thumb_func_start IsTVShowInSearchOfTrainersAiring -IsTVShowInSearchOfTrainersAiring: @ 80BDCC4 - ldr r0, _080BDCD4 @ =gSaveBlock1 - ldr r1, _080BDCD8 @ =0x00002b1a - adds r0, r1 - ldrb r0, [r0] - lsls r0, 27 - lsrs r0, 31 - bx lr - .align 2, 0 -_080BDCD4: .4byte gSaveBlock1 -_080BDCD8: .4byte 0x00002b1a - thumb_func_end IsTVShowInSearchOfTrainersAiring - - thumb_func_start GabbyAndTyGetLastQuote -GabbyAndTyGetLastQuote: @ 80BDCDC - push {r4,r5,lr} - ldr r0, _080BDD00 @ =gSaveBlock1 - ldr r1, _080BDD04 @ =0x00002b16 - adds r4, r0, r1 - ldrh r0, [r4] - ldr r5, _080BDD08 @ =0x0000ffff - cmp r0, r5 - beq _080BDD10 - ldr r0, _080BDD0C @ =gStringVar1 - ldrh r1, [r4] - bl sub_80EB3FC - ldrh r1, [r4] - adds r0, r5, 0 - orrs r0, r1 - strh r0, [r4] - movs r0, 0x1 - b _080BDD12 - .align 2, 0 -_080BDD00: .4byte gSaveBlock1 -_080BDD04: .4byte 0x00002b16 -_080BDD08: .4byte 0x0000ffff -_080BDD0C: .4byte gStringVar1 -_080BDD10: - movs r0, 0 -_080BDD12: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end GabbyAndTyGetLastQuote - thumb_func_start sub_80BDD18 sub_80BDD18: @ 80BDD18 push {lr} diff --git a/include/global.h b/include/global.h index 311a84af8..0257e4110 100644 --- a/include/global.h +++ b/include/global.h @@ -447,10 +447,10 @@ struct UnknownSaveStruct2ABC { struct GabbyAndTyData { /*2b10*/ u16 mon1; /*2b12*/ u16 mon2; - /*2b14*/ u16 move1; - /*2b16*/ u16 move2; + /*2b14*/ u16 lastMove; + /*2b16*/ u16 quote; /*2b18*/ u8 mapnum; - /*2b19*/ u8 val9; // counter? + /*2b19*/ u8 battleNum; /*2b1a*/ u8 valA_0:1; /*2b1a*/ u8 valA_1:1; /*2b1a*/ u8 valA_2:1; @@ -385,8 +385,8 @@ void ResetGabbyAndTy(void) { gSaveBlock1.gabbyAndTyData.mon1 = 0; gSaveBlock1.gabbyAndTyData.mon2 = 0; - gSaveBlock1.gabbyAndTyData.move1 = 0; - gSaveBlock1.gabbyAndTyData.move2 = 0xffff; + gSaveBlock1.gabbyAndTyData.lastMove = 0; + gSaveBlock1.gabbyAndTyData.quote = 0xffff; gSaveBlock1.gabbyAndTyData.valA_0 = 0; gSaveBlock1.gabbyAndTyData.valA_1 = 0; gSaveBlock1.gabbyAndTyData.valA_2 = 0; @@ -400,7 +400,7 @@ void ResetGabbyAndTy(void) gSaveBlock1.gabbyAndTyData.valB_4 = 0; gSaveBlock1.gabbyAndTyData.valB_5 = 0; gSaveBlock1.gabbyAndTyData.mapnum = 0; - gSaveBlock1.gabbyAndTyData.val9 = 0; + gSaveBlock1.gabbyAndTyData.battleNum = 0; } void TakeTVShowInSearchOfTrainersOffTheAir(void); @@ -410,10 +410,10 @@ void GabbyAndTyBeforeInterview(void) u8 i; gSaveBlock1.gabbyAndTyData.mon1 = gUnknown_030042E0.var06; gSaveBlock1.gabbyAndTyData.mon2 = gUnknown_030042E0.var26; - gSaveBlock1.gabbyAndTyData.move1 = gUnknown_030042E0.var22; - if (gSaveBlock1.gabbyAndTyData.val9 != 0xff) + gSaveBlock1.gabbyAndTyData.lastMove = gUnknown_030042E0.var22; + if (gSaveBlock1.gabbyAndTyData.battleNum != 0xff) { - gSaveBlock1.gabbyAndTyData.val9 ++; + gSaveBlock1.gabbyAndTyData.battleNum ++; } gSaveBlock1.gabbyAndTyData.valA_0 = gUnknown_030042E0.var05_0; if (gUnknown_030042E0.var00) @@ -445,7 +445,7 @@ void GabbyAndTyBeforeInterview(void) gSaveBlock1.gabbyAndTyData.valA_3 = 1; } TakeTVShowInSearchOfTrainersOffTheAir(); - if (gSaveBlock1.gabbyAndTyData.move1 == 0) + if (gSaveBlock1.gabbyAndTyData.lastMove == 0) { FlagSet(1); } @@ -462,6 +462,36 @@ void sub_80BDC14(void) IncrementGameStat(GAME_STAT_GOT_INTERVIEWED); } +void TakeTVShowInSearchOfTrainersOffTheAir(void) +{ + gSaveBlock1.gabbyAndTyData.valA_4 = 0; +} + +u8 GabbyAndTyGetBattleNum(void) +{ + if (gSaveBlock1.gabbyAndTyData.battleNum >= 6) + { + return (gSaveBlock1.gabbyAndTyData.battleNum % 3) + 6; + } + return gSaveBlock1.gabbyAndTyData.battleNum; +} + +bool8 IsTVShowInSearchOfTrainersAiring(void) +{ + return gSaveBlock1.gabbyAndTyData.valA_4; +} + +bool8 GabbyAndTyGetLastQuote(void) +{ + if (gSaveBlock1.gabbyAndTyData.quote == 0xffff) + { + return FALSE; + } + sub_80EB3FC(gStringVar1, gSaveBlock1.gabbyAndTyData.quote); + gSaveBlock1.gabbyAndTyData.quote |= 0xffff; + return TRUE; +} + asm(".section .text_a"); s8 sub_80BF74C(TVShow tvShow[]); @@ -3242,7 +3272,7 @@ void DoTVShowInSearchOfTrainers(void) { switch (switchval) { case 0: sub_80FBFB4(gStringVar1, gSaveBlock1.gabbyAndTyData.mapnum, 0); - if (gSaveBlock1.gabbyAndTyData.val9 > 1) { + if (gSaveBlock1.gabbyAndTyData.battleNum > 1) { gUnknown_020387E8 = 1; } else { gUnknown_020387E8 = 2; @@ -3266,7 +3296,7 @@ void DoTVShowInSearchOfTrainers(void) { break; case 3: StringCopy(gStringVar1, gSpeciesNames[gSaveBlock1.gabbyAndTyData.mon1]); - StringCopy(gStringVar2, gMoveNames[gSaveBlock1.gabbyAndTyData.move1]); + StringCopy(gStringVar2, gMoveNames[gSaveBlock1.gabbyAndTyData.lastMove]); StringCopy(gStringVar3, gSpeciesNames[gSaveBlock1.gabbyAndTyData.mon2]); gUnknown_020387E8 = 8; break; @@ -3277,7 +3307,7 @@ void DoTVShowInSearchOfTrainers(void) { gUnknown_020387E8 = 8; break; case 8: - sub_80EB3FC(gStringVar1, gSaveBlock1.gabbyAndTyData.move2); + sub_80EB3FC(gStringVar1, gSaveBlock1.gabbyAndTyData.quote); StringCopy(gStringVar2, gSpeciesNames[gSaveBlock1.gabbyAndTyData.mon1]); StringCopy(gStringVar3, gSpeciesNames[gSaveBlock1.gabbyAndTyData.mon2]); gScriptResult = 1; |