mirror of https://github.com/zeldaret/tmc.git
Merge pull request #30 from notyouraveragehooman/master
room loading funcs partially decomped
This commit is contained in:
commit
f816d08720
|
|
@ -350,803 +350,3 @@ _0804B3BA:
|
|||
rsbs r0, r0, #0
|
||||
bl sub_080526F8
|
||||
pop {r4, r5, pc}
|
||||
|
||||
thumb_func_start sub_0804B3C4
|
||||
sub_0804B3C4: @ 0x0804B3C4
|
||||
push {lr}
|
||||
bl sub_0804B29C
|
||||
pop {pc}
|
||||
|
||||
thumb_func_start sub_0804B3CC
|
||||
sub_0804B3CC: @ 0x0804B3CC
|
||||
movs r0, #1
|
||||
bx lr
|
||||
|
||||
thumb_func_start sub_0804B3D0
|
||||
sub_0804B3D0: @ 0x0804B3D0
|
||||
push {lr}
|
||||
movs r0, #0
|
||||
bl sub_08030118
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_0804B3DC
|
||||
sub_0804B3DC: @ 0x0804B3DC
|
||||
movs r0, #1
|
||||
bx lr
|
||||
|
||||
thumb_func_start sub_0804B3E0
|
||||
sub_0804B3E0: @ 0x0804B3E0
|
||||
push {lr}
|
||||
movs r0, #1
|
||||
bl sub_08030118
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_0804B3EC
|
||||
sub_0804B3EC: @ 0x0804B3EC
|
||||
movs r0, #1
|
||||
bx lr
|
||||
|
||||
thumb_func_start sub_0804B3F0
|
||||
sub_0804B3F0: @ 0x0804B3F0
|
||||
push {lr}
|
||||
movs r0, #2
|
||||
bl sub_08030118
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_0804B3FC
|
||||
sub_0804B3FC: @ 0x0804B3FC
|
||||
movs r0, #1
|
||||
bx lr
|
||||
|
||||
thumb_func_start sub_0804B400
|
||||
sub_0804B400: @ 0x0804B400
|
||||
push {lr}
|
||||
movs r0, #3
|
||||
bl sub_08030118
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_0804B40C
|
||||
sub_0804B40C: @ 0x0804B40C
|
||||
movs r0, #1
|
||||
bx lr
|
||||
|
||||
thumb_func_start sub_0804B410
|
||||
sub_0804B410: @ 0x0804B410
|
||||
push {lr}
|
||||
movs r0, #4
|
||||
bl sub_08030118
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_0804B41C
|
||||
sub_0804B41C: @ 0x0804B41C
|
||||
movs r0, #1
|
||||
bx lr
|
||||
|
||||
thumb_func_start sub_0804B420
|
||||
sub_0804B420: @ 0x0804B420
|
||||
push {lr}
|
||||
movs r0, #5
|
||||
bl sub_08030118
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_0804B42C
|
||||
sub_0804B42C: @ 0x0804B42C
|
||||
movs r0, #1
|
||||
bx lr
|
||||
|
||||
thumb_func_start sub_0804B430
|
||||
sub_0804B430: @ 0x0804B430
|
||||
push {lr}
|
||||
movs r0, #6
|
||||
bl sub_08030118
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_0804B43C
|
||||
sub_0804B43C: @ 0x0804B43C
|
||||
movs r0, #1
|
||||
bx lr
|
||||
|
||||
thumb_func_start sub_0804B440
|
||||
sub_0804B440: @ 0x0804B440
|
||||
push {lr}
|
||||
movs r0, #7
|
||||
bl sub_08030118
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_0804B44C
|
||||
sub_0804B44C: @ 0x0804B44C
|
||||
movs r0, #1
|
||||
bx lr
|
||||
|
||||
thumb_func_start sub_0804B450
|
||||
sub_0804B450: @ 0x0804B450
|
||||
push {lr}
|
||||
movs r0, #8
|
||||
bl sub_08030118
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_0804B45C
|
||||
sub_0804B45C: @ 0x0804B45C
|
||||
movs r0, #1
|
||||
bx lr
|
||||
|
||||
thumb_func_start sub_0804B460
|
||||
sub_0804B460: @ 0x0804B460
|
||||
push {lr}
|
||||
movs r0, #9
|
||||
bl sub_08030118
|
||||
ldr r0, _0804B474 @ =gArea
|
||||
movs r1, #3
|
||||
strb r1, [r0, #3]
|
||||
movs r1, #0x4e
|
||||
strb r1, [r0]
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_0804B474: .4byte gArea
|
||||
|
||||
thumb_func_start sub_0804B478
|
||||
sub_0804B478: @ 0x0804B478
|
||||
movs r0, #1
|
||||
bx lr
|
||||
|
||||
thumb_func_start sub_0804B47C
|
||||
sub_0804B47C: @ 0x0804B47C
|
||||
push {lr}
|
||||
movs r0, #0xa
|
||||
bl sub_08030118
|
||||
ldr r0, _0804B490 @ =gArea
|
||||
movs r1, #3
|
||||
strb r1, [r0, #3]
|
||||
movs r1, #0x4e
|
||||
strb r1, [r0]
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_0804B490: .4byte gArea
|
||||
|
||||
thumb_func_start sub_0804B494
|
||||
sub_0804B494: @ 0x0804B494
|
||||
movs r0, #1
|
||||
bx lr
|
||||
|
||||
thumb_func_start sub_0804B498
|
||||
sub_0804B498: @ 0x0804B498
|
||||
push {lr}
|
||||
movs r0, #0x23
|
||||
bl sub_080575C8
|
||||
bl sub_08057688
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_0804B4A8
|
||||
sub_0804B4A8: @ 0x0804B4A8
|
||||
movs r0, #1
|
||||
bx lr
|
||||
|
||||
thumb_func_start sub_0804B4AC
|
||||
sub_0804B4AC: @ 0x0804B4AC
|
||||
push {lr}
|
||||
movs r0, #0x23
|
||||
bl sub_080575C8
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_0804B4B8
|
||||
sub_0804B4B8: @ 0x0804B4B8
|
||||
push {lr}
|
||||
movs r0, #0x23
|
||||
bl sub_080575C8
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_0804B4C4
|
||||
sub_0804B4C4: @ 0x0804B4C4
|
||||
movs r0, #1
|
||||
bx lr
|
||||
|
||||
thumb_func_start sub_0804B4C8
|
||||
sub_0804B4C8: @ 0x0804B4C8
|
||||
push {lr}
|
||||
movs r0, #0x22
|
||||
bl sub_080580B0
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_0804B4D4
|
||||
sub_0804B4D4: @ 0x0804B4D4
|
||||
push {lr}
|
||||
movs r0, #0x22
|
||||
bl sub_080580B0
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_0804B4E0
|
||||
sub_0804B4E0: @ 0x0804B4E0
|
||||
movs r0, #1
|
||||
bx lr
|
||||
|
||||
thumb_func_start sub_0804B4E4
|
||||
sub_0804B4E4: @ 0x0804B4E4
|
||||
push {lr}
|
||||
movs r0, #0x22
|
||||
bl sub_080580B0
|
||||
movs r0, #2
|
||||
bl GetInventoryValue
|
||||
cmp r0, #0
|
||||
beq _0804B4FC
|
||||
movs r0, #0x56
|
||||
bl SetGlobalFlag
|
||||
_0804B4FC:
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_0804B500
|
||||
sub_0804B500: @ 0x0804B500
|
||||
push {lr}
|
||||
movs r0, #0x22
|
||||
bl sub_080580B0
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_0804B50C
|
||||
sub_0804B50C: @ 0x0804B50C
|
||||
movs r0, #1
|
||||
bx lr
|
||||
|
||||
thumb_func_start sub_0804B510
|
||||
sub_0804B510: @ 0x0804B510
|
||||
push {lr}
|
||||
movs r0, #0x1e
|
||||
bl sub_080575C8
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_0804B51C
|
||||
sub_0804B51C: @ 0x0804B51C
|
||||
push {lr}
|
||||
movs r0, #0x1e
|
||||
bl sub_080575C8
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_0804B528
|
||||
sub_0804B528: @ 0x0804B528
|
||||
movs r0, #1
|
||||
bx lr
|
||||
|
||||
thumb_func_start sub_0804B52C
|
||||
sub_0804B52C: @ 0x0804B52C
|
||||
push {lr}
|
||||
movs r0, #0x21
|
||||
bl sub_080575C8
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_0804B538
|
||||
sub_0804B538: @ 0x0804B538
|
||||
push {lr}
|
||||
movs r0, #0x21
|
||||
bl sub_080575C8
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_0804B544
|
||||
sub_0804B544: @ 0x0804B544
|
||||
movs r0, #1
|
||||
bx lr
|
||||
|
||||
thumb_func_start sub_0804B548
|
||||
sub_0804B548: @ 0x0804B548
|
||||
push {lr}
|
||||
movs r0, #0x1f
|
||||
bl sub_080575C8
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_0804B554
|
||||
sub_0804B554: @ 0x0804B554
|
||||
push {lr}
|
||||
movs r0, #0x1f
|
||||
bl sub_080575C8
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_0804B560
|
||||
sub_0804B560: @ 0x0804B560
|
||||
movs r0, #1
|
||||
bx lr
|
||||
|
||||
thumb_func_start sub_0804B564
|
||||
sub_0804B564: @ 0x0804B564
|
||||
push {lr}
|
||||
movs r0, #0x20
|
||||
bl sub_080575C8
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_0804B570
|
||||
sub_0804B570: @ 0x0804B570
|
||||
push {lr}
|
||||
movs r0, #0x20
|
||||
bl sub_080575C8
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_0804B57C
|
||||
sub_0804B57C: @ 0x0804B57C
|
||||
movs r0, #1
|
||||
bx lr
|
||||
|
||||
thumb_func_start sub_0804B580
|
||||
sub_0804B580: @ 0x0804B580
|
||||
push {lr}
|
||||
movs r0, #0x20
|
||||
bl sub_080575C8
|
||||
ldr r0, _0804B5A0 @ =gLinkEntity
|
||||
movs r1, #0x32
|
||||
ldrsh r0, [r0, r1]
|
||||
ldr r1, _0804B5A4 @ =gRoomControls
|
||||
ldrh r1, [r1, #8]
|
||||
subs r0, r0, r1
|
||||
cmp r0, #0x40
|
||||
ble _0804B59E
|
||||
ldr r0, _0804B5A8 @ =gUnk_080D6138
|
||||
bl LoadRoomEntityList
|
||||
_0804B59E:
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_0804B5A0: .4byte gLinkEntity
|
||||
_0804B5A4: .4byte gRoomControls
|
||||
_0804B5A8: .4byte gUnk_080D6138
|
||||
|
||||
thumb_func_start sub_0804B5AC
|
||||
sub_0804B5AC: @ 0x0804B5AC
|
||||
push {lr}
|
||||
movs r0, #0x20
|
||||
bl sub_080575C8
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
|
||||
thumb_func_start sub_0804B5B8
|
||||
sub_0804B5B8: @ 0x0804B5B8
|
||||
movs r0, #1
|
||||
bx lr
|
||||
|
||||
thumb_func_start sub_0804B5BC
|
||||
sub_0804B5BC: @ 0x0804B5BC
|
||||
push {lr}
|
||||
ldr r0, _0804B5D0 @ =gUnk_030010A0
|
||||
ldrh r0, [r0, #0x12]
|
||||
cmp r0, #0x40
|
||||
bls _0804B5CC
|
||||
ldr r0, _0804B5D4 @ =gUnk_080D6210
|
||||
bl LoadRoomEntityList
|
||||
_0804B5CC:
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_0804B5D0: .4byte gUnk_030010A0
|
||||
_0804B5D4: .4byte gUnk_080D6210
|
||||
|
||||
thumb_func_start sub_0804B5D8
|
||||
sub_0804B5D8: @ 0x0804B5D8
|
||||
movs r0, #1
|
||||
bx lr
|
||||
|
||||
thumb_func_start sub_0804B5DC
|
||||
sub_0804B5DC: @ 0x0804B5DC
|
||||
push {r4, r5, r6, lr}
|
||||
movs r0, #0x2c
|
||||
bl CheckKinstoneFused
|
||||
cmp r0, #0
|
||||
beq _0804B5EE
|
||||
ldr r0, _0804B618 @ =gUnk_080D6340
|
||||
bl LoadRoomEntityList
|
||||
_0804B5EE:
|
||||
movs r6, #0
|
||||
ldr r4, _0804B61C @ =gUnk_080D64F8
|
||||
movs r5, #7
|
||||
_0804B5F4:
|
||||
ldrh r0, [r4]
|
||||
adds r4, #2
|
||||
bl GetInventoryValue
|
||||
cmp r0, #0
|
||||
beq _0804B602
|
||||
adds r6, #1
|
||||
_0804B602:
|
||||
subs r5, #1
|
||||
cmp r5, #0
|
||||
bge _0804B5F4
|
||||
movs r0, #0x8b
|
||||
bl CheckLocalFlag
|
||||
cmp r0, #0
|
||||
beq _0804B648
|
||||
ldr r4, _0804B620 @ =gUnk_080D6508
|
||||
movs r5, #0
|
||||
b _0804B628
|
||||
.align 2, 0
|
||||
_0804B618: .4byte gUnk_080D6340
|
||||
_0804B61C: .4byte gUnk_080D64F8
|
||||
_0804B620: .4byte gUnk_080D6508
|
||||
_0804B624:
|
||||
adds r5, #1
|
||||
adds r4, #2
|
||||
_0804B628:
|
||||
cmp r5, r6
|
||||
bge _0804B648
|
||||
ldrh r0, [r4]
|
||||
bl CheckLocalFlag
|
||||
cmp r0, #0
|
||||
bne _0804B624
|
||||
ldrh r0, [r4]
|
||||
bl SetLocalFlag
|
||||
movs r0, #0x8b
|
||||
bl ClearLocalFlag
|
||||
movs r0, #0x8c
|
||||
bl SetLocalFlag
|
||||
_0804B648:
|
||||
movs r0, #0x1f
|
||||
bl CheckLocalFlag
|
||||
cmp r0, #0
|
||||
beq _0804B658
|
||||
ldr r0, _0804B6CC @ =gUnk_080D6360
|
||||
bl LoadRoomEntityList
|
||||
_0804B658:
|
||||
movs r0, #0x20
|
||||
bl CheckLocalFlag
|
||||
cmp r0, #0
|
||||
beq _0804B668
|
||||
ldr r0, _0804B6D0 @ =gUnk_080D6380
|
||||
bl LoadRoomEntityList
|
||||
_0804B668:
|
||||
movs r0, #0x21
|
||||
bl CheckLocalFlag
|
||||
cmp r0, #0
|
||||
beq _0804B678
|
||||
ldr r0, _0804B6D4 @ =gUnk_080D63A0
|
||||
bl LoadRoomEntityList
|
||||
_0804B678:
|
||||
movs r0, #0x22
|
||||
bl CheckLocalFlag
|
||||
cmp r0, #0
|
||||
beq _0804B688
|
||||
ldr r0, _0804B6D8 @ =gUnk_080D63C0
|
||||
bl LoadRoomEntityList
|
||||
_0804B688:
|
||||
movs r0, #0x23
|
||||
bl CheckLocalFlag
|
||||
cmp r0, #0
|
||||
beq _0804B698
|
||||
ldr r0, _0804B6DC @ =gUnk_080D63E0
|
||||
bl LoadRoomEntityList
|
||||
_0804B698:
|
||||
movs r0, #0x24
|
||||
bl CheckLocalFlag
|
||||
cmp r0, #0
|
||||
beq _0804B6A8
|
||||
ldr r0, _0804B6E0 @ =gUnk_080D6400
|
||||
bl LoadRoomEntityList
|
||||
_0804B6A8:
|
||||
movs r0, #0x25
|
||||
bl CheckLocalFlag
|
||||
cmp r0, #0
|
||||
beq _0804B6B8
|
||||
ldr r0, _0804B6E4 @ =gUnk_080D6420
|
||||
bl LoadRoomEntityList
|
||||
_0804B6B8:
|
||||
movs r0, #0x26
|
||||
bl CheckLocalFlag
|
||||
cmp r0, #0
|
||||
beq _0804B6C8
|
||||
ldr r0, _0804B6E8 @ =gUnk_080D6440
|
||||
bl LoadRoomEntityList
|
||||
_0804B6C8:
|
||||
pop {r4, r5, r6, pc}
|
||||
.align 2, 0
|
||||
_0804B6CC: .4byte gUnk_080D6360
|
||||
_0804B6D0: .4byte gUnk_080D6380
|
||||
_0804B6D4: .4byte gUnk_080D63A0
|
||||
_0804B6D8: .4byte gUnk_080D63C0
|
||||
_0804B6DC: .4byte gUnk_080D63E0
|
||||
_0804B6E0: .4byte gUnk_080D6400
|
||||
_0804B6E4: .4byte gUnk_080D6420
|
||||
_0804B6E8: .4byte gUnk_080D6440
|
||||
|
||||
thumb_func_start sub_0804B6EC
|
||||
sub_0804B6EC: @ 0x0804B6EC
|
||||
movs r0, #1
|
||||
bx lr
|
||||
|
||||
thumb_func_start sub_0804B6F0
|
||||
sub_0804B6F0: @ 0x0804B6F0
|
||||
push {lr}
|
||||
movs r0, #0x46
|
||||
bl GetInventoryValue
|
||||
cmp r0, #0
|
||||
bne _0804B71C
|
||||
ldr r0, _0804B714 @ =gUnk_080D6578
|
||||
bl LoadRoomEntityList
|
||||
movs r0, #0x73
|
||||
bl CheckLocalFlag
|
||||
cmp r0, #0
|
||||
bne _0804B722
|
||||
ldr r0, _0804B718 @ =gUnk_080D6638
|
||||
bl LoadRoomEntityList
|
||||
b _0804B728
|
||||
.align 2, 0
|
||||
_0804B714: .4byte gUnk_080D6578
|
||||
_0804B718: .4byte gUnk_080D6638
|
||||
_0804B71C:
|
||||
ldr r0, _0804B72C @ =gUnk_080D6558
|
||||
bl LoadRoomEntityList
|
||||
_0804B722:
|
||||
ldr r0, _0804B730 @ =gUnk_080D6618
|
||||
bl LoadRoomEntityList
|
||||
_0804B728:
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_0804B72C: .4byte gUnk_080D6558
|
||||
_0804B730: .4byte gUnk_080D6618
|
||||
|
||||
thumb_func_start sub_0804B734
|
||||
sub_0804B734: @ 0x0804B734
|
||||
movs r0, #1
|
||||
bx lr
|
||||
|
||||
thumb_func_start sub_0804B738
|
||||
sub_0804B738: @ 0x0804B738
|
||||
push {lr}
|
||||
ldr r0, _0804B770 @ =gUnk_02002A40
|
||||
ldrb r0, [r0, #8]
|
||||
cmp r0, #4
|
||||
bls _0804B748
|
||||
ldr r0, _0804B774 @ =gUnk_080D6714
|
||||
bl LoadRoomEntityList
|
||||
_0804B748:
|
||||
movs r0, #0x46
|
||||
bl GetInventoryValue
|
||||
cmp r0, #0
|
||||
bne _0804B77C
|
||||
movs r0, #0x29
|
||||
bl CheckGlobalFlag
|
||||
cmp r0, #0
|
||||
beq _0804B77C
|
||||
movs r0, #0x6a
|
||||
bl CheckLocalFlag
|
||||
cmp r0, #0
|
||||
beq _0804B77C
|
||||
ldr r0, _0804B778 @ =gUnk_080D6734
|
||||
bl LoadRoomEntityList
|
||||
b _0804B782
|
||||
.align 2, 0
|
||||
_0804B770: .4byte gUnk_02002A40
|
||||
_0804B774: .4byte gUnk_080D6714
|
||||
_0804B778: .4byte gUnk_080D6734
|
||||
_0804B77C:
|
||||
ldr r0, _0804B784 @ =gUnk_080D66F4
|
||||
bl LoadRoomEntityList
|
||||
_0804B782:
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_0804B784: .4byte gUnk_080D66F4
|
||||
|
||||
thumb_func_start sub_0804B788
|
||||
sub_0804B788: @ 0x0804B788
|
||||
movs r0, #1
|
||||
bx lr
|
||||
|
||||
thumb_func_start sub_0804B78C
|
||||
sub_0804B78C: @ 0x0804B78C
|
||||
push {lr}
|
||||
ldr r0, _0804B7A0 @ =gUnk_02002A40
|
||||
ldrb r0, [r0, #8]
|
||||
cmp r0, #7
|
||||
bls _0804B79C
|
||||
ldr r0, _0804B7A4 @ =gUnk_080D6924
|
||||
bl LoadRoomEntityList
|
||||
_0804B79C:
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_0804B7A0: .4byte gUnk_02002A40
|
||||
_0804B7A4: .4byte gUnk_080D6924
|
||||
|
||||
thumb_func_start sub_0804B7A8
|
||||
sub_0804B7A8: @ 0x0804B7A8
|
||||
push {r4, lr}
|
||||
movs r0, #0x91
|
||||
bl CheckLocalFlag
|
||||
cmp r0, #0
|
||||
beq _0804B7C8
|
||||
bl Random
|
||||
movs r1, #3
|
||||
bl __modsi3
|
||||
adds r4, r0, #0
|
||||
movs r0, #1
|
||||
bl ClearLocalFlag
|
||||
b _0804B7D0
|
||||
_0804B7C8:
|
||||
movs r4, #0
|
||||
movs r0, #1
|
||||
bl SetLocalFlag
|
||||
_0804B7D0:
|
||||
ldr r2, _0804B7E0 @ =gRoomVars
|
||||
ldr r1, _0804B7E4 @ =gUnk_080D6A74
|
||||
lsls r0, r4, #2
|
||||
adds r0, r0, r1
|
||||
ldr r0, [r0]
|
||||
str r0, [r2, #0x78]
|
||||
movs r0, #1
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_0804B7E0: .4byte gRoomVars
|
||||
_0804B7E4: .4byte gUnk_080D6A74
|
||||
|
||||
thumb_func_start sub_0804B7E8
|
||||
sub_0804B7E8: @ 0x0804B7E8
|
||||
push {lr}
|
||||
movs r0, #0x91
|
||||
bl CheckLocalFlag
|
||||
cmp r0, #0
|
||||
beq _0804B81E
|
||||
movs r0, #0x91
|
||||
bl ClearLocalFlag
|
||||
movs r1, #0x80
|
||||
lsls r1, r1, #1
|
||||
movs r0, #5
|
||||
bl DoFade
|
||||
ldr r2, _0804B820 @ =gLinkEntity
|
||||
ldr r1, _0804B824 @ =gRoomControls
|
||||
ldrh r0, [r1, #6]
|
||||
adds r0, #0x50
|
||||
strh r0, [r2, #0x2e]
|
||||
ldrh r0, [r1, #8]
|
||||
adds r0, #0x38
|
||||
strh r0, [r2, #0x32]
|
||||
ldr r2, _0804B828 @ =gUnk_08010A5C
|
||||
movs r0, #1
|
||||
movs r1, #2
|
||||
bl sub_080751E8
|
||||
_0804B81E:
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_0804B820: .4byte gLinkEntity
|
||||
_0804B824: .4byte gRoomControls
|
||||
_0804B828: .4byte gUnk_08010A5C
|
||||
|
||||
thumb_func_start sub_0804B82C
|
||||
sub_0804B82C: @ 0x0804B82C
|
||||
push {r4, lr}
|
||||
movs r0, #0x91
|
||||
bl CheckLocalFlag
|
||||
cmp r0, #0
|
||||
beq _0804B84A
|
||||
bl Random
|
||||
adds r4, r0, #0
|
||||
movs r0, #1
|
||||
ands r4, r0
|
||||
movs r0, #2
|
||||
bl ClearLocalFlag
|
||||
b _0804B852
|
||||
_0804B84A:
|
||||
movs r4, #0
|
||||
movs r0, #2
|
||||
bl SetLocalFlag
|
||||
_0804B852:
|
||||
ldr r2, _0804B864 @ =gRoomVars
|
||||
ldr r1, _0804B868 @ =gUnk_080D6B18
|
||||
lsls r0, r4, #2
|
||||
adds r0, r0, r1
|
||||
ldr r0, [r0]
|
||||
str r0, [r2, #0x78]
|
||||
movs r0, #1
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_0804B864: .4byte gRoomVars
|
||||
_0804B868: .4byte gUnk_080D6B18
|
||||
|
||||
thumb_func_start sub_0804B86C
|
||||
sub_0804B86C: @ 0x0804B86C
|
||||
push {lr}
|
||||
movs r0, #0x91
|
||||
bl CheckLocalFlag
|
||||
cmp r0, #0
|
||||
beq _0804B8A2
|
||||
movs r0, #0x91
|
||||
bl ClearLocalFlag
|
||||
movs r1, #0x80
|
||||
lsls r1, r1, #1
|
||||
movs r0, #5
|
||||
bl DoFade
|
||||
ldr r2, _0804B8A4 @ =gLinkEntity
|
||||
ldr r1, _0804B8A8 @ =gRoomControls
|
||||
ldrh r0, [r1, #6]
|
||||
adds r0, #0x50
|
||||
strh r0, [r2, #0x2e]
|
||||
ldrh r0, [r1, #8]
|
||||
adds r0, #0x38
|
||||
strh r0, [r2, #0x32]
|
||||
ldr r2, _0804B8AC @ =gUnk_08010A5C
|
||||
movs r0, #1
|
||||
movs r1, #2
|
||||
bl sub_080751E8
|
||||
_0804B8A2:
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_0804B8A4: .4byte gLinkEntity
|
||||
_0804B8A8: .4byte gRoomControls
|
||||
_0804B8AC: .4byte gUnk_08010A5C
|
||||
|
||||
thumb_func_start sub_0804B8B0
|
||||
sub_0804B8B0: @ 0x0804B8B0
|
||||
push {r4, lr}
|
||||
movs r0, #0x91
|
||||
bl CheckLocalFlag
|
||||
cmp r0, #0
|
||||
beq _0804B8D0
|
||||
bl Random
|
||||
movs r1, #3
|
||||
bl __modsi3
|
||||
adds r4, r0, #0
|
||||
movs r0, #3
|
||||
bl ClearLocalFlag
|
||||
b _0804B8D8
|
||||
_0804B8D0:
|
||||
movs r4, #0
|
||||
movs r0, #3
|
||||
bl SetLocalFlag
|
||||
_0804B8D8:
|
||||
ldr r2, _0804B8E8 @ =gRoomVars
|
||||
ldr r1, _0804B8EC @ =gUnk_080D6BB8
|
||||
lsls r0, r4, #2
|
||||
adds r0, r0, r1
|
||||
ldr r0, [r0]
|
||||
str r0, [r2, #0x78]
|
||||
movs r0, #1
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_0804B8E8: .4byte gRoomVars
|
||||
_0804B8EC: .4byte gUnk_080D6BB8
|
||||
|
||||
thumb_func_start sub_0804B8F0
|
||||
sub_0804B8F0: @ 0x0804B8F0
|
||||
push {lr}
|
||||
movs r0, #0x91
|
||||
bl CheckLocalFlag
|
||||
cmp r0, #0
|
||||
beq _0804B926
|
||||
movs r0, #0x91
|
||||
bl ClearLocalFlag
|
||||
movs r1, #0x80
|
||||
lsls r1, r1, #1
|
||||
movs r0, #5
|
||||
bl DoFade
|
||||
ldr r2, _0804B928 @ =gLinkEntity
|
||||
ldr r1, _0804B92C @ =gRoomControls
|
||||
ldrh r0, [r1, #6]
|
||||
adds r0, #0x60
|
||||
strh r0, [r2, #0x2e]
|
||||
ldrh r0, [r1, #8]
|
||||
adds r0, #0x38
|
||||
strh r0, [r2, #0x32]
|
||||
ldr r2, _0804B930 @ =gUnk_08010A5C
|
||||
movs r0, #1
|
||||
movs r1, #2
|
||||
bl sub_080751E8
|
||||
_0804B926:
|
||||
pop {pc}
|
||||
.align 2, 0
|
||||
_0804B928: .4byte gLinkEntity
|
||||
_0804B92C: .4byte gRoomControls
|
||||
_0804B930: .4byte gUnk_08010A5C
|
||||
|
||||
thumb_func_start sub_0804B934
|
||||
sub_0804B934: @ 0x0804B934
|
||||
movs r0, #1
|
||||
bx lr
|
||||
|
|
|
|||
|
|
@ -106,4 +106,10 @@ extern void sub_080AD918(void);
|
|||
extern void sub_0801E104(void);
|
||||
extern void MenuFadeIn(u32, u32);
|
||||
extern void sub_080A57F4(void);
|
||||
extern void sub_0804B29C(u32);
|
||||
extern void sub_08030118(u32);
|
||||
extern void sub_080575C8(u32);
|
||||
extern void sub_08057688(void);
|
||||
extern void sub_080580B0(u32);
|
||||
extern void sub_080751E8(u32, u32, void*);
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -44,6 +44,8 @@ typedef struct {
|
|||
u8 filler4[48];
|
||||
u8 filler5[28];
|
||||
u32 greatFairyState;
|
||||
u8 field_0x68[9];
|
||||
u32 field_0x78;
|
||||
} RoomVars;
|
||||
|
||||
//Packets used to store which entities to load in a room
|
||||
|
|
|
|||
|
|
@ -441,6 +441,7 @@ SECTIONS {
|
|||
src/sub_0804AFF4.o(.text);
|
||||
src/loadRoom.o(.text);
|
||||
asm/code_0804B058.o(.text);
|
||||
src/room.o(.text);
|
||||
asm/upperInn.o(.text);
|
||||
asm/code_0804B9F8.o(.text);
|
||||
src/sub_08050008.o(.text);
|
||||
|
|
@ -661,7 +662,7 @@ SECTIONS {
|
|||
asm/code_0807CAA0.o(.text);
|
||||
src/flags.o(.text);
|
||||
asm/code_0807CC3C.o(.text);
|
||||
src/room.o(.text);
|
||||
src/code_0808091C.o(.text);
|
||||
/* objects */
|
||||
asm/itemOnGround.o(.text);
|
||||
asm/deathFx.o(.text);
|
||||
|
|
|
|||
|
|
@ -0,0 +1,50 @@
|
|||
#include "global.h"
|
||||
#include "room.h"
|
||||
|
||||
extern void sub_0805E5A8();
|
||||
|
||||
extern RoomControls gRoomControls;
|
||||
extern u32 gUnk_0200B650;
|
||||
extern u32 gUnk_02025EB0;
|
||||
extern u8 gUnk_030010A0[10];
|
||||
|
||||
extern void DoExitTransition(Entity*);
|
||||
extern void sub_080809D4();
|
||||
|
||||
void sub_0808091C(Entity* param_1, u32 param_2)
|
||||
|
||||
{
|
||||
DoExitTransition(param_1);
|
||||
gUnk_030010A0[9] = param_2;
|
||||
return;
|
||||
}
|
||||
|
||||
void sub_08080930(void)
|
||||
|
||||
{
|
||||
gRoomControls.unk3 = 5;
|
||||
gRoomControls.unk4 = 0;
|
||||
gRoomControls.unk2 = 2;
|
||||
gRoomControls.filler[0] = 0;
|
||||
sub_0805E5A8();
|
||||
return;
|
||||
}
|
||||
|
||||
u32* GetLayerByIndex(u32 param_1)
|
||||
|
||||
{
|
||||
|
||||
if (param_1 == 2) {
|
||||
return &gUnk_0200B650;
|
||||
} else {
|
||||
return &gUnk_02025EB0;
|
||||
}
|
||||
}
|
||||
|
||||
void sub_08080964(u16 time, u32 magnitude)
|
||||
|
||||
{
|
||||
gRoomControls.screenShakeTime = time;
|
||||
gRoomControls.screenShakeMagnitude = magnitude & 7;
|
||||
return;
|
||||
}
|
||||
492
src/room.c
492
src/room.c
|
|
@ -1,50 +1,474 @@
|
|||
#include "global.h"
|
||||
#include "entity.h"
|
||||
#include "area.h"
|
||||
#include "room.h"
|
||||
#include "functions.h"
|
||||
#include "flags.h"
|
||||
#include "link.h"
|
||||
|
||||
extern void sub_0805E5A8();
|
||||
typedef struct {
|
||||
u8 field_0x0[8];
|
||||
u8 field_0x8;
|
||||
u8 field_0x9;
|
||||
u8 field_0xa[8];
|
||||
u16 field_0x12;
|
||||
} struct_030010A0;
|
||||
|
||||
extern RoomControls gRoomControls;
|
||||
extern u32 gUnk_0200B650;
|
||||
extern u32 gUnk_02025EB0;
|
||||
extern u8 gUnk_030010A0[10];
|
||||
typedef struct {
|
||||
u8 filler[8];
|
||||
u8 field_0x8;
|
||||
} struct_02002A40;
|
||||
|
||||
extern void DoExitTransition(Entity*);
|
||||
extern void sub_080809D4();
|
||||
extern struct_030010A0 gUnk_030010A0;
|
||||
extern struct_02002A40 gUnk_02002A40;
|
||||
|
||||
void sub_0808091C(Entity* param_1, u32 param_2)
|
||||
|
||||
{
|
||||
DoExitTransition(param_1);
|
||||
gUnk_030010A0[9] = param_2;
|
||||
return;
|
||||
void sub_0804B3C4(u32 arg0) {
|
||||
sub_0804B29C(arg0);
|
||||
}
|
||||
|
||||
void sub_08080930(void)
|
||||
|
||||
{
|
||||
gRoomControls.unk3 = 5;
|
||||
gRoomControls.unk4 = 0;
|
||||
gRoomControls.unk2 = 2;
|
||||
gRoomControls.filler[0] = 0;
|
||||
sub_0805E5A8();
|
||||
return;
|
||||
u32 sub_0804B3CC(u32 arg0) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
u32* GetLayerByIndex(u32 param_1)
|
||||
void sub_0804B3D0() {
|
||||
sub_08030118(0);
|
||||
}
|
||||
|
||||
{
|
||||
u32 sub_0804B3DC() {
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (param_1 == 2) {
|
||||
return &gUnk_0200B650;
|
||||
} else {
|
||||
return &gUnk_02025EB0;
|
||||
void sub_0804B3E0() {
|
||||
sub_08030118(1);
|
||||
}
|
||||
|
||||
u32 sub_0804B3EC() {
|
||||
return 1;
|
||||
}
|
||||
|
||||
void sub_0804B3F0() {
|
||||
sub_08030118(2);
|
||||
}
|
||||
|
||||
u32 sub_0804B3FC() {
|
||||
return 1;
|
||||
}
|
||||
|
||||
void sub_0804B400() {
|
||||
sub_08030118(3);
|
||||
}
|
||||
|
||||
u32 sub_0804B40C() {
|
||||
return 1;
|
||||
}
|
||||
|
||||
void sub_0804B410() {
|
||||
sub_08030118(4);
|
||||
}
|
||||
|
||||
u32 sub_0804B41C() {
|
||||
return 1;
|
||||
}
|
||||
|
||||
void sub_0804B420() {
|
||||
sub_08030118(5);
|
||||
}
|
||||
|
||||
u32 sub_0804B42C() {
|
||||
return 1;
|
||||
}
|
||||
|
||||
void sub_0804B430() {
|
||||
sub_08030118(6);
|
||||
}
|
||||
|
||||
u32 sub_0804B43C() {
|
||||
return 1;
|
||||
}
|
||||
|
||||
void sub_0804B440() {
|
||||
sub_08030118(7);
|
||||
}
|
||||
|
||||
u32 sub_0804B44C() {
|
||||
return 1;
|
||||
}
|
||||
|
||||
void sub_0804B450() {
|
||||
sub_08030118(8);
|
||||
}
|
||||
|
||||
u32 sub_0804B45C() {
|
||||
return 1;
|
||||
}
|
||||
|
||||
void sub_0804B460() {
|
||||
Area* a;
|
||||
|
||||
sub_08030118(9);
|
||||
a = &gArea;
|
||||
*((u8*)&a->localFlagOffset - 1) = 3;
|
||||
a->areaMetadata = 0x4e;
|
||||
}
|
||||
|
||||
u32 sub_0804B478() {
|
||||
return 1;
|
||||
}
|
||||
|
||||
void sub_0804B47C() {
|
||||
Area* a;
|
||||
|
||||
sub_08030118(10);
|
||||
a = &gArea;
|
||||
*((u8*)&a->localFlagOffset - 1) = 3;
|
||||
a->areaMetadata = 0x4e;
|
||||
}
|
||||
|
||||
u32 sub_0804B494() {
|
||||
return 1;
|
||||
}
|
||||
|
||||
void sub_0804B498() {
|
||||
sub_080575C8(35);
|
||||
sub_08057688();
|
||||
}
|
||||
|
||||
u32 sub_0804B4A8() {
|
||||
return 1;
|
||||
}
|
||||
|
||||
void sub_0804B4AC() {
|
||||
sub_080575C8(35);
|
||||
}
|
||||
|
||||
void sub_0804B4B8() {
|
||||
sub_080575C8(35);
|
||||
}
|
||||
|
||||
u32 sub_0804B4C4() {
|
||||
return 1;
|
||||
}
|
||||
|
||||
void sub_0804B4C8() {
|
||||
sub_080580B0(34);
|
||||
}
|
||||
|
||||
void sub_0804B4D4() {
|
||||
sub_080580B0(34);
|
||||
}
|
||||
|
||||
u32 sub_0804B4E0() {
|
||||
return 1;
|
||||
}
|
||||
|
||||
void sub_0804B4E4(void) {
|
||||
sub_080580B0(0x22);
|
||||
// white sword
|
||||
if (GetInventoryValue(0x2))
|
||||
SetGlobalFlag(0x56);
|
||||
}
|
||||
|
||||
void sub_0804B500() {
|
||||
sub_080580B0(34);
|
||||
}
|
||||
|
||||
u32 sub_0804B50C() {
|
||||
return 1;
|
||||
}
|
||||
|
||||
void sub_0804B510() {
|
||||
sub_080575C8(30);
|
||||
}
|
||||
|
||||
void sub_0804B51C() {
|
||||
sub_080575C8(30);
|
||||
}
|
||||
|
||||
u32 sub_0804B528() {
|
||||
return 1;
|
||||
}
|
||||
|
||||
void sub_0804B52C() {
|
||||
sub_080575C8(33);
|
||||
}
|
||||
|
||||
void sub_0804B538() {
|
||||
sub_080575C8(33);
|
||||
}
|
||||
|
||||
u32 sub_0804B544() {
|
||||
return 1;
|
||||
}
|
||||
|
||||
void sub_0804B548() {
|
||||
sub_080575C8(31);
|
||||
}
|
||||
|
||||
void sub_0804B554() {
|
||||
sub_080575C8(31);
|
||||
}
|
||||
|
||||
u32 sub_0804B560() {
|
||||
return 1;
|
||||
}
|
||||
|
||||
void sub_0804B564() {
|
||||
sub_080575C8(32);
|
||||
}
|
||||
|
||||
void sub_0804B570() {
|
||||
sub_080575C8(32);
|
||||
}
|
||||
|
||||
u32 sub_0804B57C() {
|
||||
return 1;
|
||||
}
|
||||
|
||||
extern EntityData* gUnk_080D6138;
|
||||
|
||||
void sub_0804B580(void) {
|
||||
sub_080575C8(0x20);
|
||||
if (gLinkEntity.y.HALF.HI - gRoomControls.roomOriginY > 0x40) {
|
||||
LoadRoomEntityList(&gUnk_080D6138);
|
||||
}
|
||||
}
|
||||
|
||||
void sub_08080964(u16 time, u32 magnitude)
|
||||
|
||||
{
|
||||
gRoomControls.screenShakeTime = time;
|
||||
gRoomControls.screenShakeMagnitude = magnitude & 7;
|
||||
return;
|
||||
void sub_0804B5AC() {
|
||||
sub_080575C8(32);
|
||||
}
|
||||
|
||||
u32 sub_0804B5B8() {
|
||||
return 1;
|
||||
}
|
||||
|
||||
extern EntityData* gUnk_080D6210;
|
||||
|
||||
void sub_0804B5BC(void) {
|
||||
if (gUnk_030010A0.field_0x12 > 0x40) {
|
||||
LoadRoomEntityList(&gUnk_080D6210);
|
||||
}
|
||||
}
|
||||
|
||||
u32 sub_0804B5D8() {
|
||||
return 1;
|
||||
}
|
||||
|
||||
extern EntityData* gUnk_080D6340;
|
||||
extern EntityData* gUnk_080D6360;
|
||||
extern EntityData* gUnk_080D6380;
|
||||
extern EntityData* gUnk_080D63A0;
|
||||
extern EntityData* gUnk_080D63C0;
|
||||
extern EntityData* gUnk_080D63E0;
|
||||
extern EntityData* gUnk_080D6400;
|
||||
extern EntityData* gUnk_080D6420;
|
||||
extern EntityData* gUnk_080D6440;
|
||||
|
||||
extern u16 gUnk_080D64F8;
|
||||
extern u16 gUnk_080D6508;
|
||||
|
||||
void sub_0804B5DC(void) {
|
||||
u16 itemID;
|
||||
s32 i;
|
||||
u16* itemArr;
|
||||
u16* flagArr;
|
||||
s32 j;
|
||||
|
||||
if (CheckKinstoneFused(0x2c)) {
|
||||
LoadRoomEntityList(&gUnk_080D6340);
|
||||
}
|
||||
j = 0;
|
||||
itemArr = &gUnk_080D64F8;
|
||||
for (i = 7; i >= 0; i--) {
|
||||
itemID = *itemArr;
|
||||
itemArr++;
|
||||
if (GetInventoryValue(itemID)) {
|
||||
j++;
|
||||
}
|
||||
}
|
||||
if (CheckLocalFlag(0x8b)) {
|
||||
flagArr = &gUnk_080D6508;
|
||||
i = 0;
|
||||
while (i < j) {
|
||||
if (CheckLocalFlag(*flagArr) == 0) {
|
||||
SetLocalFlag(*flagArr);
|
||||
ClearLocalFlag(0x8b);
|
||||
SetLocalFlag(0x8c);
|
||||
break;
|
||||
}
|
||||
i++;
|
||||
flagArr++;
|
||||
}
|
||||
}
|
||||
if (CheckLocalFlag(0x1f)) {
|
||||
LoadRoomEntityList(&gUnk_080D6360);
|
||||
}
|
||||
if (CheckLocalFlag(0x20)) {
|
||||
LoadRoomEntityList(&gUnk_080D6380);
|
||||
}
|
||||
if (CheckLocalFlag(0x21)) {
|
||||
LoadRoomEntityList(&gUnk_080D63A0);
|
||||
}
|
||||
if (CheckLocalFlag(0x22)) {
|
||||
LoadRoomEntityList(&gUnk_080D63C0);
|
||||
}
|
||||
if (CheckLocalFlag(0x23)) {
|
||||
LoadRoomEntityList(&gUnk_080D63E0);
|
||||
}
|
||||
if (CheckLocalFlag(0x24)) {
|
||||
LoadRoomEntityList(&gUnk_080D6400);
|
||||
}
|
||||
if (CheckLocalFlag(0x25)) {
|
||||
LoadRoomEntityList(&gUnk_080D6420);
|
||||
}
|
||||
if (CheckLocalFlag(0x26)) {
|
||||
LoadRoomEntityList(&gUnk_080D6440);
|
||||
}
|
||||
}
|
||||
|
||||
u32 sub_0804B6EC() {
|
||||
return 1;
|
||||
}
|
||||
|
||||
extern EntityData* gUnk_080D6578;
|
||||
extern EntityData* gUnk_080D6638;
|
||||
extern EntityData* gUnk_080D6558;
|
||||
extern EntityData* gUnk_080D6618;
|
||||
|
||||
void sub_0804B6F0(void) {
|
||||
// flippers
|
||||
if (GetInventoryValue(0x46) == 0) {
|
||||
LoadRoomEntityList(&gUnk_080D6578);
|
||||
if (CheckLocalFlag(0x73) == 0) {
|
||||
LoadRoomEntityList(&gUnk_080D6638);
|
||||
return;
|
||||
}
|
||||
} else {
|
||||
LoadRoomEntityList(&gUnk_080D6558);
|
||||
}
|
||||
LoadRoomEntityList(&gUnk_080D6618);
|
||||
}
|
||||
|
||||
u32 sub_0804B734() {
|
||||
return 1;
|
||||
}
|
||||
|
||||
extern EntityData* gUnk_080D6714;
|
||||
extern EntityData* gUnk_080D6734;
|
||||
extern EntityData* gUnk_080D66F4;
|
||||
|
||||
void sub_0804B738(void) {
|
||||
if (gUnk_02002A40.field_0x8 > 4) {
|
||||
LoadRoomEntityList(&gUnk_080D6714);
|
||||
}
|
||||
// flippers
|
||||
if (!GetInventoryValue(0x46) && CheckGlobalFlag(0x29) && CheckLocalFlag(0x6a)) {
|
||||
LoadRoomEntityList(&gUnk_080D6734);
|
||||
} else {
|
||||
LoadRoomEntityList(&gUnk_080D66F4);
|
||||
}
|
||||
}
|
||||
|
||||
u32 sub_0804B788() {
|
||||
return 1;
|
||||
}
|
||||
|
||||
extern EntityData* gUnk_080D6924;
|
||||
|
||||
void sub_0804B78C(void) {
|
||||
if (gUnk_02002A40.field_0x8 > 7) {
|
||||
LoadRoomEntityList(&gUnk_080D6924);
|
||||
}
|
||||
}
|
||||
|
||||
extern u32 gUnk_080D6A74[];
|
||||
|
||||
u32 sub_0804B7A8(void) {
|
||||
u32 index;
|
||||
|
||||
if (CheckLocalFlag(0x91) != 0) {
|
||||
index = (s32)Random() % 3;
|
||||
ClearLocalFlag(1);
|
||||
} else {
|
||||
index = 0;
|
||||
SetLocalFlag(1);
|
||||
}
|
||||
gRoomVars.field_0x78 = gUnk_080D6A74[index];
|
||||
return 1;
|
||||
}
|
||||
|
||||
extern void* gUnk_08010A5C[];
|
||||
|
||||
void sub_0804B7E8(void)
|
||||
{
|
||||
if (CheckLocalFlag(0x91)) {
|
||||
ClearLocalFlag(0x91);
|
||||
DoFade(5, 0x100);
|
||||
gLinkEntity.x.HALF.HI = gRoomControls.roomOriginX + 0x50;
|
||||
gLinkEntity.y.HALF.HI = gRoomControls.roomOriginY + 0x38;
|
||||
sub_080751E8(1, 2, &gUnk_08010A5C);
|
||||
}
|
||||
}
|
||||
|
||||
extern u32 gUnk_080D6B18[];
|
||||
|
||||
u32 sub_0804B82C(void)
|
||||
{
|
||||
u32 index;
|
||||
|
||||
if (CheckLocalFlag(0x91) != 0) {
|
||||
index = Random() & 1;
|
||||
ClearLocalFlag(2);
|
||||
}
|
||||
else {
|
||||
index = 0;
|
||||
SetLocalFlag(2);
|
||||
}
|
||||
gRoomVars.field_0x78 = gUnk_080D6B18[index];
|
||||
return 1;
|
||||
}
|
||||
|
||||
void sub_0804B86C(void)
|
||||
{
|
||||
if (CheckLocalFlag(0x91) != 0) {
|
||||
ClearLocalFlag(0x91);
|
||||
DoFade(5, 0x100);
|
||||
gLinkEntity.x.HALF.HI = gRoomControls.roomOriginX + 0x50;
|
||||
gLinkEntity.y.HALF.HI = gRoomControls.roomOriginY + 0x38;
|
||||
sub_080751E8(1, 2, &gUnk_08010A5C);
|
||||
}
|
||||
}
|
||||
|
||||
extern u32 gUnk_080D6BB8[];
|
||||
|
||||
u32 sub_0804B8B0(void)
|
||||
{
|
||||
s32 index;
|
||||
|
||||
if (CheckLocalFlag(0x91) != 0) {
|
||||
index = (s32)Random() % 3;
|
||||
ClearLocalFlag(3);
|
||||
}
|
||||
else {
|
||||
index = 0;
|
||||
SetLocalFlag(3);
|
||||
}
|
||||
gRoomVars.field_0x78 = gUnk_080D6BB8[index];
|
||||
return 1;
|
||||
}
|
||||
|
||||
extern void* gUnk_08010A5C[];
|
||||
|
||||
void sub_0804B8F0(void)
|
||||
{
|
||||
if (CheckLocalFlag(0x91)) {
|
||||
ClearLocalFlag(0x91);
|
||||
DoFade(5 ,0x100);
|
||||
gLinkEntity.x.HALF.HI = gRoomControls.roomOriginX + 0x60;
|
||||
gLinkEntity.y.HALF.HI = gRoomControls.roomOriginY + 0x38;
|
||||
sub_080751E8(1,2, &gUnk_08010A5C);
|
||||
}
|
||||
}
|
||||
|
||||
u32 sub_0804B934() {
|
||||
return 1;
|
||||
}
|
||||
Loading…
Reference in New Issue