trade through sub_804D814
This commit is contained in:
-117
@@ -5,123 +5,6 @@
|
|||||||
|
|
||||||
.text
|
.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
|
thumb_func_start shedinja_maker_maybe
|
||||||
shedinja_maker_maybe: @ 804D834
|
shedinja_maker_maybe: @ 804D834
|
||||||
push {r4-r6,lr}
|
push {r4-r6,lr}
|
||||||
|
|||||||
+35
-2
@@ -32,8 +32,7 @@ struct TradeResources
|
|||||||
/*0x0034*/ u8 tradeMenuCursorSpriteIdx;
|
/*0x0034*/ u8 tradeMenuCursorSpriteIdx;
|
||||||
/*0x0035*/ u8 tradeMenuCursorPosition;
|
/*0x0035*/ u8 tradeMenuCursorPosition;
|
||||||
/*0x0036*/ u8 partyCounts[2];
|
/*0x0036*/ u8 partyCounts[2];
|
||||||
/*0x0038*/ bool8 tradeMenuOptionsActive[12];
|
/*0x0038*/ bool8 tradeMenuOptionsActive[13];
|
||||||
/*0x0044*/ u8 unk_44;
|
|
||||||
/*0x0045*/ u8 unk_45[2][PARTY_SIZE];
|
/*0x0045*/ u8 unk_45[2][PARTY_SIZE];
|
||||||
/*0x0051*/ u8 unk_51[2][PARTY_SIZE];
|
/*0x0051*/ u8 unk_51[2][PARTY_SIZE];
|
||||||
/*0x005D*/ u8 unk_5D[2][PARTY_SIZE];
|
/*0x005D*/ u8 unk_5D[2][PARTY_SIZE];
|
||||||
@@ -2319,3 +2318,37 @@ void sub_804D694(u8 state)
|
|||||||
break;
|
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];
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user