mirror of https://github.com/zeldaret/tmc.git
clean up, move files to game.c
This commit is contained in:
parent
8774c8939d
commit
58ae4eb3cb
|
@ -39,7 +39,7 @@ _0801C204: .4byte gUnk_080C8F8C
|
||||||
sub_0801C208: @ 0x0801C208
|
sub_0801C208: @ 0x0801C208
|
||||||
push {r4, r5, lr}
|
push {r4, r5, lr}
|
||||||
movs r5, #0
|
movs r5, #0
|
||||||
ldr r4, _0801C250 @ =gUnk_03001010
|
ldr r4, _0801C250 @ =gOamCmd
|
||||||
_0801C20E:
|
_0801C20E:
|
||||||
lsls r1, r5, #5
|
lsls r1, r5, #5
|
||||||
ldr r0, _0801C254 @ =gUnk_0200AF34
|
ldr r0, _0801C254 @ =gUnk_0200AF34
|
||||||
|
@ -75,7 +75,7 @@ _0801C248:
|
||||||
bls _0801C20E
|
bls _0801C20E
|
||||||
pop {r4, r5, pc}
|
pop {r4, r5, pc}
|
||||||
.align 2, 0
|
.align 2, 0
|
||||||
_0801C250: .4byte gUnk_03001010
|
_0801C250: .4byte gOamCmd
|
||||||
_0801C254: .4byte gUnk_0200AF34
|
_0801C254: .4byte gUnk_0200AF34
|
||||||
_0801C258: .4byte gUnk_080C8F8C
|
_0801C258: .4byte gUnk_080C8F8C
|
||||||
|
|
||||||
|
|
|
@ -545,7 +545,7 @@ _080A407C: .4byte gUnk_02019EE0
|
||||||
thumb_func_start sub_080A4080
|
thumb_func_start sub_080A4080
|
||||||
sub_080A4080: @ 0x080A4080
|
sub_080A4080: @ 0x080A4080
|
||||||
push {r4, r5, r6, r7, lr}
|
push {r4, r5, r6, r7, lr}
|
||||||
ldr r4, _080A4134 @ =gUnk_03001010
|
ldr r4, _080A4134 @ =gOamCmd
|
||||||
movs r0, #0
|
movs r0, #0
|
||||||
strh r0, [r4, #4]
|
strh r0, [r4, #4]
|
||||||
strh r0, [r4, #6]
|
strh r0, [r4, #6]
|
||||||
|
@ -631,7 +631,7 @@ _080A411C:
|
||||||
_080A4130:
|
_080A4130:
|
||||||
pop {r4, r5, r6, r7, pc}
|
pop {r4, r5, r6, r7, pc}
|
||||||
.align 2, 0
|
.align 2, 0
|
||||||
_080A4134: .4byte gUnk_03001010
|
_080A4134: .4byte gOamCmd
|
||||||
_080A4138: .4byte gMenu
|
_080A4138: .4byte gMenu
|
||||||
_080A413C: .4byte 0x000001FB
|
_080A413C: .4byte 0x000001FB
|
||||||
_080A4140: .4byte gUnk_03001000
|
_080A4140: .4byte gUnk_03001000
|
||||||
|
@ -644,7 +644,7 @@ sub_080A414C: @ 0x080A414C
|
||||||
mov r7, sb
|
mov r7, sb
|
||||||
mov r6, r8
|
mov r6, r8
|
||||||
push {r6, r7}
|
push {r6, r7}
|
||||||
ldr r4, _080A4210 @ =gUnk_03001010
|
ldr r4, _080A4210 @ =gOamCmd
|
||||||
movs r0, #0
|
movs r0, #0
|
||||||
strh r0, [r4, #4]
|
strh r0, [r4, #4]
|
||||||
strh r0, [r4, #6]
|
strh r0, [r4, #6]
|
||||||
|
@ -743,7 +743,7 @@ _080A4200:
|
||||||
mov sb, r4
|
mov sb, r4
|
||||||
pop {r4, r5, r6, r7, pc}
|
pop {r4, r5, r6, r7, pc}
|
||||||
.align 2, 0
|
.align 2, 0
|
||||||
_080A4210: .4byte gUnk_03001010
|
_080A4210: .4byte gOamCmd
|
||||||
_080A4214: .4byte gMenu
|
_080A4214: .4byte gMenu
|
||||||
_080A4218: .4byte 0x00000B21
|
_080A4218: .4byte 0x00000B21
|
||||||
_080A421C: .4byte gSineTable
|
_080A421C: .4byte gSineTable
|
||||||
|
@ -772,7 +772,7 @@ sub_080A422C: @ 0x080A422C
|
||||||
adds r2, r4, #0
|
adds r2, r4, #0
|
||||||
movs r3, #0
|
movs r3, #0
|
||||||
bl sub_0805ECEC
|
bl sub_0805ECEC
|
||||||
ldr r1, _080A42AC @ =gUnk_03001010
|
ldr r1, _080A42AC @ =gOamCmd
|
||||||
movs r0, #0
|
movs r0, #0
|
||||||
strh r4, [r1, #4]
|
strh r4, [r1, #4]
|
||||||
strh r0, [r1, #6]
|
strh r0, [r1, #6]
|
||||||
|
@ -811,7 +811,7 @@ sub_080A422C: @ 0x080A422C
|
||||||
.align 2, 0
|
.align 2, 0
|
||||||
_080A42A4: .4byte gMenu
|
_080A42A4: .4byte gMenu
|
||||||
_080A42A8: .4byte gUnk_08128120
|
_080A42A8: .4byte gUnk_08128120
|
||||||
_080A42AC: .4byte gUnk_03001010
|
_080A42AC: .4byte gOamCmd
|
||||||
_080A42B0:
|
_080A42B0:
|
||||||
cmp r0, #6
|
cmp r0, #6
|
||||||
beq _080A42C6
|
beq _080A42C6
|
||||||
|
@ -826,7 +826,7 @@ _080A42B6:
|
||||||
_080A42C4:
|
_080A42C4:
|
||||||
movs r4, #0x8a
|
movs r4, #0x8a
|
||||||
_080A42C6:
|
_080A42C6:
|
||||||
ldr r0, _080A42D8 @ =gUnk_03001010
|
ldr r0, _080A42D8 @ =gOamCmd
|
||||||
strh r4, [r0]
|
strh r4, [r0]
|
||||||
ldr r0, _080A42DC @ =gUnk_02022740
|
ldr r0, _080A42DC @ =gUnk_02022740
|
||||||
ldrb r0, [r0, #3]
|
ldrb r0, [r0, #3]
|
||||||
|
@ -834,7 +834,7 @@ _080A42C6:
|
||||||
bl sub_080A42E0
|
bl sub_080A42E0
|
||||||
pop {r4, r5, pc}
|
pop {r4, r5, pc}
|
||||||
.align 2, 0
|
.align 2, 0
|
||||||
_080A42D8: .4byte gUnk_03001010
|
_080A42D8: .4byte gOamCmd
|
||||||
_080A42DC: .4byte gUnk_02022740
|
_080A42DC: .4byte gUnk_02022740
|
||||||
|
|
||||||
thumb_func_start sub_080A42E0
|
thumb_func_start sub_080A42E0
|
||||||
|
@ -873,7 +873,7 @@ _080A42FA:
|
||||||
adds r1, r4, #0
|
adds r1, r4, #0
|
||||||
bl sub_0801C2F0
|
bl sub_0801C2F0
|
||||||
_080A4324:
|
_080A4324:
|
||||||
ldr r1, _080A434C @ =gUnk_03001010
|
ldr r1, _080A434C @ =gOamCmd
|
||||||
ldr r2, _080A4350 @ =0x00003AE0
|
ldr r2, _080A4350 @ =0x00003AE0
|
||||||
adds r0, r5, r2
|
adds r0, r5, r2
|
||||||
strh r0, [r1, #8]
|
strh r0, [r1, #8]
|
||||||
|
@ -893,7 +893,7 @@ _080A4324:
|
||||||
b _080A4362
|
b _080A4362
|
||||||
.align 2, 0
|
.align 2, 0
|
||||||
_080A4348: .4byte gUnk_02019EE0
|
_080A4348: .4byte gUnk_02019EE0
|
||||||
_080A434C: .4byte gUnk_03001010
|
_080A434C: .4byte gOamCmd
|
||||||
_080A4350: .4byte 0x00003AE0
|
_080A4350: .4byte 0x00003AE0
|
||||||
_080A4354: .4byte gMenu
|
_080A4354: .4byte gMenu
|
||||||
_080A4358:
|
_080A4358:
|
||||||
|
@ -907,7 +907,7 @@ _080A4362:
|
||||||
movs r0, #0
|
movs r0, #0
|
||||||
movs r1, #5
|
movs r1, #5
|
||||||
bl sub_080ADA14
|
bl sub_080ADA14
|
||||||
ldr r0, _080A4394 @ =gUnk_03001010
|
ldr r0, _080A4394 @ =gOamCmd
|
||||||
strh r4, [r0]
|
strh r4, [r0]
|
||||||
strh r5, [r0, #2]
|
strh r5, [r0, #2]
|
||||||
_080A4372:
|
_080A4372:
|
||||||
|
@ -921,14 +921,14 @@ _080A4372:
|
||||||
lsls r2, r2, #2
|
lsls r2, r2, #2
|
||||||
adds r0, r0, r2
|
adds r0, r0, r2
|
||||||
orrs r1, r0
|
orrs r1, r0
|
||||||
ldr r0, _080A4394 @ =gUnk_03001010
|
ldr r0, _080A4394 @ =gOamCmd
|
||||||
strh r1, [r0, #8]
|
strh r1, [r0, #8]
|
||||||
movs r0, #0
|
movs r0, #0
|
||||||
movs r1, #3
|
movs r1, #3
|
||||||
bl sub_080ADA14
|
bl sub_080ADA14
|
||||||
pop {r4, r5, r6, r7, pc}
|
pop {r4, r5, r6, r7, pc}
|
||||||
.align 2, 0
|
.align 2, 0
|
||||||
_080A4394: .4byte gUnk_03001010
|
_080A4394: .4byte gOamCmd
|
||||||
|
|
||||||
thumb_func_start sub_080A4398
|
thumb_func_start sub_080A4398
|
||||||
sub_080A4398: @ 0x080A4398
|
sub_080A4398: @ 0x080A4398
|
||||||
|
@ -1705,7 +1705,7 @@ sub_080A4978: @ 0x080A4978
|
||||||
push {r4, r5, r6, r7, lr}
|
push {r4, r5, r6, r7, lr}
|
||||||
mov r7, r8
|
mov r7, r8
|
||||||
push {r7}
|
push {r7}
|
||||||
ldr r5, _080A4B1C @ =gUnk_03001010
|
ldr r5, _080A4B1C @ =gOamCmd
|
||||||
movs r0, #0
|
movs r0, #0
|
||||||
strh r0, [r5, #4]
|
strh r0, [r5, #4]
|
||||||
strh r0, [r5, #6]
|
strh r0, [r5, #6]
|
||||||
|
@ -1793,7 +1793,7 @@ _080A4A10:
|
||||||
ldrb r0, [r5, #0x1e]
|
ldrb r0, [r5, #0x1e]
|
||||||
cmp r0, #0
|
cmp r0, #0
|
||||||
beq _080A4A6A
|
beq _080A4A6A
|
||||||
ldr r4, _080A4B1C @ =gUnk_03001010
|
ldr r4, _080A4B1C @ =gOamCmd
|
||||||
strh r2, [r4, #2]
|
strh r2, [r4, #2]
|
||||||
movs r0, #0x1f
|
movs r0, #0x1f
|
||||||
ldrsb r0, [r5, r0]
|
ldrsb r0, [r5, r0]
|
||||||
|
@ -1833,7 +1833,7 @@ _080A4A6A:
|
||||||
ands r0, r1
|
ands r0, r1
|
||||||
cmp r0, #0
|
cmp r0, #0
|
||||||
beq _080A4ABE
|
beq _080A4ABE
|
||||||
ldr r1, _080A4B1C @ =gUnk_03001010
|
ldr r1, _080A4B1C @ =gOamCmd
|
||||||
movs r0, #0x10
|
movs r0, #0x10
|
||||||
strh r0, [r1, #2]
|
strh r0, [r1, #2]
|
||||||
ldrb r4, [r2, #0x1c]
|
ldrb r4, [r2, #0x1c]
|
||||||
|
@ -1873,7 +1873,7 @@ _080A4ABE:
|
||||||
bl sub_080A4948
|
bl sub_080A4948
|
||||||
cmp r0, #0
|
cmp r0, #0
|
||||||
beq _080A4B3A
|
beq _080A4B3A
|
||||||
ldr r1, _080A4B1C @ =gUnk_03001010
|
ldr r1, _080A4B1C @ =gOamCmd
|
||||||
movs r0, #0x2c
|
movs r0, #0x2c
|
||||||
strh r0, [r1]
|
strh r0, [r1]
|
||||||
movs r0, #0x48
|
movs r0, #0x48
|
||||||
|
@ -1907,7 +1907,7 @@ _080A4ABE:
|
||||||
bl LZ77UnCompVram
|
bl LZ77UnCompVram
|
||||||
b _080A4B3A
|
b _080A4B3A
|
||||||
.align 2, 0
|
.align 2, 0
|
||||||
_080A4B1C: .4byte gUnk_03001010
|
_080A4B1C: .4byte gOamCmd
|
||||||
_080A4B20: .4byte gSave
|
_080A4B20: .4byte gSave
|
||||||
_080A4B24: .4byte gMenu
|
_080A4B24: .4byte gMenu
|
||||||
_080A4B28: .4byte gUnk_03001000
|
_080A4B28: .4byte gUnk_03001000
|
||||||
|
@ -2715,7 +2715,7 @@ _080A515A:
|
||||||
_080A5182:
|
_080A5182:
|
||||||
str r0, [sp, #0x10]
|
str r0, [sp, #0x10]
|
||||||
str r1, [sp, #0x14]
|
str r1, [sp, #0x14]
|
||||||
ldr r4, _080A51CC @ =gUnk_03001010
|
ldr r4, _080A51CC @ =gOamCmd
|
||||||
movs r0, #0
|
movs r0, #0
|
||||||
strh r0, [r4, #4]
|
strh r0, [r4, #4]
|
||||||
strh r0, [r4, #6]
|
strh r0, [r4, #6]
|
||||||
|
@ -2748,7 +2748,7 @@ _080A51C6:
|
||||||
add sp, #0x18
|
add sp, #0x18
|
||||||
pop {r4, r5, pc}
|
pop {r4, r5, pc}
|
||||||
.align 2, 0
|
.align 2, 0
|
||||||
_080A51CC: .4byte gUnk_03001010
|
_080A51CC: .4byte gOamCmd
|
||||||
_080A51D0: .4byte 0x000001FB
|
_080A51D0: .4byte 0x000001FB
|
||||||
|
|
||||||
thumb_func_start sub_080A51D4
|
thumb_func_start sub_080A51D4
|
||||||
|
@ -2985,7 +2985,7 @@ sub_080A5384: @ 0x080A5384
|
||||||
mov r6, sb
|
mov r6, sb
|
||||||
mov r5, r8
|
mov r5, r8
|
||||||
push {r5, r6, r7}
|
push {r5, r6, r7}
|
||||||
ldr r0, _080A5400 @ =gUnk_03001010
|
ldr r0, _080A5400 @ =gOamCmd
|
||||||
movs r2, #0
|
movs r2, #0
|
||||||
movs r1, #0x80
|
movs r1, #0x80
|
||||||
lsls r1, r1, #3
|
lsls r1, r1, #3
|
||||||
|
@ -3014,7 +3014,7 @@ _080A53B4:
|
||||||
ldr r0, _080A540C @ =gUnk_08128B64
|
ldr r0, _080A540C @ =gUnk_08128B64
|
||||||
adds r1, r6, r0
|
adds r1, r6, r0
|
||||||
ldrb r0, [r1, #6]
|
ldrb r0, [r1, #6]
|
||||||
ldr r3, _080A5400 @ =gUnk_03001010
|
ldr r3, _080A5400 @ =gOamCmd
|
||||||
strh r0, [r3]
|
strh r0, [r3]
|
||||||
ldrb r0, [r1, #7]
|
ldrb r0, [r1, #7]
|
||||||
strh r0, [r3, #2]
|
strh r0, [r3, #2]
|
||||||
|
@ -3045,7 +3045,7 @@ _080A53E0:
|
||||||
bhi _080A542E
|
bhi _080A542E
|
||||||
b _080A542C
|
b _080A542C
|
||||||
.align 2, 0
|
.align 2, 0
|
||||||
_080A5400: .4byte gUnk_03001010
|
_080A5400: .4byte gOamCmd
|
||||||
_080A5404: .4byte gSave
|
_080A5404: .4byte gSave
|
||||||
_080A5408: .4byte gMenu
|
_080A5408: .4byte gMenu
|
||||||
_080A540C: .4byte gUnk_08128B64
|
_080A540C: .4byte gUnk_08128B64
|
||||||
|
@ -3075,7 +3075,7 @@ _080A542E:
|
||||||
adds r1, r7, #0
|
adds r1, r7, #0
|
||||||
orrs r0, r1
|
orrs r0, r1
|
||||||
orrs r2, r0
|
orrs r2, r0
|
||||||
ldr r0, _080A5530 @ =gUnk_03001010
|
ldr r0, _080A5530 @ =gOamCmd
|
||||||
strh r2, [r0, #8]
|
strh r2, [r0, #8]
|
||||||
ldr r1, _080A5534 @ =gUnk_080FDFD8
|
ldr r1, _080A5534 @ =gUnk_080FDFD8
|
||||||
lsls r0, r3, #2
|
lsls r0, r3, #2
|
||||||
|
@ -3090,7 +3090,7 @@ _080A5456:
|
||||||
adds r5, #1
|
adds r5, #1
|
||||||
cmp r5, #0x10
|
cmp r5, #0x10
|
||||||
bls _080A53B4
|
bls _080A53B4
|
||||||
ldr r0, _080A5530 @ =gUnk_03001010
|
ldr r0, _080A5530 @ =gOamCmd
|
||||||
movs r1, #0x80
|
movs r1, #0x80
|
||||||
lsls r1, r1, #4
|
lsls r1, r1, #4
|
||||||
strh r1, [r0, #8]
|
strh r1, [r0, #8]
|
||||||
|
@ -3194,7 +3194,7 @@ _080A5522:
|
||||||
pop {r4, r5, r6, r7, pc}
|
pop {r4, r5, r6, r7, pc}
|
||||||
.align 2, 0
|
.align 2, 0
|
||||||
_080A552C: .4byte gQuiverSizes
|
_080A552C: .4byte gQuiverSizes
|
||||||
_080A5530: .4byte gUnk_03001010
|
_080A5530: .4byte gOamCmd
|
||||||
_080A5534: .4byte gUnk_080FDFD8
|
_080A5534: .4byte gUnk_080FDFD8
|
||||||
_080A5538: .4byte gMenu
|
_080A5538: .4byte gMenu
|
||||||
_080A553C: .4byte gUnk_08128B64
|
_080A553C: .4byte gUnk_08128B64
|
||||||
|
|
|
@ -325,7 +325,7 @@ sub_080A57F4: @ 0x080A57F4
|
||||||
mov r7, sb
|
mov r7, sb
|
||||||
mov r6, r8
|
mov r6, r8
|
||||||
push {r6, r7}
|
push {r6, r7}
|
||||||
ldr r2, _080A5890 @ =gUnk_03001010
|
ldr r2, _080A5890 @ =gOamCmd
|
||||||
movs r1, #0
|
movs r1, #0
|
||||||
movs r0, #0x80
|
movs r0, #0x80
|
||||||
lsls r0, r0, #3
|
lsls r0, r0, #3
|
||||||
|
@ -382,7 +382,7 @@ _080A5854:
|
||||||
lsls r5, r3, #3
|
lsls r5, r3, #3
|
||||||
mov r0, sb
|
mov r0, sb
|
||||||
adds r3, r0, r5
|
adds r3, r0, r5
|
||||||
ldr r4, _080A5890 @ =gUnk_03001010
|
ldr r4, _080A5890 @ =gOamCmd
|
||||||
ldrb r0, [r7, #1]
|
ldrb r0, [r7, #1]
|
||||||
strh r0, [r4]
|
strh r0, [r4]
|
||||||
ldrb r2, [r7, #2]
|
ldrb r2, [r7, #2]
|
||||||
|
@ -401,7 +401,7 @@ _080A5854:
|
||||||
ldr r0, _080A58A4 @ =0x000001FB
|
ldr r0, _080A58A4 @ =0x000001FB
|
||||||
b _080A58E4
|
b _080A58E4
|
||||||
.align 2, 0
|
.align 2, 0
|
||||||
_080A5890: .4byte gUnk_03001010
|
_080A5890: .4byte gOamCmd
|
||||||
_080A5894: .4byte gUnk_08128C94
|
_080A5894: .4byte gUnk_08128C94
|
||||||
_080A5898: .4byte gUnk_08128C14
|
_080A5898: .4byte gUnk_08128C14
|
||||||
_080A589C: .4byte gMenu
|
_080A589C: .4byte gMenu
|
||||||
|
@ -455,7 +455,7 @@ _080A58E8:
|
||||||
ldrb r0, [r4, #0x12]
|
ldrb r0, [r4, #0x12]
|
||||||
cmp r0, #0
|
cmp r0, #0
|
||||||
beq _080A5920
|
beq _080A5920
|
||||||
ldr r2, _080A5988 @ =gUnk_03001010
|
ldr r2, _080A5988 @ =gOamCmd
|
||||||
movs r3, #0x80
|
movs r3, #0x80
|
||||||
lsls r3, r3, #4
|
lsls r3, r3, #4
|
||||||
adds r1, r3, #0
|
adds r1, r3, #0
|
||||||
|
@ -478,7 +478,7 @@ _080A5920:
|
||||||
bne _080A5976
|
bne _080A5976
|
||||||
mov r3, sb
|
mov r3, sb
|
||||||
adds r3, #0x18
|
adds r3, #0x18
|
||||||
ldr r1, _080A5988 @ =gUnk_03001010
|
ldr r1, _080A5988 @ =gOamCmd
|
||||||
ldrb r0, [r3, #6]
|
ldrb r0, [r3, #6]
|
||||||
adds r0, #8
|
adds r0, #8
|
||||||
strh r0, [r1]
|
strh r0, [r1]
|
||||||
|
@ -522,7 +522,7 @@ _080A5976:
|
||||||
.align 2, 0
|
.align 2, 0
|
||||||
_080A5980: .4byte gUnk_080FDFD8
|
_080A5980: .4byte gUnk_080FDFD8
|
||||||
_080A5984: .4byte gMenu
|
_080A5984: .4byte gMenu
|
||||||
_080A5988: .4byte gUnk_03001010
|
_080A5988: .4byte gOamCmd
|
||||||
_080A598C: .4byte gSave
|
_080A598C: .4byte gSave
|
||||||
|
|
||||||
thumb_func_start sub_080A5990
|
thumb_func_start sub_080A5990
|
||||||
|
@ -1004,7 +1004,7 @@ sub_080A5D1C: @ 0x080A5D1C
|
||||||
ldrb r6, [r0]
|
ldrb r6, [r0]
|
||||||
bl sub_0801DB94
|
bl sub_0801DB94
|
||||||
mov r8, r0
|
mov r8, r0
|
||||||
ldr r5, _080A5EA4 @ =gUnk_03001010
|
ldr r5, _080A5EA4 @ =gOamCmd
|
||||||
movs r0, #0x80
|
movs r0, #0x80
|
||||||
lsls r0, r0, #3
|
lsls r0, r0, #3
|
||||||
strh r0, [r5, #4]
|
strh r0, [r5, #4]
|
||||||
|
@ -1133,7 +1133,7 @@ _080A5E42:
|
||||||
ldr r0, _080A5EB0 @ =0x000001FB
|
ldr r0, _080A5EB0 @ =0x000001FB
|
||||||
bl sub_080ADA14
|
bl sub_080ADA14
|
||||||
_080A5E48:
|
_080A5E48:
|
||||||
ldr r1, _080A5EA4 @ =gUnk_03001010
|
ldr r1, _080A5EA4 @ =gOamCmd
|
||||||
movs r0, #0
|
movs r0, #0
|
||||||
strh r0, [r1, #8]
|
strh r0, [r1, #8]
|
||||||
movs r0, #0x34
|
movs r0, #0x34
|
||||||
|
@ -1164,7 +1164,7 @@ _080A5E7C:
|
||||||
ldrb r0, [r5]
|
ldrb r0, [r5]
|
||||||
cmp r0, #0
|
cmp r0, #0
|
||||||
beq _080A5F14
|
beq _080A5F14
|
||||||
ldr r7, _080A5EA4 @ =gUnk_03001010
|
ldr r7, _080A5EA4 @ =gOamCmd
|
||||||
ldr r6, _080A5EBC @ =gScreen
|
ldr r6, _080A5EBC @ =gScreen
|
||||||
_080A5E88:
|
_080A5E88:
|
||||||
ldrb r0, [r5]
|
ldrb r0, [r5]
|
||||||
|
@ -1179,7 +1179,7 @@ _080A5E88:
|
||||||
_080A5E98: .4byte gArea
|
_080A5E98: .4byte gArea
|
||||||
_080A5E9C: .4byte gUnk_080C9C6C
|
_080A5E9C: .4byte gUnk_080C9C6C
|
||||||
_080A5EA0: .4byte gUnk_08128D3C
|
_080A5EA0: .4byte gUnk_08128D3C
|
||||||
_080A5EA4: .4byte gUnk_03001010
|
_080A5EA4: .4byte gOamCmd
|
||||||
_080A5EA8: .4byte gMenu
|
_080A5EA8: .4byte gMenu
|
||||||
_080A5EAC: .4byte gUnk_03001000
|
_080A5EAC: .4byte gUnk_03001000
|
||||||
_080A5EB0: .4byte 0x000001FB
|
_080A5EB0: .4byte 0x000001FB
|
||||||
|
@ -1399,7 +1399,7 @@ sub_080A6044: @ 0x080A6044
|
||||||
ldr r0, _080A60CC @ =gMenu
|
ldr r0, _080A60CC @ =gMenu
|
||||||
ldr r1, _080A60D0 @ =gUnk_08128D51
|
ldr r1, _080A60D0 @ =gUnk_08128D51
|
||||||
str r1, [r0, #0xc]
|
str r1, [r0, #0xc]
|
||||||
ldr r1, _080A60D4 @ =gUnk_03001010
|
ldr r1, _080A60D4 @ =gOamCmd
|
||||||
movs r0, #0
|
movs r0, #0
|
||||||
strh r0, [r1, #4]
|
strh r0, [r1, #4]
|
||||||
strh r0, [r1, #6]
|
strh r0, [r1, #6]
|
||||||
|
@ -1459,7 +1459,7 @@ _080A60C2:
|
||||||
.align 2, 0
|
.align 2, 0
|
||||||
_080A60CC: .4byte gMenu
|
_080A60CC: .4byte gMenu
|
||||||
_080A60D0: .4byte gUnk_08128D51
|
_080A60D0: .4byte gUnk_08128D51
|
||||||
_080A60D4: .4byte gUnk_03001010
|
_080A60D4: .4byte gOamCmd
|
||||||
_080A60D8: .4byte gSave
|
_080A60D8: .4byte gSave
|
||||||
_080A60DC: .4byte 0x0000012B
|
_080A60DC: .4byte 0x0000012B
|
||||||
|
|
||||||
|
@ -1545,7 +1545,7 @@ sub_080A617C: @ 0x080A617C
|
||||||
push {r4, r5, r6, r7, lr}
|
push {r4, r5, r6, r7, lr}
|
||||||
mov r7, r8
|
mov r7, r8
|
||||||
push {r7}
|
push {r7}
|
||||||
ldr r6, _080A6260 @ =gUnk_03001010
|
ldr r6, _080A6260 @ =gOamCmd
|
||||||
movs r0, #0
|
movs r0, #0
|
||||||
strh r0, [r6, #4]
|
strh r0, [r6, #4]
|
||||||
strh r0, [r6, #6]
|
strh r0, [r6, #6]
|
||||||
|
@ -1653,7 +1653,7 @@ _080A6250:
|
||||||
mov r8, r3
|
mov r8, r3
|
||||||
pop {r4, r5, r6, r7, pc}
|
pop {r4, r5, r6, r7, pc}
|
||||||
.align 2, 0
|
.align 2, 0
|
||||||
_080A6260: .4byte gUnk_03001010
|
_080A6260: .4byte gOamCmd
|
||||||
_080A6264: .4byte gMenu
|
_080A6264: .4byte gMenu
|
||||||
_080A6268: .4byte gUnk_03001000
|
_080A6268: .4byte gUnk_03001000
|
||||||
_080A626C: .4byte gUnk_08128D70
|
_080A626C: .4byte gUnk_08128D70
|
||||||
|
@ -1804,7 +1804,7 @@ sub_080A6378: @ 0x080A6378
|
||||||
beq _080A6392
|
beq _080A6392
|
||||||
bl sub_080A6438
|
bl sub_080A6438
|
||||||
_080A6392:
|
_080A6392:
|
||||||
ldr r5, _080A6424 @ =gUnk_03001010
|
ldr r5, _080A6424 @ =gOamCmd
|
||||||
movs r0, #0x80
|
movs r0, #0x80
|
||||||
lsls r0, r0, #3
|
lsls r0, r0, #3
|
||||||
strh r0, [r5, #4]
|
strh r0, [r5, #4]
|
||||||
|
@ -1852,7 +1852,7 @@ _080A63EA:
|
||||||
lsls r0, r0, #3
|
lsls r0, r0, #3
|
||||||
ldr r1, _080A6434 @ =gUnk_08128DE8
|
ldr r1, _080A6434 @ =gUnk_08128DE8
|
||||||
adds r0, r0, r1
|
adds r0, r0, r1
|
||||||
ldr r2, _080A6424 @ =gUnk_03001010
|
ldr r2, _080A6424 @ =gOamCmd
|
||||||
ldrb r1, [r0, #6]
|
ldrb r1, [r0, #6]
|
||||||
strh r1, [r2]
|
strh r1, [r2]
|
||||||
ldrb r0, [r0, #7]
|
ldrb r0, [r0, #7]
|
||||||
|
@ -1873,7 +1873,7 @@ _080A63EA:
|
||||||
pop {r4, r5, r6, pc}
|
pop {r4, r5, r6, pc}
|
||||||
.align 2, 0
|
.align 2, 0
|
||||||
_080A6420: .4byte gMenu
|
_080A6420: .4byte gMenu
|
||||||
_080A6424: .4byte gUnk_03001010
|
_080A6424: .4byte gOamCmd
|
||||||
_080A6428: .4byte gScreenTransition
|
_080A6428: .4byte gScreenTransition
|
||||||
_080A642C: .4byte gPlayerState
|
_080A642C: .4byte gPlayerState
|
||||||
_080A6430: .4byte 0x000001FB
|
_080A6430: .4byte 0x000001FB
|
||||||
|
@ -1882,7 +1882,7 @@ _080A6434: .4byte gUnk_08128DE8
|
||||||
thumb_func_start sub_080A6438
|
thumb_func_start sub_080A6438
|
||||||
sub_080A6438: @ 0x080A6438
|
sub_080A6438: @ 0x080A6438
|
||||||
push {r4, r5, r6, r7, lr}
|
push {r4, r5, r6, r7, lr}
|
||||||
ldr r2, _080A6484 @ =gUnk_03001010
|
ldr r2, _080A6484 @ =gOamCmd
|
||||||
movs r1, #0
|
movs r1, #0
|
||||||
movs r0, #0x80
|
movs r0, #0x80
|
||||||
lsls r0, r0, #3
|
lsls r0, r0, #3
|
||||||
|
@ -1922,7 +1922,7 @@ _080A6478:
|
||||||
_080A6482:
|
_080A6482:
|
||||||
pop {r4, r5, r6, r7, pc}
|
pop {r4, r5, r6, r7, pc}
|
||||||
.align 2, 0
|
.align 2, 0
|
||||||
_080A6484: .4byte gUnk_03001010
|
_080A6484: .4byte gOamCmd
|
||||||
_080A6488: .4byte gSave
|
_080A6488: .4byte gSave
|
||||||
_080A648C: .4byte gMenu
|
_080A648C: .4byte gMenu
|
||||||
_080A6490: .4byte gUnk_08128F58
|
_080A6490: .4byte gUnk_08128F58
|
||||||
|
@ -1931,7 +1931,7 @@ _080A6494: .4byte 0x000001FB
|
||||||
thumb_func_start sub_080A6498
|
thumb_func_start sub_080A6498
|
||||||
sub_080A6498: @ 0x080A6498
|
sub_080A6498: @ 0x080A6498
|
||||||
push {r4, r5, r6, r7, lr}
|
push {r4, r5, r6, r7, lr}
|
||||||
ldr r0, _080A64E4 @ =gUnk_03001010
|
ldr r0, _080A64E4 @ =gOamCmd
|
||||||
movs r2, #0
|
movs r2, #0
|
||||||
movs r1, #0x80
|
movs r1, #0x80
|
||||||
lsls r1, r1, #4
|
lsls r1, r1, #4
|
||||||
|
@ -1970,7 +1970,7 @@ _080A64D2:
|
||||||
strh r1, [r0]
|
strh r1, [r0]
|
||||||
pop {r4, r5, r6, r7, pc}
|
pop {r4, r5, r6, r7, pc}
|
||||||
.align 2, 0
|
.align 2, 0
|
||||||
_080A64E4: .4byte gUnk_03001010
|
_080A64E4: .4byte gOamCmd
|
||||||
_080A64E8: .4byte gSave
|
_080A64E8: .4byte gSave
|
||||||
_080A64EC: .4byte gUnk_08128DE8
|
_080A64EC: .4byte gUnk_08128DE8
|
||||||
_080A64F0: .4byte 0x000001FB
|
_080A64F0: .4byte 0x000001FB
|
||||||
|
@ -2206,7 +2206,7 @@ sub_080A66D0: @ 0x080A66D0
|
||||||
mov r6, sb
|
mov r6, sb
|
||||||
mov r5, r8
|
mov r5, r8
|
||||||
push {r5, r6, r7}
|
push {r5, r6, r7}
|
||||||
ldr r6, _080A677C @ =gUnk_03001010
|
ldr r6, _080A677C @ =gOamCmd
|
||||||
movs r0, #0
|
movs r0, #0
|
||||||
strh r0, [r6, #4]
|
strh r0, [r6, #4]
|
||||||
strh r0, [r6, #6]
|
strh r0, [r6, #6]
|
||||||
|
@ -2260,7 +2260,7 @@ _080A6738:
|
||||||
ldr r1, _080A6780 @ =gMenu
|
ldr r1, _080A6780 @ =gMenu
|
||||||
ldrh r0, [r1, #0xa]
|
ldrh r0, [r1, #0xa]
|
||||||
mov r8, r0
|
mov r8, r0
|
||||||
ldr r2, _080A677C @ =gUnk_03001010
|
ldr r2, _080A677C @ =gOamCmd
|
||||||
movs r0, #0
|
movs r0, #0
|
||||||
strh r0, [r2, #4]
|
strh r0, [r2, #4]
|
||||||
strh r0, [r2, #6]
|
strh r0, [r2, #6]
|
||||||
|
@ -2288,7 +2288,7 @@ _080A676E:
|
||||||
lsrs r1, r5, #0x1f
|
lsrs r1, r5, #0x1f
|
||||||
b _080A6796
|
b _080A6796
|
||||||
.align 2, 0
|
.align 2, 0
|
||||||
_080A677C: .4byte gUnk_03001010
|
_080A677C: .4byte gOamCmd
|
||||||
_080A6780: .4byte gMenu
|
_080A6780: .4byte gMenu
|
||||||
_080A6784: .4byte gUnk_08128E94
|
_080A6784: .4byte gUnk_08128E94
|
||||||
_080A6788: .4byte 0x000001FB
|
_080A6788: .4byte 0x000001FB
|
||||||
|
@ -3171,7 +3171,7 @@ _080A6E6C: .4byte gUnk_08128024
|
||||||
thumb_func_start sub_080A6E70
|
thumb_func_start sub_080A6E70
|
||||||
sub_080A6E70: @ 0x080A6E70
|
sub_080A6E70: @ 0x080A6E70
|
||||||
push {r4, r5, lr}
|
push {r4, r5, lr}
|
||||||
ldr r1, _080A6ED0 @ =gUnk_03001010
|
ldr r1, _080A6ED0 @ =gOamCmd
|
||||||
movs r0, #0
|
movs r0, #0
|
||||||
strh r0, [r1, #4]
|
strh r0, [r1, #4]
|
||||||
strh r0, [r1, #6]
|
strh r0, [r1, #6]
|
||||||
|
@ -3218,7 +3218,7 @@ _080A6EC8:
|
||||||
bls _080A6EAA
|
bls _080A6EAA
|
||||||
pop {r4, r5, pc}
|
pop {r4, r5, pc}
|
||||||
.align 2, 0
|
.align 2, 0
|
||||||
_080A6ED0: .4byte gUnk_03001010
|
_080A6ED0: .4byte gOamCmd
|
||||||
_080A6ED4: .4byte gMenu
|
_080A6ED4: .4byte gMenu
|
||||||
_080A6ED8: .4byte 0x000001FB
|
_080A6ED8: .4byte 0x000001FB
|
||||||
_080A6EDC: .4byte gSave
|
_080A6EDC: .4byte gSave
|
||||||
|
@ -3247,7 +3247,7 @@ sub_080A6EE0: @ 0x080A6EE0
|
||||||
adds r3, r3, r0
|
adds r3, r3, r0
|
||||||
ldrh r0, [r1, #2]
|
ldrh r0, [r1, #2]
|
||||||
adds r4, r4, r0
|
adds r4, r4, r0
|
||||||
ldr r6, _080A6F3C @ =gUnk_03001010
|
ldr r6, _080A6F3C @ =gOamCmd
|
||||||
lsls r0, r3, #2
|
lsls r0, r3, #2
|
||||||
adds r0, r0, r3
|
adds r0, r0, r3
|
||||||
lsls r0, r0, #5
|
lsls r0, r0, #5
|
||||||
|
@ -3268,7 +3268,7 @@ sub_080A6EE0: @ 0x080A6EE0
|
||||||
.align 2, 0
|
.align 2, 0
|
||||||
_080A6F34: .4byte gUnk_08128024
|
_080A6F34: .4byte gUnk_08128024
|
||||||
_080A6F38: .4byte gAreaRoomHeaders
|
_080A6F38: .4byte gAreaRoomHeaders
|
||||||
_080A6F3C: .4byte gUnk_03001010
|
_080A6F3C: .4byte gOamCmd
|
||||||
|
|
||||||
thumb_func_start sub_080A6F40
|
thumb_func_start sub_080A6F40
|
||||||
sub_080A6F40: @ 0x080A6F40
|
sub_080A6F40: @ 0x080A6F40
|
||||||
|
|
|
@ -148,13 +148,13 @@ sub_080ADA14: @ 0x080ADA14
|
||||||
adds r3, r0, #0
|
adds r3, r0, #0
|
||||||
adds r2, r1, #0
|
adds r2, r1, #0
|
||||||
ldr r4, _080ADA28 @ =gUnk_03006580
|
ldr r4, _080ADA28 @ =gUnk_03006580
|
||||||
ldr r0, _080ADA2C @ =gUnk_03001010
|
ldr r0, _080ADA2C @ =gOamCmd
|
||||||
adds r1, r3, #0
|
adds r1, r3, #0
|
||||||
bl _call_via_r4
|
bl _call_via_r4
|
||||||
pop {r4, pc}
|
pop {r4, pc}
|
||||||
.align 2, 0
|
.align 2, 0
|
||||||
_080ADA28: .4byte gUnk_03006580
|
_080ADA28: .4byte gUnk_03006580
|
||||||
_080ADA2C: .4byte gUnk_03001010
|
_080ADA2C: .4byte gOamCmd
|
||||||
|
|
||||||
thumb_func_start sub_080ADA30
|
thumb_func_start sub_080ADA30
|
||||||
sub_080ADA30: @ 0x080ADA30
|
sub_080ADA30: @ 0x080ADA30
|
||||||
|
|
372
asm/fileScreen.s
372
asm/fileScreen.s
|
@ -846,375 +846,3 @@ _08052120: .4byte gSave
|
||||||
_08052124: .4byte gUnk_03001000
|
_08052124: .4byte gUnk_03001000
|
||||||
_08052128: .4byte 0xFFFF0001
|
_08052128: .4byte 0xFFFF0001
|
||||||
|
|
||||||
thumb_func_start sub_0805212C
|
|
||||||
sub_0805212C: @ 0x0805212C
|
|
||||||
push {r4, lr}
|
|
||||||
ldr r4, _0805214C @ =gFadeControl
|
|
||||||
ldrb r0, [r4]
|
|
||||||
cmp r0, #0
|
|
||||||
bne _0805219C
|
|
||||||
ldr r1, _08052150 @ =gUnk_03001000
|
|
||||||
ldrb r0, [r1, #5]
|
|
||||||
cmp r0, #0
|
|
||||||
bne _08052198
|
|
||||||
ldr r1, _08052154 @ =gMenu
|
|
||||||
ldrb r0, [r1, #0x10]
|
|
||||||
cmp r0, #0x25
|
|
||||||
bls _08052158
|
|
||||||
subs r0, #1
|
|
||||||
strb r0, [r1, #0x10]
|
|
||||||
b _0805219C
|
|
||||||
.align 2, 0
|
|
||||||
_0805214C: .4byte gFadeControl
|
|
||||||
_08052150: .4byte gUnk_03001000
|
|
||||||
_08052154: .4byte gMenu
|
|
||||||
_08052158:
|
|
||||||
ldrh r0, [r1, #8]
|
|
||||||
subs r0, #1
|
|
||||||
strh r0, [r1, #8]
|
|
||||||
lsls r0, r0, #0x10
|
|
||||||
cmp r0, #0
|
|
||||||
bne _0805219C
|
|
||||||
movs r0, #2
|
|
||||||
bl sub_080520C4
|
|
||||||
movs r0, #0
|
|
||||||
movs r1, #0
|
|
||||||
bl sub_08052418
|
|
||||||
ldr r2, _08052190 @ =gScreen
|
|
||||||
ldrh r0, [r2]
|
|
||||||
movs r3, #0xc0
|
|
||||||
lsls r3, r3, #3
|
|
||||||
adds r1, r3, #0
|
|
||||||
orrs r0, r1
|
|
||||||
strh r0, [r2]
|
|
||||||
ldr r0, _08052194 @ =0x0000FFFF
|
|
||||||
str r0, [r4, #4]
|
|
||||||
movs r0, #4
|
|
||||||
movs r1, #0x10
|
|
||||||
bl DoFade
|
|
||||||
b _0805219C
|
|
||||||
.align 2, 0
|
|
||||||
_08052190: .4byte gScreen
|
|
||||||
_08052194: .4byte 0x0000FFFF
|
|
||||||
_08052198:
|
|
||||||
subs r0, #1
|
|
||||||
strb r0, [r1, #5]
|
|
||||||
_0805219C:
|
|
||||||
pop {r4, pc}
|
|
||||||
.align 2, 0
|
|
||||||
|
|
||||||
thumb_func_start sub_080521A0
|
|
||||||
sub_080521A0: @ 0x080521A0
|
|
||||||
push {r4, lr}
|
|
||||||
ldr r0, _080521C4 @ =gFadeControl
|
|
||||||
ldrb r0, [r0]
|
|
||||||
cmp r0, #0
|
|
||||||
beq _080521AC
|
|
||||||
b _080522E8
|
|
||||||
_080521AC:
|
|
||||||
ldr r0, _080521C8 @ =gMenu
|
|
||||||
ldrb r1, [r0, #5]
|
|
||||||
adds r2, r0, #0
|
|
||||||
cmp r1, #4
|
|
||||||
bls _080521B8
|
|
||||||
b _080522D4
|
|
||||||
_080521B8:
|
|
||||||
lsls r0, r1, #2
|
|
||||||
ldr r1, _080521CC @ =_080521D0
|
|
||||||
adds r0, r0, r1
|
|
||||||
ldr r0, [r0]
|
|
||||||
mov pc, r0
|
|
||||||
.align 2, 0
|
|
||||||
_080521C4: .4byte gFadeControl
|
|
||||||
_080521C8: .4byte gMenu
|
|
||||||
_080521CC: .4byte _080521D0
|
|
||||||
_080521D0: @ jump table
|
|
||||||
.4byte _080521E4 @ case 0
|
|
||||||
.4byte _08052208 @ case 1
|
|
||||||
.4byte _08052278 @ case 2
|
|
||||||
.4byte _080522B0 @ case 3
|
|
||||||
.4byte _080522D4 @ case 4
|
|
||||||
_080521E4:
|
|
||||||
movs r1, #0
|
|
||||||
movs r0, #0x1e
|
|
||||||
strh r0, [r2, #8]
|
|
||||||
strb r1, [r2, #3]
|
|
||||||
movs r0, #1
|
|
||||||
bl sub_080A7114
|
|
||||||
movs r0, #0
|
|
||||||
movs r1, #0
|
|
||||||
bl sub_08052418
|
|
||||||
ldr r1, _08052204 @ =gFadeControl
|
|
||||||
movs r0, #1
|
|
||||||
rsbs r0, r0, #0
|
|
||||||
str r0, [r1, #4]
|
|
||||||
b _080522E8
|
|
||||||
.align 2, 0
|
|
||||||
_08052204: .4byte gFadeControl
|
|
||||||
_08052208:
|
|
||||||
ldrh r0, [r2, #8]
|
|
||||||
cmp r0, #0
|
|
||||||
bne _080522B6
|
|
||||||
ldrb r4, [r2, #3]
|
|
||||||
ldr r0, _08052224 @ =gInput
|
|
||||||
ldrh r0, [r0, #2]
|
|
||||||
cmp r0, #0x40
|
|
||||||
beq _0805222E
|
|
||||||
cmp r0, #0x40
|
|
||||||
bgt _08052228
|
|
||||||
cmp r0, #1
|
|
||||||
beq _08052236
|
|
||||||
b _0805225A
|
|
||||||
.align 2, 0
|
|
||||||
_08052224: .4byte gInput
|
|
||||||
_08052228:
|
|
||||||
cmp r0, #0x80
|
|
||||||
beq _08052232
|
|
||||||
b _0805225A
|
|
||||||
_0805222E:
|
|
||||||
movs r4, #0
|
|
||||||
b _0805225A
|
|
||||||
_08052232:
|
|
||||||
movs r4, #1
|
|
||||||
b _0805225A
|
|
||||||
_08052236:
|
|
||||||
cmp r4, #0
|
|
||||||
beq _0805223E
|
|
||||||
movs r2, #4
|
|
||||||
b _08052248
|
|
||||||
_0805223E:
|
|
||||||
movs r0, #8
|
|
||||||
movs r1, #0
|
|
||||||
bl CreateDialogBox
|
|
||||||
movs r2, #2
|
|
||||||
_08052248:
|
|
||||||
ldr r1, _08052274 @ =gMenu
|
|
||||||
movs r0, #0x3c
|
|
||||||
strh r0, [r1, #8]
|
|
||||||
adds r0, r2, #0
|
|
||||||
bl sub_080A7114
|
|
||||||
movs r0, #0x6a
|
|
||||||
bl PlaySFX
|
|
||||||
_0805225A:
|
|
||||||
ldr r1, _08052274 @ =gMenu
|
|
||||||
ldrb r0, [r1, #3]
|
|
||||||
cmp r0, r4
|
|
||||||
beq _080522E8
|
|
||||||
strb r4, [r1, #3]
|
|
||||||
movs r0, #0
|
|
||||||
adds r1, r4, #0
|
|
||||||
bl sub_08052418
|
|
||||||
movs r0, #0x69
|
|
||||||
bl PlaySFX
|
|
||||||
b _080522E8
|
|
||||||
.align 2, 0
|
|
||||||
_08052274: .4byte gMenu
|
|
||||||
_08052278:
|
|
||||||
movs r0, #0
|
|
||||||
bl sub_0807CDA4
|
|
||||||
adds r1, r0, #0
|
|
||||||
ldr r2, _08052298 @ =gMenu
|
|
||||||
strb r1, [r2]
|
|
||||||
movs r0, #1
|
|
||||||
rsbs r0, r0, #0
|
|
||||||
cmp r1, r0
|
|
||||||
beq _0805229C
|
|
||||||
cmp r1, #1
|
|
||||||
bne _080522E8
|
|
||||||
movs r0, #4
|
|
||||||
bl sub_080A7114
|
|
||||||
b _080522E8
|
|
||||||
.align 2, 0
|
|
||||||
_08052298: .4byte gMenu
|
|
||||||
_0805229C:
|
|
||||||
movs r0, #0x3c
|
|
||||||
strh r0, [r2, #8]
|
|
||||||
movs r0, #9
|
|
||||||
movs r1, #0
|
|
||||||
bl CreateDialogBox
|
|
||||||
movs r0, #3
|
|
||||||
bl sub_080A7114
|
|
||||||
b _080522E8
|
|
||||||
_080522B0:
|
|
||||||
ldrh r0, [r2, #8]
|
|
||||||
cmp r0, #0
|
|
||||||
beq _080522BC
|
|
||||||
_080522B6:
|
|
||||||
subs r0, #1
|
|
||||||
strh r0, [r2, #8]
|
|
||||||
b _080522E8
|
|
||||||
_080522BC:
|
|
||||||
ldr r0, _080522D0 @ =gInput
|
|
||||||
ldrh r1, [r0, #2]
|
|
||||||
movs r0, #0xb
|
|
||||||
ands r0, r1
|
|
||||||
cmp r0, #0
|
|
||||||
beq _080522E8
|
|
||||||
movs r0, #0
|
|
||||||
bl sub_080A7114
|
|
||||||
b _080522E8
|
|
||||||
.align 2, 0
|
|
||||||
_080522D0: .4byte gInput
|
|
||||||
_080522D4:
|
|
||||||
ldr r2, _080522EC @ =gScreen
|
|
||||||
ldrh r1, [r2]
|
|
||||||
ldr r0, _080522F0 @ =0x0000FDFF
|
|
||||||
ands r0, r1
|
|
||||||
strh r0, [r2]
|
|
||||||
bl sub_08050384
|
|
||||||
movs r0, #3
|
|
||||||
bl sub_080520C4
|
|
||||||
_080522E8:
|
|
||||||
pop {r4, pc}
|
|
||||||
.align 2, 0
|
|
||||||
_080522EC: .4byte gScreen
|
|
||||||
_080522F0: .4byte 0x0000FDFF
|
|
||||||
|
|
||||||
thumb_func_start sub_080522F4
|
|
||||||
sub_080522F4: @ 0x080522F4
|
|
||||||
push {r4, lr}
|
|
||||||
ldr r0, _08052320 @ =gMenu
|
|
||||||
ldrb r1, [r0, #5]
|
|
||||||
adds r3, r0, #0
|
|
||||||
cmp r1, #1
|
|
||||||
beq _08052324
|
|
||||||
cmp r1, #1
|
|
||||||
bgt _080523AC
|
|
||||||
cmp r1, #0
|
|
||||||
bne _080523AC
|
|
||||||
movs r1, #0
|
|
||||||
movs r0, #0x1e
|
|
||||||
strh r0, [r3, #8]
|
|
||||||
strb r1, [r3, #3]
|
|
||||||
movs r0, #1
|
|
||||||
bl sub_080A7114
|
|
||||||
movs r0, #1
|
|
||||||
movs r1, #0
|
|
||||||
bl sub_08052418
|
|
||||||
b _080523CC
|
|
||||||
.align 2, 0
|
|
||||||
_08052320: .4byte gMenu
|
|
||||||
_08052324:
|
|
||||||
ldr r2, _08052340 @ =gScreen
|
|
||||||
ldrh r1, [r2]
|
|
||||||
movs r4, #0x80
|
|
||||||
lsls r4, r4, #2
|
|
||||||
adds r0, r4, #0
|
|
||||||
orrs r0, r1
|
|
||||||
strh r0, [r2]
|
|
||||||
ldrh r0, [r3, #8]
|
|
||||||
cmp r0, #0
|
|
||||||
beq _08052344
|
|
||||||
subs r0, #1
|
|
||||||
strh r0, [r3, #8]
|
|
||||||
b _080523CC
|
|
||||||
.align 2, 0
|
|
||||||
_08052340: .4byte gScreen
|
|
||||||
_08052344:
|
|
||||||
ldrb r4, [r3, #3]
|
|
||||||
ldr r0, _08052358 @ =gInput
|
|
||||||
ldrh r0, [r0, #2]
|
|
||||||
cmp r0, #0x40
|
|
||||||
beq _08052362
|
|
||||||
cmp r0, #0x40
|
|
||||||
bgt _0805235C
|
|
||||||
cmp r0, #1
|
|
||||||
beq _0805236A
|
|
||||||
b _0805238C
|
|
||||||
.align 2, 0
|
|
||||||
_08052358: .4byte gInput
|
|
||||||
_0805235C:
|
|
||||||
cmp r0, #0x80
|
|
||||||
beq _08052366
|
|
||||||
b _0805238C
|
|
||||||
_08052362:
|
|
||||||
movs r4, #0
|
|
||||||
b _0805238C
|
|
||||||
_08052366:
|
|
||||||
movs r4, #1
|
|
||||||
b _0805238C
|
|
||||||
_0805236A:
|
|
||||||
movs r0, #2
|
|
||||||
bl sub_080A7114
|
|
||||||
movs r0, #0x6a
|
|
||||||
bl PlaySFX
|
|
||||||
cmp r4, #0
|
|
||||||
bne _08052384
|
|
||||||
movs r0, #5
|
|
||||||
movs r1, #8
|
|
||||||
bl DoFade
|
|
||||||
b _0805238C
|
|
||||||
_08052384:
|
|
||||||
movs r0, #7
|
|
||||||
movs r1, #8
|
|
||||||
bl DoFade
|
|
||||||
_0805238C:
|
|
||||||
ldr r1, _080523A8 @ =gMenu
|
|
||||||
ldrb r0, [r1, #3]
|
|
||||||
cmp r0, r4
|
|
||||||
beq _080523CC
|
|
||||||
strb r4, [r1, #3]
|
|
||||||
movs r0, #1
|
|
||||||
adds r1, r4, #0
|
|
||||||
bl sub_08052418
|
|
||||||
movs r0, #0x69
|
|
||||||
bl PlaySFX
|
|
||||||
b _080523CC
|
|
||||||
.align 2, 0
|
|
||||||
_080523A8: .4byte gMenu
|
|
||||||
_080523AC:
|
|
||||||
ldr r0, _080523C4 @ =gFadeControl
|
|
||||||
ldrb r0, [r0]
|
|
||||||
cmp r0, #0
|
|
||||||
bne _080523CC
|
|
||||||
ldrb r0, [r3, #3]
|
|
||||||
cmp r0, #0
|
|
||||||
bne _080523C8
|
|
||||||
movs r0, #2
|
|
||||||
bl InitScreen
|
|
||||||
b _080523CC
|
|
||||||
.align 2, 0
|
|
||||||
_080523C4: .4byte gFadeControl
|
|
||||||
_080523C8:
|
|
||||||
bl DoSoftReset
|
|
||||||
_080523CC:
|
|
||||||
pop {r4, pc}
|
|
||||||
.align 2, 0
|
|
||||||
|
|
||||||
thumb_func_start nullsub_107
|
|
||||||
nullsub_107: @ 0x080523D0
|
|
||||||
bx lr
|
|
||||||
.align 2, 0
|
|
||||||
|
|
||||||
thumb_func_start sub_080523D4
|
|
||||||
sub_080523D4: @ 0x080523D4
|
|
||||||
push {r4, r5, r6, lr}
|
|
||||||
ldr r1, _08052408 @ =gUnk_03001010
|
|
||||||
movs r0, #0
|
|
||||||
strh r0, [r1, #4]
|
|
||||||
strh r0, [r1, #6]
|
|
||||||
movs r0, #0x86
|
|
||||||
lsls r0, r0, #8
|
|
||||||
strh r0, [r1, #8]
|
|
||||||
ldr r0, _0805240C @ =gMenu
|
|
||||||
ldrb r0, [r0, #0x10]
|
|
||||||
strh r0, [r1, #2]
|
|
||||||
movs r4, #0
|
|
||||||
adds r6, r1, #0
|
|
||||||
ldr r5, _08052410 @ =gUnk_080FCA84
|
|
||||||
_080523F0:
|
|
||||||
adds r0, r4, r5
|
|
||||||
ldrb r0, [r0]
|
|
||||||
strh r0, [r6]
|
|
||||||
ldr r0, _08052414 @ =0x000001FD
|
|
||||||
adds r1, r4, #0
|
|
||||||
bl sub_080ADA14
|
|
||||||
adds r4, #1
|
|
||||||
cmp r4, #7
|
|
||||||
bls _080523F0
|
|
||||||
pop {r4, r5, r6, pc}
|
|
||||||
.align 2, 0
|
|
||||||
_08052408: .4byte gUnk_03001010
|
|
||||||
_0805240C: .4byte gMenu
|
|
||||||
_08052410: .4byte gUnk_080FCA84
|
|
||||||
_08052414: .4byte 0x000001FD
|
|
||||||
|
|
|
@ -1,12 +1,4 @@
|
||||||
.include "asm/macros.inc"
|
.syntax unified
|
||||||
.include "constants/constants.inc"
|
|
||||||
|
|
||||||
.syntax unified
|
|
||||||
|
|
||||||
.text
|
|
||||||
|
|
||||||
thumb_func_start sub_08052418
|
|
||||||
sub_08052418: @ 0x08052418
|
|
||||||
push {r4, r5, r6, lr}
|
push {r4, r5, r6, lr}
|
||||||
sub sp, #0x18
|
sub sp, #0x18
|
||||||
adds r6, r0, #0
|
adds r6, r0, #0
|
||||||
|
@ -71,3 +63,4 @@ _08052498: .4byte gUnk_020227E8
|
||||||
_0805249C: .4byte gUnk_080FCA8C
|
_0805249C: .4byte gUnk_080FCA8C
|
||||||
_080524A0: .4byte gUnk_080FCAA4
|
_080524A0: .4byte gUnk_080FCAA4
|
||||||
_080524A4: .4byte gScreen
|
_080524A4: .4byte gScreen
|
||||||
|
.syntax divided
|
|
@ -38,8 +38,9 @@ typedef struct {
|
||||||
} struct_080FC844;
|
} struct_080FC844;
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
u8 filler0[0x4];
|
union SplitWord _0[8];
|
||||||
} struct_020227E8;
|
} struct_020227E8;
|
||||||
|
|
||||||
extern struct_020227E8 gUnk_020227E8;
|
extern struct_020227E8 gUnk_020227E8;
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
|
@ -56,16 +57,8 @@ typedef struct {
|
||||||
} struct_02019EE0;
|
} struct_02019EE0;
|
||||||
extern struct_02019EE0 gUnk_02019EE0;
|
extern struct_02019EE0 gUnk_02019EE0;
|
||||||
|
|
||||||
struct OAMCommand {
|
|
||||||
u16 x;
|
|
||||||
u16 y;
|
|
||||||
u16 _4;
|
|
||||||
u16 _6;
|
|
||||||
u16 _8;
|
|
||||||
} extern gUnk_03001010;
|
|
||||||
|
|
||||||
extern void sub_08056FEC(u32, struct_020227E8*);
|
extern void sub_08056FEC(u32, struct_020227E8*);
|
||||||
extern void sub_0805F46C(u32, struct_080FC844*);
|
extern void sub_0805F46C(u32, void*);
|
||||||
extern void sub_0801C4A0(u32, u32);
|
extern void sub_0801C4A0(u32, u32);
|
||||||
extern void sub_08080668(void);
|
extern void sub_08080668(void);
|
||||||
extern void sub_0805194C(u32);
|
extern void sub_0805194C(u32);
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
#ifndef MAIN_H
|
#ifndef MAIN_H
|
||||||
#define MAIN_H
|
#define MAIN_H
|
||||||
|
|
||||||
typedef struct { // 0x03001000
|
typedef struct { // 0x03001000
|
||||||
u8 field_0x0;
|
u8 field_0x0;
|
||||||
u8 field_0x1;
|
u8 field_0x1;
|
||||||
|
@ -13,6 +14,7 @@ typedef struct { // 0x03001000
|
||||||
u8 field_0xb;
|
u8 field_0xb;
|
||||||
u32 spritePriority;
|
u32 spritePriority;
|
||||||
} MainStruct;
|
} MainStruct;
|
||||||
|
|
||||||
#define SIGNATURE 'MCZ3'
|
#define SIGNATURE 'MCZ3'
|
||||||
#define MAX_MSG_SPEED 3
|
#define MAX_MSG_SPEED 3
|
||||||
#define NUM_SAVE_SLOTS 3
|
#define NUM_SAVE_SLOTS 3
|
||||||
|
@ -75,6 +77,8 @@ static_assert(sizeof(UI) == 0x3b4);
|
||||||
extern Main gUnk_03001000;
|
extern Main gUnk_03001000;
|
||||||
extern UI gUnk_02032EC0;
|
extern UI gUnk_02032EC0;
|
||||||
|
|
||||||
|
void InitScreen();
|
||||||
|
|
||||||
extern void InitSound(void);
|
extern void InitSound(void);
|
||||||
extern void sub_0807CE90(void);
|
extern void sub_0807CE90(void);
|
||||||
extern void sub_080560B8(void);
|
extern void sub_080560B8(void);
|
||||||
|
@ -103,5 +107,4 @@ extern void sub_08016B34(void);
|
||||||
|
|
||||||
static void sub_08055F70(void);
|
static void sub_08055F70(void);
|
||||||
static bool32 SoftResetKeysPressed(void);
|
static bool32 SoftResetKeysPressed(void);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -79,6 +79,14 @@ typedef struct {
|
||||||
/*0x78*/ u32 _78;
|
/*0x78*/ u32 _78;
|
||||||
} Screen;
|
} Screen;
|
||||||
|
|
||||||
|
struct OAMCommand {
|
||||||
|
u16 x;
|
||||||
|
u16 y;
|
||||||
|
u16 _4;
|
||||||
|
u16 _6;
|
||||||
|
u16 _8;
|
||||||
|
} extern gOamCmd;
|
||||||
|
|
||||||
extern BgControls gBgControls;
|
extern BgControls gBgControls;
|
||||||
extern Screen gScreen;
|
extern Screen gScreen;
|
||||||
|
|
||||||
|
|
|
@ -11,8 +11,9 @@ typedef struct {
|
||||||
u8 messageSpeed;
|
u8 messageSpeed;
|
||||||
u8 brightnessPref;
|
u8 brightnessPref;
|
||||||
u8 gameLanguage;
|
u8 gameLanguage;
|
||||||
u8 _8[6];
|
u8 name[6];
|
||||||
u8 _e;
|
u8 _e;
|
||||||
|
u8 _f;
|
||||||
} struct_02000000;
|
} struct_02000000;
|
||||||
#define gUnk_02000000 ((struct_02000000*)(0x2000000))
|
#define gUnk_02000000 ((struct_02000000*)(0x2000000))
|
||||||
// extern struct_02000000 gUnk_02000000;
|
// extern struct_02000000 gUnk_02000000;
|
||||||
|
|
|
@ -177,7 +177,7 @@ SECTIONS {
|
||||||
. = 0x00000FD0; gFadeControl = .;
|
. = 0x00000FD0; gFadeControl = .;
|
||||||
. = 0x00000FF0; gInput = .;
|
. = 0x00000FF0; gInput = .;
|
||||||
. = 0x00001000; gUnk_03001000 = .;
|
. = 0x00001000; gUnk_03001000 = .;
|
||||||
. = 0x00001010; gUnk_03001010 = .;
|
. = 0x00001010; gOamCmd = .;
|
||||||
. = 0x00001020; gUnk_03001020 = .;
|
. = 0x00001020; gUnk_03001020 = .;
|
||||||
. = 0x000010A0; gScreenTransition = .;
|
. = 0x000010A0; gScreenTransition = .;
|
||||||
. = 0x000010AC; gUnk_030010AC = .;
|
. = 0x000010AC; gUnk_030010AC = .;
|
||||||
|
@ -457,11 +457,7 @@ SECTIONS {
|
||||||
asm/code_08050038.o(.text);
|
asm/code_08050038.o(.text);
|
||||||
src/fileScreen.o(.text);
|
src/fileScreen.o(.text);
|
||||||
asm/fileScreen.o(.text);
|
asm/fileScreen.o(.text);
|
||||||
asm/sub_08052418.o(.text);
|
src/game.o(.text);
|
||||||
src/initializePlayer.o(.text);
|
|
||||||
src/area.o(.text);
|
|
||||||
src/modHealth.o(.text);
|
|
||||||
src/modRupees.o(.text);
|
|
||||||
asm/code_080526F8.o(.text);
|
asm/code_080526F8.o(.text);
|
||||||
asm/modBombs.o(.text);
|
asm/modBombs.o(.text);
|
||||||
asm/modArrows.o(.text);
|
asm/modArrows.o(.text);
|
||||||
|
|
36
src/area.c
36
src/area.c
|
@ -1,36 +0,0 @@
|
||||||
#include "global.h"
|
|
||||||
#include "entity.h"
|
|
||||||
|
|
||||||
extern u8 gArea;
|
|
||||||
extern u8 gUnk_08127D30[];
|
|
||||||
|
|
||||||
bool32 sub_08052620(u32 r0) {
|
|
||||||
return gArea == 0x81;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool32 sub_08052638(u32 r0) {
|
|
||||||
|
|
||||||
return gUnk_08127D30[r0 * 4] == 0x81;
|
|
||||||
}
|
|
||||||
|
|
||||||
u32 sub_08052654() {
|
|
||||||
return (gArea >> 7) & 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
u32 CheckIsDungeon() {
|
|
||||||
return (gArea >> 2) & 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
u32 sub_08052670() {
|
|
||||||
return (gArea >> 4) & 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
u32 sub_08052680() {
|
|
||||||
return (gArea >> 6) & 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
u32 sub_08052690()
|
|
||||||
|
|
||||||
{
|
|
||||||
return (gArea >> 3) & 1;
|
|
||||||
}
|
|
|
@ -458,29 +458,29 @@ void sub_08050A64(u32 idx) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
gUnk_03001010._4 = 0;
|
gOamCmd._4 = 0;
|
||||||
gUnk_03001010._6 = 0;
|
gOamCmd._6 = 0;
|
||||||
gUnk_03001010._8 = 0x400;
|
gOamCmd._8 = 0x400;
|
||||||
|
|
||||||
// Draw the save file's obtained elements.
|
// Draw the save file's obtained elements.
|
||||||
if (GetInventoryValue(0x40)) {
|
if (GetInventoryValue(0x40)) {
|
||||||
gUnk_03001010.x = 0xA2;
|
gOamCmd.x = 0xA2;
|
||||||
gUnk_03001010.y = 0x36;
|
gOamCmd.y = 0x36;
|
||||||
sub_080ADA14(0x145, 0x24);
|
sub_080ADA14(0x145, 0x24);
|
||||||
}
|
}
|
||||||
if (GetInventoryValue(0x41)) {
|
if (GetInventoryValue(0x41)) {
|
||||||
gUnk_03001010.x = 0x96;
|
gOamCmd.x = 0x96;
|
||||||
gUnk_03001010.y = 0x3D;
|
gOamCmd.y = 0x3D;
|
||||||
sub_080ADA14(0x145, 0x22);
|
sub_080ADA14(0x145, 0x22);
|
||||||
}
|
}
|
||||||
if (GetInventoryValue(0x42)) {
|
if (GetInventoryValue(0x42)) {
|
||||||
gUnk_03001010.x = 0xAE;
|
gOamCmd.x = 0xAE;
|
||||||
gUnk_03001010.y = 0x3D;
|
gOamCmd.y = 0x3D;
|
||||||
sub_080ADA14(0x145, 0x23);
|
sub_080ADA14(0x145, 0x23);
|
||||||
}
|
}
|
||||||
if (GetInventoryValue(0x43)) {
|
if (GetInventoryValue(0x43)) {
|
||||||
gUnk_03001010.x = 0xA2;
|
gOamCmd.x = 0xA2;
|
||||||
gUnk_03001010.y = 0x44;
|
gOamCmd.y = 0x44;
|
||||||
sub_080ADA14(0x145, 0x21);
|
sub_080ADA14(0x145, 0x21);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,346 @@
|
||||||
|
#include "global.h"
|
||||||
|
#include "screen.h"
|
||||||
|
#include "structures.h"
|
||||||
|
#include "functions.h"
|
||||||
|
#include "screen.h"
|
||||||
|
#include "entity.h"
|
||||||
|
#include "player.h"
|
||||||
|
#include "room.h"
|
||||||
|
#include "main.h"
|
||||||
|
#include "flags.h"
|
||||||
|
#include "save.h"
|
||||||
|
#include "fileScreen.h"
|
||||||
|
|
||||||
|
extern u8 gArea;
|
||||||
|
extern Entity gPlayerEntity;
|
||||||
|
extern u32 gUnk_03000B80;
|
||||||
|
extern u32 gUnk_03003FC0;
|
||||||
|
|
||||||
|
extern u16 gWalletSizes[4];
|
||||||
|
extern u8 gUnk_080FCA84[];
|
||||||
|
extern u8 gUnk_080FCAC8[];
|
||||||
|
extern u8 gUnk_08127D30[];
|
||||||
|
|
||||||
|
void sub_080520C4();
|
||||||
|
void sub_08052418();
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
u8 _0[8];
|
||||||
|
u8 _8[2];
|
||||||
|
u16 _a[13];
|
||||||
|
} struct_080FCAA4;
|
||||||
|
static_assert(sizeof(struct_080FCAA4) == 0x24);
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
void* _0;
|
||||||
|
void* _4;
|
||||||
|
void* _8;
|
||||||
|
u32 _c;
|
||||||
|
u8 _10;
|
||||||
|
u8 _11;
|
||||||
|
u8 _12;
|
||||||
|
u8 _13;
|
||||||
|
u32 _14;
|
||||||
|
} struct_080FCA8C;
|
||||||
|
static_assert(sizeof(struct_080FCA8C) == 0x18);
|
||||||
|
|
||||||
|
extern struct_080FCA8C gUnk_080FCA8C;
|
||||||
|
extern struct_080FCAA4 gUnk_080FCAA4;
|
||||||
|
|
||||||
|
extern void CreateDialogBox();
|
||||||
|
|
||||||
|
void sub_0805212C(void) {
|
||||||
|
if (gFadeControl.active)
|
||||||
|
return;
|
||||||
|
|
||||||
|
if (gUnk_03001000.field_0x5 == 0) {
|
||||||
|
if (gMenu.focusCoords[0] >= 0x26) {
|
||||||
|
gMenu.focusCoords[0]--;
|
||||||
|
} else {
|
||||||
|
gMenu.transitionTimer--;
|
||||||
|
if (gMenu.transitionTimer == 0) {
|
||||||
|
sub_080520C4(2);
|
||||||
|
sub_08052418(0, 0);
|
||||||
|
gScreen.lcd.displayControl |= 0x600;
|
||||||
|
gFadeControl.field_0x4 = 0xffff;
|
||||||
|
DoFade(4, 0x10);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
gUnk_03001000.field_0x5--;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_080521A0(void) {
|
||||||
|
s32 temp3;
|
||||||
|
u32 temp2;
|
||||||
|
|
||||||
|
if (gFadeControl.active)
|
||||||
|
return;
|
||||||
|
|
||||||
|
switch (gMenu.menuType) {
|
||||||
|
case 0:
|
||||||
|
gMenu.transitionTimer = 0x1e;
|
||||||
|
gMenu.field_0x3 = 0;
|
||||||
|
sub_080A7114(1);
|
||||||
|
sub_08052418(0, 0);
|
||||||
|
gFadeControl.field_0x4 = 0xffffffff;
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
if (gMenu.transitionTimer == 0) {
|
||||||
|
u32 temp = gMenu.field_0x3;
|
||||||
|
switch (gInput.newKeys) {
|
||||||
|
case 0x40:
|
||||||
|
temp = 0;
|
||||||
|
break;
|
||||||
|
case 0x80:
|
||||||
|
temp = 1;
|
||||||
|
break;
|
||||||
|
case 0x1:
|
||||||
|
if (gMenu.field_0x3 != 0) {
|
||||||
|
temp2 = 4;
|
||||||
|
} else {
|
||||||
|
CreateDialogBox(8, 0);
|
||||||
|
temp2 = 2;
|
||||||
|
}
|
||||||
|
gMenu.transitionTimer = 0x3c;
|
||||||
|
sub_080A7114(temp2);
|
||||||
|
PlaySFX(0x6a);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
if (gMenu.field_0x3 != temp) {
|
||||||
|
gMenu.field_0x3 = temp;
|
||||||
|
sub_08052418(0, temp);
|
||||||
|
PlaySFX(0x69);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
gMenu.transitionTimer--;
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
temp3 = sub_0807CDA4(0);
|
||||||
|
gMenu.field_0x0 = temp3;
|
||||||
|
switch (temp3) {
|
||||||
|
case 1:
|
||||||
|
sub_080A7114(4);
|
||||||
|
break;
|
||||||
|
case -1:
|
||||||
|
gMenu.transitionTimer = 0x3c;
|
||||||
|
CreateDialogBox(9, 0);
|
||||||
|
sub_080A7114(3);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 3:
|
||||||
|
if (gMenu.transitionTimer != 0) {
|
||||||
|
gMenu.transitionTimer--;
|
||||||
|
} else if ((gInput.newKeys & 0xb) != 0) {
|
||||||
|
sub_080A7114(0);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 4:
|
||||||
|
default:
|
||||||
|
gScreen.lcd.displayControl = gScreen.lcd.displayControl & 0xfdff;
|
||||||
|
sub_08050384();
|
||||||
|
sub_080520C4(3);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_080522F4(void) {
|
||||||
|
switch (gMenu.menuType) {
|
||||||
|
case 0x0:
|
||||||
|
gMenu.transitionTimer = 0x1e;
|
||||||
|
gMenu.field_0x3 = 0;
|
||||||
|
sub_080A7114(1);
|
||||||
|
sub_08052418(1, 0);
|
||||||
|
break;
|
||||||
|
case 0x1:
|
||||||
|
gScreen.lcd.displayControl |= 0x200;
|
||||||
|
if (gMenu.transitionTimer != 0) {
|
||||||
|
gMenu.transitionTimer--;
|
||||||
|
} else {
|
||||||
|
u32 temp = gMenu.field_0x3;
|
||||||
|
switch (gInput.newKeys) {
|
||||||
|
case 0x40:
|
||||||
|
temp = 0;
|
||||||
|
break;
|
||||||
|
case 0x80:
|
||||||
|
temp = 1;
|
||||||
|
break;
|
||||||
|
case 0x1:
|
||||||
|
sub_080A7114(2);
|
||||||
|
PlaySFX(0x6a);
|
||||||
|
if (temp == 0) {
|
||||||
|
DoFade(5, 8);
|
||||||
|
} else {
|
||||||
|
DoFade(7, 8);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
if (gMenu.field_0x3 != temp) {
|
||||||
|
gMenu.field_0x3 = temp;
|
||||||
|
sub_08052418(1, temp);
|
||||||
|
PlaySFX(0x69);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 0x2:
|
||||||
|
default:
|
||||||
|
if (gFadeControl.active == 0) {
|
||||||
|
if (gMenu.field_0x3 == 0) {
|
||||||
|
InitScreen(2);
|
||||||
|
} else {
|
||||||
|
DoSoftReset();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void nullsub_107(void) {
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_080523D4(void) {
|
||||||
|
u32 i;
|
||||||
|
|
||||||
|
gOamCmd._4 = 0;
|
||||||
|
gOamCmd._6 = 0;
|
||||||
|
gOamCmd._8 = 0x8600;
|
||||||
|
gOamCmd.y = gMenu.focusCoords[0];
|
||||||
|
for (i = 0; i < 8; ++i) {
|
||||||
|
gOamCmd.x = gUnk_080FCA84[i];
|
||||||
|
sub_080ADA14(0x1fd, i);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// not sure how to approach this!
|
||||||
|
NONMATCH("asm/non_matching/game/sub_08052418.inc", void sub_08052418(int param_1, int param_2)) {
|
||||||
|
int i;
|
||||||
|
struct_080FCA8C temp;
|
||||||
|
|
||||||
|
_DmaZero(&gBG1Buffer, 0x800);
|
||||||
|
gUnk_020227E8._0[0].WORD = 0xf;
|
||||||
|
gUnk_020227E8._0[2].WORD = 0xf;
|
||||||
|
gUnk_020227E8._0[4].WORD = 0xf;
|
||||||
|
gUnk_020227E8._0[6].WORD = 0xf;
|
||||||
|
gUnk_020227E8._0[param_2 * 2].BYTES.byte1 = 1;
|
||||||
|
_DmaCopy(&gUnk_080FCA8C, &temp, sizeof(temp));
|
||||||
|
i = param_1 * 0xc;
|
||||||
|
// temp._0 = gBG1Buffer[gUnk_080FCAA4._8[param_1]][gUnk_080FCAA4._0[gUnk_02000000->gameLanguage + i]] * 2;
|
||||||
|
temp._13 = ((temp._13 & 0xfe) | gUnk_080FCAA4._8[i + 1]) & 1;
|
||||||
|
sub_0805F46C(gUnk_080FCAA4._a[param_1], &temp);
|
||||||
|
gScreen.bg.bg1xOffset = 1;
|
||||||
|
}
|
||||||
|
END_NONMATCH
|
||||||
|
|
||||||
|
void InitializePlayer(void) {
|
||||||
|
Entity* pl;
|
||||||
|
|
||||||
|
sub_080784C8();
|
||||||
|
_DmaZero((void*)&gUnk_03000B80, 0x70);
|
||||||
|
_DmaZero((void*)&gPlayerState, 0xb0);
|
||||||
|
|
||||||
|
_DmaFill32(0xffffffff, &gPlayerState.field_0x40, 0x40);
|
||||||
|
pl = &gPlayerEntity;
|
||||||
|
_DmaZero((void*)pl, 0x88);
|
||||||
|
gRoomControls.cameraTarget = pl;
|
||||||
|
gPlayerState.playerAction = gUnk_080FCAC8[gScreenTransition.field_0xf];
|
||||||
|
if (!CheckGlobalFlag(0x14)) {
|
||||||
|
gPlayerState.flags.all |= 8;
|
||||||
|
}
|
||||||
|
switch (gScreenTransition.field_0xf) {
|
||||||
|
case 0x2:
|
||||||
|
case 0x6:
|
||||||
|
pl->height.HALF.HI = -0xc0;
|
||||||
|
break;
|
||||||
|
case 0x4:
|
||||||
|
gPlayerState.field_0x34[4] = 0x10;
|
||||||
|
pl->direction = gScreenTransition.playerState << 2;
|
||||||
|
case 0x3:
|
||||||
|
pl->nonPlanarMovement = 0xe0;
|
||||||
|
break;
|
||||||
|
case 0x7:
|
||||||
|
case 0x8:
|
||||||
|
gPlayerState.field_0x34[4] = 1;
|
||||||
|
gPlayerState.field_0x34[5] = gScreenTransition.field_0xf;
|
||||||
|
break;
|
||||||
|
case 0xa:
|
||||||
|
gPlayerState.field_0x34[4] = 1;
|
||||||
|
break;
|
||||||
|
case 0xb:
|
||||||
|
gPlayerState.field_0x34[4] = 3;
|
||||||
|
break;
|
||||||
|
case 0xc:
|
||||||
|
gPlayerState.field_0x34[4] = 4;
|
||||||
|
}
|
||||||
|
pl->entityType.type = 1;
|
||||||
|
pl->flags |= 0xa0;
|
||||||
|
pl->spritePriority.b0 = 4;
|
||||||
|
pl->currentHealth = gSave.stats.health;
|
||||||
|
pl->x.HALF.HI = gScreenTransition.playerStartPos.HALF.x;
|
||||||
|
pl->y.HALF.HI = gScreenTransition.playerStartPos.HALF.y;
|
||||||
|
pl->animationState = gScreenTransition.playerState;
|
||||||
|
pl->collisionLayer = gScreenTransition.playerLayer;
|
||||||
|
UpdateSpriteForCollisionLayer(pl);
|
||||||
|
AppendEntityToList(pl, 1);
|
||||||
|
sub_08017640();
|
||||||
|
}
|
||||||
|
|
||||||
|
bool32 sub_08052620(u32 r0) {
|
||||||
|
return gArea == 0x81;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool32 sub_08052638(u32 r0) {
|
||||||
|
return gUnk_08127D30[r0 * 4] == 0x81;
|
||||||
|
}
|
||||||
|
|
||||||
|
u32 sub_08052654() {
|
||||||
|
return (gArea >> 7) & 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
u32 CheckIsDungeon() {
|
||||||
|
return (gArea >> 2) & 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
u32 sub_08052670() {
|
||||||
|
return (gArea >> 4) & 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
u32 sub_08052680() {
|
||||||
|
return (gArea >> 6) & 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
u32 sub_08052690() {
|
||||||
|
return (gArea >> 3) & 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
s32 ModHealth(s32 deltaHealth) {
|
||||||
|
s32 newHealth;
|
||||||
|
|
||||||
|
newHealth = gStats.health + deltaHealth;
|
||||||
|
if (newHealth < 0) {
|
||||||
|
newHealth = 0;
|
||||||
|
}
|
||||||
|
if (gStats.maxHealth < newHealth) {
|
||||||
|
newHealth = (u32)gStats.maxHealth;
|
||||||
|
}
|
||||||
|
gStats.health = newHealth;
|
||||||
|
gPlayerEntity.currentHealth = newHealth;
|
||||||
|
return newHealth;
|
||||||
|
}
|
||||||
|
|
||||||
|
void ModRupees(s32 rupeeDelta) {
|
||||||
|
s32 newRupeeCount;
|
||||||
|
Stats* s = &gStats;
|
||||||
|
|
||||||
|
newRupeeCount = s->rupees + rupeeDelta;
|
||||||
|
if (newRupeeCount < 0) {
|
||||||
|
newRupeeCount = 0;
|
||||||
|
} else {
|
||||||
|
if (newRupeeCount > gWalletSizes[s->walletType * 2]) {
|
||||||
|
newRupeeCount = gWalletSizes[s->walletType * 2];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
s->rupees = newRupeeCount;
|
||||||
|
}
|
|
@ -1,68 +0,0 @@
|
||||||
#include "global.h"
|
|
||||||
#include "entity.h"
|
|
||||||
#include "player.h"
|
|
||||||
#include "structures.h"
|
|
||||||
#include "functions.h"
|
|
||||||
#include "room.h"
|
|
||||||
#include "flags.h"
|
|
||||||
#include "save.h"
|
|
||||||
|
|
||||||
extern u32 gUnk_03000B80;
|
|
||||||
extern u32 gUnk_03003FC0;
|
|
||||||
|
|
||||||
extern Entity gPlayerEntity;
|
|
||||||
|
|
||||||
extern u8 gUnk_080FCAC8[];
|
|
||||||
|
|
||||||
void InitializePlayer(void) {
|
|
||||||
Entity* pl;
|
|
||||||
|
|
||||||
sub_080784C8();
|
|
||||||
_DmaZero((void*)&gUnk_03000B80, 0x70);
|
|
||||||
_DmaZero((void*)&gPlayerState, 0xb0);
|
|
||||||
|
|
||||||
_DmaFill32(0xffffffff, &gPlayerState.field_0x40, 0x40);
|
|
||||||
pl = &gPlayerEntity;
|
|
||||||
_DmaZero((void*)pl, 0x88);
|
|
||||||
gRoomControls.cameraTarget = pl;
|
|
||||||
gPlayerState.playerAction = gUnk_080FCAC8[gScreenTransition.field_0xf];
|
|
||||||
if (!CheckGlobalFlag(0x14)) {
|
|
||||||
gPlayerState.flags.all |= 8;
|
|
||||||
}
|
|
||||||
switch (gScreenTransition.field_0xf) {
|
|
||||||
case 0x2:
|
|
||||||
case 0x6:
|
|
||||||
pl->height.HALF.HI = -0xc0;
|
|
||||||
break;
|
|
||||||
case 0x4:
|
|
||||||
gPlayerState.field_0x34[4] = 0x10;
|
|
||||||
pl->direction = gScreenTransition.playerState << 2;
|
|
||||||
case 0x3:
|
|
||||||
pl->nonPlanarMovement = 0xe0;
|
|
||||||
break;
|
|
||||||
case 0x7:
|
|
||||||
case 0x8:
|
|
||||||
gPlayerState.field_0x34[4] = 1;
|
|
||||||
gPlayerState.field_0x34[5] = gScreenTransition.field_0xf;
|
|
||||||
break;
|
|
||||||
case 0xa:
|
|
||||||
gPlayerState.field_0x34[4] = 1;
|
|
||||||
break;
|
|
||||||
case 0xb:
|
|
||||||
gPlayerState.field_0x34[4] = 3;
|
|
||||||
break;
|
|
||||||
case 0xc:
|
|
||||||
gPlayerState.field_0x34[4] = 4;
|
|
||||||
}
|
|
||||||
pl->entityType.type = 1;
|
|
||||||
pl->flags |= 0xa0;
|
|
||||||
pl->spritePriority.b0 = 4;
|
|
||||||
pl->currentHealth = gSave.stats.health;
|
|
||||||
pl->x.HALF.HI = gScreenTransition.playerStartPos.HALF.x;
|
|
||||||
pl->y.HALF.HI = gScreenTransition.playerStartPos.HALF.y;
|
|
||||||
pl->animationState = gScreenTransition.playerState;
|
|
||||||
pl->collisionLayer = gScreenTransition.playerLayer;
|
|
||||||
UpdateSpriteForCollisionLayer(pl);
|
|
||||||
AppendEntityToList(pl, 1);
|
|
||||||
sub_08017640();
|
|
||||||
}
|
|
16
src/intro.c
16
src/intro.c
|
@ -114,8 +114,6 @@ static void HandleNintendoCapcomLogos(void) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
extern u16 gUnk_03001010[5];
|
|
||||||
|
|
||||||
static void HandleTitlescreen(void) {
|
static void HandleTitlescreen(void) {
|
||||||
int advance;
|
int advance;
|
||||||
u32 paletteGroup;
|
u32 paletteGroup;
|
||||||
|
@ -193,8 +191,8 @@ static void HandleTitlescreen(void) {
|
||||||
}
|
}
|
||||||
UpdatePressStartIcon();
|
UpdatePressStartIcon();
|
||||||
if ((gIntroState.timer & 0x20) == 0) {
|
if ((gIntroState.timer & 0x20) == 0) {
|
||||||
gUnk_03001010[4] = 0xe000;
|
gOamCmd._8 = 0xe000;
|
||||||
gUnk_03001010[1] = 0x84;
|
gOamCmd.y = 0x84;
|
||||||
sub_080ADA14(0x1ff, 0);
|
sub_080ADA14(0x1ff, 0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -208,11 +206,11 @@ static void HandleTitlescreen(void) {
|
||||||
}
|
}
|
||||||
|
|
||||||
static void UpdatePressStartIcon(void) {
|
static void UpdatePressStartIcon(void) {
|
||||||
gUnk_03001010[2] = 0;
|
gOamCmd._4 = 0;
|
||||||
gUnk_03001010[3] = 0;
|
gOamCmd._6 = 0;
|
||||||
gUnk_03001010[4] = 0xE020;
|
gOamCmd._8 = 0xE020;
|
||||||
gUnk_03001010[0] = 120;
|
gOamCmd.x = 120;
|
||||||
gUnk_03001010[1] = 152;
|
gOamCmd.y = 152;
|
||||||
sub_080ADA14(511, 1);
|
sub_080ADA14(511, 1);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
22
src/main.c
22
src/main.c
|
@ -138,7 +138,27 @@ void DoSoftReset(void) {
|
||||||
SoftReset(RESET_ALL & ~(RESET_EWRAM | RESET_SIO_REGS));
|
SoftReset(RESET_ALL & ~(RESET_EWRAM | RESET_SIO_REGS));
|
||||||
}
|
}
|
||||||
|
|
||||||
const int sDefaultSettings[] = { SIGNATURE, '\1\1\1\0', 'KNIL', '\0\0\0\0' };
|
typedef struct {
|
||||||
|
int signature;
|
||||||
|
u8 saveFileId;
|
||||||
|
u8 messageSpeed;
|
||||||
|
u8 brightnessPref;
|
||||||
|
u8 gameLanguage;
|
||||||
|
u8 name[6];
|
||||||
|
u8 _e;
|
||||||
|
u8 _f;
|
||||||
|
} test;
|
||||||
|
|
||||||
|
const test sDefaultSettings = {
|
||||||
|
.signature = SIGNATURE,
|
||||||
|
.saveFileId = 0,
|
||||||
|
.messageSpeed = 1,
|
||||||
|
.brightnessPref = 1,
|
||||||
|
.gameLanguage = LANGUAGE_EN,
|
||||||
|
.name = "LINK",
|
||||||
|
._e = 0,
|
||||||
|
._f = 0,
|
||||||
|
};
|
||||||
|
|
||||||
// single misplaced ldr
|
// single misplaced ldr
|
||||||
NONMATCH("asm/non_matching/sub_080560B8.inc", void sub_080560B8(void)) {
|
NONMATCH("asm/non_matching/sub_080560B8.inc", void sub_080560B8(void)) {
|
||||||
|
|
|
@ -1,20 +0,0 @@
|
||||||
#include "global.h"
|
|
||||||
#include "entity.h"
|
|
||||||
#include "player.h"
|
|
||||||
|
|
||||||
s32 ModHealth(s32 deltaHealth)
|
|
||||||
|
|
||||||
{
|
|
||||||
s32 newHealth;
|
|
||||||
|
|
||||||
newHealth = gStats.health + deltaHealth;
|
|
||||||
if (newHealth < 0) {
|
|
||||||
newHealth = 0;
|
|
||||||
}
|
|
||||||
if (gStats.maxHealth < newHealth) {
|
|
||||||
newHealth = (u32)gStats.maxHealth;
|
|
||||||
}
|
|
||||||
gStats.health = newHealth;
|
|
||||||
gPlayerEntity.currentHealth = newHealth;
|
|
||||||
return newHealth;
|
|
||||||
}
|
|
|
@ -1,21 +0,0 @@
|
||||||
#include "global.h"
|
|
||||||
#include "player.h"
|
|
||||||
|
|
||||||
extern u16 gWalletSizes[4];
|
|
||||||
|
|
||||||
void ModRupees(s32 rupeeDelta)
|
|
||||||
|
|
||||||
{
|
|
||||||
s32 newRupeeCount;
|
|
||||||
Stats* s = &gStats;
|
|
||||||
|
|
||||||
newRupeeCount = s->rupees + rupeeDelta;
|
|
||||||
if (newRupeeCount < 0) {
|
|
||||||
newRupeeCount = 0;
|
|
||||||
} else {
|
|
||||||
if (newRupeeCount > gWalletSizes[s->walletType * 2]) {
|
|
||||||
newRupeeCount = gWalletSizes[s->walletType * 2];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
s->rupees = newRupeeCount;
|
|
||||||
}
|
|
|
@ -14,7 +14,8 @@
|
||||||
"filescreen.h": "c",
|
"filescreen.h": "c",
|
||||||
"screen.h": "c",
|
"screen.h": "c",
|
||||||
"global.h": "c",
|
"global.h": "c",
|
||||||
"player.h": "c"
|
"player.h": "c",
|
||||||
|
"typeinfo": "c"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue