diff --git a/config/eur/arm9/overlays/ov000/delinks.txt b/config/eur/arm9/overlays/ov000/delinks.txt index 4e7c7c37..56207f63 100644 --- a/config/eur/arm9/overlays/ov000/delinks.txt +++ b/config/eur/arm9/overlays/ov000/delinks.txt @@ -16,6 +16,10 @@ src/00_Core/Actor/ActorManager.cpp: .text start:0x020c33d4 end:0x020c3e54 .data start:0x020e72a8 end:0x020e72f4 +src/00_Core/Actor/ActorSpawner.cpp: + complete + .text start:0x020c3f9c end:0x020c42d8 + src/00_Core/Actor/Dungeon/ActorSwitchObject.cpp: .text start:0x0208fa70 end:0x020903a8 .init start:0x020df678 end:0x020df6b8 diff --git a/config/eur/arm9/overlays/ov000/symbols.txt b/config/eur/arm9/overlays/ov000/symbols.txt index 7748f1a0..07354aa5 100644 --- a/config/eur/arm9/overlays/ov000/symbols.txt +++ b/config/eur/arm9/overlays/ov000/symbols.txt @@ -942,7 +942,7 @@ func_ov000_0208f9f0 kind:function(arm,size=0x1c) addr:0x208f9f0 func_ov000_0208fa0c kind:function(arm,size=0x5c) addr:0x208fa0c func_ov000_0208fa68 kind:function(arm,size=0x8) addr:0x208fa68 _ZN17ActorSwitchObject6CreateEv kind:function(arm,size=0x78) addr:0x208fa70 -_ZN17ActorSwitchObject8vfunc_08Ev kind:function(arm,size=0x24) addr:0x208fae8 +_ZN17ActorSwitchObject4InitEv kind:function(arm,size=0x24) addr:0x208fae8 _ZN17ActorSwitchObject8vfunc_0cEv kind:function(arm,size=0x34) addr:0x208fb0c _ZN17ActorSwitchObject8vfunc_14Ej kind:function(arm,size=0xbc) addr:0x208fb40 _ZN17ActorSwitchObject8vfunc_18Ej kind:function(arm,size=0x14) addr:0x208fbfc @@ -961,7 +961,7 @@ func_ov000_020904c4 kind:function(arm,size=0x14) addr:0x20904c4 func_ov000_020904d8 kind:function(arm,size=0x1c) addr:0x20904d8 _ZN14ActorEventIcon6CreateEv kind:function(arm,size=0x30) addr:0x20904f4 _ZN14ActorEventIconC2Ev kind:function(arm,size=0x5c) addr:0x2090524 -_ZN14ActorEventIcon8vfunc_08Ev kind:function(arm,size=0xb0) addr:0x2090580 +_ZN14ActorEventIcon4InitEv kind:function(arm,size=0xb0) addr:0x2090580 _ZN14ActorEventIcon8vfunc_14Ej kind:function(arm,size=0xc) addr:0x2090630 _ZN14ActorEventIcon8vfunc_18Ej kind:function(arm,size=0xc) addr:0x209063c _ZN14ActorEventIcon19func_ov000_02090648Ej kind:function(arm,size=0x12c) addr:0x2090648 @@ -2621,7 +2621,7 @@ _ZN17ActorActionObject6CreateEv kind:function(arm,size=0x30) addr:0x20be198 _ZN17ActorActionObjectC1Ev kind:function(arm,size=0x20) addr:0x20be1c8 _ZN17ActorActionObjectD1Ev kind:function(arm,size=0x14) addr:0x20be1e8 _ZN17ActorActionObjectD0Ev kind:function(arm,size=0x1c) addr:0x20be1fc -_ZN17ActorActionObject8vfunc_08Ev kind:function(arm,size=0x7c) addr:0x20be218 +_ZN17ActorActionObject4InitEv kind:function(arm,size=0x7c) addr:0x20be218 _ZN17ActorActionObject8vfunc_14Ej kind:function(arm,size=0x178) addr:0x20be294 _ZN17ActorActionObject8vfunc_18Ej kind:function(arm,size=0xc) addr:0x20be40c func_ov000_020be418 kind:function(arm,size=0x4c) addr:0x20be418 @@ -2732,7 +2732,7 @@ _ZN5ActorC2Ev kind:function(arm,size=0x1c4) addr:0x20c1554 _ZN5ActorD1Ev kind:function(arm,size=0x4) addr:0x20c1718 _ZN5ActorD0Ev kind:function(arm,size=0x14) addr:0x20c171c _ZN5ActorD2Ev kind:function(arm,size=0x4) addr:0x20c1730 -_ZN5Actor8vfunc_08Ev kind:function(arm,size=0x8) addr:0x20c1734 +_ZN5Actor4InitEv kind:function(arm,size=0x8) addr:0x20c1734 _ZN5Actor8vfunc_0cEv kind:function(arm,size=0x4) addr:0x20c173c _ZN5Actor8vfunc_10Ej kind:function(arm,size=0x4) addr:0x20c1740 _ZN5Actor8vfunc_24Ev kind:function(arm,size=0x4) addr:0x20c1744 @@ -2868,7 +2868,7 @@ _ZN12ActorSpawnerD1Ev kind:function(arm,size=0x4) addr:0x20c4010 _ZN12ActorSpawner19func_ov000_020c4014Ev kind:function(arm,size=0x4) addr:0x20c4014 _ZN12ActorSpawner19func_ov000_020c4018Ev kind:function(arm,size=0x4) addr:0x20c4018 _ZN12ActorSpawner11CreateActorEj kind:function(arm,size=0x2c) addr:0x20c401c -_ZN12ActorSpawner5SpawnEjP5Vec3pPvP8ActorRef kind:function(arm,size=0x290) addr:0x20c4048 +_ZN12ActorSpawner5SpawnEjP5Vec3pP17ActorSpawnOptionsP8ActorRef kind:function(arm,size=0x290) addr:0x20c4048 func_ov000_020c42d8 kind:function(arm,size=0x14) addr:0x20c42d8 func_ov000_020c42ec kind:function(arm,size=0x30) addr:0x20c42ec func_ov000_020c431c kind:function(arm,size=0x6c) addr:0x20c431c diff --git a/config/eur/arm9/overlays/ov004/symbols.txt b/config/eur/arm9/overlays/ov004/symbols.txt index 86bfd731..64c73de8 100644 --- a/config/eur/arm9/overlays/ov004/symbols.txt +++ b/config/eur/arm9/overlays/ov004/symbols.txt @@ -225,7 +225,7 @@ _ZN13ActorNaviBaseD1Ev kind:function(thumb,size=0x40) addr:0x210790c _ZN13ActorNaviBaseD0Ev kind:function(thumb,size=0x48) addr:0x210794c _ZN13ActorNaviBaseD2Ev kind:function(thumb,size=0x40) addr:0x2107994 _Z19func_ov004_021079d4Pi kind:function(thumb,size=0x6) addr:0x21079d4 -_ZN13ActorNaviBase8vfunc_08Ev kind:function(thumb,size=0xa4) addr:0x21079dc +_ZN13ActorNaviBase4InitEv kind:function(thumb,size=0xa4) addr:0x21079dc func_ov004_02107a80 kind:function(thumb,size=0x20) addr:0x2107a80 func_ov004_02107aa0 kind:function(thumb,size=0xc4) addr:0x2107aa0 func_ov004_02107b64 kind:function(thumb,size=0x9c) addr:0x2107b64 diff --git a/config/eur/arm9/overlays/ov014/symbols.txt b/config/eur/arm9/overlays/ov014/symbols.txt index af3f2ed6..6f2c7d43 100644 --- a/config/eur/arm9/overlays/ov014/symbols.txt +++ b/config/eur/arm9/overlays/ov014/symbols.txt @@ -15,7 +15,7 @@ _ZN10ActorArrow19func_ov014_0211fd90Ev kind:function(arm,size=0x14) addr:0x211fd _ZN10ActorArrowC2Ev kind:function(arm,size=0x108) addr:0x211fda4 _ZN10ActorArrowD1Ev kind:function(arm,size=0x28) addr:0x211feac _ZN10ActorArrowD0Ev kind:function(arm,size=0x30) addr:0x211fed4 -_ZN10ActorArrow8vfunc_08Ev kind:function(arm,size=0x148) addr:0x211ff04 +_ZN10ActorArrow4InitEv kind:function(arm,size=0x148) addr:0x211ff04 _ZN10ActorArrow12CollidesWithEP5Actor kind:function(arm,size=0x88) addr:0x212004c _ZN10ActorArrow19func_ov014_021200d4Ev kind:function(arm,size=0x44) addr:0x21200d4 _ZN10ActorArrow19func_ov014_02120118Ev kind:function(arm,size=0x68) addr:0x2120118 @@ -42,7 +42,7 @@ _ZN15ActorBlast_Unk18vfunc_10EPi kind:function(arm,size=0xa4) addr:0x212140c _ZN10ActorBlastC2Ev kind:function(arm,size=0x8c) addr:0x21214b0 _ZN10ActorBlastD1Ev kind:function(arm,size=0x14) addr:0x212153c _ZN10ActorBlastD0Ev kind:function(arm,size=0x1c) addr:0x2121550 -_ZN10ActorBlast8vfunc_08Ev kind:function(arm,size=0x260) addr:0x212156c +_ZN10ActorBlast4InitEv kind:function(arm,size=0x260) addr:0x212156c _ZN10ActorBlast8vfunc_14Ej kind:function(arm,size=0x218) addr:0x21217cc _ZN15ActorBlast_Unk1D1Ev kind:function(arm,size=0x14) addr:0x21219e4 _ZN10ActorBlast8vfunc_18Ej kind:function(arm,size=0x90) addr:0x21219f8 @@ -55,7 +55,7 @@ _ZN14ActorBomb_Unk2D1Ev kind:function(arm,size=0x1c) addr:0x2121cd8 _ZN9ActorBombD1Ev kind:function(arm,size=0x38) addr:0x2121cf4 _ZN9ActorBombD0Ev kind:function(arm,size=0x40) addr:0x2121d2c _ZN14ActorBomb_Unk2C1Ev kind:function(arm,size=0x14) addr:0x2121d6c -_ZN9ActorBomb8vfunc_08Ev kind:function(arm,size=0x134) addr:0x2121d80 +_ZN9ActorBomb4InitEv kind:function(arm,size=0x134) addr:0x2121d80 _ZN9ActorBomb8vfunc_14Ej kind:function(arm,size=0xc58) addr:0x2121eb4 _ZN14ActorBomb_Unk1D1Ev kind:function(arm,size=0x14) addr:0x2122b0c _ZN9ActorBomb8vfunc_18Ej kind:function(arm,size=0x98) addr:0x2122b20 @@ -595,7 +595,7 @@ _ZN11ActorRefillC2Ei kind:function(arm,size=0x40) addr:0x2134f14 _ZN11ActorRefillD1Ev kind:function(arm,size=0x14) addr:0x2134f54 _ZN11ActorRefillD0Ev kind:function(arm,size=0x1c) addr:0x2134f68 _ZN11ActorRefillD2Ev kind:function(arm,size=0x14) addr:0x2134f84 -_ZN11ActorRefill8vfunc_08Ev kind:function(arm,size=0xf4) addr:0x2134f98 +_ZN11ActorRefill4InitEv kind:function(arm,size=0xf4) addr:0x2134f98 _ZN11ActorRefill8vfunc_14Ej kind:function(arm,size=0x2d8) addr:0x213508c _ZN11ActorRefill19func_ov014_02135364Ei kind:function(arm,size=0x54) addr:0x2135364 _ZN11ActorRefill8vfunc_20Eb kind:function(arm,size=0xbc) addr:0x21353b8 @@ -603,25 +603,25 @@ _ZN11ActorRefill19func_ov014_02135474Ev kind:function(arm,size=0x84) addr:0x2135 _ZN16ActorRefillBombsC1Ev kind:function(arm,size=0x34) addr:0x21354f8 _ZN16ActorRefillBombsD1Ev kind:function(arm,size=0x14) addr:0x213552c _ZN16ActorRefillBombsD0Ev kind:function(arm,size=0x1c) addr:0x2135540 -_ZN16ActorRefillBombs8vfunc_b4Ev kind:function(arm,size=0x8) addr:0x213555c +_ZN16ActorRefillBombs11GetAmmoItemEv kind:function(arm,size=0x8) addr:0x213555c _ZN19ActorRefillBombchusC1Ev kind:function(arm,size=0x34) addr:0x2135564 _ZN19ActorRefillBombchusD1Ev kind:function(arm,size=0x14) addr:0x2135598 _ZN19ActorRefillBombchusD0Ev kind:function(arm,size=0x1c) addr:0x21355ac -_ZN19ActorRefillBombchus8vfunc_b4Ev kind:function(arm,size=0x8) addr:0x21355c8 +_ZN19ActorRefillBombchus11GetAmmoItemEv kind:function(arm,size=0x8) addr:0x21355c8 _ZN17ActorRefillArrowsC1Ev kind:function(arm,size=0x34) addr:0x21355d0 _ZN17ActorRefillArrowsD1Ev kind:function(arm,size=0x14) addr:0x2135604 _ZN17ActorRefillArrowsD0Ev kind:function(arm,size=0x1c) addr:0x2135618 -_ZN17ActorRefillArrows8vfunc_b4Ev kind:function(arm,size=0x8) addr:0x2135634 +_ZN17ActorRefillArrows11GetAmmoItemEv kind:function(arm,size=0x8) addr:0x2135634 _ZN15ActorRefillTimeC1Ev kind:function(arm,size=0x34) addr:0x213563c _ZN15ActorRefillTimeD1Ev kind:function(arm,size=0x14) addr:0x2135670 _ZN15ActorRefillTimeD0Ev kind:function(arm,size=0x1c) addr:0x2135684 -_ZN15ActorRefillTime8vfunc_08Ev kind:function(arm,size=0x114) addr:0x21356a0 -_ZN15ActorRefillTime8vfunc_b4Ev kind:function(arm,size=0x8) addr:0x21357b4 +_ZN15ActorRefillTime4InitEv kind:function(arm,size=0x114) addr:0x21356a0 +_ZN15ActorRefillTime11GetAmmoItemEv kind:function(arm,size=0x8) addr:0x21357b4 _ZN9ActorLSTMC1Ev kind:function(arm,size=0x34) addr:0x21357bc _ZN9ActorLSTMD1Ev kind:function(arm,size=0x14) addr:0x21357f0 _ZN9ActorLSTMD0Ev kind:function(arm,size=0x1c) addr:0x2135804 -_ZN9ActorLSTM8vfunc_08Ev kind:function(arm,size=0x118) addr:0x2135820 -_ZN9ActorLSTM8vfunc_b4Ev kind:function(arm,size=0x8) addr:0x2135938 +_ZN9ActorLSTM4InitEv kind:function(arm,size=0x118) addr:0x2135820 +_ZN9ActorLSTM11GetAmmoItemEv kind:function(arm,size=0x8) addr:0x2135938 func_ov014_02135940 kind:function(arm,size=0x34) addr:0x2135940 func_ov014_02135974 kind:function(arm,size=0xc4) addr:0x2135974 func_ov014_02135a38 kind:function(arm,size=0xc4) addr:0x2135a38 @@ -784,7 +784,7 @@ func_ov014_0213ae20 kind:function(arm,size=0x28) addr:0x213ae20 func_ov014_0213ae48 kind:function(arm,size=0x20) addr:0x213ae48 _ZN10ActorRupee6CreateEv kind:function(arm,size=0x30) addr:0x213ae68 _ZN10ActorRupeeC1Ev kind:function(arm,size=0x34) addr:0x213ae98 -_ZN10ActorRupee8vfunc_08Ev kind:function(arm,size=0x240) addr:0x213aecc +_ZN10ActorRupee4InitEv kind:function(arm,size=0x240) addr:0x213aecc _ZN10ActorRupee8vfunc_60Ev kind:function(arm,size=0x10) addr:0x213b10c _ZN10ActorRupee8vfunc_64Ev kind:function(arm,size=0x4) addr:0x213b11c _ZN10ActorRupee4MoveEv kind:function(arm,size=0x6c) addr:0x213b120 diff --git a/config/eur/arm9/overlays/ov057/symbols.txt b/config/eur/arm9/overlays/ov057/symbols.txt index 1da23918..9ded7bcd 100644 --- a/config/eur/arm9/overlays/ov057/symbols.txt +++ b/config/eur/arm9/overlays/ov057/symbols.txt @@ -36,7 +36,7 @@ _ZN13LinkStateItem19func_ov057_0219a364Ev kind:function(arm,size=0x4c) addr:0x21 _ZN22ActorRope_Unk_0219a3b08vfunc_08EPs kind:function(arm,size=0x4c) addr:0x219a3b0 _ZN22ActorRope_Unk_0219a3b08vfunc_10EPi kind:function(arm,size=0x64) addr:0x219a3fc _ZN9ActorRopeC2Ev kind:function(arm,size=0x108) addr:0x219a460 -_ZN9ActorRope8vfunc_08Ev kind:function(arm,size=0x44) addr:0x219a568 +_ZN9ActorRope4InitEv kind:function(arm,size=0x44) addr:0x219a568 _ZN9ActorRope19func_ov057_0219a5acEv kind:function(arm,size=0x10c) addr:0x219a5ac _ZN9ActorRope19func_ov057_0219a6b8Ev kind:function(arm,size=0x198) addr:0x219a6b8 _ZN9ActorRope19func_ov057_0219a850Ev kind:function(arm,size=0x114) addr:0x219a850 diff --git a/config/usa/arm9/overlays/ov000/delinks.txt b/config/usa/arm9/overlays/ov000/delinks.txt index d0fd0130..894e26de 100644 --- a/config/usa/arm9/overlays/ov000/delinks.txt +++ b/config/usa/arm9/overlays/ov000/delinks.txt @@ -16,6 +16,10 @@ src/00_Core/Actor/ActorManager.cpp: .text start:0x020c3374 end:0x020c3df4 .data start:0x020e7248 end:0x020e7294 +src/00_Core/Actor/ActorSpawner.cpp: + complete + .text start:0x020c3f3c end:0x020c4278 + src/00_Core/Actor/Dungeon/ActorSwitchObject.cpp: .text start:0x0208fa10 end:0x02090348 .init start:0x020df618 end:0x020df658 diff --git a/config/usa/arm9/overlays/ov000/symbols.txt b/config/usa/arm9/overlays/ov000/symbols.txt index d8d0c8c9..3d96d716 100644 --- a/config/usa/arm9/overlays/ov000/symbols.txt +++ b/config/usa/arm9/overlays/ov000/symbols.txt @@ -942,7 +942,7 @@ func_ov000_0208f9f0 kind:function(arm,size=0x1c) addr:0x208f990 func_ov000_0208fa0c kind:function(arm,size=0x5c) addr:0x208f9ac func_ov000_0208fa68 kind:function(arm,size=0x8) addr:0x208fa08 _ZN17ActorSwitchObject6CreateEv kind:function(arm,size=0x78) addr:0x208fa10 -_ZN17ActorSwitchObject8vfunc_08Ev kind:function(arm,size=0x24) addr:0x208fa88 +_ZN17ActorSwitchObject4InitEv kind:function(arm,size=0x24) addr:0x208fa88 _ZN17ActorSwitchObject8vfunc_0cEv kind:function(arm,size=0x34) addr:0x208faac _ZN17ActorSwitchObject8vfunc_14Ej kind:function(arm,size=0xbc) addr:0x208fae0 _ZN17ActorSwitchObject8vfunc_18Ej kind:function(arm,size=0x14) addr:0x208fb9c @@ -961,7 +961,7 @@ func_ov000_020904c4 kind:function(arm,size=0x14) addr:0x2090464 func_ov000_020904d8 kind:function(arm,size=0x1c) addr:0x2090478 _ZN14ActorEventIcon6CreateEv kind:function(arm,size=0x30) addr:0x2090494 _ZN14ActorEventIconC2Ev kind:function(arm,size=0x5c) addr:0x20904c4 -_ZN14ActorEventIcon8vfunc_08Ev kind:function(arm,size=0xb0) addr:0x2090520 +_ZN14ActorEventIcon4InitEv kind:function(arm,size=0xb0) addr:0x2090520 _ZN14ActorEventIcon8vfunc_14Ej kind:function(arm,size=0xc) addr:0x20905d0 _ZN14ActorEventIcon8vfunc_18Ej kind:function(arm,size=0xc) addr:0x20905dc _ZN14ActorEventIcon19func_ov000_02090648Ej kind:function(arm,size=0x12c) addr:0x20905e8 @@ -2621,7 +2621,7 @@ _ZN17ActorActionObject6CreateEv kind:function(arm,size=0x30) addr:0x20be138 _ZN17ActorActionObjectC1Ev kind:function(arm,size=0x20) addr:0x20be168 _ZN17ActorActionObjectD1Ev kind:function(arm,size=0x14) addr:0x20be188 _ZN17ActorActionObjectD0Ev kind:function(arm,size=0x1c) addr:0x20be19c -_ZN17ActorActionObject8vfunc_08Ev kind:function(arm,size=0x7c) addr:0x20be1b8 +_ZN17ActorActionObject4InitEv kind:function(arm,size=0x7c) addr:0x20be1b8 _ZN17ActorActionObject8vfunc_14Ej kind:function(arm,size=0x178) addr:0x20be234 _ZN17ActorActionObject8vfunc_18Ej kind:function(arm,size=0xc) addr:0x20be3ac func_ov000_020be418 kind:function(arm,size=0x4c) addr:0x20be3b8 @@ -2732,7 +2732,7 @@ _ZN5ActorC2Ev kind:function(arm,size=0x1c4) addr:0x20c14f4 _ZN5ActorD1Ev kind:function(arm,size=0x4) addr:0x20c16b8 _ZN5ActorD0Ev kind:function(arm,size=0x14) addr:0x20c16bc _ZN5ActorD2Ev kind:function(arm,size=0x4) addr:0x20c16d0 -_ZN5Actor8vfunc_08Ev kind:function(arm,size=0x8) addr:0x20c16d4 +_ZN5Actor4InitEv kind:function(arm,size=0x8) addr:0x20c16d4 _ZN5Actor8vfunc_0cEv kind:function(arm,size=0x4) addr:0x20c16dc _ZN5Actor8vfunc_10Ej kind:function(arm,size=0x4) addr:0x20c16e0 _ZN5Actor8vfunc_24Ev kind:function(arm,size=0x4) addr:0x20c16e4 @@ -2868,7 +2868,7 @@ _ZN12ActorSpawnerD1Ev kind:function(arm,size=0x4) addr:0x20c3fb0 _ZN12ActorSpawner19func_ov000_020c4014Ev kind:function(arm,size=0x4) addr:0x20c3fb4 _ZN12ActorSpawner19func_ov000_020c4018Ev kind:function(arm,size=0x4) addr:0x20c3fb8 _ZN12ActorSpawner11CreateActorEj kind:function(arm,size=0x2c) addr:0x20c3fbc -_ZN12ActorSpawner5SpawnEjP5Vec3pPvP8ActorRef kind:function(arm,size=0x290) addr:0x20c3fe8 +_ZN12ActorSpawner5SpawnEjP5Vec3pP17ActorSpawnOptionsP8ActorRef kind:function(arm,size=0x290) addr:0x20c3fe8 func_ov000_020c42d8 kind:function(arm,size=0x14) addr:0x20c4278 func_ov000_020c42ec kind:function(arm,size=0x30) addr:0x20c428c func_ov000_020c431c kind:function(arm,size=0x6c) addr:0x20c42bc diff --git a/config/usa/arm9/overlays/ov004/symbols.txt b/config/usa/arm9/overlays/ov004/symbols.txt index db3bb3bd..532f2002 100644 --- a/config/usa/arm9/overlays/ov004/symbols.txt +++ b/config/usa/arm9/overlays/ov004/symbols.txt @@ -225,7 +225,7 @@ _ZN13ActorNaviBaseD1Ev kind:function(thumb,size=0x40) addr:0x210788c _ZN13ActorNaviBaseD0Ev kind:function(thumb,size=0x48) addr:0x21078cc _ZN13ActorNaviBaseD2Ev kind:function(thumb,size=0x40) addr:0x2107914 _Z19func_ov004_021079d4Pi kind:function(thumb,size=0x6) addr:0x2107954 -_ZN13ActorNaviBase8vfunc_08Ev kind:function(thumb,size=0xa4) addr:0x210795c +_ZN13ActorNaviBase4InitEv kind:function(thumb,size=0xa4) addr:0x210795c func_ov004_02107a80 kind:function(thumb,size=0x20) addr:0x2107a00 func_ov004_02107aa0 kind:function(thumb,size=0xc4) addr:0x2107a20 func_ov004_02107b64 kind:function(thumb,size=0x9c) addr:0x2107ae4 diff --git a/config/usa/arm9/overlays/ov014/symbols.txt b/config/usa/arm9/overlays/ov014/symbols.txt index ce1b6513..a033bc75 100644 --- a/config/usa/arm9/overlays/ov014/symbols.txt +++ b/config/usa/arm9/overlays/ov014/symbols.txt @@ -15,7 +15,7 @@ _ZN10ActorArrow19func_ov014_0211fd90Ev kind:function(arm,size=0x14) addr:0x211fd _ZN10ActorArrowC2Ev kind:function(arm,size=0x108) addr:0x211fd24 _ZN10ActorArrowD1Ev kind:function(arm,size=0x28) addr:0x211fe2c _ZN10ActorArrowD0Ev kind:function(arm,size=0x30) addr:0x211fe54 -_ZN10ActorArrow8vfunc_08Ev kind:function(arm,size=0x148) addr:0x211fe84 +_ZN10ActorArrow4InitEv kind:function(arm,size=0x148) addr:0x211fe84 _ZN10ActorArrow12CollidesWithEP5Actor kind:function(arm,size=0x88) addr:0x211ffcc _ZN10ActorArrow19func_ov014_021200d4Ev kind:function(arm,size=0x44) addr:0x2120054 _ZN10ActorArrow19func_ov014_02120118Ev kind:function(arm,size=0x68) addr:0x2120098 @@ -42,7 +42,7 @@ _ZN15ActorBlast_Unk18vfunc_10EPi kind:function(arm,size=0xa4) addr:0x212138c _ZN10ActorBlastC2Ev kind:function(arm,size=0x8c) addr:0x2121430 _ZN10ActorBlastD1Ev kind:function(arm,size=0x14) addr:0x21214bc _ZN10ActorBlastD0Ev kind:function(arm,size=0x1c) addr:0x21214d0 -_ZN10ActorBlast8vfunc_08Ev kind:function(arm,size=0x260) addr:0x21214ec +_ZN10ActorBlast4InitEv kind:function(arm,size=0x260) addr:0x21214ec _ZN10ActorBlast8vfunc_14Ej kind:function(arm,size=0x218) addr:0x212174c _ZN15ActorBlast_Unk1D1Ev kind:function(arm,size=0x14) addr:0x2121964 _ZN10ActorBlast8vfunc_18Ej kind:function(arm,size=0x90) addr:0x2121978 @@ -55,7 +55,7 @@ _ZN14ActorBomb_Unk2D1Ev kind:function(arm,size=0x1c) addr:0x2121c58 _ZN9ActorBombD1Ev kind:function(arm,size=0x38) addr:0x2121c74 _ZN9ActorBombD0Ev kind:function(arm,size=0x40) addr:0x2121cac _ZN14ActorBomb_Unk2C1Ev kind:function(arm,size=0x14) addr:0x2121cec -_ZN9ActorBomb8vfunc_08Ev kind:function(arm,size=0x134) addr:0x2121d00 +_ZN9ActorBomb4InitEv kind:function(arm,size=0x134) addr:0x2121d00 _ZN9ActorBomb8vfunc_14Ej kind:function(arm,size=0xc58) addr:0x2121e34 _ZN14ActorBomb_Unk1D1Ev kind:function(arm,size=0x14) addr:0x2122a8c _ZN9ActorBomb8vfunc_18Ej kind:function(arm,size=0x98) addr:0x2122aa0 @@ -595,7 +595,7 @@ _ZN11ActorRefillC2Ei kind:function(arm,size=0x40) addr:0x2134e70 _ZN11ActorRefillD1Ev kind:function(arm,size=0x14) addr:0x2134eb0 _ZN11ActorRefillD0Ev kind:function(arm,size=0x1c) addr:0x2134ec4 _ZN11ActorRefillD2Ev kind:function(arm,size=0x14) addr:0x2134ee0 -_ZN11ActorRefill8vfunc_08Ev kind:function(arm,size=0xf4) addr:0x2134ef4 +_ZN11ActorRefill4InitEv kind:function(arm,size=0xf4) addr:0x2134ef4 _ZN11ActorRefill8vfunc_14Ej kind:function(arm,size=0x2d8) addr:0x2134fe8 _ZN11ActorRefill19func_ov014_02135364Ei kind:function(arm,size=0x54) addr:0x21352c0 _ZN11ActorRefill8vfunc_20Eb kind:function(arm,size=0xbc) addr:0x2135314 @@ -603,25 +603,25 @@ _ZN11ActorRefill19func_ov014_02135474Ev kind:function(arm,size=0x84) addr:0x2135 _ZN16ActorRefillBombsC1Ev kind:function(arm,size=0x34) addr:0x2135454 _ZN16ActorRefillBombsD1Ev kind:function(arm,size=0x14) addr:0x2135488 _ZN16ActorRefillBombsD0Ev kind:function(arm,size=0x1c) addr:0x213549c -_ZN16ActorRefillBombs8vfunc_b4Ev kind:function(arm,size=0x8) addr:0x21354b8 +_ZN16ActorRefillBombs11GetAmmoItemEv kind:function(arm,size=0x8) addr:0x21354b8 _ZN19ActorRefillBombchusC1Ev kind:function(arm,size=0x34) addr:0x21354c0 _ZN19ActorRefillBombchusD1Ev kind:function(arm,size=0x14) addr:0x21354f4 _ZN19ActorRefillBombchusD0Ev kind:function(arm,size=0x1c) addr:0x2135508 -_ZN19ActorRefillBombchus8vfunc_b4Ev kind:function(arm,size=0x8) addr:0x2135524 +_ZN19ActorRefillBombchus11GetAmmoItemEv kind:function(arm,size=0x8) addr:0x2135524 _ZN17ActorRefillArrowsC1Ev kind:function(arm,size=0x34) addr:0x213552c _ZN17ActorRefillArrowsD1Ev kind:function(arm,size=0x14) addr:0x2135560 _ZN17ActorRefillArrowsD0Ev kind:function(arm,size=0x1c) addr:0x2135574 -_ZN17ActorRefillArrows8vfunc_b4Ev kind:function(arm,size=0x8) addr:0x2135590 +_ZN17ActorRefillArrows11GetAmmoItemEv kind:function(arm,size=0x8) addr:0x2135590 _ZN15ActorRefillTimeC1Ev kind:function(arm,size=0x34) addr:0x2135598 _ZN15ActorRefillTimeD1Ev kind:function(arm,size=0x14) addr:0x21355cc _ZN15ActorRefillTimeD0Ev kind:function(arm,size=0x1c) addr:0x21355e0 -_ZN15ActorRefillTime8vfunc_08Ev kind:function(arm,size=0x114) addr:0x21355fc -_ZN15ActorRefillTime8vfunc_b4Ev kind:function(arm,size=0x8) addr:0x2135710 +_ZN15ActorRefillTime4InitEv kind:function(arm,size=0x114) addr:0x21355fc +_ZN15ActorRefillTime11GetAmmoItemEv kind:function(arm,size=0x8) addr:0x2135710 _ZN9ActorLSTMC1Ev kind:function(arm,size=0x34) addr:0x2135718 _ZN9ActorLSTMD1Ev kind:function(arm,size=0x14) addr:0x213574c _ZN9ActorLSTMD0Ev kind:function(arm,size=0x1c) addr:0x2135760 -_ZN9ActorLSTM8vfunc_08Ev kind:function(arm,size=0x118) addr:0x213577c -_ZN9ActorLSTM8vfunc_b4Ev kind:function(arm,size=0x8) addr:0x2135894 +_ZN9ActorLSTM4InitEv kind:function(arm,size=0x118) addr:0x213577c +_ZN9ActorLSTM11GetAmmoItemEv kind:function(arm,size=0x8) addr:0x2135894 func_ov014_02135940 kind:function(arm,size=0x34) addr:0x213589c func_ov014_02135974 kind:function(arm,size=0xc4) addr:0x21358d0 func_ov014_02135a38 kind:function(arm,size=0xc4) addr:0x2135994 @@ -784,7 +784,7 @@ func_ov014_0213ae20 kind:function(arm,size=0x28) addr:0x213ad7c func_ov014_0213ae48 kind:function(arm,size=0x20) addr:0x213ada4 _ZN10ActorRupee6CreateEv kind:function(arm,size=0x30) addr:0x213adc4 _ZN10ActorRupeeC1Ev kind:function(arm,size=0x34) addr:0x213adf4 -_ZN10ActorRupee8vfunc_08Ev kind:function(arm,size=0x240) addr:0x213ae28 +_ZN10ActorRupee4InitEv kind:function(arm,size=0x240) addr:0x213ae28 _ZN10ActorRupee8vfunc_60Ev kind:function(arm,size=0x10) addr:0x213b068 _ZN10ActorRupee8vfunc_64Ev kind:function(arm,size=0x4) addr:0x213b078 _ZN10ActorRupee4MoveEv kind:function(arm,size=0x6c) addr:0x213b07c diff --git a/config/usa/arm9/overlays/ov057/symbols.txt b/config/usa/arm9/overlays/ov057/symbols.txt index 190088e2..99d8cd1a 100644 --- a/config/usa/arm9/overlays/ov057/symbols.txt +++ b/config/usa/arm9/overlays/ov057/symbols.txt @@ -36,7 +36,7 @@ _ZN13LinkStateItem19func_ov057_0219a364Ev kind:function(arm,size=0x4c) addr:0x21 _ZN22ActorRope_Unk_0219a3b08vfunc_08EPs kind:function(arm,size=0x4c) addr:0x219a310 _ZN22ActorRope_Unk_0219a3b08vfunc_10EPi kind:function(arm,size=0x64) addr:0x219a35c _ZN9ActorRopeC2Ev kind:function(arm,size=0x108) addr:0x219a3c0 -_ZN9ActorRope8vfunc_08Ev kind:function(arm,size=0x44) addr:0x219a4c8 +_ZN9ActorRope4InitEv kind:function(arm,size=0x44) addr:0x219a4c8 _ZN9ActorRope19func_ov057_0219a5acEv kind:function(arm,size=0x10c) addr:0x219a50c _ZN9ActorRope19func_ov057_0219a6b8Ev kind:function(arm,size=0x198) addr:0x219a618 _ZN9ActorRope19func_ov057_0219a850Ev kind:function(arm,size=0x114) addr:0x219a7b0 diff --git a/include/Actor/Actor.hpp b/include/Actor/Actor.hpp index 2906b670..b58c39c8 100644 --- a/include/Actor/Actor.hpp +++ b/include/Actor/Actor.hpp @@ -35,8 +35,8 @@ struct Actor_UnkStruct_020 { /* 08 */ u8 mUnk_08[2]; /* 0a */ u8 mUnk_0a[2]; /* 0c */ unk8 mUnk_0c; - /* 0d */ unk8 mUnk_0d; - /* 0e */ unk8 mUnk_0e; + /* 0d */ u8 mUnk_0d; + /* 0e */ u8 mUnk_0e; /* 0f */ unk8 mUnk_0f; /* 10 */ unk32 mUnk_10; /* 14 */ @@ -110,8 +110,7 @@ public: /* 012 */ unk16 mUnk_012; /* 014 */ Vec3p mUnk_014; /* 020 */ Actor_UnkStruct_020 mUnk_020; - /* 034 */ unk32 mUnk_034; - /* 038 */ unk32 mUnk_038; + /* 034 */ ActorRef mUnk_034; /* 03c */ unk32 mUnk_03c; /* 040 */ ActorRef mUnk_040; /* 048 */ Vec3p mPos; @@ -174,7 +173,7 @@ public: /* 158 */ /* 00 */ virtual ~Actor(); - /* 08 */ virtual bool vfunc_08(); + /* 08 */ virtual bool Init(); /* 0c */ virtual bool vfunc_0c(); /* 10 */ virtual void vfunc_10(u32 param1); /* 14 */ virtual void vfunc_14(u32 param1); diff --git a/include/Actor/ActorRupee.hpp b/include/Actor/ActorRupee.hpp index a5fcbea3..983abaae 100644 --- a/include/Actor/ActorRupee.hpp +++ b/include/Actor/ActorRupee.hpp @@ -33,7 +33,7 @@ public: /* 160 */ /* 00 */ virtual ~ActorRupee() override; - /* 08 */ virtual bool vfunc_08() override; + /* 08 */ virtual bool Init() override; /* 14 */ virtual void vfunc_14(u32 param1) override; /* 18 */ virtual void vfunc_18(u32 param1) override; /* 20 */ virtual void vfunc_20(bool param1) override; diff --git a/include/Actor/ActorSpawner.hpp b/include/Actor/ActorSpawner.hpp index 94047e10..e99bafb3 100644 --- a/include/Actor/ActorSpawner.hpp +++ b/include/Actor/ActorSpawner.hpp @@ -5,10 +5,23 @@ #include "global.h" #include "types.h" +#include "Actor/Actor.hpp" #include "Actor/ActorRef.hpp" #include "Actor/ActorType.hpp" +#include "System/SysNew.hpp" -class ActorSpawner { +struct ActorSpawnOptions { + /* 00 */ Actor_UnkStruct_020 mUnk_00; + /* 14 */ s16 mAngle; + /* 16 */ unk8 mUnk_16[0x2]; + /* 18 */ unk32 mUnk_18; + /* 1c */ ActorRef mUnk_1c; + /* 24 */ unk32 mUnk_24; + /* 28 */ unk32 mUnk_28; + /* 2c */ +}; + +class ActorSpawner : public SysObject { public: /* 0 (empty) */ @@ -18,8 +31,8 @@ public: ~ActorSpawner(); void func_ov000_020c4014(); void func_ov000_020c4018(); - Actor *CreateActor(ActorTypeId type); - s32 Spawn(ActorTypeId type, Vec3p *pos, void *param3, ActorRef *ref); + Actor *CreateActor(ActorTypeId typeId); + s32 Spawn(ActorTypeId type, Vec3p *pos, ActorSpawnOptions *param3, ActorRef *ref); }; extern ActorSpawner *gActorSpawner; diff --git a/include/Actor/Dungeon/ActorActionObject.hpp b/include/Actor/Dungeon/ActorActionObject.hpp index 0bf35dfb..c4e2add3 100644 --- a/include/Actor/Dungeon/ActorActionObject.hpp +++ b/include/Actor/Dungeon/ActorActionObject.hpp @@ -10,7 +10,7 @@ public: /* 158 */ /* 00 */ virtual ~ActorActionObject() override; - /* 08 */ virtual bool vfunc_08() override; + /* 08 */ virtual bool Init() override; /* 14 */ virtual void vfunc_14(u32 param1) override; /* 18 */ virtual void vfunc_18(u32 param1) override; /* b4 */ diff --git a/include/Actor/Dungeon/ActorEventIcon.hpp b/include/Actor/Dungeon/ActorEventIcon.hpp index ccef162d..a7a86751 100644 --- a/include/Actor/Dungeon/ActorEventIcon.hpp +++ b/include/Actor/Dungeon/ActorEventIcon.hpp @@ -17,7 +17,7 @@ public: /* 160 */ UnkStruct_02035064 mUnk_160; /* 00 */ virtual ~ActorEventIcon() override; - /* 08 */ virtual bool vfunc_08() override; + /* 08 */ virtual bool Init() override; /* 14 */ virtual void vfunc_14(u32 param1) override; /* 18 */ virtual void vfunc_18(u32 param1) override; /* 1c */ virtual void vfunc_1c(u16 *param1) override; diff --git a/include/Actor/Dungeon/ActorSwitchObject.hpp b/include/Actor/Dungeon/ActorSwitchObject.hpp index 61cc3267..0658fcb2 100644 --- a/include/Actor/Dungeon/ActorSwitchObject.hpp +++ b/include/Actor/Dungeon/ActorSwitchObject.hpp @@ -21,7 +21,7 @@ public: /* 198 */ /* 00 */ virtual ~ActorSwitchObject() override; - /* 08 */ virtual bool vfunc_08() override; + /* 08 */ virtual bool Init() override; /* 0c */ virtual bool vfunc_0c() override; /* 14 */ virtual void vfunc_14(u32 param1) override; /* 18 */ virtual void vfunc_18(u32 param1) override; diff --git a/include/Actor/Navi/ActorNavi.hpp b/include/Actor/Navi/ActorNavi.hpp index 86774de4..f8a86acc 100644 --- a/include/Actor/Navi/ActorNavi.hpp +++ b/include/Actor/Navi/ActorNavi.hpp @@ -40,7 +40,7 @@ public: /* 3c8 */ /* 00 */ virtual ~ActorNavi() override; - /* 08 */ virtual bool vfunc_08() override; + /* 08 */ virtual bool Init() override; /* 20 */ virtual void vfunc_20(bool param1) override; /* 8c */ virtual bool vfunc_8c() override; /* b4 */ virtual FairyId GetFairyId() override; diff --git a/include/Actor/Navi/ActorNaviBase.hpp b/include/Actor/Navi/ActorNaviBase.hpp index 59db230b..c7dd7cea 100644 --- a/include/Actor/Navi/ActorNaviBase.hpp +++ b/include/Actor/Navi/ActorNaviBase.hpp @@ -46,7 +46,7 @@ public: /* 294 */ /* 00 */ virtual ~ActorNaviBase() override; - /* 08 */ virtual bool vfunc_08() override; + /* 08 */ virtual bool Init() override; /* 10 */ virtual void vfunc_10(u32 param1) override; /* 14 */ virtual void vfunc_14(u32 param1) override; /* 18 */ virtual void vfunc_18(u32 param1) override; diff --git a/include/Actor/Player/ActorArrow.hpp b/include/Actor/Player/ActorArrow.hpp index a0ced1e3..021007f6 100644 --- a/include/Actor/Player/ActorArrow.hpp +++ b/include/Actor/Player/ActorArrow.hpp @@ -36,7 +36,7 @@ public: /* 1b8 */ /* 00 */ virtual ~ActorArrow() override; - /* 08 */ virtual bool vfunc_08() override; + /* 08 */ virtual bool Init() override; /* 10 */ virtual void vfunc_10(u32 param1) override; /* 14 */ virtual void vfunc_14(u32 param1) override; /* 18 */ virtual void vfunc_18(u32 param1) override; diff --git a/include/Actor/Player/ActorBlast.hpp b/include/Actor/Player/ActorBlast.hpp index a1e8b5fe..431cc1d7 100644 --- a/include/Actor/Player/ActorBlast.hpp +++ b/include/Actor/Player/ActorBlast.hpp @@ -19,7 +19,7 @@ public: /* 164 */ /* 00 */ virtual ~ActorBlast() override; - /* 08 */ virtual bool vfunc_08() override; + /* 08 */ virtual bool Init() override; /* 14 */ virtual void vfunc_14(u32 param1) override; /* 18 */ virtual void vfunc_18(u32 param1) override; /* b4 */ diff --git a/include/Actor/Player/ActorBomb.hpp b/include/Actor/Player/ActorBomb.hpp index 17538bf8..3817a73e 100644 --- a/include/Actor/Player/ActorBomb.hpp +++ b/include/Actor/Player/ActorBomb.hpp @@ -54,7 +54,7 @@ public: /* 26c */ /* 00 */ virtual ~ActorBomb() override; - /* 08 */ virtual bool vfunc_08() override; + /* 08 */ virtual bool Init() override; /* 14 */ virtual void vfunc_14(u32 param1) override; /* 18 */ virtual void vfunc_18(u32 param1) override; /* 20 */ virtual void vfunc_20(bool param1) override; diff --git a/include/Actor/Player/ActorRefill.hpp b/include/Actor/Player/ActorRefill.hpp index bdd334ff..eeab2793 100644 --- a/include/Actor/Player/ActorRefill.hpp +++ b/include/Actor/Player/ActorRefill.hpp @@ -20,10 +20,10 @@ public: ActorRefill(unk32 param1); /* 00 */ virtual ~ActorRefill() override; - /* 08 */ virtual bool vfunc_08() override; + /* 08 */ virtual bool Init() override; /* 14 */ virtual void vfunc_14(u32 param1) override; /* 20 */ virtual void vfunc_20(bool param1) override; - /* b4 */ virtual ItemFlag vfunc_b4() = 0; + /* b4 */ virtual ItemFlag GetAmmoItem() = 0; /* b8 */ bool func_ov014_02135364(unk32 param1); @@ -42,7 +42,7 @@ public: static ActorRefillBombs *Create(); /* 00 */ virtual ~ActorRefillBombs() override; - /* b4 */ virtual ItemFlag vfunc_b4() override; + /* b4 */ virtual ItemFlag GetAmmoItem() override; /* b8 */ }; @@ -58,7 +58,7 @@ public: static ActorRefillBombchus *Create(); /* 00 */ virtual ~ActorRefillBombchus() override; - /* b4 */ virtual ItemFlag vfunc_b4() override; + /* b4 */ virtual ItemFlag GetAmmoItem() override; /* b8 */ }; @@ -74,7 +74,7 @@ public: static ActorRefillArrows *Create(); /* 00 */ virtual ~ActorRefillArrows() override; - /* b4 */ virtual ItemFlag vfunc_b4() override; + /* b4 */ virtual ItemFlag GetAmmoItem() override; /* b8 */ }; @@ -90,8 +90,8 @@ public: static ActorRefillTime *Create(); /* 00 */ virtual ~ActorRefillTime() override; - /* 08 */ virtual bool vfunc_08() override; - /* b4 */ virtual ItemFlag vfunc_b4() override; + /* 08 */ virtual bool Init() override; + /* b4 */ virtual ItemFlag GetAmmoItem() override; /* b8 */ }; @@ -107,7 +107,7 @@ public: static ActorLSTM *Create(); /* 00 */ virtual ~ActorLSTM() override; - /* 08 */ virtual bool vfunc_08() override; - /* b4 */ virtual ItemFlag vfunc_b4() override; + /* 08 */ virtual bool Init() override; + /* b4 */ virtual ItemFlag GetAmmoItem() override; /* b8 */ }; diff --git a/include/Actor/Player/ActorRope.hpp b/include/Actor/Player/ActorRope.hpp index 1d70a5fd..245a7851 100644 --- a/include/Actor/Player/ActorRope.hpp +++ b/include/Actor/Player/ActorRope.hpp @@ -46,7 +46,7 @@ public: /* 1a0 */ /* 00 */ virtual ~ActorRope() override; - /* 08 */ virtual bool vfunc_08() override; + /* 08 */ virtual bool Init() override; /* 10 */ virtual void vfunc_10(u32 param1) override; /* 14 */ virtual void vfunc_14(u32 param1) override; /* 18 */ virtual void vfunc_18(u32 param1) override; diff --git a/include/Item/Item.hpp b/include/Item/Item.hpp index 4d70c9f1..cea5c551 100644 --- a/include/Item/Item.hpp +++ b/include/Item/Item.hpp @@ -50,7 +50,7 @@ enum ItemFlag_ { /* 0x2d */ ItemFlag_SwordsmansScroll = 45, /* 0x2e */ ItemFlag_CycloneSlate = 46, - /* 0x2f */ ItemFlag_Unk_47 = 47, + /* 0x2f */ ItemFlag_BigCatchLure = 47, /* 0x60 */ ItemFlag_TreasureChart1 = 96, /* 0x61 */ ItemFlag_TreasureChart2 = 97, @@ -224,7 +224,7 @@ enum ItemId_ { /* 0x7d */ ItemId_Unk_125 = 125, /* 0x7e */ ItemId_Unk_126 = 126, /* 0x7f */ ItemId_CycloneSlate = 127, - /* 0x80 */ ItemId_Unk_128 = 128, + /* 0x80 */ ItemId_BigCatchLure = 128, /* 0x81 */ ItemId_Rupoor10 = 129, /* 0x82 */ ItemId_Rupoor50 = 130, /* 0x83 */ ItemId_Unk_131 = 131, diff --git a/include/Save/AdventureFlags.hpp b/include/Save/AdventureFlags.hpp index 0484fba8..39d2e409 100644 --- a/include/Save/AdventureFlags.hpp +++ b/include/Save/AdventureFlags.hpp @@ -23,6 +23,10 @@ enum AdventureFlag_ { /* 0x30 */ AdventureFlag_Cannon = 48, + /* 0x33 */ AdventureFlag_RegalNecklace = 51, + + /* 0x7a */ AdventureFlag_CourageCrest = 122, + /* 0x7d */ AdventureFlag_Azurine = 125, /* 0x7e */ AdventureFlag_Crimsonine = 126, /* 0x7f */ AdventureFlag_Aquanine = 127, @@ -30,11 +34,26 @@ enum AdventureFlag_ { /* 0x8c */ AdventureFlag_SalvageArm = 140, + /* 0xa2 */ AdvantureFlag_HerosNewClothes = 162, + /* 0xa3 */ AdvantureFlag_Kaleidoscope = 163, + /* 0xa4 */ AdventureFlag_GuardNotebook = 164, + + /* 0xa7 */ AdventureFlag_WoodHeart = 167, + + /* 0xb6 */ AdventureFlag_SpawnFinalPhantoms = 182, + /* 0x126 */ AdventureFlag_ReceivedGoldenChimney = 294, /* 0x127 */ AdventureFlag_ReceivedGoldenHandrail = 295, /* 0x128 */ AdventureFlag_ReceivedGoldenCannon = 296, /* 0x129 */ AdventureFlag_ReceivedGoldenHull = 297, + /* 0x137 */ AdventureFlag_FrogGlyph_MercayIsland = 311, + /* 0x138 */ AdventureFlag_FrogGlyph_MolidaIsland = 312, + /* 0x139 */ AdventureFlag_FrogGlyph_BannanIsland = 313, + /* 0x13a */ AdventureFlag_FrogGlyph_DeeEssIsland = 314, + /* 0x13b */ AdventureFlag_FrogGlyph_IsleOfFrost = 315, + /* 0x13c */ AdventureFlag_FrogGlyph_NorthEast = 316, + /* 0x187 */ AdventureFlag_COUNT = 391, }; diff --git a/src/00_Core/Actor/Actor.cpp b/src/00_Core/Actor/Actor.cpp index 123b2abe..85f58869 100644 --- a/src/00_Core/Actor/Actor.cpp +++ b/src/00_Core/Actor/Actor.cpp @@ -48,8 +48,7 @@ ARM Actor::Actor() : mUnk_010(0), mUnk_011(0), mUnk_012(0), - mUnk_034(-1), - mUnk_038(-1), + mUnk_034(-1, -1), mUnk_03c(-1), mUnk_040(-1, -1), mGravity(FLOAT_TO_Q20(0.0498)), @@ -113,7 +112,7 @@ ARM Actor::Actor() : ARM Actor::~Actor() {} -ARM bool Actor::vfunc_08() { +ARM bool Actor::Init() { return true; } diff --git a/src/00_Core/Actor/ActorManager.cpp b/src/00_Core/Actor/ActorManager.cpp index fed1075e..955c447d 100644 --- a/src/00_Core/Actor/ActorManager.cpp +++ b/src/00_Core/Actor/ActorManager.cpp @@ -154,7 +154,7 @@ ARM Actor *ActorManager::GetActor(ActorRef *ref) { ARM bool FilterActor::Filter(Actor *actor) { if (mType != actor->mType) return false; - if (mUnk_08 != -1 && mUnk_08 != actor->mUnk_034) return false; + if (mUnk_08 != -1 && mUnk_08 != actor->mUnk_034.id) return false; if (mExcludeRefs != NULL) { for (s32 i = 0; mExcludeRefs[i].id != -1; ++i) { ActorRef *ref = &mExcludeRefs[i]; diff --git a/src/00_Core/Actor/ActorSpawner.cpp b/src/00_Core/Actor/ActorSpawner.cpp index 76b4ae74..55cf1a57 100644 --- a/src/00_Core/Actor/ActorSpawner.cpp +++ b/src/00_Core/Actor/ActorSpawner.cpp @@ -1,10 +1,98 @@ #include "Actor/ActorSpawner.hpp" +#include "Actor/ActorManager.hpp" +#include "Map/MapManager.hpp" -ActorSpawner *ActorSpawner::Create() {} -void ActorSpawner::Destroy() {} -ActorSpawner::ActorSpawner() {} -ActorSpawner::~ActorSpawner() {} -void ActorSpawner::func_ov000_020c4014() {} -void ActorSpawner::func_ov000_020c4018() {} -Actor *ActorSpawner::CreateActor(ActorTypeId type) {} -s32 ActorSpawner::Spawn(ActorTypeId type, Vec3p *pos, void *param3, ActorRef *ref) {} +extern u32 *data_027e0ce0[]; +ARM ActorSpawner *ActorSpawner::Create() { + gActorSpawner = new(data_027e0ce0[1], 4) ActorSpawner(); +} + +ARM void ActorSpawner::Destroy() { + delete gActorSpawner; + gActorSpawner = NULL; +} + +ARM ActorSpawner::ActorSpawner() {} + +ARM ActorSpawner::~ActorSpawner() {} + +ARM void ActorSpawner::func_ov000_020c4014() {} + +ARM void ActorSpawner::func_ov000_020c4018() {} + +ARM Actor *ActorSpawner::CreateActor(ActorTypeId typeId) { + Actor *actor = NULL; + ActorType *type = ActorType::Find(typeId); + if (type != NULL) { + actor = type->create(); + } + return actor; +} + +extern "C" unk32 GetCardinal(s16 angle); +ARM s32 ActorSpawner::Spawn(ActorTypeId type, Vec3p *pos, ActorSpawnOptions *options, ActorRef *ref) { + ActorManager *actorManager = gActorManager; + u16 maxActors = actorManager->mMaxActors; + s32 id = -1; + s32 index; + Actor **actorSlot = actorManager->mActorTable; + for (index = 0; index < maxActors; index++, actorSlot++) { + if (*actorSlot != NULL) { + continue; + } + + Actor *actor = this->CreateActor(type); + *actorSlot = actor; + if (actor == NULL) { + if (ref != NULL) { + ref->Reset(); + } + return -1; + } + actor->mType = type; + (*actorSlot)->mRef.id = actorManager->mNextActorId; + (*actorSlot)->mRef.index = index; + (*actorSlot)->mUnk_014 = *pos; + (*actorSlot)->mUnk_020 = options->mUnk_00; + (*actorSlot)->mAngle = options->mAngle; + (*actorSlot)->mUnk_012 = options->mAngle; + (*actorSlot)->mUnk_074 = GetCardinal(options->mAngle); + if (options->mUnk_18 >= 0xffff) { + (*actorSlot)->mUnk_03c = -1; + } else { + (*actorSlot)->mUnk_03c = options->mUnk_18; + } + (*actorSlot)->mUnk_034 = options->mUnk_1c; + (*actorSlot)->mUnk_140 = options->mUnk_24; + (*actorSlot)->mUnk_144 = options->mUnk_28; + Actor *actor2 = *actorSlot; + actor2->mPos = *pos; + actor2->mPrevPos = *pos; + (*actorSlot)->mUnk_010 = gMapManager->GetCourseData_Unk_1c(); + (*actorSlot)->mUnk_011 = gMapManager->GetCourseData_Unk_1d(); + u16 nextIndex = index + 1; + if (actorManager->mMaxActorIndex < nextIndex) { + actorManager->mMaxActorIndex = nextIndex; + } + actorManager->mCacheEmptyActorIndex = index; + + id = actorManager->mNextActorId; + if (ref != NULL) { + *ref = ActorRef(id, index); + } + actorManager->mNextActorId += 1; + actorManager->mNumActors += 1; + if (!(*actorSlot)->Init()) { + (*actorSlot)->mAlive = false; + if (ref != NULL) { + ref->Reset(); + } + return -1; + } + break; + } + if ((id == -1) && (ref != NULL)) { + ref->Reset(); + } + return id; +} diff --git a/src/00_Core/Actor/Dungeon/ActorActionObject.cpp b/src/00_Core/Actor/Dungeon/ActorActionObject.cpp index 0a2c3970..ea2dfec2 100644 --- a/src/00_Core/Actor/Dungeon/ActorActionObject.cpp +++ b/src/00_Core/Actor/Dungeon/ActorActionObject.cpp @@ -18,7 +18,7 @@ ARM ActorActionObject::ActorActionObject() {} ARM ActorActionObject::~ActorActionObject() {} // non-matching -ARM bool ActorActionObject::vfunc_08() { +ARM bool ActorActionObject::Init() { mGravity = 0; mHitbox.pos = gVec3p_ZERO; mHitbox.size = -1; diff --git a/src/00_Core/Actor/Dungeon/ActorEventIcon.cpp b/src/00_Core/Actor/Dungeon/ActorEventIcon.cpp index 94e7381d..22e35d8e 100644 --- a/src/00_Core/Actor/Dungeon/ActorEventIcon.cpp +++ b/src/00_Core/Actor/Dungeon/ActorEventIcon.cpp @@ -4,7 +4,7 @@ ActorType ActorEventIcon::gType = ActorType(ActorTypeId_EventIcon, (ActorCreateF ActorEventIcon *ActorEventIcon::Create() {} ActorEventIcon::ActorEventIcon() {} -bool ActorEventIcon::vfunc_08() {} +bool ActorEventIcon::Init() {} void ActorEventIcon::vfunc_14(u32 param1) {} void ActorEventIcon::vfunc_18(u32 param1) {} u32 ActorEventIcon::func_ov000_02090648(u32 param1) {} diff --git a/src/00_Core/Actor/Dungeon/ActorSwitchObject.cpp b/src/00_Core/Actor/Dungeon/ActorSwitchObject.cpp index c767e5b9..78e229db 100644 --- a/src/00_Core/Actor/Dungeon/ActorSwitchObject.cpp +++ b/src/00_Core/Actor/Dungeon/ActorSwitchObject.cpp @@ -5,8 +5,8 @@ ActorType ActorSwitchObject::gType = ActorType(ActorTypeId_SwitchObject, (ActorC ActorSwitchObject *ActorSwitchObject::Create() {} -bool ActorSwitchObject::vfunc_08() { - Actor::vfunc_08(); +bool ActorSwitchObject::Init() { + Actor::Init(); this->func_ov000_0208fc7c(); this->mUnk_130 = 0; return true; diff --git a/src/00_Core/Item/ItemManager.cpp b/src/00_Core/Item/ItemManager.cpp index 4b2e7b44..3c77b0ab 100644 --- a/src/00_Core/Item/ItemManager.cpp +++ b/src/00_Core/Item/ItemManager.cpp @@ -461,7 +461,7 @@ static char *sItemModelNames2[8] = { [ItemId_SandOfHours - ItemId_SwordsmanScroll] = "sand_m", }; static char *sItemModelNames3[9] = { - [ItemId_CycloneSlate - ItemId_CycloneSlate] = "compass", [ItemId_Unk_128 - ItemId_CycloneSlate] = "lure", + [ItemId_CycloneSlate - ItemId_CycloneSlate] = "compass", [ItemId_BigCatchLure - ItemId_CycloneSlate] = "lure", [ItemId_Rupoor10 - ItemId_CycloneSlate] = "rupee_bb", [ItemId_Rupoor50 - ItemId_CycloneSlate] = "rupee_bb", [ItemId_Unk_131 - ItemId_CycloneSlate] = NULL, [ItemId_Unk_132 - ItemId_CycloneSlate] = NULL, [ItemId_Unk_133 - ItemId_CycloneSlate] = NULL, [ItemId_Unk_134 - ItemId_CycloneSlate] = NULL, @@ -778,8 +778,8 @@ THUMB void ItemManager::GiveItem(ItemId id) { SET_FLAG(mItemFlags.flags, ItemFlag_CycloneSlate); } break; - case ItemId_Unk_128: { - SET_FLAG(mItemFlags.flags, ItemFlag_Unk_47); + case ItemId_BigCatchLure: { + SET_FLAG(mItemFlags.flags, ItemFlag_BigCatchLure); } break; case ItemId_Rupoor10: { diff --git a/src/04_Load/Actor/Navi/ActorNaviBase.cpp b/src/04_Load/Actor/Navi/ActorNaviBase.cpp index c4f5a069..21d91459 100644 --- a/src/04_Load/Actor/Navi/ActorNaviBase.cpp +++ b/src/04_Load/Actor/Navi/ActorNaviBase.cpp @@ -3,4 +3,4 @@ ActorNaviBase::ActorNaviBase() {} ActorNaviBase::~ActorNaviBase() {} void func_ov004_021079d4(unk32 *param1) {} -bool ActorNaviBase::vfunc_08() {} +bool ActorNaviBase::Init() {} diff --git a/src/14_Land/Actor/ActorRupee.cpp b/src/14_Land/Actor/ActorRupee.cpp index 32a95333..23ac82dc 100644 --- a/src/14_Land/Actor/ActorRupee.cpp +++ b/src/14_Land/Actor/ActorRupee.cpp @@ -36,7 +36,7 @@ ActorRupee::ActorRupee() { } // https://decomp.me/scratch/1qjCc -bool ActorRupee::vfunc_08() { +bool ActorRupee::Init() { u32 dVar5; u32 iVar7; diff --git a/src/14_Land/Actor/Player/ActorArrow.cpp b/src/14_Land/Actor/Player/ActorArrow.cpp index 48d27797..96529bf4 100644 --- a/src/14_Land/Actor/Player/ActorArrow.cpp +++ b/src/14_Land/Actor/Player/ActorArrow.cpp @@ -11,7 +11,7 @@ void ActorArrow::func_ov014_0211fd80(unk32 param1) {} void ActorArrow::func_ov014_0211fd90() {} ActorArrow::ActorArrow() {} ActorArrow::~ActorArrow() {} -bool ActorArrow::vfunc_08() {} +bool ActorArrow::Init() {} bool ActorArrow::CollidesWith(Actor *other) {} void ActorArrow::func_ov014_021200d4() {} void ActorArrow::func_ov014_02120118() {} diff --git a/src/14_Land/Actor/Player/ActorBlast.cpp b/src/14_Land/Actor/Player/ActorBlast.cpp index 0f892335..06f82f63 100644 --- a/src/14_Land/Actor/Player/ActorBlast.cpp +++ b/src/14_Land/Actor/Player/ActorBlast.cpp @@ -6,7 +6,7 @@ ActorBlast *ActorBlast::Create() {} void ActorBlast_Unk1::vfunc_10(s32 *param1) {} ActorBlast::ActorBlast() {} ActorBlast::~ActorBlast() {} -bool ActorBlast::vfunc_08() {} +bool ActorBlast::Init() {} void ActorBlast::vfunc_14(u32 param1) {} ActorBlast_Unk1::~ActorBlast_Unk1() {} void ActorBlast::vfunc_18(u32 param1) {} diff --git a/src/14_Land/Actor/Player/ActorBomb.cpp b/src/14_Land/Actor/Player/ActorBomb.cpp index 1ee7c1bc..91224f12 100644 --- a/src/14_Land/Actor/Player/ActorBomb.cpp +++ b/src/14_Land/Actor/Player/ActorBomb.cpp @@ -9,7 +9,7 @@ ActorBomb::ActorBomb() {} ActorBomb_Unk2::~ActorBomb_Unk2() {} ActorBomb::~ActorBomb() {} ActorBomb_Unk2::ActorBomb_Unk2() {} -bool ActorBomb::vfunc_08() {} +bool ActorBomb::Init() {} void ActorBomb::vfunc_14(u32 param1) {} ActorBomb_Unk1::~ActorBomb_Unk1() {} void ActorBomb::vfunc_18(u32 param1) {} diff --git a/src/14_Land/Actor/Player/ActorRefill.cpp b/src/14_Land/Actor/Player/ActorRefill.cpp index 0e6a9edf..91efd351 100644 --- a/src/14_Land/Actor/Player/ActorRefill.cpp +++ b/src/14_Land/Actor/Player/ActorRefill.cpp @@ -41,16 +41,16 @@ ARM ActorRefill::ActorRefill(unk32 param1) : ARM ActorRefill::~ActorRefill() {} -ARM bool ActorRefill::vfunc_08() { +ARM bool ActorRefill::Init() { ItemManager *itemManager; - if (this->vfunc_b4() == ItemFlag_None) { + if (this->GetAmmoItem() == ItemFlag_None) { if (data_027e0d38->func_ov000_02078b40() != 3) { return false; } } else { ItemManager *itemManager = gItemManager; - ItemFlag item = this->vfunc_b4(); + ItemFlag item = this->GetAmmoItem(); if (!itemManager->HasItem(item)) { return false; } @@ -111,11 +111,11 @@ ARM void ActorRefill::vfunc_14(u32 param1) { case 4: case 5: if (this->CollidesWithPlayer(PlayerCollide_PickupFlags) != 0) { - if (this->vfunc_b4() == -1) { + if (this->GetAmmoItem() == -1) { data_027e103c->func_ov000_020cfbf0(mUnk_158 * 60, 1, 0); } else { ItemManager *itemManager = gItemManager; - itemManager->GiveAmmo(this->vfunc_b4(), mUnk_158); + itemManager->GiveAmmo(this->GetAmmoItem(), mUnk_158); } func_ov000_020d7ad4(&data_ov000_020eec9c, 0x100); this->func_ov014_02135364(3); @@ -227,7 +227,7 @@ ARM ActorRefillBombs::ActorRefillBombs() : ARM ActorRefillBombs::~ActorRefillBombs() {} -ARM ItemFlag ActorRefillBombs::vfunc_b4() { +ARM ItemFlag ActorRefillBombs::GetAmmoItem() { return ItemFlag_BombBag; } @@ -239,7 +239,7 @@ ARM ActorRefillBombchus::ActorRefillBombchus() : ARM ActorRefillBombchus::~ActorRefillBombchus() {} -ARM ItemFlag ActorRefillBombchus::vfunc_b4() { +ARM ItemFlag ActorRefillBombchus::GetAmmoItem() { return ItemFlag_BombchuBag; } @@ -251,7 +251,7 @@ ARM ActorRefillArrows::ActorRefillArrows() : ARM ActorRefillArrows::~ActorRefillArrows() {} -ARM ItemFlag ActorRefillArrows::vfunc_b4() { +ARM ItemFlag ActorRefillArrows::GetAmmoItem() { return ItemFlag_Bow; } @@ -263,8 +263,8 @@ ARM ActorRefillTime::ActorRefillTime() : ARM ActorRefillTime::~ActorRefillTime() {} -ARM bool ActorRefillTime::vfunc_08() { - if (!ActorRefill::vfunc_08()) { +ARM bool ActorRefillTime::Init() { + if (!ActorRefill::Init()) { return false; } switch (mUnk_020.mUnk_00[0]) { @@ -293,7 +293,7 @@ ARM bool ActorRefillTime::vfunc_08() { return true; } -ARM ItemFlag ActorRefillTime::vfunc_b4() { +ARM ItemFlag ActorRefillTime::GetAmmoItem() { return ItemFlag_None; } @@ -305,8 +305,8 @@ ARM ActorLSTM::ActorLSTM() : ARM ActorLSTM::~ActorLSTM() {} -ARM bool ActorLSTM::vfunc_08() { - if (!ActorRefill::vfunc_08()) { +ARM bool ActorLSTM::Init() { + if (!ActorRefill::Init()) { return false; } switch (mUnk_020.mUnk_00[0]) { @@ -335,6 +335,6 @@ ARM bool ActorLSTM::vfunc_08() { return true; } -ARM ItemFlag ActorLSTM::vfunc_b4() { +ARM ItemFlag ActorLSTM::GetAmmoItem() { return ItemFlag_None; } diff --git a/src/57_Rope/Actor/Player/ActorRope.cpp b/src/57_Rope/Actor/Player/ActorRope.cpp index 023f134b..40ab1aa4 100644 --- a/src/57_Rope/Actor/Player/ActorRope.cpp +++ b/src/57_Rope/Actor/Player/ActorRope.cpp @@ -5,7 +5,7 @@ ActorRope_Unk_0219a3b0 gUnk_0219a3b0; void ActorRope_Unk_0219a3b0::vfunc_08(unk16 *param1) {} void ActorRope_Unk_0219a3b0::vfunc_10(s32 *param1) {} ActorRope::ActorRope() {} -bool ActorRope::vfunc_08() {} +bool ActorRope::Init() {} q20 ActorRope::func_ov057_0219a5ac() {} void ActorRope::func_ov057_0219a6b8() {} void ActorRope::func_ov057_0219a850() {}