sub_80C0134

This commit is contained in:
PikalaxALT 2017-05-20 11:36:08 -04:00
parent dc229fe94a
commit 37e3c21eb3
3 changed files with 21 additions and 60 deletions

View File

@ -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}

View File

@ -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;

View File

@ -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);