Merge branch 'master' into m4a

This commit is contained in:
Henny022p
2021-03-22 10:18:20 +01:00
320 changed files with 2898 additions and 3868 deletions
+2 -2
View File
@@ -182,7 +182,7 @@ typedef struct Entity
u32 * field_0x4;
EntityType entityType;
u8 action;
u8 previousActionFlag;
u8 subAction;
u8 actionDelay;
u8 field_0xf;
u8 flags;
@@ -199,7 +199,7 @@ What's the 12th byte in this struct?
u32 * field_0x4; //4-7
EntityType entityType; //8-11
u8 action; //12
u8 previousActionFlag; //13
u8 subAction; //13
```
---
+1 -1
View File
@@ -1,6 +1,6 @@
# The Legend of Zelda: The Minish Cap
**Progress:** [⬛⬛⬛⬛⬛⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜] 25%
**Progress:** [⬛⬛⬛⬛⬛⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜] 30%
```diff
- WARNING! -
+2 -2
View File
@@ -176,7 +176,7 @@ _08088B82:
subs r1, #0x50
movs r2, #0xa0
movs r3, #0x30
bl sub_0806FBFC
bl CheckPlayerProximity
cmp r0, #0
beq _08088BBA
ldrb r0, [r5]
@@ -194,7 +194,7 @@ _08088BBA:
adds r1, #0x30
movs r2, #0xa0
movs r3, #0x30
bl sub_0806FBFC
bl CheckPlayerProximity
cmp r0, #0
beq _08088BDE
ldrb r0, [r5]
+14 -14
View File
@@ -95,7 +95,7 @@ sub_0806D0B0: @ 0x0806D0B0
movs r1, #0x80
lsls r1, r1, #6
adds r0, r5, #0
bl MemClear32
bl MemClear
cmp r4, #0
beq _0806D0DA
adds r0, r4, #0
@@ -120,7 +120,7 @@ sub_0806D0F8: @ 0x0806D0F8
movs r0, #7
movs r1, #0x4c
movs r2, #7
bl FindEntityInListBySubtype
bl FindEntityByID
cmp r0, #0
beq _0806D10C
bl sub_0806D0B0
@@ -583,7 +583,7 @@ _0806D46C:
ldrsh r1, [r4, r2]
movs r2, #0x40
movs r3, #0x40
bl sub_0806FBFC
bl CheckPlayerProximity
cmp r0, #0
beq _0806D4AC
adds r2, r4, #0
@@ -724,7 +724,7 @@ _0806D540:
ldrsh r1, [r4, r2]
movs r2, #0x18
movs r3, #0x40
bl sub_0806FBFC
bl CheckPlayerProximity
cmp r0, #0
beq _0806D5B4
_0806D590:
@@ -928,7 +928,7 @@ sub_0806D6D0: @ 0x0806D6D0
movs r1, #0x4c
movs r2, #7
movs r3, #2
bl FindEntityInListByForm
bl FindEntity
adds r1, r0, #0
cmp r1, #0
beq _0806D6EE
@@ -940,7 +940,7 @@ _0806D6EE:
movs r1, #0x4c
movs r2, #7
movs r3, #1
bl FindEntityInListByForm
bl FindEntity
adds r1, r0, #0
cmp r1, #0
beq _0806D706
@@ -961,7 +961,7 @@ sub_0806D70C: @ 0x0806D70C
movs r1, #0x4c
movs r2, #7
movs r3, #2
bl FindEntityInListByForm
bl FindEntity
adds r2, r0, #0
cmp r2, #0
beq _0806D728
@@ -972,7 +972,7 @@ _0806D728:
movs r1, #0x4c
movs r2, #7
movs r3, #1
bl FindEntityInListByForm
bl FindEntity
adds r2, r0, #0
cmp r2, #0
beq _0806D746
@@ -996,7 +996,7 @@ sub_0806D74C: @ 0x0806D74C
movs r1, #0x4c
movs r2, #7
movs r3, #2
bl FindEntityInListByForm
bl FindEntity
adds r1, r0, #0
cmp r1, #0
beq _0806D76A
@@ -1008,7 +1008,7 @@ _0806D76A:
movs r1, #0x4c
movs r2, #7
movs r3, #1
bl FindEntityInListByForm
bl FindEntity
adds r1, r0, #0
cmp r1, #0
beq _0806D782
@@ -1029,7 +1029,7 @@ sub_0806D788: @ 0x0806D788
movs r1, #0x4c
movs r2, #7
movs r3, #2
bl FindEntityInListByForm
bl FindEntity
adds r1, r0, #0
cmp r1, #0
beq _0806D7A6
@@ -1041,7 +1041,7 @@ _0806D7A6:
movs r1, #0x4c
movs r2, #7
movs r3, #1
bl FindEntityInListByForm
bl FindEntity
adds r1, r0, #0
cmp r1, #0
beq _0806D7BE
@@ -1070,7 +1070,7 @@ sub_0806D7C4: @ 0x0806D7C4
movs r1, #0x4c
movs r2, #7
movs r3, #2
bl FindEntityInListByForm
bl FindEntity
cmp r0, #0
beq _0806D7FC
movs r1, #0x2e
@@ -1098,7 +1098,7 @@ sub_0806D804: @ 0x0806D804
movs r1, #0x4c
movs r2, #7
movs r3, #2
bl FindEntityInListByForm
bl FindEntity
adds r1, r0, #0
cmp r1, #0
beq _0806D83A
+1 -1
View File
@@ -639,7 +639,7 @@ CreateBird: @ 0x0809D700
movs r1, #0x95
movs r2, #6
movs r3, #8
bl FindEntityInListByForm
bl FindEntity
adds r4, r0, #0
cmp r4, #0
bne _0809D732
+1 -1
View File
@@ -327,7 +327,7 @@ _0809B606:
movs r0, #7
movs r1, #0x1a
movs r2, #7
bl FindEntityInListBySubtype
bl FindEntityByID
adds r2, r0, #0
cmp r2, #0
beq _0809B682
+6 -6
View File
@@ -33,7 +33,7 @@ _08000136:
pop {r4, pc}
_08000138:
_08000138: .4byte gUnk_030056F1
_0800013C: .4byte sub_0807D280
_0800013C: .4byte sub_0807D280 @ layer 1, 2, 3?
_08000140: .4byte sub_0807D46C
_08000144: .4byte sub_0807D6D8
@@ -55,8 +55,8 @@ sub_08000152: @ 0x08000152
lsrs r2, r2, #2
non_word_aligned_thumb_func_start SetTile
SetTile: @ 0x0800015E
push {r4, r5, r6, r7, lr}
SetTile: @ r0 = tile type, r1, = tile position, r2 = layer
push {r4-r7, lr}
lsls r3, r2, #3
ldr r4, _08000208 @ =gUnk_08000228
ldr r5, [r4, r3]
@@ -75,7 +75,7 @@ SetTile: @ 0x0800015E
ldrb r0, [r3, r4]
lsrs r2, r2, #2
bl sub_08000148
pop {r0, r1}
pop {r0, r1} @ tilepos, layer
push {r0, r1}
bl DeleteLoadedTileEntity
adds r0, r7, #0
@@ -170,8 +170,8 @@ gUnk_08000278::
@ call 0x80B19CC
@ ========
@ Unused? Doesn't seem to be called by anything in Ghidra.
thumb_func_start sub_08000288
sub_08000288: @ 0x08000288
thumb_func_start GetTileAtEntityPos
GetTileAtEntityPos: @ 0x08000288
ldr r3, _080002F4 @ =gUnk_03005740
bx r3
+2 -2
View File
@@ -1238,7 +1238,7 @@ _08002812:
cmp r0, #0
beq _08002834
adds r6, #1
bl sub_0806F9EC
bl FixedMul
lsls r0, r0, #8
_08002834:
adds r4, r0, #0
@@ -1256,7 +1256,7 @@ _0800283E:
cmp r0, #0
beq _08002856
adds r6, #2
bl sub_0806F9EC
bl FixedMul
lsls r0, r0, #8
_08002856:
adds r4, r0, #0
+1 -1
View File
@@ -719,7 +719,7 @@ sub_08008AC6: @ 0x08008AC6
movs r3, #0xe2
movs r2, #0x3d
strb r3, [r0, r2]
bl sub_08079458
bl RespawnPlayer
_08008AEC:
pop {r0, pc}
+2 -2
View File
@@ -13,7 +13,7 @@ sub_08016B30: @ 0x08016B30
thumb_func_start sub_08016B34
sub_08016B34: @ 0x08016B34
ldr r1, _08016B54 @ =0x03007FFC
ldr r0, _08016B58 @ =gUnk_03005D90
ldr r0, _08016B58 @ =IntrMain
str r0, [r1]
ldr r1, _08016B5C @ =0x04000004
ldr r2, _08016B60 @ =0x00005028
@@ -29,7 +29,7 @@ sub_08016B34: @ 0x08016B34
bx lr
.align 2, 0
_08016B54: .4byte 0x03007FFC
_08016B58: .4byte gUnk_03005D90
_08016B58: .4byte IntrMain
_08016B5C: .4byte 0x04000004
_08016B60: .4byte 0x00005028
_08016B64: .4byte 0x04000200
+1 -1
View File
@@ -58,7 +58,7 @@ sub_0801855C: @ 0x0801855C
ldr r4, _08018570 @ =gUnk_02033AB8
adds r0, r4, #0
movs r1, #0x14
bl MemClear32
bl MemClear
adds r5, r4, #0
ldr r4, _08018574 @ =gUnk_080B3D20
movs r6, #0
+3 -3
View File
@@ -32,7 +32,7 @@ _0801C398:
movs r1, #0xcd
lsls r1, r1, #2
adds r0, r5, #0
bl MemClear32
bl MemClear
strb r6, [r5, #3]
strh r4, [r5, #0xe]
ldr r0, _0801C474 @ =gSave
@@ -48,7 +48,7 @@ _0801C398:
movs r1, #0x80
lsls r1, r1, #4
adds r0, r4, #0
bl MemClear32
bl MemClear
ldr r1, _0801C47C @ =gScreen
str r4, [r1, #0x10]
ldr r0, _0801C480 @ =0x00001F0C
@@ -93,7 +93,7 @@ _0801C398:
adds r0, #0x34
movs r1, #0xc0
lsls r1, r1, #2
bl MemClear32
bl MemClear
movs r0, #5
movs r1, #9
bl sub_0801CA6C
+1 -1
View File
@@ -12,7 +12,7 @@ sub_0801CFA8: @ 0x0801CFA8
adds r5, r0, #0
ldr r0, _0801CFCC @ =gUnk_02001A00
movs r1, #0x40
bl MemClear32
bl MemClear
movs r4, #0
_0801CFB6:
adds r0, r4, #0
+19 -19
View File
@@ -203,7 +203,7 @@ _0801D9D8:
strh r0, [r3]
adds r0, r4, #0
mov r1, ip
bl MemClear32
bl MemClear
adds r0, r4, #0
b _0801DA02
.align 2, 0
@@ -217,8 +217,8 @@ _0801DA02:
mov sl, r5
pop {r4, r5, r6, r7, pc}
thumb_func_start sub_0801DA0C
sub_0801DA0C: @ 0x0801DA0C
thumb_func_start zFree
zFree: @ 0x0801DA0C
push {r4, r5, lr}
ldr r3, _0801DA44 @ =gzHeap
subs r1, r0, r3
@@ -282,13 +282,13 @@ zMallocInit: @ 0x0801DA7C
ldr r0, _0801DA8C @ =gzHeap
movs r1, #0x80
lsls r1, r1, #5
bl MemClear32
bl MemClear
pop {pc}
.align 2, 0
_0801DA8C: .4byte gzHeap
thumb_func_start sub_0801DA90
sub_0801DA90: @ 0x0801DA90
thumb_func_start DispReset
DispReset: @ 0x0801DA90
push {r4, r5, lr}
adds r4, r0, #0
ldr r1, _0801DAEC @ =gMain
@@ -319,15 +319,15 @@ sub_0801DA90: @ 0x0801DA90
movs r0, #0x80
lsls r0, r0, #0x13
strh r3, [r0]
bl sub_0801DB10
bl ClearOAM
bl sub_0801DB34
ldr r0, _0801DB08 @ =0x0600C000
movs r1, #0x20
bl MemClear32
bl MemClear
ldr r0, _0801DB0C @ =gBG0Buffer
movs r1, #0x80
lsls r1, r1, #4
bl MemClear32
bl MemClear
strh r4, [r5, #0xe]
pop {r4, r5, pc}
.align 2, 0
@@ -341,8 +341,8 @@ _0801DB04: .4byte 0x00007FFF
_0801DB08: .4byte 0x0600C000
_0801DB0C: .4byte gBG0Buffer
thumb_func_start sub_0801DB10
sub_0801DB10: @ 0x0801DB10
thumb_func_start ClearOAM
ClearOAM: @ 0x0801DB10
push {r4, lr}
ldr r3, _0801DB30 @ =gUnk_03000020
movs r1, #0xe0
@@ -369,7 +369,7 @@ sub_0801DB34: @ 0x0801DB34
ldr r4, _0801DB6C @ =gScreen
adds r0, r4, #0
movs r1, #0x7c
bl MemClear32
bl MemClear
ldr r0, _0801DB70 @ =gBG0Buffer
str r0, [r4, #0x10]
ldr r0, _0801DB74 @ =0x00001F0C
@@ -424,7 +424,7 @@ sub_0801DBA0: @ 0x0801DBA0
adds r5, r1, #0
adds r1, r2, #0
adds r0, r5, #0
bl MemClear32
bl MemClear
movs r0, #1
strb r0, [r5]
ldr r2, _0801DBE4 @ =gScreenTransition
@@ -699,7 +699,7 @@ _0801DDB8:
ldr r0, _0801DDE0 @ =gUnk_02019EE0
movs r1, #0x80
lsls r1, r1, #8
bl MemClear32
bl MemClear
b _0801DEE2
.align 2, 0
_0801DDD8: .4byte gUnk_080C9C50
@@ -968,7 +968,7 @@ sub_0801DFB4: @ 0x0801DFB4
ldr r7, _0801E004 @ =gUnk_02022740
adds r0, r7, #0
movs r1, #0x10
bl MemClear32
bl MemClear
strh r4, [r7, #6]
strh r5, [r7, #8]
strh r6, [r7, #0xa]
@@ -1209,7 +1209,7 @@ sub_0801E160: @ 0x0801E160
adds r0, r0, r4
movs r1, #0xa0
lsls r1, r1, #4
bl MemClear32
bl MemClear
adds r0, r6, #0
mov r1, r8
mov r2, sb
@@ -1279,7 +1279,7 @@ sub_0801E1EC: @ 0x0801E1EC
adds r0, r0, r5
movs r1, #0xa0
lsls r1, r1, #4
bl MemClear32
bl MemClear
adds r0, r4, #0
movs r1, #0
bl sub_0801E24C
@@ -1443,7 +1443,7 @@ sub_0801E31C: @ 0x0801E31C
adds r0, r0, r1
movs r1, #0xa0
lsls r1, r1, #4
bl MemClear32
bl MemClear
cmp sl, sb
bge _0801E3DC
movs r6, #0
@@ -1738,7 +1738,7 @@ sub_0801E49C: @ 0x0801E49C
adds r0, r0, r6
movs r1, #0xa0
lsls r1, r1, #4
bl MemClear32
bl MemClear
ldr r2, _0801E5E8 @ =gUnk_02018EE0
ldrb r1, [r5]
lsls r0, r1, #2
+1 -1
View File
@@ -9,7 +9,7 @@
sub_0804AB70: @ 0x0804AB70
push {r4, r5, lr}
movs r0, #0
bl sub_0801DA90
bl DispReset
ldr r1, _0804ABF8 @ =gScreen
movs r2, #0
movs r0, #0x92
+2 -2
View File
@@ -50,10 +50,10 @@ sub_0804FFE4: @ 0x0804FFE4
ldr r4, _08050000 @ =gFadeControl
adds r0, r4, #0
movs r1, #0x1c
bl MemClear32
bl MemClear
ldr r0, _08050004 @ =gUnk_020354C0
movs r1, #0x80
bl MemClear32
bl MemClear
movs r0, #1
rsbs r0, r0, #0
str r0, [r4, #4]
+14 -14
View File
@@ -791,7 +791,7 @@ sub_08052CFC: @ 0x08052CFC
ldr r4, _08052D44 @ =gArea
ldr r1, _08052D48 @ =0x00000894
adds r0, r4, #0
bl MemClear32
bl MemClear
ldr r0, _08052D4C @ =gRoomControls
ldrb r1, [r0, #4]
lsls r1, r1, #2
@@ -996,7 +996,7 @@ sub_08052EA0: @ 0x08052EA0
ldr r4, _08052EE4 @ =gRoomVars
adds r0, r4, #0
movs r1, #0xcc
bl MemClear32
bl MemClear
movs r0, #0xff
strb r0, [r4, #0x10]
strb r0, [r4, #0x11]
@@ -1178,7 +1178,7 @@ sub_08052FF4: @ 0x08052FF4
ldr r5, _08053074 @ =gUnk_020342CC
adds r0, r5, #0
movs r1, #0x20
bl MemClear32
bl MemClear
str r5, [r5, #0x20]
ldr r0, _08053078 @ =gAreaRoomHeaders
lsls r6, r6, #2
@@ -1570,17 +1570,17 @@ sub_08053320: @ 0x08053320
movs r4, #0x80
lsls r4, r4, #4
adds r1, r4, #0
bl MemClear32
bl MemClear
ldr r0, _08053380 @ =gBG1Buffer
adds r1, r4, #0
bl MemClear32
bl MemClear
ldr r0, _08053384 @ =gBG2Buffer
adds r1, r4, #0
bl MemClear32
bl MemClear
ldr r0, _08053388 @ =gBG3Buffer
movs r1, #0x80
lsls r1, r1, #5
bl MemClear32
bl MemClear
movs r0, #0x10
bl LoadGfxGroup
movs r0, #0x17
@@ -2013,7 +2013,7 @@ sub_0805368C: @ 0x0805368C
movs r0, #6
movs r1, #0x5d
movs r2, #6
bl FindEntityInListBySubtype
bl FindEntityByID
cmp r0, #0
beq _080536A6
bl DeleteEntity
@@ -2139,7 +2139,7 @@ sub_08053758: @ 0x08053758
strh r2, [r0, #0xa]
bl sub_0801B170
movs r0, #0
bl sub_0801DA90
bl DispReset
ldr r2, _080537F0 @ =gScreen
movs r0, #0x99
lsls r0, r0, #6
@@ -2222,7 +2222,7 @@ sub_08053800: @ 0x08053800
ldr r0, _08053888 @ =gBG1Buffer
movs r1, #0x80
lsls r1, r1, #4
bl MemClear32
bl MemClear
ldr r0, _0805388C @ =0x00000F01
adds r5, r5, r0
ldr r1, [r4]
@@ -2380,7 +2380,7 @@ sub_08053974: @ 0x08053974
bne _080539A8
bl sub_0804FFE4
movs r0, #1
bl sub_0801DA90
bl DispReset
bl sub_080197AC
bl sub_08051F78
ldr r0, _080539B0 @ =gUnk_080FCBC4
@@ -2437,7 +2437,7 @@ sub_080539F4: @ 0x080539F4
cmp r0, #0
bne _08053A10
movs r0, #1
bl sub_0801DA90
bl DispReset
ldr r0, _08053A18 @ =gMenu
ldrb r1, [r0, #6]
adds r1, #1
@@ -2587,7 +2587,7 @@ sub_08053B10: @ 0x08053B10
adds r1, #1
strb r1, [r0, #5]
movs r0, #1
bl sub_0801DA90
bl DispReset
movs r1, #0x80
lsls r1, r1, #1
movs r0, #4
@@ -2673,7 +2673,7 @@ sub_08053BBC: @ 0x08053BBC
adds r1, #1
strb r1, [r0, #5]
movs r0, #1
bl sub_0801DA90
bl DispReset
movs r1, #0x80
lsls r1, r1, #1
movs r0, #4
+2 -2
View File
@@ -33,7 +33,7 @@ sub_0805488C: @ 0x0805488C
lsls r0, r0, #1
strh r0, [r2, #8]
movs r0, #0
bl sub_0801DA90
bl DispReset
ldrb r0, [r4, #3]
movs r1, #1
bl sub_08054974
@@ -2571,7 +2571,7 @@ _08055C6C:
movs r1, #0x9e
movs r2, #6
movs r3, #0
bl FindEntityInListByForm
bl FindEntity
adds r4, r0, #0
cmp r4, #0
beq _08055C8C
+3 -3
View File
@@ -267,11 +267,11 @@ _080568B2:
beq _080568D2
adds r0, r6, #0
movs r1, #4
bl MemClear32
bl MemClear
ldr r4, _08056910 @ =gUnk_02024030
adds r0, r4, #0
movs r1, #0x18
bl MemClear32
bl MemClear
movs r0, #1
strb r0, [r4]
strb r0, [r6]
@@ -472,7 +472,7 @@ _08056A30:
movs r1, #3
strb r1, [r2]
movs r1, #0x18
bl MemClear32
bl MemClear
movs r0, #0x6a
bl SoundReq
adds r1, r6, #0
+3 -3
View File
@@ -360,15 +360,15 @@ EraseAllEntities: @ 0x0805E60C
bl DeleteAllEntities
ldr r0, _0805E654 @ =gUnk_03003DC0
movs r1, #0xc
bl MemClear32
bl MemClear
ldr r0, _0805E658 @ =gPlayerEntity
movs r1, #0xaa
lsls r1, r1, #6
bl MemClear32
bl MemClear
ldr r0, _0805E65C @ =gUnk_02033290
movs r1, #0x80
lsls r1, r1, #4
bl MemClear32
bl MemClear
bl sub_0805E98C
ldr r0, _0805E660 @ =gEntCount
movs r1, #0
+4 -4
View File
@@ -751,7 +751,7 @@ _0805F2D0:
bne _0805F2F0
adds r0, r5, #0
movs r1, #0xc
bl MemClear32
bl MemClear
ldrb r0, [r4]
movs r1, #1
orrs r0, r1
@@ -781,7 +781,7 @@ _0805F308:
cmp r0, r2
bne _0805F318
movs r1, #0xc
bl MemClear32
bl MemClear
b _0805F320
.align 2, 0
_0805F314: .4byte gUnk_02036540
@@ -944,7 +944,7 @@ sub_0805F440: @ 0x0805F440
adds r4, r0, #0
adds r5, r1, #0
movs r1, #0x30
bl MemClear32
bl MemClear
ldr r0, _0805F45C @ =0x0000FFFF
cmp r5, r0
bls _0805F460
@@ -1122,7 +1122,7 @@ _0805F596:
_0805F59E:
ldr r0, _0805F5C8 @ =gUnk_02034330
movs r1, #0x18
bl MemClear32
bl MemClear
_0805F5A6:
mov r0, sb
mov r1, sp
+1 -1
View File
@@ -27,7 +27,7 @@ sub_0806EC38: @ 0x0806EC38
movs r0, #7
movs r1, #0x58
movs r2, #7
bl FindEntityInListBySubtype
bl FindEntityByID
cmp r0, #0
beq _0806EC4C
bl DeleteEntity
+13 -13
View File
@@ -842,7 +842,7 @@ sub_0806F364: @ 0x0806F364
adds r1, r2, r3
adds r0, r0, r1
movs r1, #0x10
bl MemClear32
bl MemClear
pop {pc}
.align 2, 0
_0806F384: .4byte gArea
@@ -1193,13 +1193,13 @@ sub_0806F5BC: @ 0x0806F5BC
lsls r5, r1, #0x10
asrs r5, r5, #0x10
adds r1, r5, #0
bl sub_0806F9EC
bl FixedMul
lsls r0, r0, #0x10
asrs r0, r0, #0x10
movs r6, #0x80
lsls r6, r6, #1
adds r1, r6, #0
bl sub_0806FA04
bl FixedDiv
lsls r0, r0, #0x10
asrs r0, r0, #8
ldr r1, [r7, #0x2c]
@@ -1211,11 +1211,11 @@ sub_0806F5BC: @ 0x0806F5BC
movs r1, #0
ldrsh r0, [r4, r1]
adds r1, r5, #0
bl sub_0806F9EC
bl FixedMul
lsls r0, r0, #0x10
asrs r0, r0, #0x10
adds r1, r6, #0
bl sub_0806FA04
bl FixedDiv
lsls r0, r0, #0x10
asrs r0, r0, #8
ldr r1, [r7, #0x30]
@@ -1248,13 +1248,13 @@ sub_0806F62C: @ 0x0806F62C
lsls r5, r5, #0x10
asrs r5, r5, #0x10
adds r1, r5, #0
bl sub_0806F9EC
bl FixedMul
lsls r0, r0, #0x10
asrs r0, r0, #0x10
movs r1, #0x80
lsls r1, r1, #1
mov r8, r1
bl sub_0806FA04
bl FixedDiv
lsls r0, r0, #0x10
asrs r0, r0, #8
ldr r1, [r6, #0x2c]
@@ -1266,11 +1266,11 @@ sub_0806F62C: @ 0x0806F62C
movs r1, #0
ldrsh r0, [r4, r1]
adds r1, r5, #0
bl sub_0806F9EC
bl FixedMul
lsls r0, r0, #0x10
asrs r0, r0, #0x10
mov r1, r8
bl sub_0806FA04
bl FixedDiv
lsls r0, r0, #0x10
asrs r0, r0, #8
ldr r1, [r6, #0x30]
@@ -1300,13 +1300,13 @@ sub_0806F69C: @ 0x0806F69C
ldrsh r0, [r0, r1]
movs r2, #0x24
ldrsh r1, [r6, r2]
bl sub_0806F9EC
bl FixedMul
lsls r0, r0, #0x10
asrs r0, r0, #0x10
movs r4, #0x80
lsls r4, r4, #1
adds r1, r4, #0
bl sub_0806FA04
bl FixedDiv
lsls r0, r0, #0x10
asrs r0, r0, #8
ldr r1, [r6, #0x2c]
@@ -1320,11 +1320,11 @@ sub_0806F69C: @ 0x0806F69C
ldrsh r0, [r0, r1]
movs r2, #0x24
ldrsh r1, [r6, r2]
bl sub_0806F9EC
bl FixedMul
lsls r0, r0, #0x10
asrs r0, r0, #0x10
adds r1, r4, #0
bl sub_0806FA04
bl FixedDiv
lsls r0, r0, #0x10
asrs r0, r0, #8
ldr r1, [r6, #0x30]
+6 -6
View File
@@ -139,13 +139,13 @@ UnloadHitbox: @ 0x0806FBEC
push {r4, lr}
adds r4, r0, #0
ldr r0, [r4, #0x48]
bl sub_0801DA0C
bl zFree
movs r0, #0
str r0, [r4, #0x48]
pop {r4, pc}
thumb_func_start sub_0806FBFC
sub_0806FBFC: @ 0x0806FBFC
thumb_func_start CheckPlayerProximity
CheckPlayerProximity: @ 0x0806FBFC
push {r4, r5, r6, lr}
adds r5, r3, #0
ldr r4, _0806FC20 @ =gPlayerEntity
@@ -385,7 +385,7 @@ sub_0806FD8C: @ 0x0806FD8C
ldr r0, _0806FD9C @ =gUnk_020000C0
movs r1, #0xc0
lsls r1, r1, #4
bl MemClear32
bl MemClear
pop {pc}
.align 2, 0
_0806FD9C: .4byte gUnk_020000C0
@@ -534,7 +534,7 @@ _0806FE9E:
bls _0806FE9E
adds r0, r6, #0
movs r1, #0x40
bl MemClear32
bl MemClear
_0806FEB4:
pop {r4, r5, r6, pc}
.align 2, 0
@@ -1454,7 +1454,7 @@ sub_0807059C: @ 0x0807059C
push {lr}
ldr r0, _080705A8 @ =gUnk_02034490
movs r1, #0x18
bl MemClear32
bl MemClear
pop {pc}
.align 2, 0
_080705A8: .4byte gUnk_02034490
+18 -1331
View File
File diff suppressed because it is too large Load Diff
+9 -9
View File
@@ -175,8 +175,8 @@ _08073418:
.align 2, 0
_0807341C: .4byte gRoomControls
thumb_func_start sub_08073420
sub_08073420: @ 0x08073420
thumb_func_start PlayerParachute
PlayerParachute: @ 0x08073420
push {r4, lr}
adds r4, r0, #0
bl sub_08078EFC
@@ -1280,8 +1280,8 @@ _08073C58:
_08073C66:
pop {pc}
thumb_func_start sub_08073C68
sub_08073C68: @ 0x08073C68
thumb_func_start PlayerMinish
PlayerMinish: @ 0x08073C68
push {lr}
ldr r2, _08073C7C @ =gUnk_0811BC60
ldrb r1, [r0, #0xd]
@@ -2760,7 +2760,7 @@ _0807476C:
strb r0, [r1]
subs r0, #0x24
bl ModHealth
bl sub_08079458
bl RespawnPlayer
_08074792:
pop {r4, pc}
.align 2, 0
@@ -4198,7 +4198,7 @@ sub_080751E8: @ 0x080751E8
ldr r4, _08075230 @ =gPlayerScriptExecutionContext
adds r0, r4, #0
movs r1, #0x24
bl MemClear32
bl MemClear
str r6, [r4]
ldr r0, _08075234 @ =gPlayerEntity
adds r0, #0x84
@@ -4592,7 +4592,7 @@ _080754F2:
movs r0, #8
movs r1, #0xf
movs r2, #2
bl FindEntityInListBySubtype
bl FindEntityByID
cmp r0, #0
bne _08075538
adds r0, r4, #0
@@ -6017,7 +6017,7 @@ sub_08075FF8: @ 0x08075FF8
movs r0, #8
movs r1, #2
movs r2, #2
bl FindEntityInListBySubtype
bl FindEntityByID
b _08076026
.align 2, 0
_08076018: .4byte gPlayerState
@@ -6025,7 +6025,7 @@ _0807601C:
adds r5, #1
adds r0, r4, #0
movs r1, #2
bl FindNextEntityOfSameSubtype
bl FindNextDuplicateID
_08076026:
adds r4, r0, #0
cmp r4, #0
+1 -1
View File
@@ -642,7 +642,7 @@ sub_080784C8: @ 0x080784C8
movs r1, #0xc4
lsls r1, r1, #1
adds r0, r4, #0
bl MemClear32
bl MemClear
ldr r0, _080784E0 @ =gUnk_0811C000
str r0, [r4, #4]
pop {r4, pc}
+10 -10
View File
@@ -44,7 +44,7 @@ _080788BA:
movs r0, #6
movs r1, #9
movs r2, #6
bl FindEntityInListBySubtype
bl FindEntityByID
cmp r0, #0
bne _080788D6
movs r0, #9
@@ -70,7 +70,7 @@ sub_080788E0: @ 0x080788E0
ldr r1, _08078900 @ =gUnk_03003DF8
adds r0, r0, r1
movs r1, #0xc
bl MemClear32
bl MemClear
_080788FC:
pop {pc}
.align 2, 0
@@ -542,7 +542,7 @@ sub_08078C24: @ 0x08078C24
ldr r0, _08078CB0 @ =gUnk_03003DF0
movs r1, #0xc4
lsls r1, r1, #1
bl MemClear32
bl MemClear
pop {pc}
.align 2, 0
_08078CAC: .4byte gPlayerState
@@ -866,7 +866,7 @@ sub_08078EFC: @ 0x08078EFC
strb r2, [r0, #0xc]
strb r1, [r0, #0xd]
strb r1, [r3, #0xc]
bl sub_08070680
bl DoPlayerAction
movs r0, #1
b _08078F22
.align 2, 0
@@ -1583,8 +1583,8 @@ _08079454:
_08079456:
pop {r4, r5, pc}
thumb_func_start sub_08079458
sub_08079458: @ 0x08079458
thumb_func_start RespawnPlayer
RespawnPlayer: @ 0x08079458
push {r4, r5, lr}
ldr r4, _08079498 @ =gPlayerEntity
movs r1, #0
@@ -1915,7 +1915,7 @@ _080796C8:
strb r1, [r0, #0x10]
movs r1, #0x81
strb r1, [r4, #2]
bl sub_08070680
bl DoPlayerAction
movs r0, #1
b _080796FE
.align 2, 0
@@ -2537,7 +2537,7 @@ sub_08079B24: @ 0x08079B24
ldrb r0, [r0]
cmp r0, #0
beq _08079B6C
bl sub_08079458
bl RespawnPlayer
b _08079BC0
.align 2, 0
_08079B60: .4byte gPlayerEntity
@@ -5401,8 +5401,8 @@ sub_0807B0C8: @ 0x0807B0C8
.align 2, 0
_0807B0F8: .4byte gPlayerEntity
thumb_func_start sub_0807B0FC
sub_0807B0FC: @ 0x0807B0FC
thumb_func_start PlayerWarp
PlayerWarp: @ 0x0807B0FC
push {lr}
ldr r2, _0807B110 @ =gUnk_0811C27C
ldrb r1, [r0, #0xd]
+13 -13
View File
@@ -948,19 +948,19 @@ sub_0807C0DC: @ 0x0807C0DC
lsls r6, r6, #6
adds r0, r5, #0
adds r1, r6, #0
bl MemClear32
bl MemClear
adds r0, r5, r6
movs r1, #0x80
lsls r1, r1, #5
bl MemClear32
bl MemClear
ldr r0, _0807C160 @ =gUnk_02019EE0
movs r4, #0x80
lsls r4, r4, #8
adds r1, r4, #0
bl MemClear32
bl MemClear
ldr r0, _0807C164 @ =gMapDataTopSpecial
adds r1, r4, #0
bl MemClear32
bl MemClear
ldr r0, _0807C168 @ =gArea
ldr r1, _0807C16C @ =0x0000085C
adds r0, r0, r1
@@ -999,7 +999,7 @@ _0807C174: .4byte 0x0000FFFF
_0807C178:
adds r0, r2, #4
adds r1, r6, #0
bl MemClear32
bl MemClear
movs r3, #1
mov sb, r3
_0807C184:
@@ -1167,7 +1167,7 @@ _0807C2E4:
bl sub_0807C5F4
adds r0, r5, #0
adds r1, r6, #0
bl MemClear32
bl MemClear
ldr r4, _0807C350 @ =gMapDataTopSpecial
adds r5, r4, r6
adds r0, r4, #0
@@ -1179,7 +1179,7 @@ _0807C2E4:
bl sub_0807C5F4
adds r0, r5, #0
adds r1, r6, #0
bl MemClear32
bl MemClear
_0807C326:
mov r1, sb
cmp r1, #0
@@ -1406,10 +1406,10 @@ sub_0807C4F8: @ 0x0807C4F8
movs r4, #0x80
lsls r4, r4, #8
adds r1, r4, #0
bl MemClear32
bl MemClear
ldr r0, _0807C59C @ =gMapDataTopSpecial
adds r1, r4, #0
bl MemClear32
bl MemClear
ldr r5, _0807C5A0 @ =gUnk_02022830
ldr r0, _0807C5A4 @ =gArea
ldr r1, _0807C5A8 @ =0x0000085C
@@ -1455,7 +1455,7 @@ _0807C54A:
bl sub_0807C5F4
adds r0, r5, #0
adds r1, r6, #0
bl MemClear32
bl MemClear
ldr r4, _0807C59C @ =gMapDataTopSpecial
adds r5, r4, r6
adds r0, r4, #0
@@ -1467,7 +1467,7 @@ _0807C54A:
bl sub_0807C5F4
adds r0, r5, #0
adds r1, r6, #0
bl MemClear32
bl MemClear
_0807C592:
pop {r4, r5, r6, pc}
.align 2, 0
@@ -1694,7 +1694,7 @@ _0807C710:
_0807C726:
adds r0, r4, #0
movs r1, #0x40
bl MemClear32
bl MemClear
adds r4, #0x40
adds r5, #1
cmp r5, r7
@@ -1984,7 +1984,7 @@ _0807C92E:
_0807C946:
adds r0, r4, #0
movs r1, #0x80
bl MemClear32
bl MemClear
adds r4, #0x80
adds r5, #1
cmp r5, r6
+5 -5
View File
@@ -1228,7 +1228,7 @@ sub_0807F950: @ 0x0807F950
movs r1, #0x56
movs r2, #6
movs r3, #0
bl FindEntityInListByForm
bl FindEntity
cmp r0, #0
beq _0807F96C
bl DeleteEntity
@@ -2934,11 +2934,11 @@ sub_08080668: @ 0x08080668
ldr r5, _080806A4 @ =gRoomControls
adds r0, r5, #0
movs r1, #0x38
bl MemClear32
bl MemClear
ldr r4, _080806A8 @ =gUnk_03004030
adds r0, r4, #0
movs r1, #0xc
bl MemClear32
bl MemClear
ldr r0, _080806AC @ =0x0000FFFF
strh r0, [r5, #0x22]
movs r0, #0xff
@@ -2950,10 +2950,10 @@ sub_08080668: @ 0x08080668
movs r4, #0x80
lsls r4, r4, #8
adds r1, r4, #0
bl MemClear32
bl MemClear
ldr r0, _080806B8 @ =gMapDataTopSpecial
adds r1, r4, #0
bl MemClear32
bl MemClear
pop {r4, r5, pc}
.align 2, 0
_080806A4: .4byte gRoomControls
+5 -5
View File
@@ -96,13 +96,13 @@ sub_080A2AF4: @ 0x080A2AF4
lsls r4, r4, #0x18
asrs r4, r4, #0x10
adds r1, r4, #0
bl sub_0806F9EC
bl FixedMul
lsls r0, r0, #0x10
asrs r0, r0, #0x10
movs r5, #0x80
lsls r5, r5, #1
adds r1, r5, #0
bl sub_0806FA04
bl FixedDiv
lsls r0, r0, #0x10
asrs r0, r0, #8
ldr r1, [r6, #0x2c]
@@ -115,11 +115,11 @@ sub_080A2AF4: @ 0x080A2AF4
movs r1, #0
ldrsh r0, [r0, r1]
adds r1, r4, #0
bl sub_0806F9EC
bl FixedMul
lsls r0, r0, #0x10
asrs r0, r0, #0x10
adds r1, r5, #0
bl sub_0806FA04
bl FixedDiv
lsls r0, r0, #0x10
asrs r0, r0, #8
ldr r1, [r6, #0x30]
@@ -995,7 +995,7 @@ sub_080A3210: @ 0x080A3210
ldr r4, _080A3230 @ =gUnk_02021EE0
adds r0, r4, #0
movs r1, #0x18
bl MemClear32
bl MemClear
bl sub_080A35C8
movs r0, #0x80
lsls r0, r0, #1
+7 -7
View File
@@ -266,7 +266,7 @@ _080A365C:
_080A365E:
str r0, [r2, #0xc]
movs r0, #0
bl sub_0801DA90
bl DispReset
movs r0, #0xb
bl LoadPaletteGroup
movs r0, #0xc
@@ -354,7 +354,7 @@ sub_080A36F8: @ 0x080A36F8
ldr r0, _080A3760 @ =gBG1Buffer
movs r1, #0x80
lsls r1, r1, #4
bl MemClear32
bl MemClear
ldr r1, _080A3764 @ =gScreen
movs r2, #0
movs r0, #1
@@ -410,7 +410,7 @@ _080A378A:
ldr r0, _080A37B8 @ =gBG1Buffer
movs r1, #0x80
lsls r1, r1, #4
bl MemClear32
bl MemClear
movs r1, #0x10
ldrsh r0, [r4, r1]
ldr r2, _080A37BC @ =gUnk_081272E0
@@ -580,7 +580,7 @@ sub_080A38D0: @ 0x080A38D0
movs r6, #0x80
lsls r6, r6, #4
adds r1, r6, #0
bl MemClear32
bl MemClear
ldr r4, _080A3924 @ =gScreen
movs r0, #0
mov r8, r0
@@ -588,7 +588,7 @@ sub_080A38D0: @ 0x080A38D0
strh r5, [r4, #0x1a]
ldr r0, _080A3928 @ =gBG2Buffer
adds r1, r6, #0
bl MemClear32
bl MemClear
strh r5, [r4, #0x26]
adds r4, #0x68
movs r0, #0x80
@@ -699,7 +699,7 @@ _080A39C8:
strh r0, [r2, #8]
strb r4, [r2, #3]
movs r0, #1
bl sub_0801DA90
bl DispReset
bl sub_080A3210
bl sub_080A4D34
movs r0, #0xa
@@ -712,7 +712,7 @@ _080A39C8:
movs r0, #0xc0
lsls r0, r0, #0x13
movs r1, #0x20
bl MemClear32
bl MemClear
movs r0, #0
movs r1, #0
bl sub_08052418
+13 -13
View File
@@ -935,7 +935,7 @@ sub_080A4398: @ 0x080A4398
push {lr}
ldr r0, _080A43A4 @ =gUnk_02019EE0
movs r1, #0x40
bl MemClear32
bl MemClear
pop {pc}
.align 2, 0
_080A43A4: .4byte gUnk_02019EE0
@@ -1119,7 +1119,7 @@ sub_080A44E0: @ 0x080A44E0
mov r8, r0
ldr r0, [r4, #8]
mov r1, r8
bl MemClear32
bl MemClear
adds r0, r6, #0
adds r1, r4, #0
bl sub_0805F76C
@@ -1269,11 +1269,11 @@ sub_080A4608: @ 0x080A4608
ldr r0, _080A46A4 @ =gBG0Buffer
movs r1, #0x80
lsls r1, r1, #4
bl MemClear32
bl MemClear
ldr r0, _080A46A8 @ =gBG3Buffer
movs r1, #0x80
lsls r1, r1, #5
bl MemClear32
bl MemClear
ldr r2, _080A46AC @ =gScreen
adds r1, r2, #0
adds r1, #0x58
@@ -1976,7 +1976,7 @@ sub_080A4BA0: @ 0x080A4BA0
adds r6, r1, #0
add r0, sp, #0x18
movs r1, #0x30
bl MemClear32
bl MemClear
ldr r0, _080A4C08 @ =gUnk_0812816C
mov r1, sp
movs r2, #0x18
@@ -2123,7 +2123,7 @@ sub_080A4CBC: @ 0x080A4CBC
lsls r5, r5, #4
adds r0, r4, #0
adds r1, r5, #0
bl MemClear32
bl MemClear
ldr r1, _080A4D14 @ =0x0600E000
adds r0, r4, #0
adds r2, r5, #0
@@ -2217,7 +2217,7 @@ sub_080A4D88: @ 0x080A4D88
push {lr}
ldr r0, _080A4DA4 @ =gUnk_020344A0
movs r1, #8
bl MemClear32
bl MemClear
movs r0, #1
movs r1, #0
bl MenuFadeIn
@@ -2245,21 +2245,21 @@ sub_080A4DB8: @ 0x080A4DB8
movs r4, #0x80
lsls r4, r4, #4
adds r1, r4, #0
bl MemClear32
bl MemClear
ldr r0, _080A4E5C @ =gBG1Buffer
adds r1, r4, #0
bl MemClear32
bl MemClear
ldr r0, _080A4E60 @ =gBG2Buffer
adds r1, r4, #0
bl MemClear32
bl MemClear
ldr r0, _080A4E64 @ =gUnk_0200AF34
movs r1, #0xc0
lsls r1, r1, #2
bl MemClear32
bl MemClear
ldr r4, _080A4E68 @ =gMenu
adds r0, r4, #0
movs r1, #0x30
bl MemClear32
bl MemClear
ldr r0, _080A4E6C @ =0x0000FFFF
strh r0, [r4, #0x2e]
ldr r0, _080A4E70 @ =gUnk_02034490
@@ -2580,7 +2580,7 @@ _080A5080:
ldr r0, _080A5098 @ =gBG0Buffer
movs r1, #0x80
lsls r1, r1, #4
bl MemClear32
bl MemClear
ldr r1, _080A509C @ =gScreen
movs r0, #1
strh r0, [r1, #0xe]
+13 -13
View File
@@ -2442,7 +2442,7 @@ _080A6886:
ldr r0, _080A68D0 @ =gUnk_02019EE0
movs r1, #0x80
lsls r1, r1, #3
bl MemClear32
bl MemClear
pop {r4, r5, r6, r7, pc}
.align 2, 0
_080A68AC: .4byte gUnk_02032EC0
@@ -3307,7 +3307,7 @@ sub_080A6F6C: @ 0x080A6F6C
ldr r0, _080A6FA8 @ =gUnk_020350F0
movs r1, #0x80
lsls r1, r1, #1
bl MemClear32
bl MemClear
movs r0, #0xff
ands r0, r4
cmp r0, #0
@@ -3376,7 +3376,7 @@ _080A6FFA:
ldr r0, _080A7038 @ =gUnk_020350F0
movs r1, #0x80
lsls r1, r1, #1
bl MemClear32
bl MemClear
movs r0, #0xff
ands r0, r4
cmp r0, #0
@@ -3413,7 +3413,7 @@ sub_080A7040: @ 0x080A7040
movs r1, #0xc0
lsls r1, r1, #2
adds r0, r4, #0
bl MemClear32
bl MemClear
ldr r0, _080A7098 @ =0xFFFFFE00
adds r4, r4, r0
ldr r1, _080A709C @ =0x0600E000
@@ -3456,7 +3456,7 @@ sub_080A70AC: @ 0x080A70AC
movs r1, #0xc0
lsls r1, r1, #2
adds r0, r4, #0
bl MemClear32
bl MemClear
adds r2, r4, #0
subs r2, #0x34
movs r0, #0x7f
@@ -3519,7 +3519,7 @@ sub_080A7124: @ 0x080A7124
ldr r0, _080A7134 @ =gUnk_02032EC0
movs r1, #0xed
lsls r1, r1, #2
bl MemClear32
bl MemClear
pop {pc}
.align 2, 0
_080A7134: .4byte gUnk_02032EC0
@@ -3536,7 +3536,7 @@ MenuFadeIn: @ 0x080A7138
movs r1, #0xed
lsls r1, r1, #2
adds r0, r4, #0
bl MemClear32
bl MemClear
strb r5, [r4, #2]
strb r6, [r4, #3]
ldr r0, _080A7160 @ =gMain
@@ -3767,22 +3767,22 @@ sub_080A7328: @ 0x080A7328
bl DeleteAllEntities
ldr r0, _080A738C @ =gMenu
movs r1, #0x30
bl MemClear32
bl MemClear
ldr r0, _080A7390 @ =gRoomControls
movs r1, #0x38
bl MemClear32
bl MemClear
ldr r0, _080A7394 @ =gUnk_03000420
movs r1, #0x80
lsls r1, r1, #1
bl MemClear32
bl MemClear
ldr r4, _080A7398 @ =gActiveScriptInfo
adds r0, r4, #0
movs r1, #0xc
bl MemClear32
bl MemClear
movs r0, #8
strb r0, [r4, #8]
movs r0, #1
bl sub_0801DA90
bl DispReset
bl MessageInitialize
bl sub_080ADD30
movs r0, #0
@@ -4943,7 +4943,7 @@ sub_080A7C7C: @ 0x080A7C7C
push {lr}
ldr r0, _080A7C88 @ =gUnk_02017660
movs r1, #0x40
bl MemClear32
bl MemClear
pop {pc}
.align 2, 0
_080A7C88: .4byte gUnk_02017660
+4 -4
View File
@@ -567,7 +567,7 @@ sub_080ADD30: @ 0x080ADD30
movs r1, #0x85
lsls r1, r1, #2
adds r0, r4, #0
bl MemClear32
bl MemClear
movs r5, #0
adds r4, #4
movs r0, #0x10
@@ -718,7 +718,7 @@ _080ADE54: .4byte gUnk_02024494
_080ADE58:
adds r0, r1, #0
movs r1, #0xc
bl MemClear32
bl MemClear
_080ADE60:
adds r5, #0xc
adds r4, #1
@@ -1084,7 +1084,7 @@ sub_080AE104: @ 0x080AE104
adds r1, r1, r5
lsls r1, r1, #2
adds r0, r4, #0
bl MemClear32
bl MemClear
strb r5, [r4, #1]
strh r6, [r4, #4]
adds r0, r4, #0
@@ -1396,7 +1396,7 @@ _080AE350:
stm r0!, {r2, r3, r7}
adds r0, r6, #0
movs r1, #0xc
bl MemClear32
bl MemClear
adds r6, #0xc
adds r5, #0xc
movs r0, #0xc
+16 -17
View File
@@ -1,32 +1,31 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
arm_func_start __start
__start: @ 0x08000000
b _080000C0
_08000004:
__start:
b start_vector
header:
.include "asm/rom_header.inc"
_080000C0:
start_vector:
mov r0, #0x12
msr cpsr_fc, r0
ldr sp, _080000F4 @ =gUnk_03007FA0
ldr sp, sp_irq
mov r0, #0x1f
msr cpsr_fc, r0
ldr sp, _080000F8 @ =gUnk_03007F00
ldr r1, _080000FC @ =0x03007FFC
ldr r0, _08000100 @ =gUnk_03005D90
ldr sp, sp_usr
ldr r1, INTR_VECTOR_BUF
ldr r0, intr_main
str r0, [r1]
ldr r1, _08000104 @ =MainLoop
ldr r1, =AgbMain
mov lr, pc
bx r1
_080000F0:
b _080000C0
_080000F4: .4byte gUnk_03007FA0
_080000F8: .4byte gUnk_03007F00
_080000FC: .4byte 0x03007FFC
_08000100: .4byte gUnk_03005D90
_08000104: .4byte MainLoop
b start_vector
sp_irq: .4byte gUnk_03007FA0
sp_usr: .4byte gUnk_03007F00
INTR_VECTOR_BUF: .4byte 0x03007FFC
intr_main: .4byte IntrMain
+1 -1
View File
@@ -160,7 +160,7 @@ _080441F2:
cmp r2, #0
bne _08044248
ldr r0, [r4, #0x64]
bl sub_0801DA0C
bl zFree
b _0804429A
.align 2, 0
_08044244: .4byte 0x000001EB
+8 -8
View File
@@ -341,13 +341,13 @@ _080864EE:
ldrsh r0, [r0, r1]
movs r1, #0x80
lsls r1, r1, #6
bl sub_0806F9EC
bl FixedMul
lsls r0, r0, #0x10
asrs r0, r0, #0x10
movs r4, #0x80
lsls r4, r4, #1
adds r1, r4, #0
bl sub_0806FA04
bl FixedDiv
adds r1, r6, #0
adds r1, #0x80
lsls r0, r0, #0x10
@@ -363,11 +363,11 @@ _080864EE:
ldrsh r0, [r0, r3]
movs r1, #0x80
lsls r1, r1, #5
bl sub_0806F9EC
bl FixedMul
lsls r0, r0, #0x10
asrs r0, r0, #0x10
adds r1, r4, #0
bl sub_0806FA04
bl FixedDiv
adds r1, r6, #0
adds r1, #0x84
lsls r0, r0, #0x10
@@ -520,13 +520,13 @@ _0808663A:
ldrsh r0, [r0, r1]
movs r1, #0x80
lsls r1, r1, #6
bl sub_0806F9EC
bl FixedMul
lsls r0, r0, #0x10
asrs r0, r0, #0x10
movs r5, #0x80
lsls r5, r5, #1
adds r1, r5, #0
bl sub_0806FA04
bl FixedDiv
adds r1, r7, #0
adds r1, #0x80
lsls r0, r0, #0x10
@@ -541,11 +541,11 @@ _0808663A:
ldrsh r0, [r0, r1]
movs r1, #0x80
lsls r1, r1, #5
bl sub_0806F9EC
bl FixedMul
lsls r0, r0, #0x10
asrs r0, r0, #0x10
adds r1, r5, #0
bl sub_0806FA04
bl FixedDiv
adds r1, r7, #0
adds r1, #0x84
lsls r0, r0, #0x10
+11 -11
View File
@@ -33,7 +33,7 @@ sub_080519B0: @ 0x080519B0
cmp r5, #0
bne _08051A02
movs r0, #1
bl sub_0801DA90
bl DispReset
bl sub_080A3210
bl zMallocInit
bl sub_080A7124
@@ -41,7 +41,7 @@ sub_080519B0: @ 0x080519B0
ldr r4, _08051A08 @ =gScreenTransition
adds r0, r4, #0
movs r1, #0xb0
bl MemClear32
bl MemClear
bl sub_08049CD4
bl sub_080300AC
bl sub_0807CA18
@@ -69,18 +69,18 @@ _08051A10: .4byte gMain
sub_08051A14: @ 0x08051A14
push {lr}
movs r0, #1
bl sub_0801DA90
bl DispReset
ldr r1, _08051A70 @ =gFadeControl
movs r0, #1
rsbs r0, r0, #0
str r0, [r1, #4]
ldr r0, _08051A74 @ =gUnk_03000000
ldr r1, _08051A78 @ =0x00000B74
bl MemClear32
bl MemClear
ldr r0, _08051A7C @ =gUnk_02032EC0
movs r1, #0xed
lsls r1, r1, #2
bl MemClear32
bl MemClear
bl EraseAllEntities
bl sub_080197AC
bl sub_08080668
@@ -368,7 +368,7 @@ sub_08051CF0: @ 0x08051CF0
cmp r4, #0
bne _08051D1E
movs r0, #1
bl sub_0801DA90
bl DispReset
strb r6, [r5, #3]
strb r4, [r5, #4]
ldr r0, _08051D28 @ =gScreenTransition
@@ -729,15 +729,15 @@ sub_08052010: @ 0x08052010
bl sub_080A3210
bl MessageInitialize
movs r0, #1
bl sub_0801DA90
bl DispReset
ldr r0, _0805207C @ =gBG1Buffer
movs r4, #0x80
lsls r4, r4, #4
adds r1, r4, #0
bl MemClear32
bl MemClear
ldr r0, _08052080 @ =gBG2Buffer
adds r1, r4, #0
bl MemClear32
bl MemClear
bl sub_080A4D34
movs r0, #0xa
bl LoadPaletteGroup
@@ -749,10 +749,10 @@ sub_08052010: @ 0x08052010
movs r0, #0xc0
lsls r0, r0, #0x13
movs r1, #0x20
bl MemClear32
bl MemClear
ldr r0, _08052084 @ =gMenu
movs r1, #0x30
bl MemClear32
bl MemClear
ldr r1, _08052088 @ =gScreen
ldrh r2, [r1]
movs r3, #0x80
+1 -1
View File
@@ -355,7 +355,7 @@ sub_080A0464: @ 0x080A0464
movs r0, #6
movs r1, #0xac
movs r2, #6
bl FindEntityInListBySubtype
bl FindEntityByID
cmp r0, #0
beq _080A048A
movs r1, #0x2e
+6 -6
View File
@@ -2824,11 +2824,11 @@ _0802E580:
ldrb r1, [r6]
lsls r1, r1, #0x18
asrs r1, r1, #0x10
bl sub_0806F9EC
bl FixedMul
lsls r0, r0, #0x10
asrs r0, r0, #0x10
adds r1, r7, #0
bl sub_0806FA04
bl FixedDiv
adds r1, r0, #0
ldrb r0, [r4, #1]
lsls r0, r0, #4
@@ -2838,11 +2838,11 @@ _0802E580:
ldrsh r0, [r0, r2]
lsls r1, r1, #0x10
asrs r1, r1, #0x10
bl sub_0806F9EC
bl FixedMul
lsls r0, r0, #0x10
asrs r0, r0, #0x10
adds r1, r7, #0
bl sub_0806FA04
bl FixedDiv
ldr r2, [r5]
lsls r0, r0, #0x10
asrs r0, r0, #8
@@ -2859,11 +2859,11 @@ _0802E580:
ldrb r1, [r6]
lsls r1, r1, #0x18
asrs r1, r1, #0x10
bl sub_0806F9EC
bl FixedMul
lsls r0, r0, #0x10
asrs r0, r0, #0x10
adds r1, r7, #0
bl sub_0806FA04
bl FixedDiv
ldr r2, [r5]
lsls r0, r0, #0x10
asrs r0, r0, #8
+1 -1
View File
@@ -153,7 +153,7 @@ sub_08064180: @ 0x08064180
movs r0, #7
movs r1, #0x15
movs r2, #7
bl FindEntityInListBySubtype
bl FindEntityByID
cmp r0, #0
beq _08064194
bl DeleteEntity
+5 -5
View File
@@ -112,10 +112,10 @@ sub_0804614C: @ 0x0804614C
movs r4, #0x80
lsls r4, r4, #8
adds r1, r4, #0
bl MemClear32
bl MemClear
ldr r0, _08046250 @ =gMapDataTopSpecial
adds r1, r4, #0
bl MemClear32
bl MemClear
adds r0, r6, #0
movs r1, #0
bl sub_0804660C
@@ -445,10 +445,10 @@ sub_08046498: @ 0x08046498
movs r4, #0x80
lsls r4, r4, #8
adds r1, r4, #0
bl MemClear32
bl MemClear
ldr r0, _080464BC @ =gMapDataTopSpecial
adds r1, r4, #0
bl MemClear32
bl MemClear
adds r0, r5, #0
bl sub_080464C0
pop {r4, r5, pc}
@@ -486,7 +486,7 @@ _080464DE:
ldr r0, _0804650C @ =gUnk_02019EE0
movs r1, #0x80
lsls r1, r1, #4
bl MemClear32
bl MemClear
ldr r1, _08046514 @ =gUnk_02000070
movs r0, #1
strb r0, [r1]
+9 -8
View File
@@ -49,16 +49,17 @@ _080B19C0: .4byte gRoomControls
_080B19C4: .4byte 0x80000020
_080B19C8: .4byte 0x040000D4
arm_func_start sub_080B19CC
sub_080B19CC: @ 0x080B19CC
ldrb r2, [r0, #0x38]
ldrh r1, [r0, #0x32]
ldrh r0, [r0, #0x2e]
@ r0 = entity*
arm_func_start _GetTileAtEntityPos
_GetTileAtEntityPos: @ 0x080B19CC
ldrb r2, [r0, #0x38] @ obj layer
ldrh r1, [r0, #0x32] @ obj y
ldrh r0, [r0, #0x2e] @ obj x
ldr ip, _080B1C10 @ =gRoomControls
ldrh r3, [ip, #6]
sub r0, r0, r3
sub r0, r0, r3 @ obj x - room x
ldrh r3, [ip, #8]
sub r1, r1, r3
sub r1, r1, r3 @ obj y - room y
lsl r0, r0, #0x16
lsr r0, r0, #0x1a
lsl r1, r1, #0x16
@@ -102,7 +103,7 @@ _080B1A64:
ldr r1, [r2]
lsl r0, r0, #1
ldrh r0, [r1, r0]
cmp r0, #0x4000
cmp r0, #0x4000 @ return tile index is OOB
bxhs lr
ldr r1, [r2, #4]
lsl r0, r0, #1
+1 -1
View File
@@ -230,7 +230,7 @@ sub_0808C01C: @ 0x0808C01C
subs r1, #0x18
movs r2, #0x30
movs r3, #0x30
bl sub_0806FBFC
bl CheckPlayerProximity
cmp r0, #0
beq _0808C0A6
ldr r2, _0808C06C @ =gArea
+2 -2
View File
@@ -656,7 +656,7 @@ sub_0806252C: @ 0x0806252C
lsls r0, r1, #0x10
asrs r0, r0, #0x10
movs r1, #0x14
bl sub_0806FA04
bl FixedDiv
lsls r0, r0, #0x10
asrs r0, r0, #0x10
mov sl, r0
@@ -664,7 +664,7 @@ sub_0806252C: @ 0x0806252C
lsls r0, r2, #0x10
asrs r0, r0, #0x10
movs r1, #0x14
bl sub_0806FA04
bl FixedDiv
lsls r0, r0, #0x10
asrs r0, r0, #0x10
mov r8, r0
+10 -10
View File
@@ -73,7 +73,7 @@ _08085566:
b _0808557A
_0808556C:
adds r0, r4, #0
bl DoesSimilarEntityExist
bl EntityHasDuplicateID
cmp r0, #0
beq _0808557A
bl DeleteThisEntity
@@ -349,13 +349,13 @@ _08085774:
lsls r4, r4, #0x10
asrs r4, r4, #0x18
adds r1, r4, #0
bl sub_0806F9EC
bl FixedMul
lsls r0, r0, #0x10
asrs r0, r0, #0x10
movs r5, #0x80
lsls r5, r5, #1
adds r1, r5, #0
bl sub_0806FA04
bl FixedDiv
lsls r0, r0, #0x10
asrs r0, r0, #8
ldr r1, [r7, #0x6c]
@@ -368,11 +368,11 @@ _08085774:
movs r2, #0
ldrsh r0, [r0, r2]
adds r1, r4, #0
bl sub_0806F9EC
bl FixedMul
lsls r0, r0, #0x10
asrs r0, r0, #0x10
adds r1, r5, #0
bl sub_0806FA04
bl FixedDiv
lsls r0, r0, #0x10
asrs r0, r0, #8
ldr r1, [r7, #0x70]
@@ -441,7 +441,7 @@ _0808581A:
movs r4, #0x80
lsls r4, r4, #1
adds r1, r4, #0
bl sub_0806F9EC
bl FixedMul
lsls r0, r0, #0x10
asrs r0, r0, #0x10
ldr r5, _080858A8 @ =gSineTable
@@ -450,13 +450,13 @@ _0808581A:
adds r1, r1, r5
movs r2, #0
ldrsh r1, [r1, r2]
bl sub_0806FA04
bl FixedDiv
strh r0, [r7, #0x24]
ldr r0, [r7, #0x70]
lsls r0, r0, #8
asrs r0, r0, #0x10
adds r1, r4, #0
bl sub_0806F9EC
bl FixedMul
lsls r0, r0, #0x10
asrs r0, r0, #0x10
ldrb r1, [r7, #0x15]
@@ -465,7 +465,7 @@ _0808581A:
adds r1, r1, r5
movs r2, #0
ldrsh r1, [r1, r2]
bl sub_0806FA04
bl FixedDiv
lsls r0, r0, #0x10
asrs r0, r0, #0x10
rsbs r4, r0, #0
@@ -1072,7 +1072,7 @@ _08085D0C:
sub_08085D10: @ 0x08085D10
push {r4, lr}
adds r4, r0, #0
bl DoesSimilarEntityExist
bl EntityHasDuplicateID
cmp r0, #0
beq _08085D26
ldrb r0, [r4, #0xb]
+2 -2
View File
@@ -19,14 +19,14 @@ LoadRoomEntity: @ 0x0804ADF8
bne _0804AE1C
ldrb r1, [r4, #2]
adds r0, r6, #0
bl FindEntityBySubtype
bl DeepFindEntityByID
cmp r0, #0
beq _0804AE1C
movs r0, #0
b _0804AEAC
_0804AE1C:
adds r0, r6, #0
bl GetEmptyEntityByType
bl GetEmptyEntityByKind
adds r5, r0, #0
cmp r5, #0
beq _0804AEAA
+2 -2
View File
@@ -360,7 +360,7 @@ sub_0809AA00: @ 0x0809AA00
movs r0, #7
movs r1, #0x38
movs r2, #7
bl FindEntityInListBySubtype
bl FindEntityByID
adds r4, r0, #0
adds r7, r5, #0
adds r7, #0x78
@@ -380,7 +380,7 @@ _0809AA30:
_0809AA3A:
adds r0, r4, #0
movs r1, #7
bl FindNextEntityOfSameSubtype
bl FindNextDuplicateID
adds r4, r0, #0
cmp r4, #0
bne _0809AA30
+1 -1
View File
@@ -338,7 +338,7 @@ _08059800:
lsls r5, r5, #4
adds r0, r4, #0
adds r1, r5, #0
bl MemClear32
bl MemClear
ldr r1, _08059820 @ =0x0600E800
adds r0, r4, #0
adds r2, r5, #0
+1 -1
View File
@@ -30,7 +30,7 @@ _08059E7C: .4byte gUnk_081085A4
sub_08059E80: @ 0x08059E80
push {r4, r5, lr}
adds r4, r0, #0
bl DoesSimilarEntityExist
bl EntityHasDuplicateID
cmp r0, #0
beq _08059E90
bl DeleteThisEntity
+1 -1
View File
@@ -10,7 +10,7 @@
sub_0805B3B4: @ 0x0805B3B4
push {r4, r5, lr}
adds r4, r0, #0
bl DoesSimilarEntityExist
bl EntityHasDuplicateID
cmp r0, #0
beq _0805B3C4
bl DeleteThisEntity
+1 -1
View File
@@ -342,7 +342,7 @@ _0805BB82:
strh r1, [r2, #0xc]
movs r0, #9
movs r1, #0x22
bl FindEntityBySubtype
bl DeepFindEntityByID
cmp r0, #0
beq _0805BBAE
bl sub_0805B8EC
+1 -1
View File
@@ -44,7 +44,7 @@ _0805D184:
ldr r4, _0805D1F8 @ =gUnk_030010AC
adds r0, r4, #0
movs r1, #0x20
bl MemClear32
bl MemClear
subs r4, #0xc
movs r1, #0
movs r0, #1
+1 -1
View File
@@ -72,7 +72,7 @@ sub_0805DE18: @ 0x0805DE18
movs r0, #9
movs r1, #0x36
movs r2, #6
bl FindEntityInListByForm
bl FindEntity
cmp r0, #0
beq _0805DE34
bl DeleteEntityAny
+1 -1
View File
@@ -492,7 +492,7 @@ sub_08059278: @ 0x08059278
movs r0, #9
movs r1, #0xf
movs r2, #6
bl FindEntityInListBySubtype
bl FindEntityByID
cmp r0, #0
beq _0805928C
bl sub_08058ECC
-62
View File
@@ -1,62 +0,0 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
thumb_func_start sub_08090F00
sub_08090F00: @ 0x08090F00
push {r4, r5, r6, lr}
adds r4, r0, #0
ldrb r1, [r4, #0xa]
cmp r1, #1
bne _08090F1C
ldr r0, [r4, #0x50]
ldrb r2, [r4, #0xf]
lsls r1, r2
ldr r0, [r0, #0x20]
ands r0, r1
cmp r0, #0
bne _08090F1C
bl DeleteThisEntity
_08090F1C:
ldr r6, _08090F64 @ =gPlayerState
ldr r0, [r6, #0x30]
movs r1, #0x80
ands r0, r1
cmp r0, #0
beq _08090F62
ldr r5, _08090F68 @ =gPlayerEntity
adds r0, r4, #0
adds r1, r5, #0
movs r2, #4
movs r3, #4
bl sub_080041A0
cmp r0, #0
beq _08090F62
movs r1, #0x36
ldrsh r0, [r5, r1]
cmp r0, #0
bne _08090F62
adds r2, r6, #0
adds r2, #0x90
ldr r1, _08090F6C @ =gUnk_0812225C
ldrb r0, [r4, #0xb]
lsls r0, r0, #1
adds r0, r0, r1
ldrh r1, [r2]
ldrh r0, [r0]
ands r0, r1
cmp r0, #0
beq _08090F62
ldrb r0, [r4, #0xe]
bl GetCurrentRoomProperty
bl DoExitTransition
_08090F62:
pop {r4, r5, r6, pc}
.align 2, 0
_08090F64: .4byte gPlayerState
_08090F68: .4byte gPlayerEntity
_08090F6C: .4byte gUnk_0812225C
+1 -1
View File
@@ -127,4 +127,4 @@ _08017438:
.align 2, 0
_0801749C: .4byte 0x000003FF
_080174A0: .4byte gPlayerEntity
.syntax divided
.syntax divided
+1 -1
View File
@@ -87,4 +87,4 @@ _080175D8: .4byte gUnk_020342F8
_080175DC: .4byte gNPCFunctions
_080175E0: .4byte gUnk_02031EC0
_080175E4: .4byte gRoomControls
.syntax divided
.syntax divided
+1 -1
View File
@@ -65,4 +65,4 @@ _080176DE:
pop {r4}
pop {r1}
bx r1
.syntax divided
.syntax divided
+1 -1
View File
@@ -51,4 +51,4 @@ _0801773A:
bx r1
.align 2, 0
_08017740: .4byte gUnk_03003C70
.syntax divided
.syntax divided
+1 -1
View File
@@ -47,4 +47,4 @@ _0801779A:
pop {r4, r5, r6, r7}
pop {r0}
bx r0
.syntax divided
.syntax divided
+1 -1
View File
@@ -92,4 +92,4 @@ _0801784A:
pop {r4, r5, r6}
pop {r1}
bx r1
.syntax divided
.syntax divided
+1 -1
View File
@@ -135,4 +135,4 @@ _08050FF4:
mov r8, r3
pop {r4, r5, r6, r7, pc}
.align 2, 0
.syntax divided
.syntax divided
+1 -1
View File
@@ -62,4 +62,4 @@ _080517A2:
pop {r4, r5, r6, r7, pc}
.align 2, 0
_080517B0: .4byte gMenu
.syntax divided
.syntax divided
+1 -1
View File
@@ -29,4 +29,4 @@ _080517DE:
.align 2, 0
_080517E4: .4byte gUnk_02019EE0
_080517E8: .4byte gUnk_02000090
.syntax divided
.syntax divided
+1 -1
View File
@@ -345,4 +345,4 @@ _0805134C:
.align 2, 0
_08051350: .4byte gSave
_08051354: .4byte gMenu
.syntax divided
.syntax divided
+2 -2
View File
@@ -6,7 +6,7 @@
ldr r0, _08052494 @ =gBG1Buffer
movs r1, #0x80
lsls r1, r1, #4
bl MemClear32
bl MemClear
ldr r0, _08052498 @ =gUnk_020227E8
movs r1, #0xf
str r1, [r0]
@@ -63,4 +63,4 @@ _08052498: .4byte gUnk_020227E8
_0805249C: .4byte gUnk_080FCA8C
_080524A0: .4byte gUnk_080FCAA4
_080524A4: .4byte gScreen
.syntax divided
.syntax divided
+1 -1
View File
@@ -54,4 +54,4 @@ _0803772C:
_0803773A:
pop {r4, pc}
.syntax divided
.syntax divided
+1 -1
View File
@@ -83,4 +83,4 @@ _080378AC:
_080378AE:
pop {r4, r5, r6, pc}
.syntax divided
.syntax divided
+1 -1
View File
@@ -36,4 +36,4 @@
_080379BA:
pop {r4, r5, pc}
.syntax divided
.syntax divided
+172
View File
@@ -0,0 +1,172 @@
.syntax unified
push {r4, r5, r6, r7, lr}
mov r7, r8
push {r7}
adds r5, r0, #0
adds r0, #0x81
ldrb r0, [r0]
cmp r0, #0
beq _08071654
adds r1, r5, #0
adds r1, #0x80
ldr r0, [r1]
adds r0, #0x80
lsls r0, r0, #0x14
lsrs r7, r0, #0x17
adds r4, r1, #0
b _0807166A
_08071654:
adds r4, r5, #0
adds r4, #0x80
ldrb r1, [r4]
lsrs r1, r1, #6
movs r0, #3
eors r1, r0
adds r1, #1
movs r0, #0x10
bl __divsi3
asrs r7, r0, #1
_0807166A:
adds r0, r5, #0
adds r0, #0x84
ldr r3, [r0]
movs r1, #0x80
lsls r1, r1, #1
adds r2, r0, #0
cmp r3, r1
bls _08071684
adds r0, r3, #0
adds r0, #0x80
lsls r0, r0, #0x14
lsrs r3, r0, #0x17
b _08071694
_08071684:
cmp r3, r1
bne _0807168C
movs r3, #0x10
b _08071694
_0807168C:
ldr r1, _080716B0 @ =gUnk_0811BABC
lsrs r0, r3, #5
adds r0, r0, r1
ldrb r3, [r0]
_08071694:
movs r0, #0x80
lsls r0, r0, #9
mov r8, r0
adds r0, r5, #0
adds r0, #0x5a
ldrb r0, [r0]
cmp r0, #2
beq _080716EA
cmp r0, #2
bgt _080716B4
cmp r0, #1
beq _080716BA
b _08071754
.align 2, 0
_080716B0: .4byte gUnk_0811BABC
_080716B4:
cmp r0, #3
beq _0807171E
b _08071754
_080716BA:
movs r1, #0x29
adds r1, r1, r5
mov ip, r1
ldrb r1, [r1]
movs r0, #0x39
rsbs r0, r0, #0
ands r0, r1
mov r1, ip
strb r0, [r1]
ldr r0, [r4]
cmp r0, #0x80
bls _080716D6
subs r0, r0, r7
str r0, [r4]
_080716D6:
lsls r1, r3, #1
ldr r0, [r2]
adds r0, r0, r1
str r0, [r2]
mov r0, r8
lsls r1, r0, #1
ldr r0, [r5, #0x30]
adds r0, r0, r1
str r0, [r5, #0x30]
b _08071754
_080716EA:
ldr r0, [r4]
adds r0, r0, r7
str r0, [r4]
ldr r1, [r2]
movs r6, #0x80
lsls r6, r6, #1
cmp r1, r6
bls _08071710
ldr r0, _0807170C @ =0x0000017F
cmp r1, r0
bhi _08071702
lsrs r3, r3, #1
_08071702:
subs r0, r1, r3
cmp r0, #0xff
bhi _08071716
str r6, [r2]
b _08071718
.align 2, 0
_0807170C: .4byte 0x0000017F
_08071710:
cmp r1, #0x80
bls _08071718
subs r0, r1, r3
_08071716:
str r0, [r2]
_08071718:
ldr r0, [r5, #0x34]
mov r1, r8
b _08071750
_0807171E:
ldr r0, [r4]
ldr r6, _08071740 @ =0x0000033F
cmp r0, r6
bhi _0807172A
adds r0, r0, r7
str r0, [r4]
_0807172A:
ldr r1, [r2]
cmp r1, r6
bls _08071744
movs r0, #8
strb r0, [r5, #0xe]
movs r0, #0x1e
strb r0, [r5, #0xf]
movs r0, #6
strb r0, [r5, #0xd]
b _0807174A
.align 2, 0
_08071740: .4byte 0x0000033F
_08071744:
lsls r0, r3, #1
adds r0, r1, r0
str r0, [r2]
_0807174A:
mov r0, r8
lsls r1, r0, #1
ldr r0, [r5, #0x34]
_08071750:
subs r0, r0, r1
str r0, [r5, #0x34]
_08071754:
ldr r1, [r4]
ldr r2, [r2]
adds r0, r5, #0
movs r3, #0
bl sub_0805EC9C
adds r0, r5, #0
bl UpdateAnimationSingleFrame
pop {r3}
mov r8, r3
pop {r4, r5, r6, r7, pc}
.syntax divided
+1 -1
View File
@@ -122,4 +122,4 @@ _08050C1C: .4byte 0x0000F24C
_08050C20: .4byte 0x040000D4
_08050C24: .4byte gUnk_080FC914
_08050C28: .4byte 0xFFFFF24D
.syntax divided
.syntax divided
+1 -1
View File
@@ -54,7 +54,7 @@ _08056112:
ldr r4, _0805612C @ =gUnk_02000010
adds r0, r4, #0
movs r1, #0x20
bl MemClear32
bl MemClear
ldr r0, _08056130 @ =0x4D435A33
str r0, [r4]
_08056124:
+4 -4
View File
@@ -2,14 +2,14 @@
push {r4, lr}
ldr r0, _08056598 @ =gUnk_02036A40
movs r1, #8
bl MemClear32
bl MemClear
ldr r0, _0805659C @ =gUnk_02024030
movs r1, #0x18
bl MemClear32
bl MemClear
ldr r4, _080565A0 @ =gUnk_02022780
adds r0, r4, #0
movs r1, #0xa8
bl MemClear32
bl MemClear
ldr r0, _080565A4 @ =gTextBox
adds r1, r4, #0
movs r2, #0x20
@@ -87,4 +87,4 @@ _080565A4: .4byte gTextBox
_080565A8: .4byte gSave
_080565AC: .4byte gUnk_08107BE0
_080565B0: .4byte gUnk_02000D00
.syntax divided
.syntax divided
+1 -1
View File
@@ -170,7 +170,7 @@ sub_0808D030: @ 0x0808D030
adds r0, r4, #0
subs r0, #0x20
ldr r1, _0808D05C @ =0x00000B74
bl MemClear32
bl MemClear
movs r1, #0xa8
lsls r1, r1, #2
adds r0, r1, #0
+2 -2
View File
@@ -247,7 +247,7 @@ sub_0808D280: @ 0x0808D280
movs r1, #0x3e
movs r2, #6
movs r3, #9
bl FindEntityInListByForm
bl FindEntity
adds r2, r0, #0
cmp r2, #0
beq _0808D2C4
@@ -287,7 +287,7 @@ sub_0808D2CC: @ 0x0808D2CC
movs r1, #0x3e
movs r2, #6
movs r3, #1
bl FindEntityInListByForm
bl FindEntity
adds r1, r0, #0
cmp r1, #0
beq _0808D2F2
+6 -6
View File
@@ -235,7 +235,7 @@ sub_08094BE0: @ 0x08094BE0
movs r1, #0x6a
movs r2, #6
movs r3, #0x22
bl FindEntityInListByForm
bl FindEntity
adds r4, r0, #0
cmp r4, #0
beq _08094C22
@@ -390,7 +390,7 @@ sub_08094D10: @ 0x08094D10
movs r1, #0x6a
movs r2, #6
movs r3, #3
bl FindEntityInListByForm
bl FindEntity
adds r1, r0, #0
cmp r1, #0
beq _08094D2E
@@ -442,7 +442,7 @@ sub_08094D70: @ 0x08094D70
movs r1, #0x6a
movs r2, #6
movs r3, #0x15
bl FindEntityInListByForm
bl FindEntity
adds r1, r0, #0
cmp r1, #0
beq _08094D8E
@@ -527,7 +527,7 @@ sub_08094E0C: @ 0x08094E0C
movs r1, #0x6a
movs r2, #6
movs r3, #4
bl FindEntityInListByForm
bl FindEntity
adds r1, r0, #0
cmp r1, #0
beq _08094E2A
@@ -951,7 +951,7 @@ sub_08095164: @ 0x08095164
movs r1, #0x6a
movs r2, #6
movs r3, #8
bl FindEntityInListByForm
bl FindEntity
cmp r0, #0
beq _08095182
movs r1, #3
@@ -2103,7 +2103,7 @@ sub_08095A68: @ 0x08095A68
movs r1, #0x6a
movs r2, #6
movs r3, #0x16
bl FindEntityInListByForm
bl FindEntity
adds r1, r0, #0
cmp r1, #0
beq _08095A86
+4 -4
View File
@@ -968,13 +968,13 @@ sub_0809A648: @ 0x0809A648
lsls r5, r5, #8
asrs r5, r5, #0x10
adds r1, r5, #0
bl sub_0806F9EC
bl FixedMul
lsls r0, r0, #0x10
asrs r0, r0, #0x10
movs r4, #0x80
lsls r4, r4, #1
adds r1, r4, #0
bl sub_0806FA04
bl FixedDiv
ldr r1, [r7, #0x50]
lsls r0, r0, #0x10
asrs r0, r0, #8
@@ -989,11 +989,11 @@ sub_0809A648: @ 0x0809A648
movs r2, #0
ldrsh r0, [r0, r2]
adds r1, r5, #0
bl sub_0806F9EC
bl FixedMul
lsls r0, r0, #0x10
asrs r0, r0, #0x10
adds r1, r4, #0
bl sub_0806FA04
bl FixedDiv
ldr r1, [r7, #0x50]
lsls r0, r0, #0x10
asrs r0, r0, #8
+4 -4
View File
@@ -1024,13 +1024,13 @@ sub_0809CB70: @ 0x0809CB70
lsls r5, r5, #0x10
asrs r5, r5, #0x10
adds r1, r5, #0
bl sub_0806F9EC
bl FixedMul
lsls r0, r0, #0x10
asrs r0, r0, #0x10
movs r1, #0x80
lsls r1, r1, #1
mov r8, r1
bl sub_0806FA04
bl FixedDiv
ldr r1, [r6, #0x50]
lsls r0, r0, #0x10
asrs r0, r0, #8
@@ -1043,11 +1043,11 @@ sub_0809CB70: @ 0x0809CB70
movs r1, #0
ldrsh r0, [r4, r1]
adds r1, r5, #0
bl sub_0806F9EC
bl FixedMul
lsls r0, r0, #0x10
asrs r0, r0, #0x10
mov r1, r8
bl sub_0806FA04
bl FixedDiv
ldr r2, [r6, #0x50]
lsls r0, r0, #0x10
asrs r0, r0, #8
+4 -4
View File
@@ -62,7 +62,7 @@ sub_0809D9D8: @ 0x0809D9D8
bl InitAnimationForceUpdate
adds r0, r4, #0
movs r1, #6
bl FindNextEntityOfSameSubtype
bl FindNextDuplicateID
cmp r0, #0
beq _0809DA1E
str r4, [r0, #0x50]
@@ -436,7 +436,7 @@ sub_0809DC80: @ 0x0809DC80
bl InitAnimationForceUpdate
adds r0, r4, #0
movs r1, #6
bl FindNextEntityOfSameSubtype
bl FindNextDuplicateID
cmp r0, #0
beq _0809DD00
str r4, [r0, #0x50]
@@ -1141,7 +1141,7 @@ sub_0809E238: @ 0x0809E238
adds r5, #0x6c
movs r2, #0
ldrsh r1, [r5, r2]
bl sub_0806F9EC
bl FixedMul
adds r4, r0, #0
lsls r4, r4, #0x10
asrs r4, r4, #0x10
@@ -1154,7 +1154,7 @@ sub_0809E238: @ 0x0809E238
ldrsh r0, [r0, r2]
movs r2, #0
ldrsh r1, [r5, r2]
bl sub_0806F9EC
bl FixedMul
lsls r0, r0, #0x10
asrs r0, r0, #0x10
adds r1, r7, #0
+1 -1
View File
@@ -281,7 +281,7 @@ _08083DA0:
_08083DA8: .4byte gSave
_08083DAC:
ldrb r0, [r4, #0xa]
bl sub_080544DC
bl GetBottleContaining
adds r1, r0, #0
cmp r1, #0
beq _08083DC8
+20 -20
View File
@@ -597,13 +597,13 @@ _08035616:
adds r1, r4, #0
ands r1, r2
lsls r1, r1, #8
bl sub_0806F9EC
bl FixedMul
lsls r0, r0, #0x10
asrs r0, r0, #0x10
movs r5, #0x80
lsls r5, r5, #1
adds r1, r5, #0
bl sub_0806FA04
bl FixedDiv
lsrs r0, r0, #8
adds r1, r7, #0
adds r1, #0x62
@@ -619,11 +619,11 @@ _08035616:
ands r4, r1
lsls r4, r4, #8
adds r1, r4, #0
bl sub_0806F9EC
bl FixedMul
lsls r0, r0, #0x10
asrs r0, r0, #0x10
adds r1, r5, #0
bl sub_0806FA04
bl FixedDiv
lsls r0, r0, #0x10
asrs r0, r0, #8
rsbs r0, r0, #0
@@ -3086,13 +3086,13 @@ sub_08036914: @ 0x08036914
lsls r6, r6, #0x10
asrs r6, r6, #0x10
adds r1, r6, #0
bl sub_0806F9EC
bl FixedMul
lsls r0, r0, #0x10
asrs r0, r0, #0x10
movs r1, #0x80
lsls r1, r1, #1
mov r8, r1
bl sub_0806FA04
bl FixedDiv
ldr r1, [r5, #0x50]
lsls r0, r0, #0x10
asrs r0, r0, #8
@@ -3105,11 +3105,11 @@ sub_08036914: @ 0x08036914
movs r1, #0
ldrsh r0, [r4, r1]
adds r1, r6, #0
bl sub_0806F9EC
bl FixedMul
lsls r0, r0, #0x10
asrs r0, r0, #0x10
mov r1, r8
bl sub_0806FA04
bl FixedDiv
ldr r2, [r5, #0x50]
lsls r0, r0, #0x10
asrs r0, r0, #8
@@ -3270,11 +3270,11 @@ _08036A78:
movs r1, #0
ldrsh r0, [r0, r1]
adds r1, r6, #0
bl sub_0806F9EC
bl FixedMul
lsls r0, r0, #0x10
asrs r0, r0, #0x10
adds r1, r7, #0
bl sub_0806FA04
bl FixedDiv
ldr r2, [r5]
ldr r1, [r5, #4]
lsls r0, r0, #0x10
@@ -3293,11 +3293,11 @@ _08036A78:
movs r1, #0
ldrsh r0, [r0, r1]
adds r1, r6, #0
bl sub_0806F9EC
bl FixedMul
lsls r0, r0, #0x10
asrs r0, r0, #0x10
adds r1, r7, #0
bl sub_0806FA04
bl FixedDiv
ldr r2, [r5]
ldr r1, [r5, #4]
lsls r0, r0, #0x10
@@ -3386,12 +3386,12 @@ _08036B48:
movs r3, #0
ldrsh r0, [r0, r3]
mov r1, sl
bl sub_0806F9EC
bl FixedMul
lsls r0, r0, #0x10
asrs r0, r0, #0x10
movs r1, #0x80
lsls r1, r1, #1
bl sub_0806FA04
bl FixedDiv
ldr r2, [r5]
ldr r1, [r6]
lsls r0, r0, #0x10
@@ -3409,12 +3409,12 @@ _08036B48:
movs r2, #0
ldrsh r0, [r0, r2]
mov r1, sl
bl sub_0806F9EC
bl FixedMul
lsls r0, r0, #0x10
asrs r0, r0, #0x10
movs r1, #0x80
lsls r1, r1, #1
bl sub_0806FA04
bl FixedDiv
ldr r2, [r5]
ldr r1, [r6]
b _08036C6E
@@ -3475,12 +3475,12 @@ _08036C0E:
movs r2, #0
ldrsh r0, [r0, r2]
mov r1, sl
bl sub_0806F9EC
bl FixedMul
lsls r0, r0, #0x10
asrs r0, r0, #0x10
movs r1, #0x80
lsls r1, r1, #1
bl sub_0806FA04
bl FixedDiv
ldr r2, [r4]
adds r5, r6, r7
ldr r1, [r5]
@@ -3499,12 +3499,12 @@ _08036C0E:
movs r1, #0
ldrsh r0, [r0, r1]
mov r1, sl
bl sub_0806F9EC
bl FixedMul
lsls r0, r0, #0x10
asrs r0, r0, #0x10
movs r1, #0x80
lsls r1, r1, #1
bl sub_0806FA04
bl FixedDiv
ldr r2, [r4]
ldr r1, [r5]
_08036C6E:
+5 -5
View File
@@ -235,7 +235,7 @@ sub_08063C14: @ 0x08063C14
push {lr}
movs r0, #7
movs r1, #0x14
bl FindEntityBySubtype
bl DeepFindEntityByID
cmp r0, #0
beq _08063C28
movs r1, #8
@@ -249,7 +249,7 @@ sub_08063C2C: @ 0x08063C2C
push {lr}
movs r0, #7
movs r1, #0x14
bl FindEntityBySubtype
bl DeepFindEntityByID
cmp r0, #0
beq _08063C40
movs r1, #4
@@ -263,7 +263,7 @@ sub_08063C44: @ 0x08063C44
push {lr}
movs r0, #7
movs r1, #0x14
bl FindEntityBySubtype
bl DeepFindEntityByID
cmp r0, #0
beq _08063C58
movs r1, #0
@@ -277,7 +277,7 @@ sub_08063C5C: @ 0x08063C5C
push {lr}
movs r0, #7
movs r1, #0x14
bl FindEntityBySubtype
bl DeepFindEntityByID
cmp r0, #0
beq _08063C70
movs r1, #9
@@ -291,7 +291,7 @@ sub_08063C74: @ 0x08063C74
push {lr}
movs r0, #7
movs r1, #0x14
bl FindEntityBySubtype
bl DeepFindEntityByID
cmp r0, #0
beq _08063C8C
movs r2, #0x18
+3 -3
View File
@@ -938,7 +938,7 @@ _0806AAEE:
adds r0, #0xac
ldr r0, [r0]
movs r1, #7
bl FindNextEntityOfSameSubtype
bl FindNextDuplicateID
adds r1, r0, #0
adds r0, r4, #0
adds r0, #0xb0
@@ -948,7 +948,7 @@ _0806AB02:
adds r0, #0xb0
ldr r0, [r0]
movs r1, #7
bl FindNextEntityOfSameSubtype
bl FindNextDuplicateID
adds r1, r0, #0
mov r0, r8
adds r0, #0xb4
@@ -1041,7 +1041,7 @@ sub_0806AB9C: @ 0x0806AB9C
movs r1, #0x37
movs r2, #7
movs r3, #1
bl FindEntityInListByForm
bl FindEntity
cmp r0, #0
beq _0806ABBC
bl DeleteEntity
+2 -2
View File
@@ -378,7 +378,7 @@ sub_08068578: @ 0x08068578
lsls r0, r1, #0x10
asrs r0, r0, #0x10
movs r1, #0x14
bl sub_0806FA04
bl FixedDiv
lsls r0, r0, #0x10
asrs r0, r0, #0x10
mov sl, r0
@@ -386,7 +386,7 @@ sub_08068578: @ 0x08068578
lsls r0, r2, #0x10
asrs r0, r0, #0x10
movs r1, #0x14
bl sub_0806FA04
bl FixedDiv
lsls r0, r0, #0x10
asrs r0, r0, #0x10
mov r8, r0
-138
View File
@@ -708,141 +708,3 @@ gUnk_0811B9D0:: @ 0811B9D0
gUnk_0811B9D8:: @ 0811B9D8
.incbin "baserom.gba", 0x11B9D8, 0x0000008
gUnk_0811B9E0:: @ 0811B9E0
.incbin "baserom.gba", 0x11B9E0, 0x0000080
gUnk_0811BA60:: @ 0811BA60
.incbin "baserom.gba", 0x11BA60, 0x0000008
gUnk_0811BA68:: @ 0811BA68
.incbin "baserom.gba", 0x11BA68, 0x000000C
gUnk_0811BA74:: @ 0811BA74
.incbin "baserom.gba", 0x11BA74, 0x0000008
gUnk_0811BA7C:: @ 0811BA7C
.incbin "baserom.gba", 0x11BA7C, 0x000000C
gUnk_0811BA88:: @ 0811BA88
.incbin "baserom.gba", 0x11BA88, 0x000000C
gUnk_0811BA94:: @ 0811BA94
.incbin "baserom.gba", 0x11BA94, 0x0000008
gUnk_0811BA9C:: @ 0811BA9C
.incbin "baserom.gba", 0x11BA9C, 0x0000020
gUnk_0811BABC:: @ 0811BABC
.incbin "baserom.gba", 0x11BABC, 0x0000008
gUnk_0811BAC4:: @ 0811BAC4
.incbin "baserom.gba", 0x11BAC4, 0x0000010
gUnk_0811BAD4:: @ 0811BAD4
.incbin "baserom.gba", 0x11BAD4, 0x0000010
gUnk_0811BAE4:: @ 0811BAE4
.incbin "baserom.gba", 0x11BAE4, 0x000000C
gUnk_0811BAF0:: @ 0811BAF0
.incbin "baserom.gba", 0x11BAF0, 0x000003C
gUnk_0811BB2C:: @ 0811BB2C
.incbin "baserom.gba", 0x11BB2C, 0x000000C
gUnk_0811BB38:: @ 0811BB38
.incbin "baserom.gba", 0x11BB38, 0x0000004
gUnk_0811BB3C:: @ 0811BB3C
.incbin "baserom.gba", 0x11BB3C, 0x000000C
gUnk_0811BB48:: @ 0811BB48
.incbin "baserom.gba", 0x11BB48, 0x0000008
gUnk_0811BB50:: @ 0811BB50
.incbin "baserom.gba", 0x11BB50, 0x0000008
gUnk_0811BB58:: @ 0811BB58
.incbin "baserom.gba", 0x11BB58, 0x0000008
gUnk_0811BB60:: @ 0811BB60
.incbin "baserom.gba", 0x11BB60, 0x0000008
gUnk_0811BB68:: @ 0811BB68
.incbin "baserom.gba", 0x11BB68, 0x0000008
gUnk_0811BB70:: @ 0811BB70
.incbin "baserom.gba", 0x11BB70, 0x0000010
gUnk_0811BB80:: @ 0811BB80
.incbin "baserom.gba", 0x11BB80, 0x0000008
gUnk_0811BB88:: @ 0811BB88
.incbin "baserom.gba", 0x11BB88, 0x0000008
gUnk_0811BB90:: @ 0811BB90
.incbin "baserom.gba", 0x11BB90, 0x0000008
gUnk_0811BB98:: @ 0811BB98
.incbin "baserom.gba", 0x11BB98, 0x0000014
gUnk_0811BBAC:: @ 0811BBAC
.incbin "baserom.gba", 0x11BBAC, 0x0000010
gUnk_0811BBBC:: @ 0811BBBC
.incbin "baserom.gba", 0x11BBBC, 0x0000006
gUnk_0811BBC2:: @ 0811BBC2
.incbin "baserom.gba", 0x11BBC2, 0x0000006
gUnk_0811BBC8:: @ 0811BBC8
.incbin "baserom.gba", 0x11BBC8, 0x0000006
gUnk_0811BBCE:: @ 0811BBCE
.incbin "baserom.gba", 0x11BBCE, 0x0000006
gUnk_0811BBD4:: @ 0811BBD4
.incbin "baserom.gba", 0x11BBD4, 0x0000010
gUnk_0811BBE4:: @ 0811BBE4
.incbin "baserom.gba", 0x11BBE4, 0x0000008
gUnk_0811BBEC:: @ 0811BBEC
.incbin "baserom.gba", 0x11BBEC, 0x000000C
gUnk_0811BBF8:: @ 0811BBF8
.incbin "baserom.gba", 0x11BBF8, 0x0000010
gUnk_0811BC08:: @ 0811BC08
.incbin "baserom.gba", 0x11BC08, 0x0000020
gUnk_0811BC28:: @ 0811BC28
.incbin "baserom.gba", 0x11BC28, 0x0000008
gUnk_0811BC30:: @ 0811BC30
.incbin "baserom.gba", 0x11BC30, 0x0000008
gUnk_0811BC38:: @ 0811BC38
.incbin "baserom.gba", 0x11BC38, 0x0000008
gUnk_0811BC40:: @ 0811BC40
.incbin "baserom.gba", 0x11BC40, 0x0000008
gUnk_0811BC48:: @ 0811BC48
.incbin "baserom.gba", 0x11BC48, 0x0000018
gUnk_0811BC60:: @ 0811BC60
.incbin "baserom.gba", 0x11BC60, 0x0000020
gUnk_0811BC80:: @ 0811BC80
.incbin "baserom.gba", 0x11BC80, 0x0000008
gUnk_0811BC88:: @ 0811BC88
.incbin "baserom.gba", 0x11BC88, 0x0000010
gUnk_0811BC98:: @ 0811BC98
.incbin "baserom.gba", 0x11BC98, 0x000001C
gUnk_0811BCB4:: @ 0811BCB4
.incbin "baserom.gba", 0x11BCB4, 0x0000010
+140
View File
@@ -0,0 +1,140 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.section .rodata
.align 2
gUnk_0811BA60:: @ 0811BA60
.incbin "baserom.gba", 0x11BA60, 0x0000008
gUnk_0811BA68:: @ 0811BA68
.incbin "baserom.gba", 0x11BA68, 0x000000C
gUnk_0811BA74:: @ 0811BA74
.incbin "baserom.gba", 0x11BA74, 0x0000008
gUnk_0811BA7C:: @ 0811BA7C
.incbin "baserom.gba", 0x11BA7C, 0x000000C
gUnk_0811BA88:: @ 0811BA88
.incbin "baserom.gba", 0x11BA88, 0x000000C
gUnk_0811BA94:: @ 0811BA94
.incbin "baserom.gba", 0x11BA94, 0x0000008
gUnk_0811BA9C:: @ 0811BA9C
.incbin "baserom.gba", 0x11BA9C, 0x0000020
gUnk_0811BABC:: @ 0811BABC
.incbin "baserom.gba", 0x11BABC, 0x0000008
gUnk_0811BAC4:: @ 0811BAC4
.incbin "baserom.gba", 0x11BAC4, 0x0000010
gUnk_0811BAD4:: @ 0811BAD4
.incbin "baserom.gba", 0x11BAD4, 0x0000010
gUnk_0811BAE4:: @ 0811BAE4
.incbin "baserom.gba", 0x11BAE4, 0x000000C
gUnk_0811BAF0:: @ 0811BAF0
.incbin "baserom.gba", 0x11BAF0, 0x000003C
gUnk_0811BB2C:: @ 0811BB2C
.incbin "baserom.gba", 0x11BB2C, 0x000000C
gUnk_0811BB38:: @ 0811BB38
.incbin "baserom.gba", 0x11BB38, 0x0000004
gUnk_0811BB3C:: @ 0811BB3C
.incbin "baserom.gba", 0x11BB3C, 0x000000C
gUnk_0811BB48:: @ 0811BB48
.incbin "baserom.gba", 0x11BB48, 0x0000008
gUnk_0811BB50:: @ 0811BB50
.incbin "baserom.gba", 0x11BB50, 0x0000008
gUnk_0811BB58:: @ 0811BB58
.incbin "baserom.gba", 0x11BB58, 0x0000008
gUnk_0811BB60:: @ 0811BB60
.incbin "baserom.gba", 0x11BB60, 0x0000008
gUnk_0811BB68:: @ 0811BB68
.incbin "baserom.gba", 0x11BB68, 0x0000008
gUnk_0811BB70:: @ 0811BB70
.incbin "baserom.gba", 0x11BB70, 0x0000010
gUnk_0811BB80:: @ 0811BB80
.incbin "baserom.gba", 0x11BB80, 0x0000008
gUnk_0811BB88:: @ 0811BB88
.incbin "baserom.gba", 0x11BB88, 0x0000008
gUnk_0811BB90:: @ 0811BB90
.incbin "baserom.gba", 0x11BB90, 0x0000008
gUnk_0811BB98:: @ 0811BB98
.incbin "baserom.gba", 0x11BB98, 0x0000014
gUnk_0811BBAC:: @ 0811BBAC
.incbin "baserom.gba", 0x11BBAC, 0x0000010
gUnk_0811BBBC:: @ 0811BBBC
.incbin "baserom.gba", 0x11BBBC, 0x0000006
gUnk_0811BBC2:: @ 0811BBC2
.incbin "baserom.gba", 0x11BBC2, 0x0000006
gUnk_0811BBC8:: @ 0811BBC8
.incbin "baserom.gba", 0x11BBC8, 0x0000006
gUnk_0811BBCE:: @ 0811BBCE
.incbin "baserom.gba", 0x11BBCE, 0x0000006
gUnk_0811BBD4:: @ 0811BBD4
.incbin "baserom.gba", 0x11BBD4, 0x0000010
gUnk_0811BBE4:: @ 0811BBE4
.incbin "baserom.gba", 0x11BBE4, 0x0000008
gUnk_0811BBEC:: @ 0811BBEC
.incbin "baserom.gba", 0x11BBEC, 0x000000C
gUnk_0811BBF8:: @ 0811BBF8
.incbin "baserom.gba", 0x11BBF8, 0x0000010
gUnk_0811BC08:: @ 0811BC08
.incbin "baserom.gba", 0x11BC08, 0x0000020
gUnk_0811BC28:: @ 0811BC28
.incbin "baserom.gba", 0x11BC28, 0x0000008
gUnk_0811BC30:: @ 0811BC30
.incbin "baserom.gba", 0x11BC30, 0x0000008
gUnk_0811BC38:: @ 0811BC38
.incbin "baserom.gba", 0x11BC38, 0x0000008
gUnk_0811BC40:: @ 0811BC40
.incbin "baserom.gba", 0x11BC40, 0x0000008
gUnk_0811BC48:: @ 0811BC48
.incbin "baserom.gba", 0x11BC48, 0x0000018
gUnk_0811BC60:: @ 0811BC60
.incbin "baserom.gba", 0x11BC60, 0x0000020
gUnk_0811BC80:: @ 0811BC80
.incbin "baserom.gba", 0x11BC80, 0x0000008
gUnk_0811BC88:: @ 0811BC88
.incbin "baserom.gba", 0x11BC88, 0x0000010
gUnk_0811BC98:: @ 0811BC98
.incbin "baserom.gba", 0x11BC98, 0x000001C
gUnk_0811BCB4:: @ 0811BCB4
.incbin "baserom.gba", 0x11BCB4, 0x0000010
+7 -6
View File
@@ -11,14 +11,15 @@ typedef struct {
u16 localFlagOffset;
u8 filler[10];
u16 field_0x10;
u16 field_0x12;
u16 field_0x14;
u8 field_0x16;
u8 field_0x17;
u16 curPortalX;
u16 curPortalY;
u8 curPortalExitDirection;
u8 curPortalType;
u8 field_0x18;
// u8 filler3[7];
u8 fadeOut;
u8 filler2[14];
bool8 playShrinkSeq;
u8 unk1A;
u8 filler2[13];
u8 filler4[0x835];
u32 musicIndex;
u32 pMusicIndex;
+6
View File
@@ -0,0 +1,6 @@
#ifndef ARM_PROXY_H
#define ARM_PROXY_H
extern void PrepNextFrame(void);
#endif
+20 -2
View File
@@ -1,6 +1,8 @@
#ifndef AUDIO_H
#define AUDIO_H
typedef enum {
NONE,
SFX_NONE,
BGM_CASTLE_TOURNAMENT,
BGM_VAATI_MOTIF,
BGM_TITLE_SCREEN,
@@ -210,6 +212,8 @@ typedef enum {
SFX_PLY_SHRINKING = 0x16F,
SFX_PLY_GROW,
SFX_EZLO_UI = 0x173,
SFX_LAVA_TILE_STEP = 0x17B,
SFX_LAVA_TILE_WOBBLE,
SFX_LAVA_TILE_SINK,
@@ -240,4 +244,18 @@ typedef enum {
SFX_VO_CUCCO3,
SFX_VO_CUCCO4,
SFX_VO_CUCCO5,
} Sound;
SND_STOP_ALL = 0x80010000,
SONG_VOL_ZERO = 0x80020000,
SND_VOL_RESET_ALL = 0x80030000,
SND_VSYNC_OFF = 0x80040000,
SONG_STOP = 0x80050000,
SND_VSYNC_ON = 0x80060000,
SONG_VOL_FADE_OUT = 0x80080000,
SONG_VOL_RESET = 0x800B0000,
SONG_VOL_CHAN1_SILENT = 0x800D0000,
SONG_VOL_CHAN1_RESET = 0x800E0000,
SONG_RESET_UNK = 0x80100000,
} Sound;
#endif // AUDIO_H
+7
View File
@@ -4,11 +4,18 @@
#include "global.h"
#include "entity.h"
s16 FixedMul(s16 r0, s16 r1);
s16 FixedDiv(s16 r0, s16 r1);
void CopyPosition(Entity*, Entity*);
void PositionEntityOnTop(Entity*, Entity*);
void PositionRelative(Entity*, Entity*, s32, s32);
void CopyPositionAndSpriteOffset(Entity* param_1, Entity* param_2);
void sub_0806FA90(Entity*, Entity*, s32, s32);
void ResolveEntityOnTop(Entity*, Entity*);
void sub_0806FAD8(Entity*, Entity*);
const s16 gSineTable[64];
const s16 gCosineTable[256];
#endif
+8
View File
@@ -0,0 +1,8 @@
#ifndef CREATEOBJECT_H
#define CREATEOBJECT_H
// maybe a dedicated (create)Effect.h/c
void CreateDust(Entity* parent);
void CreateDustSmall(Entity* parent);
#endif // CREATEOBJECT_H
-2
View File
@@ -89,7 +89,6 @@ extern void VaatiWrath(Entity*);
extern void VaatiArm(Entity*);
extern void Dust(Entity*);
extern void VaatiBall(Entity*);
extern void Octorok(Entity*);
extern void Slime(Entity*);
extern void MiniSlime(Entity*);
extern void FireballGuy(Entity*);
@@ -110,6 +109,5 @@ extern void Enemy66(Entity*);
extern u32 GetNextFunction(Entity*);
extern void EnemyFunctionHandler(Entity*, void (*const func[])(Entity*));
extern void sub_0804AA30(Entity*, void (*const func[])(Entity*));
extern void sub_08001324(Entity*);
#endif
+77 -31
View File
@@ -47,7 +47,7 @@ typedef struct Entity {
/*0x0a*/ u8 type; // was: form
/*0x0b*/ u8 type2; // was: parameter
/*0x0c*/ u8 action;
/*0x0d*/ u8 previousActionFlag;
/*0x0d*/ u8 subAction;
/*0x0e*/ u8 actionDelay;
/*0x0f*/ u8 field_0xf;
/*0x10*/ u8 flags;
@@ -108,7 +108,7 @@ typedef struct Entity {
/*0x3a*/ u8 field_0x3a;
/*0x3b*/ u8 flags2;
/*0x3c*/ u8 field_0x3c;
/*0x3d*/ s8 hurtBlinkTime;
/*0x3d*/ s8 iframes;
/*0x3e*/ u8 field_0x3e;
/*0x3f*/ u8 damageType;
/*0x40*/ u8 field_0x40;
@@ -166,37 +166,14 @@ extern LinkedList gUnk_03003D90;
extern LinkedList gUnk_03003DA0;
#define TILE(x, y) \
((((x - gRoomControls.roomOriginX) >> 4) & 0x3fU) | \
(((y - gRoomControls.roomOriginY) >> 4) & 0x3fU) << 6)
(((((x) - gRoomControls.roomOriginX) >> 4) & 0x3fU) | \
((((y) - gRoomControls.roomOriginY) >> 4) & 0x3fU) << 6)
#define COORD_TO_TILE(entity) \
TILE(entity->x.HALF.HI, entity->y.HALF.HI)
TILE((entity)->x.HALF.HI, (entity)->y.HALF.HI)
#define COORD_TO_TILE_OFFSET(entity, xOff, yOff) \
TILE(entity->x.HALF.HI - xOff, entity->y.HALF.HI - yOff)
extern Entity* CreateEnemy(u32 subtype, u32 form);
extern Entity* CreateObject(u32 subtype, u32 form, u32 parameter);
extern Entity* CreateNPC(u32 subtype, u32 form, u32 parameter);
extern Entity* CreateObjectWithParent(Entity* parent, u32 subtype, u32 form, u32 parameter);
extern Entity* CreateFx(Entity* parent, u32 form, u32 parameter);
extern void InitializeAnimation(Entity*, u32);
extern void InitAnimationForceUpdate(Entity*, u32);
extern void UpdateAnimationSingleFrame(Entity*);
extern void UpdateSpriteForCollisionLayer(Entity*);
extern void GetNextFrame(Entity*);
extern u32 LoadExtraSpriteData(Entity*, SpriteLoadData*);
extern void SetExtraSpriteFrame(Entity*, u32, u32);
extern void SetSpriteSubEntryOffsetData1(Entity*, u32, u32);
extern void SetSpriteSubEntryOffsetData2(Entity*, u32, u32);
extern u32 GetFacingDirection(Entity*, Entity*);
extern void DeleteThisEntity(void);
extern void CopyPosition(Entity*, Entity*);
extern void DeleteEntity(Entity*);
extern void PositionRelative(Entity*, Entity*, s32, s32);
TILE((entity)->x.HALF.HI - (xOff), (entity)->y.HALF.HI - (yOff))
enum {
DirectionNorth = 0x00,
@@ -211,12 +188,81 @@ enum {
#define DirectionIsVertical(expr) ((expr) & 0x10)
#define DirectionTurnAround(expr) (DirectionRoundUp(expr) ^ 0x10)
#define DirectionToAnimationState(expr) (DirectionRoundUp(expr) >> 3)
#define DirectionFromAnimationState(expr) (expr << 3)
#define DirectionFromAnimationState(expr) ((expr) << 3)
#define Direction8Round(expr) ((expr) & 0x1c)
#define Direction8RoundUp(expr) Direction8Round((expr) + 2)
#define Direction8TurnAround(expr) (Direction8RoundUp(expr) ^ 0x10)
#define Direction8ToAnimationState(expr) (Direction8RoundUp(expr) >> 2)
#define Direction8FromAnimationState(expr) (expr << 2)
#define Direction8FromAnimationState(expr) (((expr) << 2)
Entity* GetEmptyEntity(void);
extern Entity* CreateEnemy(u32 id, u32 type);
extern Entity* CreateNPC(u32 id, u32 type, u32 type2);
extern Entity* CreateObject(u32 id, u32 type, u32 type2);
extern Entity* CreateObjectWithParent(Entity* parent, u32 id, u32 type, u32 type2);
extern Entity* CreateFx(Entity* parent, u32 type, u32 type2);
extern void InitializeAnimation(Entity*, u32);
extern void InitAnimationForceUpdate(Entity*, u32);
extern void UpdateAnimationSingleFrame(Entity*);
extern void UpdateSpriteForCollisionLayer(Entity*);
extern void GetNextFrame(Entity*);
extern u32 LoadExtraSpriteData(Entity*, SpriteLoadData*);
extern void SetExtraSpriteFrame(Entity*, u32, u32);
extern void SetSpriteSubEntryOffsetData1(Entity*, u32, u32);
extern void SetSpriteSubEntryOffsetData2(Entity*, u32, u32);
extern u32 GetFacingDirection(Entity*, Entity*);
/**
* @brief Delete the entity currently in execution.
*/
void DeleteThisEntity(void);
/**
* @brief Delete an entity.
*/
void DeleteEntity(Entity*);
/**
* @brief Append entity to linked list.
*/
void AppendEntityToList(Entity* entity, u32 listIndex);
/**
* @brief Prepend entity to linked list.
*/
void PrependEntityToList(Entity* entity, u32 listIndex);
/**
* @brief Find an entity for a given kind and ID.
* @return Entity* First result or NULL if none found
*/
Entity* FindEntityByID(u32 kind, u32 id, u32 listIndex);
/**
* @brief Search all lists for an entity of same kind and id.
* @return Entity* First result or NULL if none found
*/
Entity* DeepFindEntityByID(u32 kind, u32 id);
/**
* @brief Search all lists for entity of same kind and id.
* @return bool32 Duplicate was entity found
*/
bool32 EntityHasDuplicateID(Entity* ent);
/**
* @brief Find an entity of same kind and id in list.
* @return Entity* First result or NULL if none found
*/
Entity* FindNextDuplicateID(Entity* ent, int listIndex);
/**
* @brief Find Entity with full identifiers.
* @return Entity* First result or NULL if none found
*/
Entity* FindEntity(u32 kind, u32 id, u32 listIndex, u32 type, u32 type2);
#endif
+1 -6
View File
@@ -1,13 +1,8 @@
#ifndef FILESELECT_H
#define FILESELECT_H
#include "audio.h"
#include "global.h"
#include "functions.h"
#include "main.h"
#include "player.h"
#include "readKeyInput.h"
#include "screen.h"
#include "menu.h"
#include "save.h"
typedef struct {
+1 -1
View File
@@ -29,7 +29,7 @@ extern u32 gGlobalFlags;
extern u32 gRoomFlags;
enum {
NONE,
FLAG_NONE,
/*0x01*/ LV0_CLEAR, /* */
/*0x02*/ LV1_CLEAR, /* */
/*0x03*/ LV2_CLEAR, /* */
+5 -38
View File
@@ -5,72 +5,50 @@
#include "global.h"
#include "entity.h"
#include "manager.h"
#include "position.h"
#include "coord.h"
#include "player.h"
#include "structures.h"
#include "room.h"
#include "structures.h"
// Identified - to be sorted into header files
extern u32 Random(void);
extern void SoundReq(u32);
extern void ShowNPCDialogue(Entity*, Dialog*);
extern u32 UpdateFuseInteraction();
extern void DeleteEntity(Entity*);
extern u32 __modsi3(u32, u32);
extern void DoFade(u32, u32);
extern u32 GetInventoryValue(u32);
extern u32 CheckKinstoneFused(u32);
extern void ForceEquipItem(u32, u8);
extern void LoadRoomEntityList();
void CopyPosition(Entity*, Entity*);
extern void ResolveEntityOnTop(Entity*, Entity*);
extern void EnemyFunctionHandler(Entity*, void (*const funcs[])(Entity*));
extern void LoadRoomEntityList(EntityData* listPtr);
extern u32 GetAnimationState(Entity*);
extern void SetChildOffset(Entity*, s32, s32, s32);
extern u32 GetFacingDirection(Entity*, Entity*);
extern Entity* CreatePlayerItem(u32, u32, u32, u32);
extern Entity* GetEmptyEntity(void);
extern u32 GetTileTypeByPos(s32 x, s32 y, u32 layer);
extern u32 GetTileType(u32 pos, u32 layer);
extern void MemClear32(void* src, u32 count);
extern void EraseAllEntities(void);
extern void SetTile(u32, u32, u32);
extern void SetDirtTile(u32);
extern void LoadRoomTileEntities(); // tba
extern Entity* CreateDeathFx(Entity*, u32, u32);
extern void UpdateAnimationVariableFrames(Entity*, u32);
extern void CopyPositionAndSpriteOffset(Entity*, Entity*);
extern u8* GetSpriteSubEntryOffsetDataPointer(u32, u32);
extern u32 LoadFixedGFX(Entity*, u32);
extern void MemFill32(u32, void*, u32);
extern Entity* CreateItemEntity(u32, u32, u32);
void MemCopy(const void* src, void* dst, u32 size);
extern u32 ProcessMovement(Entity*);
extern Entity* FindEntityInListBySubtype(u32, u32, u32);
extern Entity* FindEntityInListByForm(u32, u32, u32, u32, u32);
extern void MemClear32(void*, u32);
extern void MenuFadeIn(u32, u32);
extern void LoadResourceAsync(const void*, u32, u32);
extern void LoadPaletteGroup(u32);
extern void TryLoadPrologueHyruleTown(void);
extern Manager* GetEmptyManager(void);
extern void AppendEntityToList(void*, u32);
extern void LoadGfxGroup(u32);
extern void EnqueueSFX(u32);
extern void ResetPlayer(void);
extern void CreateDust(Entity*);
extern u32 IsItemEquipped(u32);
extern void DeleteManager(Manager*);
extern bool32 CheckPlayerInRegion(u32 centerX, u32 centerY, u32 radiusX, u32 radiusY);
extern u32 CheckIsDungeon(void);
extern u32 GetTileTypeByEntity(Entity*);
// Unidentified
extern u32 sub_0806ED78(Entity*);
extern void sub_0806920C(Entity*);
extern u32 sub_0805ACC0(Entity*);
extern u32 sub_0801E99C(Entity*);
extern void sub_0806924C(Entity*);
extern Entity* sub_080873AC(Entity*, u32, u32);
extern void sub_08078778(Entity*);
extern void sub_080787A8(Entity*, u32);
@@ -78,7 +56,6 @@ extern void sub_0806F118(Entity*);
extern void sub_080791D0();
extern void sub_0805EC9C();
extern void sub_0805EC60();
extern void sub_080873D0();
extern u32 sub_080045D4(s16, s16, u32, u32);
extern void sub_0806F69C(Entity*);
extern void sub_0805E3A0(void*, u32);
@@ -91,16 +68,11 @@ extern void sub_0807000C(Entity*);
extern void sub_0805E47C(Entity*);
extern void sub_0805E584(Entity*);
extern void sub_08068BEC(Entity*, u32);
extern void sub_08078778(Entity*);
extern s32 sub_0806ED9C(Entity*, u32, u32);
extern s32 sub_0806F078(Entity*, s32);
extern void sub_0801D2B4(Entity*, u32);
extern void sub_0806FD3C(Entity*);
extern u32 sub_0801E99C(Entity*);
extern void sub_0806F118(Entity*);
extern void sub_0805ED14(u32*);
extern void sub_080A7C18(u32, u32, u32);
extern void sub_08068BEC(Entity*, u32);
extern void sub_0804AA30(Entity*, void (*const funcs[])(Entity*));
extern Entity* sub_0804A9FC(Entity*, u32);
extern void sub_0804A720(Entity*);
@@ -110,7 +82,7 @@ extern u32 sub_08049FDC(Entity*, u32);
extern u32 sub_080041A0(Entity*, Entity*, u32, u32);
extern u32 sub_08049EE4(Entity*);
extern Entity* sub_0804A98C(Entity*, u8, u8);
extern u32 sub_080544DC(u32);
extern u32 GetBottleContaining(u32);
extern void sub_08077E54(Entity*);
extern void sub_080042BA(Entity*, u32);
extern void sub_08077F24(ItemBehavior*, u32);
@@ -147,7 +119,7 @@ extern u32 sub_08060354(void);
extern void sub_08057E64(void);
extern void sub_0809F814(u32);
extern void sub_080300E8(void);
extern void sub_0801DA90(u32);
extern void DispReset(u32);
extern void sub_08058D34(void);
extern void sub_0807AABC(Entity*);
extern void sub_08078A90(u32);
@@ -155,8 +127,6 @@ extern void sub_080530C8(void);
extern void sub_0805B4D0(u32);
extern void sub_0804D0B4(void);
extern void sub_0805308C(u32);
extern void sub_0805AF60();
extern void sub_0805D3C8(u32);
extern void sub_080534AC();
extern void sub_0807BA8C(u32, u32);
extern void sub_0804D9B0();
@@ -170,7 +140,6 @@ extern void sub_08054564();
extern void sub_0801DD58(u32, u32);
extern void sub_0804ED18();
extern void sub_080AF2E4(void);
extern void sub_0805ADD8(u32);
extern void sub_0804F578(void);
extern void sub_08059994(void);
extern s32 sub_0801CFA8(u32);
@@ -262,7 +231,6 @@ u32 sub_0806FCB8(Entity*, u32, u32, u32);
extern Entity* sub_080A7EE0(u32);
extern void sub_080A1D70(Entity*, u32);
extern void sub_0806F62C(Entity*, u32, u32);
extern u32 sub_08079F8C(void);
extern void sub_080A1ED0(u32, u32, u32);
extern u32 sub_0806F5B0(u32);
extern void sub_0801DFB4(Entity*, u32, u32, u32);
@@ -288,7 +256,6 @@ extern void sub_080791BC9();
extern void sub_080791BC();
extern void sub_08056360();
extern u32 sub_080542AC(u32);
extern void sub_0807A108();
extern u32 sub_08079FC4(u32);
extern void sub_0800455E(Entity*);
extern void sub_08008790(Entity*, u32);
+6
View File
@@ -0,0 +1,6 @@
#ifndef GAME_H
#define GAME_H
u32 CheckIsDungeon(void);
#endif // GAME_H
+10 -10
View File
@@ -1,16 +1,16 @@
#ifndef GUARD_GBA_MACRO_H
#define GUARD_GBA_MACRO_H
#define CPU_FILL(value, dest, size, bit) \
{ \
vu##bit tmp = (vu##bit)(value); \
CpuSet((void*)&tmp, dest, CPU_SET_##bit##BIT | CPU_SET_SRC_FIXED | ((size) / (bit / 8) & 0x1FFFFF)); \
#define CPU_FILL(value, dest, size, bit) \
{ \
vu##bit tmp = (vu##bit)(value); \
CpuSet((void*)&tmp, dest, CPU_SET_##bit##BIT | CPU_SET_SRC_FIXED | ((size) / ((bit) / 8) & 0x1FFFFF)); \
}
#define CpuFill16(value, dest, size) CPU_FILL(value, dest, size, 16)
#define CpuFill32(value, dest, size) CPU_FILL(value, dest, size, 32)
#define CPU_COPY(src, dest, size, bit) CpuSet(src, dest, CPU_SET_##bit##BIT | ((size) / (bit / 8) & 0x1FFFFF))
#define CPU_COPY(src, dest, size, bit) CpuSet(src, dest, CPU_SET_##bit##BIT | ((size) / ((bit) / 8) & 0x1FFFFF))
#define CpuCopy16(src, dest, size) CPU_COPY(src, dest, size, 16)
#define CpuCopy32(src, dest, size) CPU_COPY(src, dest, size, 32)
@@ -42,7 +42,7 @@
vu##bit tmp = (vu##bit)(value); \
DmaSet(dmaNum, &tmp, dest, \
(DMA_ENABLE | DMA_START_NOW | DMA_##bit##BIT | DMA_SRC_FIXED | DMA_DEST_INC) << 16 | \
((size) / (bit / 8))); \
((size) / ((bit) / 8))); \
}
#define DmaFill16(dmaNum, value, dest, size) DMA_FILL(dmaNum, value, dest, size, 16)
@@ -65,7 +65,7 @@
#define DMA_COPY(dmaNum, src, dest, size, bit) \
DmaSet(dmaNum, src, dest, \
(DMA_ENABLE | DMA_START_NOW | DMA_##bit##BIT | DMA_SRC_INC | DMA_DEST_INC) << 16 | ((size) / (bit / 8)))
(DMA_ENABLE | DMA_START_NOW | DMA_##bit##BIT | DMA_SRC_INC | DMA_DEST_INC) << 16 | ((size) / ((bit) / 8)))
#define DmaCopy16(dmaNum, src, dest, size) DMA_COPY(dmaNum, src, dest, size, 16)
#define DmaCopy32(dmaNum, src, dest, size) DMA_COPY(dmaNum, src, dest, size, 32)
@@ -112,7 +112,7 @@
#define DmaFillLarge(dmaNum, value, dest, size, block, bit) \
{ \
void* _dest = (void*)dest; \
void* _dest = (void*)(dest); \
u32 _size = size; \
while (1) { \
DmaFill##bit(dmaNum, value, _dest, (block)); \
@@ -149,7 +149,7 @@
#define DmaFillDefvars(dmaNum, value, dest, size, bit) \
{ \
void* _dest = (void*)dest; \
void* _dest = (void*)(dest); \
u32 _size = size; \
DmaFill##bit(dmaNum, value, _dest, _size); \
}
@@ -180,7 +180,7 @@
\
imeTemp = REG_IME; \
REG_IME = 0; \
REG_IE |= flags; \
REG_IE |= (flags); \
REG_IME = imeTemp; \
}

Some files were not shown because too many files have changed in this diff Show More