summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--asm/trade.s106
-rw-r--r--src/trade.c32
2 files changed, 31 insertions, 107 deletions
diff --git a/asm/trade.s b/asm/trade.s
index 5e9cb528f..dce4baa9e 100644
--- a/asm/trade.s
+++ b/asm/trade.s
@@ -495,112 +495,6 @@ _0804A2B0: .4byte gUnknown_03004824
.section .text.sub_804A9F4
- thumb_func_start sub_804ABF8
-sub_804ABF8: @ 804ABF8
- push {r4,lr}
- ldr r0, _0804AC14 @ =gUnknown_03004824
- ldr r1, [r0]
- adds r1, 0xB4
- ldrb r1, [r1]
- subs r1, 0x8
- adds r4, r0, 0
- cmp r1, 0x8
- bhi _0804ACB0
- lsls r0, r1, 2
- ldr r1, _0804AC18 @ =_0804AC1C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0804AC14: .4byte gUnknown_03004824
-_0804AC18: .4byte _0804AC1C
- .align 2, 0
-_0804AC1C:
- .4byte _0804AC40
- .4byte _0804ACB0
- .4byte _0804ACB0
- .4byte _0804ACB0
- .4byte _0804ACB0
- .4byte _0804AC60
- .4byte _0804AC74
- .4byte _0804AC88
- .4byte _0804AC9A
-_0804AC40:
- ldr r0, [r4]
- adds r0, 0xB4
- ldrb r0, [r0]
- lsls r0, 3
- ldr r1, _0804AC5C @ =gUnknown_0820C07C
- adds r0, r1
- bl LoadSpriteSheet
- ldr r1, [r4]
- adds r2, r1, 0
- adds r2, 0x7E
- strh r0, [r2]
- b _0804ACC2
- .align 2, 0
-_0804AC5C: .4byte gUnknown_0820C07C
-_0804AC60:
- ldr r0, _0804AC6C @ =gSpritePalette_TradeScreenText
- bl LoadSpritePalette
- ldr r0, _0804AC70 @ =gUnknown_03004824
- ldr r1, [r0]
- b _0804ACC2
- .align 2, 0
-_0804AC6C: .4byte gSpritePalette_TradeScreenText
-_0804AC70: .4byte gUnknown_03004824
-_0804AC74:
- ldr r0, _0804AC80 @ =gUnknown_0820C12C
- bl LoadSpritePalette
- ldr r0, _0804AC84 @ =gUnknown_03004824
- ldr r1, [r0]
- b _0804ACC2
- .align 2, 0
-_0804AC80: .4byte gUnknown_0820C12C
-_0804AC84: .4byte gUnknown_03004824
-_0804AC88:
- ldr r0, _0804ACA8 @ =gUnknown_0820C124
- bl LoadSpriteSheet
- ldr r0, _0804ACAC @ =gUnknown_03004824
- ldr r1, [r0]
- adds r1, 0xB4
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_0804AC9A:
- ldr r0, _0804ACAC @ =gUnknown_03004824
- ldr r0, [r0]
- adds r0, 0xB4
- movs r1, 0
- strb r1, [r0]
- movs r0, 0x1
- b _0804ACCC
- .align 2, 0
-_0804ACA8: .4byte gUnknown_0820C124
-_0804ACAC: .4byte gUnknown_03004824
-_0804ACB0:
- ldr r0, [r4]
- adds r0, 0xB4
- ldrb r0, [r0]
- lsls r0, 3
- ldr r1, _0804ACD4 @ =gUnknown_0820C07C
- adds r0, r1
- bl LoadSpriteSheet
- ldr r1, [r4]
-_0804ACC2:
- adds r1, 0xB4
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- movs r0, 0
-_0804ACCC:
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_0804ACD4: .4byte gUnknown_0820C07C
- thumb_func_end sub_804ABF8
-
thumb_func_start sub_804ACD8
sub_804ACD8: @ 804ACD8
push {r4,lr}
diff --git a/src/trade.c b/src/trade.c
index 71cef2d08..4262f19bf 100644
--- a/src/trade.c
+++ b/src/trade.c
@@ -131,7 +131,7 @@ static void sub_80489F4(void);
/*static*/ void sub_804AA0C(u8);
static bool8 sub_8048D44(void);
/*static*/ void sub_804AF84(void);
-/*static*/ bool8 sub_804ABF8(void);
+static bool8 sub_804ABF8(void);
/*static*/ void sub_804ACF4(u8);
static void sub_804A41C(u8);
static void sub_8048C70(void);
@@ -2589,6 +2589,36 @@ static void sub_804AB30(void)
}
}
+static bool8 sub_804ABF8(void)
+{
+ switch (gUnknown_03004824->unk_00b4)
+ {
+ case 8:
+ gUnknown_03004824->unk_007e = LoadSpriteSheet(&gUnknown_0820C07C[gUnknown_03004824->unk_00b4]);
+ gUnknown_03004824->unk_00b4 ++;
+ return FALSE;
+ case 13:
+ LoadSpritePalette(&gSpritePalette_TradeScreenText);
+ gUnknown_03004824->unk_00b4 ++;
+ return FALSE;
+ case 14:
+ LoadSpritePalette(&gUnknown_0820C12C);
+ gUnknown_03004824->unk_00b4 ++;
+ return FALSE;
+ case 15:
+ LoadSpriteSheet(&gUnknown_0820C124);
+ gUnknown_03004824->unk_00b4 ++;
+ // fallthrough
+ case 16:
+ gUnknown_03004824->unk_00b4 = 0;
+ return TRUE;
+ default:
+ LoadSpriteSheet(&gUnknown_0820C07C[gUnknown_03004824->unk_00b4]);
+ gUnknown_03004824->unk_00b4 ++;
+ return FALSE;
+ }
+}
+
asm(".section .text.sub_804DAD4");
/*static*/ void sub_804DAD4(struct UnkStructC *arg0, struct InGameTrade *trade) {