sub_81131FC

This commit is contained in:
PikalaxALT
2018-10-16 13:07:02 -07:00
parent 11066dc88f
commit 9dd047d9db
3 changed files with 29 additions and 80 deletions
-77
View File
@@ -5,83 +5,6 @@
.text
thumb_func_start sub_81131FC
sub_81131FC: @ 81131FC
push {r4-r7,lr}
mov r7, r8
push {r7}
sub sp, 0x4
adds r7, r0, 0
movs r0, 0
mov r8, r0
adds r0, r7, 0
bl sub_81132A0
lsls r0, 16
lsrs r0, 16
cmp r0, 0x1
bne _08113228
movs r0, 0
b _08113276
_0811321C:
lsls r4, r6
ldrb r0, [r7, 0x1]
eors r4, r0
strb r4, [r7, 0x1]
adds r0, r6, 0
b _08113276
_08113228:
movs r5, 0
movs r4, 0x1
_0811322C:
ldrb r1, [r7, 0x1]
ldr r2, _08113284 @ =gUnknown_8456940
adds r0, r5, r2
ldrb r6, [r0]
asrs r1, r6
ands r1, r4
cmp r1, 0
beq _0811324E
mov r8, r5
str r2, [sp]
bl Random
adds r1, r4, 0
ands r1, r0
ldr r2, [sp]
cmp r1, 0
bne _0811321C
_0811324E:
adds r0, r5, 0x1
lsls r0, 24
lsrs r5, r0, 24
cmp r5, 0x7
bls _0811322C
ldrb r1, [r7, 0x1]
mov r3, r8
adds r0, r3, r2
ldrb r2, [r0]
adds r0, r1, 0
asrs r0, r2
movs r3, 0x1
ands r0, r3
cmp r0, 0
beq _08113274
adds r0, r3, 0
lsls r0, r2
eors r1, r0
strb r1, [r7, 0x1]
_08113274:
adds r0, r2, 0
_08113276:
add sp, 0x4
pop {r3}
mov r8, r3
pop {r4-r7}
pop {r1}
bx r1
.align 2, 0
_08113284: .4byte gUnknown_8456940
thumb_func_end sub_81131FC
thumb_func_start sub_8113288
sub_8113288: @ 8113288
push {lr}
-3
View File
@@ -1,9 +1,6 @@
.section .rodata
.align 2
gUnknown_8456940:: @ 8456940
.incbin "baserom.gba", 0x456940, 0x8
gUnknown_8456948:: @ 8456948
.incbin "baserom.gba", 0x456948, 0xAC
+29
View File
@@ -2331,3 +2331,32 @@ u8 sub_8113194(struct Var4038Struct * a0)
a0->unk_1 |= 1 << gUnknown_8456938[retval];
return gUnknown_8456938[retval];
}
const u8 gUnknown_8456940[] = {
5, 6, 3, 7, 4, 1, 0, 2
};
u8 sub_81131FC(struct Var4038Struct * a0)
{
u8 i;
u8 retval = 0;
if (sub_81132A0(a0) == 1)
return 0;
for (i = 0; i < 8; i++)
{
if ((a0->unk_1 >> gUnknown_8456940[i]) & 1)
{
retval = i;
if (Random() % 2)
{
a0->unk_1 ^= 1 << gUnknown_8456940[i];
return gUnknown_8456940[i];
}
}
}
if ((a0->unk_1 >> gUnknown_8456940[retval]) & 1)
a0->unk_1 ^= 1 << gUnknown_8456940[retval];
return gUnknown_8456940[retval];
}