diff options
-rw-r--r-- | asm/tv.s | 89 | ||||
-rw-r--r-- | src/tv.c | 38 |
2 files changed, 38 insertions, 89 deletions
@@ -1855,95 +1855,6 @@ _080BECE0: bx r1 thumb_func_end sub_80BECA0 - thumb_func_start sub_80BECE8 -sub_80BECE8: @ 80BECE8 - push {r4,lr} - bl sub_80BECA0 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0xFF - bne _080BED00 - ldr r1, _080BECFC @ =gScriptResult - movs r0, 0 - b _080BED86 - .align 2, 0 -_080BECFC: .4byte gScriptResult -_080BED00: - ldr r0, _080BED2C @ =gSaveBlock1 - lsls r1, 2 - adds r4, r1, r0 - ldr r0, _080BED30 @ =0x00002abe - adds r1, r4, r0 - ldrh r0, [r1] - cmp r0, 0 - bne _080BED5C - ldr r2, _080BED34 @ =0x00002abd - adds r1, r4, r2 - movs r0, 0x2 - strb r0, [r1] - ldr r0, _080BED38 @ =gLocalTime - ldrb r0, [r0, 0x2] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0x13 - bgt _080BED40 - ldr r1, _080BED3C @ =gTVNewsTextGroup2 - subs r2, 0x1 - b _080BED44 - .align 2, 0 -_080BED2C: .4byte gSaveBlock1 -_080BED30: .4byte 0x00002abe -_080BED34: .4byte 0x00002abd -_080BED38: .4byte gLocalTime -_080BED3C: .4byte gTVNewsTextGroup2 -_080BED40: - ldr r1, _080BED54 @ =gTVNewsTextGroup3 - ldr r2, _080BED58 @ =0x00002abc -_080BED44: - adds r0, r4, r2 - ldrb r0, [r0] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - bl ShowFieldMessage - b _080BED82 - .align 2, 0 -_080BED54: .4byte gTVNewsTextGroup3 -_080BED58: .4byte 0x00002abc -_080BED5C: - ldrh r1, [r1] - ldr r0, _080BED90 @ =gStringVar1 - movs r2, 0 - movs r3, 0x1 - bl ConvertIntToDecimalStringN - ldr r0, _080BED94 @ =0x00002abd - adds r1, r4, r0 - movs r0, 0 - strb r0, [r1] - ldr r1, _080BED98 @ =gTVNewsTextGroup1 - ldr r2, _080BED9C @ =0x00002abc - adds r0, r4, r2 - ldrb r0, [r0] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - bl ShowFieldMessage -_080BED82: - ldr r1, _080BEDA0 @ =gScriptResult - movs r0, 0x1 -_080BED86: - strh r0, [r1] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080BED90: .4byte gStringVar1 -_080BED94: .4byte 0x00002abd -_080BED98: .4byte gTVNewsTextGroup1 -_080BED9C: .4byte 0x00002abc -_080BEDA0: .4byte gScriptResult - thumb_func_end sub_80BECE8 - .section .text_80BF544 thumb_func_start sub_80BFF68 @@ -17,6 +17,7 @@ #include "easy_chat.h" #include "item.h" #include "contest_painting.h" +#include "rtc.h" struct UnkTvStruct { @@ -57,6 +58,11 @@ extern void sub_80BEBF4(void); extern u16 gUnknown_020387E0; extern u16 gUnknown_020387E2; extern const u8 *gUnknown_083CE048[]; + +extern const u8 *gTVNewsTextGroup1[]; +extern const u8 *gTVNewsTextGroup2[]; +extern const u8 *gTVNewsTextGroup3[]; + extern u16 gScriptLastTalked; u32 GetPlayerTrainerId(void); @@ -463,9 +469,41 @@ void sub_80BF6D8(void); void sub_80BEC10(u8); void sub_80BEC40(void); void sub_80BF588(TVShow tvShows[]); +u8 sub_80BECA0(void); bool8 IsPriceDiscounted(u8); +void sub_80BECE8(void) +{ + u8 arg0; + arg0 = sub_80BECA0(); + if (arg0 == 0xff) + { + gScriptResult = 0; + return; + } + if (gSaveBlock1.unknown_2ABC[arg0].val2 == 0) + { + gSaveBlock1.unknown_2ABC[arg0].val1 = 2; + if (gLocalTime.hours < 20) + { + ShowFieldMessage(gTVNewsTextGroup2[gSaveBlock1.unknown_2ABC[arg0].val0]); + } + else + { + ShowFieldMessage(gTVNewsTextGroup3[gSaveBlock1.unknown_2ABC[arg0].val0]); + } + } + else + { + u16 value = gSaveBlock1.unknown_2ABC[arg0].val2; + ConvertIntToDecimalStringN(gStringVar1, value, 0, 1); + gSaveBlock1.unknown_2ABC[arg0].val1 = 0; + ShowFieldMessage(gTVNewsTextGroup1[gSaveBlock1.unknown_2ABC[arg0].val0]); + } + gScriptResult = 1; +} + bool8 GetPriceReduction(u8 arg0) { u8 i; |