Match sub_08018690

This commit is contained in:
Tal Hayon 2022-05-09 18:26:22 +03:00
parent f6efbab252
commit a434a1bbb2
2 changed files with 25 additions and 26 deletions

View File

@ -220,29 +220,3 @@ _0801868C:
pop {r4, r5, pc} pop {r4, r5, pc}
.align 2, 0 .align 2, 0
thumb_func_start sub_08018690
sub_08018690: @ 0x08018690
push {r4, r5, r6, lr}
adds r6, r1, #0
subs r4, r0, #1
cmp r4, #0
beq _080186BC
lsls r0, r4, #1
adds r5, r0, r6
_0801869E:
bl Random
adds r1, r4, #1
bl __modsi3
ldrh r2, [r5]
lsls r0, r0, #1
adds r0, r0, r6
ldrh r1, [r0]
strh r1, [r5]
strh r2, [r0]
subs r5, #2
subs r4, #1
cmp r4, #0
bne _0801869E
_080186BC:
pop {r4, r5, r6, pc}
.align 2, 0

View File

@ -7,6 +7,7 @@
#include "kinstone.h" #include "kinstone.h"
#include "area.h" #include "area.h"
#include "manager.h" #include "manager.h"
#include "asm.h"
extern EntityData gUnk_080FEC28[]; extern EntityData gUnk_080FEC28[];
extern EntityData gUnk_080FEBE8[]; extern EntityData gUnk_080FEBE8[];
@ -28,6 +29,30 @@ void sub_080189EC(int);
void sub_0801876C(int, int); void sub_0801876C(int, int);
void sub_08018738(u32, int); void sub_08018738(u32, int);
void sub_08018690(int param_1, u16* param_2) {
u32 uVar1;
s32 uVar4;
s32 uVar2;
s32 iVar3;
u16* puVar4;
u16* puVar5;
uVar4 = param_1 - 1;
if (uVar4 != 0) {
puVar5 = (u16*)(uVar4 * 2 + (int)param_2);
do {
uVar2 = Random();
iVar3 = uVar2 % (uVar4 + 1);
uVar1 = *puVar5;
puVar4 = (u16*)(iVar3 * 2 + (int)param_2);
*puVar5 = *puVar4;
*puVar4 = uVar1;
puVar5--;
uVar4--;
} while (uVar4 != 0);
}
}
void sub_080186C0(u32 param_1) { void sub_080186C0(u32 param_1) {
gArea.inventoryGfxIdx = 0xff; gArea.inventoryGfxIdx = 0xff;
gArea.unk2C = param_1; gArea.unk2C = param_1;