summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPikalaxALT <pikalaxalt@gmail.com>2017-05-18 17:43:21 -0400
committerPikalaxALT <pikalaxalt@gmail.com>2017-05-18 17:43:21 -0400
commit99c5f53c99f6461fc6a134e36da3c38a91cf4f8c (patch)
treea9eb2edca5092e1a785a473c9e83bf320daae595
parent25e6b775b934474983d55052619a8483032b2abd (diff)
Another function in tv.c
-rw-r--r--asm/tv.s47
-rw-r--r--src/tv.c27
2 files changed, 27 insertions, 47 deletions
diff --git a/asm/tv.s b/asm/tv.s
index 3baee170b..f758ae4fc 100644
--- a/asm/tv.s
+++ b/asm/tv.s
@@ -2536,53 +2536,6 @@ _080BF204:
bx r1
thumb_func_end sub_80BF1B4
- thumb_func_start sub_80BF20C
-sub_80BF20C: @ 80BF20C
- push {r4-r7,lr}
- movs r2, 0
-_080BF210:
- adds r1, r2, 0x1
- lsls r0, r1, 24
- lsrs r5, r0, 24
- adds r7, r1, 0
- cmp r5, 0x2
- bhi _080BF248
- ldr r6, _080BF258 @ =gUnknown_02038724
- lsls r0, r2, 2
- adds r4, r0, r6
-_080BF222:
- lsls r0, r5, 2
- adds r3, r0, r6
- ldrh r0, [r4, 0x2]
- ldrh r1, [r3, 0x2]
- cmp r0, r1
- bcs _080BF23E
- ldrh r1, [r4]
- adds r2, r0, 0
- ldrh r0, [r3]
- strh r0, [r4]
- ldrh r0, [r3, 0x2]
- strh r0, [r4, 0x2]
- strh r1, [r3]
- strh r2, [r3, 0x2]
-_080BF23E:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x2
- bls _080BF222
-_080BF248:
- lsls r0, r7, 24
- lsrs r2, r0, 24
- cmp r2, 0x1
- bls _080BF210
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080BF258: .4byte gUnknown_02038724
- thumb_func_end sub_80BF20C
-
.section .text_80BF544
thumb_func_start sub_80BFF68
diff --git a/src/tv.c b/src/tv.c
index 9a7b70c6e..1e955279e 100644
--- a/src/tv.c
+++ b/src/tv.c
@@ -31,6 +31,12 @@ struct OutbreakPokemon
extern u8 *gUnknown_083D1464[3];
+struct TVSaleItem {
+ u16 item_id;
+ u16 item_price;
+};
+extern struct TVSaleItem gUnknown_02038724[3];
+
extern u16 gSpecialVar_0x8004;
extern u16 gSpecialVar_0x8005;
extern u16 gSpecialVar_0x8006;
@@ -450,6 +456,27 @@ asm(".section .text_b");
void sub_80BF6D8(void);
void sub_80BF588(TVShow tvShows[]);
+void sub_80BF20C(void)
+{
+ u8 i, j;
+ u16 tmpId, tmpPrice;
+ for (i=0; i<2; i++)
+ {
+ for (j=i+1; j<3; j++)
+ {
+ if (gUnknown_02038724[i].item_price < gUnknown_02038724[j].item_price)
+ {
+ tmpId = gUnknown_02038724[i].item_id;
+ tmpPrice = gUnknown_02038724[i].item_price;
+ gUnknown_02038724[i].item_id = gUnknown_02038724[j].item_id;
+ gUnknown_02038724[i].item_price = gUnknown_02038724[j].item_price;
+ gUnknown_02038724[j].item_id = tmpId;
+ gUnknown_02038724[j].item_price = tmpPrice;
+ }
+ }
+ }
+}
+
void sub_80BF25C(u8 showType)
{
u8 i;