mirror of
https://github.com/zeldaret/tmc
synced 2026-06-20 00:08:03 -04:00
Merge pull request #571 from octorock/data
This commit is contained in:
@@ -78,7 +78,7 @@ override CFLAGS += -O2 -Wimplicit -Wparentheses -Werror -Wno-multichar -g3
|
||||
# override CFLAGS += -g
|
||||
# endif
|
||||
|
||||
CPPFLAGS := -I tools/agbcc -I tools/agbcc/include -iquote include -nostdinc -undef -D$(GAME_VERSION) -DREVISION=$(REVISION) -D$(GAME_LANGUAGE)
|
||||
CPPFLAGS := -I tools/agbcc -I tools/agbcc/include -iquote include -nostdinc -undef -D$(GAME_VERSION) -DREVISION=$(REVISION) -D$(GAME_LANGUAGE) -I $(OBJ_DIR)
|
||||
|
||||
LDFLAGS = -Map ../../$(MAP)
|
||||
|
||||
|
||||
@@ -1,136 +0,0 @@
|
||||
.syntax unified
|
||||
push {r4, r5, r6, r7, lr}
|
||||
mov r7, r8
|
||||
push {r7}
|
||||
adds r4, r0, #0
|
||||
movs r1, #1
|
||||
bl sub_08049FDC
|
||||
cmp r0, #0
|
||||
beq _080307C0
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x7a
|
||||
ldrh r0, [r0]
|
||||
cmp r0, #0
|
||||
beq _080307C0
|
||||
movs r0, #0x18
|
||||
strb r0, [r4, #0xe]
|
||||
ldr r0, _080307B0 @ =gUnk_020000B0
|
||||
ldr r1, [r0]
|
||||
adds r0, r4, #0
|
||||
bl sub_0800132C
|
||||
adds r5, r0, #0
|
||||
cmp r5, #0xff
|
||||
beq _080307CC
|
||||
movs r0, #0
|
||||
mov r8, r0
|
||||
bl Random
|
||||
movs r1, #7
|
||||
ands r1, r0
|
||||
cmp r1, #0
|
||||
bne _0803070E
|
||||
ldrb r0, [r4, #0x14]
|
||||
adds r6, r4, #0
|
||||
adds r6, #0x82
|
||||
cmp r0, #0xff
|
||||
bne _0803072A
|
||||
_0803070E:
|
||||
adds r2, r4, #0
|
||||
adds r2, #0x82
|
||||
ldrb r1, [r2]
|
||||
movs r0, #3
|
||||
ands r0, r1
|
||||
adds r6, r2, #0
|
||||
cmp r0, #3
|
||||
beq _0803072A
|
||||
adds r0, r5, #4
|
||||
movs r1, #0x18
|
||||
ands r0, r1
|
||||
strb r0, [r4, #0x15]
|
||||
movs r1, #1
|
||||
mov r8, r1
|
||||
_0803072A:
|
||||
mov r7, r8
|
||||
cmp r7, #0
|
||||
bne _08030746
|
||||
bl Random
|
||||
movs r1, #2
|
||||
ands r1, r0
|
||||
subs r1, #1
|
||||
lsls r1, r1, #3
|
||||
adds r1, #4
|
||||
adds r1, r5, r1
|
||||
movs r0, #0x18
|
||||
ands r1, r0
|
||||
strb r1, [r4, #0x15]
|
||||
_08030746:
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x38
|
||||
ldrb r0, [r0]
|
||||
ldr r1, _080307B4 @ =gMapBottom+0x2004
|
||||
mov ip, r1
|
||||
cmp r0, #2
|
||||
bne _08030758
|
||||
ldr r7, _080307B8 @ =gMapTop+0x2004
|
||||
mov ip, r7
|
||||
_08030758:
|
||||
movs r0, #0x2e
|
||||
ldrsh r1, [r4, r0]
|
||||
ldr r3, _080307BC @ =gUnk_080CE164
|
||||
ldrb r0, [r4, #0x15]
|
||||
lsrs r0, r0, #2
|
||||
adds r2, r0, r3
|
||||
ldrb r2, [r2]
|
||||
lsls r2, r2, #0x18
|
||||
asrs r2, r2, #0x18
|
||||
adds r1, r1, r2
|
||||
movs r7, #0x32
|
||||
ldrsh r2, [r4, r7]
|
||||
adds r0, #1
|
||||
adds r0, r0, r3
|
||||
ldrb r0, [r0]
|
||||
lsls r0, r0, #0x18
|
||||
asrs r0, r0, #0x18
|
||||
adds r2, r2, r0
|
||||
mov r0, ip
|
||||
movs r3, #0
|
||||
bl IsTileCollision
|
||||
cmp r0, #0
|
||||
beq _0803079E
|
||||
movs r0, #4
|
||||
adds r1, r5, #0
|
||||
ands r1, r0
|
||||
eors r1, r0
|
||||
lsls r1, r1, #1
|
||||
movs r0, #0x10
|
||||
ands r5, r0
|
||||
orrs r1, r5
|
||||
strb r1, [r4, #0x15]
|
||||
movs r0, #0
|
||||
mov r8, r0
|
||||
_0803079E:
|
||||
adds r0, r4, #0
|
||||
bl sub_080307D4
|
||||
ldrb r0, [r6]
|
||||
lsls r0, r0, #1
|
||||
mov r1, r8
|
||||
orrs r0, r1
|
||||
strb r0, [r6]
|
||||
b _080307CC
|
||||
.align 2, 0
|
||||
_080307B0: .4byte gUnk_020000B0
|
||||
_080307B4: .4byte gMapBottom+0x2004
|
||||
_080307B8: .4byte gMapTop+0x2004
|
||||
_080307BC: .4byte gUnk_080CE164
|
||||
_080307C0:
|
||||
movs r0, #4
|
||||
strb r0, [r4, #0xc]
|
||||
movs r0, #0x78
|
||||
strb r0, [r4, #0xe]
|
||||
movs r0, #0xa0
|
||||
strh r0, [r4, #0x24]
|
||||
_080307CC:
|
||||
pop {r3}
|
||||
mov r8, r3
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
.align 2, 0
|
||||
.syntax divided
|
||||
@@ -1,88 +0,0 @@
|
||||
.syntax unified
|
||||
push {r4, r5, r6, r7, lr}
|
||||
mov r7, r8
|
||||
push {r7}
|
||||
adds r6, r0, #0
|
||||
adds r5, r1, #0
|
||||
adds r7, r2, #0
|
||||
movs r0, #0x38
|
||||
adds r0, r0, r6
|
||||
mov r8, r0
|
||||
ldrb r0, [r0]
|
||||
bl GetLayerByIndex
|
||||
ldr r2, _0801AAF0 @ =gUnk_080B4488
|
||||
lsrs r1, r7, #3
|
||||
lsls r1, r1, #1
|
||||
adds r1, r1, r2
|
||||
movs r2, #0
|
||||
ldrsh r1, [r1, r2]
|
||||
adds r1, r5, r1
|
||||
ldr r2, _0801AAF4 @ =0x00002004
|
||||
adds r0, r0, r2
|
||||
adds r0, r0, r1
|
||||
ldrb r0, [r0]
|
||||
cmp r0, #0
|
||||
beq _0801AA94
|
||||
subs r0, #0x20
|
||||
lsls r0, r0, #0x18
|
||||
lsrs r0, r0, #0x18
|
||||
cmp r0, #0x1f
|
||||
bhi _0801AB00
|
||||
_0801AA94:
|
||||
movs r0, #7
|
||||
movs r1, #0
|
||||
movs r2, #0
|
||||
bl CreateObject
|
||||
adds r4, r0, #0
|
||||
cmp r4, #0
|
||||
beq _0801AB00
|
||||
movs r3, #0
|
||||
strb r7, [r4, #0x15]
|
||||
movs r1, #0x3f
|
||||
adds r0, r5, #0
|
||||
ands r0, r1
|
||||
lsls r0, r0, #4
|
||||
adds r0, #8
|
||||
ldr r2, _0801AAF8 @ =gRoomControls
|
||||
ldrh r1, [r2, #6]
|
||||
adds r1, r1, r0
|
||||
strh r1, [r4, #0x2e]
|
||||
movs r0, #0xfc
|
||||
lsls r0, r0, #4
|
||||
ands r0, r5
|
||||
lsrs r0, r0, #2
|
||||
adds r0, #8
|
||||
ldrh r1, [r2, #8]
|
||||
adds r1, r1, r0
|
||||
strh r1, [r4, #0x32]
|
||||
mov r0, r8
|
||||
ldrb r1, [r0]
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x38
|
||||
strb r1, [r0]
|
||||
ldr r2, _0801AAFC @ =gPlayerState
|
||||
movs r0, #0xa0
|
||||
strb r0, [r2, #6]
|
||||
movs r0, #5
|
||||
strb r0, [r2, #0xc]
|
||||
ldr r0, [r2, #0x30]
|
||||
movs r1, #1
|
||||
orrs r0, r1
|
||||
str r0, [r2, #0x30]
|
||||
strh r3, [r6, #0x2c]
|
||||
strh r3, [r6, #0x30]
|
||||
strb r7, [r6, #0x15]
|
||||
movs r0, #1
|
||||
b _0801AB02
|
||||
.align 2, 0
|
||||
_0801AAF0: .4byte gUnk_080B4488
|
||||
_0801AAF4: .4byte 0x00002004
|
||||
_0801AAF8: .4byte gRoomControls
|
||||
_0801AAFC: .4byte gPlayerState
|
||||
_0801AB00:
|
||||
movs r0, #0
|
||||
_0801AB02:
|
||||
pop {r3}
|
||||
mov r8, r3
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
.syntax divided
|
||||
@@ -1,183 +0,0 @@
|
||||
.syntax unified
|
||||
push {r4, r5, r6, r7, lr}
|
||||
mov r7, sl
|
||||
mov r6, sb
|
||||
mov r5, r8
|
||||
push {r5, r6, r7}
|
||||
sub sp, #8
|
||||
adds r5, r0, #0
|
||||
mov r8, r1
|
||||
ldr r0, _0801AB4C @ =gMapBottom
|
||||
movs r1, #2
|
||||
cmp r8, r0
|
||||
bne _0801AB22
|
||||
movs r1, #1
|
||||
_0801AB22:
|
||||
lsls r2, r1, #0xc
|
||||
ldr r7, _0801AB50 @ =0x00003004
|
||||
add r7, r8
|
||||
mov r6, r8
|
||||
adds r6, #4
|
||||
movs r0, #0
|
||||
ldr r1, _0801AB54 @ =0x00003FFF
|
||||
mov sb, r1
|
||||
_0801AB32:
|
||||
movs r3, #0
|
||||
mov sl, r3
|
||||
adds r0, #1
|
||||
str r0, [sp]
|
||||
movs r0, #0x80
|
||||
lsls r0, r0, #1
|
||||
adds r4, r5, r0
|
||||
_0801AB40:
|
||||
ldrh r0, [r6]
|
||||
cmp r0, sb
|
||||
bhi _0801AB58
|
||||
lsls r0, r0, #2
|
||||
b _0801AB64
|
||||
.align 2, 0
|
||||
_0801AB4C: .4byte gMapBottom
|
||||
_0801AB50: .4byte 0x00003004
|
||||
_0801AB54: .4byte 0x00003FFF
|
||||
_0801AB58:
|
||||
ldrh r1, [r7]
|
||||
adds r0, r2, #0
|
||||
str r2, [sp, #4]
|
||||
bl sub_0801AC68
|
||||
ldr r2, [sp, #4]
|
||||
_0801AB64:
|
||||
lsls r0, r0, #1
|
||||
ldr r1, _0801AB8C @ =0x00007004
|
||||
adds r0, r0, r1
|
||||
mov r3, r8
|
||||
adds r1, r3, r0
|
||||
ldrh r0, [r1]
|
||||
strh r0, [r5]
|
||||
ldrh r0, [r1, #2]
|
||||
strh r0, [r5, #2]
|
||||
ldrh r0, [r1, #4]
|
||||
strh r0, [r4]
|
||||
ldrh r0, [r1, #6]
|
||||
strh r0, [r4, #2]
|
||||
adds r4, #4
|
||||
adds r5, #4
|
||||
ldrh r0, [r6, #2]
|
||||
cmp r0, sb
|
||||
bhi _0801AB90
|
||||
lsls r0, r0, #2
|
||||
b _0801AB9C
|
||||
.align 2, 0
|
||||
_0801AB8C: .4byte 0x00007004
|
||||
_0801AB90:
|
||||
adds r0, r2, #1
|
||||
ldrh r1, [r7, #2]
|
||||
str r2, [sp, #4]
|
||||
bl sub_0801AC68
|
||||
ldr r2, [sp, #4]
|
||||
_0801AB9C:
|
||||
lsls r0, r0, #1
|
||||
ldr r1, _0801ABC4 @ =0x00007004
|
||||
adds r0, r0, r1
|
||||
mov r3, r8
|
||||
adds r1, r3, r0
|
||||
ldrh r0, [r1]
|
||||
strh r0, [r5]
|
||||
ldrh r0, [r1, #2]
|
||||
strh r0, [r5, #2]
|
||||
ldrh r0, [r1, #4]
|
||||
strh r0, [r4]
|
||||
ldrh r0, [r1, #6]
|
||||
strh r0, [r4, #2]
|
||||
adds r4, #4
|
||||
adds r5, #4
|
||||
ldrh r0, [r6, #4]
|
||||
cmp r0, sb
|
||||
bhi _0801ABC8
|
||||
lsls r0, r0, #2
|
||||
b _0801ABD4
|
||||
.align 2, 0
|
||||
_0801ABC4: .4byte 0x00007004
|
||||
_0801ABC8:
|
||||
adds r0, r2, #2
|
||||
ldrh r1, [r7, #4]
|
||||
str r2, [sp, #4]
|
||||
bl sub_0801AC68
|
||||
ldr r2, [sp, #4]
|
||||
_0801ABD4:
|
||||
lsls r0, r0, #1
|
||||
ldr r1, _0801ABFC @ =0x00007004
|
||||
adds r0, r0, r1
|
||||
mov r3, r8
|
||||
adds r1, r3, r0
|
||||
ldrh r0, [r1]
|
||||
strh r0, [r5]
|
||||
ldrh r0, [r1, #2]
|
||||
strh r0, [r5, #2]
|
||||
ldrh r0, [r1, #4]
|
||||
strh r0, [r4]
|
||||
ldrh r0, [r1, #6]
|
||||
strh r0, [r4, #2]
|
||||
adds r4, #4
|
||||
adds r5, #4
|
||||
ldrh r0, [r6, #6]
|
||||
cmp r0, sb
|
||||
bhi _0801AC00
|
||||
lsls r0, r0, #2
|
||||
b _0801AC0C
|
||||
.align 2, 0
|
||||
_0801ABFC: .4byte 0x00007004
|
||||
_0801AC00:
|
||||
adds r0, r2, #3
|
||||
ldrh r1, [r7, #6]
|
||||
str r2, [sp, #4]
|
||||
bl sub_0801AC68
|
||||
ldr r2, [sp, #4]
|
||||
_0801AC0C:
|
||||
lsls r0, r0, #1
|
||||
ldr r1, _0801AC64 @ =0x00007004
|
||||
adds r0, r0, r1
|
||||
mov r3, r8
|
||||
adds r1, r3, r0
|
||||
ldrh r0, [r1]
|
||||
strh r0, [r5]
|
||||
ldrh r0, [r1, #2]
|
||||
strh r0, [r5, #2]
|
||||
ldrh r0, [r1, #4]
|
||||
strh r0, [r4]
|
||||
ldrh r0, [r1, #6]
|
||||
strh r0, [r4, #2]
|
||||
adds r4, #4
|
||||
adds r5, #4
|
||||
adds r6, #8
|
||||
adds r7, #8
|
||||
adds r0, r2, #4
|
||||
lsls r0, r0, #0x10
|
||||
lsrs r2, r0, #0x10
|
||||
mov r0, sl
|
||||
adds r0, #1
|
||||
lsls r0, r0, #0x10
|
||||
lsrs r0, r0, #0x10
|
||||
mov sl, r0
|
||||
cmp r0, #0xf
|
||||
bhi _0801AC44
|
||||
b _0801AB40
|
||||
_0801AC44:
|
||||
movs r0, #0x80
|
||||
lsls r0, r0, #1
|
||||
adds r5, r5, r0
|
||||
ldr r1, [sp]
|
||||
lsls r0, r1, #0x10
|
||||
lsrs r0, r0, #0x10
|
||||
cmp r0, #0x3f
|
||||
bhi _0801AC56
|
||||
b _0801AB32
|
||||
_0801AC56:
|
||||
add sp, #8
|
||||
pop {r3, r4, r5}
|
||||
mov r8, r3
|
||||
mov sb, r4
|
||||
mov sl, r5
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
.align 2, 0
|
||||
_0801AC64: .4byte 0x00007004
|
||||
.syntax divided
|
||||
@@ -1,68 +0,0 @@
|
||||
|
||||
push {r4, r5, r6, r7, lr}
|
||||
add r4, r0, #0
|
||||
add r0, #0x74
|
||||
ldrh r6, [r0]
|
||||
sub r0, #0x3c
|
||||
ldrb r5, [r0]
|
||||
add r0, r6, #0
|
||||
add r1, r5, #0
|
||||
bl GetTileType
|
||||
add r7, r0, #0
|
||||
ldr r0, _08081EEC @ =0x00003FFF
|
||||
cmp r7, r0
|
||||
bls _08081EE8
|
||||
add r0, r5, #0
|
||||
bl GetLayerByIndex
|
||||
add r1, r0, #0
|
||||
ldrb r0, [r4, #0xa]
|
||||
mov r4, #0x78
|
||||
cmp r0, #0
|
||||
bne _08081E9A
|
||||
mov r4, #0x7a
|
||||
_08081E9A:
|
||||
ldr r0, _08081EF0 @ =0x00007004
|
||||
add r3, r1, r0
|
||||
lsl r0, r4, #1
|
||||
ldr r2, _08081EF4 @ =0x00006004
|
||||
add r1, r1, r2
|
||||
add r1, r1, r0
|
||||
ldrh r0, [r1]
|
||||
lsl r0, r0, #3
|
||||
add r3, r3, r0
|
||||
ldr r2, _08081EF8 @ =gMapDataBottomSpecial
|
||||
cmp r5, #2
|
||||
bne _08081EB4
|
||||
ldr r2, _08081EFC @ =gMapDataTopSpecial
|
||||
_08081EB4:
|
||||
mov r0, #0x3f
|
||||
and r0, r6
|
||||
lsl r0, r0, #1
|
||||
mov r1, #0xfc
|
||||
lsl r1, r1, #4
|
||||
and r1, r6
|
||||
lsl r1, r1, #2
|
||||
add r0, r0, r1
|
||||
lsl r0, r0, #1
|
||||
add r2, r2, r0
|
||||
add r0, r2, #0
|
||||
add r1, r3, #0
|
||||
bl sub_08081F00
|
||||
cmp r0, #0
|
||||
bne _08081EE8
|
||||
add r0, r4, #0
|
||||
add r1, r6, #0
|
||||
add r2, r5, #0
|
||||
bl SetTileType
|
||||
add r0, r7, #0
|
||||
add r1, r6, #0
|
||||
add r2, r5, #0
|
||||
bl SetTile
|
||||
_08081EE8:
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
.align 2, 0
|
||||
_08081EEC: .4byte 0x00003FFF
|
||||
_08081EF0: .4byte 0x00007004
|
||||
_08081EF4: .4byte 0x00006004
|
||||
_08081EF8: .4byte gMapDataBottomSpecial
|
||||
_08081EFC: .4byte gMapDataTopSpecial
|
||||
@@ -1,72 +0,0 @@
|
||||
.syntax unified
|
||||
push {r4, r5, r6, r7, lr}
|
||||
mov r7, r8
|
||||
push {r7}
|
||||
adds r0, #0x45
|
||||
ldrb r1, [r0]
|
||||
cmp r1, #0
|
||||
bne _0805ACF0
|
||||
b _0805AD32
|
||||
_0805ACD0:
|
||||
ldrb r0, [r4, #0xb]
|
||||
subs r0, r5, r0
|
||||
lsls r0, r0, #4
|
||||
adds r3, r3, r0
|
||||
ldrh r0, [r3, #4]
|
||||
ldr r2, _0805ACEC @ =gRoomControls
|
||||
ldrh r1, [r2, #6]
|
||||
adds r0, r0, r1
|
||||
lsls r0, r0, #0x10
|
||||
ldrh r1, [r3, #6]
|
||||
orrs r0, r1
|
||||
ldrh r2, [r2, #8]
|
||||
adds r0, r0, r2
|
||||
b _0805AD34
|
||||
.align 2, 0
|
||||
_0805ACEC: .4byte gRoomControls
|
||||
_0805ACF0:
|
||||
movs r0, #0x7f
|
||||
ands r0, r1
|
||||
subs r5, r0, #1
|
||||
ldr r6, _0805AD3C @ =gEntityLists + 48
|
||||
ldr r4, [r6, #4]
|
||||
cmp r4, r6
|
||||
beq _0805AD32
|
||||
ldr r0, _0805AD40 @ =0x00001609
|
||||
mov r8, r0
|
||||
ldr r0, _0805AD44 @ =0x0000FFFF
|
||||
adds r7, r0, #0
|
||||
_0805AD06:
|
||||
ldrh r0, [r4, #8]
|
||||
ands r0, r7
|
||||
cmp r0, r8
|
||||
bne _0805AD2C
|
||||
ldrb r1, [r4, #0xb]
|
||||
cmp r1, r5
|
||||
bgt _0805AD2C
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x21
|
||||
ldrb r0, [r0]
|
||||
adds r0, r1, r0
|
||||
cmp r0, r5
|
||||
ble _0805AD2C
|
||||
ldrb r0, [r4, #0xa]
|
||||
bl GetCurrentRoomProperty
|
||||
adds r3, r0, #0
|
||||
cmp r3, #0
|
||||
bne _0805ACD0
|
||||
_0805AD2C:
|
||||
ldr r4, [r4, #4]
|
||||
cmp r4, r6
|
||||
bne _0805AD06
|
||||
_0805AD32:
|
||||
movs r0, #0
|
||||
_0805AD34:
|
||||
pop {r3}
|
||||
mov r8, r3
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
.align 2, 0
|
||||
_0805AD3C: .4byte gEntityLists + 48
|
||||
_0805AD40: .4byte 0x00001609
|
||||
_0805AD44: .4byte 0x0000FFFF
|
||||
.syntax divided
|
||||
@@ -1,147 +0,0 @@
|
||||
.syntax unified
|
||||
push {r4, r5, r6, r7, lr}
|
||||
adds r4, r0, #0
|
||||
ldrb r0, [r4, #0xa]
|
||||
bl GetCurrentRoomProperty
|
||||
adds r3, r0, #0
|
||||
ldrb r0, [r3]
|
||||
cmp r0, #0xff
|
||||
bne _08057188
|
||||
b _0805728A
|
||||
_08057188:
|
||||
ldr r1, _080571E8 @ =gPlayerEntity
|
||||
movs r2, #0x2e
|
||||
ldrsh r0, [r1, r2]
|
||||
cmp r0, #0
|
||||
bge _08057194
|
||||
adds r0, #0xf
|
||||
_08057194:
|
||||
asrs r6, r0, #4
|
||||
movs r7, #0x32
|
||||
ldrsh r0, [r1, r7]
|
||||
cmp r0, #0
|
||||
bge _080571A0
|
||||
adds r0, #0xf
|
||||
_080571A0:
|
||||
asrs r5, r0, #4
|
||||
movs r0, #0x21
|
||||
adds r0, r0, r4
|
||||
mov ip, r0
|
||||
_080571A8:
|
||||
ldrb r0, [r3]
|
||||
mov r1, ip
|
||||
ldrb r1, [r1]
|
||||
cmp r0, r1
|
||||
beq _08057282
|
||||
ldr r1, _080571EC @ =gRoomControls
|
||||
ldrh r0, [r1, #6]
|
||||
lsrs r0, r0, #4
|
||||
ldrb r7, [r3, #1]
|
||||
adds r2, r0, r7
|
||||
ldrh r0, [r1, #8]
|
||||
lsrs r0, r0, #4
|
||||
ldrb r1, [r3, #2]
|
||||
adds r0, r0, r1
|
||||
subs r0, r5, r0
|
||||
ldrb r7, [r3, #4]
|
||||
cmp r0, r7
|
||||
bhs _08057282
|
||||
subs r0, r6, r2
|
||||
ldrb r1, [r3, #3]
|
||||
cmp r0, r1
|
||||
bhs _08057282
|
||||
ldrb r0, [r3]
|
||||
subs r0, #1
|
||||
cmp r0, #5
|
||||
bhi _08057268
|
||||
lsls r0, r0, #2
|
||||
ldr r1, _080571F0 @ =_080571F4
|
||||
adds r0, r0, r1
|
||||
ldr r0, [r0]
|
||||
mov pc, r0
|
||||
.align 2, 0
|
||||
_080571E8: .4byte gPlayerEntity
|
||||
_080571EC: .4byte gRoomControls
|
||||
_080571F0: .4byte _080571F4
|
||||
_080571F4: @ jump table
|
||||
.4byte _0805720C @ case 0
|
||||
.4byte _08057220 @ case 1
|
||||
.4byte _08057258 @ case 2
|
||||
.4byte _08057246 @ case 3
|
||||
.4byte _08057216 @ case 4
|
||||
.4byte _08057236 @ case 5
|
||||
_0805720C:
|
||||
mov r2, ip
|
||||
ldrb r0, [r2]
|
||||
cmp r0, #2
|
||||
bne _08057268
|
||||
b _08057260
|
||||
_08057216:
|
||||
mov r7, ip
|
||||
ldrb r0, [r7]
|
||||
cmp r0, #6
|
||||
bne _08057268
|
||||
b _08057260
|
||||
_08057220:
|
||||
mov r0, ip
|
||||
ldrb r1, [r0]
|
||||
cmp r1, #0
|
||||
bne _08057268
|
||||
movs r0, #2
|
||||
strb r0, [r4, #0xc]
|
||||
strb r1, [r4, #0xe]
|
||||
adds r0, r4, #0
|
||||
adds r0, #0x20
|
||||
strb r1, [r0]
|
||||
b _08057268
|
||||
_08057236:
|
||||
mov r2, ip
|
||||
ldrb r1, [r2]
|
||||
cmp r1, #0
|
||||
bne _08057268
|
||||
movs r0, #2
|
||||
strb r0, [r4, #0xc]
|
||||
strb r1, [r4, #0xe]
|
||||
b _08057268
|
||||
_08057246:
|
||||
mov r7, ip
|
||||
ldrb r1, [r7]
|
||||
cmp r1, #0
|
||||
bne _08057268
|
||||
movs r0, #2
|
||||
strb r0, [r4, #0xc]
|
||||
strb r1, [r4, #0xe]
|
||||
str r1, [r4, #0x34]
|
||||
b _08057268
|
||||
_08057258:
|
||||
mov r1, ip
|
||||
ldrb r0, [r1]
|
||||
cmp r0, #4
|
||||
bne _08057268
|
||||
_08057260:
|
||||
movs r0, #3
|
||||
strb r0, [r4, #0xc]
|
||||
movs r0, #9
|
||||
strb r0, [r4, #0xe]
|
||||
_08057268:
|
||||
ldrb r0, [r4, #0xc]
|
||||
cmp r0, #1
|
||||
beq _08057282
|
||||
movs r0, #8
|
||||
strb r0, [r4, #0xf]
|
||||
ldrb r0, [r3]
|
||||
mov r2, ip
|
||||
strb r0, [r2]
|
||||
adds r1, r4, #0
|
||||
adds r1, #0x22
|
||||
movs r0, #1
|
||||
strb r0, [r1]
|
||||
b _0805728A
|
||||
_08057282:
|
||||
adds r3, #5
|
||||
ldrb r0, [r3]
|
||||
cmp r0, #0xff
|
||||
bne _080571A8
|
||||
_0805728A:
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
.syntax divided
|
||||
@@ -1,52 +0,0 @@
|
||||
.syntax unified
|
||||
push {r4, r5, r6, lr}
|
||||
adds r5, r0, #0
|
||||
bl sub_080398C0
|
||||
adds r6, r0, #0
|
||||
ldrb r0, [r5, #0x14]
|
||||
lsls r4, r0, #3
|
||||
adds r0, r6, #4
|
||||
movs r1, #0x18
|
||||
ands r0, r1
|
||||
cmp r0, r4
|
||||
bne _0803988C
|
||||
adds r1, r5, #0
|
||||
adds r1, #0x7b
|
||||
ldrb r0, [r1]
|
||||
cmp r0, #3
|
||||
bne _080398B8
|
||||
movs r0, #0
|
||||
strb r0, [r1]
|
||||
bl Random
|
||||
movs r1, #2
|
||||
ands r1, r0
|
||||
subs r1, #1
|
||||
lsls r1, r1, #3
|
||||
adds r6, r6, r1
|
||||
_0803988C:
|
||||
subs r0, r6, r4
|
||||
movs r1, #0x1f
|
||||
ands r0, r1
|
||||
lsrs r4, r0, #4
|
||||
movs r0, #1
|
||||
eors r4, r0
|
||||
ldr r1, _080398BC @ =gUnk_080CF8F8
|
||||
ldrb r0, [r5, #0x14]
|
||||
lsls r0, r0, #1
|
||||
adds r0, r0, r4
|
||||
adds r0, r0, r1
|
||||
ldrb r1, [r0]
|
||||
adds r0, r5, #0
|
||||
bl InitAnimationForceUpdate
|
||||
lsls r0, r4, #1
|
||||
ldrb r1, [r5, #0x14]
|
||||
adds r0, r0, r1
|
||||
subs r0, #1
|
||||
movs r1, #3
|
||||
ands r0, r1
|
||||
strb r0, [r5, #0x14]
|
||||
_080398B8:
|
||||
pop {r4, r5, r6, pc}
|
||||
.align 2, 0
|
||||
_080398BC: .4byte gUnk_080CF8F8
|
||||
.syntax divided
|
||||
+4
-526
@@ -3522,50 +3522,6 @@
|
||||
"start": 735538,
|
||||
"size": 994
|
||||
},
|
||||
{
|
||||
"path": "data_080B3740/gUnk_080B3D14.bin",
|
||||
"start": 736532,
|
||||
"size": 12
|
||||
},
|
||||
{
|
||||
"path": "data_080B3740/gUnk_080B3D20_JP.bin",
|
||||
"variants": [
|
||||
"JP"
|
||||
],
|
||||
"starts": {
|
||||
"JP": 735936
|
||||
},
|
||||
"size": 176
|
||||
},
|
||||
{
|
||||
"path": "data_080B3740/gUnk_080B3D20_1_EU.bin",
|
||||
"variants": [
|
||||
"EU"
|
||||
],
|
||||
"starts": {
|
||||
"EU": 734280
|
||||
},
|
||||
"size": 176
|
||||
},
|
||||
{
|
||||
"path": "data_080B3740/gUnk_080B3D20_2_DEMO_JP.bin",
|
||||
"variants": [
|
||||
"DEMO_JP"
|
||||
],
|
||||
"starts": {
|
||||
"DEMO_JP": 734564
|
||||
},
|
||||
"size": 176
|
||||
},
|
||||
{
|
||||
"path": "data_080B3740/gUnk_080B3D20_3_USA-DEMO_USA.bin",
|
||||
"variants": [
|
||||
"USA",
|
||||
"DEMO_USA"
|
||||
],
|
||||
"start": 736544,
|
||||
"size": 176
|
||||
},
|
||||
{
|
||||
"path": "data_080B3E70/gUnk_080B3E80.bin",
|
||||
"start": 736896,
|
||||
@@ -20595,191 +20551,6 @@
|
||||
"start": 750188,
|
||||
"size": 12
|
||||
},
|
||||
{
|
||||
"path": "data_080B4410/gUnk_080B7400.bin",
|
||||
"start": 750592,
|
||||
"size": 10
|
||||
},
|
||||
{
|
||||
"path": "data_080B4410/gUnk_080B740A.bin",
|
||||
"start": 750602,
|
||||
"size": 18
|
||||
},
|
||||
{
|
||||
"path": "data_080B4410/gUnk_080B741C.bin",
|
||||
"start": 750620,
|
||||
"size": 18
|
||||
},
|
||||
{
|
||||
"path": "data_080B4410/gUnk_080B742E.bin",
|
||||
"start": 750638,
|
||||
"size": 12
|
||||
},
|
||||
{
|
||||
"path": "data_080B4410/gUnk_080B743A.bin",
|
||||
"start": 750650,
|
||||
"size": 10
|
||||
},
|
||||
{
|
||||
"path": "data_080B4410/gUnk_080B7444.bin",
|
||||
"start": 750660,
|
||||
"size": 12
|
||||
},
|
||||
{
|
||||
"path": "data_080B4410/gUnk_080B7450.bin",
|
||||
"start": 750672,
|
||||
"size": 10
|
||||
},
|
||||
{
|
||||
"path": "data_080B4410/gUnk_080B745A.bin",
|
||||
"start": 750682,
|
||||
"size": 6
|
||||
},
|
||||
{
|
||||
"path": "data_080B4410/gUnk_080B7460.bin",
|
||||
"start": 750688,
|
||||
"size": 4
|
||||
},
|
||||
{
|
||||
"path": "data_080B4410/gUnk_080B7464.bin",
|
||||
"start": 750692,
|
||||
"size": 10
|
||||
},
|
||||
{
|
||||
"path": "data_080B4410/gUnk_080B746E.bin",
|
||||
"start": 750702,
|
||||
"size": 12
|
||||
},
|
||||
{
|
||||
"path": "data_080B4410/gUnk_080B747A.bin",
|
||||
"start": 750714,
|
||||
"size": 6
|
||||
},
|
||||
{
|
||||
"path": "data_080B4410/gUnk_080B7480.bin",
|
||||
"start": 750720,
|
||||
"size": 10
|
||||
},
|
||||
{
|
||||
"path": "data_080B4410/gUnk_080B748A.bin",
|
||||
"start": 750730,
|
||||
"size": 4
|
||||
},
|
||||
{
|
||||
"path": "data_080B4410/gUnk_080B748E.bin",
|
||||
"start": 750734,
|
||||
"size": 14
|
||||
},
|
||||
{
|
||||
"path": "data_080B4410/gUnk_080B749C.bin",
|
||||
"start": 750748,
|
||||
"size": 14
|
||||
},
|
||||
{
|
||||
"path": "data_080B4410/gUnk_080B74AA.bin",
|
||||
"start": 750762,
|
||||
"size": 14
|
||||
},
|
||||
{
|
||||
"path": "data_080B4410/gUnk_080B74B8.bin",
|
||||
"start": 750776,
|
||||
"size": 14
|
||||
},
|
||||
{
|
||||
"path": "data_080B4410/gUnk_080B74C6.bin",
|
||||
"start": 750790,
|
||||
"size": 14
|
||||
},
|
||||
{
|
||||
"path": "data_080B4410/gUnk_080B74D4.bin",
|
||||
"start": 750804,
|
||||
"size": 8
|
||||
},
|
||||
{
|
||||
"path": "data_080B4410/gUnk_080B74DC.bin",
|
||||
"start": 750812,
|
||||
"size": 8
|
||||
},
|
||||
{
|
||||
"path": "data_080B4410/gUnk_080B74E4.bin",
|
||||
"start": 750820,
|
||||
"size": 8
|
||||
},
|
||||
{
|
||||
"path": "data_080B4410/gUnk_080B74EC.bin",
|
||||
"start": 750828,
|
||||
"size": 8
|
||||
},
|
||||
{
|
||||
"path": "data_080B4410/gUnk_080B74F4.bin",
|
||||
"start": 750836,
|
||||
"size": 12
|
||||
},
|
||||
{
|
||||
"path": "data_080B4410/gUnk_080B7500.bin",
|
||||
"start": 750848,
|
||||
"size": 6
|
||||
},
|
||||
{
|
||||
"path": "data_080B4410/gUnk_080B7506.bin",
|
||||
"start": 750854,
|
||||
"size": 12
|
||||
},
|
||||
{
|
||||
"path": "data_080B4410/gUnk_080B7512.bin",
|
||||
"start": 750866,
|
||||
"size": 8
|
||||
},
|
||||
{
|
||||
"path": "data_080B4410/gUnk_080B751A.bin",
|
||||
"start": 750874,
|
||||
"size": 10
|
||||
},
|
||||
{
|
||||
"path": "data_080B4410/gUnk_080B7524.bin",
|
||||
"start": 750884,
|
||||
"size": 4
|
||||
},
|
||||
{
|
||||
"path": "data_080B4410/gUnk_080B7528.bin",
|
||||
"start": 750888,
|
||||
"size": 16
|
||||
},
|
||||
{
|
||||
"path": "data_080B4410/gUnk_080B7538.bin",
|
||||
"start": 750904,
|
||||
"size": 10
|
||||
},
|
||||
{
|
||||
"path": "data_080B4410/gUnk_080B7542.bin",
|
||||
"start": 750914,
|
||||
"size": 4
|
||||
},
|
||||
{
|
||||
"path": "data_080B4410/gUnk_080B7546.bin",
|
||||
"start": 750918,
|
||||
"size": 4
|
||||
},
|
||||
{
|
||||
"path": "data_080B4410/gUnk_080B754A.bin",
|
||||
"start": 750922,
|
||||
"size": 4
|
||||
},
|
||||
{
|
||||
"path": "data_080B4410/gUnk_080B754E.bin",
|
||||
"start": 750926,
|
||||
"size": 8
|
||||
},
|
||||
{
|
||||
"path": "data_080B4410/gUnk_080B7556.bin",
|
||||
"start": 750934,
|
||||
"size": 6
|
||||
},
|
||||
{
|
||||
"path": "data_080B4410/gUnk_080B77C0.bin",
|
||||
"start": 751552,
|
||||
"size": 8
|
||||
},
|
||||
{
|
||||
"path": "data_080B7910/gUnk_080B7910.bin",
|
||||
"start": 751888,
|
||||
@@ -24888,11 +24659,6 @@
|
||||
"size": 35,
|
||||
"type": "animation"
|
||||
},
|
||||
{
|
||||
"path": "gleerok/gUnk_080CD774.bin",
|
||||
"start": 841588,
|
||||
"size": 68
|
||||
},
|
||||
{
|
||||
"path": "gleerok/gUnk_080CD7C4.bin",
|
||||
"start": 841668,
|
||||
@@ -32270,17 +32036,11 @@
|
||||
"start": 1045520,
|
||||
"size": 16
|
||||
},
|
||||
{
|
||||
"offsets": {
|
||||
"EU": -2212,
|
||||
"JP": -824,
|
||||
"DEMO_JP": -2052
|
||||
}
|
||||
},
|
||||
{
|
||||
"offsets": {
|
||||
"EU": -2220,
|
||||
"JP": -828
|
||||
"JP": -828,
|
||||
"DEMO_JP": -2052
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -39258,16 +39018,6 @@
|
||||
"size": 7,
|
||||
"type": "animation"
|
||||
},
|
||||
{
|
||||
"path": "npc58/gUnk_081146B8.bin",
|
||||
"start": 1132216,
|
||||
"size": 24
|
||||
},
|
||||
{
|
||||
"path": "data_081146D0/gUnk_081146D0.bin",
|
||||
"start": 1132240,
|
||||
"size": 20
|
||||
},
|
||||
{
|
||||
"path": "data_081146D0/gUnk_08114F30.bin",
|
||||
"start": 1134384,
|
||||
@@ -40116,27 +39866,6 @@
|
||||
"start": 1162816,
|
||||
"size": 8
|
||||
},
|
||||
{
|
||||
"path": "data_0811BE38/gItemDefinitions_EU.bin",
|
||||
"variants": [
|
||||
"EU"
|
||||
],
|
||||
"starts": {
|
||||
"EU": 1160592
|
||||
},
|
||||
"size": 384
|
||||
},
|
||||
{
|
||||
"path": "data_0811BE38/gItemDefinitions_1_USA-JP-DEMO_USA-DEMO_JP.bin",
|
||||
"variants": [
|
||||
"USA",
|
||||
"JP",
|
||||
"DEMO_USA",
|
||||
"DEMO_JP"
|
||||
],
|
||||
"start": 1162824,
|
||||
"size": 384
|
||||
},
|
||||
{
|
||||
"path": "data_0811BE38/gUnk_0811BFE0.bin",
|
||||
"start": 1163232,
|
||||
@@ -43702,11 +43431,6 @@
|
||||
"start": 1212308,
|
||||
"size": 144
|
||||
},
|
||||
{
|
||||
"path": "data_08127280/gUnk_08128024.bin",
|
||||
"start": 1212452,
|
||||
"size": 160
|
||||
},
|
||||
{
|
||||
"path": "data_08127280/gUnk_08128A38.bin",
|
||||
"start": 1215032,
|
||||
@@ -44738,14 +44462,9 @@
|
||||
},
|
||||
{
|
||||
"offsets": {
|
||||
"DEMO_JP": -988,
|
||||
"EU": -2480,
|
||||
"JP": -980,
|
||||
"DEMO_JP": -2268
|
||||
}
|
||||
},
|
||||
{
|
||||
"offsets": {
|
||||
"DEMO_JP": -988
|
||||
"JP": -980
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -44869,247 +44588,6 @@
|
||||
"EU": -2324
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "data_08132B30/gUnk_0813AA54.bin",
|
||||
"start": 1288788,
|
||||
"size": 20
|
||||
},
|
||||
{
|
||||
"path": "data_08132B30/gUnk_0813AA68.bin",
|
||||
"start": 1288808,
|
||||
"size": 20
|
||||
},
|
||||
{
|
||||
"path": "data_08132B30/gUnk_0813AA7C.bin",
|
||||
"start": 1288828,
|
||||
"size": 20
|
||||
},
|
||||
{
|
||||
"path": "data_08132B30/gUnk_0813AA90.bin",
|
||||
"start": 1288848,
|
||||
"size": 20
|
||||
},
|
||||
{
|
||||
"path": "data_08132B30/gUnk_0813AAA4.bin",
|
||||
"start": 1288868,
|
||||
"size": 20
|
||||
},
|
||||
{
|
||||
"path": "data_08132B30/gUnk_0813AAB8.bin",
|
||||
"start": 1288888,
|
||||
"size": 20
|
||||
},
|
||||
{
|
||||
"path": "data_08132B30/gUnk_0813AACC.bin",
|
||||
"start": 1288908,
|
||||
"size": 20
|
||||
},
|
||||
{
|
||||
"path": "data_08132B30/gUnk_0813AAE0.bin",
|
||||
"start": 1288928,
|
||||
"size": 20
|
||||
},
|
||||
{
|
||||
"path": "data_08132B30/gUnk_0813AAF4.bin",
|
||||
"start": 1288948,
|
||||
"size": 20
|
||||
},
|
||||
{
|
||||
"path": "data_08132B30/gUnk_0813AB08.bin",
|
||||
"start": 1288968,
|
||||
"size": 20
|
||||
},
|
||||
{
|
||||
"path": "data_08132B30/gUnk_0813AB58.bin",
|
||||
"start": 1289048,
|
||||
"size": 20
|
||||
},
|
||||
{
|
||||
"path": "data_08132B30/gUnk_0813AB6C.bin",
|
||||
"start": 1289068,
|
||||
"size": 20
|
||||
},
|
||||
{
|
||||
"path": "data_08132B30/gUnk_0813AB80.bin",
|
||||
"start": 1289088,
|
||||
"size": 20
|
||||
},
|
||||
{
|
||||
"path": "data_08132B30/gUnk_0813AB94.bin",
|
||||
"start": 1289108,
|
||||
"size": 20
|
||||
},
|
||||
{
|
||||
"path": "data_08132B30/gUnk_0813ABA8.bin",
|
||||
"start": 1289128,
|
||||
"size": 20
|
||||
},
|
||||
{
|
||||
"path": "data_08132B30/gUnk_0813ABBC.bin",
|
||||
"start": 1289148,
|
||||
"size": 20
|
||||
},
|
||||
{
|
||||
"path": "data_08132B30/gUnk_0813ABD0.bin",
|
||||
"start": 1289168,
|
||||
"size": 20
|
||||
},
|
||||
{
|
||||
"path": "data_08132B30/gUnk_0813ABE4.bin",
|
||||
"start": 1289188,
|
||||
"size": 20
|
||||
},
|
||||
{
|
||||
"path": "data_08132B30/gUnk_0813ABF8_JP.bin",
|
||||
"variants": [
|
||||
"JP"
|
||||
],
|
||||
"starts": {
|
||||
"JP": 1288228
|
||||
},
|
||||
"size": 20
|
||||
},
|
||||
{
|
||||
"path": "data_08132B30/gUnk_0813ABF8_1_EU.bin",
|
||||
"variants": [
|
||||
"EU"
|
||||
],
|
||||
"starts": {
|
||||
"EU": 1286884
|
||||
},
|
||||
"size": 20
|
||||
},
|
||||
{
|
||||
"path": "data_08132B30/gUnk_0813ABF8_2_USA-DEMO_USA-DEMO_JP.bin",
|
||||
"variants": [
|
||||
"USA",
|
||||
"DEMO_USA",
|
||||
"DEMO_JP"
|
||||
],
|
||||
"start": 1289208,
|
||||
"size": 20
|
||||
},
|
||||
{
|
||||
"path": "data_08132B30/gUnk_0813AC0C.bin",
|
||||
"start": 1289228,
|
||||
"size": 20
|
||||
},
|
||||
{
|
||||
"path": "data_08132B30/gUnk_0813AC20.bin",
|
||||
"start": 1289248,
|
||||
"size": 20
|
||||
},
|
||||
{
|
||||
"path": "data_08132B30/gUnk_0813AC34.bin",
|
||||
"start": 1289268,
|
||||
"size": 20
|
||||
},
|
||||
{
|
||||
"path": "data_08132B30/gUnk_0813AC48.bin",
|
||||
"start": 1289288,
|
||||
"size": 20
|
||||
},
|
||||
{
|
||||
"path": "data_08132B30/gUnk_0813AC5C.bin",
|
||||
"start": 1289308,
|
||||
"size": 20
|
||||
},
|
||||
{
|
||||
"path": "data_08132B30/gUnk_0813AC70.bin",
|
||||
"start": 1289328,
|
||||
"size": 20
|
||||
},
|
||||
{
|
||||
"path": "data_08132B30/gUnk_0813AC84.bin",
|
||||
"start": 1289348,
|
||||
"size": 20
|
||||
},
|
||||
{
|
||||
"path": "data_08132B30/gUnk_0813AC98.bin",
|
||||
"start": 1289368,
|
||||
"size": 20
|
||||
},
|
||||
{
|
||||
"path": "data_08132B30/gUnk_0813ACAC.bin",
|
||||
"start": 1289388,
|
||||
"size": 20
|
||||
},
|
||||
{
|
||||
"path": "data_08132B30/gUnk_0813ACC0.bin",
|
||||
"start": 1289408,
|
||||
"size": 20
|
||||
},
|
||||
{
|
||||
"path": "data_08132B30/gUnk_0813ACD4.bin",
|
||||
"start": 1289428,
|
||||
"size": 20
|
||||
},
|
||||
{
|
||||
"path": "data_08132B30/gUnk_0813ACE8.bin",
|
||||
"start": 1289448,
|
||||
"size": 20
|
||||
},
|
||||
{
|
||||
"path": "data_08132B30/gUnk_0813ACFC.bin",
|
||||
"start": 1289468,
|
||||
"size": 20
|
||||
},
|
||||
{
|
||||
"path": "data_08132B30/gUnk_0813AD10.bin",
|
||||
"start": 1289488,
|
||||
"size": 20
|
||||
},
|
||||
{
|
||||
"path": "data_08132B30/gUnk_0813AD24.bin",
|
||||
"start": 1289508,
|
||||
"size": 20
|
||||
},
|
||||
{
|
||||
"path": "data_08132B30/gUnk_0813AD38.bin",
|
||||
"start": 1289528,
|
||||
"size": 20
|
||||
},
|
||||
{
|
||||
"path": "data_08132B30/gUnk_0813AD4C.bin",
|
||||
"start": 1289548,
|
||||
"size": 20
|
||||
},
|
||||
{
|
||||
"path": "data_08132B30/gUnk_0813AD60.bin",
|
||||
"start": 1289568,
|
||||
"size": 20
|
||||
},
|
||||
{
|
||||
"path": "data_08132B30/gUnk_0813AD74.bin",
|
||||
"start": 1289588,
|
||||
"size": 20
|
||||
},
|
||||
{
|
||||
"path": "data_08132B30/gUnk_0813AD88_EU.bin",
|
||||
"variants": [
|
||||
"EU"
|
||||
],
|
||||
"starts": {
|
||||
"EU": 1287284
|
||||
},
|
||||
"size": 100
|
||||
},
|
||||
{
|
||||
"path": "data_08132B30/gUnk_0813AD88_1_USA-JP-DEMO_USA-DEMO_JP.bin",
|
||||
"variants": [
|
||||
"USA",
|
||||
"JP",
|
||||
"DEMO_USA",
|
||||
"DEMO_JP"
|
||||
],
|
||||
"start": 1289608,
|
||||
"size": 100
|
||||
},
|
||||
{
|
||||
"path": "data_08132B30/gUnk_0813ADEC.bin",
|
||||
"start": 1289708,
|
||||
"size": 40
|
||||
},
|
||||
{
|
||||
"path": "sprites/gSprite_Link.4bpp",
|
||||
"start": 1289748,
|
||||
|
||||
+3936
-44
File diff suppressed because it is too large
Load Diff
@@ -4,6 +4,15 @@
|
||||
.section .rodata
|
||||
.align 2
|
||||
|
||||
gSpriteAnimations_BallChainSoldier_3:: @ 080D0738
|
||||
.include "animations/gSpriteAnimations_BallChainSoldier_3.s"
|
||||
|
||||
gSpriteAnimations_BallChainSoldier_2:: @ 080D073C
|
||||
.include "animations/gSpriteAnimations_BallChainSoldier_2.s"
|
||||
|
||||
gSpriteAnimations_BallChainSoldier_1:: @ 080D0740
|
||||
.include "animations/gSpriteAnimations_BallChainSoldier_1.s"
|
||||
|
||||
gSpriteAnimations_BallChainSoldier_0:: @ 080D0744
|
||||
.include "animations/gSpriteAnimations_BallChainSoldier_0.s"
|
||||
|
||||
|
||||
@@ -0,0 +1,56 @@
|
||||
.include "asm/macros.inc"
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.section .rodata
|
||||
.align 2
|
||||
|
||||
gUnk_080B4410:: @ 080B4410
|
||||
.ifdef JP
|
||||
@ TODO only small differences
|
||||
.incbin "data_080B4410/gUnk_080B4410_JP.bin"
|
||||
.else
|
||||
.ifdef EU
|
||||
.incbin "data_080B4410/gUnk_080B4410_1_EU.bin"
|
||||
.else
|
||||
.ifdef DEMO_JP
|
||||
.incbin "data_080B4410/gUnk_080B4410_2_DEMO_JP.bin"
|
||||
.else
|
||||
.incbin "data_080B4410/gUnk_080B4410_3_USA-DEMO_USA.bin"
|
||||
.endif
|
||||
.endif
|
||||
.endif
|
||||
|
||||
gUnk_080B4458:: @ 080B4458
|
||||
.4byte sub_08019698
|
||||
.4byte sub_08019740
|
||||
.4byte sub_08019764
|
||||
.4byte sub_080197A0
|
||||
|
||||
gUnk_080B4468:: @ 080B4468
|
||||
.incbin "data_080B4410/gUnk_080B4468.bin"
|
||||
|
||||
gUnk_080B4478:: @ 080B4478
|
||||
.incbin "data_080B4410/gUnk_080B4478.bin"
|
||||
|
||||
gUnk_080B4488:: @ 080B4488
|
||||
.incbin "data_080B4410/gUnk_080B4488.bin"
|
||||
|
||||
gUnk_080B4490:: @ 080B4490
|
||||
.incbin "data_080B4410/gUnk_080B4490.bin"
|
||||
|
||||
gUnk_080B44A0:: @ 080B44A0
|
||||
.incbin "data_080B4410/gUnk_080B44A0.bin"
|
||||
|
||||
gUnk_080B44A8:: @ 080B44A8
|
||||
.incbin "data_080B4410/gUnk_080B44A8.bin"
|
||||
|
||||
gUnk_080B44B8:: @ 080B44B8
|
||||
.4byte sub_0801AE30
|
||||
.4byte sub_0801AE34
|
||||
|
||||
gUnk_080B44C0:: @ 080B44C0
|
||||
.incbin "data_080B4410/gUnk_080B44C0.bin"
|
||||
|
||||
gUnk_080B44C2:: @ 080B44C2
|
||||
.incbin "data_080B4410/gUnk_080B44C2.bin"
|
||||
|
||||
@@ -4,12 +4,22 @@
|
||||
.section .rodata
|
||||
.align 2
|
||||
|
||||
@ before: playerItemCellOverwriteSet
|
||||
@ in here: ui.c, color.c, common.c
|
||||
@ before on data side: sineTable.c
|
||||
@ after: octorok.c
|
||||
|
||||
@ code_080043E8.c
|
||||
gUnk_080C93E0:: @ 080C93E0
|
||||
.incbin "data_080C93E0/gUnk_080C93E0.bin"
|
||||
|
||||
@ common.c
|
||||
gUnk_080C9460:: @ 080C9460
|
||||
.incbin "data_080C93E0/gUnk_080C9460.bin"
|
||||
|
||||
|
||||
@ DungeonLayout
|
||||
|
||||
gUnk_080C9480:: @ 080C9480
|
||||
.incbin "data_080C93E0/gUnk_080C9480.bin"
|
||||
|
||||
@@ -315,6 +325,7 @@ gUnk_080C9C3C:: @ 080C9C3C
|
||||
.4byte gUnk_080C9BB4
|
||||
.4byte gUnk_080C9C1C
|
||||
|
||||
@ common.c
|
||||
gUnk_080C9C50:: @ 080C9C50
|
||||
.4byte gUnk_080C9488
|
||||
.4byte gUnk_080C953C
|
||||
@@ -323,34 +334,3 @@ gUnk_080C9C50:: @ 080C9C50
|
||||
.4byte gUnk_080C9864
|
||||
.4byte gUnk_080C9A30
|
||||
.4byte gUnk_080C9C3C
|
||||
|
||||
gUnk_080C9C6C:: @ 080C9C6C
|
||||
.incbin "data_080C93E0/gUnk_080C9C6C.bin"
|
||||
|
||||
gUnk_080C9CAC:: @ 080C9CAC
|
||||
.4byte sub_0801E02C
|
||||
.4byte sub_0801E044
|
||||
.4byte sub_0801E074
|
||||
.4byte sub_0801E0A0
|
||||
|
||||
gUnk_080C9CBC:: @ 080C9CBC
|
||||
.ifdef JP
|
||||
@ TODO only small differences
|
||||
.incbin "data_080C93E0/gUnk_080C9CBC_JP.bin"
|
||||
.else
|
||||
.ifdef EU
|
||||
.incbin "data_080C93E0/gUnk_080C9CBC_1_EU.bin"
|
||||
.else
|
||||
.incbin "data_080C93E0/gUnk_080C9CBC_2_USA-DEMO_USA-DEMO_JP.bin"
|
||||
.endif
|
||||
.endif
|
||||
|
||||
gUnk_080CA06C:: @ 080CA06C
|
||||
.ifdef EU
|
||||
.incbin "data_080C93E0/gUnk_080CA06C_EU.bin"
|
||||
.else
|
||||
.incbin "data_080C93E0/gUnk_080CA06C_1_USA-JP-DEMO_USA-DEMO_JP.bin"
|
||||
.endif
|
||||
|
||||
gUnk_080CA11C:: @ 080CA11C
|
||||
.incbin "data_080C93E0/gUnk_080CA11C.bin"
|
||||
@@ -1,14 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.section .rodata
|
||||
.align 2
|
||||
|
||||
gSpriteAnimations_BallChainSoldier_3:: @ 080D0738
|
||||
.include "animations/gSpriteAnimations_BallChainSoldier_3.s"
|
||||
|
||||
gSpriteAnimations_BallChainSoldier_2:: @ 080D073C
|
||||
.include "animations/gSpriteAnimations_BallChainSoldier_2.s"
|
||||
|
||||
gSpriteAnimations_BallChainSoldier_1:: @ 080D0740
|
||||
.include "animations/gSpriteAnimations_BallChainSoldier_1.s"
|
||||
@@ -4,30 +4,6 @@
|
||||
.section .rodata
|
||||
.align 2
|
||||
|
||||
|
||||
Gleerok_Functions:: @ 080CD748
|
||||
.4byte Gleerok_OnTick
|
||||
.4byte Gleerok_OnTick
|
||||
.4byte GenericKnockback
|
||||
.4byte Gleerok_OnDeath
|
||||
.4byte GenericConfused
|
||||
|
||||
gUnk_080CD75C:: @ 080CD75C
|
||||
.4byte sub_0802D158
|
||||
.4byte sub_0802D170
|
||||
.4byte sub_0802D170
|
||||
.4byte sub_0802D218
|
||||
.4byte sub_0802D258
|
||||
.4byte sub_0802D33C
|
||||
|
||||
gUnk_080CD774:: @ 080CD774
|
||||
.incbin "gleerok/gUnk_080CD774.bin"
|
||||
|
||||
gUnk_080CD7B8:: @ 080CD7B8
|
||||
.4byte sub_0802D3B8
|
||||
.4byte sub_0802D86C
|
||||
.4byte sub_0802D650
|
||||
|
||||
gUnk_080CD7C4:: @ 080CD7C4
|
||||
.incbin "gleerok/gUnk_080CD7C4.bin"
|
||||
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
.include "asm/macros.inc"
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.section .rodata
|
||||
.align 2
|
||||
|
||||
@ before: enemy66.c
|
||||
@ in here: enemyUtils.c, createEnemy.c, enterPortalSubtask.c, room.c roomInit.c, fade.c
|
||||
@ after: fileselect.c
|
||||
|
||||
@ enemyUtils.c
|
||||
gUnk_080D3D94:: @ 080D3D94
|
||||
.incbin "data_080D3D94/gUnk_080D3D94.bin"
|
||||
|
||||
@ enemyUtils.c
|
||||
gUnk_080D3E74:: @ 080D3E74
|
||||
.incbin "data_080D3D94/gUnk_080D3E74.bin"
|
||||
|
||||
gUnk_080D3E90:: @ 080D3E90
|
||||
.incbin "data_080D3D94/gUnk_080D3E90.bin"
|
||||
|
||||
gUnk_080D3F30:: @ 080D3F30
|
||||
.incbin "data_080D3D94/gUnk_080D3F30.bin"
|
||||
|
||||
gUnk_080D3FD0:: @ 080D3FD0
|
||||
.incbin "data_080D3D94/gUnk_080D3FD0.bin"
|
||||
|
||||
gUnk_080D4070:: @ 080D4070
|
||||
.incbin "data_080D3D94/gUnk_080D4070.bin"
|
||||
@@ -4,42 +4,29 @@
|
||||
.section .rodata
|
||||
.align 2
|
||||
|
||||
gUnk_080D3D94:: @ 080D3D94
|
||||
.incbin "data_080D3D94/gUnk_080D3D94.bin"
|
||||
|
||||
gUnk_080D3E74:: @ 080D3E74
|
||||
.incbin "data_080D3D94/gUnk_080D3E74.bin"
|
||||
|
||||
gUnk_080D3E90:: @ 080D3E90
|
||||
.incbin "data_080D3D94/gUnk_080D3E90.bin"
|
||||
|
||||
gUnk_080D3F30:: @ 080D3F30
|
||||
.incbin "data_080D3D94/gUnk_080D3F30.bin"
|
||||
|
||||
gUnk_080D3FD0:: @ 080D3FD0
|
||||
.incbin "data_080D3D94/gUnk_080D3FD0.bin"
|
||||
|
||||
gUnk_080D4070:: @ 080D4070
|
||||
.incbin "data_080D3D94/gUnk_080D4070.bin"
|
||||
|
||||
@ enterPortalSubtask.c
|
||||
gUnk_080D4110:: @ 080D4110
|
||||
.4byte gUnk_080D3E90
|
||||
.4byte gUnk_080D3F30
|
||||
.4byte gUnk_080D3FD0
|
||||
.4byte gUnk_080D4070
|
||||
|
||||
@ enterPortalSubtask.c
|
||||
gUnk_080D4120:: @ 080D4120
|
||||
.4byte sub_0804AAD4
|
||||
.4byte sub_0804AB04
|
||||
.4byte sub_0804AB24
|
||||
|
||||
@ enterPortalSubtask.c
|
||||
gUnk_080D412C:: @ 080D412C
|
||||
.4byte sub_0804AB70
|
||||
.4byte sub_0804AC1C
|
||||
.4byte sub_0804ACC8
|
||||
|
||||
@ enterPortalSubtask.c
|
||||
gUnk_080D4138:: @ 080D4138
|
||||
.incbin "data_080D3D94/gUnk_080D4138.bin"
|
||||
|
||||
@ enterPortalSubtask.c
|
||||
gUnk_080D4140:: @ 080D4140
|
||||
.incbin "data_080D3D94/gUnk_080D4140.bin"
|
||||
@@ -356,6 +356,7 @@ gUnk_0810918C:: @ 0810918C
|
||||
.4byte gUnk_08109180
|
||||
.4byte gUnk_0810910C
|
||||
|
||||
@ scroll.c
|
||||
gUnk_08109194:: @ 08109194
|
||||
.4byte gUnk_08108E90
|
||||
.4byte gUnk_08108EBC
|
||||
@@ -378,104 +379,14 @@ gUnk_08109194:: @ 08109194
|
||||
.4byte gUnk_08109178
|
||||
.4byte gUnk_0810918C
|
||||
|
||||
@ beanstalkSubtask.c, room.c
|
||||
gUnk_081091E4:: @ 081091E4
|
||||
.incbin "data_08108E6C/gUnk_081091E4.bin"
|
||||
|
||||
@ entity.c
|
||||
gUnk_081091EE:: @ 081091EE
|
||||
.incbin "data_08108E6C/gUnk_081091EE.bin"
|
||||
|
||||
@ entity.c
|
||||
gUnk_081091F8:: @ 081091F8
|
||||
.incbin "data_08108E6C/gUnk_081091F8.bin"
|
||||
|
||||
gUnk_08109202:: @ 08109202
|
||||
.incbin "data_08108E6C/gUnk_08109202.bin"
|
||||
|
||||
gTranslations:: @ 08109214
|
||||
.4byte translation
|
||||
.4byte translation
|
||||
.4byte translation
|
||||
.ifdef EU
|
||||
.4byte translationFrench
|
||||
.4byte translationGerman
|
||||
.4byte translationSpanish
|
||||
.4byte translationItalian
|
||||
.else
|
||||
.4byte translation
|
||||
.4byte translation
|
||||
.4byte translation
|
||||
.4byte translation
|
||||
.endif
|
||||
|
||||
gUnk_08109230:: @ 08109230
|
||||
.incbin "data_08108E6C/gUnk_08109230.bin"
|
||||
|
||||
gUnk_08109244:: @ 08109244
|
||||
.incbin "data_08108E6C/gUnk_08109244.bin"
|
||||
|
||||
gUnk_08109248:: @ 08109248
|
||||
.4byte gUnk_08692F60
|
||||
.4byte gUnk_08692F60
|
||||
.4byte gUnk_086978E0
|
||||
.4byte gUnk_08696F60
|
||||
.4byte gUnk_086AAEE0
|
||||
.4byte gUnk_086998E0
|
||||
.4byte gUnk_086A18E0
|
||||
.4byte gUnk_086A2A60
|
||||
.4byte gUnk_086A2EE0
|
||||
|
||||
gUnk_0810926C:: @ 0810926C
|
||||
.incbin "data_08108E6C/gUnk_0810926C.bin"
|
||||
|
||||
gUnk_081092AC:: @ 081092AC
|
||||
.4byte gUnk_086926A0
|
||||
.4byte gUnk_08692780
|
||||
.4byte gUnk_08692860
|
||||
.4byte gUnk_08692940
|
||||
.4byte gUnk_08692A20
|
||||
.4byte gUnk_08692B00
|
||||
.4byte gUnk_08692BE0
|
||||
.4byte gUnk_08692CC0
|
||||
.4byte gUnk_08692DA0
|
||||
.4byte gUnk_08692E80
|
||||
|
||||
gUnk_081092D4:: @ 081092D4
|
||||
.incbin "data_08108E6C/gUnk_081092D4.bin"
|
||||
|
||||
gUnk_0810942E:: @ 0810942E
|
||||
.incbin "data_08108E6C/gUnk_0810942E.bin"
|
||||
|
||||
gUnk_081094CE:: @ 081094CE
|
||||
.incbin "data_08108E6C/gUnk_081094CE.bin"
|
||||
|
||||
gUnk_08109A30:: @ 08109A30
|
||||
.4byte sub_0805FA04
|
||||
.4byte sub_0805FA98
|
||||
.4byte sub_0805FBC4
|
||||
.4byte gUnk_08109AB8
|
||||
.4byte gUnk_08109AA8
|
||||
.4byte gUnk_08109A98
|
||||
.4byte gUnk_08109A88
|
||||
.4byte gUnk_08109A78
|
||||
.4byte gUnk_08109A68
|
||||
.4byte gUnk_08109A58
|
||||
|
||||
gUnk_08109A58:: @ 08109A58
|
||||
.incbin "data_08108E6C/gUnk_08109A58.bin"
|
||||
|
||||
gUnk_08109A68:: @ 08109A68
|
||||
.incbin "data_08108E6C/gUnk_08109A68.bin"
|
||||
|
||||
gUnk_08109A78:: @ 08109A78
|
||||
.incbin "data_08108E6C/gUnk_08109A78.bin"
|
||||
|
||||
gUnk_08109A88:: @ 08109A88
|
||||
.incbin "data_08108E6C/gUnk_08109A88.bin"
|
||||
|
||||
gUnk_08109A98:: @ 08109A98
|
||||
.incbin "data_08108E6C/gUnk_08109A98.bin"
|
||||
|
||||
gUnk_08109AA8:: @ 08109AA8
|
||||
.incbin "data_08108E6C/gUnk_08109AA8.bin"
|
||||
|
||||
gUnk_08109AB8:: @ 08109AB8
|
||||
.incbin "data_08108E6C/gUnk_08109AB8.bin"
|
||||
@@ -0,0 +1,9 @@
|
||||
.include "asm/macros.inc"
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.section .rodata
|
||||
.align 2
|
||||
|
||||
|
||||
gUnk_080FC3C4:: @ 080FC3C4
|
||||
.incbin "data_080D5360/gUnk_080FC3C4.bin"
|
||||
@@ -4,6 +4,7 @@
|
||||
.section .rodata
|
||||
.align 2
|
||||
|
||||
@ figurine_menu.c, pause_menu.c
|
||||
gUnk_08128A38:: @ 08128A38
|
||||
.incbin "data_08127280/gUnk_08128A38.bin"
|
||||
.4byte PauseMenu_Variant0
|
||||
@@ -46,6 +47,7 @@ gUnk_08128A38:: @ 08128A38
|
||||
.incbin "data_08127280/gUnk_08128A38_19.bin"
|
||||
.4byte PauseMenu_Variant0
|
||||
|
||||
@ figurine_menu.c
|
||||
gUnk_08128AD8:: @ 08128AD8
|
||||
.ifdef EU
|
||||
@ TODO only small differences
|
||||
@@ -4,11 +4,14 @@
|
||||
.section .rodata
|
||||
.align 2
|
||||
|
||||
@ fileselect.c
|
||||
gUnk_080FC908:: @ 080FC908
|
||||
.4byte sub_08050888
|
||||
.4byte sub_080508E4
|
||||
.4byte sub_08050910
|
||||
|
||||
|
||||
@ fileselect.c
|
||||
gUnk_080FC914:: @ 080FC914
|
||||
.incbin "data_080FC8A4/gUnk_080FC914.bin"
|
||||
|
||||
@@ -52,6 +55,7 @@ gUnk_080FC9BC:: @ 080FC9BC
|
||||
.4byte sub_080515D4
|
||||
.4byte sub_080516E0
|
||||
|
||||
@ fileselect.c
|
||||
gUnk_080FC9C8:: @ 080FC9C8
|
||||
.4byte sub_08051738
|
||||
.4byte sub_080517EC
|
||||
@@ -5,10 +5,7 @@
|
||||
.align 2
|
||||
|
||||
|
||||
|
||||
gUnk_080FC3C4:: @ 080FC3C4
|
||||
.incbin "data_080D5360/gUnk_080FC3C4.bin"
|
||||
|
||||
@ figurine_menu.c, figurineDevice.c
|
||||
gUnk_080FC3E4:: @ 080FC3E4
|
||||
.ifdef JP
|
||||
@ TODO only small differences
|
||||
@@ -22,8 +19,10 @@ gUnk_080FC3E4:: @ 080FC3E4
|
||||
.endif
|
||||
.endif
|
||||
|
||||
@ fileselect.c
|
||||
gUnk_080FC844:: @ 080FC844
|
||||
.incbin "data_080D5360/gUnk_080FC844.bin"
|
||||
|
||||
@ fileselect.c
|
||||
gUnk_080FC85C:: @ 080FC85C
|
||||
.incbin "data_080D5360/gUnk_080FC85C.bin"
|
||||
@@ -4,6 +4,7 @@
|
||||
.section .rodata
|
||||
.align 2
|
||||
|
||||
@ game.c
|
||||
gUnk_080FCB94:: @ 080FCB94
|
||||
.incbin "data_080FC8A4/gUnk_080FCB94.bin"
|
||||
|
||||
@@ -643,5 +644,6 @@ gBombBagSizes:: @ 080FD5A0
|
||||
gQuiverSizes:: @ 080FD5A4
|
||||
.incbin "data_080FC8A4/gQuiverSizes.bin"
|
||||
|
||||
@ game.c
|
||||
gUnk_080FD5A8:: @ 080FD5A8
|
||||
.incbin "data_080FC8A4/gUnk_080FD5A8.bin"
|
||||
@@ -4,6 +4,7 @@
|
||||
.section .rodata
|
||||
.align 2
|
||||
|
||||
@ game.c, linkHoldingItem.c
|
||||
gUnk_080FD964:: @ 080FD964
|
||||
.ifdef EU
|
||||
@ TODO only small differences
|
||||
@@ -279,6 +280,7 @@ gSpriteAnimations_322_61:: @ 080FDFCB
|
||||
gSpriteAnimations_322_62:: @ 080FDFD0
|
||||
.include "animations/gSpriteAnimations_322_62.s"
|
||||
|
||||
@ subtask2.c, ui.c, pause_menu.c
|
||||
gSpriteAnimations_322:: @ 080FDFD8
|
||||
.4byte gSpriteAnimations_322_0
|
||||
.4byte gSpriteAnimations_322_1
|
||||
@@ -400,6 +402,7 @@ gSpriteAnimations_322:: @ 080FDFD8
|
||||
.4byte gSpriteAnimations_322_0
|
||||
.4byte 00000000
|
||||
|
||||
@ game.c
|
||||
gUnk_080FE1B4:: @ 080FE1B4
|
||||
.incbin "data_080FC8A4/gUnk_080FE1B4.bin"
|
||||
|
||||
@@ -414,6 +417,7 @@ gUnk_080FE2A0:: @ 080FE2A0
|
||||
.4byte sub_080548E8
|
||||
.4byte sub_08054920
|
||||
|
||||
@ game.c
|
||||
gUnk_080FE2AC:: @ 080FE2AC
|
||||
.4byte sub_08055D80
|
||||
.4byte sub_08054E00
|
||||
@@ -445,6 +449,7 @@ gUnk_080FE2AC:: @ 080FE2AC
|
||||
.4byte sub_08055D80
|
||||
.4byte sub_08055D80
|
||||
|
||||
@ game.c, kinstone.c, subtask2.c
|
||||
gUnk_080FE320:: @ 080FE320
|
||||
.ifdef JP
|
||||
@ TODO only small differences
|
||||
@@ -478,6 +483,7 @@ gUnk_080FE320:: @ 080FE320
|
||||
.endif
|
||||
.endif
|
||||
|
||||
@ kinstone.c, subtask.c
|
||||
gUnk_080FEAC8:: @ 080FEAC8
|
||||
.incbin "data_080FC8A4/gUnk_080FEAC8.bin"
|
||||
.ifdef JP
|
||||
@@ -514,6 +520,7 @@ gUnk_080FEAC8:: @ 080FEAC8
|
||||
|
||||
.incbin "data_080FC8A4/gUnk_080FEAC8_9.bin"
|
||||
|
||||
@ kinstone.c
|
||||
gUnk_080FEBE8:: @ 080FEBE8
|
||||
.incbin "data_080FC8A4/gUnk_080FEBE8.bin"
|
||||
|
||||
@@ -529,6 +536,7 @@ gUnk_080FED18:: @ 080FED18
|
||||
gUnk_080FED58:: @ 080FED58
|
||||
.incbin "data_080FC8A4/gUnk_080FED58.bin"
|
||||
|
||||
@ kinstone.c
|
||||
gUnk_080FED98:: @ 080FED98
|
||||
.4byte gUnk_080FEDA4
|
||||
.4byte gUnk_080FEDDA
|
||||
@@ -552,6 +560,7 @@ gUnk_080FEE38:: @ 080FEE38
|
||||
gUnk_080FEE48:: @ 080FEE48
|
||||
.incbin "data_080FC8A4/gUnk_080FEE48.bin"
|
||||
|
||||
@ kinstone.c
|
||||
gUnk_080FEE58:: @ 080FEE58
|
||||
.ifdef JP
|
||||
@ TODO only small differences
|
||||
@@ -569,5 +578,6 @@ gUnk_080FEE58:: @ 080FEE58
|
||||
.endif
|
||||
.endif
|
||||
|
||||
@ kinstone.c
|
||||
gUnk_080FEE78:: @ 080FEE78
|
||||
.incbin "data_080FC8A4/gUnk_080FEE78.bin"
|
||||
@@ -4,6 +4,7 @@
|
||||
.section .rodata
|
||||
.align 2
|
||||
|
||||
@ intr.s
|
||||
gUnk_080B2A70:: @ 080B2A70
|
||||
.4byte DummyIntr
|
||||
.4byte DummyIntr
|
||||
@@ -32,9 +33,11 @@ unusedLabel_080B2AA8::
|
||||
.endif
|
||||
.endif
|
||||
|
||||
RAMFUNCS_END:: @ 080B2CD8
|
||||
|
||||
gCopyToEndOfEwram_Start:: @ 080B2CD8
|
||||
gCopyToEndOfEwram_End:: @ 080B2CD8
|
||||
|
||||
@ interrupts.c
|
||||
gUnk_080B2CD8:: @ 080B2CD8
|
||||
gUnk_080B2CD8_2:: @ 080B2CD8
|
||||
gUnk_080B2CD8_3:: @ 080B2CD8
|
||||
.incbin "data_080B2A70/gUnk_080B2CD8_3.bin"
|
||||
@@ -4,9 +4,11 @@
|
||||
.section .rodata
|
||||
.align 2
|
||||
|
||||
@ script.c, librarians.c, cutsceneMiscObject.c
|
||||
gUnk_08114F30:: @ 08114F30
|
||||
.incbin "data_081146D0/gUnk_08114F30.bin"
|
||||
|
||||
@ script.c, cutsceneMiscObject.c
|
||||
gUnk_08114F34:: @ 08114F34
|
||||
.incbin "data_081146D0/gUnk_08114F34.bin"
|
||||
|
||||
@@ -4,10 +4,11 @@
|
||||
.section .rodata
|
||||
.align 2
|
||||
|
||||
|
||||
@ physics.c, dust.c, lilypadLarge.c, pullableMushroom.c, playerItemGust.c
|
||||
gUnk_08126EE4:: @ 08126EE4
|
||||
.incbin "data_08125104/gUnk_08126EE4.bin"
|
||||
|
||||
@ itemLantern.c
|
||||
gUnk_08126EEC:: @ 08126EEC
|
||||
.incbin "data_08125104/gUnk_08126EEC.bin"
|
||||
|
||||
@@ -104,6 +105,7 @@ gSpriteAnimations_166_29:: @ 0812713A
|
||||
gSpriteAnimations_166_30:: @ 08127143
|
||||
.include "animations/gSpriteAnimations_166_30.s"
|
||||
|
||||
@ sprite_ptrs.s
|
||||
gSpriteAnimations_166:: @ 0812714C
|
||||
.4byte gSpriteAnimations_166_0
|
||||
.4byte gSpriteAnimations_166_1
|
||||
@@ -138,5 +140,6 @@ gSpriteAnimations_166:: @ 0812714C
|
||||
.4byte gSpriteAnimations_166_30
|
||||
.4byte 00000000
|
||||
|
||||
@ playerItemBoomerang.c
|
||||
gUnk_081271CC:: @ 081271CC
|
||||
.incbin "data_08125104/gUnk_081271CC.bin"
|
||||
@@ -4,5 +4,6 @@
|
||||
.section .rodata
|
||||
.align 2
|
||||
|
||||
@ Probably belongs to collision.c, but needs to be placed at the end of playerItemBow.c or start of playerItemSwordBeam.c
|
||||
gUnk_080B3E80:: @ 080B3E80
|
||||
.incbin "data_080B3E70/gUnk_080B3E80.bin"
|
||||
@@ -4,12 +4,18 @@
|
||||
.section .rodata
|
||||
.align 2
|
||||
|
||||
@ before: playerItemBottle
|
||||
@ after: playerItemCellOverwriteSet
|
||||
|
||||
@ scroll.c, intr.s, veener.s
|
||||
gUnk_080B7910:: @ 080B7910
|
||||
.incbin "data_080B7910/gUnk_080B7910.bin"
|
||||
|
||||
@ veener.s, playerUtils.c
|
||||
gUnk_080B79A7:: @ 080B79A7
|
||||
.incbin "data_080B7910/gUnk_080B79A7.bin"
|
||||
|
||||
@ intr.s
|
||||
gUnk_080B7A3E:: @ 080B7A3E
|
||||
.incbin "data_080B7910/gUnk_080B7A3E.bin"
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
.section .rodata
|
||||
.align 2
|
||||
|
||||
@ playerUtils.c
|
||||
gCreateItemsFuncs:: @ 0811BFC8
|
||||
.4byte CreateItemNone
|
||||
.4byte CreateItem1
|
||||
@@ -192,5 +193,6 @@ gUnk_0811C2EC:: @ 0811C2EC
|
||||
gUnk_0811C456:: @ 0811C456
|
||||
.incbin "data_0811BE38/gUnk_0811C456.bin"
|
||||
|
||||
@ playerUtils.c
|
||||
gUnk_0811C466:: @ 0811C466
|
||||
.incbin "data_0811BE38/gUnk_0811C466.bin"
|
||||
@@ -6,6 +6,7 @@
|
||||
|
||||
@ staffroll rodata
|
||||
|
||||
@ staffroll.c
|
||||
gUnk_081272F0:: @ 081272F0
|
||||
.incbin "data_08127280/gUnk_081272F0.bin"
|
||||
|
||||
@@ -37,6 +38,7 @@ gUnk_08127D10:: @ 08127D10
|
||||
@ End of staffroll
|
||||
|
||||
|
||||
@ game.c
|
||||
gAreaMetadata:: @ 08127D30
|
||||
.ifdef EU
|
||||
@ TODO only small differences
|
||||
@@ -45,8 +47,6 @@ gAreaMetadata:: @ 08127D30
|
||||
.incbin "data_08127280/gAreaMetadata_1_USA-JP-DEMO_USA-DEMO_JP.bin"
|
||||
.endif
|
||||
|
||||
@ game.c, subtask2.c
|
||||
gUnk_08127F94:: @ 08127F94
|
||||
.incbin "data_08127280/gUnk_08127F94.bin"
|
||||
|
||||
gUnk_08128024:: @ 08128024
|
||||
.incbin "data_08127280/gUnk_08128024.bin"
|
||||
@@ -0,0 +1,16 @@
|
||||
.include "asm/macros.inc"
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.section .rodata
|
||||
.align 2
|
||||
|
||||
@ sub_08055E08.c
|
||||
gUnk_080FF400:: @ 080FF400
|
||||
.incbin "data_080FEEB8/gUnk_080FF400.bin"
|
||||
.4byte script_StampKinstone
|
||||
.incbin "data_080FEEB8/gUnk_080FF400_1.bin"
|
||||
|
||||
@ sub_08055E08.c
|
||||
gUnk_080FF420:: @ 080FF420
|
||||
.4byte sub_08055E24
|
||||
.4byte nullsub_493
|
||||
@@ -4,6 +4,7 @@
|
||||
.section .rodata
|
||||
.align 2
|
||||
|
||||
@ subtask.c
|
||||
gUnk_080FEEB8:: @ 080FEEB8
|
||||
.4byte sub_08054C20
|
||||
.4byte sub_08054C58
|
||||
@@ -259,21 +260,14 @@ gUnk_080FF3C8:: @ 080FF3C8
|
||||
.4byte 00000000
|
||||
.4byte 00000000
|
||||
|
||||
@ subtask.c
|
||||
gUnk_080FF3E8:: @ 080FF3E8
|
||||
.4byte sub_08055CF4
|
||||
.4byte sub_08055D2C
|
||||
.4byte sub_08055D64
|
||||
|
||||
@ subtask.c
|
||||
gUnk_080FF3F4:: @ 080FF3F4
|
||||
.4byte sub_08055D9C
|
||||
.4byte sub_08055DC0
|
||||
.4byte sub_08055DEC
|
||||
|
||||
gUnk_080FF400:: @ 080FF400
|
||||
.incbin "data_080FEEB8/gUnk_080FF400.bin"
|
||||
.4byte script_StampKinstone
|
||||
.incbin "data_080FEEB8/gUnk_080FF400_1.bin"
|
||||
|
||||
gUnk_080FF420:: @ 080FF420
|
||||
.4byte sub_08055E24
|
||||
.4byte nullsub_493
|
||||
@@ -4,6 +4,7 @@
|
||||
.section .rodata
|
||||
.align 2
|
||||
|
||||
@ subtask2.c
|
||||
gUnk_08128C00:: @ 08128C00
|
||||
.incbin "data_08127280/gUnk_08128C00.bin"
|
||||
|
||||
@@ -135,6 +136,7 @@ gUnk_0812901C:: @ 0812901C
|
||||
.4byte Subtask_FadeOut
|
||||
.4byte Subtask_Die
|
||||
|
||||
@ subtask2.c
|
||||
gSubtasks:: @ 08129030
|
||||
.4byte Subtask_Exit
|
||||
.4byte Subtask_PauseMenu
|
||||
@@ -0,0 +1,67 @@
|
||||
.include "asm/macros.inc"
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.section .rodata
|
||||
.align 2
|
||||
|
||||
@ text.c
|
||||
gTranslations:: @ 08109214
|
||||
.4byte translation
|
||||
.4byte translation
|
||||
.4byte translation
|
||||
.ifdef EU
|
||||
.4byte translationFrench
|
||||
.4byte translationGerman
|
||||
.4byte translationSpanish
|
||||
.4byte translationItalian
|
||||
.else
|
||||
.4byte translation
|
||||
.4byte translation
|
||||
.4byte translation
|
||||
.4byte translation
|
||||
.endif
|
||||
|
||||
@ text.c
|
||||
gUnk_08109230:: @ 08109230
|
||||
.incbin "data_08108E6C/gUnk_08109230.bin"
|
||||
|
||||
gUnk_08109244:: @ 08109244
|
||||
.incbin "data_08108E6C/gUnk_08109244.bin"
|
||||
|
||||
@ text.c
|
||||
gUnk_08109248:: @ 08109248
|
||||
.4byte gUnk_08692F60
|
||||
.4byte gUnk_08692F60
|
||||
.4byte gUnk_086978E0
|
||||
.4byte gUnk_08696F60
|
||||
.4byte gUnk_086AAEE0
|
||||
.4byte gUnk_086998E0
|
||||
.4byte gUnk_086A18E0
|
||||
.4byte gUnk_086A2A60
|
||||
.4byte gUnk_086A2EE0
|
||||
|
||||
gUnk_0810926C:: @ 0810926C
|
||||
.incbin "data_08108E6C/gUnk_0810926C.bin"
|
||||
|
||||
@ text.c
|
||||
gUnk_081092AC:: @ 081092AC
|
||||
.4byte gUnk_086926A0
|
||||
.4byte gUnk_08692780
|
||||
.4byte gUnk_08692860
|
||||
.4byte gUnk_08692940
|
||||
.4byte gUnk_08692A20
|
||||
.4byte gUnk_08692B00
|
||||
.4byte gUnk_08692BE0
|
||||
.4byte gUnk_08692CC0
|
||||
.4byte gUnk_08692DA0
|
||||
.4byte gUnk_08692E80
|
||||
|
||||
gUnk_081092D4:: @ 081092D4
|
||||
.incbin "data_08108E6C/gUnk_081092D4.bin"
|
||||
|
||||
gUnk_0810942E:: @ 0810942E
|
||||
.incbin "data_08108E6C/gUnk_0810942E.bin"
|
||||
|
||||
@ text.c
|
||||
gUnk_081094CE:: @ 081094CE
|
||||
.incbin "data_08108E6C/gUnk_081094CE.bin"
|
||||
@@ -3,7 +3,12 @@
|
||||
|
||||
.section .rodata
|
||||
.align 2
|
||||
@ before: playerItemCellOverwriteSet
|
||||
@ in here: ui.c, color.c, common.c
|
||||
@ afterwards on data side: sineTable.c
|
||||
@ after: octorok.c
|
||||
|
||||
@ collision.c
|
||||
gCollisionMtx:: @ 080B7B74
|
||||
.incbin "data_080B7B74/gCollisionMtx.bin"
|
||||
.incbin "data_080B7B74/gUnk_080B802E.bin"
|
||||
@@ -144,6 +149,7 @@ EzloNagUIElement_Actions:: @ 080C904C
|
||||
gUnk_080C9058:: @ 080C9058
|
||||
.incbin "data_080B7B74/gUnk_080C9058.bin"
|
||||
|
||||
@ ui.c
|
||||
gUnk_080C9094:: @ 080C9094
|
||||
.incbin "data_080B7B74/gUnk_080C9094.bin"
|
||||
|
||||
@@ -150,7 +150,7 @@ gUnk_0800823C:: @ 0800823C
|
||||
.4byte gUnk_080081FC
|
||||
.4byte gUnk_0800821C
|
||||
.4byte gUnk_080081BC
|
||||
|
||||
|
||||
gUnk_080082DC:: @ 080082DC
|
||||
.incbin "data_08007DF4/gUnk_080082DC.bin"
|
||||
|
||||
|
||||
@@ -1,38 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.section .rodata
|
||||
.align 2
|
||||
|
||||
gUnk_080B37A0:: @ 080B37A0
|
||||
.ifdef EU
|
||||
@ TODO only small differences
|
||||
.incbin "data_080B3740/gUnk_080B37A0_EU.bin"
|
||||
.else
|
||||
.incbin "data_080B3740/gUnk_080B37A0_1_USA-JP-DEMO_USA-DEMO_JP.bin"
|
||||
.endif
|
||||
.ifdef EU
|
||||
@ TODO only small differences
|
||||
.incbin "data_080B3740/gUnk_080B37A0_2_EU.bin"
|
||||
.else
|
||||
.incbin "data_080B3740/gUnk_080B37A0_3_USA-JP-DEMO_USA-DEMO_JP.bin"
|
||||
.endif
|
||||
|
||||
gUnk_080B3D14:: @ 080B3D14
|
||||
.incbin "data_080B3740/gUnk_080B3D14.bin"
|
||||
|
||||
gUnk_080B3D20:: @ 080B3D20
|
||||
.ifdef JP
|
||||
@ TODO only small differences
|
||||
.incbin "data_080B3740/gUnk_080B3D20_JP.bin"
|
||||
.else
|
||||
.ifdef EU
|
||||
.incbin "data_080B3740/gUnk_080B3D20_1_EU.bin"
|
||||
.else
|
||||
.ifdef DEMO_JP
|
||||
.incbin "data_080B3740/gUnk_080B3D20_2_DEMO_JP.bin"
|
||||
.else
|
||||
.incbin "data_080B3740/gUnk_080B3D20_3_USA-DEMO_USA.bin"
|
||||
.endif
|
||||
.endif
|
||||
.endif
|
||||
File diff suppressed because it is too large
Load Diff
+1356
-81
File diff suppressed because it is too large
Load Diff
@@ -1,157 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.section .rodata
|
||||
.align 2
|
||||
|
||||
gUnk_0813AA54:: @ 0813AA54
|
||||
.incbin "data_08132B30/gUnk_0813AA54.bin"
|
||||
|
||||
gUnk_0813AA68:: @ 0813AA68
|
||||
.incbin "data_08132B30/gUnk_0813AA68.bin"
|
||||
|
||||
gUnk_0813AA7C:: @ 0813AA7C
|
||||
.incbin "data_08132B30/gUnk_0813AA7C.bin"
|
||||
|
||||
gUnk_0813AA90:: @ 0813AA90
|
||||
.incbin "data_08132B30/gUnk_0813AA90.bin"
|
||||
|
||||
gUnk_0813AAA4:: @ 0813AAA4
|
||||
.incbin "data_08132B30/gUnk_0813AAA4.bin"
|
||||
|
||||
gUnk_0813AAB8:: @ 0813AAB8
|
||||
.incbin "data_08132B30/gUnk_0813AAB8.bin"
|
||||
|
||||
gUnk_0813AACC:: @ 0813AACC
|
||||
.incbin "data_08132B30/gUnk_0813AACC.bin"
|
||||
|
||||
gUnk_0813AAE0:: @ 0813AAE0
|
||||
.incbin "data_08132B30/gUnk_0813AAE0.bin"
|
||||
|
||||
gUnk_0813AAF4:: @ 0813AAF4
|
||||
.incbin "data_08132B30/gUnk_0813AAF4.bin"
|
||||
|
||||
gUnk_0813AB08:: @ 0813AB08
|
||||
.incbin "data_08132B30/gUnk_0813AB08.bin"
|
||||
|
||||
gUnk_0813AB1C:: @ 0813AB1C
|
||||
.4byte gUnk_0813AA54
|
||||
.4byte gUnk_0813AA68
|
||||
.4byte gUnk_0813AA7C
|
||||
.4byte gUnk_0813AA90
|
||||
.4byte gUnk_0813AAA4
|
||||
.4byte gUnk_0813AAB8
|
||||
.4byte gUnk_0813AACC
|
||||
.4byte gUnk_0813AAE0
|
||||
.4byte gUnk_0813AAF4
|
||||
.4byte gUnk_0813AB08
|
||||
.4byte 0x00000001
|
||||
.4byte 0x00480000
|
||||
.4byte 0x07000068
|
||||
.4byte 0x02000100
|
||||
.4byte 00000000
|
||||
|
||||
gUnk_0813AB58:: @ 0813AB58
|
||||
.incbin "data_08132B30/gUnk_0813AB58.bin"
|
||||
|
||||
gUnk_0813AB6C:: @ 0813AB6C
|
||||
.incbin "data_08132B30/gUnk_0813AB6C.bin"
|
||||
|
||||
gUnk_0813AB80:: @ 0813AB80
|
||||
.incbin "data_08132B30/gUnk_0813AB80.bin"
|
||||
|
||||
gUnk_0813AB94:: @ 0813AB94
|
||||
.incbin "data_08132B30/gUnk_0813AB94.bin"
|
||||
|
||||
gUnk_0813ABA8:: @ 0813ABA8
|
||||
.incbin "data_08132B30/gUnk_0813ABA8.bin"
|
||||
|
||||
gUnk_0813ABBC:: @ 0813ABBC
|
||||
.incbin "data_08132B30/gUnk_0813ABBC.bin"
|
||||
|
||||
gUnk_0813ABD0:: @ 0813ABD0
|
||||
.incbin "data_08132B30/gUnk_0813ABD0.bin"
|
||||
|
||||
gUnk_0813ABE4:: @ 0813ABE4
|
||||
.incbin "data_08132B30/gUnk_0813ABE4.bin"
|
||||
|
||||
gUnk_0813ABF8:: @ 0813ABF8
|
||||
.ifdef JP
|
||||
@ TODO only small differences
|
||||
.incbin "data_08132B30/gUnk_0813ABF8_JP.bin"
|
||||
.else
|
||||
.ifdef EU
|
||||
.incbin "data_08132B30/gUnk_0813ABF8_1_EU.bin"
|
||||
.else
|
||||
.incbin "data_08132B30/gUnk_0813ABF8_2_USA-DEMO_USA-DEMO_JP.bin"
|
||||
.endif
|
||||
.endif
|
||||
|
||||
gUnk_0813AC0C:: @ 0813AC0C
|
||||
.incbin "data_08132B30/gUnk_0813AC0C.bin"
|
||||
|
||||
gUnk_0813AC20:: @ 0813AC20
|
||||
.incbin "data_08132B30/gUnk_0813AC20.bin"
|
||||
|
||||
gUnk_0813AC34:: @ 0813AC34
|
||||
.incbin "data_08132B30/gUnk_0813AC34.bin"
|
||||
|
||||
gUnk_0813AC48:: @ 0813AC48
|
||||
.incbin "data_08132B30/gUnk_0813AC48.bin"
|
||||
|
||||
gUnk_0813AC5C:: @ 0813AC5C
|
||||
.incbin "data_08132B30/gUnk_0813AC5C.bin"
|
||||
|
||||
gUnk_0813AC70:: @ 0813AC70
|
||||
.incbin "data_08132B30/gUnk_0813AC70.bin"
|
||||
|
||||
gUnk_0813AC84:: @ 0813AC84
|
||||
.incbin "data_08132B30/gUnk_0813AC84.bin"
|
||||
|
||||
gUnk_0813AC98:: @ 0813AC98
|
||||
.incbin "data_08132B30/gUnk_0813AC98.bin"
|
||||
|
||||
gUnk_0813ACAC:: @ 0813ACAC
|
||||
.incbin "data_08132B30/gUnk_0813ACAC.bin"
|
||||
|
||||
gUnk_0813ACC0:: @ 0813ACC0
|
||||
.incbin "data_08132B30/gUnk_0813ACC0.bin"
|
||||
|
||||
gUnk_0813ACD4:: @ 0813ACD4
|
||||
.incbin "data_08132B30/gUnk_0813ACD4.bin"
|
||||
|
||||
gUnk_0813ACE8:: @ 0813ACE8
|
||||
.incbin "data_08132B30/gUnk_0813ACE8.bin"
|
||||
|
||||
gUnk_0813ACFC:: @ 0813ACFC
|
||||
.incbin "data_08132B30/gUnk_0813ACFC.bin"
|
||||
|
||||
gUnk_0813AD10:: @ 0813AD10
|
||||
.incbin "data_08132B30/gUnk_0813AD10.bin"
|
||||
|
||||
gUnk_0813AD24:: @ 0813AD24
|
||||
.incbin "data_08132B30/gUnk_0813AD24.bin"
|
||||
|
||||
gUnk_0813AD38:: @ 0813AD38
|
||||
.incbin "data_08132B30/gUnk_0813AD38.bin"
|
||||
|
||||
gUnk_0813AD4C:: @ 0813AD4C
|
||||
.incbin "data_08132B30/gUnk_0813AD4C.bin"
|
||||
|
||||
gUnk_0813AD60:: @ 0813AD60
|
||||
.incbin "data_08132B30/gUnk_0813AD60.bin"
|
||||
|
||||
gUnk_0813AD74:: @ 0813AD74
|
||||
.incbin "data_08132B30/gUnk_0813AD74.bin"
|
||||
|
||||
gUnk_0813AD88:: @ 0813AD88
|
||||
.ifdef EU
|
||||
@ TODO only small differences
|
||||
.incbin "data_08132B30/gUnk_0813AD88_EU.bin"
|
||||
.else
|
||||
.incbin "data_08132B30/gUnk_0813AD88_1_USA-JP-DEMO_USA-DEMO_JP.bin"
|
||||
.endif
|
||||
|
||||
gUnk_0813ADEC:: @ 0813ADEC
|
||||
.incbin "data_08132B30/gUnk_0813ADEC.bin"
|
||||
|
||||
@@ -8,6 +8,6 @@ SCRIPT_START script_Npc4EDHCEntrance
|
||||
EndBlock
|
||||
Wait 0x003c
|
||||
PlaySound SFX_EVAPORATE
|
||||
CallWithArg sub_0806DA1C, 0x0000000a
|
||||
CallWithArg NPC4E_DoScreenTransition, 10
|
||||
DoPostScriptAction 0x0006
|
||||
SCRIPT_END
|
||||
|
||||
@@ -8,6 +8,6 @@ SCRIPT_START script_Npc4EDHCThrone
|
||||
EndBlock
|
||||
Wait 0x003c
|
||||
PlaySound SFX_EVAPORATE
|
||||
CallWithArg sub_0806DA1C, 0x00000008
|
||||
CallWithArg NPC4E_DoScreenTransition, 8
|
||||
DoPostScriptAction 0x0006
|
||||
SCRIPT_END
|
||||
|
||||
@@ -8,6 +8,6 @@ SCRIPT_START script_Npc4EHyruleCastleEntrance
|
||||
PlaySound SFX_APPARATE
|
||||
EndBlock
|
||||
Wait 0x003c
|
||||
CallWithArg sub_0806DA1C, 0x0000000b
|
||||
CallWithArg NPC4E_DoScreenTransition, 11
|
||||
DoPostScriptAction 0x0006
|
||||
SCRIPT_END
|
||||
|
||||
@@ -8,6 +8,6 @@ SCRIPT_START script_Npc4EHyruleCastleThrone
|
||||
PlaySound SFX_APPARATE
|
||||
EndBlock
|
||||
Wait 0x003c
|
||||
CallWithArg sub_0806DA1C, 0x00000009
|
||||
CallWithArg NPC4E_DoScreenTransition, 9
|
||||
DoPostScriptAction 0x0006
|
||||
SCRIPT_END
|
||||
|
||||
@@ -15,6 +15,6 @@ SCRIPT_START script_Npc4EMinishWoods
|
||||
Wait 0x000a
|
||||
SetSyncFlag 0x00000008
|
||||
Wait 0x003c
|
||||
CallWithArg sub_0806DA1C, 0x0000000d
|
||||
CallWithArg NPC4E_DoScreenTransition, 13
|
||||
DoPostScriptAction 0x0006
|
||||
SCRIPT_END
|
||||
|
||||
@@ -15,6 +15,6 @@ SCRIPT_START script_Npc4EMtCrenel
|
||||
Wait 0x001e
|
||||
SetSyncFlag 0x00000008
|
||||
Wait 0x003c
|
||||
CallWithArg sub_0806DA1C, 0x0000000e
|
||||
CallWithArg NPC4E_DoScreenTransition, 14
|
||||
DoPostScriptAction 0x0006
|
||||
SCRIPT_END
|
||||
|
||||
@@ -59,6 +59,6 @@ SCRIPT_START script_Npc4EOutro
|
||||
WaitForSyncFlagAndClear 0x00000100
|
||||
PlayBgm BGM_INTRO_CUTSCENE
|
||||
PlaySound SFX_APPARATE
|
||||
CallWithArg sub_0806DA1C, 0x00000007
|
||||
CallWithArg NPC4E_DoScreenTransition, 7
|
||||
DoPostScriptAction 0x0006
|
||||
SCRIPT_END
|
||||
|
||||
@@ -8,6 +8,6 @@ SCRIPT_START script_Npc4ESanctuaryEntrance
|
||||
EndBlock
|
||||
Wait 0x003c
|
||||
PlaySound SFX_EVAPORATE
|
||||
CallWithArg sub_0806DA1C, 0x0000000f
|
||||
CallWithArg NPC4E_DoScreenTransition, 15
|
||||
DoPostScriptAction 0x0006
|
||||
SCRIPT_END
|
||||
|
||||
@@ -27,6 +27,6 @@ SCRIPT_START script_Npc4EUnfreezeCastleStaff
|
||||
Wait 0x0002
|
||||
SetSyncFlag 0x00000020
|
||||
Wait 0x0078
|
||||
CallWithArg sub_0806DA1C, 0x0000000c
|
||||
CallWithArg NPC4E_DoScreenTransition, 12
|
||||
DoPostScriptAction 0x0006
|
||||
SCRIPT_END
|
||||
|
||||
@@ -8,7 +8,7 @@ script_0800DFB6:
|
||||
SetPlayerIdle
|
||||
Call DisablePauseMenuAndPutAwayItems
|
||||
PlaySound SFX_EVAPORATE
|
||||
CallWithArg sub_0806DA1C, 0x00000004
|
||||
CallWithArg NPC4E_DoScreenTransition, 4
|
||||
Call EnablePauseMenu
|
||||
EnablePlayerControl
|
||||
DoPostScriptAction 0x0006
|
||||
|
||||
@@ -25,7 +25,7 @@ script_0800E012:
|
||||
WaitUntilTextboxCloses
|
||||
Wait 0x0096
|
||||
PlaySound SFX_EVAPORATE
|
||||
CallWithArg sub_0806DA1C, 0x00000005
|
||||
CallWithArg NPC4E_DoScreenTransition, 5
|
||||
Call EnablePauseMenu
|
||||
EnablePlayerControl
|
||||
DoPostScriptAction 0x0006
|
||||
|
||||
@@ -15,7 +15,7 @@ SCRIPT_START script_Npc4ECastleCollapsing
|
||||
CallWithArg DeleteRepeatedSoundManager, 0x00000001
|
||||
_0807F0C8 0x0000, 0x0000
|
||||
SetLocalFlag 0x0079
|
||||
CallWithArg sub_0806DA1C, 0x00000002
|
||||
CallWithArg NPC4E_DoScreenTransition, 2
|
||||
Call EnablePauseMenu
|
||||
EnablePlayerControl
|
||||
DoPostScriptAction 0x0006
|
||||
|
||||
@@ -22,7 +22,7 @@ script_0800A0FE:
|
||||
EndBlock
|
||||
WaitForFadeFinish
|
||||
WaitForSyncFlagAndClear 0x00000004
|
||||
CallWithArg sub_0806DA1C, 0x00000006
|
||||
CallWithArg NPC4E_DoScreenTransition, 6
|
||||
DoPostScriptAction 0x0006
|
||||
SCRIPT_END
|
||||
.ifndef EU
|
||||
|
||||
@@ -34,8 +34,8 @@ script_0800D962:
|
||||
Wait 0x003c
|
||||
SetLocalFlag 0x0032
|
||||
PlaySound SFX_113
|
||||
SetIntVariable 0x00000001
|
||||
Call sub_0806DA1C
|
||||
SetIntVariable 1
|
||||
Call NPC4E_DoScreenTransition
|
||||
Call EnablePauseMenu
|
||||
EnablePlayerControl
|
||||
DoPostScriptAction 0x0006
|
||||
|
||||
@@ -9,7 +9,7 @@ script_08011AFA:
|
||||
MessageFromTargetPos TEXT_VAATI, 0x21, 0x0007
|
||||
WaitUntilTextboxCloses
|
||||
SetLocalFlag MAENIWA_00_WARP
|
||||
CallWithArg sub_0806DA1C, 0x00000003
|
||||
CallWithArg NPC4E_DoScreenTransition, 3
|
||||
EnablePlayerControl
|
||||
Call EnablePauseMenu
|
||||
DoPostScriptAction 0x0006
|
||||
|
||||
@@ -14,8 +14,8 @@ script_0800D8F4:
|
||||
EzloMessage TEXT_VAATI, 0x25
|
||||
WaitUntilTextboxCloses
|
||||
PlaySound SFX_113
|
||||
SetIntVariable 0x00000000
|
||||
Call sub_0806DA1C
|
||||
SetIntVariable 0
|
||||
Call NPC4E_DoScreenTransition
|
||||
EnablePlayerControl
|
||||
Call EnablePauseMenu
|
||||
script_0800D924:
|
||||
|
||||
+4
-5
@@ -21,12 +21,11 @@ typedef struct {
|
||||
static_assert(sizeof(RoomResInfo) == 0x20);
|
||||
|
||||
typedef struct {
|
||||
u8 inventoryGfxIdx;
|
||||
u8 unk29;
|
||||
u8 unk2a;
|
||||
u8 textBaseIndex;
|
||||
u8 textIndexOffset;
|
||||
u8 currentHint;
|
||||
u8 unk2b;
|
||||
u16 unk2C[7];
|
||||
u16 unk3E;
|
||||
u16 ezloHintTexts[8];
|
||||
} struct_area_28;
|
||||
|
||||
typedef struct {
|
||||
|
||||
@@ -0,0 +1,35 @@
|
||||
#ifndef BACKGROUNDANIMATIONS_H
|
||||
#define BACKGROUNDANIMATIONS_H
|
||||
|
||||
#include "global.h"
|
||||
|
||||
enum {
|
||||
BG_ANIM_DEFAULT = 0,
|
||||
BG_ANIM_PALETTE = 16,
|
||||
BG_ANIM_MULTIPLE = 128,
|
||||
} BgAnimFlags;
|
||||
|
||||
typedef struct {
|
||||
u16 vramOffset;
|
||||
u8 gfxSize;
|
||||
u8 flags; /**< @see BgAnimFlags */
|
||||
u32 gfxOffset;
|
||||
} BgAnimationGfx;
|
||||
|
||||
typedef struct {
|
||||
const BgAnimationGfx* gfx;
|
||||
u32 unk_4;
|
||||
} BgAnimationFrame;
|
||||
|
||||
typedef struct {
|
||||
const BgAnimationFrame* currentFrame;
|
||||
u16 unk_4;
|
||||
u16 timer;
|
||||
} BgAnimation;
|
||||
#define MAX_BG_ANIMATIONS 8
|
||||
extern BgAnimation gBgAnimations[MAX_BG_ANIMATIONS];
|
||||
|
||||
extern const u16* const gUnk_080B755C[];
|
||||
extern const u16 gUnk_080B77C0[];
|
||||
|
||||
#endif // BACKGROUNDANIMATIONS_H
|
||||
@@ -14,23 +14,8 @@ typedef struct {
|
||||
extern struct_0200B240 gUnk_0200B240[MAX_0200B240];
|
||||
|
||||
typedef struct {
|
||||
u16 vramOffset;
|
||||
u8 gfxSize;
|
||||
u8 unk_3;
|
||||
u32 gfxOffset;
|
||||
} BgAnimationGfx;
|
||||
|
||||
typedef struct {
|
||||
BgAnimationGfx* gfx;
|
||||
u32 unk_4;
|
||||
} BgAnimationFrame;
|
||||
|
||||
typedef struct {
|
||||
BgAnimationFrame* currentFrame;
|
||||
u16 unk_4;
|
||||
u16 timer;
|
||||
} BgAnimation;
|
||||
#define MAX_BG_ANIMATIONS 8
|
||||
extern BgAnimation gBgAnimations[MAX_BG_ANIMATIONS];
|
||||
u16 collision;
|
||||
u16 tileIndex;
|
||||
} struct_080B44D0;
|
||||
|
||||
#endif // BEANSTALKSUBTASK_H
|
||||
|
||||
@@ -39,4 +39,6 @@ void CalculateEntityTileCollisions(Entity*, u32, u32);
|
||||
bool32 ProcessMovementInternal(Entity*, s32, s32, u32);
|
||||
u32 sub_080176E4(Entity*);
|
||||
|
||||
extern const u8 gUnk_080B37A0[]; // unkData3 for tileType?
|
||||
|
||||
#endif // COLLISION_H
|
||||
|
||||
@@ -142,4 +142,13 @@ u32 sub_0801E00C(void);
|
||||
bool32 sub_0801E810(u32);
|
||||
u32 sub_0801DB94(void);
|
||||
|
||||
typedef struct {
|
||||
u8 unk_0;
|
||||
u8 unk_1;
|
||||
u8 unk_2;
|
||||
// u8 pad;
|
||||
} struct_080C9C6C;
|
||||
|
||||
extern const struct_080C9C6C gUnk_080C9C6C[];
|
||||
|
||||
#endif // COMMON_H
|
||||
|
||||
+1
-1
@@ -184,7 +184,7 @@ void Helmasaur(Entity*);
|
||||
void FallingBoulder(Entity*);
|
||||
void Bobomb(Entity*);
|
||||
void WallMaster2(Entity*);
|
||||
void Gleerok(Entity*);
|
||||
void Gleerok();
|
||||
void VaatiEyesMacro(Entity*);
|
||||
void Tektite(Entity*);
|
||||
void WizzrobeWind();
|
||||
|
||||
+23
-2
@@ -6,8 +6,8 @@
|
||||
bool32 CheckFlags(u32);
|
||||
bool32 CheckGlobalFlag(u32);
|
||||
bool32 CheckGlobalFlags(u32, u32);
|
||||
extern bool32 CheckLocalFlag(u32);
|
||||
extern bool32 CheckLocalFlagByBank(u32, u32);
|
||||
extern bool32 CheckLocalFlag(u32 flag);
|
||||
extern bool32 CheckLocalFlagByBank(u32 bank, u32 flag);
|
||||
bool32 CheckLocalFlags(u32, u32);
|
||||
bool32 CheckLocalFlagsByBank(u32, u32, u32);
|
||||
bool32 CheckRoomFlag(u32);
|
||||
@@ -32,6 +32,27 @@ extern u32 ClearBit(void*, u32);
|
||||
|
||||
extern const u16 gLocalFlagBanks[];
|
||||
|
||||
/**
|
||||
* For indexing into gLocalFlagBanks.
|
||||
* Annoyingly they are offset by 1. Needs to be taken into account whereever gLocalFlagBanks is used.
|
||||
*/
|
||||
enum LocalBanks {
|
||||
LOCAL_BANK_G,
|
||||
LOCAL_BANK_0,
|
||||
LOCAL_BANK_1,
|
||||
LOCAL_BANK_2,
|
||||
LOCAL_BANK_3,
|
||||
LOCAL_BANK_4,
|
||||
LOCAL_BANK_5,
|
||||
LOCAL_BANK_6,
|
||||
LOCAL_BANK_7,
|
||||
LOCAL_BANK_8,
|
||||
LOCAL_BANK_9,
|
||||
LOCAL_BANK_10,
|
||||
LOCAL_BANK_11,
|
||||
LOCAL_BANK_12,
|
||||
};
|
||||
|
||||
enum LocalFlagOffsets {
|
||||
FLAG_BANK_G = 0,
|
||||
FLAG_BANK_0 = 0,
|
||||
|
||||
+1
-2
@@ -49,7 +49,6 @@ extern void UpdateDisplayControls(void);
|
||||
// Unidentified
|
||||
extern void sub_08000148(u32, u32, u32);
|
||||
extern u32 sub_080B1A0C(Entity*, s32, s32);
|
||||
extern u32 sub_080B1A48(u32, u32, u32);
|
||||
extern u32 sub_080B1AE0(u16, u8);
|
||||
extern u32 sub_080B1AF0(Entity*, s32, s32);
|
||||
extern u32 sub_080B1B18(s32, s32, u32);
|
||||
@@ -100,7 +99,7 @@ extern void sub_0805F8E4(u32 r0, WStruct* r1);
|
||||
extern void sub_08060158(Entity*);
|
||||
extern void sub_0806D0B0(Entity*);
|
||||
extern bool32 sub_080806BC(u32, u32, u32, u32);
|
||||
extern void sub_0808091C(const ScreenTransitionData*, u32);
|
||||
extern void sub_0808091C(const ScreenTransitionData* screenTransition, u32 transitionType);
|
||||
extern void sub_080809D4(void);
|
||||
extern void sub_08080CB4(Entity*);
|
||||
extern u32 sub_0808288C(Entity*, u32, u32, u32);
|
||||
|
||||
+10
-2
@@ -28,9 +28,10 @@ typedef struct {
|
||||
u8 unk3;
|
||||
u8 evt_type;
|
||||
u8 unk5;
|
||||
u8 _5[2];
|
||||
u8 unk6;
|
||||
u8 unk7;
|
||||
} struct_080C9CBC;
|
||||
extern struct_080C9CBC gUnk_080C9CBC[];
|
||||
extern const struct_080C9CBC gUnk_080C9CBC[];
|
||||
|
||||
typedef enum {
|
||||
KINSTONE_0,
|
||||
@@ -131,4 +132,11 @@ typedef enum {
|
||||
KINSTONE_5F,
|
||||
} KinstoneFlag;
|
||||
|
||||
typedef struct {
|
||||
u8 unk0; /**< Bank or 0xfd or 0xfe or 0xff */
|
||||
u8 unk1; /**< Flag, for bank=0xfd: Kinstone, for bank=0xfe: Item */
|
||||
u8 unk2; /**< Gfx id in the inventory? */
|
||||
u8 unk3; /**< Offset on the gfx id? */
|
||||
} struct_gUnk_080B3D20;
|
||||
|
||||
#endif // KINSTONE_H
|
||||
|
||||
+1
-1
@@ -159,6 +159,6 @@ extern void RegisterTransitionManager(void* mgr, void (*onEnter)(), void (*onExi
|
||||
|
||||
extern u32 sub_0805ACC0(Entity*);
|
||||
extern void sub_0801855C(void);
|
||||
extern void sub_080186C0(u32);
|
||||
extern void SetNextAreaHint(u32 textId);
|
||||
|
||||
#endif // MANAGER_H
|
||||
|
||||
@@ -9,7 +9,7 @@ typedef struct {
|
||||
s16 unk_38;
|
||||
s16 unk_3a;
|
||||
u16 unk_3c;
|
||||
u16 unk_3e;
|
||||
u16 flags;
|
||||
} MiscManager;
|
||||
|
||||
#endif // MISCMANAGER_H
|
||||
|
||||
@@ -0,0 +1,37 @@
|
||||
#ifndef SCREENTRANSITIONS_H
|
||||
#define SCREENTRANSITIONS_H
|
||||
|
||||
#include "room.h"
|
||||
|
||||
extern const ScreenTransitionData* const gWallMasterScreenTransitions[];
|
||||
extern const ScreenTransitionData gUnk_0813AB58;
|
||||
extern const ScreenTransitionData gUnk_0813AB6C;
|
||||
extern const ScreenTransitionData gUnk_0813AB80;
|
||||
extern const ScreenTransitionData gUnk_0813AB94;
|
||||
extern const ScreenTransitionData gUnk_0813ABA8;
|
||||
extern const ScreenTransitionData gUnk_0813ABBC;
|
||||
extern const ScreenTransitionData gUnk_0813ABD0;
|
||||
extern const ScreenTransitionData gUnk_0813ABE4;
|
||||
extern const ScreenTransitionData gUnk_0813ABF8;
|
||||
extern const ScreenTransitionData gUnk_0813AC0C;
|
||||
extern const ScreenTransitionData gUnk_0813AC20;
|
||||
extern const ScreenTransitionData gUnk_0813AC34;
|
||||
extern const ScreenTransitionData gUnk_0813AC48;
|
||||
extern const ScreenTransitionData gUnk_0813AC5C;
|
||||
extern const ScreenTransitionData gUnk_0813AC70;
|
||||
extern const ScreenTransitionData gUnk_0813AC84;
|
||||
extern const ScreenTransitionData gUnk_0813AC98;
|
||||
extern const ScreenTransitionData gUnk_0813ACAC;
|
||||
extern const ScreenTransitionData gUnk_0813ACC0;
|
||||
extern const ScreenTransitionData gUnk_0813ACD4;
|
||||
extern const ScreenTransitionData gUnk_0813ACE8;
|
||||
extern const ScreenTransitionData gUnk_0813ACFC;
|
||||
extern const ScreenTransitionData gUnk_0813AD10; // w
|
||||
extern const ScreenTransitionData gUnk_0813AD24; // m
|
||||
extern const ScreenTransitionData gUnk_0813AD38; // l
|
||||
extern const ScreenTransitionData gUnk_0813AD4C;
|
||||
extern const ScreenTransitionData gUnk_0813AD60;
|
||||
extern const ScreenTransitionData gUnk_0813AD74;
|
||||
extern const ScreenTransitionData gUnk_0813AD88[];
|
||||
extern const ScreenTransitionData gUnk_0813ADEC[];
|
||||
#endif // SCREENTRANSITIONS_H
|
||||
+1
-1
@@ -47,7 +47,7 @@ extern void sub_080A4E84(u8);
|
||||
extern const struct {
|
||||
u8 unk0;
|
||||
u8 unk1;
|
||||
u8 filler[2];
|
||||
// u8 pad[2];
|
||||
void (*func)(void);
|
||||
} gUnk_08128A38[];
|
||||
|
||||
|
||||
@@ -115,14 +115,14 @@ SECTIONS {
|
||||
. = 0x00036AD0; gUnk_02036AD8 = .;
|
||||
. = 0x00036BB0; gUnk_02036BB8 = .;
|
||||
. = 0x00036BB8; gMPlayTracks = .;
|
||||
. = 0x00038558; gUnk_02038560 = .;
|
||||
. = 0x00038558; gEndOfEwram = .;
|
||||
#else
|
||||
. = 0x00036A50; gEEPROMConfig = .;
|
||||
. = 0x00036A58; gUnk_02036A58 = .;
|
||||
. = 0x00036AD8; gUnk_02036AD8 = .;
|
||||
. = 0x00036BB8; gUnk_02036BB8 = .;
|
||||
. = 0x00036BC0; gMPlayTracks = .;
|
||||
. = 0x00038560; gUnk_02038560 = .;
|
||||
. = 0x00038560; gEndOfEwram = .;
|
||||
#endif
|
||||
. = 0x00040000;
|
||||
} >ewram
|
||||
@@ -281,6 +281,7 @@ SECTIONS {
|
||||
src/playerItem/playerItemBow.o(.text);
|
||||
src/playerItem/playerItemSwordBeam.o(.text);
|
||||
src/beanstalkSubtask.o(.text);
|
||||
src/backgroundAnimations.o(.text);
|
||||
src/playerItem/playerItemBomb.o(.text);
|
||||
src/playerItem/playerItemBoomerang.o(.text);
|
||||
src/playerItem/playerItemDashSword.o(.text);
|
||||
@@ -850,7 +851,7 @@ SECTIONS {
|
||||
asm/src/intr.o(.text);
|
||||
|
||||
/* data */
|
||||
data/data_080B2A70.o(.rodata);
|
||||
data/const/interrupts.o(.rodata);
|
||||
src/interrupts.o(.rodata);
|
||||
src/playerItem.o(.rodata);
|
||||
src/object.o(.rodata);
|
||||
@@ -858,21 +859,24 @@ SECTIONS {
|
||||
src/npcFunctions.o(.rodata);
|
||||
src/npc.o(.rodata);
|
||||
src/collision.o(.rodata);
|
||||
data/data_080B3740.o(.rodata);
|
||||
src/kinstone.o(.rodata);
|
||||
src/playerItem/playerItemGustBig.o(.rodata);
|
||||
src/playerItem/playerItemBow.o(.rodata);
|
||||
data/data_080B3E70.o(.rodata);
|
||||
data/const/playerItem/playerItemBow.o(.rodata);
|
||||
src/playerItem/playerItemSwordBeam.o(.rodata);
|
||||
data/data_080B4410.o(.rodata);
|
||||
data/const/beanstalkSubtask.o(.rodata);
|
||||
src/beanstalkSubtask.o(.rodata);
|
||||
src/backgroundAnimations.o(.rodata);
|
||||
src/playerItem/playerItemBomb.o(.rodata);
|
||||
src/playerItem/playerItemBoomerang.o(.rodata);
|
||||
src/playerItem/playerItemDashSword.o(.rodata);
|
||||
src/playerItem/playerItemBottle.o(.rodata);
|
||||
data/data_080B7910.o(.rodata);
|
||||
data/const/playerItem/playerItemCellOverwriteSet.o(.rodata);
|
||||
src/playerItem/playerItemCellOverwriteSet.o(.rodata);
|
||||
data/data_080B7B74.o(.rodata);
|
||||
data/const/ui.o(.rodata);
|
||||
src/sineTable.o(.rodata);
|
||||
data/data_080C93E0.o(.rodata);
|
||||
data/const/common.o(.rodata);
|
||||
src/common.o(.rodata);
|
||||
src/enemy/octorok.o(.rodata);
|
||||
data/animations/enemy/octorok.o(.rodata);
|
||||
src/enemy/chuchu.o(.rodata);
|
||||
@@ -1012,7 +1016,6 @@ SECTIONS {
|
||||
src/enemy/vaatiProjectile.o(.rodata);
|
||||
data/animations/enemy/vaatiProjectile.o(.rodata);
|
||||
src/enemy/ballChainSoldier.o(.rodata);
|
||||
data/const/enemy/ballChainSoldier.o(.rodata);
|
||||
data/animations/enemy/ballChainSoldier.o(.rodata);
|
||||
src/enemy/enemy4D.o(.rodata);
|
||||
src/enemy/ghini.o(.rodata);
|
||||
@@ -1056,17 +1059,20 @@ SECTIONS {
|
||||
src/enemy/treeItem.o(.rodata);
|
||||
src/enemy/enemy66.o(.rodata);
|
||||
src/enemy.o(.rodata);
|
||||
data/data_080D3D94.o(.rodata);
|
||||
data/const/enemyUtils.o(.rodata);
|
||||
data/const/enterPortalSubtask.o(.rodata);
|
||||
data/map/entity_headers.o(.rodata);
|
||||
data/data_080FC3C4.o(.rodata);
|
||||
data/const/fade.o(.rodata);
|
||||
data/const/fileselect_before.o(.rodata);
|
||||
src/fileselect.o(.rodata);
|
||||
data/data_080FC8A4.o(.rodata);
|
||||
data/const/fileselect_after.o(.rodata);
|
||||
src/game.o(.rodata);
|
||||
data/data_080FCAC8.o(.rodata);
|
||||
data/const/game.o(.rodata);
|
||||
src/itemMetaData.o(.rodata);
|
||||
data/data_080FD964.o(.rodata);
|
||||
data/const/game_2.o(.rodata);
|
||||
src/playerItem/playerItemLantern.o(.rodata);
|
||||
data/data_080FEEB8.o(.rodata);
|
||||
data/const/subtask.o(.rodata);
|
||||
data/const/sub_08055E08.o(.rodata);
|
||||
data/gfx/palette_groups.o(.rodata);
|
||||
data/gfx/gfx_groups.o(.rodata);
|
||||
src/main.o(.rodata);
|
||||
@@ -1116,7 +1122,10 @@ SECTIONS {
|
||||
src/manager/vaati3StartManager.o(.rodata);
|
||||
src/manager/floatingPlatformManager.o(.rodata);
|
||||
data/const/manager/enterRoomTextboxManager.o(.rodata);
|
||||
data/data_08108E6C.o(.rodata);
|
||||
data/const/entity.o(.rodata);
|
||||
src/code_0805EC04.o(.rodata);
|
||||
data/const/text.o(.rodata);
|
||||
src/debug.o(.rodata);
|
||||
src/playerItem/playerItemSpiralBeam.o(.rodata);
|
||||
data/animations/npc/gentari.o(.rodata);
|
||||
src/npc/festari.o(.rodata);
|
||||
@@ -1268,7 +1277,7 @@ SECTIONS {
|
||||
src/npc/npc58.o(.rodata);
|
||||
src/npcDefinitions.o(.rodata);
|
||||
src/npcUtils.o(.rodata);
|
||||
data/data_081146D0.o(.rodata);
|
||||
data/const/npcUtils.o(.rodata);
|
||||
src/physics.o(.rodata);
|
||||
src/playerHitbox.o(.rodata);
|
||||
data/gfx/sprite_frames.o(.rodata);
|
||||
@@ -1291,7 +1300,7 @@ SECTIONS {
|
||||
src/item/itemJarEmpty.o(.rodata);
|
||||
data/item.o(.rodata);
|
||||
src/itemDefinitions.o(.rodata);
|
||||
data/data_0811BE38.o(.rodata);
|
||||
data/const/playerUtils.o(.rodata);
|
||||
data/map/room_headers.o(.rodata);
|
||||
src/flags.o(.rodata);
|
||||
src/save.o(.rodata);
|
||||
@@ -1533,20 +1542,20 @@ SECTIONS {
|
||||
src/object/linkAnimation.o(.rodata);
|
||||
src/objectDefinitions.o(.rodata);
|
||||
src/playerItemDefinitions.o(.rodata);
|
||||
data/data_08125104.o(.rodata);
|
||||
data/const/objectUtils.o(.rodata);
|
||||
data/const/playerItem/playerItemShield.o(.rodata);
|
||||
src/playerItem/playerItemFireRodProjectile.o(.rodata);
|
||||
#ifdef DEMO_USA
|
||||
src/demo.o(.rodata);
|
||||
#endif
|
||||
src/staffroll.o(.rodata);
|
||||
data/data_08127280.o(.rodata);
|
||||
data/const/staffroll.o(.rodata);
|
||||
src/menu/kinstone_menu.o(.rodata);
|
||||
src/menu/figurine_menu.o(.rodata);
|
||||
data/gfx/figurines.o(.rodata);
|
||||
data/data_08128A38.o(.rodata);
|
||||
data/const/figurine_menu.o(.rodata);
|
||||
src/menu/pause_menu.o(.rodata);
|
||||
data/data_08128BF4.o(.rodata);
|
||||
data/const/subtask2.o(.rodata);
|
||||
src/playerItem/playerItemSword.o(.rodata);
|
||||
data/projectile_functions.o(.rodata);
|
||||
src/projectile/darkNutSwordSlash.o(.rodata);
|
||||
@@ -1616,7 +1625,7 @@ SECTIONS {
|
||||
data/const/movement.o(.rodata);
|
||||
src/movement.o(.rodata);
|
||||
src/data/transitions.o(.rodata);
|
||||
data/gfx_0813AA54.o(.rodata);
|
||||
src/data/screenTransitions.o(.rodata);
|
||||
data/gfx/sprite_gfx.o(.rodata);
|
||||
data/gfx/frame_obj_lists.o(.rodata);
|
||||
data/map/map_data.o(.rodata);
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
+88
-95
@@ -1,19 +1,20 @@
|
||||
#include "beanstalkSubtask.h"
|
||||
|
||||
#include "backgroundAnimations.h"
|
||||
#include "collision.h"
|
||||
#include "common.h"
|
||||
#include "fade.h"
|
||||
#include "functions.h"
|
||||
#include "game.h"
|
||||
#include "global.h"
|
||||
#include "item.h"
|
||||
#include "main.h"
|
||||
#include "manager.h"
|
||||
#include "manager/diggingCaveEntranceManager.h"
|
||||
#include "menu.h"
|
||||
#include "object.h"
|
||||
#include "screen.h"
|
||||
#include "structures.h"
|
||||
#include "manager/diggingCaveEntranceManager.h"
|
||||
#include "scroll.h"
|
||||
#include "structures.h"
|
||||
|
||||
extern void sub_0807C898(void);
|
||||
extern void sub_0805BB74(s32);
|
||||
@@ -35,17 +36,8 @@ extern const u16 gUnk_080B4410[];
|
||||
extern const s16 gUnk_080B4488[];
|
||||
extern const s16 gUnk_080B44A8[];
|
||||
|
||||
typedef struct {
|
||||
u16 unk0;
|
||||
u16 unk1;
|
||||
} struct_080B44D0;
|
||||
|
||||
extern const struct_080B44D0 gUnk_080B44D0[];
|
||||
|
||||
extern const u16* gUnk_080B4550[];
|
||||
extern const u16 gUnk_080B77C0[];
|
||||
extern BgAnimationFrame* gUnk_080B7278[];
|
||||
|
||||
typedef struct {
|
||||
u16 tileType;
|
||||
u16 kind;
|
||||
@@ -59,9 +51,8 @@ void sub_0801AD6C(const Data*, u32);
|
||||
bool32 sub_0801A4F8(void);
|
||||
bool32 sub_0801AA58(Entity*, u32, u32);
|
||||
void sub_0801AB08(u16*, LayerStruct*);
|
||||
void LoadBgAnimationGfx(BgAnimationGfx*);
|
||||
u32 GetBgAnimationTimer(s32*);
|
||||
void ClearBgAnimations(void);
|
||||
|
||||
u32 sub_0801AC68(u32 position, u32 data);
|
||||
|
||||
void sub_0801967C(void) {
|
||||
gUnk_080B4458[gMenu.overlayType]();
|
||||
@@ -403,7 +394,79 @@ bool32 sub_0801AA58(Entity* this, u32 param_2, u32 param_3) {
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
ASM_FUNC("asm/non_matching/beanstalkSubtask/sub_0801AB08.inc", void sub_0801AB08(u16* a, LayerStruct* layer))
|
||||
void sub_0801AB08(u16* specialData, LayerStruct* layer) {
|
||||
u16* metatiles;
|
||||
u16* mapData;
|
||||
u16* mapDataClone;
|
||||
u16 index;
|
||||
u16 innerIndex;
|
||||
u32 tmp2;
|
||||
u32 tmp3;
|
||||
u32 tmp1;
|
||||
|
||||
if (layer == &gMapBottom) {
|
||||
tmp3 = 1;
|
||||
} else {
|
||||
tmp3 = 2;
|
||||
}
|
||||
tmp2 = tmp3 << 0xc;
|
||||
mapDataClone = layer->mapDataClone;
|
||||
mapData = layer->mapData;
|
||||
|
||||
for (index = 0; index < 0x40; index++) {
|
||||
for (innerIndex = 0; innerIndex < 0x10; innerIndex++) {
|
||||
if (mapData[0] < 0x4000) {
|
||||
tmp1 = mapData[0] << 2;
|
||||
} else {
|
||||
tmp1 = sub_0801AC68(tmp2, mapDataClone[0]);
|
||||
}
|
||||
metatiles = layer->metatiles + tmp1;
|
||||
specialData[0] = metatiles[0];
|
||||
specialData[1] = metatiles[1];
|
||||
specialData[0x80 + 0] = metatiles[2];
|
||||
specialData[0x80 + 1] = metatiles[3];
|
||||
specialData += 2;
|
||||
if (mapData[1] < 0x4000) {
|
||||
tmp1 = mapData[1] << 2;
|
||||
} else {
|
||||
tmp1 = sub_0801AC68(tmp2 + 1, mapDataClone[1]);
|
||||
}
|
||||
metatiles = layer->metatiles + tmp1;
|
||||
specialData[0] = metatiles[0];
|
||||
specialData[1] = metatiles[1];
|
||||
specialData[0x80 + 0] = metatiles[2];
|
||||
specialData[0x80 + 1] = metatiles[3];
|
||||
specialData += 2;
|
||||
if (mapData[2] < 0x4000) {
|
||||
tmp1 = mapData[2] << 2;
|
||||
} else {
|
||||
tmp1 = sub_0801AC68(tmp2 + 2, mapDataClone[2]);
|
||||
}
|
||||
metatiles = layer->metatiles + tmp1;
|
||||
specialData[0] = metatiles[0];
|
||||
specialData[1] = metatiles[1];
|
||||
specialData[0x80 + 0] = metatiles[2];
|
||||
specialData[0x80 + 1] = metatiles[3];
|
||||
specialData += 2;
|
||||
if (mapData[3] < 0x4000) {
|
||||
tmp1 = mapData[3] << 2;
|
||||
} else {
|
||||
tmp1 = sub_0801AC68(tmp2 + 3, mapDataClone[3]);
|
||||
}
|
||||
metatiles = layer->metatiles + tmp1;
|
||||
specialData[0] = metatiles[0];
|
||||
specialData[1] = metatiles[1];
|
||||
specialData[0x80 + 0] = metatiles[2];
|
||||
specialData[0x80 + 1] = metatiles[3];
|
||||
specialData += 2;
|
||||
|
||||
mapData += 4;
|
||||
mapDataClone += 4;
|
||||
tmp2 = (u16)(tmp2 + 4);
|
||||
}
|
||||
specialData = specialData + 0x80;
|
||||
}
|
||||
}
|
||||
|
||||
u32 sub_0801AC68(u32 position, u32 data) {
|
||||
u32 index;
|
||||
@@ -601,7 +664,12 @@ void DeleteLoadedTileEntity(u32 position, s32 layer) {
|
||||
ptr[t] = ptr[count];
|
||||
}
|
||||
|
||||
// used for minish houses, seems to overwrite all tiles on layer 1 for them?
|
||||
const struct_080B44D0 gUnk_080B44D0[] = {
|
||||
{ 0x67, 0x4084 }, { 0x68, 0x4085 }, { 0x69, 0x4086 }, { 0x6a, 0x4087 },
|
||||
{ 0x6b, 0x4088 }, { 0x27, 0x4083 }, { 0x23, 0x408d }, { 0x0, 0x0 },
|
||||
};
|
||||
|
||||
// used for minish houses, seems to overwrite all tiles with certain collision values on layer 1 for them?
|
||||
void sub_0801AFE4(void) {
|
||||
const struct_080B44D0* ptr;
|
||||
u8* collisionData;
|
||||
@@ -615,9 +683,9 @@ void sub_0801AFE4(void) {
|
||||
height = gRoomControls.height >> 4;
|
||||
for (y = 0; y < height; y++) {
|
||||
for (x = 0; x < width; x++) {
|
||||
for (ptr = gUnk_080B44D0; ptr->unk0 != 0; ptr++) {
|
||||
if (ptr->unk0 == *collisionData) {
|
||||
SetTile(ptr->unk1, y * 0x40 + x, 1);
|
||||
for (ptr = gUnk_080B44D0; ptr->collision != 0; ptr++) {
|
||||
if (ptr->collision == *collisionData) {
|
||||
SetTile(ptr->tileIndex, y * 0x40 + x, 1);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -626,78 +694,3 @@ void sub_0801AFE4(void) {
|
||||
collisionData = collisionData + (0x40 - width);
|
||||
}
|
||||
}
|
||||
|
||||
void UpdateBgAnimations(void) {
|
||||
bool32 alreadyUploadedGfx = FALSE;
|
||||
BgAnimation* animation = gBgAnimations;
|
||||
s32 index = 8;
|
||||
while (index != 0) {
|
||||
if (animation->currentFrame == NULL) {
|
||||
return;
|
||||
}
|
||||
if (--animation->timer == 0) {
|
||||
if (!alreadyUploadedGfx) {
|
||||
if (gFadeControl.active == 0) {
|
||||
LoadBgAnimationGfx(animation->currentFrame->gfx);
|
||||
}
|
||||
animation->timer = GetBgAnimationTimer(&animation->currentFrame->unk_4);
|
||||
animation->currentFrame++;
|
||||
if (animation->currentFrame->gfx == NULL) {
|
||||
animation->currentFrame -= animation->currentFrame->unk_4;
|
||||
}
|
||||
alreadyUploadedGfx = TRUE;
|
||||
} else {
|
||||
animation->timer++;
|
||||
}
|
||||
}
|
||||
animation++;
|
||||
index--;
|
||||
}
|
||||
}
|
||||
|
||||
u32 GetBgAnimationTimer(s32* param_1) {
|
||||
if (param_1[0] < 0) {
|
||||
return gUnk_080B4550[*(u8*)param_1][(Random() & 7)];
|
||||
} else {
|
||||
return param_1[0];
|
||||
}
|
||||
}
|
||||
|
||||
void LoadBgAnimationGfx(BgAnimationGfx* param_1) {
|
||||
const u8* src;
|
||||
u32 vramOffset;
|
||||
u32 size;
|
||||
while (TRUE) {
|
||||
src = &gGlobalGfxAndPalettes[param_1->gfxOffset];
|
||||
size = param_1->gfxSize;
|
||||
vramOffset = param_1->vramOffset;
|
||||
if ((*(u32*)param_1 >> 0x1c & 1) != 0) {
|
||||
LoadPalettes(src, vramOffset >> 5, size);
|
||||
} else {
|
||||
MemCopy(src, (void*)(vramOffset + 0x6000000), size << 5);
|
||||
}
|
||||
if (*(int*)param_1 >= 0) {
|
||||
return;
|
||||
}
|
||||
param_1++;
|
||||
}
|
||||
}
|
||||
|
||||
void LoadBgAnimations(u16* param_1) {
|
||||
BgAnimation* animation;
|
||||
ClearBgAnimations();
|
||||
animation = gBgAnimations;
|
||||
while (param_1[0] != 0xffff) {
|
||||
animation->currentFrame = gUnk_080B7278[param_1[0]];
|
||||
animation->timer = GetBgAnimationTimer(&animation->currentFrame->unk_4);
|
||||
animation++;
|
||||
param_1++;
|
||||
}
|
||||
}
|
||||
|
||||
void ClearBgAnimations(void) {
|
||||
u32 index;
|
||||
for (index = 0; index < MAX_BG_ANIMATIONS; index++) {
|
||||
gBgAnimations[index].currentFrame = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
+4
-1
@@ -4,7 +4,10 @@
|
||||
#include "room.h"
|
||||
#include "structures.h"
|
||||
|
||||
extern const u8 gUnk_08109202[];
|
||||
const u8 gUnk_08109202[] = {
|
||||
255, 8, 24, 255, 0, 4, 28, 255, 16, 12, 20, 255, 255, 255, 255, 255, 0, 0,
|
||||
};
|
||||
|
||||
u32 ConvInputToState(u32 keys);
|
||||
|
||||
bool32 sub_0805EC04(Entity* this) {
|
||||
|
||||
+133
@@ -787,3 +787,136 @@ CollisionResult CollisionDefault(Entity* org, Entity* tgt, u32 direction, ColSet
|
||||
}
|
||||
return RESULT_COLLISION;
|
||||
}
|
||||
|
||||
// unkData3 for tileType?
|
||||
|
||||
#ifdef EU
|
||||
const u8 gUnk_080B37A0[] = {
|
||||
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 9, 10, 9, 9, 9, 9, 9, 9, 11, 12, 11, 11, 11,
|
||||
11, 11, 11, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 12, 12, 12, 12, 12,
|
||||
12, 12, 12, 12, 12, 12, 12, 13, 14, 14, 15, 16, 15, 14, 17, 18, 19, 20, 20, 20, 20, 20, 20,
|
||||
20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 21, 21, 21, 21, 21, 21, 21,
|
||||
21, 21, 21, 21, 21, 22, 22, 22, 22, 22, 22, 22, 22, 23, 23, 24, 24, 24, 24, 0, 0, 25, 25,
|
||||
26, 0, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 0, 36, 36, 36, 36, 37, 38, 38, 39,
|
||||
39, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 41, 41, 40, 40,
|
||||
42, 41, 40, 43, 41, 40, 44, 41, 40, 45, 0, 0, 0, 0, 46, 0, 0, 0, 0, 0, 0, 40, 0,
|
||||
42, 42, 42, 0, 0, 0, 0, 46, 0, 0, 0, 0, 0, 0, 40, 0, 42, 42, 42, 0, 46, 0, 0,
|
||||
0, 0, 0, 0, 40, 0, 0, 0, 0, 43, 43, 43, 0, 0, 0, 0, 46, 0, 0, 0, 0, 0, 0,
|
||||
40, 0, 44, 44, 44, 0, 46, 0, 0, 0, 0, 0, 0, 40, 0, 0, 0, 0, 45, 45, 45, 0, 0,
|
||||
0, 0, 46, 0, 0, 0, 0, 0, 46, 0, 0, 46, 0, 0, 0, 0, 0, 0, 0, 46, 0, 0, 0,
|
||||
0, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 47, 47, 47, 0, 0, 40, 0, 40, 48, 49, 50, 51, 52, 52, 53,
|
||||
53, 54, 55, 0, 56, 57, 58, 59, 0, 0, 60, 60, 60, 60, 0, 0, 0, 0, 61, 61, 62, 9, 9,
|
||||
9, 9, 9, 9, 61, 61, 61, 9, 9, 61, 61, 61, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 63,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 0, 42, 43, 44, 45, 0, 0, 0, 0, 64,
|
||||
65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 63, 0, 63, 83,
|
||||
83, 0, 0, 43, 43, 43, 0, 21, 21, 21, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
|
||||
16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 85, 85, 85, 85, 85, 85, 85, 85,
|
||||
85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 0, 0, 0, 86, 0, 0, 86, 0, 0,
|
||||
41, 0, 0, 41, 40, 0, 0, 0, 0, 0, 86, 0, 0, 86, 0, 0, 41, 0, 0, 41, 40, 0, 0,
|
||||
0, 0, 0, 86, 0, 0, 86, 0, 0, 0, 0, 0, 0, 40, 0, 0, 0, 0, 86, 86, 86, 86, 86,
|
||||
86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
|
||||
86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
|
||||
86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
|
||||
86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 10, 9, 10, 10, 13,
|
||||
0, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16,
|
||||
16, 0, 12, 0, 0, 1, 24, 87, 88, 89, 89, 90, 91, 92, 93, 94, 95, 96, 0, 0, 0, 13, 13,
|
||||
13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
|
||||
13, 13, 13, 13, 13, 12, 12, 12, 12, 12, 12, 97, 97, 97, 97, 98, 98, 0, 0, 99, 99, 99, 99,
|
||||
100, 0, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 112, 112, 112, 112, 0, 113, 46, 46, 114,
|
||||
114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 115, 115, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 43, 44, 45,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 116, 116, 116, 0, 0, 0, 0, 43, 42, 45, 44, 117, 0, 82,
|
||||
0, 0, 0, 0, 0, 0, 43, 42, 0, 0, 44, 0, 0, 45, 0, 0, 0, 0, 41, 40, 38, 38, 116,
|
||||
116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 90, 41, 41, 41, 12, 0, 12, 12, 41, 41, 116,
|
||||
0, 0, 10, 0, 0, 0, 0, 0, 0, 40, 0, 0, 0, 40, 0, 10, 10, 10, 10, 10, 10, 10, 40,
|
||||
40, 84, 84, 84, 84, 0, 61, 61, 61, 61, 61, 61, 61, 61, 62, 62, 62, 62, 62, 62, 62, 62, 9,
|
||||
9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 42, 10, 10, 10, 10, 10, 10,
|
||||
15, 10, 42, 13, 0, 42, 0, 0, 0, 0, 16, 16, 16, 16, 16, 16, 16, 16, 16, 9, 9, 9, 56,
|
||||
10, 42, 0, 10, 79, 77, 0, 0, 0, 0, 10, 0, 0, 0, 78, 78, 12, 12, 12, 12, 61, 61, 61,
|
||||
40, 12, 40, 10, 10, 10, 0, 0, 39, 39, 39, 39, 39, 39, 38, 38, 52, 52, 12, 55, 0, 0, 0,
|
||||
0, 0, 54, 0, 0, 0, 0, 40, 53, 53, 40, 55, 12, 0, 12, 12, 12, 12, 12, 54, 13, 40, 0,
|
||||
0, 0, 52, 52, 52, 10, 10, 0, 0, 0, 0, 40, 15, 15, 51, 16, 10, 10, 16, 16, 10, 10, 10,
|
||||
10, 0, 0, 15, 9, 14, 15, 14, 15, 15, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 116, 116,
|
||||
116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 15, 40, 15, 40, 40, 15, 12, 12, 12, 12, 12, 25,
|
||||
40, 40, 40, 0, 16, 16, 116, 0, 0, 12, 45, 0, 40, 40, 43, 25, 0, 10, 0, 40, 0, 43, 43,
|
||||
43, 0, 42, 42, 42, 42, 0, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 44, 42, 42, 0, 38,
|
||||
38, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 83, 0, 0, 0, 0, 38, 38, 40, 12, 12, 12, 12,
|
||||
12, 12, 12, 12, 12, 12, 12, 41, 41, 38, 38, 12, 12, 41, 41, 12, 12, 116, 116, 116, 116, 116, 0,
|
||||
0, 40, 0, 0, 43, 42, 0, 0, 44, 13, 40, 40, 42, 44, 45, 44, 45, 44, 45, 42, 42, 42, 43,
|
||||
43, 43, 100, 101, 104, 106, 102, 107, 105, 103, 0, 14, 14, 41, 40, 0, 0, 40, 0, 40, 0, 17, 15,
|
||||
0, 116, 43, 63, 35, 35, 35, 35, 116, 116, 0, 42, 42, 0, 0, 0, 10, 40, 40, 40, 40, 40, 40,
|
||||
40, 40, 40, 40, 40, 40, 0, 0, 44, 43, 40, 40, 40, 116, 0, 0,
|
||||
};
|
||||
#else
|
||||
const u8 gUnk_080B37A0[] = {
|
||||
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 9, 10, 9, 9, 9, 9, 9, 9, 11, 12, 11, 11, 11,
|
||||
11, 11, 11, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 12, 12, 12, 12, 12,
|
||||
12, 12, 12, 12, 12, 12, 12, 13, 14, 14, 15, 16, 15, 14, 17, 18, 19, 20, 20, 20, 20, 20, 20,
|
||||
20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 21, 21, 21, 21, 21, 21, 21,
|
||||
21, 21, 21, 21, 21, 22, 22, 22, 22, 22, 22, 22, 22, 23, 23, 24, 24, 24, 24, 0, 0, 25, 25,
|
||||
26, 0, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 0, 36, 36, 36, 36, 37, 38, 38, 39,
|
||||
39, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 41, 41, 40, 40,
|
||||
42, 41, 40, 43, 41, 40, 44, 41, 40, 45, 0, 0, 0, 0, 46, 0, 0, 41, 0, 0, 41, 40, 0,
|
||||
42, 42, 42, 0, 0, 0, 0, 46, 0, 0, 41, 0, 0, 41, 40, 0, 42, 42, 42, 0, 46, 0, 0,
|
||||
0, 0, 0, 41, 40, 0, 0, 41, 0, 43, 43, 43, 0, 0, 0, 0, 46, 0, 0, 41, 0, 0, 41,
|
||||
40, 0, 44, 44, 44, 0, 46, 0, 0, 0, 0, 0, 41, 40, 0, 0, 41, 0, 45, 45, 45, 0, 0,
|
||||
0, 0, 46, 0, 0, 0, 0, 0, 46, 0, 0, 46, 0, 0, 0, 0, 0, 0, 0, 46, 0, 0, 0,
|
||||
0, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 47, 47, 47, 0, 0, 40, 0, 40, 48, 49, 50, 51, 52, 52, 53,
|
||||
53, 54, 55, 0, 56, 57, 58, 59, 0, 0, 60, 60, 60, 60, 0, 0, 0, 0, 61, 61, 62, 9, 9,
|
||||
9, 9, 9, 9, 61, 61, 61, 9, 9, 61, 61, 61, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 63,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 0, 0, 42, 43, 44, 45, 0, 0, 0, 0, 64,
|
||||
65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 63, 0, 63, 83,
|
||||
83, 0, 0, 43, 43, 43, 0, 21, 21, 21, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
|
||||
16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 85, 85, 85, 85, 85, 85, 85, 85,
|
||||
85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 0, 0, 0, 86, 0, 0, 86, 0, 0,
|
||||
41, 0, 0, 41, 40, 0, 0, 0, 0, 0, 86, 0, 0, 86, 0, 0, 41, 0, 0, 41, 40, 0, 0,
|
||||
0, 0, 0, 86, 0, 0, 86, 0, 0, 41, 0, 0, 41, 40, 0, 0, 0, 0, 86, 86, 86, 86, 86,
|
||||
86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
|
||||
86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
|
||||
86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
|
||||
86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 10, 9, 10, 10, 13,
|
||||
0, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16,
|
||||
16, 0, 12, 0, 0, 1, 24, 87, 88, 89, 89, 90, 91, 92, 93, 94, 95, 96, 0, 0, 0, 13, 13,
|
||||
13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
|
||||
13, 13, 13, 13, 13, 12, 12, 12, 12, 12, 12, 97, 97, 97, 97, 98, 98, 0, 0, 99, 99, 99, 99,
|
||||
100, 0, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 112, 112, 112, 112, 0, 113, 46, 46, 114,
|
||||
114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 115, 115, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 43, 44, 45,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 116, 116, 116, 0, 0, 0, 0, 43, 42, 45, 44, 117, 0, 82,
|
||||
0, 0, 0, 0, 0, 0, 43, 42, 0, 0, 44, 0, 0, 45, 0, 0, 0, 0, 41, 40, 38, 38, 116,
|
||||
116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 90, 41, 41, 41, 12, 0, 12, 12, 41, 41, 116,
|
||||
0, 0, 10, 0, 0, 0, 0, 0, 0, 40, 0, 0, 0, 40, 0, 10, 10, 10, 10, 10, 10, 10, 40,
|
||||
40, 84, 84, 84, 84, 0, 61, 61, 61, 61, 61, 61, 61, 61, 62, 62, 62, 62, 62, 62, 62, 62, 9,
|
||||
9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 42, 10, 10, 10, 10, 10, 10,
|
||||
15, 10, 42, 13, 0, 42, 0, 0, 0, 0, 16, 16, 16, 16, 16, 16, 16, 16, 16, 9, 9, 9, 56,
|
||||
10, 42, 0, 10, 79, 77, 0, 0, 0, 0, 10, 0, 0, 0, 78, 78, 12, 12, 12, 12, 61, 61, 61,
|
||||
40, 12, 40, 10, 10, 10, 0, 0, 39, 39, 39, 39, 39, 39, 38, 38, 52, 52, 12, 55, 0, 0, 0,
|
||||
0, 0, 54, 0, 0, 0, 0, 40, 53, 53, 40, 55, 12, 0, 12, 12, 12, 12, 12, 54, 13, 40, 0,
|
||||
0, 0, 52, 52, 52, 10, 10, 0, 0, 0, 0, 40, 15, 15, 51, 16, 10, 10, 16, 16, 10, 10, 10,
|
||||
10, 0, 0, 15, 9, 14, 15, 14, 15, 15, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 116, 116,
|
||||
116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 15, 40, 15, 40, 40, 15, 12, 12, 12, 12, 12, 25,
|
||||
40, 40, 40, 0, 16, 16, 116, 0, 0, 12, 45, 0, 40, 40, 43, 25, 0, 10, 0, 40, 0, 43, 43,
|
||||
43, 0, 42, 42, 42, 42, 0, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 44, 42, 42, 0, 38,
|
||||
38, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 83, 0, 0, 0, 0, 38, 38, 40, 12, 12, 12, 12,
|
||||
12, 12, 12, 12, 12, 12, 12, 41, 41, 38, 38, 12, 12, 41, 41, 12, 12, 116, 116, 116, 116, 116, 0,
|
||||
0, 40, 0, 0, 43, 42, 0, 0, 44, 13, 40, 40, 42, 44, 45, 44, 45, 44, 45, 42, 42, 42, 43,
|
||||
43, 43, 100, 101, 104, 106, 102, 107, 105, 103, 0, 14, 14, 41, 40, 41, 41, 40, 41, 40, 41, 17, 15,
|
||||
0, 116, 43, 63, 35, 35, 35, 35, 116, 116, 0, 42, 42, 0, 0, 0, 10, 40, 40, 40, 40, 40, 40,
|
||||
40, 40, 40, 40, 40, 40, 0, 0, 44, 43, 40, 40, 40, 116, 0, 0,
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
+171
-6
@@ -25,10 +25,9 @@ typedef struct {
|
||||
extern u8 gUnk_03003DE0;
|
||||
extern u8 gzHeap[0x1000];
|
||||
extern u32 gUnk_0201AEE0[0x800];
|
||||
extern u8 gUnk_080CA11C[];
|
||||
extern s16 gUnk_02018EE0[];
|
||||
|
||||
extern void (*gUnk_080C9CAC[])(void);
|
||||
extern void (*const gUnk_080C9CAC[])(void);
|
||||
|
||||
static void StoreKeyInput(Input* input, u32 keyInput);
|
||||
void ClearOAM(void);
|
||||
@@ -76,7 +75,7 @@ void sub_0801E82C(void);
|
||||
extern void* GetRoomProperty(u32, u32, u32);
|
||||
|
||||
extern u8 gMapData;
|
||||
extern const DungeonLayout** gUnk_080C9C50[];
|
||||
extern const DungeonLayout** const gUnk_080C9C50[];
|
||||
extern u8 gMapDataBottomSpecial[];
|
||||
|
||||
u32 sub_0801DF10(const DungeonLayout* lyt);
|
||||
@@ -480,13 +479,13 @@ void DrawDungeonFeatures(u32 floor, void* data, u32 size) {
|
||||
}
|
||||
}
|
||||
|
||||
u32 sub_0801DF10(const DungeonLayout* lyt) {
|
||||
u32 sub_0801DF10(const DungeonLayout* layout) {
|
||||
u32 offset;
|
||||
|
||||
if (lyt->unk_3 == 1)
|
||||
if (layout->unk_3 == 1)
|
||||
offset = 0x300;
|
||||
else
|
||||
offset = GetFlagBankOffset(lyt->area);
|
||||
offset = GetFlagBankOffset(layout->area);
|
||||
return offset;
|
||||
}
|
||||
|
||||
@@ -898,6 +897,172 @@ void sub_0801E8D4(void) {
|
||||
|
||||
ASM_FUNC("asm/non_matching/common/sub_0801E99C.inc", u32 sub_0801E99C(u32 a1));
|
||||
|
||||
const struct_080C9C6C gUnk_080C9C6C[] = {
|
||||
{ 1, 2, 2 }, { 3, 3, 3 }, { 4, 3, 0 }, { 3, 5, 5 }, { 3, 2, 2 }, { 5, 7, 7 }, { 5, 5, 5 }, { 1, 3, 3 },
|
||||
{ 1, 3, 3 }, { 1, 3, 3 }, { 1, 3, 3 }, { 1, 3, 3 }, { 1, 3, 3 }, { 1, 3, 3 }, { 1, 3, 3 }, { 1, 3, 3 },
|
||||
};
|
||||
|
||||
void (*const gUnk_080C9CAC[])(void) = {
|
||||
sub_0801E02C,
|
||||
sub_0801E044,
|
||||
sub_0801E074,
|
||||
sub_0801E0A0,
|
||||
};
|
||||
|
||||
// TODO merge
|
||||
#ifdef JP
|
||||
const struct_080C9CBC gUnk_080C9CBC[] = {
|
||||
{ 15, 44, 45, 8, 0, 0, 0, 0 }, { 4, 8, 1, 0, 0, 1, 2, 0 }, { 4, 9, 1, 0, 0, 2, 2, 0 },
|
||||
{ 4, 10, 1, 0, 0, 3, 2, 0 }, { 4, 10, 1, 0, 0, 3, 2, 0 }, { 4, 9, 1, 0, 0, 2, 2, 0 },
|
||||
{ 4, 13, 2, 0, 0, 6, 2, 0 }, { 4, 14, 2, 0, 0, 7, 2, 0 }, { 4, 15, 2, 0, 0, 8, 2, 0 },
|
||||
{ 4, 16, 3, 0, 0, 9, 2, 0 }, { 0, 18, 5, 8, 20, 11, 3, 2 }, { 0, 18, 5, 8, 77, 11, 0, 4 },
|
||||
{ 0, 18, 5, 8, 65, 11, 2, 5 }, { 0, 18, 5, 8, 7, 11, 1, 3 }, { 0, 18, 5, 8, 87, 11, 2, 0 },
|
||||
{ 0, 18, 5, 8, 92, 11, 2, 8 }, { 0, 18, 5, 8, 37, 11, 0, 3 }, { 0, 18, 5, 8, 55, 11, 0, 5 },
|
||||
{ 0, 18, 5, 8, 62, 11, 2, 5 }, { 0, 19, 5, 8, 63, 12, 0, 5 }, { 0, 19, 5, 8, 88, 12, 3, 4 },
|
||||
{ 0, 19, 5, 8, 66, 12, 2, 5 }, { 0, 19, 5, 8, 10, 12, 3, 2 }, { 0, 20, 5, 8, 70, 13, 2, 6 },
|
||||
{ 0, 19, 5, 8, 42, 12, 0, 5 }, { 0, 19, 5, 8, 38, 12, 0, 3 }, { 0, 19, 5, 8, 68, 12, 2, 6 },
|
||||
{ 0, 20, 5, 8, 76, 13, 0, 4 }, { 0, 20, 5, 8, 91, 13, 3, 4 }, { 0, 20, 5, 8, 67, 13, 2, 5 },
|
||||
{ 0, 20, 5, 8, 43, 13, 3, 5 }, { 0, 20, 5, 8, 41, 13, 0, 7 }, { 0, 20, 5, 8, 36, 13, 0, 3 },
|
||||
{ 0, 20, 5, 8, 50, 13, 2, 7 }, { 1, 21, 6, 8, 39, 14, 0, 7 }, { 1, 21, 6, 8, 69, 14, 2, 6 },
|
||||
{ 1, 21, 6, 8, 72, 14, 2, 6 }, { 1, 22, 6, 8, 82, 15, 2, 4 }, { 1, 22, 6, 8, 84, 15, 2, 4 },
|
||||
{ 1, 21, 6, 8, 56, 14, 2, 5 }, { 1, 21, 6, 8, 78, 14, 2, 5 }, { 1, 21, 6, 8, 81, 14, 2, 4 },
|
||||
{ 1, 21, 6, 8, 83, 14, 2, 4 }, { 1, 21, 6, 8, 85, 14, 2, 4 }, { 1, 21, 6, 8, 90, 14, 2, 4 },
|
||||
{ 1, 22, 6, 8, 57, 15, 0, 5 }, { 1, 22, 6, 8, 71, 15, 2, 6 }, { 1, 22, 6, 8, 86, 15, 2, 4 },
|
||||
{ 1, 22, 6, 8, 79, 15, 2, 5 }, { 1, 22, 6, 8, 89, 15, 2, 4 }, { 1, 22, 6, 8, 58, 15, 0, 5 },
|
||||
{ 1, 22, 6, 8, 80, 15, 2, 4 }, { 2, 23, 7, 8, 40, 16, 1, 7 }, { 2, 23, 7, 8, 46, 16, 0, 5 },
|
||||
{ 2, 23, 7, 8, 13, 16, 3, 2 }, { 2, 23, 7, 8, 16, 16, 1, 2 }, { 2, 23, 7, 8, 19, 16, 3, 2 },
|
||||
{ 2, 23, 7, 8, 23, 16, 3, 2 }, { 2, 23, 7, 8, 47, 16, 3, 7 }, { 2, 23, 7, 8, 2, 16, 1, 3 },
|
||||
{ 2, 23, 7, 8, 5, 16, 1, 3 }, { 2, 23, 7, 8, 9, 16, 1, 3 }, { 2, 23, 7, 8, 75, 16, 3, 7 },
|
||||
{ 2, 23, 7, 8, 45, 16, 1, 5 }, { 2, 23, 7, 8, 51, 16, 2, 5 }, { 2, 23, 7, 8, 59, 16, 3, 5 },
|
||||
{ 2, 23, 7, 8, 64, 16, 3, 5 }, { 2, 24, 7, 8, 11, 17, 3, 2 }, { 2, 24, 7, 8, 14, 17, 3, 2 },
|
||||
{ 2, 24, 7, 8, 17, 17, 3, 2 }, { 2, 24, 7, 8, 21, 17, 3, 2 }, { 2, 24, 7, 8, 24, 17, 1, 2 },
|
||||
{ 2, 24, 7, 8, 48, 17, 1, 7 }, { 2, 24, 7, 8, 3, 17, 1, 3 }, { 2, 24, 7, 8, 6, 17, 1, 3 },
|
||||
{ 2, 24, 7, 8, 73, 17, 3, 7 }, { 2, 24, 7, 8, 49, 17, 1, 7 }, { 2, 24, 7, 8, 52, 17, 2, 5 },
|
||||
{ 2, 24, 7, 8, 60, 17, 3, 5 }, { 2, 25, 7, 8, 12, 18, 3, 2 }, { 2, 25, 7, 8, 15, 18, 3, 2 },
|
||||
{ 2, 25, 7, 8, 18, 18, 3, 2 }, { 2, 25, 7, 8, 22, 18, 3, 2 }, { 2, 25, 7, 8, 25, 18, 3, 2 },
|
||||
{ 2, 25, 7, 8, 1, 18, 1, 3 }, { 2, 25, 7, 8, 4, 18, 1, 3 }, { 2, 25, 7, 8, 8, 18, 1, 3 },
|
||||
{ 2, 25, 7, 8, 74, 18, 3, 7 }, { 2, 25, 7, 8, 44, 18, 1, 5 }, { 2, 25, 7, 8, 53, 18, 2, 5 },
|
||||
{ 2, 25, 7, 8, 54, 18, 2, 5 }, { 2, 25, 7, 8, 61, 18, 3, 5 }, { 2, 23, 7, 8, 26, 16, 3, 2 },
|
||||
{ 2, 24, 7, 8, 27, 17, 3, 2 }, { 2, 25, 7, 8, 28, 18, 3, 2 }, { 2, 23, 7, 8, 29, 16, 3, 2 },
|
||||
{ 2, 24, 7, 8, 30, 17, 1, 2 }, { 2, 25, 7, 8, 31, 18, 3, 2 }, { 2, 24, 7, 8, 32, 17, 3, 2 },
|
||||
{ 2, 24, 7, 8, 33, 17, 1, 2 }, { 2, 25, 7, 8, 34, 18, 3, 2 }, { 4, 26, 1, 8, 0, 1, 0, 0 },
|
||||
{ 4, 27, 1, 8, 0, 2, 0, 0 }, { 4, 28, 1, 8, 0, 3, 0, 0 }, { 4, 28, 1, 8, 0, 3, 0, 0 },
|
||||
{ 4, 27, 1, 8, 0, 2, 0, 0 }, { 4, 31, 2, 8, 0, 6, 0, 0 }, { 4, 32, 2, 8, 0, 7, 0, 0 },
|
||||
{ 4, 33, 2, 8, 0, 8, 0, 0 }, { 4, 34, 3, 8, 0, 9, 0, 0 }, { 0, 36, 5, 8, 0, 11, 0, 0 },
|
||||
{ 0, 37, 5, 8, 0, 12, 0, 0 }, { 0, 38, 5, 8, 0, 13, 0, 0 }, { 1, 39, 6, 8, 0, 14, 0, 0 },
|
||||
{ 1, 40, 6, 8, 0, 15, 0, 0 }, { 2, 41, 7, 8, 0, 16, 0, 0 }, { 2, 42, 7, 8, 0, 17, 0, 0 },
|
||||
{ 2, 43, 7, 8, 0, 18, 0, 0 },
|
||||
};
|
||||
|
||||
#else
|
||||
#ifdef EU
|
||||
const struct_080C9CBC gUnk_080C9CBC[] = {
|
||||
{ 15, 44, 45, 8, 0, 0, 0, 0 }, { 4, 8, 1, 0, 0, 1, 2, 0 }, { 4, 9, 1, 0, 0, 2, 2, 0 },
|
||||
{ 4, 10, 1, 0, 0, 3, 2, 0 }, { 4, 10, 1, 0, 0, 3, 2, 0 }, { 4, 9, 1, 0, 0, 2, 2, 0 },
|
||||
{ 4, 13, 2, 0, 0, 6, 2, 0 }, { 4, 14, 2, 0, 0, 7, 2, 0 }, { 4, 15, 2, 0, 0, 8, 2, 0 },
|
||||
{ 4, 16, 3, 0, 0, 9, 2, 0 }, { 0, 18, 5, 8, 20, 11, 3, 2 }, { 0, 18, 5, 8, 77, 11, 0, 4 },
|
||||
{ 0, 18, 5, 8, 65, 11, 2, 5 }, { 0, 18, 5, 8, 7, 11, 1, 3 }, { 0, 18, 5, 8, 87, 11, 2, 0 },
|
||||
{ 0, 18, 5, 8, 92, 11, 2, 8 }, { 0, 18, 5, 8, 37, 11, 0, 3 }, { 0, 18, 5, 8, 55, 11, 0, 5 },
|
||||
{ 0, 18, 5, 8, 62, 11, 2, 5 }, { 0, 19, 5, 8, 63, 12, 0, 5 }, { 0, 19, 5, 8, 88, 12, 3, 4 },
|
||||
{ 0, 19, 5, 8, 66, 12, 2, 5 }, { 0, 19, 5, 8, 10, 12, 3, 2 }, { 0, 20, 5, 8, 70, 13, 2, 6 },
|
||||
{ 0, 19, 5, 8, 42, 12, 0, 5 }, { 0, 19, 5, 8, 38, 12, 0, 3 }, { 0, 19, 5, 8, 68, 12, 2, 6 },
|
||||
{ 0, 20, 5, 8, 76, 13, 0, 4 }, { 0, 20, 5, 8, 91, 13, 3, 4 }, { 0, 20, 5, 8, 67, 13, 2, 5 },
|
||||
{ 0, 20, 5, 8, 43, 13, 3, 5 }, { 0, 20, 5, 8, 41, 13, 1, 7 }, { 0, 20, 5, 8, 36, 13, 0, 3 },
|
||||
{ 0, 20, 5, 8, 50, 13, 2, 7 }, { 1, 21, 6, 8, 39, 14, 0, 7 }, { 1, 21, 6, 8, 69, 14, 2, 6 },
|
||||
{ 1, 21, 6, 8, 72, 14, 2, 6 }, { 1, 22, 6, 8, 82, 15, 2, 4 }, { 1, 22, 6, 8, 84, 15, 2, 4 },
|
||||
{ 1, 21, 6, 8, 56, 14, 2, 5 }, { 1, 21, 6, 8, 78, 14, 2, 5 }, { 1, 21, 6, 8, 81, 14, 2, 4 },
|
||||
{ 1, 21, 6, 8, 83, 14, 2, 4 }, { 1, 21, 6, 8, 85, 14, 2, 4 }, { 1, 21, 6, 8, 90, 14, 2, 4 },
|
||||
{ 1, 22, 6, 8, 57, 15, 0, 5 }, { 1, 22, 6, 8, 71, 15, 2, 6 }, { 1, 22, 6, 8, 86, 15, 2, 4 },
|
||||
{ 1, 22, 6, 8, 79, 15, 2, 5 }, { 1, 22, 6, 8, 89, 15, 3, 4 }, { 1, 22, 6, 8, 58, 15, 0, 5 },
|
||||
{ 1, 22, 6, 8, 80, 15, 2, 4 }, { 2, 23, 7, 8, 40, 16, 1, 7 }, { 2, 23, 7, 8, 46, 16, 0, 5 },
|
||||
{ 2, 23, 7, 8, 13, 16, 3, 2 }, { 2, 23, 7, 8, 16, 16, 1, 2 }, { 2, 23, 7, 8, 19, 16, 3, 2 },
|
||||
{ 2, 23, 7, 8, 23, 16, 3, 2 }, { 2, 23, 7, 8, 47, 16, 3, 7 }, { 2, 23, 7, 8, 2, 16, 1, 3 },
|
||||
{ 2, 23, 7, 8, 5, 16, 1, 3 }, { 2, 23, 7, 8, 9, 16, 1, 3 }, { 2, 23, 7, 8, 75, 16, 3, 7 },
|
||||
{ 2, 23, 7, 8, 45, 16, 1, 5 }, { 2, 23, 7, 8, 51, 16, 2, 5 }, { 2, 23, 7, 8, 59, 16, 1, 5 },
|
||||
{ 2, 23, 7, 8, 64, 16, 1, 5 }, { 2, 24, 7, 8, 11, 17, 3, 2 }, { 2, 24, 7, 8, 14, 17, 3, 2 },
|
||||
{ 2, 24, 7, 8, 17, 17, 3, 2 }, { 2, 24, 7, 8, 21, 17, 3, 2 }, { 2, 24, 7, 8, 24, 17, 1, 2 },
|
||||
{ 2, 24, 7, 8, 48, 17, 3, 7 }, { 2, 24, 7, 8, 3, 17, 1, 3 }, { 2, 24, 7, 8, 6, 17, 1, 3 },
|
||||
{ 2, 24, 7, 8, 73, 17, 3, 7 }, { 2, 24, 7, 8, 49, 17, 1, 7 }, { 2, 24, 7, 8, 52, 17, 2, 5 },
|
||||
{ 2, 24, 7, 8, 60, 17, 3, 5 }, { 2, 25, 7, 8, 12, 18, 3, 2 }, { 2, 25, 7, 8, 15, 18, 3, 2 },
|
||||
{ 2, 25, 7, 8, 18, 18, 3, 2 }, { 2, 25, 7, 8, 22, 18, 3, 2 }, { 2, 25, 7, 8, 25, 18, 3, 2 },
|
||||
{ 2, 25, 7, 8, 1, 18, 1, 3 }, { 2, 25, 7, 8, 4, 18, 1, 3 }, { 2, 25, 7, 8, 8, 18, 1, 3 },
|
||||
{ 2, 25, 7, 8, 74, 18, 3, 7 }, { 2, 25, 7, 8, 44, 18, 1, 5 }, { 2, 25, 7, 8, 53, 18, 2, 5 },
|
||||
{ 2, 25, 7, 8, 54, 18, 2, 5 }, { 2, 25, 7, 8, 61, 18, 1, 5 }, { 2, 23, 7, 8, 26, 16, 3, 2 },
|
||||
{ 2, 24, 7, 8, 27, 17, 3, 2 }, { 2, 25, 7, 8, 28, 18, 3, 2 }, { 2, 23, 7, 8, 29, 16, 3, 2 },
|
||||
{ 2, 24, 7, 8, 30, 17, 1, 2 }, { 2, 25, 7, 8, 31, 18, 3, 2 }, { 2, 24, 7, 8, 32, 17, 3, 2 },
|
||||
{ 2, 24, 7, 8, 33, 17, 1, 2 }, { 2, 25, 7, 8, 34, 18, 3, 2 }, { 4, 26, 1, 8, 0, 1, 0, 0 },
|
||||
{ 4, 27, 1, 8, 0, 2, 0, 0 }, { 4, 28, 1, 8, 0, 3, 0, 0 }, { 4, 28, 1, 8, 0, 3, 0, 0 },
|
||||
{ 4, 27, 1, 8, 0, 2, 0, 0 }, { 4, 31, 2, 8, 0, 6, 0, 0 }, { 4, 32, 2, 8, 0, 7, 0, 0 },
|
||||
{ 4, 33, 2, 8, 0, 8, 0, 0 }, { 4, 34, 3, 8, 0, 9, 0, 0 }, { 0, 36, 5, 8, 0, 11, 0, 0 },
|
||||
{ 0, 37, 5, 8, 0, 12, 0, 0 }, { 0, 38, 5, 8, 0, 13, 0, 0 }, { 1, 39, 6, 8, 0, 14, 0, 0 },
|
||||
{ 1, 40, 6, 8, 0, 15, 0, 0 }, { 2, 41, 7, 8, 0, 16, 0, 0 }, { 2, 42, 7, 8, 0, 17, 0, 0 },
|
||||
{ 2, 43, 7, 8, 0, 18, 0, 0 },
|
||||
};
|
||||
#else
|
||||
const struct_080C9CBC gUnk_080C9CBC[] = {
|
||||
{ 15, 44, 45, 8, 0, 0, 0, 0 }, { 4, 8, 1, 0, 0, 1, 2, 0 }, { 4, 9, 1, 0, 0, 2, 2, 0 },
|
||||
{ 4, 10, 1, 0, 0, 3, 2, 0 }, { 4, 10, 1, 0, 0, 3, 2, 0 }, { 4, 9, 1, 0, 0, 2, 2, 0 },
|
||||
{ 4, 13, 2, 0, 0, 6, 2, 0 }, { 4, 14, 2, 0, 0, 7, 2, 0 }, { 4, 15, 2, 0, 0, 8, 2, 0 },
|
||||
{ 4, 16, 3, 0, 0, 9, 2, 0 }, { 0, 18, 5, 8, 20, 11, 2, 2 }, { 0, 18, 5, 8, 77, 11, 0, 4 },
|
||||
{ 0, 18, 5, 8, 65, 11, 2, 5 }, { 0, 18, 5, 8, 7, 11, 1, 3 }, { 0, 18, 5, 8, 87, 11, 2, 0 },
|
||||
{ 0, 18, 5, 8, 92, 11, 2, 8 }, { 0, 18, 5, 8, 37, 11, 0, 3 }, { 0, 18, 5, 8, 55, 11, 0, 5 },
|
||||
{ 0, 18, 5, 8, 62, 11, 2, 5 }, { 0, 19, 5, 8, 63, 12, 0, 5 }, { 0, 19, 5, 8, 88, 12, 2, 4 },
|
||||
{ 0, 19, 5, 8, 66, 12, 2, 5 }, { 0, 19, 5, 8, 10, 12, 2, 2 }, { 0, 20, 5, 8, 70, 13, 2, 6 },
|
||||
{ 0, 19, 5, 8, 42, 12, 0, 5 }, { 0, 19, 5, 8, 38, 12, 0, 3 }, { 0, 19, 5, 8, 68, 12, 2, 6 },
|
||||
{ 0, 20, 5, 8, 76, 13, 0, 4 }, { 0, 20, 5, 8, 91, 13, 2, 4 }, { 0, 20, 5, 8, 67, 13, 2, 5 },
|
||||
{ 0, 20, 5, 8, 43, 13, 2, 5 }, { 0, 20, 5, 8, 41, 13, 0, 7 }, { 0, 20, 5, 8, 36, 13, 0, 3 },
|
||||
{ 0, 20, 5, 8, 50, 13, 2, 7 }, { 1, 21, 6, 8, 39, 14, 0, 7 }, { 1, 21, 6, 8, 69, 14, 2, 6 },
|
||||
{ 1, 21, 6, 8, 72, 14, 2, 6 }, { 1, 22, 6, 8, 82, 15, 2, 4 }, { 1, 22, 6, 8, 84, 15, 2, 4 },
|
||||
{ 1, 21, 6, 8, 56, 14, 2, 5 }, { 1, 21, 6, 8, 78, 14, 2, 5 }, { 1, 21, 6, 8, 81, 14, 2, 4 },
|
||||
{ 1, 21, 6, 8, 83, 14, 2, 4 }, { 1, 21, 6, 8, 85, 14, 2, 4 }, { 1, 21, 6, 8, 90, 14, 2, 4 },
|
||||
{ 1, 22, 6, 8, 57, 15, 0, 5 }, { 1, 22, 6, 8, 71, 15, 2, 6 }, { 1, 22, 6, 8, 86, 15, 2, 4 },
|
||||
{ 1, 22, 6, 8, 79, 15, 2, 5 }, { 1, 22, 6, 8, 89, 15, 2, 4 }, { 1, 22, 6, 8, 58, 15, 0, 5 },
|
||||
{ 1, 22, 6, 8, 80, 15, 2, 4 }, { 2, 23, 7, 8, 40, 16, 1, 7 }, { 2, 23, 7, 8, 46, 16, 0, 5 },
|
||||
{ 2, 23, 7, 8, 13, 16, 2, 2 }, { 2, 23, 7, 8, 16, 16, 1, 2 }, { 2, 23, 7, 8, 19, 16, 2, 2 },
|
||||
{ 2, 23, 7, 8, 23, 16, 2, 2 }, { 2, 23, 7, 8, 47, 16, 2, 7 }, { 2, 23, 7, 8, 2, 16, 1, 3 },
|
||||
{ 2, 23, 7, 8, 5, 16, 1, 3 }, { 2, 23, 7, 8, 9, 16, 1, 3 }, { 2, 23, 7, 8, 75, 16, 2, 7 },
|
||||
{ 2, 23, 7, 8, 45, 16, 1, 5 }, { 2, 23, 7, 8, 51, 16, 2, 5 }, { 2, 23, 7, 8, 59, 16, 2, 5 },
|
||||
{ 2, 23, 7, 8, 64, 16, 2, 5 }, { 2, 24, 7, 8, 11, 17, 2, 2 }, { 2, 24, 7, 8, 14, 17, 2, 2 },
|
||||
{ 2, 24, 7, 8, 17, 17, 2, 2 }, { 2, 24, 7, 8, 21, 17, 2, 2 }, { 2, 24, 7, 8, 24, 17, 1, 2 },
|
||||
{ 2, 24, 7, 8, 48, 17, 1, 7 }, { 2, 24, 7, 8, 3, 17, 1, 3 }, { 2, 24, 7, 8, 6, 17, 1, 3 },
|
||||
{ 2, 24, 7, 8, 73, 17, 2, 7 }, { 2, 24, 7, 8, 49, 17, 1, 7 }, { 2, 24, 7, 8, 52, 17, 2, 5 },
|
||||
{ 2, 24, 7, 8, 60, 17, 2, 5 }, { 2, 25, 7, 8, 12, 18, 2, 2 }, { 2, 25, 7, 8, 15, 18, 2, 2 },
|
||||
{ 2, 25, 7, 8, 18, 18, 2, 2 }, { 2, 25, 7, 8, 22, 18, 2, 2 }, { 2, 25, 7, 8, 25, 18, 2, 2 },
|
||||
{ 2, 25, 7, 8, 1, 18, 1, 3 }, { 2, 25, 7, 8, 4, 18, 1, 3 }, { 2, 25, 7, 8, 8, 18, 1, 3 },
|
||||
{ 2, 25, 7, 8, 74, 18, 2, 7 }, { 2, 25, 7, 8, 44, 18, 1, 5 }, { 2, 25, 7, 8, 53, 18, 2, 5 },
|
||||
{ 2, 25, 7, 8, 54, 18, 2, 5 }, { 2, 25, 7, 8, 61, 18, 2, 5 }, { 2, 23, 7, 8, 26, 16, 2, 2 },
|
||||
{ 2, 24, 7, 8, 27, 17, 2, 2 }, { 2, 25, 7, 8, 28, 18, 2, 2 }, { 2, 23, 7, 8, 29, 16, 2, 2 },
|
||||
{ 2, 24, 7, 8, 30, 17, 1, 2 }, { 2, 25, 7, 8, 31, 18, 2, 2 }, { 2, 24, 7, 8, 32, 17, 2, 2 },
|
||||
{ 2, 24, 7, 8, 33, 17, 1, 2 }, { 2, 25, 7, 8, 34, 18, 2, 2 }, { 4, 26, 1, 8, 0, 1, 0, 0 },
|
||||
{ 4, 27, 1, 8, 0, 2, 0, 0 }, { 4, 28, 1, 8, 0, 3, 0, 0 }, { 4, 28, 1, 8, 0, 3, 0, 0 },
|
||||
{ 4, 27, 1, 8, 0, 2, 0, 0 }, { 4, 31, 2, 8, 0, 6, 0, 0 }, { 4, 32, 2, 8, 0, 7, 0, 0 },
|
||||
{ 4, 33, 2, 8, 0, 8, 0, 0 }, { 4, 34, 3, 8, 0, 9, 0, 0 }, { 0, 36, 5, 8, 0, 11, 0, 0 },
|
||||
{ 0, 37, 5, 8, 0, 12, 0, 0 }, { 0, 38, 5, 8, 0, 13, 0, 0 }, { 1, 39, 6, 8, 0, 14, 0, 0 },
|
||||
{ 1, 40, 6, 8, 0, 15, 0, 0 }, { 2, 41, 7, 8, 0, 16, 0, 0 }, { 2, 42, 7, 8, 0, 17, 0, 0 },
|
||||
{ 2, 43, 7, 8, 0, 18, 0, 0 },
|
||||
};
|
||||
#endif
|
||||
#endif
|
||||
|
||||
// For sub_080A4418
|
||||
// TODO these are gGlobalGfxAndPalettes offsets with the size of 0x80
|
||||
#ifdef EU
|
||||
const u32 gUnk_080CA06C[] = { 139744, 139744, 140256, 140768, 141280, 141792, 142304, 142816, 143840, 144864, 145888,
|
||||
146912, 147936, 148960, 149984, 151008, 152032, 153056, 154080, 155104, 156128, 157152,
|
||||
158176, 159200, 160224, 161248, 143328, 144352, 145376, 146400, 147424, 148448, 149472,
|
||||
150496, 151520, 152544, 153568, 154592, 155616, 156640, 157664, 158688, 159712, 160736 };
|
||||
#else
|
||||
const u32 gUnk_080CA06C[] = { 139808, 139808, 140320, 140832, 141344, 141856, 142368, 142880, 143904, 144928, 145952,
|
||||
146976, 148000, 149024, 150048, 151072, 152096, 153120, 154144, 155168, 156192, 157216,
|
||||
158240, 159264, 160288, 161312, 143392, 144416, 145440, 146464, 147488, 148512, 149536,
|
||||
150560, 151584, 152608, 153632, 154656, 155680, 156704, 157728, 158752, 159776, 160800 };
|
||||
#endif
|
||||
|
||||
// TODO maybe KinstoneFlag?
|
||||
const u8 gUnk_080CA11C[] = {
|
||||
24, 45, 53, 54, 55, 57, 60, 68, 70, 71, 78, 80, 83, 85, 86, 88, 95, 96, 0, 0,
|
||||
};
|
||||
|
||||
u32 sub_0801EA74(void) {
|
||||
s32 r = (s32)Random() % 18;
|
||||
u32 i;
|
||||
|
||||
@@ -0,0 +1,75 @@
|
||||
#include "area.h"
|
||||
#include "room.h"
|
||||
#include "roomid.h"
|
||||
|
||||
// clang-format off
|
||||
|
||||
const ScreenTransitionData gUnk_0813AA54 = { 1, { 0, 0, 0, 0 }, 0x98, 0xa8, 0, AREA_CAVE_OF_FLAMES, ROOM_CAVE_OF_FLAMES_MAIN_CART, 1, 2, 0, 0 };
|
||||
const ScreenTransitionData gUnk_0813AA68 = { 1, { 0, 0, 0, 0 }, 0xa8, 0xb8, 0, AREA_DEEPWOOD_SHRINE, ROOM_DEEPWOOD_SHRINE_ENTRANCE, 1, 2, 0, 0 };
|
||||
const ScreenTransitionData gUnk_0813AA7C = { 1, { 0, 0, 0, 0 }, 0x98, 0xa8, 0, AREA_CAVE_OF_FLAMES, ROOM_CAVE_OF_FLAMES_MAIN_CART, 1, 2, 0, 0 };
|
||||
const ScreenTransitionData gUnk_0813AA90 = { 1, { 0, 0, 0, 0 }, 0x78, 0xa8, 0, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_CENTER_STAIRS_1F, 1, 2, 0, 0 };
|
||||
const ScreenTransitionData gUnk_0813AAA4 = { 1, { 0, 0, 0, 0 }, 0x108, 0xf8, 0, AREA_TEMPLE_OF_DROPLETS, ROOM_TEMPLE_OF_DROPLETS_ENTRANCE, 1, 2, 0, 0 };
|
||||
const ScreenTransitionData gUnk_0813AAB8 = { 1, { 0, 0, 0, 0 }, 0x238, 0x58, 0, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_ENTRANCE_ROOM, 1, 2, 6, 0 };
|
||||
const ScreenTransitionData gUnk_0813AACC = { 1, { 0, 0, 0, 0 }, 0x198, 0x1d8, 0, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_1F_ENTRANCE, 1, 2, 0, 0 };
|
||||
const ScreenTransitionData gUnk_0813AAE0 = { 1, { 0, 0, 0, 0 }, 0x88, 0x78, 0, AREA_ROYAL_CRYPT, ROOM_ROYAL_CRYPT_ENTRANCE, 1, 2, 0, 0 };
|
||||
const ScreenTransitionData gUnk_0813AB08 = { 1, { 0, 0, 0, 0 }, 0x98, 0xa8, 0, AREA_CAVE_OF_FLAMES, ROOM_CAVE_OF_FLAMES_MAIN_CART, 1, 2, 0, 0 };
|
||||
const ScreenTransitionData gUnk_0813AAF4 = { 1, { 0, 0, 0, 0 }, 0x98, 0xa8, 0, AREA_CAVE_OF_FLAMES, ROOM_CAVE_OF_FLAMES_MAIN_CART, 1, 2, 0, 0 };
|
||||
|
||||
const ScreenTransitionData* const gWallMasterScreenTransitions[] = {
|
||||
&gUnk_0813AA54, &gUnk_0813AA68, &gUnk_0813AA7C, &gUnk_0813AA90, &gUnk_0813AAA4,
|
||||
&gUnk_0813AAB8, &gUnk_0813AACC, &gUnk_0813AAE0, &gUnk_0813AB08, &gUnk_0813AAF4,
|
||||
};
|
||||
|
||||
const ScreenTransitionData unusedScreenTransition = { 1, { 0, 0, 0, 0 }, 0x48, 0x68, 0, AREA_CASTLE_GARDEN, ROOM_CASTLE_GARDEN_MAIN, 1, 0, 2, 0 };
|
||||
|
||||
const ScreenTransitionData gUnk_0813AB58 = { 1, { 0, 0, 0, 0 }, 0x108, 0xc8, 0, AREA_TEMPLE_OF_DROPLETS, ROOM_TEMPLE_OF_DROPLETS_ENTRANCE, 2, 2, 4, 0 };
|
||||
const ScreenTransitionData gUnk_0813AB6C = { 1, { 0, 0, 0, 0 }, 0x198, 0x68, 0, AREA_RUINS, ROOM_RUINS_FORTRESS_ENTRANCE, 1, 0, 4, 0 };
|
||||
const ScreenTransitionData gUnk_0813AB80 = { 1, { 0, 0, 0, 0 }, 0xc8, 0x48, 0, AREA_HYRULE_CASTLE, ROOM_HYRULE_CASTLE_4, 1, 0, 4, 0 };
|
||||
const ScreenTransitionData gUnk_0813AB94 = { 1, { 0, 0, 0, 0 }, 0xb8, 0x5c, 0, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_MAZAAL, 1, 1, 4, 0 };
|
||||
const ScreenTransitionData gUnk_0813ABA8 = { 1, { 0, 0, 0, 0 }, 0xb8, 0x78, 0, AREA_FORTRESS_OF_WINDS, ROOM_FORTRESS_OF_WINDS_MAZAAL, 1, 0, 0, 0 };
|
||||
const ScreenTransitionData gUnk_0813ABBC = { 1, { 0, 0, 0, 0 }, 0xf0, 0xbc, 0, AREA_ROYAL_VALLEY, ROOM_ROYAL_VALLEY_MAIN, 1, 0, 4, 0 };
|
||||
const ScreenTransitionData gUnk_0813ABD0 = { 1, { 0, 0, 0, 0 }, 0x1d8, 0xd8, 0, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_GYORG_TORNADO, 2, 2, 4, 0 };
|
||||
const ScreenTransitionData gUnk_0813ABE4 = { 1, { 0, 0, 0, 0 }, 0x198, 0x168, 0, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_1F_ENTRANCE, 1, 0, 4, 0 };
|
||||
#if defined(EU) || defined(JP)
|
||||
const ScreenTransitionData gUnk_0813ABF8 = { 1, { 0, 0, 0, 0 }, 0x128, 0x1a8, 0, AREA_CASTLE_GARDEN, ROOM_CASTLE_GARDEN_MAIN, 1, 0, 0, 0 };
|
||||
#else
|
||||
const ScreenTransitionData gUnk_0813ABF8 = { 1, { 0, 0, 0, 0 }, 0x128, 0x1b0, 0, AREA_CASTLE_GARDEN, ROOM_CASTLE_GARDEN_MAIN, 1, 0, 0, 0 };
|
||||
#endif
|
||||
const ScreenTransitionData gUnk_0813AC0C = { 1, { 0, 0, 0, 0 }, 0xb0, 0xd8, 0, AREA_VAATI_2, ROOM_VAATI_2_0, 2, 0, 0, 0 };
|
||||
const ScreenTransitionData gUnk_0813AC20 = { 1, { 0, 0, 0, 0 }, 0xa8, 0x78, 0, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_3F_TRIPLE_DARKNUT, 1, 0, 0, 0 };
|
||||
const ScreenTransitionData gUnk_0813AC34 = { 1, { 0, 0, 0, 0 }, 0xb0, 0x88, 0, AREA_VAATI_3, ROOM_VAATI_3_0, 1, 0, 0, 0 };
|
||||
const ScreenTransitionData gUnk_0813AC48 = { 1, { 0, 0, 0, 0 }, 0xb0, 0x88, 0, AREA_VAATI_3, ROOM_VAATI_3_0, 1, 1, 4, 0 };
|
||||
const ScreenTransitionData gUnk_0813AC5C = { 1, { 0, 0, 0, 0 }, 0xa8, 0x88, 0, AREA_DARK_HYRULE_CASTLE_OUTSIDE, ROOM_DARK_HYRULE_CASTLE_OUTSIDE_GARDEN, 1, 0, 6, 0 };
|
||||
const ScreenTransitionData gUnk_0813AC70 = { 1, { 0, 0, 0, 0 }, 0x0, 0x0, 0, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_1F_THRONE_ROOM, 1, 0, 4, 0 };
|
||||
const ScreenTransitionData gUnk_0813AC84 = { 1, { 0, 0, 0, 0 }, 0x0, 0x0, 0, AREA_HYRULE_CASTLE, ROOM_HYRULE_CASTLE_2, 1, 0, 4, 0 };
|
||||
const ScreenTransitionData gUnk_0813AC98 = { 1, { 0, 0, 0, 0 }, 0x0, 0x0, 0, AREA_DARK_HYRULE_CASTLE, ROOM_DARK_HYRULE_CASTLE_1F_ENTRANCE, 1, 0, 4, 0 };
|
||||
const ScreenTransitionData gUnk_0813ACAC = { 1, { 0, 0, 0, 0 }, 0x0, 0x0, 0, AREA_HYRULE_CASTLE, ROOM_HYRULE_CASTLE_0, 1, 0, 4, 0 };
|
||||
const ScreenTransitionData gUnk_0813ACC0 = { 1, { 0, 0, 0, 0 }, 0x0, 0x0, 0, AREA_HYRULE_CASTLE, ROOM_HYRULE_CASTLE_1, 1, 0, 4, 0 };
|
||||
const ScreenTransitionData gUnk_0813ACD4 = { 1, { 0, 0, 0, 0 }, 0x0, 0x0, 0, AREA_MINISH_WOODS, ROOM_MINISH_WOODS_MAIN, 1, 0, 4, 0 };
|
||||
const ScreenTransitionData gUnk_0813ACE8 = { 1, { 0, 0, 0, 0 }, 0x0, 0x0, 0, AREA_MT_CRENEL, ROOM_MT_CRENEL_TOP, 1, 0, 4, 0 };
|
||||
const ScreenTransitionData gUnk_0813ACFC = { 1, { 0, 0, 0, 0 }, 0xa8, 0x88, 0, AREA_SANCTUARY_ENTRANCE, ROOM_SANCTUARY_ENTRANCE_MAIN, 1, 0, 6, 0 };
|
||||
const ScreenTransitionData gUnk_0813AD10 = { 1, { 0, 0, 0, 0 }, 0x50, 0x38, 0, AREA_HOUSE_INTERIORS_1, ROOM_HOUSE_INTERIORS_1_INN_WEST_ROOM, 1, 0, 4, 0 };
|
||||
const ScreenTransitionData gUnk_0813AD24 = { 1, { 0, 0, 0, 0 }, 0x50, 0x38, 0, AREA_HOUSE_INTERIORS_1, ROOM_HOUSE_INTERIORS_1_INN_MIDDLE_ROOM, 1, 0, 4, 0 };
|
||||
const ScreenTransitionData gUnk_0813AD38 = { 1, { 0, 0, 0, 0 }, 0x60, 0x38, 0, AREA_HOUSE_INTERIORS_1, ROOM_HOUSE_INTERIORS_1_INN_EAST_ROOM, 1, 0, 4, 0 };
|
||||
const ScreenTransitionData gUnk_0813AD4C = { 1, { 0, 0, 0, 0 }, 0x78, 0x68, 0, AREA_HOUSE_INTERIORS_3, ROOM_HOUSE_INTERIORS_3_BORLOV_ENTRANCE, 1, 0, 0, 0 };
|
||||
const ScreenTransitionData gUnk_0813AD60 = { 1, { 0, 0, 0, 0 }, 0x98, 0x88, 0, AREA_SIMONS_SIMULATION, ROOM_SIMONS_SIMULATION_0, 1, 2, 4, 0 };
|
||||
const ScreenTransitionData gUnk_0813AD74 = { 1, { 0, 0, 0, 0 }, 0x50, 0x48, 0, AREA_HOUSE_INTERIORS_3, ROOM_HOUSE_INTERIORS_3_SIMON, 1, 0, 4, 0 };
|
||||
|
||||
const ScreenTransitionData gUnk_0813AD88[] = {
|
||||
{ 1, { 0, 0, 0, 0 }, 0x128, 0x188, 0, AREA_LAKE_HYLIA, ROOM_LAKE_HYLIA_MAIN, 1, 9, 4, 0},
|
||||
{ 1, { 0, 0, 0, 0 }, 0x190, 0x1c0, 0, AREA_CLOUD_TOPS, ROOM_CLOUD_TOPS_CLOUD_BOTTOMS, 1, 10, 4, 0},
|
||||
{ 1, { 0, 0, 0, 0 }, 0x1e8, 0x1f0, 0, AREA_CLOUD_TOPS, ROOM_CLOUD_TOPS_CLOUD_TOPS, 1, 10, 4, 0},
|
||||
{ 1, { 0, 0, 0, 0 }, 0x268, 0x58, 0, AREA_PALACE_OF_WINDS, ROOM_PALACE_OF_WINDS_ENTRANCE_ROOM, 1, 10, 6, 0},
|
||||
#if defined(EU)
|
||||
{ 1, { 0, 0, 0, 0 }, 0x200, 0x350, 0, AREA_PALACE_OF_WINDS_BOSS, ROOM_PALACE_OF_WINDS_BOSS_0, 2, 10, 4, 0},
|
||||
#else
|
||||
{ 1, { 0, 0, 0, 0 }, 0x200, 0x300, 0, AREA_PALACE_OF_WINDS_BOSS, ROOM_PALACE_OF_WINDS_BOSS_0, 2, 10, 4, 0},
|
||||
#endif
|
||||
};
|
||||
|
||||
const ScreenTransitionData gUnk_0813ADEC[] = {
|
||||
{ 1, { 0, 0, 0, 0 }, 0xb8, 0x58, 0, AREA_WIND_TRIBE_TOWER, ROOM_WIND_TRIBE_TOWER_ENTRANCE, 1, 0, 4, 0},
|
||||
{ 1, { 0, 0, 0, 0 }, 0x248, 0x108, 0, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_SOUTH_HYRULE_FIELD, 1, 0, 4, 0},
|
||||
};
|
||||
|
||||
// clang-format on
|
||||
@@ -1,6 +1,6 @@
|
||||
#include "transitions.h"
|
||||
#include "area.h"
|
||||
#include "roomid.h"
|
||||
#include "transitions.h"
|
||||
|
||||
// clang-format off
|
||||
|
||||
|
||||
+29
-6
@@ -5,19 +5,21 @@
|
||||
* @brief Debug task
|
||||
*/
|
||||
|
||||
#include "global.h"
|
||||
#include "sound.h"
|
||||
#include "common.h"
|
||||
#include "functions.h"
|
||||
#include "game.h"
|
||||
#include "main.h"
|
||||
#include "menu.h"
|
||||
#include "screen.h"
|
||||
#include "message.h"
|
||||
#include "game.h"
|
||||
#include "screen.h"
|
||||
#include "sound.h"
|
||||
|
||||
extern void (*const gUnk_08109A30[])(void);
|
||||
void sub_0805FA04(void);
|
||||
void sub_0805FA98(void);
|
||||
void sub_0805FBC4(void);
|
||||
|
||||
void DebugTask(void) {
|
||||
static void (*const gUnk_08109A30[])(void) = { sub_0805FA04, sub_0805FA98, sub_0805FBC4 };
|
||||
gUnk_08109A30[gMain.state]();
|
||||
}
|
||||
|
||||
@@ -44,7 +46,7 @@ void sub_0805FA04(void) {
|
||||
}
|
||||
|
||||
void sub_0805FA98(void) {
|
||||
int iVar1;
|
||||
s32 iVar1;
|
||||
|
||||
switch (gInput.newKeys) {
|
||||
case DPAD_UP:
|
||||
@@ -101,3 +103,24 @@ void sub_0805FA98(void) {
|
||||
void sub_0805FBC4(void) {
|
||||
SetTask(TASK_TITLE);
|
||||
}
|
||||
|
||||
extern const char gUnk_08109A58[];
|
||||
extern const char gUnk_08109A68[];
|
||||
extern const char gUnk_08109A78[];
|
||||
extern const char gUnk_08109A88[];
|
||||
extern const char gUnk_08109A98[];
|
||||
extern const char gUnk_08109AA8[];
|
||||
extern const char gUnk_08109AB8[];
|
||||
|
||||
const char* const* const unusedLanguageEnum[] = {
|
||||
(void*)gUnk_08109AB8, (void*)gUnk_08109AA8, (void*)gUnk_08109A98, (void*)gUnk_08109A88,
|
||||
(void*)gUnk_08109A78, (void*)gUnk_08109A68, (void*)gUnk_08109A58,
|
||||
};
|
||||
|
||||
const char gUnk_08109A58[] = " ITALIAN \0";
|
||||
const char gUnk_08109A68[] = " SPANISH \0";
|
||||
const char gUnk_08109A78[] = " GERMAN \0";
|
||||
const char gUnk_08109A88[] = " FRENCH \0";
|
||||
const char gUnk_08109A98[] = " PAL ENGLISH \0";
|
||||
const char gUnk_08109AA8[] = " USA ENGLISH \0";
|
||||
const char gUnk_08109AB8[] = " JAPANESE \0";
|
||||
|
||||
+63
-4
@@ -43,7 +43,7 @@ typedef struct {
|
||||
Gleerok_HeapStruct* unk_84;
|
||||
} GleerokEntity;
|
||||
|
||||
extern void (*const Gleerok_Functions[])(Entity*);
|
||||
extern void (*const Gleerok_Functions[])(GleerokEntity*);
|
||||
extern void (*const gUnk_080CD75C[])(GleerokEntity*);
|
||||
extern void (*const gUnk_080CD7B8[])(GleerokEntity*);
|
||||
extern void (*const gUnk_080CD7E4[])(GleerokEntity*);
|
||||
@@ -51,7 +51,6 @@ extern void (*const gUnk_080CD810[])(GleerokEntity*);
|
||||
extern void (*const gUnk_080CD828[])(GleerokEntity*);
|
||||
extern void (*const gUnk_080CD848[])(GleerokEntity*);
|
||||
|
||||
extern u8 gUnk_080CD774[];
|
||||
extern Gleerok_HeapStruct2 gUnk_080CD7C4[];
|
||||
extern u8 gUnk_080CD884[];
|
||||
extern u8 gUnk_080CD7F8[];
|
||||
@@ -81,8 +80,68 @@ extern bool32 sub_0802E7CC(Gleerok_HeapStruct* param_1, u32 param_2, u32 param_3
|
||||
extern bool32 sub_0802EA88(Gleerok_HeapStruct* param_1);
|
||||
extern bool32 sub_0802E768(Gleerok_HeapStruct* param_1);
|
||||
|
||||
void Gleerok(Entity* this) {
|
||||
Gleerok_Functions[GetNextFunction(this)](this);
|
||||
void Gleerok_OnTick(GleerokEntity* this);
|
||||
void Gleerok_OnDeath(GleerokEntity* this);
|
||||
void sub_0802D158(GleerokEntity* this);
|
||||
void sub_0802D170(GleerokEntity* this);
|
||||
void sub_0802D218(GleerokEntity* this);
|
||||
void sub_0802D258(GleerokEntity* this);
|
||||
void sub_0802D33C(GleerokEntity* this);
|
||||
void sub_0802D3B8(GleerokEntity* this);
|
||||
void sub_0802D86C(GleerokEntity* this);
|
||||
void sub_0802D650(GleerokEntity* this);
|
||||
|
||||
void (*const Gleerok_Functions[])(GleerokEntity*) = {
|
||||
Gleerok_OnTick,
|
||||
Gleerok_OnTick,
|
||||
(void (*)(GleerokEntity*))GenericKnockback,
|
||||
Gleerok_OnDeath,
|
||||
(void (*)(GleerokEntity*))GenericConfused,
|
||||
};
|
||||
void (*const gUnk_080CD75C[])(GleerokEntity*) = {
|
||||
sub_0802D158, sub_0802D170, sub_0802D170, sub_0802D218, sub_0802D258, sub_0802D33C,
|
||||
};
|
||||
const u8 gUnk_080CD774[] = {
|
||||
24, 3, 16, 0, 32, 1, 16, 2, 16, 3, 24, 0, 24, 1, 4, 3, 4, 2, 24, 0, 4, 3, 24, 1, 4, 2, 24, 0, 24, 1, 24, 0, 24, 1,
|
||||
24, 0, 24, 1, 4, 3, 4, 2, 24, 0, 24, 1, 4, 3, 4, 2, 24, 0, 24, 1, 4, 3, 4, 2, 4, 3, 4, 2, 24, 0, 24, 1, 255, 0,
|
||||
};
|
||||
void (*const gUnk_080CD7B8[])(GleerokEntity*) = {
|
||||
sub_0802D3B8,
|
||||
sub_0802D86C,
|
||||
sub_0802D650,
|
||||
};
|
||||
|
||||
/*
|
||||
remaining data:
|
||||
|
||||
extern void (*const gUnk_080CD7B8[])(GleerokEntity*);
|
||||
extern Gleerok_HeapStruct2 gUnk_080CD7C4[];
|
||||
extern void (*const gUnk_080CD7E4[])(GleerokEntity*);
|
||||
extern u8 gUnk_080CD7F8[];
|
||||
extern void (*const gUnk_080CD810[])(GleerokEntity*);
|
||||
extern void (*const gUnk_080CD828[])(GleerokEntity*);
|
||||
extern u8 gUnk_080CD840[];
|
||||
extern u8 gUnk_080CD844[];
|
||||
extern void (*const gUnk_080CD848[])(GleerokEntity*);
|
||||
|
||||
|
||||
extern u8 gUnk_080CD850[];
|
||||
extern u8 gUnk_080CD854[];
|
||||
|
||||
extern u8 gUnk_080CD858[];
|
||||
extern u8 gUnk_080CD85B[];
|
||||
extern u8 gUnk_080CD85E[];
|
||||
extern u8 gUnk_080CD861[];
|
||||
extern u8 gUnk_080CD864[];
|
||||
extern u8 gUnk_080CD867[];
|
||||
|
||||
extern const u8* gUnk_080CD86C[];
|
||||
extern const u8* gUnk_080CD878[];
|
||||
extern u8 gUnk_080CD884[];
|
||||
*/
|
||||
|
||||
void Gleerok(GleerokEntity* this) {
|
||||
Gleerok_Functions[GetNextFunction(super)](this);
|
||||
}
|
||||
|
||||
void Gleerok_OnDeath(GleerokEntity* this) {
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
#define NENT_DEPRECATED
|
||||
#include "global.h"
|
||||
#include "entity.h"
|
||||
#include "enemy.h"
|
||||
#include "sound.h"
|
||||
#include "asm.h"
|
||||
#include "functions.h"
|
||||
#include "collision.h"
|
||||
#include "enemy.h"
|
||||
#include "enemy/gyorg.h"
|
||||
#include "entity.h"
|
||||
#include "functions.h"
|
||||
#include "sound.h"
|
||||
|
||||
extern u8 gEntCount;
|
||||
extern u8 gMapDataTopSpecial[];
|
||||
@@ -29,7 +29,6 @@ void sub_080467DC(GyorgFemaleEntity*);
|
||||
|
||||
extern u8 gUpdateVisibleTiles;
|
||||
extern u8 gUnk_080B3E80[];
|
||||
extern u8 gUnk_080B37A0[];
|
||||
|
||||
extern const u8 gUnk_080D1A94[];
|
||||
extern const u8 gUnk_080D1AAC[];
|
||||
|
||||
+11
-5
@@ -5,9 +5,11 @@
|
||||
* @brief Mazaal Head enemy
|
||||
*/
|
||||
|
||||
#include "area.h"
|
||||
#include "enemy.h"
|
||||
#include "object.h"
|
||||
#include "functions.h"
|
||||
#include "object.h"
|
||||
#include "roomid.h"
|
||||
#include "screen.h"
|
||||
|
||||
extern void UnloadOBJPalette(Entity*);
|
||||
@@ -98,8 +100,12 @@ void (*const gUnk_080CED74[])(Entity*) = {
|
||||
sub_08034BA0,
|
||||
};
|
||||
const s8 gUnk_080CED84[] = { 0x0d, 0x10, -0xd, 0x10 };
|
||||
const ScreenTransitionData gUnk_080CED88 = { 1, { 0, 0, 0, 0 }, 0x88, 0xf8, 0, 0x5a, 1, 1, 0, 0, 0 };
|
||||
const ScreenTransitionData gUnk_080CED9C = { 1, { 0, 0, 0, 0 }, 0x88, 0xf8, 0, 0x5a, 0, 1, 0, 0, 0 };
|
||||
const ScreenTransitionData gUnk_080CED88 = {
|
||||
1, { 0, 0, 0, 0 }, 0x88, 0xf8, 0, AREA_INNER_MAZAAL, ROOM_INNER_MAZAAL_PHASE_1, 1, 0, 0, 0
|
||||
};
|
||||
const ScreenTransitionData gUnk_080CED9C = {
|
||||
1, { 0, 0, 0, 0 }, 0x88, 0xf8, 0, AREA_INNER_MAZAAL, ROOM_INNER_MAZAAL_MAIN, 1, 0, 0, 0
|
||||
};
|
||||
|
||||
void MazaalHead(Entity* this) {
|
||||
MazaalHead_Functions[GetNextFunction(this)](this);
|
||||
@@ -812,9 +818,9 @@ void sub_08034C00(Entity* this) {
|
||||
CheckPlayerInRegion(this->x.HALF.HI - gRoomControls.origin_x, this->y.HALF.HI - gRoomControls.origin_y + 0xd, 3,
|
||||
3) != 0) {
|
||||
if (gRoomTransition.field_0x39 >= 0x3d) {
|
||||
DoExitTransition((ScreenTransitionData*)&gUnk_080CED88);
|
||||
DoExitTransition(&gUnk_080CED88);
|
||||
} else {
|
||||
DoExitTransition((ScreenTransitionData*)&gUnk_080CED9C);
|
||||
DoExitTransition(&gUnk_080CED9C);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,9 +6,10 @@
|
||||
*/
|
||||
|
||||
#include "enemy.h"
|
||||
#include "functions.h"
|
||||
#include "screenTransitions.h"
|
||||
#include "script.h"
|
||||
#include "structures.h"
|
||||
#include "functions.h"
|
||||
|
||||
extern void sub_0807B600(u32);
|
||||
|
||||
@@ -51,8 +52,6 @@ const u8 gUnk_080CEECC[] = { 0x58, 0x68, 0x88, 0x68, 0xb8, 0x68, 0x58, 0xa8, 0x8
|
||||
const s16 gUnk_080CEED8[] = { -0x82, -0x81, -0x80, -0x7f, -0x7e, -0x42, -0x41, -0x40, -0x3f, -0x3e, -2, -1,
|
||||
1, 2, 0x3e, 0x3f, 0x40, 0x41, 0x42, 0x7e, 0x7f, 0x80, 0x81, 0x82 };
|
||||
|
||||
extern const ScreenTransitionData gUnk_0813ABA8;
|
||||
|
||||
void MazaalMacro(Entity* this) {
|
||||
MazaalMacro_Functions[GetNextFunction(this)](this);
|
||||
}
|
||||
@@ -184,7 +183,7 @@ void sub_08034EE4(Entity* this) {
|
||||
}
|
||||
|
||||
void sub_08034F58(Entity* this) {
|
||||
DoExitTransition((ScreenTransitionData*)&gUnk_0813ABA8);
|
||||
DoExitTransition(&gUnk_0813ABA8);
|
||||
DeleteEntity(this);
|
||||
}
|
||||
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
* @brief Moldworm enemy
|
||||
*/
|
||||
|
||||
#include "collision.h"
|
||||
#include "enemy.h"
|
||||
#include "functions.h"
|
||||
|
||||
@@ -21,8 +22,6 @@ void sub_0802390C(Entity*);
|
||||
void sub_080239F0(Entity*);
|
||||
bool32 sub_08023B38(Entity*);
|
||||
|
||||
extern const u8 gUnk_080B37A0[];
|
||||
|
||||
extern void (*const Moldworm_Functions[])(Entity*);
|
||||
extern void (*const gUnk_080CBC50[])(Entity*);
|
||||
extern const s8 gUnk_080CBC70[];
|
||||
@@ -488,12 +487,12 @@ void sub_080239F0(Entity* this) {
|
||||
*(u8*)((int)&this->field_0x86 + 1) = 0x88;
|
||||
}
|
||||
|
||||
bool32 sub_08023A38(u32 unk) {
|
||||
if (unk == 0x1a || unk == 0x29) {
|
||||
bool32 sub_08023A38(u32 tileType) {
|
||||
if (tileType == 0x1a || tileType == 0x29) {
|
||||
return TRUE;
|
||||
} else {
|
||||
unk = gUnk_080B37A0[unk];
|
||||
if (unk == 9 || unk == 11 || unk == 10 || unk == 12) {
|
||||
tileType = gUnk_080B37A0[tileType];
|
||||
if (tileType == 9 || tileType == 11 || tileType == 10 || tileType == 12) {
|
||||
return TRUE;
|
||||
} else {
|
||||
return FALSE;
|
||||
|
||||
+9
-12
@@ -5,11 +5,10 @@
|
||||
* @brief Puffstool enemy
|
||||
*/
|
||||
|
||||
#include "enemy.h"
|
||||
#include "collision.h"
|
||||
#include "enemy.h"
|
||||
#include "object.h"
|
||||
|
||||
extern u8 gUnk_080B37A0[];
|
||||
extern u8 gUnk_080B3E80[];
|
||||
|
||||
bool32 sub_080258C4(Entity*);
|
||||
@@ -414,25 +413,23 @@ bool32 sub_0802571C(Entity* this) {
|
||||
}
|
||||
|
||||
bool32 sub_080257EC(Entity* this, u32 x, u32 y) {
|
||||
u16 tmp;
|
||||
|
||||
tmp = sub_080B1A48(x - 0x00, y - 0x00, this->collisionLayer);
|
||||
if (tmp != 0x312 && gUnk_080B37A0[tmp] != 0x16 && gUnk_080B3E80[tmp] == 0) {
|
||||
u16 tileType = sub_080B1A48(x - 0x00, y - 0x00, this->collisionLayer);
|
||||
if (tileType != 0x312 && gUnk_080B37A0[tileType] != 0x16 && gUnk_080B3E80[tileType] == 0) {
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
tmp = sub_080B1A48(x - 0x10, y - 0x00, this->collisionLayer);
|
||||
if (tmp != 0x312 && gUnk_080B37A0[tmp] != 0x16 && gUnk_080B3E80[tmp] == 0) {
|
||||
tileType = sub_080B1A48(x - 0x10, y - 0x00, this->collisionLayer);
|
||||
if (tileType != 0x312 && gUnk_080B37A0[tileType] != 0x16 && gUnk_080B3E80[tileType] == 0) {
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
tmp = sub_080B1A48(x - 0x00, y - 0x10, this->collisionLayer);
|
||||
if (tmp != 0x312 && gUnk_080B37A0[tmp] != 0x16 && gUnk_080B3E80[tmp] == 0) {
|
||||
tileType = sub_080B1A48(x - 0x00, y - 0x10, this->collisionLayer);
|
||||
if (tileType != 0x312 && gUnk_080B37A0[tileType] != 0x16 && gUnk_080B3E80[tileType] == 0) {
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
tmp = sub_080B1A48(x - 0x10, y - 0x10, this->collisionLayer);
|
||||
if (tmp != 0x312 && gUnk_080B37A0[tmp] != 0x16 && gUnk_080B3E80[tmp] == 0) {
|
||||
tileType = sub_080B1A48(x - 0x10, y - 0x10, this->collisionLayer);
|
||||
if (tileType != 0x312 && gUnk_080B37A0[tileType] != 0x16 && gUnk_080B3E80[tileType] == 0) {
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
||||
@@ -5,10 +5,12 @@
|
||||
* @brief Vaati Arm enemy
|
||||
*/
|
||||
|
||||
#include "area.h"
|
||||
#include "enemy.h"
|
||||
#include "object.h"
|
||||
#include "functions.h"
|
||||
#include "hitbox.h"
|
||||
#include "object.h"
|
||||
#include "roomid.h"
|
||||
|
||||
typedef struct VaatiArm_HeapStruct1 {
|
||||
union SplitHWord unk00;
|
||||
@@ -166,7 +168,9 @@ const Coords gUnk_080D13D8[] = { { .HALF = { -0x60, 0x80 } }, { .HALF = { 0x60,
|
||||
const u8 gUnk_080D13E0[] = { 0xc, 0xe, 0x10 };
|
||||
const u8 gUnk_080D13E3[] = { 8, 9, 10, 4, 4, 5 };
|
||||
const s8 gUnk_080D13E9[] = { -8, 8 };
|
||||
const ScreenTransitionData gUnk_080D13EC = { 1, { 0, 0, 0, 0 }, 0x98, 0xb8, 0, 0x8a, 0, 1, 0, 0, 0 };
|
||||
const ScreenTransitionData gUnk_080D13EC = {
|
||||
1, { 0, 0, 0, 0 }, 0x98, 0xb8, 0, AREA_VAATIS_ARMS, ROOM_VAATIS_ARMS_FIRST, 1, 0, 0, 0
|
||||
};
|
||||
const u16 gUnk_080D1400[][5] = {
|
||||
{ 0x8000, 0x7000, 0x6000, 0x5000, 0x4000 },
|
||||
{ 0x8000, -0x7000, -0x6000, -0x5000, -0x4000 },
|
||||
@@ -1450,7 +1454,7 @@ static void sub_08043DB0(Entity* this) {
|
||||
pEVar3 = ((VaatiArm_HeapStruct*)this->myHeap)->entities[3];
|
||||
if (CheckPlayerInRegion(pEVar3->x.HALF.HI - gRoomControls.origin_x,
|
||||
pEVar3->y.HALF.HI - gRoomControls.origin_y + 2, 3, 3)) {
|
||||
DoExitTransition((ScreenTransitionData*)&gUnk_080D13EC);
|
||||
DoExitTransition(&gUnk_080D13EC);
|
||||
if ((gRoomTransition.field_0x39 & 3) != 3) {
|
||||
gRoomTransition.player_status.room_next = 1;
|
||||
}
|
||||
|
||||
@@ -7,9 +7,9 @@
|
||||
|
||||
#include "enemy.h"
|
||||
#include "functions.h"
|
||||
#include "screenTransitions.h"
|
||||
|
||||
extern Entity* gUnk_020000B0;
|
||||
extern const ScreenTransitionData gUnk_0813AB94;
|
||||
|
||||
bool32 sub_0803E4A0(Entity*);
|
||||
void VaatiProjectile_OnTick(Entity*);
|
||||
@@ -199,7 +199,8 @@ void VaatiProjectileFunction0Action7(Entity* this) {
|
||||
sub_0803E4D8(this);
|
||||
if ((gRoomControls.origin_y + gRoomControls.height + -0x10) <= this->y.HALF.HI) {
|
||||
SetInitializationPriority();
|
||||
DoExitTransition((ScreenTransitionData*)&gUnk_0813AB94);
|
||||
// TODO this screen transition is to mazaal. Is this also the projectile for Mazaals shrink ray?
|
||||
DoExitTransition(&gUnk_0813AB94);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -5,11 +5,10 @@
|
||||
* @brief Wall Master enemy
|
||||
*/
|
||||
|
||||
#include "enemy.h"
|
||||
#include "area.h"
|
||||
#include "enemy.h"
|
||||
#include "functions.h"
|
||||
|
||||
extern ScreenTransitionData* gUnk_0813AB1C[];
|
||||
#include "screenTransitions.h"
|
||||
|
||||
void sub_0802A78C(Entity*);
|
||||
void sub_0802A7D0(Entity*);
|
||||
@@ -169,7 +168,7 @@ void sub_0802A734(Entity* this) {
|
||||
sub_0802A7D0(this);
|
||||
if (--this->timer == 0) {
|
||||
SetInitializationPriority();
|
||||
DoExitTransition(gUnk_0813AB1C[gArea.dungeon_idx]);
|
||||
DoExitTransition(gWallMasterScreenTransitions[gArea.dungeon_idx]);
|
||||
} else {
|
||||
this->z.WORD -= Q_16_16(2);
|
||||
gPlayerState.field_0xa |= 0x80;
|
||||
|
||||
@@ -5,14 +5,14 @@
|
||||
* @brief Wall Master 2 enemy
|
||||
*/
|
||||
|
||||
#include "enemy.h"
|
||||
#include "area.h"
|
||||
#include "enemy.h"
|
||||
#include "functions.h"
|
||||
#include "screenTransitions.h"
|
||||
|
||||
extern void GenericKnockback2(Entity*);
|
||||
|
||||
extern Entity* gUnk_020000B0;
|
||||
extern ScreenTransitionData* gUnk_0813AB1C[];
|
||||
|
||||
void sub_0802CF64(Entity*);
|
||||
void sub_0802CF8C(Entity*);
|
||||
@@ -145,7 +145,7 @@ void sub_0802CEF4(Entity* this) {
|
||||
sub_0802CFD8(this);
|
||||
if (--this->timer == 0) {
|
||||
SetInitializationPriority();
|
||||
DoExitTransition(gUnk_0813AB1C[gArea.dungeon_idx]);
|
||||
DoExitTransition(gWallMasterScreenTransitions[gArea.dungeon_idx]);
|
||||
} else {
|
||||
this->z.WORD -= Q_16_16(2);
|
||||
if (this->z.HALF.HI < -0x30) {
|
||||
|
||||
@@ -225,7 +225,6 @@ void CreateDeathFx(GenericEntity* parent, u32 parentId, u32 fixedItem) {
|
||||
}
|
||||
}
|
||||
}
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@ extern const EntityData* gUnk_080D4110[];
|
||||
|
||||
bool32 sub_0804AD18(void);
|
||||
void sub_0804AD6C(RoomControls*);
|
||||
void sub_080A71F4(ScreenTransitionData*);
|
||||
void sub_080A71F4(const ScreenTransitionData*);
|
||||
bool32 sub_0804ACA8(void);
|
||||
|
||||
bool32 CheckInitPortal(void) {
|
||||
@@ -143,7 +143,7 @@ void sub_0804ACC8(void) {
|
||||
if (gFadeControl.active == 0) {
|
||||
SetGlobalFlag(gArea.portal_type + ENTRANCE_0);
|
||||
sub_0804AD6C(&gUI.roomControls);
|
||||
sub_080A71F4(0);
|
||||
sub_080A71F4(NULL);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+8
-9
@@ -4,10 +4,11 @@
|
||||
*
|
||||
* @brief Game task
|
||||
*/
|
||||
#include "game.h"
|
||||
|
||||
#include "global.h"
|
||||
#include "area.h"
|
||||
#include "asm.h"
|
||||
#include "backgroundAnimations.h"
|
||||
#include "common.h"
|
||||
#include "droptables.h"
|
||||
#include "enemy.h"
|
||||
@@ -15,7 +16,6 @@
|
||||
#include "fileselect.h"
|
||||
#include "flags.h"
|
||||
#include "functions.h"
|
||||
#include "game.h"
|
||||
#include "item.h"
|
||||
#include "itemMetaData.h"
|
||||
#include "main.h"
|
||||
@@ -87,7 +87,6 @@ extern const u16 gUnk_080FD5A8[];
|
||||
extern void** gAreaTilesets[];
|
||||
extern void** gAreaRoomMaps[];
|
||||
extern void* gAreaMetatiles[];
|
||||
extern void* gUnk_080B755C[];
|
||||
extern void** gAreaTable[];
|
||||
|
||||
extern void FinalizeSave(void);
|
||||
@@ -384,7 +383,7 @@ static void GameMain_ChangeRoom(void) {
|
||||
SetPlayerControl(0);
|
||||
gPauseMenuOptions.disabled = 0;
|
||||
#if defined(USA) || defined(DEMO_USA)
|
||||
if (gArea.unk28.inventoryGfxIdx != 0xff) {
|
||||
if (gArea.unk28.textBaseIndex != 0xff) {
|
||||
sub_0801855C();
|
||||
}
|
||||
CreateMiscManager();
|
||||
@@ -394,13 +393,13 @@ static void GameMain_ChangeRoom(void) {
|
||||
sub_0801855C();
|
||||
#elif defined(JP)
|
||||
CheckAreaDiscovery();
|
||||
if (gArea.unk28.inventoryGfxIdx != 0xff) {
|
||||
if (gArea.unk28.textBaseIndex != 0xff) {
|
||||
sub_0801855C();
|
||||
}
|
||||
#elif defined(DEMO_JP)
|
||||
if (gRoomTransition.field_0x2c[4])
|
||||
CheckAreaDiscovery();
|
||||
if (gArea.unk28.inventoryGfxIdx != 0xff) {
|
||||
if (gArea.unk28.textBaseIndex != 0xff) {
|
||||
sub_0801855C();
|
||||
}
|
||||
CreateMiscManager();
|
||||
@@ -1428,7 +1427,7 @@ static void InitRoomResInfo(RoomResInfo* info, RoomHeader* r_hdr, u32 area, u32
|
||||
info->tileset = *(gAreaTilesets[area] + r_hdr->tileset_id);
|
||||
info->map = *(gAreaRoomMaps[area] + room);
|
||||
info->metatiles = gAreaMetatiles[area];
|
||||
info->bg_anim = gUnk_080B755C[area];
|
||||
info->bg_anim = (void*)gUnk_080B755C[area];
|
||||
info->exits = gExitLists[area][room];
|
||||
if (gAreaTable[area] != NULL) {
|
||||
info->properties = *(gAreaTable[area] + room);
|
||||
@@ -1532,7 +1531,7 @@ void sub_08052FF4(u32 area, u32 room) {
|
||||
gArea.currentRoomInfo.tileset = *(gAreaTilesets[area] + r_hdr->tileset_id);
|
||||
gArea.currentRoomInfo.map = *(gAreaRoomMaps[area] + room);
|
||||
gArea.currentRoomInfo.metatiles = gAreaMetatiles[area];
|
||||
gArea.currentRoomInfo.bg_anim = gUnk_080B755C[area];
|
||||
gArea.currentRoomInfo.bg_anim = (void*)gUnk_080B755C[area];
|
||||
}
|
||||
|
||||
void ChangeLightLevel(s32 lightLevel) {
|
||||
@@ -2840,7 +2839,7 @@ void sub_080548E8(void) {
|
||||
void sub_08054920(void) {
|
||||
MessageInitialize();
|
||||
sub_0806F38C();
|
||||
if (gUnk_080C9CBC[gFuseInfo._3]._5[1] != 0) {
|
||||
if (gUnk_080C9CBC[gFuseInfo._3].unk7 != 0) {
|
||||
MenuFadeIn(10, gUI.field_0x3);
|
||||
} else {
|
||||
gUI.nextToLoad = 3;
|
||||
|
||||
+113
-54
@@ -1,22 +1,17 @@
|
||||
#include "global.h"
|
||||
#include "room.h"
|
||||
#include "subtask.h"
|
||||
#include "area.h"
|
||||
#include "asm.h"
|
||||
#include "common.h"
|
||||
#include "flags.h"
|
||||
#include "player.h"
|
||||
#include "global.h"
|
||||
#include "item.h"
|
||||
#include "kinstone.h"
|
||||
#include "area.h"
|
||||
#include "manager.h"
|
||||
#include "asm.h"
|
||||
#include "message.h"
|
||||
#include "player.h"
|
||||
#include "room.h"
|
||||
#include "subtask.h"
|
||||
|
||||
typedef struct {
|
||||
u8 unk0;
|
||||
u8 unk1;
|
||||
u8 unk2;
|
||||
u8 unk3;
|
||||
} struct_gUnk_080B3D20;
|
||||
|
||||
extern struct_gUnk_080B3D20 gUnk_080B3D20[];
|
||||
extern const struct_gUnk_080B3D20 gUnk_080B3D20[];
|
||||
extern EntityData gUnk_080FEC28[];
|
||||
extern EntityData gUnk_080FEBE8[];
|
||||
extern EntityData gUnk_080FECC8[];
|
||||
@@ -28,7 +23,6 @@ extern const EntityData gUnk_080FEE18[];
|
||||
extern const EntityData gUnk_080FEE48[];
|
||||
extern const EntityData gUnk_080FEE58[];
|
||||
extern const void* gUnk_080FED98[];
|
||||
extern const u16 gUnk_080B3D14[];
|
||||
|
||||
void sub_08018AB4(int);
|
||||
void sub_08018BB4(int);
|
||||
@@ -37,10 +31,14 @@ void sub_08018B50(int);
|
||||
void sub_080189EC(int);
|
||||
void sub_0801876C(int, int);
|
||||
void sub_08018738(u32, int);
|
||||
void sub_08018690(int param_1, u16* param_2);
|
||||
void ShuffleEzloHints(int count, u16* basePtr);
|
||||
void sub_08018500();
|
||||
bool32 sub_080185B4(const struct_gUnk_080B3D20* param_1);
|
||||
|
||||
const u16 gEzloHintTextBase[] = { TEXT_INDEX(TEXT_EZLO2, 0x0), TEXT_INDEX(TEXT_EZLO2, 0x12),
|
||||
TEXT_INDEX(TEXT_EZLO2, 0x2d), TEXT_INDEX(TEXT_EZLO2, 0x48),
|
||||
TEXT_INDEX(TEXT_EZLO2, 0x57), TEXT_INDEX(TEXT_EZLO2, 0x6f) };
|
||||
|
||||
void sub_08018500(void) {
|
||||
s32 sVar1;
|
||||
u32 i;
|
||||
@@ -48,8 +46,8 @@ void sub_08018500(void) {
|
||||
u16* puVar4;
|
||||
struct_area_28* ptr = &gArea.unk28;
|
||||
|
||||
puVar3 = ptr->unk2C;
|
||||
sVar1 = gUnk_080B3D14[ptr->inventoryGfxIdx] + ptr->unk29 * 3;
|
||||
puVar3 = ptr->ezloHintTexts;
|
||||
sVar1 = gEzloHintTextBase[ptr->textBaseIndex] + ptr->textIndexOffset * 3;
|
||||
|
||||
for (i = 0; i < 3; i++) {
|
||||
*puVar3 = sVar1;
|
||||
@@ -57,24 +55,85 @@ void sub_08018500(void) {
|
||||
puVar3++;
|
||||
}
|
||||
|
||||
sVar1 = ptr->inventoryGfxIdx * 5 + 0xc81;
|
||||
for (i = 0, puVar4 = &ptr->unk2C[3]; i < 5; i++) {
|
||||
sVar1 = ptr->textBaseIndex * 5 + 0xc81;
|
||||
for (i = 0, puVar4 = &ptr->ezloHintTexts[3]; i < 5; i++) {
|
||||
*puVar3 = sVar1;
|
||||
sVar1++;
|
||||
puVar3++;
|
||||
}
|
||||
sub_08018690(5, puVar4);
|
||||
ptr->unk2a = 0;
|
||||
ShuffleEzloHints(5, puVar4);
|
||||
ptr->currentHint = 0;
|
||||
}
|
||||
|
||||
/*
|
||||
Some sort of ezlo hint? Seem to be the ezlo hints depending on the current progress.
|
||||
*/
|
||||
|
||||
#define CHECK_ITEM 0xfe
|
||||
#define CHECK_KINSTONE 0xfd
|
||||
|
||||
const struct_gUnk_080B3D20 gUnk_080B3D20[] = {
|
||||
{ LOCAL_BANK_0, EZERO_1ST, 0, 0 },
|
||||
{ LOCAL_BANK_0, ENTRANCE_0, 0, 1 },
|
||||
{ LOCAL_BANK_2, KOBITO_MORI_1ST, 0, 2 },
|
||||
{ LOCAL_BANK_2, M_PRIEST_TALK, 0, 3 },
|
||||
{ CHECK_ITEM, ITEM_JABBERNUT, 0, 4 },
|
||||
{ LOCAL_BANK_2, M_ELDER_TALK1ST, 0, 5 },
|
||||
|
||||
{ LOCAL_BANK_0, LV1_CLEAR, 1, 0 },
|
||||
{ LOCAL_BANK_2, M_ELDER_TALK2ND, 1, 1 },
|
||||
{ CHECK_ITEM, ITEM_KINSTONE_BAG, 1, 2 },
|
||||
{ CHECK_ITEM, ITEM_SKILL_SPIN_ATTACK, 1, 3 },
|
||||
{ LOCAL_BANK_1, YAMA_00_01, 1, 4 },
|
||||
{ LOCAL_BANK_0, WATERBEAN_PUT, 1, 5 },
|
||||
{ LOCAL_BANK_1, YAMA_00_00, 1, 6 },
|
||||
{ LOCAL_BANK_2, KOBITO_YAMA_ENTER, 1, 7 },
|
||||
{ LOCAL_BANK_2, OYAKATA_DEMO, 1, 8 },
|
||||
|
||||
{ LOCAL_BANK_0, LV2_CLEAR, 2, 0 },
|
||||
{ CHECK_ITEM, ITEM_GREEN_SWORD, 2, 1 },
|
||||
{ LOCAL_BANK_3, SEIIKI_ENTER, 2, 2 },
|
||||
{ LOCAL_BANK_3, SEIIKI_BUNSHIN, 2, 3 },
|
||||
{ LOCAL_BANK_0, DASHBOOTS, 2, 4 },
|
||||
{ LOCAL_BANK_2, KHOUSE52_KINOKO, 2, 5 },
|
||||
{ CHECK_ITEM, ITEM_QST_MUSHROOM, 2, 6 },
|
||||
{ CHECK_ITEM, ITEM_PEGASUS_BOOTS, 2, 7 },
|
||||
{ LOCAL_BANK_1, LOST_00_ENTER, 2, 8 },
|
||||
|
||||
{ CHECK_ITEM, ITEM_OCARINA, 3, 0 },
|
||||
{ LOCAL_BANK_0, MIZUKAKI_START, 3, 1 },
|
||||
{ LOCAL_BANK_0, MIZUKAKI_NECHAN, 3, 2 },
|
||||
{ LOCAL_BANK_2, MIZUKAKI_BOOK_ALLBACK, 3, 3 },
|
||||
{ CHECK_ITEM, ITEM_FLIPPERS, 3, 4 },
|
||||
|
||||
{ LOCAL_BANK_1, LV4_CLEAR_MES, 4, 0 },
|
||||
{ CHECK_ITEM, ITEM_BLUE_SWORD, 4, 1 },
|
||||
{ LOCAL_BANK_3, LV4_HAKA_08_CAP_0, 4, 2 },
|
||||
{ LOCAL_BANK_3, OUBO_KAKERA, 4, 3 },
|
||||
{ CHECK_KINSTONE, KINSTONE_9, 4, 4 },
|
||||
{ LOCAL_BANK_0, TATSUMAKI, 4, 5 },
|
||||
{ LOCAL_BANK_2, SORA_YAKATA_ENTER, 4, 6 },
|
||||
{ LOCAL_BANK_2, SORA_CHIEF_TALK, 4, 7 },
|
||||
|
||||
{ LOCAL_BANK_0, LV5_CLEAR, 5, 0 },
|
||||
{ CHECK_ITEM, ITEM_FOURSWORD, 5, 1 },
|
||||
{ LOCAL_BANK_10, LV6_1d_KEYGET, 5, 2 },
|
||||
{ LOCAL_BANK_10, LV6_KANE_START, 5, 3 },
|
||||
{ LOCAL_BANK_10, LV6_GUFUU2_DEAD, 5, 4 },
|
||||
{ LOCAL_BANK_10, LV6_ZELDA_DISCURSE, 5, 5 },
|
||||
|
||||
{ 0xff, 0xff, 0xff, 0xff },
|
||||
};
|
||||
|
||||
void sub_0801855C(void) {
|
||||
u32 bVar3;
|
||||
struct_area_28* ptr;
|
||||
// TODO: Figure out what is up with the pointer assignment
|
||||
struct_gUnk_080B3D20* pcVar2 = (struct_gUnk_080B3D20*)&gArea.unk28;
|
||||
const struct_gUnk_080B3D20* pcVar2 = (const struct_gUnk_080B3D20*)&gArea.unk28;
|
||||
|
||||
MemClear(pcVar2, sizeof(struct_area_28));
|
||||
MemClear((void*)pcVar2, sizeof(struct_area_28));
|
||||
ptr = (struct_area_28*)pcVar2;
|
||||
// Find the latest hint that is true.
|
||||
for (pcVar2 = gUnk_080B3D20, bVar3 = 0; pcVar2->unk0 != 0xff; pcVar2++) {
|
||||
if (sub_080185B4(pcVar2)) {
|
||||
bVar3 = ptr->unk2b;
|
||||
@@ -83,21 +142,21 @@ void sub_0801855C(void) {
|
||||
}
|
||||
ptr->unk2b = bVar3;
|
||||
pcVar2 = &gUnk_080B3D20[ptr->unk2b];
|
||||
ptr->inventoryGfxIdx = pcVar2->unk2;
|
||||
ptr->unk29 = pcVar2->unk3;
|
||||
ptr->textBaseIndex = pcVar2->unk2;
|
||||
ptr->textIndexOffset = pcVar2->unk3;
|
||||
ptr->unk2b = bVar3 + 1;
|
||||
sub_08018500();
|
||||
}
|
||||
|
||||
bool32 sub_080185B4(const struct_gUnk_080B3D20* param_1) {
|
||||
if (param_1->unk0 == 0xff)
|
||||
return 0;
|
||||
return FALSE;
|
||||
|
||||
if (param_1->unk0 == 0xfe) {
|
||||
if (param_1->unk0 == CHECK_ITEM) {
|
||||
return GetInventoryValue(param_1->unk1) != 0;
|
||||
}
|
||||
|
||||
if (param_1->unk0 == 0xfd) {
|
||||
if (param_1->unk0 == CHECK_KINSTONE) {
|
||||
return CheckKinstoneFused(param_1->unk1);
|
||||
}
|
||||
return CheckLocalFlagByBank(gLocalFlagBanks[param_1->unk0], param_1->unk1);
|
||||
@@ -105,18 +164,18 @@ bool32 sub_080185B4(const struct_gUnk_080B3D20* param_1) {
|
||||
|
||||
void sub_080185F8(void) {
|
||||
struct_area_28* ptr2 = &gArea.unk28;
|
||||
struct_gUnk_080B3D20* ptr = &gUnk_080B3D20[ptr2->unk2b];
|
||||
const struct_gUnk_080B3D20* ptr = &gUnk_080B3D20[ptr2->unk2b];
|
||||
|
||||
if (sub_080185B4(ptr)) {
|
||||
ptr2->inventoryGfxIdx = ptr->unk2;
|
||||
ptr2->unk29 = ptr->unk3;
|
||||
ptr2->textBaseIndex = ptr->unk2;
|
||||
ptr2->textIndexOffset = ptr->unk3;
|
||||
ptr2->unk2b++;
|
||||
sub_08018500();
|
||||
}
|
||||
}
|
||||
|
||||
void GenerateAreaHint(void) {
|
||||
u16 uVar1;
|
||||
u16 tmp;
|
||||
struct_area_28* ptr;
|
||||
|
||||
gPlayerState.queued_action = PLAYER_TALKEZLO;
|
||||
@@ -127,24 +186,24 @@ void GenerateAreaHint(void) {
|
||||
gRoomTransition.hint_height = 0;
|
||||
#endif
|
||||
ptr = &gArea.unk28;
|
||||
if (ptr->inventoryGfxIdx == 0xff) {
|
||||
gRoomTransition.hint_idx = ptr->unk2C[0];
|
||||
if (ptr->textBaseIndex == 0xff) {
|
||||
gRoomTransition.hint_idx = ptr->ezloHintTexts[0];
|
||||
} else {
|
||||
gRoomTransition.hint_idx = ptr->unk2C[ptr->unk2a];
|
||||
ptr->unk2a++;
|
||||
if (ptr->unk2a > 7) {
|
||||
ptr->unk2a = 0;
|
||||
sub_08018690(8, ptr->unk2C);
|
||||
if (ptr->unk2C[0] == gRoomTransition.hint_idx) {
|
||||
uVar1 = ptr->unk2C[0];
|
||||
ptr->unk2C[0] = ptr->unk3E;
|
||||
ptr->unk3E = uVar1;
|
||||
gRoomTransition.hint_idx = ptr->ezloHintTexts[ptr->currentHint];
|
||||
ptr->currentHint++;
|
||||
if (ptr->currentHint > 7) {
|
||||
ptr->currentHint = 0;
|
||||
ShuffleEzloHints(8, ptr->ezloHintTexts);
|
||||
if (ptr->ezloHintTexts[0] == gRoomTransition.hint_idx) {
|
||||
tmp = ptr->ezloHintTexts[0];
|
||||
ptr->ezloHintTexts[0] = ptr->ezloHintTexts[7];
|
||||
ptr->ezloHintTexts[7] = tmp;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void sub_08018690(int param_1, u16* param_2) {
|
||||
void ShuffleEzloHints(int count, u16* basePtr) {
|
||||
u32 uVar1;
|
||||
s32 uVar4;
|
||||
s32 uVar2;
|
||||
@@ -152,14 +211,14 @@ void sub_08018690(int param_1, u16* param_2) {
|
||||
u16* puVar4;
|
||||
u16* puVar5;
|
||||
|
||||
uVar4 = param_1 - 1;
|
||||
uVar4 = count - 1;
|
||||
if (uVar4 != 0) {
|
||||
puVar5 = (u16*)(uVar4 * 2 + (int)param_2);
|
||||
puVar5 = (u16*)(uVar4 * 2 + (int)basePtr);
|
||||
do {
|
||||
uVar2 = Random();
|
||||
iVar3 = uVar2 % (uVar4 + 1);
|
||||
uVar1 = *puVar5;
|
||||
puVar4 = (u16*)(iVar3 * 2 + (int)param_2);
|
||||
puVar4 = (u16*)(iVar3 * 2 + (int)basePtr);
|
||||
*puVar5 = *puVar4;
|
||||
*puVar4 = uVar1;
|
||||
puVar5--;
|
||||
@@ -168,19 +227,19 @@ void sub_08018690(int param_1, u16* param_2) {
|
||||
}
|
||||
}
|
||||
|
||||
void sub_080186C0(u32 param_1) {
|
||||
gArea.unk28.inventoryGfxIdx = 0xff;
|
||||
gArea.unk28.unk2C[0] = param_1;
|
||||
void SetNextAreaHint(u32 textId) {
|
||||
gArea.unk28.textBaseIndex = 0xff;
|
||||
gArea.unk28.ezloHintTexts[0] = textId;
|
||||
}
|
||||
|
||||
void sub_080186D4(void) {
|
||||
if (gArea.unk28.inventoryGfxIdx == 0xff) {
|
||||
if (gArea.unk28.textBaseIndex == 0xff) {
|
||||
sub_0801855C();
|
||||
}
|
||||
}
|
||||
|
||||
void sub_080186EC(u32 param_1) {
|
||||
struct_080C9CBC* psVar1;
|
||||
const struct_080C9CBC* psVar1;
|
||||
u32 i;
|
||||
|
||||
for (i = 0, psVar1 = gUnk_080C9CBC; i <= 100; psVar1++, i++) {
|
||||
@@ -191,7 +250,7 @@ void sub_080186EC(u32 param_1) {
|
||||
}
|
||||
|
||||
void sub_08018710(u32 param_1) {
|
||||
struct_080C9CBC* psVar1;
|
||||
const struct_080C9CBC* psVar1;
|
||||
u32 i;
|
||||
|
||||
for (i = 0, psVar1 = gUnk_080C9CBC; i <= 100; psVar1++, i++) {
|
||||
|
||||
+9
-8
@@ -90,14 +90,15 @@ void AgbMain(void) {
|
||||
}
|
||||
}
|
||||
|
||||
extern u8 gUnk_02000030[];
|
||||
// Interrupt handlers that are loaded into RAM.
|
||||
extern u8 sub_080B197C[];
|
||||
extern u8 ram_sub_080B197C[];
|
||||
extern u8 gUnk_02038560[];
|
||||
extern u8 gUnk_080B2CD8[];
|
||||
extern u8 gUnk_080B2CD8_2[];
|
||||
extern u8 gUnk_080B2CD8_3[];
|
||||
extern u8 gUnk_02000030[];
|
||||
extern u8 RAMFUNCS_END[];
|
||||
|
||||
extern u8 gCopyToEndOfEwram_Start[];
|
||||
extern u8 gCopyToEndOfEwram_End[];
|
||||
extern u8 gEndOfEwram[];
|
||||
|
||||
static void InitOverlays(void) {
|
||||
u32 size;
|
||||
@@ -108,14 +109,14 @@ static void InitOverlays(void) {
|
||||
REG_WAITCNT = WAITCNT_PREFETCH_ENABLE | WAITCNT_WS0_S_1 | WAITCNT_WS0_N_3;
|
||||
size = 0x3FFD0;
|
||||
MemClear(gUnk_02000030, size);
|
||||
size = (u32)gUnk_080B2CD8 - (u32)sub_080B197C;
|
||||
size = (u32)RAMFUNCS_END - (u32)sub_080B197C;
|
||||
if (size != 0) {
|
||||
MemCopy(sub_080B197C, ram_sub_080B197C, size);
|
||||
}
|
||||
|
||||
size = (u32)gUnk_080B2CD8_2 - (u32)gUnk_080B2CD8_3;
|
||||
size = (u32)gCopyToEndOfEwram_End - (u32)gCopyToEndOfEwram_Start;
|
||||
if (size != 0) {
|
||||
MemCopy(gUnk_080B2CD8_3, gUnk_02038560, size);
|
||||
MemCopy(gCopyToEndOfEwram_Start, gEndOfEwram, size);
|
||||
}
|
||||
|
||||
DispReset(0);
|
||||
|
||||
@@ -78,7 +78,7 @@ static void EzloHintManager_Action2(EzloHintManager* this) {
|
||||
case 3:
|
||||
super->action = 4;
|
||||
super->subAction = 0;
|
||||
sub_080186C0(this->msg_idx);
|
||||
SetNextAreaHint(this->msg_idx);
|
||||
return;
|
||||
}
|
||||
}
|
||||
@@ -149,7 +149,7 @@ static void EzloHintManager_Action3(EzloHintManager* this) {
|
||||
}
|
||||
|
||||
static void EzloHintManager_Action4(EzloHintManager* this) {
|
||||
if (gArea.unk28.inventoryGfxIdx != 0xFF) {
|
||||
if (gArea.unk28.textBaseIndex != 0xFF) {
|
||||
DeleteThisEntity();
|
||||
}
|
||||
if (CheckFlags(this->flag1)) {
|
||||
|
||||
@@ -13,6 +13,7 @@
|
||||
#include "area.h"
|
||||
#include "common.h"
|
||||
#include "flags.h"
|
||||
#include "message.h"
|
||||
#include "room.h"
|
||||
#include "sound.h"
|
||||
|
||||
@@ -61,16 +62,15 @@ void FightManager_Init(FightManager* this) {
|
||||
}
|
||||
|
||||
void FightManager_WaitForFlag(FightManager* this) {
|
||||
int tmp;
|
||||
if (CheckFlags(this->fightStartFlag)) {
|
||||
FightManager_LoadFight(this);
|
||||
if (!this->unk_35) {
|
||||
tmp = gRoomVars.fight_bgm ? gRoomVars.fight_bgm : BGM_FIGHT_THEME2;
|
||||
u32 bgm = gRoomVars.fight_bgm ? gRoomVars.fight_bgm : BGM_FIGHT_THEME2;
|
||||
this->prevBgm = gArea.bgm;
|
||||
gArea.bgm = tmp;
|
||||
SoundReq(tmp);
|
||||
gArea.bgm = bgm;
|
||||
SoundReq(bgm);
|
||||
}
|
||||
sub_080186C0(0xB0F);
|
||||
SetNextAreaHint(TEXT_INDEX(TEXT_EZLO, 0xf));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+26
-27
@@ -118,22 +118,21 @@ void MiscManager_Type0(MiscManager* this) {
|
||||
DeleteThisEntity();
|
||||
}
|
||||
|
||||
void sub_08058F44(u32 unk0, u32 unk1, u32 unk2) {
|
||||
if (CheckRoomFlag(unk2))
|
||||
void sub_08058F44(u32 x, u32 y, u32 flag) {
|
||||
if (CheckRoomFlag(flag))
|
||||
return;
|
||||
if (sub_080B1A48(unk0, unk1, 1) != 0x61)
|
||||
if (sub_080B1A48(x, y, 1) != 0x61)
|
||||
return;
|
||||
SetTileType(0x26, ((unk0 >> 4) & 0x3F) | (((unk1 >> 4) & 0x3F) << 6), 1);
|
||||
sub_08058F84(unk0, unk1);
|
||||
SetTileType(0x26, ((x >> 4) & 0x3F) | (((y >> 4) & 0x3F) << 6), 1);
|
||||
sub_08058F84(x, y);
|
||||
}
|
||||
|
||||
void sub_08058F84(u32 unk0, u32 unk1) {
|
||||
Entity* tmp;
|
||||
tmp = CreateObject(DIRT_PARTICLE, 0, 0);
|
||||
if (!tmp)
|
||||
void sub_08058F84(u32 x, u32 y) {
|
||||
Entity* particle = CreateObject(DIRT_PARTICLE, 0, 0);
|
||||
if (!particle)
|
||||
return;
|
||||
tmp->x.HALF.HI = gRoomControls.origin_x + unk0;
|
||||
tmp->y.HALF.HI = gRoomControls.origin_y + unk1;
|
||||
particle->x.HALF.HI = gRoomControls.origin_x + x;
|
||||
particle->y.HALF.HI = gRoomControls.origin_y + y;
|
||||
}
|
||||
|
||||
void MiscManager_Type1(MiscManager* this) {
|
||||
@@ -147,12 +146,12 @@ void MiscManager_Type1(MiscManager* this) {
|
||||
super->subAction = 8;
|
||||
super->subtimer = 2;
|
||||
}
|
||||
if (CheckFlags(this->unk_3e)) {
|
||||
if (CheckFlags(this->flags)) {
|
||||
DeleteManager(super);
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
if (CheckFlags(this->unk_3e)) {
|
||||
if (CheckFlags(this->flags)) {
|
||||
super->action = 2;
|
||||
super->timer = 120;
|
||||
RequestPriorityDuration((Entity*)this, 240);
|
||||
@@ -173,7 +172,7 @@ void MiscManager_Type1(MiscManager* this) {
|
||||
}
|
||||
break;
|
||||
default:
|
||||
SetFlag(this->unk_3e);
|
||||
SetFlag(this->flags);
|
||||
SetPlayerControl(1);
|
||||
DeleteThisEntity();
|
||||
}
|
||||
@@ -237,14 +236,14 @@ void MiscManager_Type5(MiscManager* this) {
|
||||
}
|
||||
break;
|
||||
case 0:
|
||||
if (CheckFlags(this->unk_3e)) {
|
||||
if (CheckFlags(this->flags)) {
|
||||
DeleteThisEntity();
|
||||
}
|
||||
super->action = 1;
|
||||
SetTileType(0x365, ((this->unk_38 >> 4) & 0x3f) | ((this->unk_3a >> 4) & 0x3f) << 6, super->type2);
|
||||
break;
|
||||
case 1:
|
||||
if (CheckFlags(this->unk_3e)) {
|
||||
if (CheckFlags(this->flags)) {
|
||||
RequestPriorityDuration((Entity*)this, 75);
|
||||
super->timer = 45;
|
||||
super->action++;
|
||||
@@ -255,14 +254,14 @@ void MiscManager_Type5(MiscManager* this) {
|
||||
void MiscManager_Type6(MiscManager* this) {
|
||||
if (super->action == 0) {
|
||||
super->action = 1;
|
||||
super->type2 = CheckFlags(this->unk_3e);
|
||||
super->type2 = CheckFlags(this->flags);
|
||||
if (super->type2) {
|
||||
gRoomVars.lightLevel = this->unk_3a;
|
||||
} else {
|
||||
gRoomVars.lightLevel = this->unk_38;
|
||||
}
|
||||
} else {
|
||||
u32 tmp = CheckFlags(this->unk_3e);
|
||||
u32 tmp = CheckFlags(this->flags);
|
||||
if (super->type2 != tmp) {
|
||||
super->type2 = tmp;
|
||||
if (tmp) {
|
||||
@@ -305,12 +304,12 @@ void MiscManager_Type8(MiscManager* this) {
|
||||
void MiscManager_Type9(MiscManager* this) {
|
||||
if (super->action == 0) {
|
||||
super->action = 1;
|
||||
if (CheckFlags(this->unk_3e)) {
|
||||
if (CheckFlags(this->flags)) {
|
||||
sub_080592EC(this);
|
||||
DeleteThisEntity();
|
||||
}
|
||||
} else {
|
||||
if (CheckFlags(this->unk_3e)) {
|
||||
if (CheckFlags(this->flags)) {
|
||||
sub_080592EC(this);
|
||||
sub_0805930C(this);
|
||||
#ifndef EU
|
||||
@@ -348,7 +347,7 @@ void SetDirtTile(u32 tile) {
|
||||
void MiscManager_TypeA(MiscManager* this) {
|
||||
super->action = 1;
|
||||
if (this->unk_3c == gTextRender.curToken.textIndex) {
|
||||
SetFlag(this->unk_3e);
|
||||
SetFlag(this->flags);
|
||||
DeleteThisEntity();
|
||||
}
|
||||
}
|
||||
@@ -373,7 +372,7 @@ bool32 sub_080593CC(MiscManager* this) {
|
||||
|
||||
void MiscManager_TypeC(MiscManager* this) {
|
||||
Entity* tmp;
|
||||
if (CheckFlags(this->unk_3e)) {
|
||||
if (CheckFlags(this->flags)) {
|
||||
DeleteThisEntity();
|
||||
}
|
||||
if (!CheckFlags(this->unk_3c))
|
||||
@@ -389,7 +388,7 @@ void MiscManager_TypeC(MiscManager* this) {
|
||||
}
|
||||
|
||||
void MiscManager_TypeD(MiscManager* this) {
|
||||
if (!CheckFlags(this->unk_3e)) {
|
||||
if (!CheckFlags(this->flags)) {
|
||||
SetPlayerControl(3);
|
||||
if (gRoomControls.reload_flags)
|
||||
return;
|
||||
@@ -411,17 +410,17 @@ void MiscManager_TypeE(MiscManager* this) {
|
||||
case 1:
|
||||
if (!GetInventoryValue(ITEM_FOURSWORD))
|
||||
return;
|
||||
if (CheckLocalFlagByBank(FLAG_BANK_10, 0x85))
|
||||
if (CheckLocalFlagByBank(FLAG_BANK_10, LV6SOTO_01_CAP_0))
|
||||
return;
|
||||
super->action = 2;
|
||||
sub_080186C0(0xB0F);
|
||||
SetNextAreaHint(TEXT_INDEX(TEXT_EZLO, 0xf));
|
||||
break;
|
||||
case 2:
|
||||
default:
|
||||
if (gArea.unk28.inventoryGfxIdx != 0xFF) {
|
||||
if (gArea.unk28.textBaseIndex != 0xFF) {
|
||||
DeleteThisEntity();
|
||||
}
|
||||
if (CheckLocalFlagByBank(FLAG_BANK_10, 0x85)) {
|
||||
if (CheckLocalFlagByBank(FLAG_BANK_10, LV6SOTO_01_CAP_0)) {
|
||||
sub_0801855C();
|
||||
DeleteThisEntity();
|
||||
}
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
*/
|
||||
#include "manager/vaati3InsideArmManager.h"
|
||||
#include "functions.h"
|
||||
#include "screenTransitions.h"
|
||||
#include "sound.h"
|
||||
#include "structures.h"
|
||||
|
||||
@@ -14,8 +15,6 @@ void Vaati3InsideArmManager_Init(Vaati3InsideArmManager*);
|
||||
void Vaati3InsideArmManager_Action1(Vaati3InsideArmManager*);
|
||||
void Vaati3InsideArmManager_Action2(Vaati3InsideArmManager*);
|
||||
|
||||
extern ScreenTransitionData gUnk_0813AC48;
|
||||
|
||||
void sub_0805DC70(void);
|
||||
|
||||
void Vaati3InsideArmManager_Main(Vaati3InsideArmManager* this) {
|
||||
|
||||
@@ -13,11 +13,10 @@
|
||||
#include "object.h"
|
||||
#include "save.h"
|
||||
#include "screen.h"
|
||||
#include "screenTransitions.h"
|
||||
#include "sound.h"
|
||||
#include "structures.h"
|
||||
|
||||
extern ScreenTransitionData gUnk_0813AC34;
|
||||
|
||||
void sub_0805E094(void);
|
||||
void Vaati3StartManager_Type0(Vaati3StartManager*);
|
||||
void Vaati3StartManager_Type1(Vaati3StartManager*);
|
||||
@@ -155,5 +154,5 @@ void Vaati3StartManager_Type1_Action1(Vaati3StartManager* this) {
|
||||
|
||||
void sub_0805E094(void) {
|
||||
SetInitializationPriority();
|
||||
sub_0808091C((ScreenTransitionData*)&gUnk_0813AC34, TRANSITION_7);
|
||||
sub_0808091C(&gUnk_0813AC34, TRANSITION_7);
|
||||
}
|
||||
|
||||
+27
-14
@@ -1,19 +1,20 @@
|
||||
#include "global.h"
|
||||
#include "menu.h"
|
||||
#include "room.h"
|
||||
#include "subtask.h"
|
||||
#include "area.h"
|
||||
#include "common.h"
|
||||
#include "enemy.h"
|
||||
#include "flags.h"
|
||||
#include "functions.h"
|
||||
#include "kinstone.h"
|
||||
#include "main.h"
|
||||
#include "menu.h"
|
||||
#include "message.h"
|
||||
#include "npc.h"
|
||||
#include "object.h"
|
||||
#include "room.h"
|
||||
#include "roomid.h"
|
||||
#include "save.h"
|
||||
#include "screen.h"
|
||||
#include "sound.h"
|
||||
#include "save.h"
|
||||
#include "kinstone.h"
|
||||
#include "flags.h"
|
||||
#include "message.h"
|
||||
#include "main.h"
|
||||
#include "object.h"
|
||||
#include "npc.h"
|
||||
#include "enemy.h"
|
||||
#include "functions.h"
|
||||
#include "subtask.h"
|
||||
#include "ui.h"
|
||||
|
||||
extern u32 sub_08000E44(u32);
|
||||
@@ -64,6 +65,18 @@ Subtask KinstoneMenu_Type3;
|
||||
Subtask KinstoneMenu_Type4;
|
||||
Subtask KinstoneMenu_Type5;
|
||||
|
||||
// Belongs to subtask2.c
|
||||
const ScreenTransitionData gUnk_08128024[] = {
|
||||
{ 1, { 0, 0, 0, 0 }, 0x98, 0xf8, 0, AREA_MT_CRENEL, ROOM_MT_CRENEL_CAVERN_OF_FLAMES_ENTRANCE, 1, 12, 4, 0 },
|
||||
{ 1, { 0, 0, 0, 0 }, 0xf8, 0xf8, 0, AREA_VEIL_FALLS, ROOM_VEIL_FALLS_MAIN, 1, 12, 4, 0 },
|
||||
{ 1, { 0, 0, 0, 0 }, 0x1e8, 0x1a8, 0, AREA_CLOUD_TOPS, ROOM_CLOUD_TOPS_CLOUD_TOPS, 1, 12, 4, 0 },
|
||||
{ 1, { 0, 0, 0, 0 }, 0x278, 0x58, 0, AREA_HYRULE_TOWN, ROOM_HYRULE_TOWN_MAIN, 1, 12, 4, 0 },
|
||||
{ 1, { 0, 0, 0, 0 }, 0xa8, 0x1b8, 0, AREA_LAKE_HYLIA, ROOM_LAKE_HYLIA_MAIN, 1, 12, 4, 0 },
|
||||
{ 1, { 0, 0, 0, 0 }, 0x228, 0x398, 0, AREA_CASTOR_WILDS, ROOM_CASTOR_WILDS_MAIN, 1, 12, 4, 0 },
|
||||
{ 1, { 0, 0, 0, 0 }, 0x2c8, 0x128, 0, AREA_HYRULE_FIELD, ROOM_HYRULE_FIELD_SOUTH_HYRULE_FIELD, 1, 12, 4, 0 },
|
||||
{ 1, { 0, 0, 0, 0 }, 0x128, 0x2a8, 0, AREA_MINISH_WOODS, ROOM_MINISH_WOODS_MAIN, 1, 12, 4, 0 },
|
||||
};
|
||||
|
||||
u32 sub_080A3B48(void) {
|
||||
u32 index;
|
||||
for (index = 0; index <= 0x12; index++) {
|
||||
@@ -581,7 +594,7 @@ u32 sub_080A4418(u32 param_1, u32 param_2) {
|
||||
} else {
|
||||
DMA3->sourceAddress = src;
|
||||
DMA3->destinationAddress = dest;
|
||||
DMA3->control.word = 0x84000080;
|
||||
DMA3->control.word = ((DMA_ENABLE | DMA_START_NOW | DMA_32BIT | DMA_SRC_INC | DMA_DEST_INC) << 16) + 0x80;
|
||||
return DMA3->control.word;
|
||||
}
|
||||
}
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user