trade through sub_804D814

This commit is contained in:
PikalaxALT
2019-10-28 11:15:08 -04:00
parent b290a1a570
commit a5ff9f2d00
2 changed files with 35 additions and 119 deletions
-117
View File
@@ -5,123 +5,6 @@
.text
thumb_func_start sub_804D764
sub_804D764: @ 804D764
push {r4-r7,lr}
mov r7, r9
mov r6, r8
push {r6,r7}
movs r3, 0
ldr r5, _0804D7B4 @ =gUnknown_2031DA8
mov r8, r5
ldr r0, _0804D7B8 @ =gSprites
mov r12, r0
movs r1, 0x5
negs r1, r1
mov r9, r1
movs r4, 0x6
movs r7, 0x1
movs r6, 0
_0804D782:
mov r1, r8
ldr r0, [r1]
adds r1, r0, 0
adds r1, 0x36
ldrb r1, [r1]
cmp r3, r1
bge _0804D7BC
adds r0, 0x28
adds r0, r3
ldrb r0, [r0]
lsls r1, r0, 4
adds r1, r0
lsls r1, 2
add r1, r12
adds r1, 0x3E
ldrb r2, [r1]
mov r0, r9
ands r0, r2
strb r0, [r1]
ldr r0, [r5]
adds r0, 0x38
adds r0, r3
strb r7, [r0]
b _0804D7C2
.align 2, 0
_0804D7B4: .4byte gUnknown_2031DA8
_0804D7B8: .4byte gSprites
_0804D7BC:
adds r0, 0x38
adds r0, r3
strb r6, [r0]
_0804D7C2:
mov r1, r8
ldr r0, [r1]
adds r1, r0, 0
adds r1, 0x37
ldrb r1, [r1]
cmp r3, r1
bge _0804D7F2
adds r0, 0x2E
adds r0, r3
ldrb r0, [r0]
lsls r1, r0, 4
adds r1, r0
lsls r1, 2
add r1, r12
adds r1, 0x3E
ldrb r2, [r1]
mov r0, r9
ands r0, r2
strb r0, [r1]
ldr r0, [r5]
adds r0, 0x38
adds r0, r4
strb r7, [r0]
b _0804D7F8
_0804D7F2:
adds r0, 0x38
adds r0, r4
strb r6, [r0]
_0804D7F8:
adds r4, 0x1
adds r3, 0x1
cmp r3, 0x5
ble _0804D782
ldr r0, [r5]
adds r0, 0x44
movs r1, 0x1
strb r1, [r0]
pop {r3,r4}
mov r8, r3
mov r9, r4
pop {r4-r7}
pop {r0}
bx r0
thumb_func_end sub_804D764
thumb_func_start sub_804D814
sub_804D814: @ 804D814
push {r4,r5,lr}
adds r5, r0, 0
adds r4, r1, 0
movs r3, 0
cmp r3, r2
bcs _0804D82E
_0804D820:
adds r0, r5, r3
adds r1, r4, r3
ldrb r1, [r1]
strb r1, [r0]
adds r3, 0x1
cmp r3, r2
bcc _0804D820
_0804D82E:
pop {r4,r5}
pop {r0}
bx r0
thumb_func_end sub_804D814
thumb_func_start shedinja_maker_maybe
shedinja_maker_maybe: @ 804D834
push {r4-r6,lr}
+35 -2
View File
@@ -32,8 +32,7 @@ struct TradeResources
/*0x0034*/ u8 tradeMenuCursorSpriteIdx;
/*0x0035*/ u8 tradeMenuCursorPosition;
/*0x0036*/ u8 partyCounts[2];
/*0x0038*/ bool8 tradeMenuOptionsActive[12];
/*0x0044*/ u8 unk_44;
/*0x0038*/ bool8 tradeMenuOptionsActive[13];
/*0x0045*/ u8 unk_45[2][PARTY_SIZE];
/*0x0051*/ u8 unk_51[2][PARTY_SIZE];
/*0x005D*/ u8 unk_5D[2][PARTY_SIZE];
@@ -2319,3 +2318,37 @@ void sub_804D694(u8 state)
break;
}
}
void sub_804D764(void)
{
int i;
for (i = 0; i < PARTY_SIZE; i++)
{
if (i < gUnknown_2031DA8->partyCounts[0])
{
gSprites[gUnknown_2031DA8->partyIcons[0][i]].invisible = FALSE;
gUnknown_2031DA8->tradeMenuOptionsActive[i] = TRUE;
}
else
{
gUnknown_2031DA8->tradeMenuOptionsActive[i] = FALSE;
}
if (i < gUnknown_2031DA8->partyCounts[1])
{
gSprites[gUnknown_2031DA8->partyIcons[1][i]].invisible = FALSE;
gUnknown_2031DA8->tradeMenuOptionsActive[i + 6] = TRUE;
}
else
{
gUnknown_2031DA8->tradeMenuOptionsActive[i + 6] = FALSE;
}
}
gUnknown_2031DA8->tradeMenuOptionsActive[12] = TRUE;
}
void sub_804D814(char *dest, const char *src, size_t size)
{
int i;
for (i = 0; i < size; i++)
dest[i] = src[i];
}