diff --git a/asm/pokedex.s b/asm/pokedex.s index fdab9a7..2bfce78 100644 --- a/asm/pokedex.s +++ b/asm/pokedex.s @@ -5,606 +5,6 @@ .text - thumb_func_start sub_6144 -sub_6144: @ 0x08006144 - push {r4, r5, lr} - ldr r0, _08006164 @ =gUnknown_0201B128 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - bne _080061B4 - ldr r0, _08006168 @ =gUnknown_0202C544 - ldrb r0, [r0] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0 - beq _0800616C - cmp r0, #1 - beq _080061A4 - b _0800638E - .align 2, 0 -_08006164: .4byte gUnknown_0201B128 -_08006168: .4byte gUnknown_0202C544 -_0800616C: - ldr r0, _08006180 @ =gMain - ldrh r1, [r0, #0x18] - movs r0, #1 - ands r0, r1 - cmp r0, #0 - beq _0800618C - ldr r1, _08006184 @ =gUnknown_0202C5F0 - ldr r0, _08006188 @ =0x0000FEFE - strh r0, [r1] - b _0800638E - .align 2, 0 -_08006180: .4byte gMain -_08006184: .4byte gUnknown_0202C5F0 -_08006188: .4byte 0x0000FEFE -_0800618C: - ldr r1, _080061A0 @ =gUnknown_0202C5F0 - movs r2, #0 - adds r0, r1, #0 - adds r0, #0xe -_08006194: - strh r2, [r0] - subs r0, #2 - cmp r0, r1 - bge _08006194 - b _0800638E - .align 2, 0 -_080061A0: .4byte gUnknown_0202C5F0 -_080061A4: - ldr r1, _080061AC @ =gUnknown_0202C5F0 - ldr r0, _080061B0 @ =0x0000ECEC - strh r0, [r1] - b _0800638E - .align 2, 0 -_080061AC: .4byte gUnknown_0202C5F0 -_080061B0: .4byte 0x0000ECEC -_080061B4: - ldr r0, _080061D0 @ =gUnknown_0201C180 - ldrh r1, [r0] - adds r5, r0, #0 - cmp r1, #7 - bhi _080061DC - ldr r1, _080061D4 @ =gUnknown_0202C5F0 - ldr r2, _080061D8 @ =0x0000DDDD - adds r0, r1, #0 - adds r0, #0xe -_080061C6: - strh r2, [r0] - subs r0, #2 - cmp r0, r1 - bge _080061C6 - b _08006388 - .align 2, 0 -_080061D0: .4byte gUnknown_0201C180 -_080061D4: .4byte gUnknown_0202C5F0 -_080061D8: .4byte 0x0000DDDD -_080061DC: - cmp r1, #0xf - bls _080061E2 - b _08006378 -_080061E2: - ldrh r2, [r5] - adds r1, r2, #0 - subs r1, #8 - lsls r0, r1, #3 - subs r0, r0, r1 - lsls r0, r0, #0x12 - lsrs r0, r0, #0x10 - mov ip, r0 - ldr r4, _08006370 @ =gUnknown_0202C5F0 - strh r2, [r4] - ldr r3, _08006374 @ =gUnknown_0202A1C0 - lsls r2, r0, #1 - adds r2, r2, r3 - adds r0, #1 - lsls r0, r0, #1 - adds r0, r0, r3 - ldrh r1, [r0] - lsls r1, r1, #4 - ldrh r0, [r2] - orrs r1, r0 - mov r0, ip - adds r0, #2 - lsls r0, r0, #1 - adds r0, r0, r3 - ldrh r0, [r0] - lsls r0, r0, #8 - orrs r1, r0 - mov r0, ip - adds r0, #3 - lsls r0, r0, #1 - adds r0, r0, r3 - ldrh r0, [r0] - lsls r0, r0, #0xc - orrs r1, r0 - strh r1, [r4, #2] - mov r2, ip - adds r2, #4 - lsls r2, r2, #1 - adds r2, r2, r3 - mov r0, ip - adds r0, #5 - lsls r0, r0, #1 - adds r0, r0, r3 - ldrh r1, [r0] - lsls r1, r1, #4 - ldrh r0, [r2] - orrs r1, r0 - mov r0, ip - adds r0, #6 - lsls r0, r0, #1 - adds r0, r0, r3 - ldrh r0, [r0] - lsls r0, r0, #8 - orrs r1, r0 - mov r0, ip - adds r0, #7 - lsls r0, r0, #1 - adds r0, r0, r3 - ldrh r0, [r0] - lsls r0, r0, #0xc - orrs r1, r0 - strh r1, [r4, #4] - mov r2, ip - adds r2, #8 - lsls r2, r2, #1 - adds r2, r2, r3 - mov r0, ip - adds r0, #9 - lsls r0, r0, #1 - adds r0, r0, r3 - ldrh r1, [r0] - lsls r1, r1, #4 - ldrh r0, [r2] - orrs r1, r0 - mov r0, ip - adds r0, #0xa - lsls r0, r0, #1 - adds r0, r0, r3 - ldrh r0, [r0] - lsls r0, r0, #8 - orrs r1, r0 - mov r0, ip - adds r0, #0xb - lsls r0, r0, #1 - adds r0, r0, r3 - ldrh r0, [r0] - lsls r0, r0, #0xc - orrs r1, r0 - strh r1, [r4, #6] - mov r2, ip - adds r2, #0xc - lsls r2, r2, #1 - adds r2, r2, r3 - mov r0, ip - adds r0, #0xd - lsls r0, r0, #1 - adds r0, r0, r3 - ldrh r1, [r0] - lsls r1, r1, #4 - ldrh r0, [r2] - orrs r1, r0 - mov r0, ip - adds r0, #0xe - lsls r0, r0, #1 - adds r0, r0, r3 - ldrh r0, [r0] - lsls r0, r0, #8 - orrs r1, r0 - mov r0, ip - adds r0, #0xf - lsls r0, r0, #1 - adds r0, r0, r3 - ldrh r0, [r0] - lsls r0, r0, #0xc - orrs r1, r0 - strh r1, [r4, #8] - mov r2, ip - adds r2, #0x10 - lsls r2, r2, #1 - adds r2, r2, r3 - mov r0, ip - adds r0, #0x11 - lsls r0, r0, #1 - adds r0, r0, r3 - ldrh r1, [r0] - lsls r1, r1, #4 - ldrh r0, [r2] - orrs r1, r0 - mov r0, ip - adds r0, #0x12 - lsls r0, r0, #1 - adds r0, r0, r3 - ldrh r0, [r0] - lsls r0, r0, #8 - orrs r1, r0 - mov r0, ip - adds r0, #0x13 - lsls r0, r0, #1 - adds r0, r0, r3 - ldrh r0, [r0] - lsls r0, r0, #0xc - orrs r1, r0 - strh r1, [r4, #0xa] - mov r2, ip - adds r2, #0x14 - lsls r2, r2, #1 - adds r2, r2, r3 - mov r0, ip - adds r0, #0x15 - lsls r0, r0, #1 - adds r0, r0, r3 - ldrh r1, [r0] - lsls r1, r1, #4 - ldrh r0, [r2] - orrs r1, r0 - mov r0, ip - adds r0, #0x16 - lsls r0, r0, #1 - adds r0, r0, r3 - ldrh r0, [r0] - lsls r0, r0, #8 - orrs r1, r0 - mov r0, ip - adds r0, #0x17 - lsls r0, r0, #1 - adds r0, r0, r3 - ldrh r0, [r0] - lsls r0, r0, #0xc - orrs r1, r0 - strh r1, [r4, #0xc] - mov r2, ip - adds r2, #0x18 - lsls r2, r2, #1 - adds r2, r2, r3 - mov r0, ip - adds r0, #0x19 - lsls r0, r0, #1 - adds r0, r0, r3 - ldrh r1, [r0] - lsls r1, r1, #4 - ldrh r0, [r2] - orrs r1, r0 - mov r0, ip - adds r0, #0x1a - lsls r0, r0, #1 - adds r0, r0, r3 - ldrh r0, [r0] - lsls r0, r0, #8 - orrs r1, r0 - mov r0, ip - adds r0, #0x1b - lsls r0, r0, #1 - adds r0, r0, r3 - ldrh r0, [r0] - lsls r0, r0, #0xc - orrs r1, r0 - strh r1, [r4, #0xe] - b _08006388 - .align 2, 0 -_08006370: .4byte gUnknown_0202C5F0 -_08006374: .4byte gUnknown_0202A1C0 -_08006378: - ldr r1, _08006398 @ =gUnknown_0202C5F0 - movs r2, #0 - adds r0, r1, #0 - adds r0, #0xe -_08006380: - strh r2, [r0] - subs r0, #2 - cmp r0, r1 - bge _08006380 -_08006388: - ldrh r0, [r5] - adds r0, #1 - strh r0, [r5] -_0800638E: - movs r0, #0 - pop {r4, r5} - pop {r1} - bx r1 - .align 2, 0 -_08006398: .4byte gUnknown_0202C5F0 - - thumb_func_start sub_639C -sub_639C: @ 0x0800639C - push {r4, r5, r6, r7, lr} - mov r7, r8 - push {r7} - sub sp, #0x38 - ldr r4, _080063C0 @ =gUnknown_0201B128 - movs r0, #0 - ldrsb r0, [r4, r0] - cmp r0, #0 - bne _08006438 - ldr r3, _080063C4 @ =gUnknown_0201C1BC - movs r1, #0 - ldrsb r1, [r3, r1] - cmp r1, #0 - beq _080063C8 - cmp r1, #1 - beq _080063E8 - b _080065AA - .align 2, 0 -_080063C0: .4byte gUnknown_0201B128 -_080063C4: .4byte gUnknown_0201C1BC -_080063C8: - ldr r2, _080063E0 @ =gUnknown_0201A4D0 - ldrh r0, [r2] - ldr r1, _080063E4 @ =0x0000FEFE - cmp r0, r1 - beq _080063DA - ldrh r0, [r2, #2] - cmp r0, r1 - beq _080063DA - b _080065AA -_080063DA: - movs r0, #1 - strb r0, [r3] - b _080065AA - .align 2, 0 -_080063E0: .4byte gUnknown_0201A4D0 -_080063E4: .4byte 0x0000FEFE -_080063E8: - ldr r3, _0800640C @ =gUnknown_0201A4D0 - ldrh r2, [r3] - ldr r0, _08006410 @ =0x0000ECEC - cmp r2, r0 - bne _0800641C - ldrh r0, [r3, #2] - cmp r0, r2 - bne _0800641C - movs r2, #1 - rsbs r2, r2, #0 - adds r0, r2, #0 - strb r0, [r4] - ldr r0, _08006414 @ =gUnknown_0202BEFC - strb r1, [r0] - ldr r0, _08006418 @ =gUnknown_0201C180 - strh r1, [r0] - b _080065AA - .align 2, 0 -_0800640C: .4byte gUnknown_0201A4D0 -_08006410: .4byte 0x0000ECEC -_08006414: .4byte gUnknown_0202BEFC -_08006418: .4byte gUnknown_0201C180 -_0800641C: - ldr r1, _08006434 @ =gUnknown_0202BECC - ldrb r0, [r1] - adds r0, #1 - strb r0, [r1] - lsls r0, r0, #0x18 - asrs r0, r0, #0x18 - cmp r0, #0xa - bgt _0800642E - b _080065AA -_0800642E: - movs r0, #1 - b _080065CC - .align 2, 0 -_08006434: .4byte gUnknown_0202BECC -_08006438: - ldr r7, _0800656C @ =gUnknown_0201A4D0 - ldrh r1, [r7, #2] - adds r0, r1, #0 - subs r0, #8 - lsls r0, r0, #0x10 - lsrs r0, r0, #0x10 - cmp r0, #7 - bls _0800644A - b _080065CA -_0800644A: - ldr r0, _08006570 @ =gUnknown_0202C5B4 - mov r8, r0 - strh r1, [r0] - mov r2, sp - ldrh r1, [r7, #6] - movs r6, #0xf - adds r0, r6, #0 - ands r0, r1 - strh r0, [r2] - movs r5, #0xf0 - adds r0, r5, #0 - ands r0, r1 - lsrs r0, r0, #4 - strh r0, [r2, #2] - movs r4, #0xf0 - lsls r4, r4, #4 - adds r0, r4, #0 - ands r0, r1 - lsrs r0, r0, #8 - strh r0, [r2, #4] - movs r3, #0xf0 - lsls r3, r3, #8 - adds r0, r3, #0 - ands r0, r1 - lsrs r0, r0, #0xc - strh r0, [r2, #6] - ldrh r1, [r7, #0xa] - adds r0, r6, #0 - ands r0, r1 - strh r0, [r2, #8] - adds r0, r5, #0 - ands r0, r1 - lsrs r0, r0, #4 - strh r0, [r2, #0xa] - adds r0, r4, #0 - ands r0, r1 - lsrs r0, r0, #8 - strh r0, [r2, #0xc] - adds r0, r3, #0 - ands r0, r1 - lsrs r0, r0, #0xc - strh r0, [r2, #0xe] - ldrh r1, [r7, #0xe] - adds r0, r6, #0 - ands r0, r1 - strh r0, [r2, #0x10] - adds r0, r5, #0 - ands r0, r1 - lsrs r0, r0, #4 - strh r0, [r2, #0x12] - adds r0, r4, #0 - ands r0, r1 - lsrs r0, r0, #8 - strh r0, [r2, #0x14] - adds r0, r3, #0 - ands r0, r1 - lsrs r0, r0, #0xc - strh r0, [r2, #0x16] - ldrh r1, [r7, #0x12] - adds r0, r6, #0 - ands r0, r1 - strh r0, [r2, #0x18] - adds r0, r5, #0 - ands r0, r1 - lsrs r0, r0, #4 - strh r0, [r2, #0x1a] - adds r0, r4, #0 - ands r0, r1 - lsrs r0, r0, #8 - strh r0, [r2, #0x1c] - adds r0, r3, #0 - ands r0, r1 - lsrs r0, r0, #0xc - strh r0, [r2, #0x1e] - ldrh r1, [r7, #0x16] - adds r0, r6, #0 - ands r0, r1 - strh r0, [r2, #0x20] - adds r0, r5, #0 - ands r0, r1 - lsrs r0, r0, #4 - strh r0, [r2, #0x22] - adds r0, r4, #0 - ands r0, r1 - lsrs r0, r0, #8 - strh r0, [r2, #0x24] - adds r0, r3, #0 - ands r0, r1 - lsrs r0, r0, #0xc - strh r0, [r2, #0x26] - ldrh r1, [r7, #0x1a] - adds r0, r6, #0 - ands r0, r1 - strh r0, [r2, #0x28] - adds r0, r5, #0 - ands r0, r1 - lsrs r0, r0, #4 - strh r0, [r2, #0x2a] - adds r0, r4, #0 - ands r0, r1 - lsrs r0, r0, #8 - strh r0, [r2, #0x2c] - adds r0, r3, #0 - ands r0, r1 - lsrs r0, r0, #0xc - strh r0, [r2, #0x2e] - mov r1, sp - ldrh r0, [r7, #0x1e] - ands r6, r0 - strh r6, [r1, #0x30] - ands r5, r0 - lsrs r5, r5, #4 - strh r5, [r1, #0x32] - ands r4, r0 - lsrs r4, r4, #8 - strh r4, [r1, #0x34] - ands r3, r0 - lsrs r3, r3, #0xc - strh r3, [r1, #0x36] - movs r3, #0 - ldr r6, _08006574 @ =gUnknown_0202A1C0 - ldr r5, _08006578 @ =gUnknown_0202A390 - mov r4, sp -_08006540: - mov r2, r8 - ldrh r1, [r2] - subs r1, #8 - lsls r0, r1, #3 - subs r0, r0, r1 - lsls r0, r0, #2 - adds r0, r0, r3 - lsls r0, r0, #0x10 - lsrs r2, r0, #0x10 - lsls r1, r2, #1 - adds r0, r1, r6 - movs r7, #0 - ldrsh r0, [r0, r7] - cmp r0, #0 - bne _0800657C - ldrh r0, [r4] - cmp r0, #4 - bne _0800657C - adds r1, r1, r5 - movs r0, #2 - b _08006592 - .align 2, 0 -_0800656C: .4byte gUnknown_0201A4D0 -_08006570: .4byte gUnknown_0202C5B4 -_08006574: .4byte gUnknown_0202A1C0 -_08006578: .4byte gUnknown_0202A390 -_0800657C: - lsls r1, r2, #1 - adds r0, r1, r6 - movs r2, #0 - ldrsh r0, [r0, r2] - cmp r0, #1 - bne _08006594 - ldrh r0, [r4] - cmp r0, #4 - bne _08006594 - adds r1, r1, r5 - movs r0, #3 -_08006592: - strh r0, [r1] -_08006594: - adds r4, #2 - adds r3, #1 - cmp r3, #0x1b - ble _08006540 - mov r7, r8 - ldrh r0, [r7] - cmp r0, #0xf - bne _080065AA - movs r0, #1 - rsbs r0, r0, #0 - b _080065CC -_080065AA: - movs r3, #0 - ldr r5, _080065D8 @ =gUnknown_0201A4D0 - movs r4, #0 -_080065B0: - adds r2, r3, #1 - lsls r0, r3, #2 - movs r1, #1 - adds r0, r0, r5 - adds r0, #2 -_080065BA: - strh r4, [r0] - subs r0, #2 - subs r1, #1 - cmp r1, #0 - bge _080065BA - adds r3, r2, #0 - cmp r3, #7 - ble _080065B0 -_080065CA: - movs r0, #0 -_080065CC: - add sp, #0x38 - pop {r3} - mov r8, r3 - pop {r4, r5, r6, r7} - pop {r1} - bx r1 - .align 2, 0 -_080065D8: .4byte gUnknown_0201A4D0 - thumb_func_start sub_65DC sub_65DC: @ 0x080065DC push {r4, r5, r6, r7, lr} diff --git a/expected_objs/sub_6144.o b/expected_objs/sub_6144.o deleted file mode 100644 index fe59e6c..0000000 Binary files a/expected_objs/sub_6144.o and /dev/null differ diff --git a/expected_objs/sub_639C.o b/expected_objs/sub_639C.o deleted file mode 100644 index 6455363..0000000 Binary files a/expected_objs/sub_639C.o and /dev/null differ diff --git a/src/pokedex.c b/src/pokedex.c index b80d4ac..995c289 100644 --- a/src/pokedex.c +++ b/src/pokedex.c @@ -24,14 +24,14 @@ static void sub_599C(void); static void sub_5E60(void); int sub_639C(void); int sub_65DC(void); -int sub_5EEC(void); -int sub_6144(void); +static int sub_5EEC(void); +static int sub_6144(void); extern u16 gUnknown_0201C180; extern u16 gUnknown_0202C5B4; extern s8 gUnknown_0201C1BC; -extern u8 gUnknown_0202C544; -extern u8 gUnknown_0202BECC; +extern s8 gUnknown_0202C544; +extern s8 gUnknown_0202BECC; extern const struct SpriteSet *const gUnknown_086A6148[]; extern u16 gUnknown_0202BF08; @@ -581,7 +581,7 @@ void sub_49D0(void) gUnknown_0201A510++; - if ((gUnknown_0202ADD0 & 0x7f0000) && (gUnknown_0201B128 == -1)) + if ((gUnknown_0202ADD0 & 0x7f0000) && gUnknown_0201B128 == -1) { gUnknown_0201A444++; if (0xB4 < gUnknown_0201A444) @@ -1336,7 +1336,7 @@ s16 sub_5EC8(void) return result; } -int sub_5EEC(void) +static int sub_5EEC(void) { int i; u16 var0; @@ -1409,3 +1409,165 @@ int sub_5EEC(void) gUnknown_0201C180++; return 0; } + +static int sub_6144(void) +{ + int i; + u16 var0; + + if (gUnknown_0201B128 == 0) + { + switch (gUnknown_0202C544) + { + case 0: + if (JOY_NEW(A_BUTTON)) + { + gUnknown_0202C5F0[0] = 0xFEFE; + } + else + { + for (i = 0; i < 8; i++) + gUnknown_0202C5F0[i] = 0; + } + return 0; + case 1: + gUnknown_0202C5F0[0] = 0xECEC; + return 0; + } + return 0; + } + else if (gUnknown_0201C180 < 8) + { + for (i = 0; i < 8; i++) + gUnknown_0202C5F0[i] = 0xDDDD; + } + else if (gUnknown_0201C180 < 16) + { + var0 = (gUnknown_0201C180 - 8) * 28; + gUnknown_0202C5F0[0] = gUnknown_0201C180; + gUnknown_0202C5F0[1] = gUnknown_0202A1C0[var0] | + (gUnknown_0202A1C0[var0 + 1] << 4) | + (gUnknown_0202A1C0[var0 + 2] << 8) | + (gUnknown_0202A1C0[var0 + 3] << 12); + gUnknown_0202C5F0[2] = gUnknown_0202A1C0[var0 + 4] | + (gUnknown_0202A1C0[var0 + 5] << 4) | + (gUnknown_0202A1C0[var0 + 6] << 8) | + (gUnknown_0202A1C0[var0 + 7] << 12); + gUnknown_0202C5F0[3] = gUnknown_0202A1C0[var0 + 8] | + (gUnknown_0202A1C0[var0 + 9] << 4) | + (gUnknown_0202A1C0[var0 + 10] << 8) | + (gUnknown_0202A1C0[var0 + 11] << 12); + gUnknown_0202C5F0[4] = gUnknown_0202A1C0[var0 + 12] | + (gUnknown_0202A1C0[var0 + 13] << 4) | + (gUnknown_0202A1C0[var0 + 14] << 8) | + (gUnknown_0202A1C0[var0 + 15] << 12); + gUnknown_0202C5F0[5] = gUnknown_0202A1C0[var0 + 16] | + (gUnknown_0202A1C0[var0 + 17] << 4) | + (gUnknown_0202A1C0[var0 + 18] << 8) | + (gUnknown_0202A1C0[var0 + 19] << 12); + gUnknown_0202C5F0[6] = gUnknown_0202A1C0[var0 + 20] | + (gUnknown_0202A1C0[var0 + 21] << 4) | + (gUnknown_0202A1C0[var0 + 22] << 8) | + (gUnknown_0202A1C0[var0 + 23] << 12); + gUnknown_0202C5F0[7] = gUnknown_0202A1C0[var0 + 24] | + (gUnknown_0202A1C0[var0 + 25] << 4) | + (gUnknown_0202A1C0[var0 + 26] << 8) | + (gUnknown_0202A1C0[var0 + 27] << 12); + } + else + { + for (i = 0; i < 8; i++) + gUnknown_0202C5F0[i] = 0; + } + + gUnknown_0201C180++; + return 0; +} + +int sub_639C(void) +{ + int i, j; + u16 var0; + u16 arr0[28]; + + if (gUnknown_0201B128 == 0) + { + switch (gUnknown_0201C1BC) + { + case 0: + if (gUnknown_0201A4D0[0][0] == 0xFEFE || gUnknown_0201A4D0[0][1] == 0xFEFE) + { + gUnknown_0201C1BC = 1; + } + break; + case 1: + if (gUnknown_0201A4D0[0][0] == 0xECEC && gUnknown_0201A4D0[0][1] == 0xECEC) + { + gUnknown_0201B128 = -1; + gUnknown_0202BEFC = 1; + gUnknown_0201C180 = 1; + } + else if (++gUnknown_0202BECC > 10) + { + return 1; + } + break; + } + } + else + { + u16 var1 = gUnknown_0201A4D0[0][1] - 8; + if (var1 > 7) + return 0; + + gUnknown_0202C5B4 = gUnknown_0201A4D0[0][1]; + arr0[0] = gUnknown_0201A4D0[0][3] & 0xF; + arr0[1] = (gUnknown_0201A4D0[0][3] & 0xF0) >> 4; + arr0[2] = (gUnknown_0201A4D0[0][3] & 0xF00) >> 8; + arr0[3] = (gUnknown_0201A4D0[0][3] & 0xF000) >> 12; + arr0[4] = gUnknown_0201A4D0[0][5] & 0xF; + arr0[5] = (gUnknown_0201A4D0[0][5] & 0xF0) >> 4; + arr0[6] = (gUnknown_0201A4D0[0][5] & 0xF00) >> 8; + arr0[7] = (gUnknown_0201A4D0[0][5] & 0xF000) >> 12; + arr0[8] = gUnknown_0201A4D0[0][7] & 0xF; + arr0[9] = (gUnknown_0201A4D0[0][7] & 0xF0) >> 4; + arr0[10] = (gUnknown_0201A4D0[0][7] & 0xF00) >> 8; + arr0[11] = (gUnknown_0201A4D0[0][7] & 0xF000) >> 12; + arr0[12] = gUnknown_0201A4D0[0][9] & 0xF; + arr0[13] = (gUnknown_0201A4D0[0][9] & 0xF0) >> 4; + arr0[14] = (gUnknown_0201A4D0[0][9] & 0xF00) >> 8; + arr0[15] = (gUnknown_0201A4D0[0][9] & 0xF000) >> 12; + arr0[16] = gUnknown_0201A4D0[0][11] & 0xF; + arr0[17] = (gUnknown_0201A4D0[0][11] & 0xF0) >> 4; + arr0[18] = (gUnknown_0201A4D0[0][11] & 0xF00) >> 8; + arr0[19] = (gUnknown_0201A4D0[0][11] & 0xF000) >> 12; + arr0[20] = gUnknown_0201A4D0[0][13] & 0xF; + arr0[21] = (gUnknown_0201A4D0[0][13] & 0xF0) >> 4; + arr0[22] = (gUnknown_0201A4D0[0][13] & 0xF00) >> 8; + arr0[23] = (gUnknown_0201A4D0[0][13] & 0xF000) >> 12; + arr0[24] = gUnknown_0201A4D0[0][15] & 0xF; + arr0[25] = (gUnknown_0201A4D0[0][15] & 0xF0) >> 4; + arr0[26] = (gUnknown_0201A4D0[0][15] & 0xF00) >> 8; + arr0[27] = (gUnknown_0201A4D0[0][15] & 0xF000) >> 12; + + for (i = 0; i < 28; i++) + { + var0 = (gUnknown_0202C5B4 - 8) * 28 + i; + if (gUnknown_0202A1C0[var0] == 0 && arr0[i] == 4) + gUnknown_0202A390[var0] = 2; + else if (gUnknown_0202A1C0[var0] == 1 && arr0[i] == 4) + gUnknown_0202A390[var0] = 3; + } + + if (gUnknown_0202C5B4 == 15) + return -1; + } + + for (i = 0; i < 8; i++) + { + for (j = 0; j < 2; j++) + gUnknown_0201A4D0[i][j] = 0; + } + + return 0; +}