sub_8113194

This commit is contained in:
PikalaxALT
2018-10-16 12:56:37 -07:00
parent 6d31e24cba
commit 11066dc88f
3 changed files with 28 additions and 62 deletions
-58
View File
@@ -5,64 +5,6 @@
.text
thumb_func_start sub_8113194
sub_8113194: @ 8113194
push {r4-r7,lr}
mov r7, r8
push {r7}
adds r5, r0, 0
movs r0, 0
mov r8, r0
movs r6, 0
movs r7, 0x1
_081131A4:
ldrb r1, [r5, 0x1]
ldr r0, _081131D0 @ =gUnknown_8456938
adds r0, r6, r0
ldrb r4, [r0]
asrs r1, r4
ands r1, r7
cmp r1, 0
bne _081131D4
mov r8, r6
bl Random
adds r1, r7, 0
ands r1, r0
cmp r1, 0
beq _081131D4
adds r0, r7, 0
lsls r0, r4
ldrb r1, [r5, 0x1]
orrs r0, r1
strb r0, [r5, 0x1]
adds r0, r4, 0
b _081131EE
.align 2, 0
_081131D0: .4byte gUnknown_8456938
_081131D4:
adds r0, r6, 0x1
lsls r0, 24
lsrs r6, r0, 24
cmp r6, 0x7
bls _081131A4
ldr r0, _081131F8 @ =gUnknown_8456938
add r0, r8
ldrb r0, [r0]
movs r1, 0x1
lsls r1, r0
ldrb r2, [r5, 0x1]
orrs r1, r2
strb r1, [r5, 0x1]
_081131EE:
pop {r3}
mov r8, r3
pop {r4-r7}
pop {r1}
bx r1
.align 2, 0
_081131F8: .4byte gUnknown_8456938
thumb_func_end sub_8113194
thumb_func_start sub_81131FC
sub_81131FC: @ 81131FC
push {r4-r7,lr}
-3
View File
@@ -1,9 +1,6 @@
.section .rodata
.align 2
gUnknown_8456938:: @ 8456938
.incbin "baserom.gba", 0x456938, 0x8
gUnknown_8456940:: @ 8456940
.incbin "baserom.gba", 0x456940, 0x8
+28 -1
View File
@@ -5,6 +5,7 @@
#include "task.h"
#include "palette.h"
#include "menu.h"
#include "random.h"
#include "menu_helpers.h"
#include "window.h"
#include "text_window.h"
@@ -36,6 +37,7 @@ struct Var4038Struct
{
u8 unk_0_0:7;
u8 unk_0_7:1;
u8 unk_1;
};
struct UnkStruct_203AE94
@@ -139,7 +141,7 @@ bool8 sub_8112D1C(void);
void sub_8113078(struct Var4038Struct *);
void sub_81130BC(struct Var4038Struct *);
u16 sub_81132A0(struct Var4038Struct *);
void sub_8113194(struct Var4038Struct *);
u8 sub_8113194(struct Var4038Struct *);
void sub_81132E0(struct Var4038Struct *);
bool8 sub_8113508(void);
void sub_8113524(struct Var4038Struct *);
@@ -2304,3 +2306,28 @@ u8 sub_8113114(struct Var4038Struct * a0, u8 a1)
return a0->unk_0_0;
}
const u8 gUnknown_8456938[] = {
1, 3, 5, 0, 7, 6, 4, 2
};
u8 sub_8113194(struct Var4038Struct * a0)
{
u8 i;
u8 retval = 0;
for (i = 0; i < 8; i++)
{
if (!((a0->unk_1 >> gUnknown_8456938[i]) & 1))
{
retval = i;
if (Random() % 2)
{
a0->unk_1 |= 1 << gUnknown_8456938[i];
return gUnknown_8456938[i];
}
}
}
a0->unk_1 |= 1 << gUnknown_8456938[retval];
return gUnknown_8456938[retval];
}