Matched sub_8038014 thanks to @jiangzhengwenjz

This commit is contained in:
Seth Barberee 2023-07-17 11:25:37 -07:00
parent ba6c9b1a56
commit 6d2738cf48
2 changed files with 47 additions and 56 deletions

View File

@ -1016,59 +1016,4 @@ _08038010:
bx r0
thumb_func_end sub_8037F9C
thumb_func_start sub_8038014
sub_8038014:
push {r4-r6,lr}
adds r6, r0, 0
adds r5, r1, 0
bl sub_800D588
lsls r0, 24
adds r4, r6, 0
cmp r0, 0
bne _08038028
adds r4, r5, 0
_08038028:
bl sub_800D588
lsls r0, 24
adds r3, r5, 0
cmp r0, 0
bne _08038036
adds r3, r6, 0
_08038036:
ldrb r0, [r4]
ldrb r1, [r3]
cmp r0, r1
bne _0803804C
ldr r0, _08038048
ldr r1, [r0]
ldrb r0, [r4]
b _08038052
.align 2, 0
_08038048: .4byte gTeamInventory_203B460
_0803804C:
ldr r0, _08038070
ldr r1, [r0]
ldrb r0, [r3]
_08038052:
lsls r0, 1
adds r1, 0x50
adds r1, r0
ldrh r2, [r1]
ldr r0, [r3, 0x4]
adds r2, r0
ldr r0, _08038074
movs r1, 0
cmp r2, r0
ble _08038068
movs r1, 0x6
_08038068:
adds r0, r1, 0
pop {r4-r6}
pop {r1}
bx r1
.align 2, 0
_08038070: .4byte gTeamInventory_203B460
_08038074: .4byte 0x000003e7
thumb_func_end sub_8038014
.align 2,0

View File

@ -4,6 +4,8 @@
#include "pokemon.h"
#include "code_8094F88.h"
#include "save.h"
#include "team_inventory.h"
#include "main_menu.h"
extern s32 gCommsTimeout; // Counts to 100 and then errors if other player hasn't connected
extern s32 sub_803815C(u32, void *, void*);
@ -18,10 +20,54 @@ extern void sub_800D510(void);
extern s32 sub_8037DF0(void);
extern void sub_8037F9C(u32, u8 *, u8 *);
extern s32 sub_8038014(void *param_2,void *param_3);
extern u8 sub_800D588(void);
extern struct UnkStruct_203B184 *gUnknown_203B184;
s32 sub_8038014(struct unkStruct_8035D94 *param_1,struct unkStruct_8035D94 *param_2)
{
s32 linkStatus;
s32 r2;
struct unkStruct_8035D94 *r3;
struct unkStruct_8035D94 *r4;
if (sub_800D588() == 0) {
r4 = param_2;
}
else
{
r4 = param_1;
}
if (sub_800D588() == 0) {
r3 = param_1;
}
else
{
r3 = param_2;
}
if ((r4->itemIndex).itemIndex_u8 == (r3->itemIndex).itemIndex_u8) {
r2 = gTeamInventory_203B460->teamStorage[r4->itemIndex.itemIndex_u8];
r2 += r3->numItems;
if (r2 > 999) {
linkStatus = COMMS_NO_ROOM_STORAGE;
}
else
linkStatus = COMMS_GOOD;
}
else {
r2 = gTeamInventory_203B460->teamStorage[r3->itemIndex.itemIndex_u8];
r2 += r3->numItems;
if (r2 > 999) {
linkStatus = COMMS_NO_ROOM_STORAGE;
}
else
linkStatus = COMMS_GOOD;
}
return linkStatus;
}
s32 sub_8038078(struct unkStruct_203B480 *param_1,struct unkStruct_203B480 *param_2)
{
u32 uVar2;