Merge pull request #571 from octorock/data

This commit is contained in:
notyourav
2022-09-05 11:38:44 -07:00
committed by GitHub
116 changed files with 9178 additions and 8793 deletions
+1 -1
View File
@@ -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)
-136
View File
@@ -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
-68
View File
@@ -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
-52
View File
@@ -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
View File
@@ -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
View File
File diff suppressed because it is too large Load Diff
+9
View File
@@ -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"
+56
View File
@@ -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"
+11 -31
View File
@@ -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"
-14
View File
@@ -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"
-24
View File
@@ -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"
+29
View File
@@ -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"
+4 -93
View File
@@ -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"
+9
View File
@@ -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"
+16
View File
@@ -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
+67
View File
@@ -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"
+6
View File
@@ -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"
+1 -1
View File
@@ -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"
-38
View File
@@ -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
-6511
View File
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
-157
View File
@@ -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
+1 -1
View File
@@ -22,7 +22,7 @@ script_0800A0FE:
EndBlock
WaitForFadeFinish
WaitForSyncFlagAndClear 0x00000004
CallWithArg sub_0806DA1C, 0x00000006
CallWithArg NPC4E_DoScreenTransition, 6
DoPostScriptAction 0x0006
SCRIPT_END
.ifndef EU
+2 -2
View File
@@ -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
View File
@@ -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 {
+35
View File
@@ -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
+3 -18
View File
@@ -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
+2
View File
@@ -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
+9
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
+1 -1
View File
@@ -9,7 +9,7 @@ typedef struct {
s16 unk_38;
s16 unk_3a;
u16 unk_3c;
u16 unk_3e;
u16 flags;
} MiscManager;
#endif // MISCMANAGER_H
+37
View File
@@ -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
View File
@@ -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[];
+33 -24
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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;
+75
View File
@@ -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 -1
View File
@@ -1,6 +1,6 @@
#include "transitions.h"
#include "area.h"
#include "roomid.h"
#include "transitions.h"
// clang-format off
+29 -6
View File
@@ -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
View File
@@ -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) {
+5 -6
View File
@@ -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
View File
@@ -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);
}
}
}
+3 -4
View File
@@ -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
View File
@@ -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
View File
@@ -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;
}
+7 -3
View File
@@ -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;
}
+3 -2
View File
@@ -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);
}
}
+3 -4
View File
@@ -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;
+3 -3
View File
@@ -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) {
-1
View File
@@ -225,7 +225,6 @@ void CreateDeathFx(GenericEntity* parent, u32 parentId, u32 fixedItem) {
}
}
}
return;
}
}
+2 -2
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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);
+2 -2
View File
@@ -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)) {
+5 -5
View File
@@ -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
View File
@@ -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();
}
+1 -2
View File
@@ -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) {
+2 -3
View File
@@ -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
View File
@@ -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