Match sub_08018500

This commit is contained in:
Tal Hayon 2022-05-10 08:16:21 +03:00
parent 27577b8db9
commit 4141d3e573
3 changed files with 27 additions and 56 deletions

View File

@ -1,53 +0,0 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
thumb_func_start sub_08018500
sub_08018500: @ 0x08018500
push {r4, lr}
ldr r4, _08018550 @ =gUnk_02033AB8
adds r3, r4, #4
ldr r0, _08018554 @ =gUnk_080B3D14
ldrb r1, [r4]
lsls r1, r1, #1
adds r1, r1, r0
ldrb r2, [r4, #1]
lsls r0, r2, #1
adds r0, r0, r2
ldrh r1, [r1]
adds r0, r0, r1
movs r2, #0
_0801851A:
strh r0, [r3]
adds r0, #1
adds r3, #2
adds r2, #1
cmp r2, #2
bls _0801851A
ldrb r1, [r4]
lsls r0, r1, #2
adds r0, r0, r1
ldr r1, _08018558 @ =0x00000C81
adds r0, r0, r1
movs r2, #0
adds r1, r4, #0
adds r1, #0xa
_08018536:
strh r0, [r3]
adds r0, #1
adds r3, #2
adds r2, #1
cmp r2, #4
bls _08018536
movs r0, #5
bl sub_08018690
movs r0, #0
strb r0, [r4, #2]
pop {r4, pc}
.align 2, 0
_08018550: .4byte gUnk_02033AB8
_08018554: .4byte gUnk_080B3D14
_08018558: .4byte 0x00000C81

View File

@ -107,8 +107,6 @@ SECTIONS {
. = 0x00033280; gActiveScriptInfo = .;
. = 0x00033290; gUnk_02033290 = .;
. = 0x00033A90; gArea = .;
. = 0x00033AB8; gUnk_02033AB8 = .;
. = 0x00033ACC; gUnk_02033ACC = .;
. = 0x000342F8; gUnk_020342F8 = .;
. = 0x00034330; gUnk_02034330 = .;
. = 0x00034350; gRoomVars = .;
@ -305,7 +303,6 @@ SECTIONS {
src/npc.o(.text);
src/collision.o(.text);
/* C source compiled without interworking */
asm/kinstone.o(.text);
src/kinstone.o(.text);
src/playerItem/playerItemGustBig.o(.text);
src/playerItem/playerItemBow.o(.text);

View File

@ -28,6 +28,7 @@ extern const EntityData gUnk_080FEE18[];
extern const EntityData gUnk_080FEE48[];
extern const EntityData gUnk_080FEE58[];
extern const void* gUnk_080FED98[];
extern const u16 gUnk_080B3D14[];
void sub_08018AB4(int);
void sub_08018BB4(int);
@ -40,6 +41,32 @@ void sub_08018690(int param_1, u16* param_2);
void sub_08018500();
bool32 sub_080185B4(const struct_gUnk_080B3D20* param_1);
void sub_08018500(void) {
s32 sVar1;
u32 i;
u16* puVar3;
u16* puVar4;
struct_area_28* ptr = &gArea.unk28;
puVar3 = ptr->unk2C;
sVar1 = gUnk_080B3D14[ptr->inventoryGfxIdx] + ptr->unk29 * 3;
for (i = 0; i < 3; i++) {
*puVar3 = sVar1;
sVar1++;
puVar3++;
}
sVar1 = ptr->inventoryGfxIdx * 5 + 0xc81;
for (i = 0, puVar4 = &ptr->unk2C[3]; i < 5; i++) {
*puVar3 = sVar1;
sVar1++;
puVar3++;
}
sub_08018690(5, puVar4);
ptr->unk2a = 0;
}
void sub_0801855C(void) {
u32 bVar3;
struct_area_28* ptr;