summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPikalaxALT <pikalaxalt@gmail.com>2017-05-19 10:02:04 -0400
committerPikalaxALT <pikalaxalt@gmail.com>2017-05-19 10:02:04 -0400
commit8e1e27167d0134ff7dfbbcd6f25d3d8cda3919f2 (patch)
treeb2854b5eb61c3d7391548ff8ef8ee1fa66b23f3a
parentacc973b882f0001d3071951cbe4861d4edc4aebb (diff)
Join two sections of tv.c
-rw-r--r--asm/tv.s148
-rw-r--r--ld_script.txt2
-rw-r--r--src/tv.c73
3 files changed, 46 insertions, 177 deletions
diff --git a/asm/tv.s b/asm/tv.s
index 0535432da..f92e462e5 100644
--- a/asm/tv.s
+++ b/asm/tv.s
@@ -1613,154 +1613,6 @@ _080BE474: .4byte gSaveBlock2
.section .text_80BE8EC
- thumb_func_start sub_80BEB20
-sub_80BEB20: @ 80BEB20
- push {r4-r6,lr}
- ldr r0, _080BEBAC @ =0x00000804
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- beq _080BEBA6
- ldr r6, _080BEBB0 @ =gSaveBlock1 + 0x2ABC
- adds r0, r6, 0
- bl sub_80BEBC8
- ldr r5, _080BEBB4 @ =gUnknown_03005D38
- strb r0, [r5]
- lsls r0, 24
- asrs r0, 24
- movs r1, 0x1
- negs r1, r1
- cmp r0, r1
- beq _080BEBA6
- ldr r0, _080BEBB8 @ =0x0000028f
- bl sub_80BF77C
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080BEBA6
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x3
- bl __umodsi3
- adds r0, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- lsls r0, r4, 24
- lsrs r0, 24
- bl sub_80BEE48
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080BEBA6
- movs r0, 0
- ldrsb r0, [r5, r0]
- lsls r0, 2
- ldr r1, _080BEBBC @ =0xffffd544
- adds r2, r6, r1
- adds r0, r6, r0
- strb r4, [r0]
- movs r0, 0
- ldrsb r0, [r5, r0]
- lsls r0, 2
- adds r0, r2
- ldr r1, _080BEBC0 @ =0x00002abe
- adds r0, r1
- movs r1, 0x4
- strh r1, [r0]
- movs r0, 0
- ldrsb r0, [r5, r0]
- lsls r0, 2
- adds r0, r2
- ldr r1, _080BEBC4 @ =0x00002abd
- adds r0, r1
- movs r1, 0x1
- strb r1, [r0]
-_080BEBA6:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080BEBAC: .4byte 0x00000804
-_080BEBB0: .4byte gSaveBlock1 + 0x2ABC
-_080BEBB4: .4byte gUnknown_03005D38
-_080BEBB8: .4byte 0x0000028f
-_080BEBBC: .4byte 0xffffd544
-_080BEBC0: .4byte 0x00002abe
-_080BEBC4: .4byte 0x00002abd
- thumb_func_end sub_80BEB20
-
- thumb_func_start sub_80BEBC8
-sub_80BEBC8: @ 80BEBC8
- push {lr}
- adds r2, r0, 0
- movs r1, 0
-_080BEBCE:
- lsls r0, r1, 24
- asrs r1, r0, 24
- lsls r0, r1, 2
- adds r0, r2
- ldrb r0, [r0]
- cmp r0, 0
- bne _080BEBE0
- adds r0, r1, 0
- b _080BEBF0
-_080BEBE0:
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- asrs r0, 24
- cmp r0, 0xF
- ble _080BEBCE
- movs r0, 0x1
- negs r0, r0
-_080BEBF0:
- pop {r1}
- bx r1
- thumb_func_end sub_80BEBC8
-
- thumb_func_start sub_80BEBF4
-sub_80BEBF4: @ 80BEBF4
- push {r4,lr}
- movs r4, 0
-_080BEBF8:
- adds r0, r4, 0
- bl sub_80BEC10
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0xF
- bls _080BEBF8
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80BEBF4
-
- thumb_func_start sub_80BEC10
-sub_80BEC10: @ 80BEC10
- lsls r0, 24
- ldr r1, _080BEC30 @ =gSaveBlock1
- lsrs r0, 22
- adds r0, r1
- ldr r2, _080BEC34 @ =0x00002abc
- adds r1, r0, r2
- movs r2, 0
- strb r2, [r1]
- ldr r3, _080BEC38 @ =0x00002abd
- adds r1, r0, r3
- strb r2, [r1]
- ldr r1, _080BEC3C @ =0x00002abe
- adds r0, r1
- strh r2, [r0]
- bx lr
- .align 2, 0
-_080BEC30: .4byte gSaveBlock1
-_080BEC34: .4byte 0x00002abc
-_080BEC38: .4byte 0x00002abd
-_080BEC3C: .4byte 0x00002abe
- thumb_func_end sub_80BEC10
-
-.section .text_80BF544
thumb_func_start sub_80BFF68
sub_80BFF68: @ 80BFF68
diff --git a/ld_script.txt b/ld_script.txt
index fd57b31d6..78da2ea81 100644
--- a/ld_script.txt
+++ b/ld_script.txt
@@ -180,8 +180,6 @@ SECTIONS {
asm/tv.o(.text);
src/tv.o(.text_a);
asm/tv.o(.text_80BE8EC);
- src/tv.o(.text_b);
- asm/tv.o(.text_80BF544);
src/tv.o(.text_c);
asm/tv.o(.text_80C1C5C);
src/tv.o(.text_d);
diff --git a/src/tv.c b/src/tv.c
index 547baf76a..c0a399306 100644
--- a/src/tv.c
+++ b/src/tv.c
@@ -439,38 +439,57 @@ void sub_80BEA88(void)
}
}
-// void sub_80BEB20(void)
-// {
- // struct UnknownSaveStruct2ABC *unk_2abc;
- // u16 rval16;
- // u16 val;
- // unk_2abc = &gSaveBlock1.unknown_2ABC;
- // TVShow *tvShow;
- // if (FlagGet(SYS_GAME_CLEAR) != 0)
- // {
- // gUnknown_03005D38.var0 = sub_80BEBC8(unk_2abc);
- // if (gUnknown_03005D38.var0 != -1 && sub_80BF77C(0x28f) != 1)
- // {
- // rval16 = Random();
- // val = (rval16 % 3) + 1;
- // if (sub_80BEE48(val) != 1)
- // {
- // tvShow = &gSaveBlock1.tvShows.shows[gUnknown_03005D38.var0];
- // unk_2abc[gUnknown_03005D38.var0][0] = val;
- // to do
- // }
- // }
- // }
-// }
-
-asm(".section .text_b");
-
-void sub_80BF6D8(void);
+int sub_80BEBC8(struct UnknownSaveStruct2ABC *arg0);
void sub_80BEC10(u8);
void sub_80BF588(TVShow tvShows[]);
+void sub_80BF6D8(void);
+bool8 sub_80BF77C(u16);
+bool8 sub_80BEE48(u8);
bool8 IsPriceDiscounted(u8);
+void sub_80BEB20(void) {
+ u16 rval;
+ struct SaveBlock1 *save;
+ struct UnknownSaveStruct2ABC *unk2abc;
+ if (FlagGet(SYS_GAME_CLEAR) != 0) {
+ unk2abc = gSaveBlock1.unknown_2ABC;
+ gUnknown_03005D38.var0 = sub_80BEBC8(unk2abc);
+ if (gUnknown_03005D38.var0 != -1 && sub_80BF77C(0x28f) != 1) {
+ rval = (Random() % 3) + 1;
+ if (sub_80BEE48(rval) != 1) {
+ save = &gSaveBlock1;
+ save->unknown_2ABC[gUnknown_03005D38.var0].val0 = rval;
+ save->unknown_2ABC[gUnknown_03005D38.var0].val2 = 4;
+ save->unknown_2ABC[gUnknown_03005D38.var0].val1 = 1;
+ }
+ }
+ }
+}
+
+int sub_80BEBC8(struct UnknownSaveStruct2ABC *arg0) {
+ s8 i;
+ for (i=0; i<16; i++) {
+ if (arg0[i].val0 == 0) {
+ return i;
+ }
+ }
+ return -1;
+}
+
+void sub_80BEBF4(void) {
+ u8 i;
+ for (i=0; i<16; i++) {
+ sub_80BEC10(i);
+ }
+}
+
+void sub_80BEC10(u8 arg0) {
+ gSaveBlock1.unknown_2ABC[arg0].val0 = 0;
+ gSaveBlock1.unknown_2ABC[arg0].val1 = 0;
+ gSaveBlock1.unknown_2ABC[arg0].val2 = 0;
+}
+
void sub_80BEC40(void) {
u8 i, j;
for (i = 0; i < 15; i++) {