.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 thumb_func_start sub_0801855C sub_0801855C: @ 0x0801855C push {r4, r5, r6, lr} ldr r4, _08018570 @ =gUnk_02033AB8 adds r0, r4, #0 movs r1, #0x14 bl MemClear adds r5, r4, #0 ldr r4, _08018574 @ =gUnk_080B3D20 movs r6, #0 b _0801858C .align 2, 0 _08018570: .4byte gUnk_02033AB8 _08018574: .4byte gUnk_080B3D20 _08018578: adds r0, r4, #0 bl sub_080185B4 cmp r0, #0 beq _08018584 ldrb r6, [r5, #3] _08018584: ldrb r0, [r5, #3] adds r0, #1 strb r0, [r5, #3] adds r4, #4 _0801858C: ldrb r0, [r4] cmp r0, #0xff bne _08018578 strb r6, [r5, #3] ldrb r0, [r5, #3] lsls r0, r0, #2 ldr r1, _080185B0 @ =gUnk_080B3D20 adds r4, r0, r1 ldrb r0, [r4, #2] strb r0, [r5] ldrb r0, [r4, #3] strb r0, [r5, #1] adds r0, r6, #1 strb r0, [r5, #3] bl sub_08018500 pop {r4, r5, r6, pc} .align 2, 0 _080185B0: .4byte gUnk_080B3D20 thumb_func_start sub_080185B4 sub_080185B4: @ 0x080185B4 push {lr} adds r2, r0, #0 ldrb r0, [r2] cmp r0, #0xff bne _080185C2 movs r0, #0 b _080185F6 _080185C2: cmp r0, #0xfe bne _080185D4 ldrb r0, [r2, #1] bl GetInventoryValue cmp r0, #0 beq _080185F6 movs r0, #1 b _080185F6 _080185D4: cmp r0, #0xfd beq _080185F0 ldr r1, _080185EC @ =gLocalFlagBanks ldrb r0, [r2] lsls r0, r0, #1 adds r0, r0, r1 ldrh r0, [r0] ldrb r1, [r2, #1] bl CheckLocalFlagByBank b _080185F6 .align 2, 0 _080185EC: .4byte gLocalFlagBanks _080185F0: ldrb r0, [r2, #1] bl CheckKinstoneFused _080185F6: pop {pc} thumb_func_start sub_080185F8 sub_080185F8: @ 0x080185F8 push {r4, r5, lr} ldr r5, _08018624 @ =gUnk_02033AB8 ldrb r0, [r5, #3] lsls r0, r0, #2 ldr r1, _08018628 @ =gUnk_080B3D20 adds r4, r0, r1 adds r0, r4, #0 bl sub_080185B4 cmp r0, #0 beq _08018620 ldrb r0, [r4, #2] strb r0, [r5] ldrb r0, [r4, #3] strb r0, [r5, #1] ldrb r0, [r5, #3] adds r0, #1 strb r0, [r5, #3] bl sub_08018500 _08018620: pop {r4, r5, pc} .align 2, 0 _08018624: .4byte gUnk_02033AB8 _08018628: .4byte gUnk_080B3D20 thumb_func_start GenerateAreaHint GenerateAreaHint: @ 0x0801862C push {r4, r5, lr} ldr r1, _0801864C @ =gPlayerState movs r2, #0 movs r0, #0x16 strb r0, [r1, #0xc] ldr r5, _08018650 @ =gRoomTransition adds r0, r5, #0 .ifdef JP adds r0, #0x34 .else .ifdef EU adds r0, #0x34 .else adds r0, #0x35 .endif .endif strb r2, [r0] ldr r4, _08018654 @ =gUnk_02033AB8 ldrb r0, [r4] cmp r0, #0xff bne _08018658 ldrh r0, [r4, #4] strh r0, [r5, #0x36] b _0801868C .align 2, 0 _0801864C: .4byte gPlayerState _08018650: .4byte gRoomTransition _08018654: .4byte gUnk_02033AB8 _08018658: ldrb r0, [r4, #2] lsls r0, r0, #1 adds r1, r4, #4 adds r0, r0, r1 ldrh r0, [r0] strh r0, [r5, #0x36] ldrb r0, [r4, #2] adds r0, #1 strb r0, [r4, #2] lsls r0, r0, #0x18 lsrs r0, r0, #0x18 cmp r0, #7 bls _0801868C movs r0, #0 strb r0, [r4, #2] movs r0, #8 bl sub_08018690 ldrh r0, [r4, #4] ldrh r5, [r5, #0x36] cmp r0, r5 bne _0801868C adds r1, r0, #0 ldrh r0, [r4, #0x12] strh r0, [r4, #4] strh r1, [r4, #0x12] _0801868C: pop {r4, r5, pc} .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 thumb_func_start sub_080186C0 sub_080186C0: @ 0x080186C0 ldr r3, _080186D0 @ =gArea adds r2, r3, #0 adds r2, #0x28 movs r1, #0xff strb r1, [r2] strh r0, [r3, #0x2c] bx lr .align 2, 0 _080186D0: .4byte gArea thumb_func_start sub_080186D4 sub_080186D4: @ 0x080186D4 push {lr} ldr r0, _080186E8 @ =gArea adds r0, #0x28 ldrb r0, [r0] cmp r0, #0xff bne _080186E4 bl sub_0801855C _080186E4: pop {pc} .align 2, 0 _080186E8: .4byte gArea thumb_func_start sub_080186EC sub_080186EC: @ 0x080186EC push {r4, r5, lr} movs r5, #0 ldr r4, _0801870C @ =gUnk_080C9CBC _080186F2: ldrb r0, [r4, #3] cmp r0, #8 bne _08018700 ldrb r1, [r4, #4] adds r0, r5, #0 bl sub_08018738 _08018700: adds r4, #8 adds r5, #1 cmp r5, #0x64 bls _080186F2 pop {r4, r5, pc} .align 2, 0 _0801870C: .4byte gUnk_080C9CBC thumb_func_start sub_08018710 sub_08018710: @ 0x08018710 push {r4, r5, r6, lr} adds r6, r0, #0 movs r5, #0 ldr r4, _08018734 @ =gUnk_080C9CBC _08018718: ldrb r0, [r4, #3] cmp r0, #8 bne _0801872A ldrb r1, [r4, #4] cmp r6, r1 beq _0801872A adds r0, r5, #0 bl sub_08018738 _0801872A: adds r4, #8 adds r5, #1 cmp r5, #0x64 bls _08018718 pop {r4, r5, r6, pc} .align 2, 0 _08018734: .4byte gUnk_080C9CBC thumb_func_start sub_08018738 sub_08018738: @ 0x08018738 push {r4, lr} adds r2, r0, #0 adds r4, r1, #0 lsls r0, r4, #2 adds r0, r0, r4 lsls r0, r0, #2 ldr r1, _08018764 @ =gUnk_080FE320 adds r0, r0, r1 ldr r1, _08018768 @ =gRoomControls ldrh r0, [r0, #2] ldrh r1, [r1, #4] cmp r0, r1 bne _08018760 adds r0, r2, #0 bl CheckKinstoneFused adds r1, r0, #0 adds r0, r4, #0 bl sub_0801876C _08018760: pop {r4, pc} .align 2, 0 _08018764: .4byte gUnk_080FE320 _08018768: .4byte gRoomControls thumb_func_start sub_0801876C sub_0801876C: @ 0x0801876C push {r4, r5, lr} adds r2, r0, #0 adds r4, r1, #0 lsls r0, r2, #2 adds r0, r0, r2 lsls r0, r0, #2 ldr r1, _08018790 @ =gUnk_080FE320 adds r5, r0, r1 ldrb r0, [r5] cmp r0, #0x1c bls _08018784 b _080189E4 _08018784: lsls r0, r0, #2 ldr r1, _08018794 @ =_08018798 adds r0, r0, r1 ldr r0, [r0] mov pc, r0 .align 2, 0 _08018790: .4byte gUnk_080FE320 _08018794: .4byte _08018798 _08018798: @ jump table .4byte _080189E4 @ case 0 .4byte _08018838 @ case 1 .4byte _0801882A @ case 2 .4byte _08018858 @ case 3 .4byte _08018878 @ case 4 .4byte _08018886 @ case 5 .4byte _0801880C @ case 6 .4byte _08018894 @ case 7 .4byte _080188E0 @ case 8 .4byte _08018930 @ case 9 .4byte _080189E4 @ case 10 .4byte _080188FE @ case 11 .4byte _080189E4 @ case 12 .4byte _080189E4 @ case 13 .4byte _080189E4 @ case 14 .4byte _080189B4 @ case 15 .4byte _080189E4 @ case 16 .4byte _080189D0 @ case 17 .4byte _080189E4 @ case 18 .4byte _080189E4 @ case 19 .4byte _080189E4 @ case 20 .4byte _080189E4 @ case 21 .4byte _080189E4 @ case 22 .4byte _080189E4 @ case 23 .4byte _080189A4 @ case 24 .4byte _080188B8 @ case 25 .4byte _080189E4 @ case 26 .4byte _080189E4 @ case 27 .4byte _080189E4 @ case 28 _0801880C: cmp r4, #0 beq _08018812 b _080189E4 _08018812: ldrh r0, [r5, #8] lsrs r0, r0, #4 movs r2, #0x3f ands r0, r2 ldrh r1, [r5, #0xa] lsrs r1, r1, #4 ands r1, r2 lsls r1, r1, #6 orrs r0, r1 bl sub_08018AB4 b _080189E4 _0801882A: cmp r4, #0 bne _08018830 b _080189E4 _08018830: adds r0, r2, #0 bl sub_08018BB4 b _080189E4 _08018838: cmp r4, #0 bne _0801883E b _080189E4 _0801883E: ldrh r0, [r5, #0x12] bl CheckGlobalFlag cmp r0, #0 beq _0801884A b _080189E4 _0801884A: ldrb r0, [r5, #1] lsls r0, r0, #4 ldr r1, _08018854 @ =gUnk_080FEC28 b _080188A4 .align 2, 0 _08018854: .4byte gUnk_080FEC28 _08018858: cmp r4, #0 bne _0801885E b _080189E4 _0801885E: ldrh r0, [r5, #0x12] bl GetInventoryValue cmp r0, #0 beq _0801886A b _080189E4 _0801886A: ldrb r0, [r5, #1] lsls r0, r0, #4 ldr r1, _08018874 @ =gUnk_080FEBE8 b _080188A4 .align 2, 0 _08018874: .4byte gUnk_080FEBE8 _08018878: cmp r4, #0 beq _0801887E b _080189E4 _0801887E: adds r0, r2, #0 bl sub_08018A58 b _080189E4 _08018886: cmp r4, #0 bne _0801888C b _080189E4 _0801888C: adds r0, r2, #0 bl sub_08018B50 b _080189E4 _08018894: cmp r4, #0 beq _0801889A b _080189E4 _0801889A: ldrb r0, [r5, #1] cmp r0, #0x80 beq _080188B0 lsls r0, r0, #4 ldr r1, _080188AC @ =gUnk_080FECC8 _080188A4: adds r0, r0, r1 bl LoadRoomEntity b _080189E4 .align 2, 0 _080188AC: .4byte gUnk_080FECC8 _080188B0: adds r0, r2, #0 bl sub_080189EC b _080189E4 _080188B8: ldrb r0, [r5, #1] lsls r0, r0, #4 ldr r1, _080188DC @ =gUnk_080FED18 adds r0, r0, r1 bl LoadRoomEntity adds r2, r0, #0 cmp r2, #0 bne _080188CC b _080189E4 _080188CC: rsbs r0, r4, #0 orrs r0, r4 asrs r0, r0, #0x1f movs r1, #2 ands r0, r1 strb r0, [r2, #0xa] b _080189E4 .align 2, 0 _080188DC: .4byte gUnk_080FED18 _080188E0: cmp r4, #0 bne _080188E6 b _080189E4 _080188E6: movs r0, #0xb4 lsls r0, r0, #1 ldrh r1, [r5, #8] lsrs r1, r1, #4 movs r3, #0x3f ands r1, r3 ldrh r2, [r5, #0xa] lsrs r2, r2, #4 ands r2, r3 lsls r2, r2, #6 orrs r1, r2 b _0801899C _080188FE: cmp r4, #0 beq _080189E4 ldrb r0, [r5, #1] lsls r0, r0, #4 ldr r1, _08018924 @ =gUnk_080FED58 adds r0, r0, r1 bl LoadRoomEntity ldr r2, _08018928 @ =gRoomVars ldrb r0, [r5, #1] lsls r0, r0, #2 adds r2, #0x8c adds r2, r0, r2 ldr r1, _0801892C @ =gUnk_080FED98 adds r0, r0, r1 ldr r0, [r0] str r0, [r2] b _080189E4 .align 2, 0 _08018924: .4byte gUnk_080FED58 _08018928: .4byte gRoomVars _0801892C: .4byte gUnk_080FED98 _08018930: cmp r4, #0 beq _080189E4 ldrb r0, [r5, #1] lsls r0, r0, #4 ldr r1, _08018974 @ =gUnk_080FEE78 adds r0, r0, r1 bl LoadRoomEntity adds r2, r0, #0 cmp r2, #0 beq _08018958 ldr r0, _08018978 @ =gRoomControls ldrh r1, [r0, #6] ldrh r3, [r5, #8] adds r1, r1, r3 strh r1, [r2, #0x38] ldrh r0, [r0, #8] ldrh r1, [r5, #0xa] adds r0, r0, r1 strh r0, [r2, #0x3a] _08018958: ldrb r0, [r5, #1] cmp r0, #0 bne _0801897C ldrh r1, [r5, #8] lsrs r1, r1, #4 movs r2, #0x3f ands r1, r2 ldrh r0, [r5, #0xa] lsrs r0, r0, #4 ands r0, r2 lsls r0, r0, #6 orrs r1, r0 movs r0, #0x8d b _0801899C .align 2, 0 _08018974: .4byte gUnk_080FEE78 _08018978: .4byte gRoomControls _0801897C: ldrh r4, [r5, #8] lsrs r4, r4, #4 movs r1, #0x3f ands r4, r1 ldrh r0, [r5, #0xa] lsrs r0, r0, #4 ands r0, r1 lsls r0, r0, #6 orrs r4, r0 subs r1, r4, #1 movs r0, #0x8c movs r2, #1 bl SetTileType movs r0, #0x8e adds r1, r4, #0 _0801899C: movs r2, #1 bl SetTileType b _080189E4 _080189A4: cmp r4, #0 beq _080189E4 ldr r0, _080189B0 @ =gUnk_080FEE18 bl LoadRoomEntityList b _080189E4 .align 2, 0 _080189B0: .4byte gUnk_080FEE18 _080189B4: cmp r4, #0 beq _080189C4 ldr r0, _080189C0 @ =gUnk_080FEE58 bl LoadRoomEntity b _080189E4 .align 2, 0 _080189C0: .4byte gUnk_080FEE58 _080189C4: ldr r0, _080189CC @ =gUnk_080FEE48 bl LoadRoomEntity b _080189E4 .align 2, 0 _080189CC: .4byte gUnk_080FEE48 _080189D0: cmp r4, #0 beq _080189E4 movs r0, #0x80 lsls r0, r0, #1 .ifdef JP movs r1, #0x77 .else .ifdef EU movs r1, #0x77 .else .ifdef DEMO_JP movs r1, #0x77 @ TODO deduplicate .else movs r1, #0x79 .endif .endif .endif bl SetLocalFlagByBank ldr r0, _080189E8 @ =gUnk_080FEE38 bl LoadRoomEntityList _080189E4: pop {r4, r5, pc} .align 2, 0 _080189E8: .4byte gUnk_080FEE38 thumb_func_start sub_080189EC sub_080189EC: @ 0x080189EC push {r4, r5, r6, lr} lsls r1, r0, #2 adds r1, r1, r0 lsls r1, r1, #2 ldr r0, _08018A48 @ =gUnk_080FE320 adds r1, r1, r0 ldrh r0, [r1, #8] lsrs r6, r0, #4 movs r2, #0x3f ands r6, r2 ldrh r0, [r1, #0xa] lsrs r0, r0, #4 ands r0, r2 lsls r0, r0, #6 orrs r6, r0 subs r6, #0x42 movs r5, #0 _08018A0E: ldr r1, _08018A4C @ =0x000001DF adds r0, r5, r1 adds r1, r6, r5 movs r2, #2 bl SetTileType adds r5, #1 cmp r5, #3 bls _08018A0E adds r6, #0x40 movs r5, #0 _08018A24: ldr r1, _08018A50 @ =0x000001E3 adds r0, r5, r1 adds r4, r6, r5 adds r1, r4, #0 movs r2, #2 bl SetTileType ldr r1, _08018A54 @ =0x000001DB adds r0, r5, r1 adds r1, r4, #0 movs r2, #1 bl SetTileType adds r5, #1 cmp r5, #3 bls _08018A24 pop {r4, r5, r6, pc} .align 2, 0 _08018A48: .4byte gUnk_080FE320 _08018A4C: .4byte 0x000001DF _08018A50: .4byte 0x000001E3 _08018A54: .4byte 0x000001DB thumb_func_start sub_08018A58 sub_08018A58: @ 0x08018A58 push {r4, r5, r6, r7, lr} mov r7, r8 push {r7} lsls r1, r0, #2 adds r1, r1, r0 lsls r1, r1, #2 ldr r0, _08018AAC @ =gUnk_080FE320 adds r1, r1, r0 ldrh r0, [r1, #8] lsrs r5, r0, #4 movs r2, #0x3f ands r5, r2 ldrh r0, [r1, #0xa] lsrs r0, r0, #4 ands r0, r2 lsls r0, r0, #6 orrs r5, r0 subs r5, #0x43 ldr r6, _08018AB0 @ =0x00000232 movs r0, #0 _08018A80: movs r4, #0 movs r1, #0x40 adds r1, r1, r5 mov r8, r1 adds r7, r0, #1 _08018A8A: adds r0, r6, #0 adds r6, #1 adds r1, r5, r4 movs r2, #1 bl SetTileType adds r4, #1 cmp r4, #6 bls _08018A8A mov r5, r8 adds r0, r7, #0 cmp r0, #3 bls _08018A80 pop {r3} mov r8, r3 pop {r4, r5, r6, r7, pc} .align 2, 0 _08018AAC: .4byte gUnk_080FE320 _08018AB0: .4byte 0x00000232 thumb_func_start sub_08018AB4 sub_08018AB4: @ 0x08018AB4 push {r4, r5, r6, r7, lr} mov r7, sb mov r6, r8 push {r6, r7} sub sp, #4 adds r5, r0, #0 movs r3, #0xf4 lsls r3, r3, #1 movs r7, #0xfa lsls r7, r7, #1 movs r0, #0 _08018ACA: movs r6, #0 movs r1, #0x40 adds r1, r1, r5 mov r8, r1 adds r0, #1 mov sb, r0 adds r4, r5, #0 subs r4, #0x40 _08018ADA: adds r0, r3, #0 adds r3, #1 adds r1, r5, r6 movs r2, #1 str r3, [sp] bl SetTileType adds r0, r7, #0 adds r7, #1 adds r1, r4, #0 movs r2, #2 bl SetTileType adds r4, #1 adds r6, #1 ldr r3, [sp] cmp r6, #3 bls _08018ADA mov r5, r8 mov r0, sb cmp r0, #2 bls _08018ACA add sp, #4 pop {r3, r4} mov r8, r3 mov sb, r4 pop {r4, r5, r6, r7, pc} thumb_func_start sub_08018B10 sub_08018B10: @ 0x08018B10 push {r4, r5, r6, r7, lr} mov r7, r8 push {r7} adds r6, r0, #0 movs r0, #0xf8 lsls r0, r0, #1 mov r8, r0 movs r7, #0xfe lsls r7, r7, #1 movs r5, #0 adds r4, r6, #0 subs r4, #0x40 _08018B28: mov r0, r8 movs r1, #1 add r8, r1 adds r1, r6, r5 movs r2, #1 bl SetTileType adds r0, r7, #0 adds r7, #1 adds r1, r4, #0 movs r2, #2 bl SetTileType adds r4, #1 adds r5, #1 cmp r5, #3 bls _08018B28 pop {r3} mov r8, r3 pop {r4, r5, r6, r7, pc} thumb_func_start sub_08018B50 sub_08018B50: @ 0x08018B50 push {r4, r5, r6, r7, lr} sub sp, #4 lsls r1, r0, #2 adds r1, r1, r0 lsls r1, r1, #2 ldr r0, _08018BAC @ =gUnk_080FE320 adds r2, r1, r0 ldrb r1, [r2, #1] movs r0, #0x80 ands r0, r1 ldr r3, _08018BB0 @ =0x00000219 cmp r0, #0 bne _08018B6C subs r3, #0x19 _08018B6C: ldrh r0, [r2, #8] lsrs r5, r0, #4 movs r1, #0x3f ands r5, r1 ldrh r0, [r2, #0xa] lsrs r0, r0, #4 ands r0, r1 lsls r0, r0, #6 orrs r5, r0 subs r5, #0x82 movs r0, #0 _08018B82: movs r4, #0 adds r6, r5, #0 adds r6, #0x40 adds r7, r0, #1 _08018B8A: adds r0, r3, #0 adds r3, #1 adds r1, r5, r4 movs r2, #1 str r3, [sp] bl SetTileType adds r4, #1 ldr r3, [sp] cmp r4, #4 bls _08018B8A adds r5, r6, #0 adds r0, r7, #0 cmp r0, #4 bls _08018B82 add sp, #4 pop {r4, r5, r6, r7, pc} .align 2, 0 _08018BAC: .4byte gUnk_080FE320 _08018BB0: .4byte 0x00000219 thumb_func_start sub_08018BB4 sub_08018BB4: @ 0x08018BB4 push {r4, r5, lr} sub sp, #8 adds r4, r0, #0 lsls r0, r4, #3 ldr r1, _08018C14 @ =gUnk_080FEAC8 adds r0, r0, r1 mov r5, sp mov r1, sp movs r2, #8 bl MemCopy lsls r0, r4, #2 adds r0, r0, r4 lsls r0, r0, #2 ldr r1, _08018C18 @ =gUnk_080FE320 adds r0, r0, r1 ldrh r1, [r0, #8] lsrs r1, r1, #4 movs r2, #0x3f ands r1, r2 ldrh r0, [r0, #0xa] lsrs r0, r0, #4 ands r0, r2 lsls r0, r0, #6 orrs r1, r0 strh r1, [r5, #4] mov r0, sp bl sub_0804B3C4 ldrb r0, [r5, #1] bl CheckLocalFlag cmp r0, #0 bne _08018C10 ldrh r3, [r5, #4] ldrb r1, [r5, #6] movs r0, #1 ands r0, r1 movs r2, #2 cmp r0, #0 bne _08018C08 movs r2, #1 _08018C08: movs r0, #0x73 adds r1, r3, #0 bl SetTileType _08018C10: add sp, #8 pop {r4, r5, pc} .align 2, 0 _08018C14: .4byte gUnk_080FEAC8 _08018C18: .4byte gUnk_080FE320