diff options
author | PikalaxALT <pikalaxalt@gmail.com> | 2017-05-19 18:38:05 -0400 |
---|---|---|
committer | PikalaxALT <pikalaxalt@gmail.com> | 2017-05-19 18:38:05 -0400 |
commit | 305a346d7bc514c66c843356e1d81ef8ff3b27d9 (patch) | |
tree | 66551b2696d700747430571b5eeea0efa851772d | |
parent | 29f05f45e815564429ad1bacd3ab3f37adaa9f12 (diff) |
Another couple TV-related functions
-rw-r--r-- | asm/tv.s | 151 | ||||
-rw-r--r-- | src/tv.c | 53 |
2 files changed, 53 insertions, 151 deletions
@@ -2567,157 +2567,6 @@ _080C06B4: .4byte gUnknown_03000721 _080C06B8: .4byte gUnknown_03005D38 thumb_func_end sub_80C05C4 - thumb_func_start sub_80C06BC -sub_80C06BC: @ 80C06BC - push {lr} - ldr r0, [r0] - ldr r1, [r1] - ldr r2, _080C06E0 @ =gUnknown_03000722 - ldrb r2, [r2] - lsls r2, 24 - asrs r2, 24 - lsls r2, 2 - adds r1, r2 - ldr r2, _080C06E4 @ =gUnknown_03005D38 - ldrb r2, [r2] - lsls r2, 24 - asrs r2, 24 - bl sub_80C06E8 - pop {r0} - bx r0 - .align 2, 0 -_080C06E0: .4byte gUnknown_03000722 -_080C06E4: .4byte gUnknown_03005D38 - thumb_func_end sub_80C06BC - - thumb_func_start sub_80C06E8 -sub_80C06E8: @ 80C06E8 - push {r4-r6,lr} - adds r4, r0, 0 - adds r5, r1, 0 - lsls r2, 24 - lsrs r6, r2, 24 - ldrb r3, [r5] - adds r0, r3, 0 - cmp r0, 0 - bne _080C06FE -_080C06FA: - movs r0, 0 - b _080C072A -_080C06FE: - movs r1, 0 - adds r2, r3, 0 - adds r3, r0, 0 -_080C0704: - lsls r0, r1, 2 - adds r0, r4 - ldrb r0, [r0] - cmp r0, r3 - beq _080C06FA - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0xF - bls _080C0704 - lsls r0, r6, 24 - asrs r0, 22 - adds r0, r4 - strb r2, [r0] - movs r1, 0x1 - strb r1, [r0, 0x1] - ldrh r1, [r5, 0x2] - strh r1, [r0, 0x2] - movs r0, 0x1 -_080C072A: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_80C06E8 - - thumb_func_start sub_80C0730 -sub_80C0730: @ 80C0730 - push {lr} - lsls r1, 24 - lsrs r2, r1, 24 - lsls r1, r2, 2 - adds r1, r0 - ldrb r0, [r1] - cmp r0, 0 - beq _080C0746 - lsls r0, r2, 24 - asrs r0, 24 - b _080C074A -_080C0746: - movs r0, 0x1 - negs r0, r0 -_080C074A: - pop {r1} - bx r1 - thumb_func_end sub_80C0730 - - thumb_func_start sub_80C0750 -sub_80C0750: @ 80C0750 - push {r4,r5,lr} - movs r4, 0 - ldr r5, _080C0780 @ =gSaveBlock1 -_080C0756: - lsls r0, r4, 2 - adds r0, r5 - ldr r1, _080C0784 @ =0x00002abc - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x3 - bls _080C076A - adds r0, r4, 0 - bl sub_80BEC10 -_080C076A: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0xF - bls _080C0756 - bl sub_80BEC40 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080C0780: .4byte gSaveBlock1 -_080C0784: .4byte 0x00002abc - thumb_func_end sub_80C0750 - - thumb_func_start sub_80C0788 -sub_80C0788: @ 80C0788 - push {r4,lr} - ldr r0, _080C07B8 @ =0x00000804 - bl FlagGet - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _080C07B2 - movs r1, 0 - ldr r4, _080C07BC @ =gSaveBlock1 - ldr r3, _080C07C0 @ =0x00002abd - movs r2, 0 -_080C07A0: - lsls r0, r1, 2 - adds r0, r4 - adds r0, r3 - strb r2, [r0] - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0xF - bls _080C07A0 -_080C07B2: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080C07B8: .4byte 0x00000804 -_080C07BC: .4byte gSaveBlock1 -_080C07C0: .4byte 0x00002abd - thumb_func_end sub_80C0788 - .section .dotvshow thumb_func_start DoTVShowBravoTrainerPokemonProfile @@ -1637,6 +1637,59 @@ void DoTVShowPokemonTodayFailedCapture(void); void DoTVShowPokemonAngler(void); void DoTVShowTheWorldOfMasters(void); +bool8 sub_80C06E8(struct UnknownSaveStruct2ABC *arg0, struct UnknownSaveStruct2ABC *arg1, s8 arg2); + +void sub_80C06BC(int *arg0, int *arg1) { + struct UnknownSaveStruct2ABC *str0; + struct UnknownSaveStruct2ABC *str1; + str0 = (void *)arg0[0]; + str1 = (void *)arg1[0]; + str1 += gUnknown_03000722; + sub_80C06E8(str0, str1, gUnknown_03005D38.var0); +} + +bool8 sub_80C06E8(struct UnknownSaveStruct2ABC *arg0, struct UnknownSaveStruct2ABC *arg1, s8 arg2) { + u8 i; + if (arg1->val0 == 0) { + return FALSE; + } + for (i=0; i<16; i++) { + if (arg0[i].val0 == arg1->val0) { + return FALSE; + } + } + arg0[arg2].val0 = arg1->val0; + arg0[arg2].val1 = 1; + arg0[arg2].val2 = arg1->val2; + return TRUE; +} + +s8 sub_80C0730(struct UnknownSaveStruct2ABC *arg0, u8 arg1) { + if (arg0[arg1].val0 == 0) { + return -1; + } + return arg1; +} + +void sub_80C0750(void) { + u8 i; + for (i=0; i<16; i++) { + if (gSaveBlock1.unknown_2ABC[i].val0 > 3) { + sub_80BEC10(i); + } + } + sub_80BEC40(); +} + +void sub_80C0788(void) { + u8 i; + if (FlagGet(SYS_GAME_CLEAR) != 1) { + for (i=0; i<16; i++) { + gSaveBlock1.unknown_2ABC[i].val1 = 0; + } + } +} + void DoTVShow(void) { if (gSaveBlock1.tvShows.shows[gSpecialVar_0x8004].common.var01 != 0) { switch (gSaveBlock1.tvShows.shows[gSpecialVar_0x8004].common.var00) { |