mirror of
https://github.com/zeldaret/tmc
synced 2026-09-03 18:23:34 -04:00
Merge pull request #493 from hatal175/data3
This commit is contained in:
@@ -3566,81 +3566,11 @@
|
||||
"start": 736544,
|
||||
"size": 176
|
||||
},
|
||||
{
|
||||
"path": "playerItemGustBig/gUnk_080B3DE0.bin",
|
||||
"start": 736736,
|
||||
"size": 8
|
||||
},
|
||||
{
|
||||
"path": "playerItemGustBig/gUnk_080B3DF4.bin",
|
||||
"start": 736756,
|
||||
"size": 36
|
||||
},
|
||||
{
|
||||
"path": "playerItemGustBig/gUnk_080B3E18.bin",
|
||||
"start": 736792,
|
||||
"size": 8
|
||||
},
|
||||
{
|
||||
"path": "playerItemGustBig/gUnk_080B3E20.bin",
|
||||
"start": 736800,
|
||||
"size": 8
|
||||
},
|
||||
{
|
||||
"path": "playerItemGustBig/gUnk_080B3E28.bin",
|
||||
"start": 736808,
|
||||
"size": 8
|
||||
},
|
||||
{
|
||||
"path": "playerItemBow/gUnk_080B3E40.bin",
|
||||
"start": 736832,
|
||||
"size": 8
|
||||
},
|
||||
{
|
||||
"path": "playerItemBow/gUnk_080B3E40_1.bin",
|
||||
"start": 736844,
|
||||
"size": 8
|
||||
},
|
||||
{
|
||||
"path": "playerItemBow/gUnk_080B3E40_2.bin",
|
||||
"start": 736856,
|
||||
"size": 8
|
||||
},
|
||||
{
|
||||
"path": "playerItemBow/gUnk_080B3E40_3.bin",
|
||||
"start": 736868,
|
||||
"size": 8
|
||||
},
|
||||
{
|
||||
"path": "data_080B3E70/gUnk_080B3E70.bin",
|
||||
"start": 736880,
|
||||
"size": 8
|
||||
},
|
||||
{
|
||||
"path": "data_080B3E70/gUnk_080B3E78.bin",
|
||||
"start": 736888,
|
||||
"size": 8
|
||||
},
|
||||
{
|
||||
"path": "data_080B3E70/gUnk_080B3E80.bin",
|
||||
"start": 736896,
|
||||
"size": 1396
|
||||
},
|
||||
{
|
||||
"path": "playerItemSwordBeam/gUnk_080B43FC.bin",
|
||||
"start": 738300,
|
||||
"size": 4
|
||||
},
|
||||
{
|
||||
"path": "playerItemSwordBeam/gUnk_080B4400.bin",
|
||||
"start": 738304,
|
||||
"size": 8
|
||||
},
|
||||
{
|
||||
"path": "playerItemSwordBeam/gUnk_080B4408.bin",
|
||||
"start": 738312,
|
||||
"size": 8
|
||||
},
|
||||
{
|
||||
"path": "data_080B4410/gUnk_080B4410_JP.bin",
|
||||
"variants": [
|
||||
@@ -20850,16 +20780,6 @@
|
||||
"start": 751552,
|
||||
"size": 8
|
||||
},
|
||||
{
|
||||
"path": "playerItemBomb/gUnk_080B77D8.bin",
|
||||
"start": 751596,
|
||||
"size": 8
|
||||
},
|
||||
{
|
||||
"path": "playerItemBomb/gUnk_080B77F4.bin",
|
||||
"start": 751604,
|
||||
"size": 8
|
||||
},
|
||||
{
|
||||
"path": "data_080B7910/gUnk_080B7910.bin",
|
||||
"start": 751888,
|
||||
@@ -25080,11 +25000,6 @@
|
||||
"size": 5,
|
||||
"type": "animation"
|
||||
},
|
||||
{
|
||||
"path": "tektite/gUnk_080CDEF8.bin",
|
||||
"start": 843512,
|
||||
"size": 4
|
||||
},
|
||||
{
|
||||
"path": "animations/gSpriteAnimations_WizzrobeWind_0.bin",
|
||||
"start": 843640,
|
||||
@@ -25415,11 +25330,6 @@
|
||||
"size": 25,
|
||||
"type": "animation"
|
||||
},
|
||||
{
|
||||
"path": "smallPesto/gUnk_080CE560.bin",
|
||||
"start": 845152,
|
||||
"size": 12
|
||||
},
|
||||
{
|
||||
"path": "animations/gSpriteAnimations_AcroBandits_0.bin",
|
||||
"start": 845326,
|
||||
@@ -25582,21 +25492,6 @@
|
||||
"size": 41,
|
||||
"type": "animation"
|
||||
},
|
||||
{
|
||||
"path": "keaton/gUnk_080CE7E0.bin",
|
||||
"start": 845792,
|
||||
"size": 16
|
||||
},
|
||||
{
|
||||
"path": "keaton/gUnk_080CE7F0.bin",
|
||||
"start": 845808,
|
||||
"size": 32
|
||||
},
|
||||
{
|
||||
"path": "keaton/gUnk_080CE810.bin",
|
||||
"start": 845840,
|
||||
"size": 8
|
||||
},
|
||||
{
|
||||
"path": "animations/gSpriteAnimations_Crow_0.bin",
|
||||
"start": 846256,
|
||||
@@ -25723,11 +25618,6 @@
|
||||
"size": 19,
|
||||
"type": "animation"
|
||||
},
|
||||
{
|
||||
"path": "wisp/gUnk_080CEBA4.bin",
|
||||
"start": 846756,
|
||||
"size": 8
|
||||
},
|
||||
{
|
||||
"path": "animations/gSpriteAnimations_SpinyBeetle_0.bin",
|
||||
"start": 846884,
|
||||
@@ -27887,16 +27777,6 @@
|
||||
"size": 38,
|
||||
"type": "animation"
|
||||
},
|
||||
{
|
||||
"path": "vaatiBall/gUnk_080D1620.bin",
|
||||
"start": 857632,
|
||||
"size": 8
|
||||
},
|
||||
{
|
||||
"path": "vaatiBall/gUnk_080D1628.bin",
|
||||
"start": 857640,
|
||||
"size": 16
|
||||
},
|
||||
{
|
||||
"path": "animations/gSpriteAnimations_Slime_0.bin",
|
||||
"start": 857820,
|
||||
@@ -27963,16 +27843,6 @@
|
||||
"size": 19,
|
||||
"type": "animation"
|
||||
},
|
||||
{
|
||||
"path": "slime/gUnk_080D16D0.bin",
|
||||
"start": 857808,
|
||||
"size": 4
|
||||
},
|
||||
{
|
||||
"path": "slime/gUnk_080D16D4.bin",
|
||||
"start": 857812,
|
||||
"size": 8
|
||||
},
|
||||
{
|
||||
"path": "animations/gSpriteAnimations_FireballGuy_0.bin",
|
||||
"start": 858136,
|
||||
@@ -27985,16 +27855,6 @@
|
||||
"size": 35,
|
||||
"type": "animation"
|
||||
},
|
||||
{
|
||||
"path": "fireballGuy/gUnk_080D180C.bin",
|
||||
"start": 858124,
|
||||
"size": 4
|
||||
},
|
||||
{
|
||||
"path": "fireballGuy/gUnk_080D1810.bin",
|
||||
"start": 858128,
|
||||
"size": 8
|
||||
},
|
||||
{
|
||||
"path": "animations/gSpriteAnimations_Enemy5A_0.bin",
|
||||
"start": 858308,
|
||||
@@ -32111,11 +31971,6 @@
|
||||
"start": 1044088,
|
||||
"size": 48
|
||||
},
|
||||
{
|
||||
"path": "playerItemLantern/gUnk_080FEEB0.bin",
|
||||
"start": 1044144,
|
||||
"size": 8
|
||||
},
|
||||
{
|
||||
"path": "data_080FEEB8/gUnk_080FEED4.bin",
|
||||
"start": 1044180,
|
||||
@@ -32427,11 +32282,6 @@
|
||||
"DEMO_JP": -2052
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "manager3/gUnk_08107C6C.bin",
|
||||
"start": 1080428,
|
||||
"size": 4
|
||||
},
|
||||
{
|
||||
"path": "manager4/gUnk_08107C78.bin",
|
||||
"start": 1080440,
|
||||
@@ -34055,11 +33905,6 @@
|
||||
"start": 1088184,
|
||||
"size": 16
|
||||
},
|
||||
{
|
||||
"path": "playerItemSpiralBeam/gUnk_08109AD0.bin",
|
||||
"start": 1088208,
|
||||
"size": 8
|
||||
},
|
||||
{
|
||||
"path": "animations/gSpriteAnimations_Gentari_0.bin",
|
||||
"start": 1088216,
|
||||
@@ -35939,11 +35784,6 @@
|
||||
"size": 7,
|
||||
"type": "animation"
|
||||
},
|
||||
{
|
||||
"path": "stamp/gUnk_0810C2E4.bin",
|
||||
"start": 1098468,
|
||||
"size": 16
|
||||
},
|
||||
{
|
||||
"path": "animations/gSpriteAnimations_Marcy_0.bin",
|
||||
"start": 1098592,
|
||||
@@ -35962,11 +35802,6 @@
|
||||
"size": 14,
|
||||
"type": "animation"
|
||||
},
|
||||
{
|
||||
"path": "marcy/gUnk_0810C34C.bin",
|
||||
"start": 1098572,
|
||||
"size": 20
|
||||
},
|
||||
{
|
||||
"path": "animations/gSpriteAnimations_Wheaton_0.bin",
|
||||
"start": 1098696,
|
||||
@@ -35991,11 +35826,6 @@
|
||||
"size": 17,
|
||||
"type": "animation"
|
||||
},
|
||||
{
|
||||
"path": "wheaton/gUnk_0810C3C0.bin",
|
||||
"start": 1098688,
|
||||
"size": 8
|
||||
},
|
||||
{
|
||||
"path": "animations/gSpriteAnimations_Pita_0.bin",
|
||||
"start": 1098821,
|
||||
@@ -36008,42 +35838,6 @@
|
||||
"size": 30,
|
||||
"type": "animation"
|
||||
},
|
||||
{
|
||||
"path": "pita/gUnk_0810C428_EU.bin",
|
||||
"variants": [
|
||||
"EU"
|
||||
],
|
||||
"starts": {
|
||||
"EU": 1096572
|
||||
},
|
||||
"size": 8
|
||||
},
|
||||
{
|
||||
"path": "pita/gUnk_0810C428_1_USA-JP-DEMO_USA-DEMO_JP.bin",
|
||||
"variants": [
|
||||
"USA",
|
||||
"JP",
|
||||
"DEMO_USA",
|
||||
"DEMO_JP"
|
||||
],
|
||||
"start": 1098792,
|
||||
"size": 8
|
||||
},
|
||||
{
|
||||
"path": "pita/gUnk_0810C430.bin",
|
||||
"start": 1098800,
|
||||
"size": 5
|
||||
},
|
||||
{
|
||||
"path": "pita/gUnk_0810C435.bin",
|
||||
"start": 1098805,
|
||||
"size": 8
|
||||
},
|
||||
{
|
||||
"path": "pita/gUnk_0810C43D.bin",
|
||||
"start": 1098813,
|
||||
"size": 8
|
||||
},
|
||||
{
|
||||
"path": "animations/gSpriteAnimations_MinishEzlo_2.bin",
|
||||
"start": 1098912,
|
||||
|
||||
@@ -1,24 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.section .rodata
|
||||
.align 2
|
||||
|
||||
FireballGuy_Functions:: @ 080D17E8
|
||||
.4byte FireballGuy_OnTick
|
||||
.4byte FireballGuy_OnCollision
|
||||
.4byte GenericKnockback
|
||||
.4byte GenericDeath
|
||||
.4byte GenericConfused
|
||||
.4byte FireballGuy_OnGrabbed
|
||||
|
||||
gUnk_080D1800:: @ 080D1800
|
||||
.4byte sub_080453E8
|
||||
.4byte sub_08045430
|
||||
.4byte sub_08045454
|
||||
|
||||
gUnk_080D180C:: @ 080D180C
|
||||
.incbin "fireballGuy/gUnk_080D180C.bin"
|
||||
|
||||
gUnk_080D1810:: @ 080D1810
|
||||
.incbin "fireballGuy/gUnk_080D1810.bin"
|
||||
@@ -1,30 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.section .rodata
|
||||
.align 2
|
||||
|
||||
Keaton_Functions:: @ 080CE7B0
|
||||
.4byte Keaton_OnTick
|
||||
.4byte Keaton_OnCollision
|
||||
.4byte GenericKnockback
|
||||
.4byte GenericDeath
|
||||
.4byte GenericConfused
|
||||
.4byte Keaton_OnGrabbed
|
||||
|
||||
gUnk_080CE7C8:: @ 080CE7C8
|
||||
.4byte sub_08032468
|
||||
.4byte sub_0803248C
|
||||
.4byte sub_080324CC
|
||||
.4byte sub_080324FC
|
||||
.4byte sub_08032574
|
||||
.4byte sub_080325C4
|
||||
|
||||
gUnk_080CE7E0:: @ 080CE7E0
|
||||
.incbin "keaton/gUnk_080CE7E0.bin"
|
||||
|
||||
gUnk_080CE7F0:: @ 080CE7F0
|
||||
.incbin "keaton/gUnk_080CE7F0.bin"
|
||||
|
||||
gUnk_080CE810:: @ 080CE810
|
||||
.incbin "keaton/gUnk_080CE810.bin"
|
||||
@@ -1,17 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.section .rodata
|
||||
.align 2
|
||||
|
||||
MiniFireballGuy_Functions:: @ 080D1868
|
||||
.4byte MiniFireballGuy_OnTick
|
||||
.4byte MiniFireballGuy_OnCollision
|
||||
.4byte GenericKnockback
|
||||
.4byte MiniFireballGuy_OnDeath
|
||||
.4byte GenericConfused
|
||||
.4byte MiniFireballGuy_OnGrabbed
|
||||
|
||||
gUnk_080D1880:: @ 080D1880
|
||||
.4byte sub_08045618
|
||||
.4byte sub_08045654
|
||||
@@ -1,19 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.section .rodata
|
||||
.align 2
|
||||
|
||||
MiniSlime_Functions:: @ 080D17C0
|
||||
.4byte MiniSlime_OnTick
|
||||
.4byte MiniSlime_OnCollision
|
||||
.4byte GenericKnockback
|
||||
.4byte MiniSlime_OnDeath
|
||||
.4byte GenericConfused
|
||||
.4byte MiniSlime_OnGrabbed
|
||||
|
||||
gUnk_080D17D8:: @ 080D17D8
|
||||
.4byte sub_080452A4
|
||||
.4byte sub_080452E4
|
||||
.4byte sub_080452FC
|
||||
.4byte sub_08045374
|
||||
@@ -1,24 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.section .rodata
|
||||
.align 2
|
||||
|
||||
Rope_Functions:: @ 080CE448
|
||||
.4byte Rope_OnTick+1
|
||||
.4byte Rope_OnCollision
|
||||
.4byte GenericKnockback
|
||||
.4byte GenericDeath
|
||||
.4byte GenericConfused
|
||||
.4byte Rope_OnGrabbed
|
||||
|
||||
gUnk_080CE460:: @ 080CE460
|
||||
.4byte sub_08031434
|
||||
.4byte sub_08031480
|
||||
.4byte sub_080314FC
|
||||
.4byte sub_080315BC
|
||||
|
||||
gUnk_080CE470:: @ 080CE470
|
||||
.4byte sub_0803140C
|
||||
.4byte sub_08031418
|
||||
.4byte sub_08031420
|
||||
@@ -1,19 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.section .rodata
|
||||
.align 2
|
||||
|
||||
RopeGolden_Functions:: @ 080CF4C8
|
||||
.4byte RopeGolden_OnTick+1
|
||||
.4byte RopeGolden_OnCollision
|
||||
.4byte GenericKnockback
|
||||
.4byte RopeGolden_OnDeath
|
||||
.4byte GenericConfused
|
||||
.4byte RopeGolden_OnTick+1
|
||||
|
||||
gUnk_080CF4E0:: @ 080CF4E0
|
||||
.4byte sub_08038258
|
||||
.4byte sub_0803827C
|
||||
.4byte sub_080382EC
|
||||
.4byte sub_08038304
|
||||
@@ -1,27 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.section .rodata
|
||||
.align 2
|
||||
|
||||
Slime_Functions:: @ 080D16A4
|
||||
.4byte Slime_OnTick
|
||||
.4byte Slime_OnCollision
|
||||
.4byte GenericKnockback
|
||||
.4byte GenericDeath
|
||||
.4byte GenericConfused
|
||||
.4byte Slime_OnGrabbed
|
||||
|
||||
gUnk_080D16BC:: @ 080D16BC
|
||||
.4byte sub_08044FC8
|
||||
.4byte sub_08044FF8
|
||||
.4byte sub_08045018
|
||||
.4byte sub_08045088
|
||||
.4byte sub_080450A8
|
||||
|
||||
gUnk_080D16D0:: @ 080D16D0
|
||||
.incbin "slime/gUnk_080D16D0.bin"
|
||||
|
||||
gUnk_080D16D4:: @ 080D16D4
|
||||
.incbin "slime/gUnk_080D16D4.bin"
|
||||
|
||||
@@ -1,26 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.section .rodata
|
||||
.align 2
|
||||
|
||||
SmallPesto_Functions:: @ 080CE530
|
||||
.4byte SmallPesto_OnTick
|
||||
.4byte SmallPesto_OnCollision
|
||||
.4byte GenericKnockback
|
||||
.4byte GenericDeath
|
||||
.4byte GenericConfused
|
||||
.4byte SmallPesto_OnGrabbed
|
||||
|
||||
gUnk_080CE548:: @ 080CE548
|
||||
.4byte sub_08031704
|
||||
.4byte sub_08031714
|
||||
.4byte sub_08031770
|
||||
|
||||
gUnk_080CE554:: @ 080CE554
|
||||
.4byte sub_080316DC
|
||||
.4byte sub_080316E8
|
||||
.4byte sub_080316F0
|
||||
|
||||
gUnk_080CE560:: @ 080CE560
|
||||
.incbin "smallPesto/gUnk_080CE560.bin"
|
||||
@@ -1,22 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.section .rodata
|
||||
.align 2
|
||||
|
||||
Tektite_Functions:: @ 080CDED0
|
||||
.4byte Tektite_OnTick
|
||||
.4byte Tektite_OnCollision
|
||||
.4byte GenericKnockback
|
||||
.4byte GenericDeath
|
||||
.4byte Tektite_OnConfused
|
||||
.4byte Tektite_OnGrabbed
|
||||
|
||||
gUnk_080CDEE8:: @ 080CDEE8
|
||||
.4byte sub_0802F210
|
||||
.4byte sub_0802F284
|
||||
.4byte sub_0802F300
|
||||
.4byte sub_0802F3F4
|
||||
|
||||
gUnk_080CDEF8:: @ 080CDEF8
|
||||
.incbin "tektite/gUnk_080CDEF8.bin"
|
||||
@@ -1,19 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.section .rodata
|
||||
.align 2
|
||||
|
||||
TektiteGolden_Functions:: @ 080CF4A0
|
||||
.4byte TektiteGolden_OnTick
|
||||
.4byte TektiteGolden_OnCollision
|
||||
.4byte GenericKnockback
|
||||
.4byte TektiteGolden_OnDeath
|
||||
.4byte TektiteGolden_OnConfused
|
||||
.4byte TektiteGolden_OnTick
|
||||
|
||||
gUnk_080CF4B8:: @ 080CF4B8
|
||||
.4byte sub_08037FA0
|
||||
.4byte sub_08037Fe0
|
||||
.4byte sub_08038048
|
||||
.4byte sub_08038110
|
||||
@@ -1,20 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.section .rodata
|
||||
.align 2
|
||||
|
||||
gUnk_080D1604:: @ 080D1604
|
||||
.4byte sub_0804468C
|
||||
.4byte sub_0804474C
|
||||
.4byte sub_080447E0
|
||||
.4byte sub_08044868
|
||||
.4byte sub_0804474C
|
||||
.4byte sub_080449F8
|
||||
.4byte sub_08044B04
|
||||
|
||||
gUnk_080D1620:: @ 080D1620
|
||||
.incbin "vaatiBall/gUnk_080D1620.bin"
|
||||
|
||||
gUnk_080D1628:: @ 080D1628
|
||||
.incbin "vaatiBall/gUnk_080D1628.bin"
|
||||
@@ -1,27 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.section .rodata
|
||||
.align 2
|
||||
|
||||
Wisp_Functions:: @ 080CEB74
|
||||
.4byte Wisp_OnTick
|
||||
.4byte Wisp_OnCollision
|
||||
.4byte GenericKnockback
|
||||
.4byte GenericDeath
|
||||
.4byte GenericConfused
|
||||
.4byte Wisp_OnGrabbed
|
||||
|
||||
gUnk_080CEB8C:: @ 080CEB8C
|
||||
.4byte sub_08033674
|
||||
.4byte sub_080336A8
|
||||
.4byte sub_080336DC
|
||||
|
||||
gUnk_080CEB98:: @ 080CEB98
|
||||
.4byte sub_08033650
|
||||
.4byte sub_08033658
|
||||
.4byte sub_08033660
|
||||
|
||||
|
||||
gUnk_080CEBA4:: @ 080CEBA4
|
||||
.incbin "wisp/gUnk_080CEBA4.bin"
|
||||
@@ -1,8 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.section .rodata
|
||||
.align 2
|
||||
|
||||
gUnk_08107C6C:: @ 08107C6C
|
||||
.incbin "manager3/gUnk_08107C6C.bin"
|
||||
@@ -1,10 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.section .rodata
|
||||
.align 2
|
||||
|
||||
gUnk_08109BBC:: @ 08109BBC
|
||||
.4byte sub_0805FE10
|
||||
.4byte sub_0805FE48
|
||||
.4byte sub_0805FF18
|
||||
@@ -1,8 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.section .rodata
|
||||
.align 2
|
||||
|
||||
gUnk_0810C34C:: @ 0810C34C
|
||||
.incbin "marcy/gUnk_0810C34C.bin"
|
||||
@@ -1,11 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.section .rodata
|
||||
.align 2
|
||||
|
||||
gUnk_0810C290:: @ 0810C290
|
||||
.4byte sub_08062AF0
|
||||
.4byte sub_08062B14
|
||||
.4byte sub_08062B48
|
||||
.4byte sub_08062B70
|
||||
@@ -1,22 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.section .rodata
|
||||
.align 2
|
||||
|
||||
gUnk_0810C428:: @ 0810C428
|
||||
.ifdef EU
|
||||
@ TODO only small differences
|
||||
.incbin "pita/gUnk_0810C428_EU.bin"
|
||||
.else
|
||||
.incbin "pita/gUnk_0810C428_1_USA-JP-DEMO_USA-DEMO_JP.bin"
|
||||
.endif
|
||||
|
||||
gUnk_0810C430:: @ 0810C430
|
||||
.incbin "pita/gUnk_0810C430.bin"
|
||||
|
||||
gUnk_0810C435:: @ 0810C435
|
||||
.incbin "pita/gUnk_0810C435.bin"
|
||||
|
||||
gUnk_0810C43D:: @ 0810C43D
|
||||
.incbin "pita/gUnk_0810C43D.bin"
|
||||
@@ -1,18 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.section .rodata
|
||||
.align 2
|
||||
|
||||
gStampBehaviors1:: @ 0810C2CC
|
||||
.4byte sub_08062BD4
|
||||
.4byte sub_08062BF8
|
||||
.4byte sub_08062C24
|
||||
.4byte sub_08062C54
|
||||
|
||||
gStampBehaviors2:: @ 0810C2DC
|
||||
.4byte sub_08062C7C
|
||||
.4byte sub_08062CA4
|
||||
|
||||
gUnk_0810C2E4:: @ 0810C2E4
|
||||
.incbin "stamp/gUnk_0810C2E4.bin"
|
||||
@@ -1,8 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.section .rodata
|
||||
.align 2
|
||||
|
||||
gUnk_0810C3C0:: @ 0810C3C0
|
||||
.incbin "wheaton/gUnk_0810C3C0.bin"
|
||||
@@ -1,22 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.section .rodata
|
||||
.align 2
|
||||
|
||||
gUnk_080B77C8:: @ 080B77C8
|
||||
.4byte sub_0801B250
|
||||
.4byte sub_0801B2CC
|
||||
.4byte sub_0801B318
|
||||
.4byte sub_0801B38C
|
||||
|
||||
gUnk_080B77D8:: @ 080B77D8
|
||||
.4byte sub_0801B330
|
||||
.4byte sub_0801B340
|
||||
.4byte sub_0801B354
|
||||
.4byte sub_0801B368
|
||||
.4byte sub_0801B384
|
||||
.incbin "playerItemBomb/gUnk_080B77D8.bin"
|
||||
|
||||
gUnk_080B77F4:: @ 080B77F4
|
||||
.incbin "playerItemBomb/gUnk_080B77F4.bin"
|
||||
@@ -1,21 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.section .rodata
|
||||
.align 2
|
||||
|
||||
gUnk_080B3E30:: @ 080B3E30
|
||||
.4byte sub_08018FE4
|
||||
.4byte sub_0801917C
|
||||
.4byte sub_08019410
|
||||
.4byte sub_08019444
|
||||
|
||||
gUnk_080B3E40:: @ 080B3E40
|
||||
.incbin "playerItemBow/gUnk_080B3E40.bin"
|
||||
.4byte gUnk_080B3E78
|
||||
.incbin "playerItemBow/gUnk_080B3E40_1.bin"
|
||||
.4byte gUnk_080B3E70
|
||||
.incbin "playerItemBow/gUnk_080B3E40_2.bin"
|
||||
.4byte gUnk_080B3E78
|
||||
.incbin "playerItemBow/gUnk_080B3E40_3.bin"
|
||||
.4byte gUnk_080B3E70
|
||||
@@ -1,32 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.section .rodata
|
||||
.align 2
|
||||
|
||||
|
||||
gUnk_080B3DD0:: @ 080B3DD0
|
||||
.4byte sub_08018CBC
|
||||
.4byte sub_08018DE8
|
||||
.4byte sub_08018E68
|
||||
.4byte sub_08018F6C
|
||||
|
||||
gUnk_080B3DE0:: @ 080B3DE0
|
||||
.incbin "playerItemGustBig/gUnk_080B3DE0.bin"
|
||||
|
||||
gUnk_080B3DE8:: @ 080B3DE8
|
||||
.4byte gUnk_080B3E18
|
||||
.4byte gUnk_080B3E20
|
||||
.4byte gUnk_080B3E28
|
||||
|
||||
gUnk_080B3DF4:: @ 080B3DF4
|
||||
.incbin "playerItemGustBig/gUnk_080B3DF4.bin"
|
||||
|
||||
gUnk_080B3E18:: @ 080B3E18
|
||||
.incbin "playerItemGustBig/gUnk_080B3E18.bin"
|
||||
|
||||
gUnk_080B3E20:: @ 080B3E20
|
||||
.incbin "playerItemGustBig/gUnk_080B3E20.bin"
|
||||
|
||||
gUnk_080B3E28:: @ 080B3E28
|
||||
.incbin "playerItemGustBig/gUnk_080B3E28.bin"
|
||||
@@ -1,12 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.section .rodata
|
||||
.align 2
|
||||
|
||||
gUnk_080FEEA8:: @ 080FEEA8
|
||||
.4byte sub_08054A60
|
||||
.4byte sub_08054AC8
|
||||
|
||||
gUnk_080FEEB0:: @ 080FEEB0
|
||||
.incbin "playerItemLantern/gUnk_080FEEB0.bin"
|
||||
@@ -1,12 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.section .rodata
|
||||
.align 2
|
||||
|
||||
gUnk_08109AC8:: @ 08109AC8
|
||||
.4byte sub_0805FBE8
|
||||
.4byte sub_0805FC74
|
||||
|
||||
gUnk_08109AD0:: @ 08109AD0
|
||||
.incbin "playerItemSpiralBeam/gUnk_08109AD0.bin"
|
||||
@@ -1,18 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.section .rodata
|
||||
.align 2
|
||||
|
||||
gUnk_080B43F4:: @ 080B43F4
|
||||
.4byte sub_08019498
|
||||
.4byte sub_08019580
|
||||
|
||||
gUnk_080B43FC:: @ 080B43FC
|
||||
.incbin "playerItemSwordBeam/gUnk_080B43FC.bin"
|
||||
|
||||
gUnk_080B4400:: @ 080B4400
|
||||
.incbin "playerItemSwordBeam/gUnk_080B4400.bin"
|
||||
|
||||
gUnk_080B4408:: @ 080B4408
|
||||
.incbin "playerItemSwordBeam/gUnk_080B4408.bin"
|
||||
@@ -4,11 +4,5 @@
|
||||
.section .rodata
|
||||
.align 2
|
||||
|
||||
gUnk_080B3E70:: @ 080B3E70
|
||||
.incbin "data_080B3E70/gUnk_080B3E70.bin"
|
||||
|
||||
gUnk_080B3E78:: @ 080B3E78
|
||||
.incbin "data_080B3E70/gUnk_080B3E78.bin"
|
||||
|
||||
gUnk_080B3E80:: @ 080B3E80
|
||||
.incbin "data_080B3E70/gUnk_080B3E80.bin"
|
||||
|
||||
@@ -251,4 +251,6 @@ void Enemy64();
|
||||
void TreeItem(Entity*);
|
||||
void Enemy66(Entity*);
|
||||
|
||||
extern void (*const gUnk_080012C8[])(Entity*);
|
||||
|
||||
#endif
|
||||
|
||||
+1
-1
@@ -30,7 +30,7 @@ u32 sub_0806EE20(Entity* ent);
|
||||
s32 sub_0806F078(Entity* ent, s32 a2);
|
||||
void sub_0806F118(Entity* ent);
|
||||
void sub_0806F188(Entity* ent);
|
||||
void ShowNPCDialogue(Entity* ent, Dialog* dia);
|
||||
void ShowNPCDialogue(Entity* ent, const Dialog* dia);
|
||||
|
||||
Entity* CreateNPC(u32 subtype, u32 form, u32 parameter);
|
||||
u32 UpdateFuseInteraction(Entity*);
|
||||
|
||||
@@ -892,12 +892,12 @@ SECTIONS {
|
||||
src/npc.o(.rodata);
|
||||
src/collision.o(.rodata);
|
||||
data/data_080B3740.o(.rodata);
|
||||
data/const/playerItem/playerItemGustBig.o(.rodata);
|
||||
data/const/playerItem/playerItemBow.o(.rodata);
|
||||
src/playerItem/playerItemGustBig.o(.rodata);
|
||||
src/playerItem/playerItemBow.o(.rodata);
|
||||
data/data_080B3E70.o(.rodata);
|
||||
data/const/playerItem/playerItemSwordBeam.o(.rodata);
|
||||
src/playerItem/playerItemSwordBeam.o(.rodata);
|
||||
data/data_080B4410.o(.rodata);
|
||||
data/const/playerItem/playerItemBomb.o(.rodata);
|
||||
src/playerItem/playerItemBomb.o(.rodata);
|
||||
src/playerItem/playerItemBoomerang.o(.rodata);
|
||||
src/playerItem/playerItemDashSword.o(.rodata);
|
||||
src/playerItem/playerItemBottle.o(.rodata);
|
||||
@@ -978,7 +978,7 @@ SECTIONS {
|
||||
data/animations/enemy/gleerok.o(.rodata);
|
||||
src/enemy/vaatiEyesMacro.o(.rodata);
|
||||
data/animations/enemy/vaatiEyesMacro.o(.rodata);
|
||||
data/const/enemy/tektite.o(.rodata);
|
||||
src/enemy/tektite.o(.rodata);
|
||||
data/animations/enemy/tektite.o(.rodata);
|
||||
src/enemy/wizzrobeWind.o(.rodata);
|
||||
data/animations/enemy/wizzrobeWind.o(.rodata);
|
||||
@@ -990,12 +990,12 @@ SECTIONS {
|
||||
data/animations/enemy/armos.o(.rodata);
|
||||
src/enemy/eyegore.o(.rodata);
|
||||
data/animations/enemy/eyegore.o(.rodata);
|
||||
data/const/enemy/rope.o(.rodata);
|
||||
src/enemy/rope.o(.rodata);
|
||||
data/animations/enemy/rope.o(.rodata);
|
||||
data/const/enemy/smallPesto.o(.rodata);
|
||||
src/enemy/smallPesto.o(.rodata);
|
||||
src/enemy/acroBandits.o(.rodata);
|
||||
data/animations/enemy/acroBandits.o(.rodata);
|
||||
data/const/enemy/keaton.o(.rodata);
|
||||
src/enemy/keaton.o(.rodata);
|
||||
data/animations/enemy/keaton.o(.rodata);
|
||||
src/enemy/crow.o(.rodata);
|
||||
data/animations/enemy/crow.o(.rodata);
|
||||
@@ -1003,7 +1003,7 @@ SECTIONS {
|
||||
data/animations/enemy/mulldozer.o(.rodata);
|
||||
src/enemy/bombarossa.o(.rodata);
|
||||
data/animations/enemy/bombarossa.o(.rodata);
|
||||
data/const/enemy/wisp.o(.rodata);
|
||||
src/enemy/wisp.o(.rodata);
|
||||
data/animations/enemy/wisp.o(.rodata);
|
||||
src/enemy/spinyBeetle.o(.rodata);
|
||||
data/animations/enemy/spinyBeetle.o(.rodata);
|
||||
@@ -1019,8 +1019,8 @@ SECTIONS {
|
||||
src/enemy/gibdo.o(.rodata);
|
||||
data/animations/enemy/gibdo.o(.rodata);
|
||||
src/enemy/octorokGolden.o(.rodata);
|
||||
data/const/enemy/tektiteGolden.o(.rodata);
|
||||
data/const/enemy/ropeGolden.o(.rodata);
|
||||
src/enemy/tektiteGolden.o(.rodata);
|
||||
src/enemy/ropeGolden.o(.rodata);
|
||||
src/enemy/cloudPiranha.o(.rodata);
|
||||
data/animations/enemy/cloudPiranha.o(.rodata);
|
||||
src/enemy/scissorsBeetle.o(.rodata);
|
||||
@@ -1058,14 +1058,14 @@ SECTIONS {
|
||||
src/enemy/vaatiArm.o(.rodata);
|
||||
data/animations/enemy/vaatiArm.o(.rodata);
|
||||
data/const/enemy/dust.o(.rodata);
|
||||
data/const/enemy/vaatiBall.o(.rodata);
|
||||
src/enemy/vaatiBall.o(.rodata);
|
||||
data/animations/enemy/vaatiBall.o(.rodata);
|
||||
data/const/enemy/slime.o(.rodata);
|
||||
src/enemy/slime.o(.rodata);
|
||||
data/animations/enemy/slime.o(.rodata);
|
||||
data/const/enemy/miniSlime.o(.rodata);
|
||||
data/const/enemy/fireballGuy.o(.rodata);
|
||||
src/enemy/miniSlime.o(.rodata);
|
||||
src/enemy/fireballGuy.o(.rodata);
|
||||
data/animations/enemy/fireballGuy.o(.rodata);
|
||||
data/const/enemy/miniFireballGuy.o(.rodata);
|
||||
src/enemy/miniFireballGuy.o(.rodata);
|
||||
src/enemy/vaatiTransfiguredEye.o(.rodata);
|
||||
data/animations/enemy/vaatiTransfiguredEye.o(.rodata);
|
||||
src/enemy/businessScrubPrologue.o(.rodata);
|
||||
@@ -1097,7 +1097,7 @@ SECTIONS {
|
||||
data/data_080FCAC8.o(.rodata);
|
||||
src/itemMetaData.o(.rodata);
|
||||
data/data_080FD964.o(.rodata);
|
||||
data/const/playerItem/playerItemLantern.o(.rodata);
|
||||
src/playerItem/playerItemLantern.o(.rodata);
|
||||
data/data_080FEEB8.o(.rodata);
|
||||
data/gfx/palette_groups.o(.rodata);
|
||||
data/gfx/gfx_groups.o(.rodata);
|
||||
@@ -1108,7 +1108,7 @@ SECTIONS {
|
||||
src/message.o(.rodata);
|
||||
. = ALIGN(4);
|
||||
src/manager/manager1.o(.rodata);
|
||||
data/const/manager/manager3.o(.rodata);
|
||||
src/manager/manager3.o(.rodata);
|
||||
data/const/manager/manager4.o(.rodata);
|
||||
src/manager/manager5.o(.rodata);
|
||||
src/manager/manager7.o(.rodata);
|
||||
@@ -1149,9 +1149,9 @@ SECTIONS {
|
||||
data/const/manager/manager38.o(.rodata);
|
||||
data/const/manager/manager39.o(.rodata);
|
||||
data/data_08108E6C.o(.rodata);
|
||||
data/const/playerItem/playerItemSpiralBeam.o(.rodata);
|
||||
src/playerItem/playerItemSpiralBeam.o(.rodata);
|
||||
data/animations/npc/gentari.o(.rodata);
|
||||
data/const/npc/festari.o(.rodata);
|
||||
src/npc/festari.o(.rodata);
|
||||
data/animations/npc/festari.o(.rodata);
|
||||
data/const/npc/forestMinish.o(.rodata);
|
||||
data/animations/npc/forestMinish.o(.rodata);
|
||||
@@ -1163,15 +1163,15 @@ SECTIONS {
|
||||
data/animations/npc/townsperson.o(.rodata);
|
||||
data/const/npc/kid.o(.rodata);
|
||||
data/animations/npc/kid.o(.rodata);
|
||||
data/const/npc/npc9.o(.rodata);
|
||||
src/npc/npc9.o(.rodata);
|
||||
data/animations/npc/npc9.o(.rodata);
|
||||
data/const/npc/stamp.o(.rodata);
|
||||
src/npc/stamp.o(.rodata);
|
||||
data/animations/npc/stamp.o(.rodata);
|
||||
data/const/npc/marcy.o(.rodata);
|
||||
src/npc/marcy.o(.rodata);
|
||||
data/animations/npc/marcy.o(.rodata);
|
||||
data/const/npc/wheaton.o(.rodata);
|
||||
src/npc/wheaton.o(.rodata);
|
||||
data/animations/npc/wheaton.o(.rodata);
|
||||
data/const/npc/pita.o(.rodata);
|
||||
src/npc/pita.o(.rodata);
|
||||
data/animations/npc/pita.o(.rodata);
|
||||
data/const/npc/minishEzlo.o(.rodata);
|
||||
data/animations/npc/minishEzlo.o(.rodata);
|
||||
|
||||
@@ -9,7 +9,6 @@
|
||||
#include "functions.h"
|
||||
|
||||
extern Entity* gUnk_020000B0;
|
||||
extern void (*const gUnk_080012C8[])(Entity*);
|
||||
|
||||
static void sub_08031E48(Entity* this, Entity* child);
|
||||
static void sub_08032290(Entity* this);
|
||||
|
||||
@@ -22,8 +22,6 @@ bool32 sub_0802B234(Entity*);
|
||||
Entity* sub_0802B250(Entity*);
|
||||
void sub_0802B264(Entity*);
|
||||
|
||||
extern void (*const gUnk_080012C8[])(Entity*);
|
||||
|
||||
extern void (*const BombPeahat_Functions[])(Entity*);
|
||||
extern void (*const gUnk_080CD108[])(Entity*);
|
||||
extern void (*const gUnk_080CD120[])(Entity*);
|
||||
|
||||
@@ -8,7 +8,6 @@
|
||||
#include "enemy.h"
|
||||
#include "functions.h"
|
||||
|
||||
extern void (*const gUnk_080012C8[])(Entity*);
|
||||
extern void (*const Chaser_Functions[])(Entity*);
|
||||
extern void (*const gUnk_080CD298[])(Entity*);
|
||||
|
||||
|
||||
@@ -26,7 +26,6 @@ void sub_0801FB68(Entity*);
|
||||
u32 sub_0801FBD0(Entity*);
|
||||
void Chuchu_JumpAtPlayer(Entity*);
|
||||
|
||||
extern void (*const gUnk_080012C8[])(Entity*);
|
||||
extern void (*const Chuchu_Functions[])(Entity*);
|
||||
extern void (*const gUnk_080CA234[])(Entity*);
|
||||
extern void (*const gUnk_080CA25C[])(Entity*);
|
||||
|
||||
@@ -11,8 +11,6 @@ typedef struct {
|
||||
u8 unk_7b;
|
||||
} CuccoAggrEntity;
|
||||
|
||||
extern void (*const gUnk_080012C8[])(Entity*);
|
||||
|
||||
typedef struct {
|
||||
u16 x;
|
||||
u16 y;
|
||||
|
||||
+21
-8
@@ -14,18 +14,28 @@ typedef struct {
|
||||
|
||||
extern void sub_08045524(Entity*);
|
||||
void sub_08045178(Entity*, Entity*, int, int);
|
||||
void FireballGuy_OnTick(Entity*);
|
||||
void FireballGuy_OnCollision(Entity*);
|
||||
void FireballGuy_OnGrabbed(Entity*);
|
||||
void sub_080453E8(Entity*);
|
||||
void sub_08045430(Entity*);
|
||||
void sub_08045454(Entity*);
|
||||
|
||||
extern void (*const FireballGuy_Functions[])(Entity*);
|
||||
extern void (*const gUnk_080D1800[])(Entity*);
|
||||
extern u8 gUnk_080D180C[4]; // Entity count per form
|
||||
extern PosOffset gUnk_080D1810[4];
|
||||
static void (*const FireballGuy_Functions[])(Entity*) = {
|
||||
FireballGuy_OnTick, FireballGuy_OnCollision, GenericKnockback, GenericDeath, GenericConfused, FireballGuy_OnGrabbed,
|
||||
};
|
||||
|
||||
void FireballGuy(Entity* this) {
|
||||
EnemyFunctionHandler(this, FireballGuy_Functions);
|
||||
}
|
||||
|
||||
void FireballGuy_OnTick(Entity* this) {
|
||||
gUnk_080D1800[this->action](this);
|
||||
static void (*const actionFuncs[])(Entity*) = {
|
||||
sub_080453E8,
|
||||
sub_08045430,
|
||||
sub_08045454,
|
||||
};
|
||||
actionFuncs[this->action](this);
|
||||
}
|
||||
|
||||
void FireballGuy_OnCollision(Entity* this) {
|
||||
@@ -36,7 +46,7 @@ void FireballGuy_OnCollision(Entity* this) {
|
||||
}
|
||||
}
|
||||
|
||||
void FireballGuy_OnGrabbed(void) {
|
||||
void FireballGuy_OnGrabbed(Entity* this) {
|
||||
}
|
||||
|
||||
void sub_080453E8(Entity* this) {
|
||||
@@ -60,14 +70,17 @@ void sub_08045430(Entity* this) {
|
||||
|
||||
/* Split FireballGuy into new ones */
|
||||
void sub_08045454(Entity* this) {
|
||||
// Entity count per form
|
||||
static const u8 typeEntityCount[4] = { 2, 3, 4, 5 };
|
||||
static const PosOffset gUnk_080D1810[4] = { { 6, 0 }, { -6, 0 }, { 0, 6 }, { 0, -6 } };
|
||||
Entity* entities[4];
|
||||
Entity* ent;
|
||||
s32 count, i;
|
||||
PosOffset* off;
|
||||
const PosOffset* off;
|
||||
u32 tmp;
|
||||
|
||||
/* Can we create enough new entities? */
|
||||
count = gUnk_080D180C[this->type];
|
||||
count = typeEntityCount[this->type];
|
||||
if (MAX_ENTITIES + 1 - count <= gEntCount)
|
||||
return;
|
||||
|
||||
|
||||
@@ -11,7 +11,6 @@
|
||||
#include "player.h"
|
||||
#include "room.h"
|
||||
|
||||
extern void (*const gUnk_080012C8[])(Entity*);
|
||||
extern Hitbox gUnk_080FD34C;
|
||||
|
||||
typedef struct {
|
||||
|
||||
@@ -12,8 +12,6 @@ typedef struct {
|
||||
u8 unk_0x76;
|
||||
} FlyingSkullEntity;
|
||||
|
||||
extern void (*const gUnk_080012C8[])(Entity*);
|
||||
|
||||
void (*const FlyingSkull_Functions[])(Entity*);
|
||||
void (*const gUnk_080CFB9C[])(FlyingSkullEntity*);
|
||||
void (*const gUnk_080CFBBC[])(FlyingSkullEntity*);
|
||||
|
||||
+21
-7
@@ -9,12 +9,19 @@
|
||||
#include "functions.h"
|
||||
|
||||
extern Entity* gUnk_020000B0;
|
||||
void Keaton_OnTick(Entity*);
|
||||
void Keaton_OnCollision(Entity*);
|
||||
void Keaton_OnGrabbed(Entity*);
|
||||
void sub_08032468(Entity*);
|
||||
void sub_0803248C(Entity*);
|
||||
void sub_080324CC(Entity*);
|
||||
void sub_080324FC(Entity*);
|
||||
void sub_08032574(Entity*);
|
||||
void sub_080325C4(Entity*);
|
||||
|
||||
extern void (*const Keaton_Functions[])(Entity*);
|
||||
extern void (*const gUnk_080CE7C8[])(Entity*);
|
||||
extern u8 gUnk_080CE7E0[];
|
||||
extern u16 gUnk_080CE7F0[];
|
||||
extern s8 gUnk_080CE810[];
|
||||
static void (*const Keaton_Functions[])(Entity*) = {
|
||||
Keaton_OnTick, Keaton_OnCollision, GenericKnockback, GenericDeath, GenericConfused, Keaton_OnGrabbed,
|
||||
};
|
||||
|
||||
u32 sub_080325E8(Entity* this);
|
||||
void sub_08032650(Entity* this);
|
||||
@@ -34,7 +41,10 @@ void Keaton(Entity* this) {
|
||||
}
|
||||
|
||||
void Keaton_OnTick(Entity* this) {
|
||||
gUnk_080CE7C8[this->action](this);
|
||||
static void (*const actionFuncs[])(Entity*) = {
|
||||
sub_08032468, sub_0803248C, sub_080324CC, sub_080324FC, sub_08032574, sub_080325C4,
|
||||
};
|
||||
actionFuncs[this->action](this);
|
||||
}
|
||||
|
||||
void Keaton_OnCollision(Entity* this) {
|
||||
@@ -158,6 +168,7 @@ u32 sub_080325E8(Entity* this) {
|
||||
}
|
||||
|
||||
void sub_08032650(Entity* this) {
|
||||
static const u8 gUnk_080CE7E0[] = { 60, 60, 90, 90, 90, 90, 120, 120, 120, 120, 120, 120, 120, 120, 150, 150 };
|
||||
u32 uVar3;
|
||||
|
||||
uVar3 = Random();
|
||||
@@ -189,6 +200,8 @@ void sub_0803269C(Entity* this, u32 direction) {
|
||||
}
|
||||
|
||||
void sub_080326FC(Entity* this) {
|
||||
static const u16 gUnk_080CE7F0[] = { 0xd2, 0xd2, 0xf0, 0xf0, 0x10e, 0x10e, 0x10e, 0x10e,
|
||||
0x12c, 0x12c, 0x12c, 0x12c, 0x12c, 0x12c, 0x12c, 0x12c };
|
||||
this->field_0x74.HWORD = gUnk_080CE7F0[Random() & 0xF];
|
||||
}
|
||||
|
||||
@@ -224,7 +237,8 @@ void sub_08032784(Entity* this) {
|
||||
|
||||
void sub_08032794(Entity* this) {
|
||||
Entity* target;
|
||||
s8* temp;
|
||||
const s8* temp;
|
||||
static const s8 gUnk_080CE810[] = { 0, 2, -4, 0, 0, -11, 4, 0 };
|
||||
|
||||
target = CreateFx(this, FX_DASH, 0x40);
|
||||
if (target != NULL) {
|
||||
|
||||
@@ -9,16 +9,28 @@
|
||||
#include "functions.h"
|
||||
|
||||
extern void sub_08045678(Entity*);
|
||||
void MiniFireballGuy_OnTick(Entity*);
|
||||
void MiniFireballGuy_OnCollision(Entity*);
|
||||
void MiniFireballGuy_OnDeath(Entity*);
|
||||
void MiniFireballGuy_OnGrabbed(Entity*);
|
||||
void sub_08045618(Entity*);
|
||||
void sub_08045654(Entity*);
|
||||
|
||||
extern void (*const MiniFireballGuy_Functions[])(Entity*);
|
||||
extern void (*const gUnk_080D1880[])(Entity*);
|
||||
static void (*const MiniFireballGuy_Functions[])(Entity*) = {
|
||||
MiniFireballGuy_OnTick, MiniFireballGuy_OnCollision, GenericKnockback, MiniFireballGuy_OnDeath,
|
||||
GenericConfused, MiniFireballGuy_OnGrabbed,
|
||||
};
|
||||
|
||||
void MiniFireballGuy(Entity* this) {
|
||||
EnemyFunctionHandler(this, MiniFireballGuy_Functions);
|
||||
}
|
||||
|
||||
void MiniFireballGuy_OnTick(Entity* this) {
|
||||
gUnk_080D1880[this->action](this);
|
||||
static void (*const actionFuncs[])(Entity*) = {
|
||||
sub_08045618,
|
||||
sub_08045654,
|
||||
};
|
||||
actionFuncs[this->action](this);
|
||||
}
|
||||
|
||||
void MiniFireballGuy_OnCollision(Entity* this) {
|
||||
@@ -56,7 +68,6 @@ void sub_08045654(Entity* this) {
|
||||
}
|
||||
|
||||
void sub_08045678(Entity* this) {
|
||||
|
||||
this->zVelocity = Q_16_16(1.75);
|
||||
if (this->timer != 0) {
|
||||
this->timer--;
|
||||
|
||||
+19
-4
@@ -8,13 +8,22 @@
|
||||
#include "enemy.h"
|
||||
#include "physics.h"
|
||||
|
||||
void sub_08045374(Entity*);
|
||||
void MiniSlime_OnTick(Entity*);
|
||||
void MiniSlime_OnCollision(Entity*);
|
||||
void MiniSlime_OnDeath(Entity*);
|
||||
void MiniSlime_OnGrabbed(Entity*);
|
||||
void sub_080452A4(Entity*);
|
||||
void sub_080452E4(Entity*);
|
||||
void sub_080452FC(Entity*);
|
||||
void sub_08045374(Entity*);
|
||||
|
||||
extern void sub_080452E4(Entity*);
|
||||
extern void ReplaceMonitoredEntity(Entity*, Entity*);
|
||||
|
||||
extern void (*const MiniSlime_Functions[])(Entity*);
|
||||
extern void (*const gUnk_080D17D8[])(Entity*);
|
||||
static void (*const MiniSlime_Functions[])(Entity*) = {
|
||||
MiniSlime_OnTick, MiniSlime_OnCollision, GenericKnockback, MiniSlime_OnDeath, GenericConfused, MiniSlime_OnGrabbed,
|
||||
};
|
||||
|
||||
void MiniSlime(Entity* this) {
|
||||
EnemyFunctionHandler(this, MiniSlime_Functions);
|
||||
@@ -22,7 +31,13 @@ void MiniSlime(Entity* this) {
|
||||
}
|
||||
|
||||
void MiniSlime_OnTick(Entity* this) {
|
||||
gUnk_080D17D8[this->action](this);
|
||||
static void (*const actionFuncs[])(Entity*) = {
|
||||
sub_080452A4,
|
||||
sub_080452E4,
|
||||
sub_080452FC,
|
||||
sub_08045374,
|
||||
};
|
||||
actionFuncs[this->action](this);
|
||||
}
|
||||
|
||||
void MiniSlime_OnCollision(Entity* this) {
|
||||
@@ -44,7 +59,7 @@ void MiniSlime_OnDeath(Entity* this) {
|
||||
GenericDeath(this);
|
||||
}
|
||||
|
||||
void MiniSlime_OnGrabbed(void) {
|
||||
void MiniSlime_OnGrabbed(Entity* this) {
|
||||
}
|
||||
|
||||
void sub_080452A4(Entity* this) {
|
||||
|
||||
@@ -5,7 +5,6 @@
|
||||
|
||||
void (*const OctorokGolden_Functions[])(Entity*);
|
||||
void (*const gUnk_080CF484[])(Entity*);
|
||||
extern void (*const gUnk_080012C8[])(Entity*);
|
||||
const s8 gUnk_080CF490[];
|
||||
const u8 gUnk_080CF498[];
|
||||
|
||||
|
||||
+28
-5
@@ -8,9 +8,21 @@
|
||||
#include "enemy.h"
|
||||
#include "physics.h"
|
||||
|
||||
extern void (*const Rope_Functions[6])(Entity*);
|
||||
extern void (*const gUnk_080CE460[4])(Entity*);
|
||||
extern void (*const gUnk_080CE470[3])(Entity*);
|
||||
void Rope_OnTick(Entity*);
|
||||
void Rope_OnCollision(Entity*);
|
||||
void Rope_OnGrabbed(Entity*);
|
||||
void sub_08031434(Entity*);
|
||||
void sub_08031480(Entity*);
|
||||
void sub_080314FC(Entity*);
|
||||
void sub_080315BC(Entity*);
|
||||
void sub_0803140C(Entity*);
|
||||
void sub_08031418(Entity*);
|
||||
void sub_08031420(Entity*);
|
||||
|
||||
static void (*const Rope_Functions[6])(Entity*) = {
|
||||
Rope_OnTick, Rope_OnCollision, GenericKnockback, GenericDeath, GenericConfused, Rope_OnGrabbed,
|
||||
};
|
||||
|
||||
extern Entity* gUnk_020000B0;
|
||||
|
||||
void sub_08031600(Entity*);
|
||||
@@ -22,7 +34,13 @@ void Rope(Entity* this) {
|
||||
}
|
||||
|
||||
void Rope_OnTick(Entity* this) {
|
||||
gUnk_080CE460[this->action](this);
|
||||
static void (*const actionFuncs[4])(Entity*) = {
|
||||
sub_08031434,
|
||||
sub_08031480,
|
||||
sub_080314FC,
|
||||
sub_080315BC,
|
||||
};
|
||||
actionFuncs[this->action](this);
|
||||
}
|
||||
|
||||
void Rope_OnCollision(Entity* this) {
|
||||
@@ -38,8 +56,13 @@ void Rope_OnCollision(Entity* this) {
|
||||
}
|
||||
|
||||
void Rope_OnGrabbed(Entity* this) {
|
||||
static void (*const subActionFuncs[3])(Entity*) = {
|
||||
sub_0803140C,
|
||||
sub_08031418,
|
||||
sub_08031420,
|
||||
};
|
||||
if (sub_0806F520(this)) {
|
||||
gUnk_080CE470[this->subAction](this);
|
||||
subActionFuncs[this->subAction](this);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+18
-4
@@ -11,9 +11,17 @@
|
||||
#include "physics.h"
|
||||
#include "player.h"
|
||||
|
||||
extern void (*const gUnk_080012C8[])(Entity*);
|
||||
extern void (*const RopeGolden_Functions[6])(Entity*);
|
||||
extern void (*const gUnk_080CF4E0[4])(Entity*);
|
||||
void RopeGolden_OnTick(Entity*);
|
||||
void RopeGolden_OnCollision(Entity*);
|
||||
void RopeGolden_OnDeath(Entity*);
|
||||
void sub_08038258(Entity*);
|
||||
void sub_0803827C(Entity*);
|
||||
void sub_080382EC(Entity*);
|
||||
void sub_08038304(Entity*);
|
||||
|
||||
static void (*const RopeGolden_Functions[6])(Entity*) = {
|
||||
RopeGolden_OnTick, RopeGolden_OnCollision, GenericKnockback, RopeGolden_OnDeath, GenericConfused, RopeGolden_OnTick,
|
||||
};
|
||||
|
||||
void sub_080383AC(Entity*);
|
||||
void sub_080383E4(Entity*);
|
||||
@@ -30,7 +38,13 @@ void RopeGolden(Entity* this) {
|
||||
}
|
||||
|
||||
void RopeGolden_OnTick(Entity* this) {
|
||||
gUnk_080CF4E0[this->action](this);
|
||||
static void (*const actionFuncs[4])(Entity*) = {
|
||||
sub_08038258,
|
||||
sub_0803827C,
|
||||
sub_080382EC,
|
||||
sub_08038304,
|
||||
};
|
||||
actionFuncs[this->action](this);
|
||||
}
|
||||
|
||||
void RopeGolden_OnCollision(Entity* this) {
|
||||
|
||||
+19
-7
@@ -14,12 +14,19 @@ typedef struct {
|
||||
} PACKED PosOffset;
|
||||
|
||||
void sub_08044FF8(Entity*);
|
||||
void Slime_OnTick(Entity*);
|
||||
void Slime_OnCollision(Entity*);
|
||||
void Slime_OnGrabbed(Entity*);
|
||||
void sub_08044FC8(Entity*);
|
||||
void sub_08044FF8(Entity*);
|
||||
void sub_08045018(Entity*);
|
||||
void sub_08045088(Entity*);
|
||||
void sub_080450A8(Entity*);
|
||||
void sub_08045178(Entity*, Entity*, int, int);
|
||||
|
||||
extern void (*const gUnk_080D16BC[])(Entity*);
|
||||
extern void (*const Slime_Functions[])(Entity*);
|
||||
extern u8 gUnk_080D16D0[4]; // Entity count per form
|
||||
extern PosOffset gUnk_080D16D4[4];
|
||||
static void (*const Slime_Functions[])(Entity*) = {
|
||||
Slime_OnTick, Slime_OnCollision, GenericKnockback, GenericDeath, GenericConfused, Slime_OnGrabbed,
|
||||
};
|
||||
|
||||
void Slime(Entity* this) {
|
||||
EnemyFunctionHandler(this, Slime_Functions);
|
||||
@@ -27,7 +34,10 @@ void Slime(Entity* this) {
|
||||
}
|
||||
|
||||
void Slime_OnTick(Entity* this) {
|
||||
gUnk_080D16BC[this->action](this);
|
||||
static void (*const actionFuncs[])(Entity*) = {
|
||||
sub_08044FC8, sub_08044FF8, sub_08045018, sub_08045088, sub_080450A8,
|
||||
};
|
||||
actionFuncs[this->action](this);
|
||||
}
|
||||
|
||||
void Slime_OnCollision(Entity* this) {
|
||||
@@ -89,10 +99,12 @@ void sub_080450A8(Entity* this) {
|
||||
Entity* entities[4];
|
||||
Entity* ent;
|
||||
s32 count, i;
|
||||
PosOffset* off;
|
||||
const PosOffset* off;
|
||||
static const u8 typeEntityCount[4] = { 2, 2, 4, 2 };
|
||||
static const PosOffset gUnk_080D16D4[4] = { { 6, 0 }, { -6, 0 }, { 0, 6 }, { 0, -6 } };
|
||||
|
||||
/* Can we create enough new entities? */
|
||||
count = gUnk_080D16D0[this->type];
|
||||
count = typeEntityCount[this->type];
|
||||
if (MAX_ENTITIES + 1 - count <= gEntCount)
|
||||
return;
|
||||
|
||||
|
||||
@@ -12,8 +12,6 @@ void sub_08023E10(Entity*);
|
||||
void sub_08023E54(Entity*);
|
||||
void sub_08023E9C(Entity*);
|
||||
|
||||
extern void (*const gUnk_080012C8[])(Entity*);
|
||||
|
||||
extern void (*const Sluggula_Functions[])(Entity*);
|
||||
extern void (*const gUnk_080CBDD4[])(Entity*);
|
||||
extern void (*const gUnk_080CBDEC[])(Entity*);
|
||||
|
||||
+27
-9
@@ -8,24 +8,36 @@
|
||||
#include "enemy.h"
|
||||
#include "physics.h"
|
||||
|
||||
extern void sub_080317F8(Entity*);
|
||||
void sub_080317F8(Entity*);
|
||||
void SmallPesto_OnTick(Entity*);
|
||||
void SmallPesto_OnCollision(Entity*);
|
||||
void SmallPesto_OnGrabbed(Entity*);
|
||||
void sub_08031704(Entity*);
|
||||
void sub_08031714(Entity*);
|
||||
void sub_08031770(Entity*);
|
||||
void sub_080316DC(Entity*);
|
||||
void sub_080316E8(Entity*);
|
||||
void sub_080316F0(Entity*);
|
||||
|
||||
extern void (*SmallPesto_Functions[])(Entity*);
|
||||
extern void (*gUnk_080CE548[])(Entity*);
|
||||
extern void (*gUnk_080CE554[])(Entity*);
|
||||
static void (*const SmallPesto_Functions[])(Entity*) = {
|
||||
SmallPesto_OnTick, SmallPesto_OnCollision, GenericKnockback, GenericDeath, GenericConfused, SmallPesto_OnGrabbed,
|
||||
};
|
||||
|
||||
void sub_080317B4(Entity*);
|
||||
void sub_080317E0(Entity*);
|
||||
void sub_08031840(Entity*);
|
||||
|
||||
extern Hitbox gUnk_080CE560;
|
||||
|
||||
void SmallPesto(Entity* this) {
|
||||
SmallPesto_Functions[GetNextFunction(this)](this);
|
||||
}
|
||||
|
||||
void SmallPesto_OnTick(Entity* this) {
|
||||
gUnk_080CE548[this->action](this);
|
||||
static void (*const actionFuncs[])(Entity*) = {
|
||||
sub_08031704,
|
||||
sub_08031714,
|
||||
sub_08031770,
|
||||
};
|
||||
actionFuncs[this->action](this);
|
||||
}
|
||||
|
||||
void SmallPesto_OnCollision(Entity* this) {
|
||||
@@ -33,6 +45,11 @@ void SmallPesto_OnCollision(Entity* this) {
|
||||
|
||||
void SmallPesto_OnGrabbed(Entity* this) {
|
||||
s32 iVar1;
|
||||
static void (*const subActionFuncs[])(Entity*) = {
|
||||
sub_080316DC,
|
||||
sub_080316E8,
|
||||
sub_080316F0,
|
||||
};
|
||||
|
||||
GetNextFrame(this);
|
||||
iVar1 = sub_0806F520(this);
|
||||
@@ -43,7 +60,7 @@ void SmallPesto_OnGrabbed(Entity* this) {
|
||||
this->speed = 0x40;
|
||||
this->subtimer = 1;
|
||||
} else {
|
||||
gUnk_080CE554[this->subAction](this);
|
||||
subActionFuncs[this->subAction](this);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -107,6 +124,7 @@ void sub_080317E0(Entity* this) {
|
||||
}
|
||||
|
||||
void sub_080317F8(Entity* this) {
|
||||
static const Hitbox3D gUnk_080CE560 = { 0, -3, { 3, 2, 2, 3 }, 2, 2, 12, { 0, 0, 0 } };
|
||||
u8 newDirection = Random() & 0x18;
|
||||
this->action = 1;
|
||||
this->z.HALF.HI = 0x0000FFF4;
|
||||
@@ -114,7 +132,7 @@ void sub_080317F8(Entity* this) {
|
||||
this->collisionFlags |= 0x10;
|
||||
this->gustJarFlags = 1;
|
||||
this->direction = newDirection;
|
||||
this->hitbox = &gUnk_080CE560;
|
||||
this->hitbox = (Hitbox*)&gUnk_080CE560;
|
||||
sub_080317E0(this);
|
||||
this->timer = 0;
|
||||
this->subtimer = 0x20;
|
||||
|
||||
+24
-4
@@ -10,9 +10,18 @@
|
||||
#include "functions.h"
|
||||
|
||||
static void sub_0802F45C(Entity* this);
|
||||
static void Tektite_OnTick(Entity*);
|
||||
static void Tektite_OnCollision(Entity*);
|
||||
static void Tektite_OnConfused(Entity*);
|
||||
static void Tektite_OnGrabbed(Entity*);
|
||||
static void sub_0802F210(Entity*);
|
||||
static void sub_0802F284(Entity*);
|
||||
static void sub_0802F300(Entity*);
|
||||
static void sub_0802F3F4(Entity*);
|
||||
|
||||
extern void (*const Tektite_Functions[])(Entity*);
|
||||
extern void (*const gUnk_080CDEE8[])(Entity*);
|
||||
static void (*const Tektite_Functions[])(Entity*) = {
|
||||
Tektite_OnTick, Tektite_OnCollision, GenericKnockback, GenericDeath, Tektite_OnConfused, Tektite_OnGrabbed,
|
||||
};
|
||||
|
||||
void Tektite(Entity* this) {
|
||||
EnemyFunctionHandler(this, Tektite_Functions);
|
||||
@@ -20,10 +29,21 @@ void Tektite(Entity* this) {
|
||||
}
|
||||
|
||||
void Tektite_OnTick(Entity* this) {
|
||||
gUnk_080CDEE8[this->action](this);
|
||||
static void (*const actionFuncs[])(Entity*) = {
|
||||
sub_0802F210,
|
||||
sub_0802F284,
|
||||
sub_0802F300,
|
||||
sub_0802F3F4,
|
||||
};
|
||||
actionFuncs[this->action](this);
|
||||
}
|
||||
|
||||
extern u8 gUnk_080CDEF8[];
|
||||
static const u8 gUnk_080CDEF8[] = {
|
||||
0x18,
|
||||
0x28,
|
||||
0x38,
|
||||
0x48,
|
||||
};
|
||||
|
||||
void Tektite_OnCollision(Entity* this) {
|
||||
u32 bVar1;
|
||||
|
||||
@@ -9,18 +9,35 @@
|
||||
#include "enemy.h"
|
||||
#include "functions.h"
|
||||
|
||||
extern void sub_08038168(Entity*);
|
||||
void sub_08038168(Entity*);
|
||||
void TektiteGolden_OnTick(Entity*);
|
||||
void TektiteGolden_OnCollision(Entity*);
|
||||
void TektiteGolden_OnDeath(Entity*);
|
||||
void TektiteGolden_OnConfused(Entity*);
|
||||
void TektiteGolden_OnTick(Entity*);
|
||||
void sub_08037FA0(Entity*);
|
||||
void sub_08037Fe0(Entity*);
|
||||
void sub_08038048(Entity*);
|
||||
void sub_08038110(Entity*);
|
||||
|
||||
extern void (*const TektiteGolden_Functions)(Entity*);
|
||||
extern void (*const gUnk_080CF4B8[])(Entity*);
|
||||
static void (*const TektiteGolden_Functions[])(Entity*) = {
|
||||
TektiteGolden_OnTick, TektiteGolden_OnCollision, GenericKnockback,
|
||||
TektiteGolden_OnDeath, TektiteGolden_OnConfused, TektiteGolden_OnTick,
|
||||
};
|
||||
|
||||
void TektiteGolden(Entity* this) {
|
||||
EnemyFunctionHandler(this, &TektiteGolden_Functions);
|
||||
EnemyFunctionHandler(this, TektiteGolden_Functions);
|
||||
SetChildOffset(this, 0, 1, -0x10);
|
||||
}
|
||||
|
||||
void TektiteGolden_OnTick(Entity* this) {
|
||||
gUnk_080CF4B8[this->action](this);
|
||||
static void (*const actionFuncs[])(Entity*) = {
|
||||
sub_08037FA0,
|
||||
sub_08037Fe0,
|
||||
sub_08038048,
|
||||
sub_08038110,
|
||||
};
|
||||
actionFuncs[this->action](this);
|
||||
}
|
||||
|
||||
void TektiteGolden_OnCollision(Entity* this) {
|
||||
@@ -29,7 +46,7 @@ void TektiteGolden_OnCollision(Entity* this) {
|
||||
if (this->confusedTime != 0) {
|
||||
Create0x68FX(this, FX_STARS);
|
||||
}
|
||||
EnemyFunctionHandlerAfterCollision(this, &TektiteGolden_Functions);
|
||||
EnemyFunctionHandlerAfterCollision(this, TektiteGolden_Functions);
|
||||
if (this->contactFlags == 0x94) {
|
||||
this->action = 1;
|
||||
this->subAction = 0;
|
||||
|
||||
+18
-6
@@ -15,12 +15,19 @@ typedef struct {
|
||||
s8 h, v;
|
||||
} PACKED PosOffset;
|
||||
|
||||
extern void (*const gUnk_080D1604[])(Entity*);
|
||||
extern PosOffset gUnk_080D1620[4];
|
||||
void sub_0804468C(Entity*);
|
||||
void sub_080447E0(Entity*);
|
||||
void sub_08044868(Entity*);
|
||||
void sub_0804474C(Entity*);
|
||||
void sub_080449F8(Entity*);
|
||||
void sub_08044B04(Entity*);
|
||||
|
||||
extern void sub_08044E74(Entity*, u32);
|
||||
|
||||
void VaatiBall(Entity* this) {
|
||||
static void (*const actionFuncs[])(Entity*) = {
|
||||
sub_0804468C, sub_0804474C, sub_080447E0, sub_08044868, sub_0804474C, sub_080449F8, sub_08044B04,
|
||||
};
|
||||
Entity* parent;
|
||||
|
||||
parent = this->parent;
|
||||
@@ -29,7 +36,7 @@ void VaatiBall(Entity* this) {
|
||||
this->y.WORD += parent->y.WORD - parent->field_0x7c.WORD;
|
||||
}
|
||||
|
||||
gUnk_080D1604[this->action](this);
|
||||
actionFuncs[this->action](this);
|
||||
|
||||
if (this->cutsceneBeh.HALF.LO) {
|
||||
this->health = -1;
|
||||
@@ -56,7 +63,8 @@ void VaatiBall(Entity* this) {
|
||||
}
|
||||
|
||||
void sub_0804468C(Entity* this) {
|
||||
PosOffset* off;
|
||||
const PosOffset* off;
|
||||
static const PosOffset gUnk_080D1620[4] = { { -48, 0 }, { 0, -48 }, { 48, 0 }, { 0, 48 } };
|
||||
|
||||
this->collisionLayer = 3;
|
||||
this->spriteRendering.b3 = 2;
|
||||
@@ -447,10 +455,14 @@ void sub_08044B04(Entity* this) {
|
||||
}
|
||||
}
|
||||
|
||||
extern u8 gUnk_080D1628[4][4];
|
||||
|
||||
void sub_08044DEC(Entity* this) {
|
||||
u32 off;
|
||||
static const u8 gUnk_080D1628[4][4] = {
|
||||
{ 16, 24, 0, 8 },
|
||||
{ 8, 24, 0, 16 },
|
||||
{ 0, 11, 21, 16 },
|
||||
{ 16, 24, 0, 8 },
|
||||
};
|
||||
|
||||
if (this->parent->field_0x80.HALF.LO > this->field_0x78.HALF.HI) {
|
||||
this->spriteSettings.draw = 1;
|
||||
|
||||
+25
-7
@@ -12,19 +12,31 @@
|
||||
#include "functions.h"
|
||||
|
||||
static void sub_08033744(Entity* this);
|
||||
void Wisp_OnTick(Entity* this);
|
||||
void Wisp_OnCollision(Entity* this);
|
||||
void Wisp_OnGrabbed(Entity* this);
|
||||
void sub_08033674(Entity* this);
|
||||
void sub_080336A8(Entity* this);
|
||||
void sub_080336DC(Entity* this);
|
||||
void sub_08033650(Entity* this);
|
||||
void sub_08033658(Entity* this);
|
||||
void sub_08033660(Entity* this);
|
||||
|
||||
extern void (*const Wisp_Functions[])(Entity*);
|
||||
extern void (*const gUnk_080CEB8C[])(Entity*);
|
||||
extern void (*const gUnk_080CEB98[])(Entity*);
|
||||
|
||||
extern u8 gUnk_080CEBA4[];
|
||||
static void (*const Wisp_Functions[])(Entity*) = {
|
||||
Wisp_OnTick, Wisp_OnCollision, GenericKnockback, GenericDeath, GenericConfused, Wisp_OnGrabbed,
|
||||
};
|
||||
|
||||
void Wisp(Entity* this) {
|
||||
EnemyFunctionHandler(this, Wisp_Functions);
|
||||
}
|
||||
|
||||
void Wisp_OnTick(Entity* this) {
|
||||
gUnk_080CEB8C[this->action](this);
|
||||
static void (*const actionFuncs[])(Entity*) = {
|
||||
sub_08033674,
|
||||
sub_080336A8,
|
||||
sub_080336DC,
|
||||
};
|
||||
actionFuncs[this->action](this);
|
||||
}
|
||||
|
||||
void Wisp_OnCollision(Entity* this) {
|
||||
@@ -70,8 +82,13 @@ void Wisp_OnCollision(Entity* this) {
|
||||
}
|
||||
|
||||
void Wisp_OnGrabbed(Entity* this) {
|
||||
static void (*const subActionFuncs[])(Entity*) = {
|
||||
sub_08033650,
|
||||
sub_08033658,
|
||||
sub_08033660,
|
||||
};
|
||||
if (sub_0806F520(this)) {
|
||||
gUnk_080CEB98[this->subAction](this);
|
||||
subActionFuncs[this->subAction](this);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -133,6 +150,7 @@ void sub_080336DC(Entity* this) {
|
||||
static void sub_08033744(Entity* this) {
|
||||
u32 temp;
|
||||
u32 rand = (u32)Random() % 256;
|
||||
static const u8 gUnk_080CEBA4[] = { 30, 45, 60, 75, 1, 90, 105, 120 };
|
||||
|
||||
// 8 potential options
|
||||
this->timer = gUnk_080CEBA4[(rand & 0x70) >> 4];
|
||||
|
||||
@@ -25,11 +25,11 @@ typedef struct {
|
||||
u16 unk_3e;
|
||||
} Manager3;
|
||||
|
||||
extern s8 gUnk_08107C6C[];
|
||||
extern u32 PortalReadyForMinish(void);
|
||||
extern u32 sub_080B1AC8(u16, u16, u8);
|
||||
|
||||
void Manager3_Main(Manager3* this) {
|
||||
static const s8 gUnk_08107C6C[] = { -3, -3, -3, 0 };
|
||||
s8 tmp;
|
||||
if (this->manager.action == 0) {
|
||||
this->manager.action = 1;
|
||||
|
||||
+10
-4
@@ -3,12 +3,18 @@
|
||||
#include "functions.h"
|
||||
#include "npc.h"
|
||||
|
||||
extern void sub_0805FF2C(Entity*, ScriptExecutionContext*);
|
||||
|
||||
extern void (*const gUnk_08109BBC[])(Entity*);
|
||||
void sub_0805FF2C(Entity*, ScriptExecutionContext*);
|
||||
void sub_0805FE10(Entity* this);
|
||||
void sub_0805FE48(Entity* this);
|
||||
void sub_0805FF18(Entity* this);
|
||||
|
||||
void Festari(Entity* this) {
|
||||
gUnk_08109BBC[this->action](this);
|
||||
static void (*const actionFuncs[])(Entity*) = {
|
||||
sub_0805FE10,
|
||||
sub_0805FE48,
|
||||
sub_0805FF18,
|
||||
};
|
||||
actionFuncs[this->action](this);
|
||||
}
|
||||
|
||||
void sub_0805FE10(Entity* this) {
|
||||
|
||||
+2
-3
@@ -4,8 +4,6 @@
|
||||
#include "message.h"
|
||||
#include "item.h"
|
||||
|
||||
extern u16 gUnk_0810C34C[];
|
||||
|
||||
void Marcy(Entity* this) {
|
||||
if (this->action == 0) {
|
||||
this->action += 1;
|
||||
@@ -16,6 +14,7 @@ void Marcy(Entity* this) {
|
||||
}
|
||||
|
||||
void sub_08062D18(Entity* this, ScriptExecutionContext* context) {
|
||||
static const u16 msgIndices[] = { 0x4004, 0x400b, 0x4009, 0x400a, 0, 0, 0, 0, 0, 0 };
|
||||
u8 tmp = 0;
|
||||
if ((GetInventoryValue(ITEM_SKILL_PERIL_BEAM) != 0) && (CheckLocalFlag(0x26) == 0)) {
|
||||
tmp = 7;
|
||||
@@ -50,7 +49,7 @@ void sub_08062D18(Entity* this, ScriptExecutionContext* context) {
|
||||
tmp = 3;
|
||||
}
|
||||
|
||||
MessageNoOverlap(gUnk_0810C34C[tmp], this);
|
||||
MessageNoOverlap(msgIndices[tmp], this);
|
||||
if (tmp == 0) {
|
||||
context->condition = TRUE;
|
||||
} else {
|
||||
|
||||
+11
-2
@@ -3,10 +3,19 @@
|
||||
#include "message.h"
|
||||
#include "npc.h"
|
||||
|
||||
extern void (*const gUnk_0810C290[])(Entity*);
|
||||
void sub_08062AF0(Entity*);
|
||||
void sub_08062B14(Entity*);
|
||||
void sub_08062B48(Entity*);
|
||||
void sub_08062B70(Entity*);
|
||||
|
||||
void NPC9(Entity* this) {
|
||||
gUnk_0810C290[this->action](this);
|
||||
static void (*const actionFuncs[])(Entity*) = {
|
||||
sub_08062AF0,
|
||||
sub_08062B14,
|
||||
sub_08062B48,
|
||||
sub_08062B70,
|
||||
};
|
||||
actionFuncs[this->action](this);
|
||||
}
|
||||
|
||||
void sub_08062AF0(Entity* this) {
|
||||
|
||||
+21
-9
@@ -1,18 +1,27 @@
|
||||
#include "npc.h"
|
||||
#include "item.h"
|
||||
|
||||
extern Hitbox gUnk_0810C428;
|
||||
|
||||
extern u8 gUnk_0810C430[4];
|
||||
extern u8 gUnk_0810C435[];
|
||||
extern u8 gUnk_0810C43D[];
|
||||
|
||||
void Pita(Entity* this) {
|
||||
static const Hitbox gUnk_0810C428 = {
|
||||
#if EU
|
||||
0,
|
||||
2,
|
||||
{ 0, 0, 0, 0 },
|
||||
6,
|
||||
18,
|
||||
#else
|
||||
0,
|
||||
2,
|
||||
{ 0, 0, 0, 0 },
|
||||
10,
|
||||
18,
|
||||
#endif
|
||||
};
|
||||
if (this->action == 0) {
|
||||
this->action += 1;
|
||||
SetDefaultPriority(this, PRIO_MESSAGE);
|
||||
SortEntityAbove(this, this);
|
||||
this->hitbox = &gUnk_0810C428;
|
||||
this->hitbox = (Hitbox*)&gUnk_0810C428;
|
||||
sub_0807DD64(this);
|
||||
}
|
||||
sub_0807DD94(this, NULL);
|
||||
@@ -33,6 +42,9 @@ void RemoveAllBakedGoods(void) {
|
||||
bool32 sub_08062EDC(Entity* this, ScriptExecutionContext* context) {
|
||||
u32 tmp;
|
||||
u32 tmp2;
|
||||
static const u8 chanceForPrize[] = { 0x20, 0x40, 0x60, 0x80, 0xFF };
|
||||
static const u8 gUnk_0810C435[] = { 0x10, 0x10, 0x10, 0x20, 0x20, 0x30, 0x30, 0x30 };
|
||||
static const u8 gUnk_0810C43D[] = { 0x6e, 0x6f, 0x70, 0x71, 0x72, 0x73, 0x74, 0x75 };
|
||||
|
||||
//! @bug: tmp is uninitialized, in practice player must have an item here
|
||||
if (GetInventoryValue(ITEM_BRIOCHE) != 0) {
|
||||
@@ -51,13 +63,13 @@ bool32 sub_08062EDC(Entity* this, ScriptExecutionContext* context) {
|
||||
SetLocalFlag(SHOP03_PAN_1ST);
|
||||
tmp = 4;
|
||||
}
|
||||
if ((Random() & 0xff) > gUnk_0810C430[tmp]) {
|
||||
if ((Random() & 0xff) > chanceForPrize[tmp]) {
|
||||
context->condition = FALSE;
|
||||
return FALSE;
|
||||
} else {
|
||||
tmp = GetRandomByWeight(gUnk_0810C435);
|
||||
tmp2 = gUnk_0810C43D[tmp];
|
||||
InitItemGetSequence(0x5c, tmp2, 1);
|
||||
InitItemGetSequence(ITEM_KINSTONE, tmp2, 1);
|
||||
MessageNoOverlap(0x3c05, this);
|
||||
context->condition = TRUE;
|
||||
return TRUE;
|
||||
|
||||
+29
-10
@@ -5,18 +5,28 @@
|
||||
#include "effects.h"
|
||||
#include "npc.h"
|
||||
|
||||
extern void sub_08062CA4(Entity*);
|
||||
|
||||
extern void (*gStampBehaviors1[4])(Entity*);
|
||||
extern void (*gStampBehaviors2[2])(Entity*);
|
||||
|
||||
extern Dialog gUnk_0810C2E4[2];
|
||||
void sub_08062CA4(Entity*);
|
||||
void sub_08062BD4(Entity*);
|
||||
void sub_08062BF8(Entity*);
|
||||
void sub_08062C24(Entity*);
|
||||
void sub_08062C54(Entity*);
|
||||
void sub_08062C7C(Entity*);
|
||||
|
||||
void Stamp(Entity* ent) {
|
||||
static void (*const actionFuncs[4])(Entity*) = {
|
||||
sub_08062BD4,
|
||||
sub_08062BF8,
|
||||
sub_08062C24,
|
||||
sub_08062C54,
|
||||
};
|
||||
static void (*const scriptedActionFuncs[2])(Entity*) = {
|
||||
sub_08062C7C,
|
||||
sub_08062CA4,
|
||||
};
|
||||
if ((ent->flags & ENT_SCRIPTED) != 0) {
|
||||
gStampBehaviors2[ent->action](ent);
|
||||
scriptedActionFuncs[ent->action](ent);
|
||||
} else {
|
||||
gStampBehaviors1[ent->action](ent);
|
||||
actionFuncs[ent->action](ent);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -69,8 +79,17 @@ void sub_08062CA4(Entity* ent) {
|
||||
}
|
||||
|
||||
void sub_08062CBC(Entity* ent) {
|
||||
u32 uVar1 = CheckKinstoneFused(44);
|
||||
ShowNPCDialogue(ent, &gUnk_0810C2E4[(-uVar1 | uVar1) >> 31]);
|
||||
static const Dialog gUnk_0810C2E4[2] = {
|
||||
{ 0, 0, 0x3, 1, { 0x4001, 0x4000 } },
|
||||
{ 0, 0, 0x3, 1, { 0x4003, 0x4002 } },
|
||||
};
|
||||
u32 uVar1;
|
||||
if (CheckKinstoneFused(44)) {
|
||||
uVar1 = 1;
|
||||
} else {
|
||||
uVar1 = 0;
|
||||
}
|
||||
ShowNPCDialogue(ent, &gUnk_0810C2E4[uVar1]);
|
||||
}
|
||||
|
||||
void sub_08062CE0(Entity* ent) {
|
||||
|
||||
+2
-3
@@ -1,14 +1,13 @@
|
||||
#include "npc.h"
|
||||
|
||||
extern Hitbox gUnk_0810C3C0;
|
||||
|
||||
void Wheaton(Entity* this) {
|
||||
static const Hitbox gUnk_0810C3C0 = { 0, 4, { 0, 0, 0, 0 }, 6, 12 };
|
||||
if (this->action == 0) {
|
||||
this->action++;
|
||||
|
||||
SetDefaultPriority(this, PRIO_MESSAGE);
|
||||
SortEntityAbove(this, this);
|
||||
this->hitbox = &gUnk_0810C3C0;
|
||||
this->hitbox = (Hitbox*)&gUnk_0810C3C0;
|
||||
this->spriteOffsetY = 0xfe;
|
||||
sub_0807DD64(this);
|
||||
}
|
||||
|
||||
+1
-1
@@ -336,7 +336,7 @@ void sub_0806F188(Entity* ent) {
|
||||
gSave.unk1C1[idx] = 0xF3;
|
||||
}
|
||||
|
||||
void ShowNPCDialogue(Entity* ent, Dialog* dia) {
|
||||
void ShowNPCDialogue(Entity* ent, const Dialog* dia) {
|
||||
u32 uVar1;
|
||||
s32 temp;
|
||||
u32 uVar2;
|
||||
|
||||
@@ -21,7 +21,6 @@ extern void (*const GreatFairy_Form1Behaviors[])(Entity*);
|
||||
extern void (*const GreatFairy_Form2Behaviors[])(Entity*);
|
||||
extern void (*const gUnk_081207A4[])(Entity*);
|
||||
|
||||
extern u32 gUnk_0810C2E4;
|
||||
extern const s16 GreatFairy_RippleOffsets[10];
|
||||
extern u8 gUnk_0812079C[8];
|
||||
extern s8 gUnk_081207AC[];
|
||||
|
||||
@@ -10,18 +10,36 @@ typedef struct {
|
||||
u32 unk_68;
|
||||
} PlayerItemBombEntity;
|
||||
|
||||
extern void (*const gUnk_080B77C8[])(Entity*);
|
||||
void sub_0801B418(Entity*);
|
||||
void sub_0801B3A4(PlayerItemBombEntity*);
|
||||
void sub_0801B250(PlayerItemBombEntity*);
|
||||
void sub_0801B2CC(PlayerItemBombEntity*);
|
||||
void sub_0801B318(PlayerItemBombEntity*);
|
||||
void sub_0801B38C(PlayerItemBombEntity*);
|
||||
void sub_0801B330(PlayerItemBombEntity*);
|
||||
void sub_0801B340(PlayerItemBombEntity*);
|
||||
void sub_0801B354(PlayerItemBombEntity*);
|
||||
void sub_0801B368(PlayerItemBombEntity*);
|
||||
void sub_0801B384(PlayerItemBombEntity*);
|
||||
|
||||
extern void (*const gUnk_080B77D8[])(Entity*);
|
||||
static void (*const actionFuncs[])(PlayerItemBombEntity*) = {
|
||||
sub_0801B250,
|
||||
sub_0801B2CC,
|
||||
sub_0801B318,
|
||||
sub_0801B38C,
|
||||
};
|
||||
|
||||
extern const Hitbox gUnk_080B77F4;
|
||||
static void (*const subActionFuncs[])(PlayerItemBombEntity*) = {
|
||||
sub_0801B330, sub_0801B340, sub_0801B354, sub_0801B368, sub_0801B384,
|
||||
};
|
||||
|
||||
static const Hitbox unusedHitbox = { 0, 0, { 4, 0, 0, 4 }, 22, 22 };
|
||||
static const Hitbox gUnk_080B77F4 = { 0, 0, 6, 0, 0, 6, 4, 4 };
|
||||
|
||||
void PlayerItemBomb(PlayerItemBombEntity* this) {
|
||||
u8 uVar1, uVar2;
|
||||
|
||||
gUnk_080B77C8[super->action](super);
|
||||
actionFuncs[super->action](this);
|
||||
GetNextFrame(super);
|
||||
uVar2 = uVar1 = super->action;
|
||||
if (uVar1 != 0x03) {
|
||||
@@ -102,37 +120,37 @@ void sub_0801B2CC(PlayerItemBombEntity* this) {
|
||||
}
|
||||
}
|
||||
|
||||
void sub_0801B318(Entity* this) {
|
||||
gUnk_080B77D8[this->subAction](this);
|
||||
void sub_0801B318(PlayerItemBombEntity* this) {
|
||||
subActionFuncs[super->subAction](this);
|
||||
}
|
||||
|
||||
void sub_0801B330(Entity* this) {
|
||||
this->subAction += 1;
|
||||
sub_08079BD8(this);
|
||||
void sub_0801B330(PlayerItemBombEntity* this) {
|
||||
super->subAction += 1;
|
||||
sub_08079BD8(super);
|
||||
}
|
||||
|
||||
void sub_0801B340(Entity* this) {
|
||||
this->spritePriority.b1 = 2;
|
||||
void sub_0801B340(PlayerItemBombEntity* this) {
|
||||
super->spritePriority.b1 = 2;
|
||||
}
|
||||
|
||||
void sub_0801B354(Entity* this) {
|
||||
this->spritePriority.b1 = 3;
|
||||
void sub_0801B354(PlayerItemBombEntity* this) {
|
||||
super->spritePriority.b1 = 3;
|
||||
}
|
||||
|
||||
void sub_0801B368(Entity* this) {
|
||||
this->action -= 1;
|
||||
this->subAction = 0;
|
||||
if (0x3c < this->timer) {
|
||||
this->timer = 0x3c;
|
||||
void sub_0801B368(PlayerItemBombEntity* this) {
|
||||
super->action -= 1;
|
||||
super->subAction = 0;
|
||||
if (0x3c < super->timer) {
|
||||
super->timer = 0x3c;
|
||||
}
|
||||
}
|
||||
|
||||
void sub_0801B384(Entity* this) {
|
||||
void sub_0801B384(PlayerItemBombEntity* this) {
|
||||
DeleteThisEntity();
|
||||
}
|
||||
|
||||
void sub_0801B38C(Entity* this) {
|
||||
if (this->timer-- == 0) {
|
||||
void sub_0801B38C(PlayerItemBombEntity* this) {
|
||||
if (super->timer-- == 0) {
|
||||
DeleteThisEntity();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -9,8 +9,6 @@
|
||||
#include "sound.h"
|
||||
#include "save.h"
|
||||
|
||||
extern void (*const gUnk_080B3E30[])(Entity*);
|
||||
|
||||
typedef struct {
|
||||
Entity base;
|
||||
u8 unk_68;
|
||||
@@ -30,13 +28,9 @@ typedef struct {
|
||||
s8 unk_5;
|
||||
u8 animIndex;
|
||||
u8 unk_7;
|
||||
Hitbox* hitbox;
|
||||
const Hitbox* hitbox;
|
||||
} struct_080B3E40;
|
||||
|
||||
extern const struct_080B3E40 gUnk_080B3E40[];
|
||||
|
||||
void sub_0801917C(PlayerItemBowEntity*);
|
||||
|
||||
extern u8 gUnk_08003E44;
|
||||
|
||||
extern Entity* sub_08008782(Entity*, u32, s32, s32);
|
||||
@@ -44,11 +38,34 @@ extern void sub_08017744(Entity*);
|
||||
extern void ModArrows(s32);
|
||||
|
||||
void sub_08019468(PlayerItemBowEntity*);
|
||||
void sub_08018FE4(PlayerItemBowEntity*);
|
||||
void sub_0801917C(PlayerItemBowEntity*);
|
||||
void sub_08019410(PlayerItemBowEntity*);
|
||||
void sub_08019444(PlayerItemBowEntity*);
|
||||
|
||||
void PlayerItemBow(Entity* this) {
|
||||
gUnk_080B3E30[(this->action)](this);
|
||||
static void (*const gUnk_080B3E30[])(PlayerItemBowEntity*) = {
|
||||
sub_08018FE4,
|
||||
sub_0801917C,
|
||||
sub_08019410,
|
||||
sub_08019444,
|
||||
};
|
||||
gUnk_080B3E30[this->action]((PlayerItemBowEntity*)this);
|
||||
}
|
||||
|
||||
static const Hitbox gUnk_080B3E70;
|
||||
static const Hitbox gUnk_080B3E78;
|
||||
|
||||
static const struct_080B3E40 gUnk_080B3E40[] = {
|
||||
{ -3, -12, 0, 0, 0, -5, 2, 0, &gUnk_080B3E78 },
|
||||
{ 8, -4, 1, 0, 5, 0, 1, 0, &gUnk_080B3E70 },
|
||||
{ 0, 1, 0, 1, 0, 5, 2, 0, &gUnk_080B3E78 },
|
||||
{ -8, -4, 0, 0, -5, 0, 1, 0, &gUnk_080B3E70 },
|
||||
};
|
||||
|
||||
static const Hitbox gUnk_080B3E70 = { 0, 0, { 4, 0, 0, 0 }, 6, 4 };
|
||||
static const Hitbox gUnk_080B3E78 = { 0, 0, { 0, 0, 0, 4 }, 4, 6 };
|
||||
|
||||
void sub_08018FE4(PlayerItemBowEntity* this) {
|
||||
Entity* object;
|
||||
const struct_080B3E40* ptr;
|
||||
@@ -81,7 +98,7 @@ void sub_08018FE4(PlayerItemBowEntity* this) {
|
||||
super->animIndex = ptr->animIndex;
|
||||
this->unk_6c = ptr->unk_4;
|
||||
this->unk_70 = ptr->unk_5;
|
||||
super->hitbox = ptr->hitbox;
|
||||
super->hitbox = (Hitbox*)ptr->hitbox;
|
||||
sub_0801766C(super);
|
||||
if (super->hurtType == 0x0e) {
|
||||
super->animIndex += 6;
|
||||
@@ -221,21 +238,21 @@ void sub_0801917C(PlayerItemBowEntity* this) {
|
||||
}
|
||||
}
|
||||
|
||||
void sub_08019410(Entity* this) {
|
||||
if (this->timer < 0xf) {
|
||||
InitializeAnimation(this, this->animIndex);
|
||||
void sub_08019410(PlayerItemBowEntity* this) {
|
||||
if (super->timer < 0xf) {
|
||||
InitializeAnimation(super, super->animIndex);
|
||||
} else {
|
||||
GetNextFrame(this);
|
||||
GetNextFrame(super);
|
||||
}
|
||||
if (this->timer-- == 0) {
|
||||
if (super->timer-- == 0) {
|
||||
DeleteThisEntity();
|
||||
}
|
||||
}
|
||||
|
||||
void sub_08019444(Entity* this) {
|
||||
GetNextFrame(this);
|
||||
LinearMoveUpdate(this);
|
||||
if (GravityUpdate(this, Q_8_8(32.0)) == 0) {
|
||||
void sub_08019444(PlayerItemBowEntity* this) {
|
||||
GetNextFrame(super);
|
||||
LinearMoveUpdate(super);
|
||||
if (GravityUpdate(super, Q_8_8(32.0)) == 0) {
|
||||
DeleteThisEntity();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7,20 +7,22 @@
|
||||
|
||||
extern void sub_08078CD0(Entity*);
|
||||
extern void sub_08018FA0(Entity*);
|
||||
extern void sub_08018CBC(Entity*);
|
||||
extern void sub_08018DE8(Entity*);
|
||||
extern void sub_08018E68(Entity*);
|
||||
extern void sub_08018F6C(Entity*);
|
||||
|
||||
extern void (*const gUnk_080B3DD0[])(Entity*);
|
||||
|
||||
extern Hitbox gUnk_080B3E18;
|
||||
extern u8 gUnk_080B3DE0[];
|
||||
extern Hitbox* gUnk_080B3DE8[];
|
||||
|
||||
extern u32 sub_08007DD6(u32, const u16*);
|
||||
|
||||
extern const u16 gUnk_080B3DF4[];
|
||||
extern const u8 gUnk_08003E44[];
|
||||
|
||||
void PlayerItemGustBig(Entity* this) {
|
||||
static void (*const gUnk_080B3DD0[])(Entity*) = {
|
||||
sub_08018CBC,
|
||||
sub_08018DE8,
|
||||
sub_08018E68,
|
||||
sub_08018F6C,
|
||||
};
|
||||
if (this->health) {
|
||||
this->iframes = 0;
|
||||
gUnk_080B3DD0[this->action](this);
|
||||
@@ -29,6 +31,23 @@ void PlayerItemGustBig(Entity* this) {
|
||||
}
|
||||
}
|
||||
|
||||
static const u8 gUnk_080B3DE0[] = { 0x10, 0x2, 0x20, 0x3, 0x40, 0x6, 0, 0 };
|
||||
static const Hitbox gUnk_080B3E18;
|
||||
static const Hitbox gUnk_080B3E20;
|
||||
static const Hitbox gUnk_080B3E28;
|
||||
static const Hitbox* const gUnk_080B3DE8[] = {
|
||||
&gUnk_080B3E18,
|
||||
&gUnk_080B3E20,
|
||||
&gUnk_080B3E28,
|
||||
};
|
||||
static const u16 gUnk_080B3DF4[] = {
|
||||
0x75, 0x1, 0x76, 0x1, 0x3ac, 0x1, 0x4050, 0x1, 0x377, 0x1, 0x378, 0x1, 0x71, 0x1, 0x72, 0x1, 0, 0,
|
||||
};
|
||||
|
||||
static const Hitbox gUnk_080B3E18 = { 0, 0, { 6, 3, 3, 6 }, 6, 6 };
|
||||
static const Hitbox gUnk_080B3E20 = { 0, 0, { 6, 3, 3, 6 }, 8, 8 };
|
||||
static const Hitbox gUnk_080B3E28 = { 0, 0, { 6, 3, 3, 6 }, 12, 12 };
|
||||
|
||||
void sub_08018CBC(Entity* this) {
|
||||
u32 PVar1;
|
||||
u8 uVar2;
|
||||
@@ -49,7 +68,7 @@ void sub_08018CBC(Entity* this) {
|
||||
this->timer = 0x56;
|
||||
this->hurtType = 0x1c;
|
||||
this->damage = 6;
|
||||
this->hitbox = &gUnk_080B3E18;
|
||||
this->hitbox = (Hitbox*)&gUnk_080B3E18;
|
||||
this->child->spriteOffsetX = 0;
|
||||
this->child->spriteSettings.draw = 0;
|
||||
} else {
|
||||
@@ -65,7 +84,7 @@ void sub_08018CBC(Entity* this) {
|
||||
this->timer = gUnk_080B3DE0[this->type * 2];
|
||||
this->damage = gUnk_080B3DE0[this->type * 2 + 1];
|
||||
this->hurtType = 0x1b;
|
||||
this->hitbox = gUnk_080B3DE8[this->type];
|
||||
this->hitbox = (Hitbox*)gUnk_080B3DE8[this->type];
|
||||
(u32*)gPlayerEntity.field_0x70.WORD = this;
|
||||
sub_08078CD0(&gPlayerEntity);
|
||||
(u32*)gPlayerEntity.field_0x70.WORD = pEVar3;
|
||||
|
||||
@@ -4,13 +4,14 @@
|
||||
#include "item.h"
|
||||
#include "object.h"
|
||||
|
||||
extern void (*const gUnk_080FEEA8[])(Entity*);
|
||||
|
||||
void sub_08054AC8(Entity*);
|
||||
|
||||
extern const s8 gUnk_080FEEB0[];
|
||||
void sub_08054A60(Entity*);
|
||||
|
||||
void PlayerItemLantern(Entity* this) {
|
||||
static void (*const gUnk_080FEEA8[])(Entity*) = {
|
||||
sub_08054A60,
|
||||
sub_08054AC8,
|
||||
};
|
||||
gUnk_080FEEA8[this->action](this);
|
||||
this->contactFlags = 0;
|
||||
}
|
||||
@@ -35,9 +36,10 @@ void sub_08054A60(Entity* this) {
|
||||
|
||||
void sub_08054AC8(Entity* this) {
|
||||
Entity* object;
|
||||
static const s8 offsets[] = { 6, -6, 7, -3, -5, 2, -7, -3 };
|
||||
this->animationState = gPlayerEntity.animationState & 0xe;
|
||||
this->hitbox->offset_x = gUnk_080FEEB0[this->animationState];
|
||||
this->hitbox->offset_y = gUnk_080FEEB0[this->animationState + 1];
|
||||
this->hitbox->offset_x = offsets[this->animationState];
|
||||
this->hitbox->offset_y = offsets[this->animationState + 1];
|
||||
this->hitbox->width = 4;
|
||||
this->hitbox->height = 4;
|
||||
if (!((gPlayerEntity.frameIndex < 0x37) && ((u32)gPlayerEntity.spriteIndex == 6))) {
|
||||
@@ -59,10 +61,10 @@ void sub_08054AC8(Entity* this) {
|
||||
this->timer = 4;
|
||||
object = CreateObject(OBJECT_45, 0, 0x10);
|
||||
if (object != NULL) {
|
||||
PositionRelative(this, object, 0, 0x20000);
|
||||
PositionRelative(this, object, 0, Q_16_16(2.0));
|
||||
object->spritePriority.b0 = this->spritePriority.b0;
|
||||
object->spriteOffsetX = gUnk_080FEEB0[this->animationState];
|
||||
object->spriteOffsetY = gUnk_080FEEB0[this->animationState + 1];
|
||||
object->spriteOffsetX = offsets[this->animationState];
|
||||
object->spriteOffsetY = offsets[this->animationState + 1];
|
||||
}
|
||||
}
|
||||
sub_08078E84(this, &gPlayerEntity);
|
||||
|
||||
@@ -4,22 +4,26 @@
|
||||
#include "effects.h"
|
||||
#include "asm.h"
|
||||
|
||||
extern void (*const gUnk_08109AC8[])(Entity*);
|
||||
extern Hitbox gUnk_08109AD0;
|
||||
extern u8 gUnk_08003E44;
|
||||
|
||||
void sub_0805FBE8(Entity*);
|
||||
void sub_0805FC74(Entity*);
|
||||
|
||||
void PlayerItemSpiralBeam(Entity* this) {
|
||||
gUnk_08109AC8[this->action](this);
|
||||
static void (*const actionFuncs[])(Entity*) = {
|
||||
sub_0805FBE8,
|
||||
sub_0805FC74,
|
||||
};
|
||||
actionFuncs[this->action](this);
|
||||
}
|
||||
|
||||
void sub_0805FBE8(Entity* this) {
|
||||
static const Hitbox gUnk_08109AD0 = { 0, 0, { 4, 0, 0, 0 }, 6, 6 };
|
||||
CopyPosition(&gPlayerEntity, this);
|
||||
this->action++;
|
||||
this->spriteSettings.draw = TRUE;
|
||||
this->collisionFlags = gPlayerEntity.collisionFlags + 1;
|
||||
this->hitbox = &gUnk_08109AD0;
|
||||
this->hitbox = (Hitbox*)&gUnk_08109AD0;
|
||||
this->speed = 0x380;
|
||||
this->animationState = this->animationState & 0x7f;
|
||||
if (this->collisionLayer == 2) {
|
||||
|
||||
@@ -7,27 +7,30 @@
|
||||
#include "common.h"
|
||||
#include "asm.h"
|
||||
|
||||
extern void (*const gUnk_080B43F4[])(Entity*);
|
||||
|
||||
extern Hitbox gUnk_080B4408;
|
||||
extern u8 gUnk_080B43FC[];
|
||||
void sub_08019498(Entity*);
|
||||
void sub_08019580(Entity*);
|
||||
|
||||
extern u8 gUnk_08003E44;
|
||||
void sub_08019644(Entity*);
|
||||
|
||||
extern u8 gUnk_080B4400[];
|
||||
extern u8 gUnk_08003E44;
|
||||
|
||||
void PlayerItemSwordBeam(Entity* this) {
|
||||
gUnk_080B43F4[this->action](this);
|
||||
static void (*const actionFuncs[])(Entity*) = {
|
||||
sub_08019498,
|
||||
sub_08019580,
|
||||
};
|
||||
actionFuncs[this->action](this);
|
||||
}
|
||||
|
||||
static const u8 gUnk_080B43FC[] = { 30, 29, 30, 29 };
|
||||
static const u8 gUnk_080B4400[] = { 0, 4, 1, 2, -1, 0, 0, 0 };
|
||||
|
||||
void sub_08019498(Entity* this) {
|
||||
static const Hitbox gUnk_080B4408 = { 0, 0, { 4, 0, 0, 0 }, 6, 6 };
|
||||
CopyPosition(&gPlayerEntity, this);
|
||||
this->action += 0x01;
|
||||
this->spriteSettings.draw = 1;
|
||||
this->collisionFlags = gPlayerEntity.collisionFlags + 1;
|
||||
this->hitbox = &gUnk_080B4408;
|
||||
this->hitbox = (Hitbox*)&gUnk_080B4408;
|
||||
this->speed = 0x380;
|
||||
*(u32*)&this->field_0x74 = 2;
|
||||
this->field_0x70.WORD = 0;
|
||||
|
||||
Reference in New Issue
Block a user