diff options
author | PikalaxALT <pikalaxalt@gmail.com> | 2017-05-20 11:36:08 -0400 |
---|---|---|
committer | PikalaxALT <pikalaxalt@gmail.com> | 2017-05-20 11:36:08 -0400 |
commit | 37e3c21eb38449690f995b7e5258bf00ce9a77c2 (patch) | |
tree | 050dc9928da5ddb2c5c312027f295f67bb7da05c | |
parent | dc229fe94ad23c057aae619ec429a073a00a8508 (diff) |
sub_80C0134
-rw-r--r-- | asm/tv.s | 57 | ||||
-rw-r--r-- | include/global.h | 9 | ||||
-rw-r--r-- | src/tv.c | 15 |
3 files changed, 21 insertions, 60 deletions
@@ -1613,63 +1613,6 @@ _080BE474: .4byte gSaveBlock2 .section .text_80BE8EC - thumb_func_start sub_80C0134 -sub_80C0134: @ 80C0134 - push {r4-r6,lr} - adds r6, r0, 0 - adds r4, r1, 0 - lsls r0, r2, 24 - lsrs r0, 24 - bl GetLinkPlayerTrainerId - adds r5, r0, 0 - movs r2, 0xFF - ands r0, r2 - adds r1, r4, 0 - adds r1, 0x22 - ldrb r1, [r1] - cmp r0, r1 - bne _080C0164 - lsrs r0, r5, 8 - ands r0, r2 - adds r1, r4, 0 - adds r1, 0x23 - ldrb r1, [r1] - cmp r0, r1 - bne _080C0164 - movs r0, 0 - b _080C0196 -_080C0164: - adds r1, r4, 0 - adds r1, 0x20 - ldrb r0, [r1] - adds r2, r4, 0 - adds r2, 0x22 - strb r0, [r2] - adds r3, r4, 0 - adds r3, 0x21 - ldrb r0, [r3] - adds r2, 0x1 - strb r0, [r2] - strb r5, [r1] - lsrs r0, r5, 8 - strb r0, [r3] - adds r1, r6, 0 - adds r0, r4, 0 - ldm r0!, {r2-r4} - stm r1!, {r2-r4} - ldm r0!, {r2-r4} - stm r1!, {r2-r4} - ldm r0!, {r2-r4} - stm r1!, {r2-r4} - movs r0, 0x1 - strb r0, [r6, 0x1] - strh r0, [r6, 0x16] -_080C0196: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_80C0134 - thumb_func_start sub_80C019C sub_80C019C: @ 80C019C push {lr} diff --git a/include/global.h b/include/global.h index 7544ecdb2..2340e3b84 100644 --- a/include/global.h +++ b/include/global.h @@ -194,9 +194,12 @@ struct EasyChatPair struct TVShowCommon { /*0x00*/ u8 var00; /*0x01*/ u8 var01; - /*0x02*/ u8 pad02[28]; - /*0x20*/ u8 srcTrainerId2Lo; - /*0x21*/ u8 srcTrainerId2Hi; + /*0x02*/ u8 pad02[20]; + /*0x16*/ u16 var16[3]; + /*0x1C*/ u8 srcTrainerId3Lo; + /*0x1D*/ u8 srcTrainerId3Hi; + /*0x1E*/ u8 srcTrainerId2Lo; + /*0x1F*/ u8 srcTrainerId2Hi; /*0x20*/ u8 srcTrainerIdLo; /*0x21*/ u8 srcTrainerIdHi; /*0x22*/ u8 trainerIdLo; @@ -1644,6 +1644,21 @@ u8 sub_80C00B4(TVShow *tv1, TVShow *tv2, u8 idx) { return TRUE; } +u8 sub_80C0134(TVShow *tv1, TVShow *tv2, u8 idx) { + u32 linkTrainerId = GetLinkPlayerTrainerId(idx); + if ((linkTrainerId & 0xFF) == tv2->common.trainerIdLo && ((linkTrainerId >> 8) & 0xFF) == tv2->common.trainerIdHi) { + return FALSE; + } + tv2->common.trainerIdLo = tv2->common.srcTrainerIdLo; + tv2->common.trainerIdHi = tv2->common.srcTrainerIdHi; + tv2->common.srcTrainerIdLo = linkTrainerId & 0xFF; + tv2->common.srcTrainerIdHi = linkTrainerId >> 8; + *tv1 = *tv2; + tv1->common.var01 = 1; + tv1->common.var16[0] = 1; + return TRUE; +} + asm(".section .dotvshow\n"); void DoTVShowPokemonFanClubLetter(void); |