diff options
-rw-r--r-- | asm/trade.s | 106 | ||||
-rw-r--r-- | src/trade.c | 32 |
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) { |