summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--kamek_ntsc.x8
-rw-r--r--kamek_ntsc2.x8
-rw-r--r--kamek_pal.x2094
-rw-r--r--kamek_pal2.x8
-rw-r--r--poweruphax.yaml838
-rw-r--r--src/poweruphax.S1474
6 files changed, 2393 insertions, 2037 deletions
diff --git a/kamek_ntsc.x b/kamek_ntsc.x
index 6724759..ab702c3 100644
--- a/kamek_ntsc.x
+++ b/kamek_ntsc.x
@@ -6,6 +6,7 @@ OUTPUT_FORMAT ("binary")
SECTIONS {
GetSpecificPlayerActor = 0x8005F900;
+ Actor_SearchByID = 0x80162D00;
TimeStopFlag = 0x80429CFA;
TimerBranch = 0x800E39C8;
MarioDescentRate = 0x8042B864;
@@ -15,7 +16,9 @@ SECTIONS {
MarioSize = 0x8042B874;
AlwaysDrawFlag = 0x80064540;
AlwaysDrawBranch = 0x80064544;
-
+ GenerateRandomNumber = 0x800B2EE0;
+ OneofManySoundPlayers = 0x800CE8C0;
+ BombExplodeState = 0x80B12A68;
_savefpr_14 = 0x802DCCA8;
_savefpr_15 = 0x802DCCAC;
@@ -985,6 +988,8 @@ SECTIONS {
continuePlumberSetPowerupTextureDebug = 0x800CA5C4;
+ returnFromPowerupSoundChange = 0x801412FC;
+
ExitFromTileGodHack = 0x807E1684;
SomeTable_802F5440 = 0x802F5140;
@@ -1042,4 +1047,3 @@ SECTIONS {
__text_end = . ;
}
}
-
diff --git a/kamek_ntsc2.x b/kamek_ntsc2.x
index e3b3bce..f803db3 100644
--- a/kamek_ntsc2.x
+++ b/kamek_ntsc2.x
@@ -6,6 +6,7 @@ OUTPUT_FORMAT ("binary")
SECTIONS {
GetSpecificPlayerActor = 0x8005F900;
+ Actor_SearchByID = 0x80162D00;
TimeStopFlag = 0x80429CFA;
TimerBranch = 0x800E39C8;
MarioDescentRate = 0x8042B864;
@@ -15,7 +16,9 @@ SECTIONS {
MarioSize = 0x8042B874;
AlwaysDrawFlag = 0x80064540;
AlwaysDrawBranch = 0x80064544;
-
+ GenerateRandomNumber = 0x800B2EE0;
+ OneofManySoundPlayers = 0x800CE8C0;
+ BombExplodeState = 0x80B12A88;
_savefpr_14 = 0x802DCCA8;
_savefpr_15 = 0x802DCCAC;
@@ -985,6 +988,8 @@ SECTIONS {
continuePlumberSetPowerupTextureDebug = 0x800CA5C4;
+ returnFromPowerupSoundChange = 0x801412FC;
+
ExitFromTileGodHack = 0x807E1694;
SomeTable_802F5440 = 0x802F5140;
@@ -1042,4 +1047,3 @@ SECTIONS {
__text_end = . ;
}
}
-
diff --git a/kamek_pal.x b/kamek_pal.x
index e535d2a..81be80c 100644
--- a/kamek_pal.x
+++ b/kamek_pal.x
@@ -1,1045 +1,1049 @@
-OUTPUT_FORMAT ("binary")
-
-/*MEMORY {
- loader_section : ORIGIN = 0x80001800, LENGTH = 0x1800
-}*/
-
-SECTIONS {
- GetSpecificPlayerActor = 0x8005F900;
- TimeStopFlag = 0x80429FDA;
- TimerBranch = 0x800E3AB8;
- MarioDescentRate = 0x8042BB44;
- MarioJumpArc = 0x802F591C;
- MarioJumpMax = 0x8042BB28;
- MiniMarioJumpArc = 0x802F5964;
- MarioSize = 0x8042BB54;
- AlwaysDrawFlag = 0x80064540;
- AlwaysDrawBranch = 0x80064544;
-
-
- _savefpr_14 = 0x802DCF98;
- _savefpr_15 = 0x802DCF9C;
- _savefpr_16 = 0x802DCFA0;
- _savefpr_17 = 0x802DCFA4;
- _savefpr_18 = 0x802DCFA8;
- _savefpr_19 = 0x802DCFAC;
- _savefpr_20 = 0x802DCFB0;
- _savefpr_21 = 0x802DCFB4;
- _savefpr_22 = 0x802DCFB8;
- _savefpr_23 = 0x802DCFBC;
- _savefpr_24 = 0x802DCFC0;
- _savefpr_25 = 0x802DCFC4;
- _savefpr_26 = 0x802DCFC8;
- _savefpr_27 = 0x802DCFCC;
- _savefpr_28 = 0x802DCFD0;
- _savefpr_29 = 0x802DCFD4;
- _savefpr_30 = 0x802DCFD8;
- _savefpr_31 = 0x802DCFDC;
-
- _restfpr_14 = 0x802DCFE4;
- _restfpr_15 = 0x802DCFE8;
- _restfpr_16 = 0x802DCFEC;
- _restfpr_17 = 0x802DCFF0;
- _restfpr_18 = 0x802DCFF4;
- _restfpr_19 = 0x802DCFF8;
- _restfpr_20 = 0x802DCFFC;
- _restfpr_21 = 0x802DD000;
- _restfpr_22 = 0x802DD004;
- _restfpr_23 = 0x802DD008;
- _restfpr_24 = 0x802DD00C;
- _restfpr_25 = 0x802DD010;
- _restfpr_26 = 0x802DD014;
- _restfpr_27 = 0x802DD018;
- _restfpr_28 = 0x802DD01C;
- _restfpr_29 = 0x802DD020;
- _restfpr_30 = 0x802DD024;
- _restfpr_31 = 0x802DD028;
-
- _savegpr_14 = 0x802DD030;
- _savegpr_15 = 0x802DD034;
- _savegpr_16 = 0x802DD038;
- _savegpr_17 = 0x802DD03C;
- _savegpr_18 = 0x802DD040;
- _savegpr_19 = 0x802DD044;
- _savegpr_20 = 0x802DD048;
- _savegpr_21 = 0x802DD04C;
- _savegpr_22 = 0x802DD050;
- _savegpr_23 = 0x802DD054;
- _savegpr_24 = 0x802DD058;
- _savegpr_25 = 0x802DD05C;
- _savegpr_26 = 0x802DD060;
- _savegpr_27 = 0x802DD064;
- _savegpr_28 = 0x802DD068;
- _savegpr_29 = 0x802DD06C;
- _savegpr_30 = 0x802DD070;
- _savegpr_31 = 0x802DD074;
-
- _restgpr_14 = 0x802DD07C;
- _restgpr_15 = 0x802DD080;
- _restgpr_16 = 0x802DD084;
- _restgpr_17 = 0x802DD088;
- _restgpr_18 = 0x802DD08C;
- _restgpr_19 = 0x802DD090;
- _restgpr_20 = 0x802DD094;
- _restgpr_21 = 0x802DD098;
- _restgpr_22 = 0x802DD09C;
- _restgpr_23 = 0x802DD0A0;
- _restgpr_24 = 0x802DD0A4;
- _restgpr_25 = 0x802DD0A8;
- _restgpr_26 = 0x802DD0AC;
- _restgpr_27 = 0x802DD0B0;
- _restgpr_28 = 0x802DD0B4;
- _restgpr_29 = 0x802DD0B8;
- _restgpr_30 = 0x802DD0BC;
- _restgpr_31 = 0x802DD0C0;
-
- __shl2i = 0x802DD4DC;
-
- __nw__FUl = 0x802B9350;
- __dl__FPv = 0x802B93C0;
-
- __construct_new_array = 0x802DCAD0;
- __destroy_new_array = 0x802DCE00;
-
- __register_global_object = 0x802DCA70;
- __ptmf_scall = 0x802DCEEC;
-
-
- setup__13FunctionChainFPPFPv_bUs = 0x8015F740;
-
- willBeDeleted__7fBase_cFv = 0x80162410;
- moreHeapShit__7fBase_cFUiPv = 0x80162730;
- createHeap__7fBase_cFUiPv = 0x80162930;
- heapCreated__7fBase_cFv = 0x801629F0;
- Delete__7fBase_cFv = 0x80162650;
- hasUninitialisedProcesses__7fBase_cFv = 0x80162B60;
-
- GetExplanationString__7dBase_cFv = 0x8006C660;
-
- __vt__15daEnBlockMain_c = 0x803021A8;
- __dt__15daEnBlockMain_cFv = 0x80023340;
- calledWhenUpMoveBegins__15daEnBlockMain_cFv = 0x80022E80;
- calledWhenDownMoveBegins__15daEnBlockMain_cFv = 0x80022F60;
- calledWhenUpMoveExecutes__15daEnBlockMain_cFv = 0x80022F30;
- calledWhenUpMoveDiffExecutes__15daEnBlockMain_cFv = 0x800231A0;
- calledWhenDownMoveExecutes__15daEnBlockMain_cFv = 0x80023010;
- calledWhenDownMoveEndExecutes__15daEnBlockMain_cFv = 0x80023080;
- calledWhenDownMoveDiffExecutes__15daEnBlockMain_cFv = 0x800232C0;
- calledWhenDownMoveDiffEndExecutes__15daEnBlockMain_cFv = 0x80023330;
- updateScale__15daEnBlockMain_cFb = 0x80022DC0;
- upMove_Begin__15daEnBlockMain_cFv = 0x80022E60;
- upMove_Execute__15daEnBlockMain_cFv = 0x80022EA0;
- upMove_End__15daEnBlockMain_cFv = 0x80022E90;
- downMove_Begin__15daEnBlockMain_cFv = 0x80022F40;
- downMove_Execute__15daEnBlockMain_cFv = 0x80022F80;
- downMove_End__15daEnBlockMain_cFv = 0x80022F70;
- downMoveEnd_Begin__15daEnBlockMain_cFv = 0x80023020;
- downMoveEnd_Execute__15daEnBlockMain_cFv = 0x80023040;
- downMoveEnd_End__15daEnBlockMain_cFv = 0x80023030;
- upMove_Diff_Begin__15daEnBlockMain_cFv = 0x80023090;
- upMove_Diff_Execute__15daEnBlockMain_cFv = 0x800230D0;
- upMove_Diff_End__15daEnBlockMain_cFv = 0x800230C0;
- downMove_Diff_Begin__15daEnBlockMain_cFv = 0x800231B0;
- downMove_Diff_Execute__15daEnBlockMain_cFv = 0x800231F0;
- downMove_Diff_End__15daEnBlockMain_cFv = 0x800231E0;
- downMove_DiffEnd_Begin__15daEnBlockMain_cFv = 0x800232D0;
- downMove_DiffEnd_Execute__15daEnBlockMain_cFv = 0x800232F0;
- downMove_DiffEnd_End__15daEnBlockMain_cFv = 0x800232E0;
- blockInit__15daEnBlockMain_cFf = 0x80021690;
- blockUpdate__15daEnBlockMain_cFv = 0x800217B0;
- blockResult__15daEnBlockMain_cFv = 0x800212C0;
- PhysicsCallback1__15daEnBlockMain_c = 0x80021180;
- PhysicsCallback2__15daEnBlockMain_c = 0x80021170;
- PhysicsCallback3__15daEnBlockMain_c = 0x800211A0;
- OPhysicsCallback1__15daEnBlockMain_c = 0x80020BF0;
- OPhysicsCallback2__15daEnBlockMain_c = 0x80020E70;
- OPhysicsCallback3__15daEnBlockMain_c = 0x80021010;
- StateID_UpMove__15daEnBlockMain_c = 0x80352D34;
- StateID_DownMove__15daEnBlockMain_c = 0x80352D74;
- StateID_DownMoveEnd__15daEnBlockMain_c = 0x80352DB4;
- StateID_UpMove_Diff__15daEnBlockMain_c = 0x80352DF4;
- StateID_DownMove_Diff__15daEnBlockMain_c = 0x80352E34;
- StateID_DownMove_DiffEnd__15daEnBlockMain_c = 0x80352E74;
-
- __ct__5dEn_cFv = 0x80094E80;
- afterCreate__5dEn_cFi = 0x800951D0;
- afterExecute__5dEn_cFi = 0x80095480;
- kill__5dEn_cFv = 0x80097F70;
- eatIn__5dEn_cFv = 0x80097C40;
- disableEatIn__5dEn_cFv = 0x80097CB0;
- _vf8C__5dEn_cFPv = 0x80097D30;
- _vfCC__5dEn_cFP7Point2d = 0x800973F0;
- _vfD0__5dEn_cFP7Point2d = 0x800974F0;
- doStateChange__5dEn_cFP9StateBase = 0x800A7DF0;
- preSpriteCollision__5dEn_cFP13ActivePhysicsP13ActivePhysics = 0x80095CE0;
- prePlayerCollision__5dEn_cFP13ActivePhysicsP13ActivePhysics = 0x80095D30;
- preYoshiCollision__5dEn_cFP13ActivePhysicsP13ActivePhysics = 0x80095F50;
- stageActorCollision__5dEn_cFP13ActivePhysicsP13ActivePhysics = 0x80096060;
- spriteCollision__5dEn_cFP13ActivePhysicsP13ActivePhysics = 0x80095C10;
- playerCollision__5dEn_cFP13ActivePhysicsP13ActivePhysics = 0x80095C20;
- yoshiCollision__5dEn_cFP13ActivePhysicsP13ActivePhysics = 0x80095C80;
- collisionCat3_StarPower__5dEn_cFP13ActivePhysicsP13ActivePhysics = 0x8009F840;
- collisionCat5_Mario__5dEn_cFP13ActivePhysicsP13ActivePhysics = 0x8009FB50;
- _vf108__5dEn_cFP13ActivePhysicsP13ActivePhysics = 0x8009FE40;
- collisionCatD_GroundPound__5dEn_cFP13ActivePhysicsP13ActivePhysics = 0x8009FFD0;
- _vf110__5dEn_cFP13ActivePhysicsP13ActivePhysics = 0x8009FFC0;
- collisionCat8_FencePunch__5dEn_cFP13ActivePhysicsP13ActivePhysics = 0x8009FCE0;
- collisionCat7_WMWaggleWater__5dEn_cFP13ActivePhysicsP13ActivePhysics = 0x800A0150;
- collisionCat7_WMWaggleWaterYoshi__5dEn_cFP13ActivePhysicsP13ActivePhysics = 0x800A02D0;
- _vf120__5dEn_cFP13ActivePhysicsP13ActivePhysics = 0x8009FCD0;
- collisionCatA_PenguinMario__5dEn_cFP13ActivePhysicsP13ActivePhysics = 0x8009FCC0;
- collisionCat11_PipeCannon__5dEn_cFP13ActivePhysicsP13ActivePhysics = 0x8009F9D0;
- collisionCat9_RollingObject__5dEn_cFP13ActivePhysicsP13ActivePhysics = 0x800A0700;
- collisionCat1_Fireball_E_Explosion__5dEn_cFP13ActivePhysicsP13ActivePhysics = 0x800A08D0;
- collisionCat2_IceBall_15_YoshiIce__5dEn_cFP13ActivePhysicsP13ActivePhysics = 0x800A0A30;
- collisionCat13_Hammer__5dEn_cFP13ActivePhysicsP13ActivePhysics = 0x800A03C0;
- collisionCat14_YoshiFire__5dEn_cFP13ActivePhysicsP13ActivePhysics = 0x800A0550;
- _vf140__5dEn_cFP13dStageActor_c = 0x800A10B0;
- _vf144__5dEn_cFi = 0x800A0C70;
- _vf148__5dEn_cFv = 0x800A12A0;
- _vf14C__5dEn_cFv = 0x800A1370;
- _vf150__5dEn_cFv = 0x800206D0;
- eatenByYoshiProbably__5dEn_cFv = 0x80096230;
- playHpdpSound1__5dEn_cFv = 0x800A1C00;
- playEnemyDownSound1__5dEn_cFv = 0x800A1BB0;
- playEnemyDownComboSound__5dEn_cFPv = 0x800A1C80;
- playHpdpSound2__5dEn_cFv = 0x800A1D90;
- _vf168__5dEn_cFv = 0x800A1E10;
- dieFumi_Begin__5dEn_cFv = 0x800A1470;
- dieFumi_Execute__5dEn_cFv = 0x800A1600;
- dieFumi_End__5dEn_cFv = 0x800A1820;
- dieFall_Begin__5dEn_cFv = 0x800A16A0;
- dieFall_Execute__5dEn_cFv = 0x800A1830;
- dieFall_End__5dEn_cFv = 0x800A1820;
- dieBigFall_Begin__5dEn_cFv = 0x800A1910;
- dieBigFall_Execute__5dEn_cFv = 0x800A1930;
- dieBigFall_End__5dEn_cFv = 0x800A1920;
- dieSmoke_Begin__5dEn_cFv = 0x800A1980;
- dieSmoke_Execute__5dEn_cFv = 0x800A1A00;
- dieSmoke_End__5dEn_cFv = 0x800A19F0;
- dieYoshiFumi_Begin__5dEn_cFv = 0x800A1AC0;
- dieYoshiFumi_Execute__5dEn_cFv = 0x800A1B40;
- dieYoshiFumi_End__5dEn_cFv = 0x800A1B30;
- dieIceVanish_Begin__5dEn_cFv = 0x800A1A10;
- dieIceVanish_Execute__5dEn_cFv = 0x800A1AB0;
- dieIceVanish_End__5dEn_cFv = 0x800A1AA0;
- dieGoal_Begin__5dEn_cFv = 0x800A1B50;
- dieGoal_Execute__5dEn_cFv = 0x800A1B70;
- dieGoal_End__5dEn_cFv = 0x800A1B60;
- dieOther_Begin__5dEn_cFv = 0x800A1B80;
- dieOther_Execute__5dEn_cFv = 0x800A1BA0;
- dieOther_End__5dEn_cFv = 0x800A1B90;
- eatIn_Begin__5dEn_cFv = 0x800A81C0;
- eatIn_Execute__5dEn_cFv = 0x800A81E0;
- eatIn_End__5dEn_cFv = 0x800A81D0;
- eatNow_Begin__5dEn_cFv = 0x800A8260;
- eatNow_Execute__5dEn_cFv = 0x800A8280;
- eatNow_End__5dEn_cFv = 0x800A8270;
- eatOut_Begin__5dEn_cFv = 0x800A8290;
- eatOut_Execute__5dEn_cFv = 0x800A82B0;
- eatOut_End__5dEn_cFv = 0x800A82A0;
- hitSpin_Begin__5dEn_cFv = 0x800A8190;
- hitSpin_Execute__5dEn_cFv = 0x800A81B0;
- hitSpin_End__5dEn_cFv = 0x800A81A0;
- ice_Begin__5dEn_cFv = 0x800A7E90;
- ice_Execute__5dEn_cFv = 0x800A7F40;
- ice_End__5dEn_cFv = 0x800A7F30;
- spawnHitEffectAtPosition__5dEn_cF7Point2d = 0x80095520;
- doSomethingWithHardHitAndSoftHitEffects__5dEn_cF7Point3d = 0x80095530;
- playEnemyDownSound2__5dEn_cFv = 0x80095580;
- add2ToYSpeed__5dEn_cFv = 0x800955D0;
- _vf218__5dEn_cFv = 0x80095890;
- _vf21C__5dEn_cFv = 0x80097770;
- _vf220__5dEn_cFPv = 0x80097F20;
- _vf224__5dEn_cFv = 0x80097F60;
- _vf228__5dEn_cFv = 0x800206C0;
- _vf22C__5dEn_cFv = 0x800A8060;
- _vf230__5dEn_cFv = 0x800A8150;
- _vf234__5dEn_cFv = 0x800A8160;
- _vf238__5dEn_cFv = 0x800A8180;
- _vf23C__5dEn_cFv = 0x800206B0;
- _vf240__5dEn_cFv = 0x800206A0;
- _vf244__5dEn_cFv = 0x80020690;
- _vf248__5dEn_cFi = 0x800968E0;
- _vf24C__5dEn_cFPv = 0x80096710;
- _vf250__5dEn_cFPv = 0x80096700;
- _vf254__5dEn_cFPv = 0x80096720;
- _vf258__5dEn_cFPv = 0x80096760;
- _vf25C__5dEn_cFPv = 0x80096770;
- _vf260__5dEn_cFPv = 0x80096910;
- _vf264__5dEn_cFP13dStageActor_c = 0x80096D60;
- _vf268__5dEn_cFPv = 0x80096A20;
- spawnHitEffectAtPositionAgain__5dEn_cF7Point2d = 0x80096DF0;
- playMameStepSound__5dEn_cFv = 0x80096C40;
- _vf274__5dEn_cFv = 0x80096E50;
- _vf278__5dEn_cFPv = 0x80096B30;
- _vf27C__5dEn_cFv = 0x80096E40;
-
- _vfD8__18dActorMultiState_cFv = 0x80067590;
- _vfDC__18dActorMultiState_cFv = 0x800675B0;
- _vfE0__18dActorMultiState_cFv = 0x800675A0;
-
- __ct__13dStageActor_cFv = 0x80064110;
- __dt__13dStageActor_cFv = 0x800642B0;
- beforeCreate__13dStageActor_cFv = 0x80064350;
- afterCreate__13dStageActor_cFi = 0x80064380;
- beforeDelete__13dStageActor_cFv = 0x80064390;
- afterDelete__13dStageActor_cFi = 0x800643E0;
- beforeExecute__13dStageActor_cFv = 0x800643F0;
- afterExecute__13dStageActor_cFi = 0x80064490;
- beforeDraw__13dStageActor_cFv = 0x80064540;
- afterDraw__13dStageActor_cFi = 0x800645E0;
- GetExplanationString__13dStageActor_cFv = 0x800645F0;
- _vf60__13dStageActor_cFv = 0x80065080;
- _vf68__13dStageActor_cFv = 0x8001D210;
- _vf6C__13dStageActor_cFv = 0x8001D200;
- _vf70__13dStageActor_cFv = 0x80065620;
- _vf74__13dStageActor_cFv = 0x8001D1F0;
- _vf78__13dStageActor_cFv = 0x80065820;
- _vf7C__13dStageActor_cFv = 0x8001D1E0;
- _vf88__13dStageActor_cFv = 0x80065860;
- _vf90__13dStageActor_cFP13dStageActor_c = 0x80065880;
- _vf94__13dStageActor_cFPv = 0x80065AC0;
- removeMyActivePhysics__13dStageActor_cFv = 0x80066080;
- addMyActivePhysics__13dStageActor_cFv = 0x80066090;
- returnRegularScale__13dStageActor_cFv = 0x80065950;
- _vfA4__13dStageActor_cFPv = 0x80065970;
- _vfA8__13dStageActor_cFPv = 0x80065A00;
- _vfAC__13dStageActor_cFPv = 0x80065A40;
- _vfB0__13dStageActor_cFv = 0x80065660;
- _vfB4__13dStageActor_cFv = 0x80065B40;
- _vfB8__13dStageActor_cFv = 0x8001D1D0;
- _vfBC__13dStageActor_cFv = 0x80065B50;
- _vfC0__13dStageActor_cFv = 0x80065B60;
- _vfC4__13dStageActor_cFv = 0x80065B70;
- _vfC8__13dStageActor_cFP7Point2d = 0x80065CC0;
- checkZoneBoundaries__13dStageActor_cFUi = 0x80064F50;
- create__13dStageActor_cF6ActorsUiP7Point3dP6S16VecUc = 0x80064610;
-
- __ct__8dScene_cFv = 0x800E1AA0;
- __dt__8dScene_cFv = 0x800E1B10;
- beforeCreate__8dScene_cFv = 0x800E1B90;
- afterCreate__8dScene_cFi = 0x800E1BD0;
- beforeDelete__8dScene_cFv = 0x800E1C40;
- afterDelete__8dScene_cFi = 0x800E1C70;
- beforeExecute__8dScene_cFv = 0x800E1CD0;
- afterExecute__8dScene_cFi = 0x800E1E10;
- beforeDraw__8dScene_cFv = 0x800E1E60;
- afterDraw__8dScene_cFi = 0x800E1E90;
-
- __ct__8dActor_cFv = 0x8006C6D0;
- __dt__8dActor_cFv = 0x8006C7F0;
-
- __ct__7dBase_cFv = 0x8006C420;
- __dt__7dBase_cFv = 0x8006C490;
- beforeCreate__7dBase_cFv = 0x8006C540;
- afterCreate__7dBase_cFi = 0x8006C570;
- beforeDelete__7dBase_cFv = 0x8006C580;
- afterDelete__7dBase_cFi = 0x8006C5B0;
- beforeExecute__7dBase_cFv = 0x8006C5C0;
- afterExecute__7dBase_cFi = 0x8006C600;
- beforeDraw__7dBase_cFv = 0x8006C610;
- afterDraw__7dBase_cFi = 0x8006C650;
-
- onDraw__7fBase_cFv = 0x80162310;
-
- specialDraw1__8dActor_cFv = 0x8006CA50;
- specialDraw2__8dActor_cFv = 0x8006CA60;
- _vf58__8dActor_cFv = 0x8001D1C0;
- _vf5C__8dActor_cFv = 0x8001D1B0;
-
- __ct__9StateBaseFPCc = 0x8015F900;
- __dt__9StateBaseFv = 0x8015F940;
- isInvalid__9StateBaseFv = 0x8015F980;
- isEqualNotUsedForSomeReason__9StateBaseFP9StateBase = 0x8015F990;
- isEqual__9StateBaseFP9StateBase = 0x8015FA00;
- isNotEqual__9StateBaseFP9StateBase = 0x8015FA10;
- getName__9StateBaseFv = 0x8015FA60;
- getID__9StateBaseFv = 0x8015FA70;
-
- __ct__10dFlagMgr_c = 0x800E3BD0;
- setup__10dFlagMgr_cFb = 0x800E3C90;
- applyAndClearAllTimedActions__10dFlagMgr_cFv = 0x800E4010;
- execute__10dFlagMgr_cFv = 0x800E4100;
- set__10dFlagMgr_cFUcibbbUi = 0x800E42B0;
- findLowestFlagInSet__10dFlagMgr_cFUiUl = 0x800E4560;
- setSpecial__10dFlagMgr_cFUcffUcUiUl = 0x800E4640;
- get8__10dFlagMgr_cFUc = 0x800E4680;
- get108__10dFlagMgr_cFUc = 0x800E4690;
- get208__10dFlagMgr_cFUc = 0x800E46A0;
- get248__10dFlagMgr_cFUc = 0x800E46B0;
- get448__10dFlagMgr_cFUc = 0x800E46D0;
- instance__10dFlagMgr_c = 0x8042A358;
-
-
- __ct__7PhysicsFv = 0x8007F7A0;
- setup__7PhysicsFP8dActor_cPQ27Physics4InfoUcUcP7Point2d = 0x8007FB10;
- addToList__7PhysicsFv = 0x8007F900;
- removeFromList__7PhysicsFv = 0x8007F950;
- update__7PhysicsFv = 0x8007FDA0;
-
- getTileRendererList__7dBgGm_cFi = 0x80078520;
-
- add__Q212TileRenderer4ListFP12TileRenderer = 0x80014820;
- remove__Q212TileRenderer4ListFP12TileRenderer = 0x80014860;
-
- __ct__12TileRendererFv = 0x800145B0;
- __dt__12TileRendererFv = 0x800145F0;
- setPosition__12TileRendererFfff = 0x800146B0;
- setVars__12TileRendererFf = 0x800146D0;
-
- __ct__21dPlayerModelHandler_cFUc = 0x800D6DB0;
- loadModel__21dPlayerModelHandler_cFUcii = 0x800D6EE0;
- setSRT__21dPlayerModelHandler_cF7Point3d6S16Vec7Point3d = 0x800D7030;
- callVF20__21dPlayerModelHandler_cFv = 0x800D70F0;
- draw__21dPlayerModelHandler_cFv = 0x800D7110;
- update__21dPlayerModelHandler_cFv = 0x800D6F80;
-
- _Z15FindActorByType6ActorsP5Actor = 0x80162E90;
- FindActorByType__F6ActorsP5Actor = 0x80162E90;
- _Z19RetrieveFileFromArcPvPcS0_ = 0x800DF270;
- _Z8OSReportPKcz = 0x8015F870;
- OSReport__FPCce = 0x8015F870;
- _Z7OSFatal7GXColorS_PKc = 0x801AF710;
-
- GetCameraByID__Fi = 0x80164C60;
- GetCurrentCameraID__Fv = 0x80164C80;
- SetCurrentCameraID__Fi = 0x80164C90;
-
- LinkScene__Fi = 0x80164D50;
- UnlinkScene__Fi = 0x80164CD0;
-
- SceneCalcWorld__Fi = 0x80164E10;
- SceneCameraStuff__Fi = 0x80164EA0;
-
- CalcMaterial__Fv = 0x80164E90;
- DrawOpa__Fv = 0x80164F70;
- DrawXlu__Fv = 0x80164F80;
-
- ChangeAlphaUpdate__Fb = 0x802D3270;
-
- DoSpecialDrawing1__Fv = 0x8006CAE0;
- DoSpecialDrawing2__Fv = 0x8006CB40;
-
- SetupLYTDrawing__Fv = 0x80163360;
- ClearLayoutDrawList__Fv = 0x801632B0;
-
- DrawAllLayoutsBeforeX__Fi = 0x80163440;
- DrawAllLayoutsAfterX__Fi = 0x801634D0;
- DrawAllLayoutsAfterXandBeforeY__Fii = 0x80163560;
-
- findPaneByName__Q23m2d17EmbedLayoutBase_cCFPCc = 0x80007300;
- findTextBoxByName__Q23m2d17EmbedLayoutBase_cCFPCc = 0x80007320;
- findPictureByName__Q23m2d17EmbedLayoutBase_cCFPCc = 0x800073D0;
- findWindowByName__Q23m2d17EmbedLayoutBase_cCFPCc = 0x80007470;
- __ct__Q23m2d13EmbedLayout_cFv = 0x800C89A0;
- __dt__Q23m2d13EmbedLayout_cFv = 0x800C89F0;
- loadArc__Q23m2d13EmbedLayout_cFPCcb = 0x800C8D00;
- loadAnimations__Q23m2d13EmbedLayout_cFPPCci = 0x800C90A0;
- loadGroups__Q23m2d13EmbedLayout_cFPPCcPii = 0x800C91E0;
- enableNonLoopAnim__Q23m2d13EmbedLayout_cFib = 0x800C93E0;
- enableLoopAnim__Q23m2d13EmbedLayout_cFi = 0x800C9470;
- disableAllAnimations__Q23m2d13EmbedLayout_cFv = 0x800C95F0;
- free__Q23m2d13EmbedLayout_cFv = 0x800C9A20;
- execAnimations__Q23m2d13EmbedLayout_cFv = 0x800C9650;
- scheduleForDrawing__Q23m2d6Base_cFv = 0x80163990;
-
- RenderEffects__Fii = 0x80093F10;
-
- RemoveAllFromScnRoot__Fv = 0x80164FB0;
- Reset3DState__Fv = 0x80165000;
-
- GetRenderModeObj__Q34nw4r3g3d8G3DStateFv = 0x8024D710;
-
- __ct__Q34nw4r3g3d6CameraFPQ34nw4r3g3d10CameraData = 0x80253910;
- SetOrtho__Q34nw4r3g3d6CameraFffffff = 0x80253DB0;
- SetPerspective__Q34nw4r3g3d6CameraFffff = 0x80253D70;
- SetViewportJitter__Q34nw4r3g3d6CameraFUi = 0x80253F60;
- SetPosture__Q34nw4r3g3d6CameraFRCQ44nw4r3g3d6Camera11PostureInfo = 0x80253B00;
- SetPosition__Q34nw4r3g3d6CameraFRC7Point3d = 0x80253A90;
- SetCameraMtxDirectly__Q34nw4r3g3d6CameraFRA3_A4_Cf = 0x80253D20;
- GetCameraMtx__Q34nw4r3g3d6CameraCFPA3_A4_f = 0x802541F0;
-
- CheckRevision__Q34nw4r3g3d7ResFileCFv = 0x8023A9A0;
- Init__Q34nw4r3g3d7ResFileFv = 0x8023A6D0;
- Bind__Q34nw4r3g3d7ResFileFQ34nw4r3g3d7ResFile = 0x8023A490;
- GetResMdl__Q34nw4r3g3d7ResFileCFPCc = 0x80239F70;
- GetResTex__Q34nw4r3g3d7ResFileCFPCc = 0x8023A060;
- g3dMemAllocator__Q24nw4r3g3d = 0x8042A6A8;
- __ScnMdl__Construct__Q24nw4r3g3dFPvPUiPvUii = 0x8025CB60;
- __ScnMdlSimple__Construct__Q24nw4r3g3dFPvPUiPvi = 0x8025A4C0;
- InsertIntoScene__Q24nw4r3g3dFPv = 0x80164F90;
-
- GetResMat__Q34nw4r3g3d6ResMdlCFPCc = 0x8023B8A0;
-
- DisableIndirectTexturing__3m3dFv = 0x80165090;
- InitTexObjWithResTex__3m3dFP9_GXTexObjPv14_GXTexWrapMode14_GXTexWrapMode12_GXTexFilter12_GXTexFilter = 0x802C7F60;
-
- /* This is preliminary and kinda strange, most of these just point to ScnLeaf for now */
- setup__Q23m3d6proc_cFPvPUi = 0x80165110;
- __ct__Q23m3d6proc_cFv = 0x8016A150;
- __dt__Q23m3d6proc_cFv = 0x8016A170;
- free__Q23m3d6proc_cFv = 0x8016A1D0;
- scheduleForDrawing__Q23m3d6proc_cFv = 0x8016A220;
- getViewMatrix__Q23m3d6proc_cFPA3_A4_f = 0x8016A2D0;
- returnUnknown__Q23m3d6proc_cFv = 0x8000F720;
- /* End preliminary section */
-
- __ct__Q23m3d5mdl_cFv = 0x80169E10;
- __dt__Q23m3d5mdl_cFv = 0x80169E60;
- setup__Q23m3d5mdl_cFQ34nw4r3g3d6ResMdlPvUiiPUi = 0x80169ED0;
- oneSetupType__Q23m3d5mdl_cFv = 0x80064C10;
- sub_80064BF0__Q23m3d5mdl_cFv = 0x80064BF0;
- setDrawMatrix__Q23m3d5mdl_cFPA4_Cf = 0x8016A2B0;
-
- SetupTextures_Player__FPQ23m3d5mdl_ci = 0x800B3E50;
- SetupTextures_Map__FPQ23m3d5mdl_ci = 0x800B3F50;
- SetupTextures_Boss__FPQ23m3d5mdl_ci = 0x800B4050;
- SetupTextures_Enemy__FPQ23m3d5mdl_ci = 0x800B4170;
- SetupTextures_MapObj__FPQ23m3d5mdl_ci = 0x800B42B0;
- SetupTextures_Item__FPQ23m3d5mdl_ci = 0x800B43D0;
-
- __ct__16mHeapAllocator_cFv = 0x80069020;
- __dt__16mHeapAllocator_cFv = 0x80069060;
- link__16mHeapAllocator_cFiPvPCci = 0x800690C0;
- unlink__16mHeapAllocator_cFv = 0x800690E0;
-
- __ct__10mTexture_cFUsUs9_GXTexFmt = 0x802C0D70;
- load__10mTexture_cF11_GXTexMapID = 0x802C0E50;
- flushDC__10mTexture_cFv = 0x802C0F10;
- makeLinearGradient__10mTexture_cFicUsUs8_GXColor8_GXColorb = 0x802C1120;
- allocateBuffer__10mTexture_cFPv = 0x802C14D0;
- plotPixel__10mTexture_cFUsUs8_GXColor = 0x802C1570;
-
- SetFontSize__Q34nw4r2ut10CharWriterFff = 0x8022D430;
-
- __ct__Q34nw4r2ut10TextWriterFv = 0x802308C0;
- __dt__Q34nw4r2ut10TextWriterFv = 0x80230920;
- CalcStringWidth__Q34nw4r2ut10TextWriterCFPCwi = 0x80231210;
-
- GameHeaps = 0x80377F48;
-
- BGDatClass = 0x8042A0D0;
- instance__10BGDatClass = 0x8042A0D0;
- GetTilesetName__FPvii = 0x800813F0;
-
- getTilesetName__10BGDatClassFii = 0x800813F0;
-
- getPointerToTile__12TilemapClassFiiPUib = 0x80083B40;
-
- IsWideScreen__Fv = 0x800B5500;
-
- Player_Active = 0x80355150;
- Player_ID = 0x80355160;
- Player_Powerup = 0x80355170;
- Player_Flags = 0x80355180;
- Player_Lives = 0x80355190;
- Player_Coins = 0x803551A0;
-
- AllocateMemoryBlock = 0x80162A00;
- EnsureAllArcsAreLoaded = 0x800DF5D0;
- FindRotationController = 0x8002AC00;
- GetObjectName = 0x801018C0;
- GetObjectParent = 0x801626D0;
- OSReport = 0x8015F870;
-
- StagePtr = 0x8042A4A8;
-
- _Z20CreateParentedObjectsPvic = 0x80162C40;
- _Z47CheckIfMenuShouldBeCancelledForSpecifiedWiimotei = 0x800B53F0;
- _Z21StartTitleScreenStagebi = 0x801018E0;
- _Z17CreateChildObjectsPviii = 0x8006CBA0;
-
- CreateParentedObject__FsPvic = 0x80162C40;
- CheckIfMenuShouldBeCancelledForSpecifiedWiimote__Fi = 0x800B53F0;
- StartTitleScreenStage__Fbi = 0x801018E0;
- CreateChildObject__FsPviii = 0x8006CBA0;
-
- ObjCreate1 = 0x80162C40;
- ObjCreate2 = 0x80162C60;
- RestoreObjectState = 0x800B0FD0;
- QueueArcLoad = 0x800DF930;
- RetrieveFileFromArc = 0x800DF270;
- RetrieveFileFromArcAlt = 0x800DF4B0;
-
- SpawnSprite = 0x80064610;
- StoreObjectState = 0x800B1100;
- TriggerEventFlag = 0x800E4B20;
-
- _ZN8SaveFile14CheckIfWritingEv = 0x800E0540;
- _Z8SaveGamePvb = 0x8092F5F0;
-
- CheckIfWriting__8SaveFileFv = 0x800E0540;
- SaveGame__FPvb = 0x8092F5F0;
-
- _Z9DVD_Startv = 0x8006A6F0;
- _Z12DVD_LoadFilePvPcS0_S_ = 0x800DF930;
- _Z12DVD_FreeFilePvPc = 0x800DF220;
- _Z16DVD_StillLoadingPv = 0x800DF5D0;
- _Z7DVD_Endv = 0x8006A760;
-
- DVD_Start__Fv = 0x8006A6F0;
- DVD_LoadFile__FPvPcPcPv = 0x800DF930;
- DVD_FreeFile__FPvPc = 0x800DF220;
- DVD_StillLoading__FPv = 0x800DF5D0;
- DVD_End__Fv = 0x8006A760;
- DVD_GetFile__FPvPCcPCc = 0x800DF270;
- DVD_GetFile__FPvPCcPCcPUi = 0x800DF2D0;
-
- __ct__12dDvdLoader_cFv = 0x8008F140;
- __dt__12dDvdLoader_cFv = 0x8008F170;
- load__12dDvdLoader_cFPCcUcPv = 0x8008F1B0;
- unload__12dDvdLoader_cFv = 0x8008F310;
-
- SZSDecompClass = 0x80377DE4;
- LZDecompClass = 0x80377DF0;
- LHDecompClass = 0x80377DFC;
- LRCDecompClass = 0x80377E08;
- RLDecompClass = 0x80377E14;
- StoreCompressionClassList = 0x8016B1D0;
- DecompBufferPointer = 0x80429758;
-
- TryAndFindCompressedFile = 0x8016BBE0;
-
- _Z22BgTexMng__LoadAnimTilePvisPcS0_c = 0x80087B60; /* same for ntsc */
- BgTexMng__LoadAnimTile__FPvisPcPcc = 0x80087B60; /* same for ntsc */
-
- _Z12ActivateWipei = 0x800B0DB0;
- ActivateWipe__Fi = 0x800B0DB0;
-
- CurrentDrawFunc = 0x8042A238;
-
- currentHeap = 0x8042B0F0;
-
- _Z20GameSetup__LoadScenePv = 0x80919560;
- _Z9FreeScenei = 0x801649F0;
- _Z17GameSetupDrawFuncv = 0x80917990;
- _Z16WorldMapDrawFuncv = 0x80926770;
-
- GameSetup__LoadScene__FPv = 0x80919560;
- FreeScene__Fi = 0x801649F0;
- GameSetupDrawFunc__Fv = 0x80917990;
- WorldMapDrawFunc__Fv = 0x80926770;
-
- memcpy = 0x80004364;
- memset = 0x800046B4;
- strncat = 0x802E1D58;
- strncpy = 0x802E1CE8;
- strcmp = 0x802E1DA4;
- sprintf = 0x802E1ACC;
- strrchr = 0x802E1F30;
-
- wcslen = 0x802E470C;
-
- IOS_Open = 0x80224DB0;
- IOS_Close = 0x80224FA0;
- IOS_Seek = 0x80225550;
- IOS_Read = 0x80225150;
- IOS_Write = 0x80225360;
-
- ArchiveHeap = 0x8042A72C;
- DVDClass = 0x8042A318;
- GameMgr = 0x8042A25C;
- SaveFileInstance = 0x8042A320;
- SaveHandlerInstance = 0x8042A298;
- RemoconMng = 0x8042A230;
- ActiveWiimoteID = 0x8042A744;
- ActiveWiimote = 0x8042A748;
-
- MakeScene = 0x80007610;
- GetRes = 0x800DF270;
- GetSceneLightInfo = 0x80164CB0;
- GetAnmScn = 0x8023A420;
- BindAnmScn = 0x80242810;
- AssignAnmScnToLightInfo = 0x802C8B30;
- LoadBlight = 0x809198F0;
- LoadBlmap = 0x809198E0;
-
- _Z23QueryPlayerAvailabilityi = 0x800B4760;
- _Z12DoStartLevelPvP10StartLevel = 0x800BB7D0;
- _Z20SetSomeConditionShitiij = 0x801027E0;
- _Z8WpadShiti = 0x8016F780;
- _Z32CheckIfContinueShouldBeActivatedv = 0x800B5340;
- _Z24SearchForIndexOfPlayerIDi = 0x80060110;
-
- QueryPlayerAvailability__Fi = 0x800B4760;
- DoStartLevel__FPvP14StartLevelInfo = 0x800BB7D0;
- SetSomeConditionShit__FiiUi = 0x801027E0;
- WpadShit__Fi = 0x8016F780;
- CheckIfContinueShouldBeActivated__Fv = 0x800B5340;
- SearchForIndexOfPlayerID__Fi = 0x80060110;
-
- _Z18AllocFromGameHeap1j = 0x80162A00;
- _Z17FreeFromGameHeap1Pv = 0x80162A60;
-
- AllocFromGameHeap1__FUi = 0x80162A00;
- FreeFromGameHeap1__FPv = 0x80162A60;
-
- AllocFromGameHeap1 = 0x80162A00;
-
- _Z19lyt__Layout__LayoutPv = 0x802ACC80;
- _Z15lyt__Layout__dtPvi = 0x802ACCC0;
- _Z18lyt__Layout__BuildPvPKvS_ = 0x802ACDF0;
-
- _Z47nsmbw__ArcResourceAccessor__ArcResourceAccessorPv = 0x802B6760;
- _Z30nsmbw__ArcResourceAccessor__dtPvi = 0x80006930;
- _Z31nsmbw__ArcResourceAccessor__SetPvS_PKc = 0x802B67C0;
- _Z39nsmbw__ArcResourceAccessor__GetResourcePvmPKcPm = 0x80006A50;
-
- _Z23lyt__DrawInfo__DrawInfoPv = 0x802B4E70;
- _Z17lyt__DrawInfo__dtPvi = 0x802B4EF0;
-
- _Z15PSMTXTransApplyPA4_fS0_fff = 0x801C0D50;
-
- _Z13NSMBWLoadFileP15NSMBWFileHandlePciPv = 0x8008F1B0;
- _Z13NSMBWFreeFileP15NSMBWFileHandle = 0x8008F310;
-
- _Z16NSMBWBrlan__LoadPvPKcS_S_b = 0x80163FA0;
- _Z16NSMBWBrlan__FreePv = 0x801640F0;
-
- _Z24DVDConvertPathToEntrynumPKc = 0x801CA7C0;
- _Z11DVDFastOpeniP9DVDHandle = 0x801CAAD0;
- _Z11DVDReadPrioP9DVDHandlePviii = 0x801CAC60;
- _Z8DVDCloseP9DVDHandle = 0x801CAB40;
-
- DVDConvertPathToEntrynum__FPCc = 0x801CA7C0;
- DVDFastOpen__FiP9DVDHandle = 0x801CAAD0;
- DVDReadPrio__FP9DVDHandlePviii = 0x801CAC60;
- DVDClose__FP9DVDHandle = 0x801CAB40;
-
- DVDConvertPathToEntrynum = 0x801CA7C0;
-
- _ZN8SaveFile8GetBlockEi = 0x800E0470;
- _ZN8SaveFile10GetQSBlockEi = 0x800E04A0;
-
- GetBlock__8SaveFileFi = 0x800E0470;
- GetQSBlock__8SaveFileFi = 0x800E04A0;
-
- _ZN9SaveBlock17GetLevelConditionEii = 0x800CE490;
-
- GetLevelCondition__9SaveBlockFii = 0x800CE490;
-
- _Z20CheckIfWeCantDoStuffv = 0x8076DB90;
- _Z15QueryGlobal5758j = 0x800B3B50;
-
-
-
-
- CheckIfWeCantDoStuff__Fv = 0x8076DB90;
- QueryGlobal5758__FUi = 0x800B3B50;
-
- _Z16EGG__Heap__allocmiPv = 0x802B8E00;
- _Z15EGG__Heap__freePvS_ = 0x802B90B0;
-
- EGG__Heap__alloc__FUliPv = 0x802B8E00;
- EGG__Heap__free__FPvPv = 0x802B90B0;
-
- _Z5__nwam = 0x802B9390;
- _Z19construct_new_arrayPvS_S_ii = 0x802DCAD0;
- _Z11DeleteArrayPvS_ = 0x802DCE00;
-
- _Z8MTXOrthoPA4_fffffff = 0x801C1490;
- _Z15GXSetProjectionPA4_fh = 0x801C9980;
-
- _Z8IOS_OpenPKcj = 0x80224DB0;
- _Z9IOS_WriteiPKvi = 0x80225360;
- _Z9IOS_Closei = 0x80224FA0;
-
- _Z6strlenPKc = 0x802DC98C;
- strlen__FPCc = 0x802DC98C;
- strlen = 0x802DC98C;
-
- atan = 0x802E7F04;
- atan2 = 0x802E8900;
- cos = 0x802E82AC;
- sin = 0x802E87B4;
-
- LayoutHelper_Link = 0x801637A0;
-
- __nwa__FUl = 0x802B9390;
-
- _Z19EmbeddedLayout_ctorP6Layout = 0x800C89A0;
- _Z19EmbeddedLayout_dtorP6Layoutb = 0x800C89F0;
- _Z19EmbeddedLayout_FreeP6Layout = 0x800C9A20;
- _Z25EmbeddedLayout_LoadArcOldP6LayoutPKcb = 0x800C8D00;
- _Z25EmbeddedLayout_LoadBrlansP6LayoutPPKci = 0x800C90A0;
- _Z25EmbeddedLayout_LoadGroupsP6LayoutPPKcPii = 0x800C91E0;
- _Z38EmbeddedLayout_ResetAnimToInitialStateP6Layoutib = 0x800C94C0;
- _Z22EmbeddedLayout_ProcessP6Layout = 0x800C9650;
- _Z28EmbeddedLayout_AddToDrawListP6Layout = 0x80163990;
- _Z32EmbeddedLayout_EnableNonLoopAnimP6Layoutib = 0x800C93E0;
- _Z29EmbeddedLayout_EnableLoopAnimP6Layouti = 0x800C9470;
- _Z30EmbeddedLayout_DisableAllAnimsP6Layout = 0x800C95F0;
- _Z35EmbeddedLayout_CheckIfAnimationIsOnP6Layouti = 0x800C9700;
- _Z29EmbeddedLayout_FindPaneByNameP6LayoutPKc = 0x80007300;
- _Z32EmbeddedLayout_FindTextBoxByNameP6LayoutPKc = 0x80007320;
-
- EmbeddedLayout_ctor__FP6Layout = 0x800C89A0;
- EmbeddedLayout_dtor__FP6Layoutb = 0x800C89F0;
- EmbeddedLayout_Free__FP6Layout = 0x800C9A20;
- EmbeddedLayout_LoadArcOld__FP6LayoutPKcb = 0x800C8D00;
- EmbeddedLayout_LoadBrlans__FP6LayoutPPCci = 0x800C90A0;
- EmbeddedLayout_LoadGroups__FP6LayoutPPCcPii = 0x800C91E0;
- EmbeddedLayout_ResetAnimToInitialState__FP6Layoutib = 0x800C94C0;
- EmbeddedLayout_Process__FP6Layout = 0x800C9650;
- EmbeddedLayout_AddToDrawList__FP6Layout = 0x80163990;
- EmbeddedLayout_EnableNonLoopAnim__FP6Layoutib = 0x800C93E0;
- EmbeddedLayout_EnableLoopAnim__FP6Layouti = 0x800C9470;
- EmbeddedLayout_DisableAllAnims__FP6Layout = 0x800C95F0;
- EmbeddedLayout_CheckIfAnimationIsOn__FP6Layouti = 0x800C9700;
- EmbeddedLayout_FindPaneByName__FP6LayoutPCc = 0x80007300;
- EmbeddedLayout_FindTextBoxByName__FP6LayoutPCc = 0x80007320;
-
- _Z6memsetPvij = 0x800046B4;
- _Z7sprintfPcPKcz = 0x802E1ACC;
- _Z8snprintfPciPKcz = 0x802E19D8;
- _Z6strcatPKcS0_ = 0x802E1D2C;
-
- _Z6memsetPvij = 0x800046B4;
- sprintf__FPcPCce = 0x802E1ACC;
- snprintf__FPciPCce = 0x802E19D8;
- memcmp__FPCvPCvUi = 0x802DF388;
- _Z6strcatPKcS0_ = 0x802E1D2C;
-
- _Znaj = 0x802B9350;
-
- _Z23Hook_GetGXRenderModeObjv = 0x8024D710;
- Hook_GetGXRenderModeObj__Fv = 0x8024D710;
-
- _Z3sinf = 0x802E87B4;
- _Z3cosf = 0x802E82AC;
-
- ARCInitHandle = 0x8019F7A0;
- ARCOpen = 0x8019F840;
- ARCFastOpen = 0x8019FAF0;
- ARCConvertPathToEntrynum = 0x8019FB40;
- ARCGetStartAddrInMem = 0x8019FF90;
- ARCGetStartOffset = 0x8019FFB0;
- ARCGetLength = 0x8019FFC0;
- ARCClose = 0x8019FFD0;
- ARCChangeDir = 0x8019FFE0;
- ARCOpenDir = 0x801A0040;
- ARCReadDir = 0x801A00C0;
- ARCCloseDir = 0x801A0180;
-
- DCStoreRangeNoSync = 0x801AC640;
-
- VIGetNextField = 0x801BE020;
-
- PSMTXIdentity = 0x801C0610;
- PSMTXCopy = 0x801C0640;
- PSMTXConcat = 0x801C0680;
- PSMTXInverse = 0x801C08E0;
- PSMTXRotRad = 0x801C0AB0;
- PSMTXRotAxisRad = 0x801C0C90;
- PSMTXTrans = 0x801C0D10;
- PSMTXTransApply = 0x801C0D50;
- PSMTXScale = 0x801C0DA0;
- PSMTXScaleApply = 0x801C0DD0;
- PSMTXMultVec = 0x801C12A0;
-
- PSVECScale = 0x801C1590;
- PSVECNormalize = 0x801C15B0;
-
- C_MTXLookAt = 0x801C0EE0;
- C_MTXFrustum = 0x801C1300;
- C_MTXPerspective = 0x801C13A0;
- C_MTXOrtho = 0x801C1490;
-
- GXSetVtxDesc = 0x801C3900;
- GXClearVtxDesc = 0x801C41B0;
- GXSetVtxAttrFmt = 0x801C41F0;
- GXSetArray = 0x801C48C0;
- GXInvalidateVtxCache = 0x801C4900;
- GXSetTexCoordGen2 = 0x801C4910;
- GXSetNumTexGens = 0x801C4B60;
- GXBegin = 0x801C56B0;
- GXSetCullMode = 0x801C59A0;
- GXInitLightAttn = 0x801C6570;
- GXInitLightSpot = 0x801C65B0;
- GXInitLightDistAttn = 0x801C6750;
- GXInitLightPos = 0x801C6820;
- GXInitLightDir = 0x801C6850;
- GXInitSpecularDir = 0x801C68A0;
- GXInitLightColor = 0x801C69B0;
- GXLoadLightObjImm = 0x801C69C0;
- GXSetChanAmbColor = 0x801C6A40;
- GXSetChanMatColor = 0x801C6B20;
- GXSetNumChans = 0x801C6C00;
- GXSetChanCtrl = 0x801C6C30;
- GXInitTexObj = 0x801C6ED0;
- GXInitTexObjCI = 0x801C70E0;
- GXInitTexObjLOD = 0x801C7130;
- GXInitTexObjTlut = 0x801C7260;
- GXInitTexObjWrapMode = 0x801C7240;
- GXLoadTexObj = 0x801C7600;
- GXInvalidateTexAll = 0x801C7800;
- GXSetTevDirect = 0x801C8270;
- GXSetTevOp = 0x801C8390;
- GXSetTevColorIn = 0x801C8430;
- GXSetTevAlphaIn = 0x801C8470;
- GXSetTevColorOp = 0x801C84B0;
- GXSetTevAlphaOp = 0x801C8510;
- GXSetTevColor = 0x801C8570;
- GXSetTevColorS10 = 0x801C85D0;
- GXSetTevKColor = 0x801C8640;
- GXSetTevKColorSel = 0x801C86A0;
- GXSetTevKAlphaSel = 0x801C86F0;
- GXSetTevSwapMode = 0x801C8740;
- GXSetTevSwapModeTable = 0x801C8780;
- GXSetAlphaCompare = 0x801C8800;
- GXSetTevOrder = 0x801C88D0;
- GXSetNumTevStages = 0x801C8A30;
- GXSetFog = 0x801C8A60;
- GXSetFogRangeAdj = 0x801C8DF0;
- GXSetBlendMode = 0x801C8F00;
- GXSetZMode = 0x801C8FB0;
- GXSetZCompLoc = 0x801C8FF0;
- GXSetDither = 0x801C90D0;
- GXCallDisplayList = 0x801C9720;
- GXSetProjection = 0x801C9980;
- GXLoadPosMtxImm = 0x801C9A80;
- GXLoadNrmMtxImm = 0x801C9B00;
- GXSetCurrentMtx = 0x801C9BA0;
- GXSetViewportJitter = 0x801C9D10;
- GXSetViewport = 0x801C9D50;
- GXDrawDone = 0x801C4FE0;
-
- GXWGFifo = 0xCC008000;
-
- TPLBind = 0x80228310;
- TPLGet = 0x80228430;
-
- /* Gakenoko stuff */
- mHeapAllocatorSubclass_Link = 0x800690C0;
- mHeapAllocatorSubclass_UnLink = 0x800690E0;
-
- GetResMdl = 0x80239F70;
- GetResAnmChr = 0x8023A1F0;
- GetResAnmTexPat = 0x8023A340;
-
- m3d__mdl_c__DoStuff = 0x80169ED0;
-
- __ashldi3 = 0x802DD4DC;
-
- _Z15fBase_c__DeletePv = 0x80162650;
- fBase_c__Delete__FPv = 0x80162650;
-
- _Z13FindActorByIDj = 0x80162E40;
- FindActorByID__FUi = 0x80162E40;
-
- EventTable = 0x8042A358;
- dBgActorManager = 0x8042A0B8;
-
- ContinueBgActorSpawn = 0x8007EA9C;
-
- SomeModelAnimationClass_Setup = 0x80165210;
-
- EGGTSystem_Pointer = 0x8042A36C;
-
- dSys_c__RootHeapMEM1 = 0x8042A370;
- dSys_c__RootHeapMEM2 = 0x8042A374;
-
- BG_GM_ptr = 0x8042A0B0;
- instance__7dBgGm_c = 0x8042A0B0;
-
- BgActorDefs = 0x8042A0BC;
-
- _Z16GetPointerToTileP9BG_GM_haxtttPsb = 0x80077520;
- GetPointerToTile__FP9BG_GM_haxUsUsUsPsb = 0x80077520;
-
- GameHeap1 = 0x80377F4C;
- GameHeap2 = 0x80377F50;
- WiimotePtr1 = 0x80377F88;
-
- continueFromFlagObjCheck = 0x807EBC64;
- returnFromFlagObjCheck = 0x807EBC7C;
-
- Global5758 = 0x8042A228;
-
- EggControllerClassPtrMaybe = 0x8042A230;
-
- MEMGetTotalFreeSizeForExpHeap = 0x801D4920;
-
- sub_80064BD0 = 0x80064BD0;
- sub_80166970 = 0x80166970;
- sub_80166D10 = 0x80166D10;
-
- daEnGakeNoko_c__StateID_FoolMove = 0x80B14BC0;
-
- EnItem_BindAnimation_Continued = 0x80A291E4;
- dAcPy_c__ChangePowerupWithAnimation = 0x80145C00;
- PlayerProjectileShooting = 0x8013BCD0;
-
- PlayPlayerSound = 0x80057E70;
- CreateActor = 0x80064610;
- Actor_SearchByName = 0x80162E90;
-
- daEnItem_c__GetWhetherPlayerCanGetPowerupOrNot = 0x80A2BE60;
-
- returnFromGPSFASixth = 0x80141FF8;
-
- continuePlumberSetPowerupTexture = 0x800CA71C;
- doneSettingThePowerupTexture = 0x800D483C;
- doneSettingThePowerupTexture2 = 0x80141574;
-
- continuePlumberSetPowerupTextureDebug = 0x800CA6B4;
-
- ExitFromTileGodHack = 0x807E1684;
-
- SomeTable_802F5440 = 0x802F5440;
- SomeTable_802F5580 = 0x802F5580;
- SomeTable_802F56C0 = 0x802F56C0;
-
- BlahTable = 0x803255A8;
-
- TileTable = 0x802EFCB8;
-
- CurrentLevel = 0x80315E9D;
- CurrentWorld = 0x80315E9C;
- CurrentStartedArea = 0x80315E96; /*WRONG*/
- CurrentStartedEntrance = 0x80315E97; /*WRONG*/
-
- GetRandomSeed = 0x800B2EC0;
- RandomSeed = 0x8042A224;
-
- MakeRandomNumber__Fi = 0x800B2EE0;
- MakeRandomNumberForTiles__Fi = 0x801614E0;
-
- StrangeReplayValue1 = 0x80427C2E;
- StrangeReplayValue2 = 0x8042A049;
- StrangeReplayValue3 = 0x8042A04A;
-
- OSGetTime = 0x801B60C0;
- OSTicksToCalendarTime = 0x801B61C0;
- snprintf = 0x802E19D8;
- continueFromReplayHookStart = 0x809246E4;
- continueFromReplayEndHook = 0x8010223C;
- returnFromRecorder = 0x800B60C0;
- GetSomeGlobalClass = 0x80109450;
- SomeUnknownClass5408 = 0x8042A578;
- SomeWipeClass = 0x8042A720;
- QueryGlobal5758 = 0x800B3B50;
-
-
- .text : {
- FILL (0)
-
- __text_start = . ;
- *(.init)
- *(.text)
- __ctor_loc = . ;
- *(.ctors)
- __ctor_end = . ;
- *(.dtors)
- *(.rodata)
- /**(.sdata)*/
- *(.data)
- /**(.sbss)*/
- *(.bss)
- *(.fini)
- *(.rodata.*)
- __text_end = . ;
- }
-}
-
+OUTPUT_FORMAT ("binary")
+
+/*MEMORY {
+ loader_section : ORIGIN = 0x80001800, LENGTH = 0x1800
+}*/
+
+SECTIONS {
+ GetSpecificPlayerActor = 0x8005F900;
+ Actor_SearchByID = 0x80162E40;
+ TimeStopFlag = 0x80429FDA;
+ TimerBranch = 0x800E3AB8;
+ MarioDescentRate = 0x8042BB44;
+ MarioJumpArc = 0x802F591C;
+ MarioJumpMax = 0x8042BB28;
+ MiniMarioJumpArc = 0x802F5964;
+ MarioSize = 0x8042BB54;
+ AlwaysDrawFlag = 0x80064540;
+ AlwaysDrawBranch = 0x80064544;
+ GenerateRandomNumber = 0x800B2EE0;
+ OneofManySoundPlayers = 0x800CE9B0;
+ BombExplodeState = 0x80B12A48;
+
+ _savefpr_14 = 0x802DCF98;
+ _savefpr_15 = 0x802DCF9C;
+ _savefpr_16 = 0x802DCFA0;
+ _savefpr_17 = 0x802DCFA4;
+ _savefpr_18 = 0x802DCFA8;
+ _savefpr_19 = 0x802DCFAC;
+ _savefpr_20 = 0x802DCFB0;
+ _savefpr_21 = 0x802DCFB4;
+ _savefpr_22 = 0x802DCFB8;
+ _savefpr_23 = 0x802DCFBC;
+ _savefpr_24 = 0x802DCFC0;
+ _savefpr_25 = 0x802DCFC4;
+ _savefpr_26 = 0x802DCFC8;
+ _savefpr_27 = 0x802DCFCC;
+ _savefpr_28 = 0x802DCFD0;
+ _savefpr_29 = 0x802DCFD4;
+ _savefpr_30 = 0x802DCFD8;
+ _savefpr_31 = 0x802DCFDC;
+
+ _restfpr_14 = 0x802DCFE4;
+ _restfpr_15 = 0x802DCFE8;
+ _restfpr_16 = 0x802DCFEC;
+ _restfpr_17 = 0x802DCFF0;
+ _restfpr_18 = 0x802DCFF4;
+ _restfpr_19 = 0x802DCFF8;
+ _restfpr_20 = 0x802DCFFC;
+ _restfpr_21 = 0x802DD000;
+ _restfpr_22 = 0x802DD004;
+ _restfpr_23 = 0x802DD008;
+ _restfpr_24 = 0x802DD00C;
+ _restfpr_25 = 0x802DD010;
+ _restfpr_26 = 0x802DD014;
+ _restfpr_27 = 0x802DD018;
+ _restfpr_28 = 0x802DD01C;
+ _restfpr_29 = 0x802DD020;
+ _restfpr_30 = 0x802DD024;
+ _restfpr_31 = 0x802DD028;
+
+ _savegpr_14 = 0x802DD030;
+ _savegpr_15 = 0x802DD034;
+ _savegpr_16 = 0x802DD038;
+ _savegpr_17 = 0x802DD03C;
+ _savegpr_18 = 0x802DD040;
+ _savegpr_19 = 0x802DD044;
+ _savegpr_20 = 0x802DD048;
+ _savegpr_21 = 0x802DD04C;
+ _savegpr_22 = 0x802DD050;
+ _savegpr_23 = 0x802DD054;
+ _savegpr_24 = 0x802DD058;
+ _savegpr_25 = 0x802DD05C;
+ _savegpr_26 = 0x802DD060;
+ _savegpr_27 = 0x802DD064;
+ _savegpr_28 = 0x802DD068;
+ _savegpr_29 = 0x802DD06C;
+ _savegpr_30 = 0x802DD070;
+ _savegpr_31 = 0x802DD074;
+
+ _restgpr_14 = 0x802DD07C;
+ _restgpr_15 = 0x802DD080;
+ _restgpr_16 = 0x802DD084;
+ _restgpr_17 = 0x802DD088;
+ _restgpr_18 = 0x802DD08C;
+ _restgpr_19 = 0x802DD090;
+ _restgpr_20 = 0x802DD094;
+ _restgpr_21 = 0x802DD098;
+ _restgpr_22 = 0x802DD09C;
+ _restgpr_23 = 0x802DD0A0;
+ _restgpr_24 = 0x802DD0A4;
+ _restgpr_25 = 0x802DD0A8;
+ _restgpr_26 = 0x802DD0AC;
+ _restgpr_27 = 0x802DD0B0;
+ _restgpr_28 = 0x802DD0B4;
+ _restgpr_29 = 0x802DD0B8;
+ _restgpr_30 = 0x802DD0BC;
+ _restgpr_31 = 0x802DD0C0;
+
+ __shl2i = 0x802DD4DC;
+
+ __nw__FUl = 0x802B9350;
+ __dl__FPv = 0x802B93C0;
+
+ __construct_new_array = 0x802DCAD0;
+ __destroy_new_array = 0x802DCE00;
+
+ __register_global_object = 0x802DCA70;
+ __ptmf_scall = 0x802DCEEC;
+
+
+ setup__13FunctionChainFPPFPv_bUs = 0x8015F740;
+
+ willBeDeleted__7fBase_cFv = 0x80162410;
+ moreHeapShit__7fBase_cFUiPv = 0x80162730;
+ createHeap__7fBase_cFUiPv = 0x80162930;
+ heapCreated__7fBase_cFv = 0x801629F0;
+ Delete__7fBase_cFv = 0x80162650;
+ hasUninitialisedProcesses__7fBase_cFv = 0x80162B60;
+
+ GetExplanationString__7dBase_cFv = 0x8006C660;
+
+ __vt__15daEnBlockMain_c = 0x803021A8;
+ __dt__15daEnBlockMain_cFv = 0x80023340;
+ calledWhenUpMoveBegins__15daEnBlockMain_cFv = 0x80022E80;
+ calledWhenDownMoveBegins__15daEnBlockMain_cFv = 0x80022F60;
+ calledWhenUpMoveExecutes__15daEnBlockMain_cFv = 0x80022F30;
+ calledWhenUpMoveDiffExecutes__15daEnBlockMain_cFv = 0x800231A0;
+ calledWhenDownMoveExecutes__15daEnBlockMain_cFv = 0x80023010;
+ calledWhenDownMoveEndExecutes__15daEnBlockMain_cFv = 0x80023080;
+ calledWhenDownMoveDiffExecutes__15daEnBlockMain_cFv = 0x800232C0;
+ calledWhenDownMoveDiffEndExecutes__15daEnBlockMain_cFv = 0x80023330;
+ updateScale__15daEnBlockMain_cFb = 0x80022DC0;
+ upMove_Begin__15daEnBlockMain_cFv = 0x80022E60;
+ upMove_Execute__15daEnBlockMain_cFv = 0x80022EA0;
+ upMove_End__15daEnBlockMain_cFv = 0x80022E90;
+ downMove_Begin__15daEnBlockMain_cFv = 0x80022F40;
+ downMove_Execute__15daEnBlockMain_cFv = 0x80022F80;
+ downMove_End__15daEnBlockMain_cFv = 0x80022F70;
+ downMoveEnd_Begin__15daEnBlockMain_cFv = 0x80023020;
+ downMoveEnd_Execute__15daEnBlockMain_cFv = 0x80023040;
+ downMoveEnd_End__15daEnBlockMain_cFv = 0x80023030;
+ upMove_Diff_Begin__15daEnBlockMain_cFv = 0x80023090;
+ upMove_Diff_Execute__15daEnBlockMain_cFv = 0x800230D0;
+ upMove_Diff_End__15daEnBlockMain_cFv = 0x800230C0;
+ downMove_Diff_Begin__15daEnBlockMain_cFv = 0x800231B0;
+ downMove_Diff_Execute__15daEnBlockMain_cFv = 0x800231F0;
+ downMove_Diff_End__15daEnBlockMain_cFv = 0x800231E0;
+ downMove_DiffEnd_Begin__15daEnBlockMain_cFv = 0x800232D0;
+ downMove_DiffEnd_Execute__15daEnBlockMain_cFv = 0x800232F0;
+ downMove_DiffEnd_End__15daEnBlockMain_cFv = 0x800232E0;
+ blockInit__15daEnBlockMain_cFf = 0x80021690;
+ blockUpdate__15daEnBlockMain_cFv = 0x800217B0;
+ blockResult__15daEnBlockMain_cFv = 0x800212C0;
+ PhysicsCallback1__15daEnBlockMain_c = 0x80021180;
+ PhysicsCallback2__15daEnBlockMain_c = 0x80021170;
+ PhysicsCallback3__15daEnBlockMain_c = 0x800211A0;
+ OPhysicsCallback1__15daEnBlockMain_c = 0x80020BF0;
+ OPhysicsCallback2__15daEnBlockMain_c = 0x80020E70;
+ OPhysicsCallback3__15daEnBlockMain_c = 0x80021010;
+ StateID_UpMove__15daEnBlockMain_c = 0x80352D34;
+ StateID_DownMove__15daEnBlockMain_c = 0x80352D74;
+ StateID_DownMoveEnd__15daEnBlockMain_c = 0x80352DB4;
+ StateID_UpMove_Diff__15daEnBlockMain_c = 0x80352DF4;
+ StateID_DownMove_Diff__15daEnBlockMain_c = 0x80352E34;
+ StateID_DownMove_DiffEnd__15daEnBlockMain_c = 0x80352E74;
+
+ __ct__5dEn_cFv = 0x80094E80;
+ afterCreate__5dEn_cFi = 0x800951D0;
+ afterExecute__5dEn_cFi = 0x80095480;
+ kill__5dEn_cFv = 0x80097F70;
+ eatIn__5dEn_cFv = 0x80097C40;
+ disableEatIn__5dEn_cFv = 0x80097CB0;
+ _vf8C__5dEn_cFPv = 0x80097D30;
+ _vfCC__5dEn_cFP7Point2d = 0x800973F0;
+ _vfD0__5dEn_cFP7Point2d = 0x800974F0;
+ doStateChange__5dEn_cFP9StateBase = 0x800A7DF0;
+ preSpriteCollision__5dEn_cFP13ActivePhysicsP13ActivePhysics = 0x80095CE0;
+ prePlayerCollision__5dEn_cFP13ActivePhysicsP13ActivePhysics = 0x80095D30;
+ preYoshiCollision__5dEn_cFP13ActivePhysicsP13ActivePhysics = 0x80095F50;
+ stageActorCollision__5dEn_cFP13ActivePhysicsP13ActivePhysics = 0x80096060;
+ spriteCollision__5dEn_cFP13ActivePhysicsP13ActivePhysics = 0x80095C10;
+ playerCollision__5dEn_cFP13ActivePhysicsP13ActivePhysics = 0x80095C20;
+ yoshiCollision__5dEn_cFP13ActivePhysicsP13ActivePhysics = 0x80095C80;
+ collisionCat3_StarPower__5dEn_cFP13ActivePhysicsP13ActivePhysics = 0x8009F840;
+ collisionCat5_Mario__5dEn_cFP13ActivePhysicsP13ActivePhysics = 0x8009FB50;
+ _vf108__5dEn_cFP13ActivePhysicsP13ActivePhysics = 0x8009FE40;
+ collisionCatD_GroundPound__5dEn_cFP13ActivePhysicsP13ActivePhysics = 0x8009FFD0;
+ _vf110__5dEn_cFP13ActivePhysicsP13ActivePhysics = 0x8009FFC0;
+ collisionCat8_FencePunch__5dEn_cFP13ActivePhysicsP13ActivePhysics = 0x8009FCE0;
+ collisionCat7_WMWaggleWater__5dEn_cFP13ActivePhysicsP13ActivePhysics = 0x800A0150;
+ collisionCat7_WMWaggleWaterYoshi__5dEn_cFP13ActivePhysicsP13ActivePhysics = 0x800A02D0;
+ _vf120__5dEn_cFP13ActivePhysicsP13ActivePhysics = 0x8009FCD0;
+ collisionCatA_PenguinMario__5dEn_cFP13ActivePhysicsP13ActivePhysics = 0x8009FCC0;
+ collisionCat11_PipeCannon__5dEn_cFP13ActivePhysicsP13ActivePhysics = 0x8009F9D0;
+ collisionCat9_RollingObject__5dEn_cFP13ActivePhysicsP13ActivePhysics = 0x800A0700;
+ collisionCat1_Fireball_E_Explosion__5dEn_cFP13ActivePhysicsP13ActivePhysics = 0x800A08D0;
+ collisionCat2_IceBall_15_YoshiIce__5dEn_cFP13ActivePhysicsP13ActivePhysics = 0x800A0A30;
+ collisionCat13_Hammer__5dEn_cFP13ActivePhysicsP13ActivePhysics = 0x800A03C0;
+ collisionCat14_YoshiFire__5dEn_cFP13ActivePhysicsP13ActivePhysics = 0x800A0550;
+ _vf140__5dEn_cFP13dStageActor_c = 0x800A10B0;
+ _vf144__5dEn_cFi = 0x800A0C70;
+ _vf148__5dEn_cFv = 0x800A12A0;
+ _vf14C__5dEn_cFv = 0x800A1370;
+ _vf150__5dEn_cFv = 0x800206D0;
+ eatenByYoshiProbably__5dEn_cFv = 0x80096230;
+ playHpdpSound1__5dEn_cFv = 0x800A1C00;
+ playEnemyDownSound1__5dEn_cFv = 0x800A1BB0;
+ playEnemyDownComboSound__5dEn_cFPv = 0x800A1C80;
+ playHpdpSound2__5dEn_cFv = 0x800A1D90;
+ _vf168__5dEn_cFv = 0x800A1E10;
+ dieFumi_Begin__5dEn_cFv = 0x800A1470;
+ dieFumi_Execute__5dEn_cFv = 0x800A1600;
+ dieFumi_End__5dEn_cFv = 0x800A1820;
+ dieFall_Begin__5dEn_cFv = 0x800A16A0;
+ dieFall_Execute__5dEn_cFv = 0x800A1830;
+ dieFall_End__5dEn_cFv = 0x800A1820;
+ dieBigFall_Begin__5dEn_cFv = 0x800A1910;
+ dieBigFall_Execute__5dEn_cFv = 0x800A1930;
+ dieBigFall_End__5dEn_cFv = 0x800A1920;
+ dieSmoke_Begin__5dEn_cFv = 0x800A1980;
+ dieSmoke_Execute__5dEn_cFv = 0x800A1A00;
+ dieSmoke_End__5dEn_cFv = 0x800A19F0;
+ dieYoshiFumi_Begin__5dEn_cFv = 0x800A1AC0;
+ dieYoshiFumi_Execute__5dEn_cFv = 0x800A1B40;
+ dieYoshiFumi_End__5dEn_cFv = 0x800A1B30;
+ dieIceVanish_Begin__5dEn_cFv = 0x800A1A10;
+ dieIceVanish_Execute__5dEn_cFv = 0x800A1AB0;
+ dieIceVanish_End__5dEn_cFv = 0x800A1AA0;
+ dieGoal_Begin__5dEn_cFv = 0x800A1B50;
+ dieGoal_Execute__5dEn_cFv = 0x800A1B70;
+ dieGoal_End__5dEn_cFv = 0x800A1B60;
+ dieOther_Begin__5dEn_cFv = 0x800A1B80;
+ dieOther_Execute__5dEn_cFv = 0x800A1BA0;
+ dieOther_End__5dEn_cFv = 0x800A1B90;
+ eatIn_Begin__5dEn_cFv = 0x800A81C0;
+ eatIn_Execute__5dEn_cFv = 0x800A81E0;
+ eatIn_End__5dEn_cFv = 0x800A81D0;
+ eatNow_Begin__5dEn_cFv = 0x800A8260;
+ eatNow_Execute__5dEn_cFv = 0x800A8280;
+ eatNow_End__5dEn_cFv = 0x800A8270;
+ eatOut_Begin__5dEn_cFv = 0x800A8290;
+ eatOut_Execute__5dEn_cFv = 0x800A82B0;
+ eatOut_End__5dEn_cFv = 0x800A82A0;
+ hitSpin_Begin__5dEn_cFv = 0x800A8190;
+ hitSpin_Execute__5dEn_cFv = 0x800A81B0;
+ hitSpin_End__5dEn_cFv = 0x800A81A0;
+ ice_Begin__5dEn_cFv = 0x800A7E90;
+ ice_Execute__5dEn_cFv = 0x800A7F40;
+ ice_End__5dEn_cFv = 0x800A7F30;
+ spawnHitEffectAtPosition__5dEn_cF7Point2d = 0x80095520;
+ doSomethingWithHardHitAndSoftHitEffects__5dEn_cF7Point3d = 0x80095530;
+ playEnemyDownSound2__5dEn_cFv = 0x80095580;
+ add2ToYSpeed__5dEn_cFv = 0x800955D0;
+ _vf218__5dEn_cFv = 0x80095890;
+ _vf21C__5dEn_cFv = 0x80097770;
+ _vf220__5dEn_cFPv = 0x80097F20;
+ _vf224__5dEn_cFv = 0x80097F60;
+ _vf228__5dEn_cFv = 0x800206C0;
+ _vf22C__5dEn_cFv = 0x800A8060;
+ _vf230__5dEn_cFv = 0x800A8150;
+ _vf234__5dEn_cFv = 0x800A8160;
+ _vf238__5dEn_cFv = 0x800A8180;
+ _vf23C__5dEn_cFv = 0x800206B0;
+ _vf240__5dEn_cFv = 0x800206A0;
+ _vf244__5dEn_cFv = 0x80020690;
+ _vf248__5dEn_cFi = 0x800968E0;
+ _vf24C__5dEn_cFPv = 0x80096710;
+ _vf250__5dEn_cFPv = 0x80096700;
+ _vf254__5dEn_cFPv = 0x80096720;
+ _vf258__5dEn_cFPv = 0x80096760;
+ _vf25C__5dEn_cFPv = 0x80096770;
+ _vf260__5dEn_cFPv = 0x80096910;
+ _vf264__5dEn_cFP13dStageActor_c = 0x80096D60;
+ _vf268__5dEn_cFPv = 0x80096A20;
+ spawnHitEffectAtPositionAgain__5dEn_cF7Point2d = 0x80096DF0;
+ playMameStepSound__5dEn_cFv = 0x80096C40;
+ _vf274__5dEn_cFv = 0x80096E50;
+ _vf278__5dEn_cFPv = 0x80096B30;
+ _vf27C__5dEn_cFv = 0x80096E40;
+
+ _vfD8__18dActorMultiState_cFv = 0x80067590;
+ _vfDC__18dActorMultiState_cFv = 0x800675B0;
+ _vfE0__18dActorMultiState_cFv = 0x800675A0;
+
+ __ct__13dStageActor_cFv = 0x80064110;
+ __dt__13dStageActor_cFv = 0x800642B0;
+ beforeCreate__13dStageActor_cFv = 0x80064350;
+ afterCreate__13dStageActor_cFi = 0x80064380;
+ beforeDelete__13dStageActor_cFv = 0x80064390;
+ afterDelete__13dStageActor_cFi = 0x800643E0;
+ beforeExecute__13dStageActor_cFv = 0x800643F0;
+ afterExecute__13dStageActor_cFi = 0x80064490;
+ beforeDraw__13dStageActor_cFv = 0x80064540;
+ afterDraw__13dStageActor_cFi = 0x800645E0;
+ GetExplanationString__13dStageActor_cFv = 0x800645F0;
+ _vf60__13dStageActor_cFv = 0x80065080;
+ _vf68__13dStageActor_cFv = 0x8001D210;
+ _vf6C__13dStageActor_cFv = 0x8001D200;
+ _vf70__13dStageActor_cFv = 0x80065620;
+ _vf74__13dStageActor_cFv = 0x8001D1F0;
+ _vf78__13dStageActor_cFv = 0x80065820;
+ _vf7C__13dStageActor_cFv = 0x8001D1E0;
+ _vf88__13dStageActor_cFv = 0x80065860;
+ _vf90__13dStageActor_cFP13dStageActor_c = 0x80065880;
+ _vf94__13dStageActor_cFPv = 0x80065AC0;
+ removeMyActivePhysics__13dStageActor_cFv = 0x80066080;
+ addMyActivePhysics__13dStageActor_cFv = 0x80066090;
+ returnRegularScale__13dStageActor_cFv = 0x80065950;
+ _vfA4__13dStageActor_cFPv = 0x80065970;
+ _vfA8__13dStageActor_cFPv = 0x80065A00;
+ _vfAC__13dStageActor_cFPv = 0x80065A40;
+ _vfB0__13dStageActor_cFv = 0x80065660;
+ _vfB4__13dStageActor_cFv = 0x80065B40;
+ _vfB8__13dStageActor_cFv = 0x8001D1D0;
+ _vfBC__13dStageActor_cFv = 0x80065B50;
+ _vfC0__13dStageActor_cFv = 0x80065B60;
+ _vfC4__13dStageActor_cFv = 0x80065B70;
+ _vfC8__13dStageActor_cFP7Point2d = 0x80065CC0;
+ checkZoneBoundaries__13dStageActor_cFUi = 0x80064F50;
+ create__13dStageActor_cF6ActorsUiP7Point3dP6S16VecUc = 0x80064610;
+
+ __ct__8dScene_cFv = 0x800E1AA0;
+ __dt__8dScene_cFv = 0x800E1B10;
+ beforeCreate__8dScene_cFv = 0x800E1B90;
+ afterCreate__8dScene_cFi = 0x800E1BD0;
+ beforeDelete__8dScene_cFv = 0x800E1C40;
+ afterDelete__8dScene_cFi = 0x800E1C70;
+ beforeExecute__8dScene_cFv = 0x800E1CD0;
+ afterExecute__8dScene_cFi = 0x800E1E10;
+ beforeDraw__8dScene_cFv = 0x800E1E60;
+ afterDraw__8dScene_cFi = 0x800E1E90;
+
+ __ct__8dActor_cFv = 0x8006C6D0;
+ __dt__8dActor_cFv = 0x8006C7F0;
+
+ __ct__7dBase_cFv = 0x8006C420;
+ __dt__7dBase_cFv = 0x8006C490;
+ beforeCreate__7dBase_cFv = 0x8006C540;
+ afterCreate__7dBase_cFi = 0x8006C570;
+ beforeDelete__7dBase_cFv = 0x8006C580;
+ afterDelete__7dBase_cFi = 0x8006C5B0;
+ beforeExecute__7dBase_cFv = 0x8006C5C0;
+ afterExecute__7dBase_cFi = 0x8006C600;
+ beforeDraw__7dBase_cFv = 0x8006C610;
+ afterDraw__7dBase_cFi = 0x8006C650;
+
+ onDraw__7fBase_cFv = 0x80162310;
+
+ specialDraw1__8dActor_cFv = 0x8006CA50;
+ specialDraw2__8dActor_cFv = 0x8006CA60;
+ _vf58__8dActor_cFv = 0x8001D1C0;
+ _vf5C__8dActor_cFv = 0x8001D1B0;
+
+ __ct__9StateBaseFPCc = 0x8015F900;
+ __dt__9StateBaseFv = 0x8015F940;
+ isInvalid__9StateBaseFv = 0x8015F980;
+ isEqualNotUsedForSomeReason__9StateBaseFP9StateBase = 0x8015F990;
+ isEqual__9StateBaseFP9StateBase = 0x8015FA00;
+ isNotEqual__9StateBaseFP9StateBase = 0x8015FA10;
+ getName__9StateBaseFv = 0x8015FA60;
+ getID__9StateBaseFv = 0x8015FA70;
+
+ __ct__10dFlagMgr_c = 0x800E3BD0;
+ setup__10dFlagMgr_cFb = 0x800E3C90;
+ applyAndClearAllTimedActions__10dFlagMgr_cFv = 0x800E4010;
+ execute__10dFlagMgr_cFv = 0x800E4100;
+ set__10dFlagMgr_cFUcibbbUi = 0x800E42B0;
+ findLowestFlagInSet__10dFlagMgr_cFUiUl = 0x800E4560;
+ setSpecial__10dFlagMgr_cFUcffUcUiUl = 0x800E4640;
+ get8__10dFlagMgr_cFUc = 0x800E4680;
+ get108__10dFlagMgr_cFUc = 0x800E4690;
+ get208__10dFlagMgr_cFUc = 0x800E46A0;
+ get248__10dFlagMgr_cFUc = 0x800E46B0;
+ get448__10dFlagMgr_cFUc = 0x800E46D0;
+ instance__10dFlagMgr_c = 0x8042A358;
+
+
+ __ct__7PhysicsFv = 0x8007F7A0;
+ setup__7PhysicsFP8dActor_cPQ27Physics4InfoUcUcP7Point2d = 0x8007FB10;
+ addToList__7PhysicsFv = 0x8007F900;
+ removeFromList__7PhysicsFv = 0x8007F950;
+ update__7PhysicsFv = 0x8007FDA0;
+
+ getTileRendererList__7dBgGm_cFi = 0x80078520;
+
+ add__Q212TileRenderer4ListFP12TileRenderer = 0x80014820;
+ remove__Q212TileRenderer4ListFP12TileRenderer = 0x80014860;
+
+ __ct__12TileRendererFv = 0x800145B0;
+ __dt__12TileRendererFv = 0x800145F0;
+ setPosition__12TileRendererFfff = 0x800146B0;
+ setVars__12TileRendererFf = 0x800146D0;
+
+ __ct__21dPlayerModelHandler_cFUc = 0x800D6DB0;
+ loadModel__21dPlayerModelHandler_cFUcii = 0x800D6EE0;
+ setSRT__21dPlayerModelHandler_cF7Point3d6S16Vec7Point3d = 0x800D7030;
+ callVF20__21dPlayerModelHandler_cFv = 0x800D70F0;
+ draw__21dPlayerModelHandler_cFv = 0x800D7110;
+ update__21dPlayerModelHandler_cFv = 0x800D6F80;
+
+ _Z15FindActorByType6ActorsP5Actor = 0x80162E90;
+ FindActorByType__F6ActorsP5Actor = 0x80162E90;
+ _Z19RetrieveFileFromArcPvPcS0_ = 0x800DF270;
+ _Z8OSReportPKcz = 0x8015F870;
+ OSReport__FPCce = 0x8015F870;
+ _Z7OSFatal7GXColorS_PKc = 0x801AF710;
+
+ GetCameraByID__Fi = 0x80164C60;
+ GetCurrentCameraID__Fv = 0x80164C80;
+ SetCurrentCameraID__Fi = 0x80164C90;
+
+ LinkScene__Fi = 0x80164D50;
+ UnlinkScene__Fi = 0x80164CD0;
+
+ SceneCalcWorld__Fi = 0x80164E10;
+ SceneCameraStuff__Fi = 0x80164EA0;
+
+ CalcMaterial__Fv = 0x80164E90;
+ DrawOpa__Fv = 0x80164F70;
+ DrawXlu__Fv = 0x80164F80;
+
+ ChangeAlphaUpdate__Fb = 0x802D3270;
+
+ DoSpecialDrawing1__Fv = 0x8006CAE0;
+ DoSpecialDrawing2__Fv = 0x8006CB40;
+
+ SetupLYTDrawing__Fv = 0x80163360;
+ ClearLayoutDrawList__Fv = 0x801632B0;
+
+ DrawAllLayoutsBeforeX__Fi = 0x80163440;
+ DrawAllLayoutsAfterX__Fi = 0x801634D0;
+ DrawAllLayoutsAfterXandBeforeY__Fii = 0x80163560;
+
+ findPaneByName__Q23m2d17EmbedLayoutBase_cCFPCc = 0x80007300;
+ findTextBoxByName__Q23m2d17EmbedLayoutBase_cCFPCc = 0x80007320;
+ findPictureByName__Q23m2d17EmbedLayoutBase_cCFPCc = 0x800073D0;
+ findWindowByName__Q23m2d17EmbedLayoutBase_cCFPCc = 0x80007470;
+ __ct__Q23m2d13EmbedLayout_cFv = 0x800C89A0;
+ __dt__Q23m2d13EmbedLayout_cFv = 0x800C89F0;
+ loadArc__Q23m2d13EmbedLayout_cFPCcb = 0x800C8D00;
+ loadAnimations__Q23m2d13EmbedLayout_cFPPCci = 0x800C90A0;
+ loadGroups__Q23m2d13EmbedLayout_cFPPCcPii = 0x800C91E0;
+ enableNonLoopAnim__Q23m2d13EmbedLayout_cFib = 0x800C93E0;
+ enableLoopAnim__Q23m2d13EmbedLayout_cFi = 0x800C9470;
+ disableAllAnimations__Q23m2d13EmbedLayout_cFv = 0x800C95F0;
+ free__Q23m2d13EmbedLayout_cFv = 0x800C9A20;
+ execAnimations__Q23m2d13EmbedLayout_cFv = 0x800C9650;
+ scheduleForDrawing__Q23m2d6Base_cFv = 0x80163990;
+
+ RenderEffects__Fii = 0x80093F10;
+
+ RemoveAllFromScnRoot__Fv = 0x80164FB0;
+ Reset3DState__Fv = 0x80165000;
+
+ GetRenderModeObj__Q34nw4r3g3d8G3DStateFv = 0x8024D710;
+
+ __ct__Q34nw4r3g3d6CameraFPQ34nw4r3g3d10CameraData = 0x80253910;
+ SetOrtho__Q34nw4r3g3d6CameraFffffff = 0x80253DB0;
+ SetPerspective__Q34nw4r3g3d6CameraFffff = 0x80253D70;
+ SetViewportJitter__Q34nw4r3g3d6CameraFUi = 0x80253F60;
+ SetPosture__Q34nw4r3g3d6CameraFRCQ44nw4r3g3d6Camera11PostureInfo = 0x80253B00;
+ SetPosition__Q34nw4r3g3d6CameraFRC7Point3d = 0x80253A90;
+ SetCameraMtxDirectly__Q34nw4r3g3d6CameraFRA3_A4_Cf = 0x80253D20;
+ GetCameraMtx__Q34nw4r3g3d6CameraCFPA3_A4_f = 0x802541F0;
+
+ CheckRevision__Q34nw4r3g3d7ResFileCFv = 0x8023A9A0;
+ Init__Q34nw4r3g3d7ResFileFv = 0x8023A6D0;
+ Bind__Q34nw4r3g3d7ResFileFQ34nw4r3g3d7ResFile = 0x8023A490;
+ GetResMdl__Q34nw4r3g3d7ResFileCFPCc = 0x80239F70;
+ GetResTex__Q34nw4r3g3d7ResFileCFPCc = 0x8023A060;
+ g3dMemAllocator__Q24nw4r3g3d = 0x8042A6A8;
+ __ScnMdl__Construct__Q24nw4r3g3dFPvPUiPvUii = 0x8025CB60;
+ __ScnMdlSimple__Construct__Q24nw4r3g3dFPvPUiPvi = 0x8025A4C0;
+ InsertIntoScene__Q24nw4r3g3dFPv = 0x80164F90;
+
+ GetResMat__Q34nw4r3g3d6ResMdlCFPCc = 0x8023B8A0;
+
+ DisableIndirectTexturing__3m3dFv = 0x80165090;
+ InitTexObjWithResTex__3m3dFP9_GXTexObjPv14_GXTexWrapMode14_GXTexWrapMode12_GXTexFilter12_GXTexFilter = 0x802C7F60;
+
+ /* This is preliminary and kinda strange, most of these just point to ScnLeaf for now */
+ setup__Q23m3d6proc_cFPvPUi = 0x80165110;
+ __ct__Q23m3d6proc_cFv = 0x8016A150;
+ __dt__Q23m3d6proc_cFv = 0x8016A170;
+ free__Q23m3d6proc_cFv = 0x8016A1D0;
+ scheduleForDrawing__Q23m3d6proc_cFv = 0x8016A220;
+ getViewMatrix__Q23m3d6proc_cFPA3_A4_f = 0x8016A2D0;
+ returnUnknown__Q23m3d6proc_cFv = 0x8000F720;
+ /* End preliminary section */
+
+ __ct__Q23m3d5mdl_cFv = 0x80169E10;
+ __dt__Q23m3d5mdl_cFv = 0x80169E60;
+ setup__Q23m3d5mdl_cFQ34nw4r3g3d6ResMdlPvUiiPUi = 0x80169ED0;
+ oneSetupType__Q23m3d5mdl_cFv = 0x80064C10;
+ sub_80064BF0__Q23m3d5mdl_cFv = 0x80064BF0;
+ setDrawMatrix__Q23m3d5mdl_cFPA4_Cf = 0x8016A2B0;
+
+ SetupTextures_Player__FPQ23m3d5mdl_ci = 0x800B3E50;
+ SetupTextures_Map__FPQ23m3d5mdl_ci = 0x800B3F50;
+ SetupTextures_Boss__FPQ23m3d5mdl_ci = 0x800B4050;
+ SetupTextures_Enemy__FPQ23m3d5mdl_ci = 0x800B4170;
+ SetupTextures_MapObj__FPQ23m3d5mdl_ci = 0x800B42B0;
+ SetupTextures_Item__FPQ23m3d5mdl_ci = 0x800B43D0;
+
+ __ct__16mHeapAllocator_cFv = 0x80069020;
+ __dt__16mHeapAllocator_cFv = 0x80069060;
+ link__16mHeapAllocator_cFiPvPCci = 0x800690C0;
+ unlink__16mHeapAllocator_cFv = 0x800690E0;
+
+ __ct__10mTexture_cFUsUs9_GXTexFmt = 0x802C0D70;
+ load__10mTexture_cF11_GXTexMapID = 0x802C0E50;
+ flushDC__10mTexture_cFv = 0x802C0F10;
+ makeLinearGradient__10mTexture_cFicUsUs8_GXColor8_GXColorb = 0x802C1120;
+ allocateBuffer__10mTexture_cFPv = 0x802C14D0;
+ plotPixel__10mTexture_cFUsUs8_GXColor = 0x802C1570;
+
+ SetFontSize__Q34nw4r2ut10CharWriterFff = 0x8022D430;
+
+ __ct__Q34nw4r2ut10TextWriterFv = 0x802308C0;
+ __dt__Q34nw4r2ut10TextWriterFv = 0x80230920;
+ CalcStringWidth__Q34nw4r2ut10TextWriterCFPCwi = 0x80231210;
+
+ GameHeaps = 0x80377F48;
+
+ BGDatClass = 0x8042A0D0;
+ instance__10BGDatClass = 0x8042A0D0;
+ GetTilesetName__FPvii = 0x800813F0;
+
+ getTilesetName__10BGDatClassFii = 0x800813F0;
+
+ getPointerToTile__12TilemapClassFiiPUib = 0x80083B40;
+
+ IsWideScreen__Fv = 0x800B5500;
+
+ Player_Active = 0x80355150;
+ Player_ID = 0x80355160;
+ Player_Powerup = 0x80355170;
+ Player_Flags = 0x80355180;
+ Player_Lives = 0x80355190;
+ Player_Coins = 0x803551A0;
+
+ AllocateMemoryBlock = 0x80162A00;
+ EnsureAllArcsAreLoaded = 0x800DF5D0;
+ FindRotationController = 0x8002AC00;
+ GetObjectName = 0x801018C0;
+ GetObjectParent = 0x801626D0;
+ OSReport = 0x8015F870;
+
+ StagePtr = 0x8042A4A8;
+
+ _Z20CreateParentedObjectsPvic = 0x80162C40;
+ _Z47CheckIfMenuShouldBeCancelledForSpecifiedWiimotei = 0x800B53F0;
+ _Z21StartTitleScreenStagebi = 0x801018E0;
+ _Z17CreateChildObjectsPviii = 0x8006CBA0;
+
+ CreateParentedObject__FsPvic = 0x80162C40;
+ CheckIfMenuShouldBeCancelledForSpecifiedWiimote__Fi = 0x800B53F0;
+ StartTitleScreenStage__Fbi = 0x801018E0;
+ CreateChildObject__FsPviii = 0x8006CBA0;
+
+ ObjCreate1 = 0x80162C40;
+ ObjCreate2 = 0x80162C60;
+ RestoreObjectState = 0x800B0FD0;
+ QueueArcLoad = 0x800DF930;
+ RetrieveFileFromArc = 0x800DF270;
+ RetrieveFileFromArcAlt = 0x800DF4B0;
+
+ SpawnSprite = 0x80064610;
+ StoreObjectState = 0x800B1100;
+ TriggerEventFlag = 0x800E4B20;
+
+ _ZN8SaveFile14CheckIfWritingEv = 0x800E0540;
+ _Z8SaveGamePvb = 0x8092F5F0;
+
+ CheckIfWriting__8SaveFileFv = 0x800E0540;
+ SaveGame__FPvb = 0x8092F5F0;
+
+ _Z9DVD_Startv = 0x8006A6F0;
+ _Z12DVD_LoadFilePvPcS0_S_ = 0x800DF930;
+ _Z12DVD_FreeFilePvPc = 0x800DF220;
+ _Z16DVD_StillLoadingPv = 0x800DF5D0;
+ _Z7DVD_Endv = 0x8006A760;
+
+ DVD_Start__Fv = 0x8006A6F0;
+ DVD_LoadFile__FPvPcPcPv = 0x800DF930;
+ DVD_FreeFile__FPvPc = 0x800DF220;
+ DVD_StillLoading__FPv = 0x800DF5D0;
+ DVD_End__Fv = 0x8006A760;
+ DVD_GetFile__FPvPCcPCc = 0x800DF270;
+ DVD_GetFile__FPvPCcPCcPUi = 0x800DF2D0;
+
+ __ct__12dDvdLoader_cFv = 0x8008F140;
+ __dt__12dDvdLoader_cFv = 0x8008F170;
+ load__12dDvdLoader_cFPCcUcPv = 0x8008F1B0;
+ unload__12dDvdLoader_cFv = 0x8008F310;
+
+ SZSDecompClass = 0x80377DE4;
+ LZDecompClass = 0x80377DF0;
+ LHDecompClass = 0x80377DFC;
+ LRCDecompClass = 0x80377E08;
+ RLDecompClass = 0x80377E14;
+ StoreCompressionClassList = 0x8016B1D0;
+ DecompBufferPointer = 0x80429758;
+
+ TryAndFindCompressedFile = 0x8016BBE0;
+
+ _Z22BgTexMng__LoadAnimTilePvisPcS0_c = 0x80087B60; /* same for ntsc */
+ BgTexMng__LoadAnimTile__FPvisPcPcc = 0x80087B60; /* same for ntsc */
+
+ _Z12ActivateWipei = 0x800B0DB0;
+ ActivateWipe__Fi = 0x800B0DB0;
+
+ CurrentDrawFunc = 0x8042A238;
+
+ currentHeap = 0x8042B0F0;
+
+ _Z20GameSetup__LoadScenePv = 0x80919560;
+ _Z9FreeScenei = 0x801649F0;
+ _Z17GameSetupDrawFuncv = 0x80917990;
+ _Z16WorldMapDrawFuncv = 0x80926770;
+
+ GameSetup__LoadScene__FPv = 0x80919560;
+ FreeScene__Fi = 0x801649F0;
+ GameSetupDrawFunc__Fv = 0x80917990;
+ WorldMapDrawFunc__Fv = 0x80926770;
+
+ memcpy = 0x80004364;
+ memset = 0x800046B4;
+ strncat = 0x802E1D58;
+ strncpy = 0x802E1CE8;
+ strcmp = 0x802E1DA4;
+ sprintf = 0x802E1ACC;
+ strrchr = 0x802E1F30;
+
+ wcslen = 0x802E470C;
+
+ IOS_Open = 0x80224DB0;
+ IOS_Close = 0x80224FA0;
+ IOS_Seek = 0x80225550;
+ IOS_Read = 0x80225150;
+ IOS_Write = 0x80225360;
+
+ ArchiveHeap = 0x8042A72C;
+ DVDClass = 0x8042A318;
+ GameMgr = 0x8042A25C;
+ SaveFileInstance = 0x8042A320;
+ SaveHandlerInstance = 0x8042A298;
+ RemoconMng = 0x8042A230;
+ ActiveWiimoteID = 0x8042A744;
+ ActiveWiimote = 0x8042A748;
+
+ MakeScene = 0x80007610;
+ GetRes = 0x800DF270;
+ GetSceneLightInfo = 0x80164CB0;
+ GetAnmScn = 0x8023A420;
+ BindAnmScn = 0x80242810;
+ AssignAnmScnToLightInfo = 0x802C8B30;
+ LoadBlight = 0x809198F0;
+ LoadBlmap = 0x809198E0;
+
+ _Z23QueryPlayerAvailabilityi = 0x800B4760;
+ _Z12DoStartLevelPvP10StartLevel = 0x800BB7D0;
+ _Z20SetSomeConditionShitiij = 0x801027E0;
+ _Z8WpadShiti = 0x8016F780;
+ _Z32CheckIfContinueShouldBeActivatedv = 0x800B5340;
+ _Z24SearchForIndexOfPlayerIDi = 0x80060110;
+
+ QueryPlayerAvailability__Fi = 0x800B4760;
+ DoStartLevel__FPvP14StartLevelInfo = 0x800BB7D0;
+ SetSomeConditionShit__FiiUi = 0x801027E0;
+ WpadShit__Fi = 0x8016F780;
+ CheckIfContinueShouldBeActivated__Fv = 0x800B5340;
+ SearchForIndexOfPlayerID__Fi = 0x80060110;
+
+ _Z18AllocFromGameHeap1j = 0x80162A00;
+ _Z17FreeFromGameHeap1Pv = 0x80162A60;
+
+ AllocFromGameHeap1__FUi = 0x80162A00;
+ FreeFromGameHeap1__FPv = 0x80162A60;
+
+ AllocFromGameHeap1 = 0x80162A00;
+
+ _Z19lyt__Layout__LayoutPv = 0x802ACC80;
+ _Z15lyt__Layout__dtPvi = 0x802ACCC0;
+ _Z18lyt__Layout__BuildPvPKvS_ = 0x802ACDF0;
+
+ _Z47nsmbw__ArcResourceAccessor__ArcResourceAccessorPv = 0x802B6760;
+ _Z30nsmbw__ArcResourceAccessor__dtPvi = 0x80006930;
+ _Z31nsmbw__ArcResourceAccessor__SetPvS_PKc = 0x802B67C0;
+ _Z39nsmbw__ArcResourceAccessor__GetResourcePvmPKcPm = 0x80006A50;
+
+ _Z23lyt__DrawInfo__DrawInfoPv = 0x802B4E70;
+ _Z17lyt__DrawInfo__dtPvi = 0x802B4EF0;
+
+ _Z15PSMTXTransApplyPA4_fS0_fff = 0x801C0D50;
+
+ _Z13NSMBWLoadFileP15NSMBWFileHandlePciPv = 0x8008F1B0;
+ _Z13NSMBWFreeFileP15NSMBWFileHandle = 0x8008F310;
+
+ _Z16NSMBWBrlan__LoadPvPKcS_S_b = 0x80163FA0;
+ _Z16NSMBWBrlan__FreePv = 0x801640F0;
+
+ _Z24DVDConvertPathToEntrynumPKc = 0x801CA7C0;
+ _Z11DVDFastOpeniP9DVDHandle = 0x801CAAD0;
+ _Z11DVDReadPrioP9DVDHandlePviii = 0x801CAC60;
+ _Z8DVDCloseP9DVDHandle = 0x801CAB40;
+
+ DVDConvertPathToEntrynum__FPCc = 0x801CA7C0;
+ DVDFastOpen__FiP9DVDHandle = 0x801CAAD0;
+ DVDReadPrio__FP9DVDHandlePviii = 0x801CAC60;
+ DVDClose__FP9DVDHandle = 0x801CAB40;
+
+ DVDConvertPathToEntrynum = 0x801CA7C0;
+
+ _ZN8SaveFile8GetBlockEi = 0x800E0470;
+ _ZN8SaveFile10GetQSBlockEi = 0x800E04A0;
+
+ GetBlock__8SaveFileFi = 0x800E0470;
+ GetQSBlock__8SaveFileFi = 0x800E04A0;
+
+ _ZN9SaveBlock17GetLevelConditionEii = 0x800CE490;
+
+ GetLevelCondition__9SaveBlockFii = 0x800CE490;
+
+ _Z20CheckIfWeCantDoStuffv = 0x8076DB90;
+ _Z15QueryGlobal5758j = 0x800B3B50;
+
+
+
+
+ CheckIfWeCantDoStuff__Fv = 0x8076DB90;
+ QueryGlobal5758__FUi = 0x800B3B50;
+
+ _Z16EGG__Heap__allocmiPv = 0x802B8E00;
+ _Z15EGG__Heap__freePvS_ = 0x802B90B0;
+
+ EGG__Heap__alloc__FUliPv = 0x802B8E00;
+ EGG__Heap__free__FPvPv = 0x802B90B0;
+
+ _Z5__nwam = 0x802B9390;
+ _Z19construct_new_arrayPvS_S_ii = 0x802DCAD0;
+ _Z11DeleteArrayPvS_ = 0x802DCE00;
+
+ _Z8MTXOrthoPA4_fffffff = 0x801C1490;
+ _Z15GXSetProjectionPA4_fh = 0x801C9980;
+
+ _Z8IOS_OpenPKcj = 0x80224DB0;
+ _Z9IOS_WriteiPKvi = 0x80225360;
+ _Z9IOS_Closei = 0x80224FA0;
+
+ _Z6strlenPKc = 0x802DC98C;
+ strlen__FPCc = 0x802DC98C;
+ strlen = 0x802DC98C;
+
+ atan = 0x802E7F04;
+ atan2 = 0x802E8900;
+ cos = 0x802E82AC;
+ sin = 0x802E87B4;
+
+ LayoutHelper_Link = 0x801637A0;
+
+ __nwa__FUl = 0x802B9390;
+
+ _Z19EmbeddedLayout_ctorP6Layout = 0x800C89A0;
+ _Z19EmbeddedLayout_dtorP6Layoutb = 0x800C89F0;
+ _Z19EmbeddedLayout_FreeP6Layout = 0x800C9A20;
+ _Z25EmbeddedLayout_LoadArcOldP6LayoutPKcb = 0x800C8D00;
+ _Z25EmbeddedLayout_LoadBrlansP6LayoutPPKci = 0x800C90A0;
+ _Z25EmbeddedLayout_LoadGroupsP6LayoutPPKcPii = 0x800C91E0;
+ _Z38EmbeddedLayout_ResetAnimToInitialStateP6Layoutib = 0x800C94C0;
+ _Z22EmbeddedLayout_ProcessP6Layout = 0x800C9650;
+ _Z28EmbeddedLayout_AddToDrawListP6Layout = 0x80163990;
+ _Z32EmbeddedLayout_EnableNonLoopAnimP6Layoutib = 0x800C93E0;
+ _Z29EmbeddedLayout_EnableLoopAnimP6Layouti = 0x800C9470;
+ _Z30EmbeddedLayout_DisableAllAnimsP6Layout = 0x800C95F0;
+ _Z35EmbeddedLayout_CheckIfAnimationIsOnP6Layouti = 0x800C9700;
+ _Z29EmbeddedLayout_FindPaneByNameP6LayoutPKc = 0x80007300;
+ _Z32EmbeddedLayout_FindTextBoxByNameP6LayoutPKc = 0x80007320;
+
+ EmbeddedLayout_ctor__FP6Layout = 0x800C89A0;
+ EmbeddedLayout_dtor__FP6Layoutb = 0x800C89F0;
+ EmbeddedLayout_Free__FP6Layout = 0x800C9A20;
+ EmbeddedLayout_LoadArcOld__FP6LayoutPKcb = 0x800C8D00;
+ EmbeddedLayout_LoadBrlans__FP6LayoutPPCci = 0x800C90A0;
+ EmbeddedLayout_LoadGroups__FP6LayoutPPCcPii = 0x800C91E0;
+ EmbeddedLayout_ResetAnimToInitialState__FP6Layoutib = 0x800C94C0;
+ EmbeddedLayout_Process__FP6Layout = 0x800C9650;
+ EmbeddedLayout_AddToDrawList__FP6Layout = 0x80163990;
+ EmbeddedLayout_EnableNonLoopAnim__FP6Layoutib = 0x800C93E0;
+ EmbeddedLayout_EnableLoopAnim__FP6Layouti = 0x800C9470;
+ EmbeddedLayout_DisableAllAnims__FP6Layout = 0x800C95F0;
+ EmbeddedLayout_CheckIfAnimationIsOn__FP6Layouti = 0x800C9700;
+ EmbeddedLayout_FindPaneByName__FP6LayoutPCc = 0x80007300;
+ EmbeddedLayout_FindTextBoxByName__FP6LayoutPCc = 0x80007320;
+
+ _Z6memsetPvij = 0x800046B4;
+ _Z7sprintfPcPKcz = 0x802E1ACC;
+ _Z8snprintfPciPKcz = 0x802E19D8;
+ _Z6strcatPKcS0_ = 0x802E1D2C;
+
+ _Z6memsetPvij = 0x800046B4;
+ sprintf__FPcPCce = 0x802E1ACC;
+ snprintf__FPciPCce = 0x802E19D8;
+ memcmp__FPCvPCvUi = 0x802DF388;
+ _Z6strcatPKcS0_ = 0x802E1D2C;
+
+ _Znaj = 0x802B9350;
+
+ _Z23Hook_GetGXRenderModeObjv = 0x8024D710;
+ Hook_GetGXRenderModeObj__Fv = 0x8024D710;
+
+ _Z3sinf = 0x802E87B4;
+ _Z3cosf = 0x802E82AC;
+
+ ARCInitHandle = 0x8019F7A0;
+ ARCOpen = 0x8019F840;
+ ARCFastOpen = 0x8019FAF0;
+ ARCConvertPathToEntrynum = 0x8019FB40;
+ ARCGetStartAddrInMem = 0x8019FF90;
+ ARCGetStartOffset = 0x8019FFB0;
+ ARCGetLength = 0x8019FFC0;
+ ARCClose = 0x8019FFD0;
+ ARCChangeDir = 0x8019FFE0;
+ ARCOpenDir = 0x801A0040;
+ ARCReadDir = 0x801A00C0;
+ ARCCloseDir = 0x801A0180;
+
+ DCStoreRangeNoSync = 0x801AC640;
+
+ VIGetNextField = 0x801BE020;
+
+ PSMTXIdentity = 0x801C0610;
+ PSMTXCopy = 0x801C0640;
+ PSMTXConcat = 0x801C0680;
+ PSMTXInverse = 0x801C08E0;
+ PSMTXRotRad = 0x801C0AB0;
+ PSMTXRotAxisRad = 0x801C0C90;
+ PSMTXTrans = 0x801C0D10;
+ PSMTXTransApply = 0x801C0D50;
+ PSMTXScale = 0x801C0DA0;
+ PSMTXScaleApply = 0x801C0DD0;
+ PSMTXMultVec = 0x801C12A0;
+
+ PSVECScale = 0x801C1590;
+ PSVECNormalize = 0x801C15B0;
+
+ C_MTXLookAt = 0x801C0EE0;
+ C_MTXFrustum = 0x801C1300;
+ C_MTXPerspective = 0x801C13A0;
+ C_MTXOrtho = 0x801C1490;
+
+ GXSetVtxDesc = 0x801C3900;
+ GXClearVtxDesc = 0x801C41B0;
+ GXSetVtxAttrFmt = 0x801C41F0;
+ GXSetArray = 0x801C48C0;
+ GXInvalidateVtxCache = 0x801C4900;
+ GXSetTexCoordGen2 = 0x801C4910;
+ GXSetNumTexGens = 0x801C4B60;
+ GXBegin = 0x801C56B0;
+ GXSetCullMode = 0x801C59A0;
+ GXInitLightAttn = 0x801C6570;
+ GXInitLightSpot = 0x801C65B0;
+ GXInitLightDistAttn = 0x801C6750;
+ GXInitLightPos = 0x801C6820;
+ GXInitLightDir = 0x801C6850;
+ GXInitSpecularDir = 0x801C68A0;
+ GXInitLightColor = 0x801C69B0;
+ GXLoadLightObjImm = 0x801C69C0;
+ GXSetChanAmbColor = 0x801C6A40;
+ GXSetChanMatColor = 0x801C6B20;
+ GXSetNumChans = 0x801C6C00;
+ GXSetChanCtrl = 0x801C6C30;
+ GXInitTexObj = 0x801C6ED0;
+ GXInitTexObjCI = 0x801C70E0;
+ GXInitTexObjLOD = 0x801C7130;
+ GXInitTexObjTlut = 0x801C7260;
+ GXInitTexObjWrapMode = 0x801C7240;
+ GXLoadTexObj = 0x801C7600;
+ GXInvalidateTexAll = 0x801C7800;
+ GXSetTevDirect = 0x801C8270;
+ GXSetTevOp = 0x801C8390;
+ GXSetTevColorIn = 0x801C8430;
+ GXSetTevAlphaIn = 0x801C8470;
+ GXSetTevColorOp = 0x801C84B0;
+ GXSetTevAlphaOp = 0x801C8510;
+ GXSetTevColor = 0x801C8570;
+ GXSetTevColorS10 = 0x801C85D0;
+ GXSetTevKColor = 0x801C8640;
+ GXSetTevKColorSel = 0x801C86A0;
+ GXSetTevKAlphaSel = 0x801C86F0;
+ GXSetTevSwapMode = 0x801C8740;
+ GXSetTevSwapModeTable = 0x801C8780;
+ GXSetAlphaCompare = 0x801C8800;
+ GXSetTevOrder = 0x801C88D0;
+ GXSetNumTevStages = 0x801C8A30;
+ GXSetFog = 0x801C8A60;
+ GXSetFogRangeAdj = 0x801C8DF0;
+ GXSetBlendMode = 0x801C8F00;
+ GXSetZMode = 0x801C8FB0;
+ GXSetZCompLoc = 0x801C8FF0;
+ GXSetDither = 0x801C90D0;
+ GXCallDisplayList = 0x801C9720;
+ GXSetProjection = 0x801C9980;
+ GXLoadPosMtxImm = 0x801C9A80;
+ GXLoadNrmMtxImm = 0x801C9B00;
+ GXSetCurrentMtx = 0x801C9BA0;
+ GXSetViewportJitter = 0x801C9D10;
+ GXSetViewport = 0x801C9D50;
+ GXDrawDone = 0x801C4FE0;
+
+ GXWGFifo = 0xCC008000;
+
+ TPLBind = 0x80228310;
+ TPLGet = 0x80228430;
+
+ /* Gakenoko stuff */
+ mHeapAllocatorSubclass_Link = 0x800690C0;
+ mHeapAllocatorSubclass_UnLink = 0x800690E0;
+
+ GetResMdl = 0x80239F70;
+ GetResAnmChr = 0x8023A1F0;
+ GetResAnmTexPat = 0x8023A340;
+
+ m3d__mdl_c__DoStuff = 0x80169ED0;
+
+ __ashldi3 = 0x802DD4DC;
+
+ _Z15fBase_c__DeletePv = 0x80162650;
+ fBase_c__Delete__FPv = 0x80162650;
+
+ _Z13FindActorByIDj = 0x80162E40;
+ FindActorByID__FUi = 0x80162E40;
+
+ EventTable = 0x8042A358;
+ dBgActorManager = 0x8042A0B8;
+
+ ContinueBgActorSpawn = 0x8007EA9C;
+
+ SomeModelAnimationClass_Setup = 0x80165210;
+
+ EGGTSystem_Pointer = 0x8042A36C;
+
+ dSys_c__RootHeapMEM1 = 0x8042A370;
+ dSys_c__RootHeapMEM2 = 0x8042A374;
+
+ BG_GM_ptr = 0x8042A0B0;
+ instance__7dBgGm_c = 0x8042A0B0;
+
+ BgActorDefs = 0x8042A0BC;
+
+ _Z16GetPointerToTileP9BG_GM_haxtttPsb = 0x80077520;
+ GetPointerToTile__FP9BG_GM_haxUsUsUsPsb = 0x80077520;
+
+ GameHeap1 = 0x80377F4C;
+ GameHeap2 = 0x80377F50;
+ WiimotePtr1 = 0x80377F88;
+
+ continueFromFlagObjCheck = 0x807EBC64;
+ returnFromFlagObjCheck = 0x807EBC7C;
+
+ Global5758 = 0x8042A228;
+
+ EggControllerClassPtrMaybe = 0x8042A230;
+
+ MEMGetTotalFreeSizeForExpHeap = 0x801D4920;
+
+ sub_80064BD0 = 0x80064BD0;
+ sub_80166970 = 0x80166970;
+ sub_80166D10 = 0x80166D10;
+
+ daEnGakeNoko_c__StateID_FoolMove = 0x80B14BC0;
+
+ EnItem_BindAnimation_Continued = 0x80A291E4;
+ dAcPy_c__ChangePowerupWithAnimation = 0x80145C00;
+ PlayerProjectileShooting = 0x8013BCD0;
+
+ PlayPlayerSound = 0x80057E70;
+ CreateActor = 0x80064610;
+ Actor_SearchByName = 0x80162E90;
+
+ daEnItem_c__GetWhetherPlayerCanGetPowerupOrNot = 0x80A2BE60;
+
+ returnFromGPSFASixth = 0x80141FF8;
+
+ continuePlumberSetPowerupTexture = 0x800CA71C;
+ doneSettingThePowerupTexture = 0x800D483C;
+ doneSettingThePowerupTexture2 = 0x80141574;
+
+ continuePlumberSetPowerupTextureDebug = 0x800CA6B4;
+
+ returnFromPowerupSoundChange = 0x8014143C;
+
+ ExitFromTileGodHack = 0x807E1684;
+
+ SomeTable_802F5440 = 0x802F5440;
+ SomeTable_802F5580 = 0x802F5580;
+ SomeTable_802F56C0 = 0x802F56C0;
+
+ BlahTable = 0x803255A8;
+
+ TileTable = 0x802EFCB8;
+
+ CurrentLevel = 0x80315E9D;
+ CurrentWorld = 0x80315E9C;
+ CurrentStartedArea = 0x80315E96; /*WRONG*/
+ CurrentStartedEntrance = 0x80315E97; /*WRONG*/
+
+ GetRandomSeed = 0x800B2EC0;
+ RandomSeed = 0x8042A224;
+
+ MakeRandomNumber__Fi = 0x800B2EE0;
+ MakeRandomNumberForTiles__Fi = 0x801614E0;
+
+ StrangeReplayValue1 = 0x80427C2E;
+ StrangeReplayValue2 = 0x8042A049;
+ StrangeReplayValue3 = 0x8042A04A;
+
+ OSGetTime = 0x801B60C0;
+ OSTicksToCalendarTime = 0x801B61C0;
+ snprintf = 0x802E19D8;
+ continueFromReplayHookStart = 0x809246E4;
+ continueFromReplayEndHook = 0x8010223C;
+ returnFromRecorder = 0x800B60C0;
+ GetSomeGlobalClass = 0x80109450;
+ SomeUnknownClass5408 = 0x8042A578;
+ SomeWipeClass = 0x8042A720;
+ QueryGlobal5758 = 0x800B3B50;
+
+
+ .text : {
+ FILL (0)
+
+ __text_start = . ;
+ *(.init)
+ *(.text)
+ __ctor_loc = . ;
+ *(.ctors)
+ __ctor_end = . ;
+ *(.dtors)
+ *(.rodata)
+ /**(.sdata)*/
+ *(.data)
+ /**(.sbss)*/
+ *(.bss)
+ *(.fini)
+ *(.rodata.*)
+ __text_end = . ;
+ }
+}
diff --git a/kamek_pal2.x b/kamek_pal2.x
index d6a3d40..f9f8a9a 100644
--- a/kamek_pal2.x
+++ b/kamek_pal2.x
@@ -6,6 +6,7 @@ OUTPUT_FORMAT ("binary")
SECTIONS {
GetSpecificPlayerActor = 0xDEADBEEF;
+ Actor_SearchByID = 0xDEADBEEF;
TimeStopFlag = 0xDEADBEEF;
TimerBranch = 0xDEADBEEF;
MarioDescentRate = 0xDEADBEEF;
@@ -15,7 +16,9 @@ SECTIONS {
MarioSize = 0xDEADBEEF;
AlwaysDrawFlag = 0xDEADBEEF;
AlwaysDrawBranch = 0xDEADBEEF;
-
+ GenerateRandomNumber = 0xDEADBEEF;
+ OneofManySoundPlayers = 0xDEADBEEF;
+ BombExplodeState = 0xDEADBEEF;
_savefpr_14 = 0xDEADBEEF;
_savefpr_15 = 0xDEADBEEF;
@@ -985,6 +988,8 @@ SECTIONS {
continuePlumberSetPowerupTextureDebug = 0xDEADBEEF;
+ returnFromPowerupSoundChange = 0xDEADBEEF;
+
ExitFromTileGodHack = 0xDEADBEEF;
SomeTable_802F5440 = 0xDEADBEEF;
@@ -1042,4 +1047,3 @@ SECTIONS {
__text_end = . ;
}
}
-
diff --git a/poweruphax.yaml b/poweruphax.yaml
index 951d14c..191c31d 100644
--- a/poweruphax.yaml
+++ b/poweruphax.yaml
@@ -1,258 +1,580 @@
----
-source_files: [../src/poweruphax.S]
-hooks:
- - name: GetInfoFromDumbTable
- type: branch_insn
- branch_type: b
- src_addr_pal: 0x80142650
- target_func: 'GetInfoFromDumbTable'
-
- - name: FukidashiFix
- type: branch_insn
- branch_type: b
- src_addr_pal: 0x800B1A50
- target_func: 'FukidashiFix'
-
- - name: PlayerGetHeightFix
- type: branch_insn
- branch_type: b
- src_addr_pal: 0x80132670
- target_func: 'PlayerGetHeight'
-
-# - name: EnItem_BindAnimation_Fix
-# type: branch_insn
-# branch_type: b
-# src_addr_pal: 0x80A291E0
-# target_func: 'EnItem_BindAnimation_Fix'
-
- - name: DealWithBlahTable
- type: branch_insn
- branch_type: b
- src_addr_pal: 0x80141F70
- target_func: 'DealWithBlahTable'
-
- - name: GetAsdfTable
- type: branch_insn
- branch_type: b
- src_addr_pal: 0x801466C0
- target_func: 'GetAsdfTable'
-
- - name: GetBlahTableOffset
- type: branch_insn
- branch_type: bl
- src_addr_pal: 0x801421AC
- target_func: 'GetBlahTableOffset'
-
- - name: GetWeirdScaleTable
- type: branch_insn
- branch_type: bl
- src_addr_pal: 0x8014676C
- target_func: 'GetWeirdScaleTable'
-
- - name: WtfEver
- type: branch_insn
- branch_type: bl
- src_addr_pal: 0x80133E48
- target_func: 'WtfEver'
-
- - name: YetAnother
- type: branch_insn
- branch_type: bl
- src_addr_pal: 0x80138840
- target_func: 'YetAnother'
-
- - name: ExtendHammerStruct
- type: patch
- addr_pal: 0x807FCBA8
- data: '3860 045C'
-
- - name: ThrowHammer
- type: branch_insn
- branch_type: b
- src_addr_pal: 0x8013BEE4
- target_func: 'ThrowHammer'
-
- - name: MoreProjectileStuff_Fix
- type: branch_insn
- branch_type: b
- src_addr_pal: 0x8013C3A0
- target_func: 'MoreProjectileStuff_Fix'
-
- - name: ProjectileShootCheck_Fix1
- type: patch
- addr_pal: 0x8013BB7C
- data: '4181003C'
-
- - name: ProjectileShootCheck_Fix2
- type: branch_insn
- branch_type: b
- src_addr_pal: 0x8013BBB8
- target_func: 'ProjectileShootCheck_Fix'
-
- - name: QBlockItemChange
- type: patch
- addr_pal: 0x802ee628
- data: '00000006'
-
- - name: QBlockItemFix
- type: patch
- addr_pal: 0x8002288c
- data: '60000000'
-
- - name: QBlockMPItemFix
- type: patch
- addr_pal: 0x80022B90
- data: '60000000'
-
- - name: FixMushroomIfSmallBlock
- type: patch
- addr_pal: 0x800221ac
- data: '2800 0003'
-
- - name: SomeEnItemFix
- type: patch
- addr_pal: 0x80A2BE98
- data: '2800 0003'
-
- - name: MushroomEnItemFix
- type: patch
- addr_pal: 0x80A28598
- data: '2800 0003'
-
- - name: DisablePowerupValidityCheck
- type: patch
- addr_pal: 0x800611C4
- data: '60000000'
-
- - name: TinyTableFix
- type: patch
- addr_pal: 0x802F5AEC
- data: '00000001'
-
- #It's not actually a function but who cares?
- - name: AlwaysLoadBrosArc
- type: add_func_pointer
- src_addr_pal: 0x8098C488
- target_func: 'BrosArcFileName'
-
- - name: AlwaysLoadBrosArc
- type: add_func_pointer
- src_addr_pal: 0x8098C490
- target_func: 'I_hammerArcFilename'
-
- - name: ChangeHammerBrres
- type: add_func_pointer
- src_addr_pal: 0x80AF0FA8
- target_func: 'I_hammerResFile'
-
- - name: ChangeHammerArc
- type: add_func_pointer
- src_addr_pal: 0x80AF0ECC
- target_func: 'I_hammerArcFilename'
-
- - name: ChangeHammerModel
- type: add_func_pointer
- src_addr_pal: 0x80AF1000
- target_func: 'I_hammerModelName'
-
- - name: LetPlayerGetHammerItem
- type: branch_insn
- branch_type: bl
- src_addr_pal: 0x80A285FC
- target_func: 'TryToGiveMarioHammerSuit'
-
- - name: WeirdAnimLoadHack
- type: branch_insn
- branch_type: bl
- src_addr_pal: 0x80A27CE4
- target_func: 'WeirdAnimLoadHack'
-
- - name: SetHammerToEnItemDCA
- type: add_func_pointer
- src_addr_pal: 0x80AF117C
- target_func: 'SetHammerToEnItemDCA'
-
- - name: SetHammerToEnItemDCASpecial
- type: branch_insn
- branch_type: b
- src_addr_pal: 0x80A2C0B4
- target_func: 'SetHammerToEnItemDCASpecial'
-
- - name: PlumberSetPowerupFix
- type: branch_insn
- branch_type: b
- src_addr_pal: 0x800D47D4
- target_func: 'PlumberSetPowerupFix'
-
- - name: PlumberSetPowerupFix2
- type: branch_insn
- branch_type: b
- src_addr_pal: 0x80141510
- target_func: 'PlumberSetPowerupFix2'
-
- - name: PlumberSetPowerupTextureFix
- type: branch_insn
- branch_type: b
- src_addr_pal: 0x800CA6F8
- target_func: 'PlumberSetPowerupTextureFix'
-
-# - name: PlumberSetPowerupTextureDebug
-# type: branch_insn
-# branch_type: b
-# src_addr_pal: 0x800CA6B0
-# target_func: 'PlumberSetPowerupTextureDebug'
-
- - name: FixPowerupScale_First
- type: branch_insn
- branch_type: bl
- src_addr_pal: 0x800d6fdc
- target_func: 'GetPowerupScaleFloatAddr_r6_trash_r0_valshl2_r4_dest'
-
- - name: FixPowerupScale_Second
- type: branch_insn
- branch_type: bl
- src_addr_pal: 0x8004cc80
- target_func: 'GetPowerupScaleFloatAddr_r6_trash_r0_valshl2_r3_dest'
-
- - name: FixPowerupScale_Third
- type: branch_insn
- branch_type: bl
- src_addr_pal: 0x800d7064
- target_func: 'GetPowerupScaleFloatAddr_r8_trash_r0_valshl2_r7_dest'
-
- - name: FixPowerupScale_Fourth
- type: branch_insn
- branch_type: bl
- src_addr_pal: 0x801293D0
- target_func: 'GetPowerupScaleFloatAddr_r6_trash_r0_valshl2_r3_dest'
-
- - name: FixPowerupScale_Fifth
- type: branch_insn
- branch_type: bl
- src_addr_pal: 0x80137CDC
- target_func: 'GetPowerupScaleFloatAddr_r6_trash_r0_valshl2_r3_dest'
-
- - name: FixPowerupScale_Sixth
- type: branch_insn
- branch_type: b
- src_addr_pal: 0x80141FF4
- target_func: 'GetPowerupScaleFloatAddr_fixForSixth'
-
- - name: FixPowerupScale_Seventh
- type: branch_insn
- branch_type: bl
- src_addr_pal: 0x8014378C
- target_func: 'GetPowerupScaleFloatAddr_r6_trash_r0_valshl2_r3_dest'
-
- - name: FixPowerupScale_Eighth
- type: branch_insn
- branch_type: bl
- src_addr_pal: 0x80143884
- target_func: 'GetPowerupScaleFloatAddr_r8_trash_r0_valshl2_r7_dest'
-
- - name: FixPowerupSound
- type: branch_insn
- branch_type: bl
- src_addr_pal: 0x80141334
- target_func: 'FixPowerupSound'
-
+---
+source_files: [../src/poweruphax.S]
+hooks:
+ - name: GetInfoFromDumbTable
+ type: branch_insn
+ branch_type: b
+ src_addr_pal: 0x80142650
+ target_func: 'GetInfoFromDumbTable'
+
+ - name: FukidashiFix
+ type: branch_insn
+ branch_type: b
+ src_addr_pal: 0x800B1A50
+ target_func: 'FukidashiFix'
+
+ - name: PlayerGetHeightFix
+ type: branch_insn
+ branch_type: b
+ src_addr_pal: 0x80132670
+ target_func: 'PlayerGetHeight'
+
+# - name: EnItem_BindAnimation_Fix
+# type: branch_insn
+# branch_type: b
+# src_addr_pal: 0x80A291E0
+# target_func: 'EnItem_BindAnimation_Fix'
+
+ - name: DealWithBlahTable
+ type: branch_insn
+ branch_type: b
+ src_addr_pal: 0x80141F70
+ target_func: 'DealWithBlahTable'
+
+ - name: GetAsdfTable
+ type: branch_insn
+ branch_type: b
+ src_addr_pal: 0x801466C0
+ target_func: 'GetAsdfTable'
+
+ - name: GetBlahTableOffset
+ type: branch_insn
+ branch_type: bl
+ src_addr_pal: 0x801421AC
+ target_func: 'GetBlahTableOffset'
+
+ - name: GetWeirdScaleTable
+ type: branch_insn
+ branch_type: bl
+ src_addr_pal: 0x8014676C
+ target_func: 'GetWeirdScaleTable'
+
+ - name: WtfEver
+ type: branch_insn
+ branch_type: bl
+ src_addr_pal: 0x80133E48
+ target_func: 'WtfEver'
+
+ - name: YetAnother
+ type: branch_insn
+ branch_type: bl
+ src_addr_pal: 0x80138840
+ target_func: 'YetAnother'
+
+ - name: ExtendHammerStruct
+ type: patch
+ addr_pal: 0x807FCBA8
+ data: '3860 045C'
+
+ - name: ThrowHammer
+ type: branch_insn
+ branch_type: b
+ src_addr_pal: 0x8013BEE4
+ target_func: 'ThrowHammer'
+
+ - name: MoreProjectileStuff_Fix
+ type: branch_insn
+ branch_type: b
+ src_addr_pal: 0x8013C3A0
+ target_func: 'MoreProjectileStuff_Fix'
+
+ - name: ProjectileShootCheck_Fix1
+ type: patch
+ addr_pal: 0x8013BB7C
+ data: '4181003C'
+
+ - name: ProjectileShootCheck_Fix2
+ type: branch_insn
+ branch_type: b
+ src_addr_pal: 0x8013BBB8
+ target_func: 'ProjectileShootCheck_Fix'
+
+ - name: QBlockItemChange
+ type: patch
+ addr_pal: 0x802ee628
+ data: '00000006'
+
+ - name: QBlockItemFix
+ type: patch
+ addr_pal: 0x8002288c
+ data: '60000000'
+
+ - name: QBlockMPItemFix
+ type: patch
+ addr_pal: 0x80022B90
+ data: '60000000'
+
+ - name: FixMushroomIfSmallBlock
+ type: patch
+ addr_pal: 0x800221ac
+ data: '2800 0003'
+
+ - name: SomeEnItemFix
+ type: patch
+ addr_pal: 0x80A2BE98
+ data: '2800 0003'
+
+ - name: MushroomEnItemFix
+ type: patch
+ addr_pal: 0x80A28598
+ data: '2800 0003'
+
+ - name: DisablePowerupValidityCheck
+ type: patch
+ addr_pal: 0x800611C4
+ data: '60000000'
+
+ - name: TinyTableFix
+ type: patch
+ addr_pal: 0x802F5AEC
+ data: '00000001'
+
+ #It's not actually a function but who cares?
+ - name: AlwaysLoadBrosArc
+ type: add_func_pointer
+ src_addr_pal: 0x8098C488
+ target_func: 'BrosArcFileName'
+
+ - name: AlwaysLoadBrosArc
+ type: add_func_pointer
+ src_addr_pal: 0x8098C490
+ target_func: 'I_hammerArcFilename'
+
+ - name: ChangeHammerBrres
+ type: add_func_pointer
+ src_addr_pal: 0x80AF0FA8
+ target_func: 'I_hammerResFile'
+
+ - name: ChangeHammerArc
+ type: add_func_pointer
+ src_addr_pal: 0x80AF0ECC
+ target_func: 'I_hammerArcFilename'
+
+ - name: ChangeHammerModel
+ type: add_func_pointer
+ src_addr_pal: 0x80AF1000
+ target_func: 'I_hammerModelName'
+
+ - name: LetPlayerGetHammerItem
+ type: branch_insn
+ branch_type: bl
+ src_addr_pal: 0x80A285FC
+ target_func: 'TryToGiveMarioHammerSuit'
+
+ - name: WeirdAnimLoadHack
+ type: branch_insn
+ branch_type: bl
+ src_addr_pal: 0x80A27CE4
+ target_func: 'WeirdAnimLoadHack'
+
+ - name: SetHammerToEnItemDCA
+ type: add_func_pointer
+ src_addr_pal: 0x80AF117C
+ target_func: 'SetHammerToEnItemDCA'
+
+ - name: SetHammerToEnItemDCASpecial
+ type: branch_insn
+ branch_type: b
+ src_addr_pal: 0x80A2C0B4
+ target_func: 'SetHammerToEnItemDCASpecial'
+
+ - name: PlumberSetPowerupFix
+ type: branch_insn
+ branch_type: b
+ src_addr_pal: 0x800D47D4
+ target_func: 'PlumberSetPowerupFix'
+
+ - name: FixPowerupSound
+ type: branch_insn
+ branch_type: b
+ src_addr_pal: 0x80141334
+ target_func: 'FixPowerupSound'
+
+ - name: PlumberSetPowerupFix2
+ type: branch_insn
+ branch_type: b
+ src_addr_pal: 0x80141510
+ target_func: 'PlumberSetPowerupFix2'
+
+ - name: PlumberSetPowerupTextureFix
+ type: branch_insn
+ branch_type: b
+ src_addr_pal: 0x800CA6F8
+ target_func: 'PlumberSetPowerupTextureFix'
+
+# - name: PlumberSetPowerupTextureDebug
+# type: branch_insn
+# branch_type: b
+# src_addr_pal: 0x800CA6B0
+# target_func: 'PlumberSetPowerupTextureDebug'
+
+ - name: FixPowerupScale_First
+ type: branch_insn
+ branch_type: bl
+ src_addr_pal: 0x800d6fdc
+ target_func: 'GetPowerupScaleFloatAddr_r6_trash_r0_valshl2_r4_dest'
+
+ - name: FixPowerupScale_Second
+ type: branch_insn
+ branch_type: bl
+ src_addr_pal: 0x8004cc80
+ target_func: 'GetPowerupScaleFloatAddr_r6_trash_r0_valshl2_r3_dest'
+
+ - name: FixPowerupScale_Third
+ type: branch_insn
+ branch_type: bl
+ src_addr_pal: 0x800d7064
+ target_func: 'GetPowerupScaleFloatAddr_r8_trash_r0_valshl2_r7_dest'
+
+ - name: FixPowerupScale_Fourth
+ type: branch_insn
+ branch_type: bl
+ src_addr_pal: 0x801293D0
+ target_func: 'GetPowerupScaleFloatAddr_r6_trash_r0_valshl2_r3_dest'
+
+ - name: FixPowerupScale_Fifth
+ type: branch_insn
+ branch_type: bl
+ src_addr_pal: 0x80137CDC
+ target_func: 'GetPowerupScaleFloatAddr_r6_trash_r0_valshl2_r3_dest'
+
+ - name: FixPowerupScale_Sixth
+ type: branch_insn
+ branch_type: b
+ src_addr_pal: 0x80141FF4
+ target_func: 'GetPowerupScaleFloatAddr_fixForSixth'
+
+ - name: FixPowerupScale_Seventh
+ type: branch_insn
+ branch_type: bl
+ src_addr_pal: 0x8014378C
+ target_func: 'GetPowerupScaleFloatAddr_r6_trash_r0_valshl2_r3_dest'
+
+ - name: FixPowerupScale_Eighth
+ type: branch_insn
+ branch_type: bl
+ src_addr_pal: 0x80143884
+ target_func: 'GetPowerupScaleFloatAddr_r8_trash_r0_valshl2_r7_dest'
+
+
+
+
+# Below Here are added all the Hammer Collision hacks
+
+ - name: HammerPodooboo
+ type: patch
+ addr_pal: 0x80ACE8E4
+ data: '0008820C'
+
+ - name: HammerThwomp
+ type: patch
+ addr_pal: 0x80ACF9D0
+ data: '0008820e'
+
+ - name: HammerBigThwomp
+ type: patch
+ addr_pal: 0x80ACF9F4
+ data: '0008820e'
+
+ - name: HammerBigBoo
+ type: patch
+ addr_pal: 0x80AD4AA0
+ data: '0008a80e'
+
+ - name: HammerBigBooTwo
+ type: patch
+ addr_pal: 0x80AD4AA4
+ data: '20020000'
+
+ - name: HammerAmp
+ type: patch
+ addr_pal: 0x80ACE17C
+ data: '00080a04'
+
+ - name: HammerSpikeBall
+ type: patch
+ addr_pal: 0x80AD4D88
+ data: '00080006'
+
+ - name: HammerBigSpikeBall
+ type: patch
+ addr_pal: 0x80ACDD50
+ data: '00080006'
+
+ - name: HammerUrchin
+ type: patch
+ addr_pal: 0x80AD4F48
+ data: '00088a1e'
+
+ - name: HammerChainChomp
+ type: patch
+ addr_pal: 0x80AD5214
+ data: '00088206'
+
+ - name: HammerFireSnake
+ type: patch
+ addr_pal: 0x80ACFBC4
+ data: '00088206'
+
+ - name: HammerFishbones
+ type: patch
+ addr_pal: 0x80AD2748
+ data: '0008881e'
+
+ - name: HammerBeanGoomba
+ type: patch
+ addr_pal: 0x80acd988
+ data: '0008A2BE'
+
+ - name: HammerPukucoinOne
+ type: patch
+ addr_pal: 0x80AD3C60
+ data: '00088a0e'
+
+ - name: HammerPukucoinTwo
+ type: patch
+ addr_pal: 0x80AD3C3C
+ data: '00088a0e'
+
+ - name: HammerBulber
+ type: patch
+ addr_pal: 0x80ACEC60
+ data: '00088a0e'
+
+ - name: HammerFuzzyOne
+ type: patch
+ addr_pal: 0x80ACECF8
+ data: '0008828e'
+
+ - name: HammerFuzzyTwo
+ type: patch
+ addr_pal: 0x80ACED1C
+ data: '0008828e'
+
+ - name: HammerGhostCircle
+ type: patch
+ addr_pal: 0x80AD4158
+ data: '0008a80e'
+
+ - name: HammerPiranhaLily
+ type: patch
+ addr_pal: 0x80AD5538
+ data: '003AFFFE'
+
+
+# - name: HammerClam
+# type: patch
+# addr_pal: 0x80acd4BC
+# data: '00000047'
+#
+# - name: HammerClamTwo
+# type: patch
+# addr_pal: 0x80acd4e0
+# data: '00000047'
+#
+# - name: HammerClamNull
+# type: patch
+# addr_pal: 0x80AD5BF0
+# data: '80095C10'
+
+ - name: HammerGiantWigglerNull
+ type: patch
+ addr_pal: 0x80AD7FC8
+ data: '80095C10'
+
+ - name: HammerParabeetleNull
+ type: patch
+ addr_pal: 0x80B028D8
+ data: '80095C10'
+
+ - name: HammerGiantBuzzyNull
+ type: patch
+ addr_pal: 0x80AD8A10
+ data: '80095C10'
+
+ - name: HammerGiantBuzzy
+ type: patch
+ addr_pal: 0x80ACDC8C
+ data: '0000004F'
+
+ - name: HammerGiantBuzzy
+ type: patch
+ addr_pal: 0x80ACDC90
+ data: 'FFBAFFBC'
+
+ - name: HammerKingBill
+ type: patch
+ addr_pal: 0x80AD2618
+ data: '0000004F'
+
+ - name: HammerKingBillTwo
+ type: patch
+ addr_pal: 0x80AD261C
+ data: '00088806'
+
+ - name: HammerKingBillNull
+ type: patch
+ addr_pal: 0x80AF72A8
+ data: '80095C10'
+
+
+
+ - name: HammerBulletBill
+ type: patch
+ addr_pal: 0x80AD22B8
+ data: '03000000'
+
+ - name: HammerBanzaiBill
+ type: patch
+ addr_pal: 0x80ad22Dc
+ data: '03000000'
+
+ - name: HammerPolterOne
+ type: patch
+ addr_pal: 0x80AD3ADC
+ data: '00000047'
+
+ - name: HammerPolterTwo
+ type: patch
+ addr_pal: 0x80AD3B00
+ data: '00000047'
+
+
+
+
+ - name: Icicle
+ type: patch
+ data: "0000004F"
+ addr_pal: 0x80AD0EB4
+
+ - name: IcicleOne
+ type: patch
+ data: "0000004F"
+ addr_pal: 0x80AD0ED8
+
+ - name: IcicleTwo
+ type: patch
+ data: "0000004F"
+ addr_pal: 0x80ACFD08
+
+ - name: IcicleThree
+ type: patch
+ data: "0000004F"
+ addr_pal: 0x80ACFD2C
+
+ - name: IcicleNormalNoIceball
+ type: patch
+ data: "80095C10"
+ addr_pal: 0x80AEFFFC
+
+ - name: IcicleFixationNoIceball
+ type: patch
+ data: "80095C10"
+ addr_pal: 0x80AE9DC0
+
+
+
+
+ - name: FuckinCastleLarryNull
+ type: patch
+ data: "80095C10"
+ addr_pal: 0x80B76C90
+
+ - name: FuckinLarryNull
+ type: patch
+ data: "80095C10"
+ addr_pal: 0x80B81F44
+
+
+ - name: FuckinCastleLemmyNull
+ type: patch
+ data: "80095C10"
+ addr_pal: 0x80B777A8
+
+ - name: FuckinLemmyNull
+ type: patch
+ data: "80095C10"
+ addr_pal: 0x80B82DF0
+
+
+ - name: FuckinCastleWendyNull
+ type: patch
+ data: "80095C10"
+ addr_pal: 0x80B7AD70
+
+ - name: FuckinWendyNull
+ type: patch
+ data: "80095C10"
+ addr_pal: 0x80B87644
+
+
+ - name: FuckinCastleLudwigNull
+ type: patch
+ data: "80095C10"
+ addr_pal: 0x80B78380
+
+ - name: FuckinLudwigNull
+ type: patch
+ data: "80095C10"
+ addr_pal: 0x80B840D8
+
+
+ - name: FuckinCastleIggyNull
+ type: patch
+ data: "80095C10"
+ addr_pal: 0x80B75F80
+
+ - name: FuckinIggyNull
+ type: patch
+ data: "80095C10"
+ addr_pal: 0x80B7BC28
+
+
+ - name: FuckinCastleMortonNull
+ type: patch
+ data: "80095C10"
+ addr_pal: 0x80B79060
+
+ - name: FuckinMortonNull
+ type: patch
+ data: "80095C10"
+ addr_pal: 0x80B853A8
+
+
+ - name: FuckinCastleRoyNull
+ type: patch
+ data: "80095C10"
+ addr_pal: 0x80B79DC8
+
+ - name: FuckinRoyNull
+ type: patch
+ data: "80095C10"
+ addr_pal: 0x80B86410
+
+
+ - name: FuckinKamekNull
+ type: patch
+ data: "80095C10"
+ addr_pal: 0x80B7CBDC
+
+
+ - name: FuckinBowserNull
+ type: patch
+ data: "80095C10"
+ addr_pal: 0x80B7E800
+
+
+ - name: FuckinJrANull
+ type: patch
+ data: "80095C10"
+ addr_pal: 0x80B804B4
+
+ - name: FuckinJrBNull
+ type: patch
+ data: "80095C10"
+ addr_pal: 0x80B80BBC
+
+ - name: FuckinJrCNull
+ type: patch
+ data: "80095C10"
+ addr_pal: 0x80B81468
diff --git a/src/poweruphax.S b/src/poweruphax.S
index 9a334f6..e028eb9 100644
--- a/src/poweruphax.S
+++ b/src/poweruphax.S
@@ -1,728 +1,746 @@
-.text
-.align 4
-.set sp, 1
-
-.extern returnFromGPSFASixth
-.extern daEnItem_c__GetWhetherPlayerCanGetPowerupOrNot
-.extern dAcPy_c__ChangePowerupWithAnimation
-.extern PlayPlayerSound
-.extern CreateActor
-.extern PlayerProjectileShooting
-.extern Actor_SearchByName
-.extern SomeTable_802F5440
-.extern SomeTable_802F5580
-.extern SomeTable_802F56C0
-.extern BlahTable
-.extern continuePlumberSetPowerupTexture
-.extern doneSettingThePowerupTexture
-.extern doneSettingThePowerupTexture2
-
-#ifndef __MWERKS__
-.set r0,0; .set r1,1; .set r2,2; .set r3,3; .set r4,4
-.set r5,5; .set r6,6; .set r7,7; .set r8,8; .set r9,9
-.set r10,10; .set r11,11; .set r12,12; .set r13,13; .set r14,14
-.set r15,15; .set r16,16; .set r17,17; .set r18,18; .set r19,19
-.set r20,20; .set r21,21; .set r22,22; .set r23,23; .set r24,24
-.set r25,25; .set r26,26; .set r27,27; .set r28,28; .set r29,29
-.set r30,30; .set r31,31; .set f0,0; .set f2,2; .set f3,3
-.set f1,1; .set f30,30; .set f31,31
-#endif
-
-.global GetInfoFromDumbTable
-GetInfoFromDumbTable:
- lis r3, SomeTable@h
- ori r3, r3, SomeTable@l
-
- slwi r4, r4, 2
- slwi r0, r5, 6
-
- lwzx r3, r3, r4
- add r3, r3, r0
- blr
-
-
-
-
-.global FukidashiFix
-FukidashiFix:
- lis r7, ZeroFloat@h
- ori r7, r7, ZeroFloat@l
-
- lis r8, FukidashiTable2@h
- ori r8, r8, FukidashiTable2@l
-
- mulli r6, r4, 0x20
- slwi r0, r5, 2
- add r0, r0, r6
-
- lfs f0, 0(r7)
- lfsx f1, r8, r0
-
- stfs f0, 0x1DC(r3)
- stfs f1, 0x1E0(r3)
- stfs f0, 0x1E4(r3)
-
- blr
-
-
-
-
-.global PlayerGetHeight
-PlayerGetHeight:
- lwz r0, 0x14D4(r3)
-
- lwz r4, 0x1090(r3)
- slwi r4, r4, 3
-
- cmpwi r0, 0
- beq useNormal
- cmpwi r0, 1
- bne useDucking
-
-useNormal:
- lis r3, PlayerHeightsNormal@h
- ori r3, r3, PlayerHeightsNormal@l
- b gotOffset
-
-useDucking:
- lis r3, PlayerHeightsDucking@h
- ori r3, r3, PlayerHeightsDucking@l
-
-gotOffset:
- lfsx f1, r3, r4
- blr
-
-
-
-.global WtfEver
-WtfEver:
- lis r3, WtfEverTable@h
- ori r3, r3, WtfEverTable@l
- lfsx f0, r3, r0
- blr
-
-
-
-.global YetAnother
-YetAnother:
- lis r3, YetAnotherTable@h
- ori r3, r3, YetAnotherTable@l
- lfsx f0, r3, r0
- blr
-
-
-
-
-.global GetWeirdScaleTable
-GetWeirdScaleTable:
- lis r5, WeirdScaleTable@h
- ori r5, r5, WeirdScaleTable@l
- lfsx f1, r5, r0
- blr
-
-
-
-
-
-.global GetAsdfTable
-GetAsdfTable:
- extsb r0, r4
- cmpwi r0, -1
- bne dontGetThisOne
-
- lwz r0, 0x1090(r3)
- extsb r4, r0
-
-dontGetThisOne:
- extsb r0, r4
-
- lis r3, AsdfTable@h
- ori r3, r3, AsdfTable@l
- lbzx r3, r3, r0
-
- blr
-
-
-
-
-
-.global GetBlahTableOffset
-GetBlahTableOffset:
- lis r5, BlahTableOffsets@h
- ori r5, r5, BlahTableOffsets@l
- lwzx r30, r5, r4
- blr
-
-
-.global DealWithBlahTable
-DealWithBlahTable:
- lis r5, BlahTableOffsets@h
- ori r5, r5, BlahTableOffsets@l
-
- # points to BlahTable
- lis r4, BlahTable@h
- ori r4, r4, BlahTable@l
-
- # get blahtableoffset entry based on powerup
- lwz r0, 0x1090(r3)
- slwi r0, r0, 2
- lwzx r0, r5, r0
-
- # now get the entry from the blahtable
- slwi r0, r0, 2
- lwzx r4, r4, r0
-
- # do shit here
-
- lfs f3, 0(r4)
- stfs f3, 0x14E4(r3)
- stfs f3, 0x164(r3)
-
- lfs f1, 0x2A70(r3)
- lfs f0, 0x2A74(r3)
-
- lfs f2, 4(r4)
- fadds f1, f2, f1
- fadds f0, f0, f1
- stfs f0, 0x14E8(r3)
- stfs f0, 0x168(r3)
-
- lfs f0, 0x8(r4)
- lfs f1, 0xC(r4)
- stfs f0, 0x16C(r3)
- stfs f1, 0x170(r3)
-
- # hope I did this right
- blr
-
-
-
-
-
-.global GetPowerupScaleFloatAddr_r6_trash_r0_valshl2_r4_dest
-GetPowerupScaleFloatAddr_r6_trash_r0_valshl2_r4_dest:
- lis r6, PowerupScaleFloats@h
- ori r6, r6, PowerupScaleFloats@l
- add r4, r6, r0
- blr
-
-.global GetPowerupScaleFloatAddr_r6_trash_r0_valshl2_r3_dest
-GetPowerupScaleFloatAddr_r6_trash_r0_valshl2_r3_dest:
- lis r6, PowerupScaleFloats@h
- ori r6, r6, PowerupScaleFloats@l
- add r3, r6, r0
- blr
-
-.global GetPowerupScaleFloatAddr_r8_trash_r0_valshl2_r7_dest
-GetPowerupScaleFloatAddr_r8_trash_r0_valshl2_r7_dest:
- lis r8, PowerupScaleFloats@h
- ori r8, r8, PowerupScaleFloats@l
- add r7, r8, r0
- blr
-
-.global GetPowerupScaleFloatAddr_fixForSixth
-GetPowerupScaleFloatAddr_fixForSixth:
- lis r5, PowerupScaleFloats@h
- ori r5, r5, PowerupScaleFloats@l
- add r4, r5, r4
- b returnFromGPSFASixth
-
-
-
-.global PlumberSetPowerupFix
-PlumberSetPowerupFix:
- lbz r0, 0x152(r31) # get powerup id
-
- cmpwi r0, 2
- beq doFireTex
-
- cmpwi r0, 6
- beq doIceTex
-
- cmpwi r0, 7
- beq doHammerTex
-
- li r4, 0
- b gotTexID
-
-doFireTex:
- li r4, 1
- b gotTexID
-
-doIceTex:
- li r4, 2
- b gotTexID
-
-doHammerTex:
- li r4, 3
-
-gotTexID:
- lwz r12, 0(r31)
- mr r3, r31
- lwz r12, 0x34(r12)
- mtctr r12
- bctrl
-
- b doneSettingThePowerupTexture
-
-
-
-.global PlumberSetPowerupFix2
-PlumberSetPowerupFix2:
- cmpwi r31, 2
- beq doFireTex2
-
- cmpwi r31, 6
- beq doIceTex2
-
- cmpwi r31, 7
- beq doHammerTex2
-
- li r4, 0
- b gotTexID2
-
-doFireTex2:
- li r4, 1
- b gotTexID2
-
-doIceTex2:
- li r4, 2
- b gotTexID2
-
-doHammerTex2:
- li r4, 3
-
-gotTexID2:
- lwz r3, 0x2A64(r30)
- lwz r12, 0(r3)
- lwz r12, 0x34(r12)
- mtctr r12
- bctrl
-
- b doneSettingThePowerupTexture2
-
-
-
-
-.global PlumberSetPowerupTextureDebug
-.extern OSReport
-.extern continuePlumberSetPowerupTextureDebug
-PlumberSetPowerupTextureDebug:
- stwu sp, -0x30(sp)
- mflr r0
- stw r0, 0x34(sp)
- stw r3, 0x20(sp)
- stw r4, 0x24(sp)
-
- mr r6, r0
- mr r5, r4
- mr r4, r3
- lis r3, PowerupTexDebugStr@h
- ori r3, r3, PowerupTexDebugStr@l
- crclr 4*cr1+eq
- bl OSReport
-
- lwz r3, 0x20(sp)
- lwz r4, 0x24(sp)
- lwz r0, 0x34(sp)
- mtlr r0
- addi sp, sp, 0x30
-
- stwu sp, -0x30(sp)
-
- b continuePlumberSetPowerupTextureDebug
-
-
-
-
-
-.global PlumberSetPowerupTextureFix
-PlumberSetPowerupTextureFix:
- stb r4, 0x153(r3)
-
- lis r5, PowerupTextures@h
- ori r5, r5, PowerupTextures@l
-
- slwi r4, r4, 2
- lfsx f31, r5, r4
-
- b continuePlumberSetPowerupTexture
-
-
-
-.global SetHammerToEnItemDCA
-SetHammerToEnItemDCA:
- bl daEnItem_c__GetWhetherPlayerCanGetPowerupOrNot
- cmpwi r3, 1
- bne DontSetHammer
-
- li r0, 5
- sth r0, 0xDCA(r31)
-
-DontSetHammer:
- lwz r0, 0x14(sp)
- lwz r31, 0xC(sp)
- mtlr r0
- addi sp, sp, 0x10
- blr
-
-
-.global SetHammerToEnItemDCASpecial
-SetHammerToEnItemDCASpecial:
- cmplwi r4, 0x19
- b _not19
- li r0, 0xD
- sth r0, 0xDCA(r3)
-_not19:
- cmplwi r4, 6
- bnelr
- li r0, 5
- sth r0, 0xDCA(r3)
- blr
-
-
-#.global EnItem_BindAnimation_Fix
-#EnItem_BindAnimation_Fix:
-# lhz r0, 0xDCA(r3)
-# cmpwi r0, 5
-# beqlr
-# stwu sp, -0x20(sp)
-# b EnItem_BindAnimation_Continued
-
-
-.global WeirdAnimLoadHack
-WeirdAnimLoadHack:
- cmplwi r4, 5 #hammersuit
- beqlr
- cmplwi r4, 6 #1up
- beqlr
- # neither of those succeeded
- crclr 4*cr0+eq
- blr
-
-
-
-.global TryToGiveMarioHammerSuit
-TryToGiveMarioHammerSuit:
- stwu sp, -0x10(sp)
- mflr r0
- stw r0, 0x14(sp)
-
- # check the obtained item number
- cmplwi r3, 5
- bne IsntGettingHammerSuit
-
- # check the current player powerup
- cmplwi r4, 7
- bne DontHaveHammerSuit
-
- li r28, 0
- li r29, 2
- b ReturnFromTTGMHS
-
-DontHaveHammerSuit:
- mr r3, r30
- li r4, 7
- bl dAcPy_c__ChangePowerupWithAnimation
-
- cmpwi r3, 0
- beq ReturnFromTTGMHS
-
- li r29, 1
-
-IsntGettingHammerSuit:
-ReturnFromTTGMHS:
- # end of function
- lwz r0, 0x14(sp)
- mtlr r0
- addi sp, sp, 0x10
-
- # leftover instruction from what we replaced to add the bl
- cmpwi r29, 0
- blr
-
-
-
-.global ThrowHammer
-ThrowHammer:
- # continues on from PlayerProjectileShooting
-
- # get powerup
- lwz r3, 0x1090(r30)
- cmplwi r3, 7
- bne ReturnFromThrowHammer
-
- mr r3, r30
- li r4, 498
- li r5, 0
- bl PlayPlayerSound
-
- li r3, 0x73 # Hammer
- li r4, 0 # Settings
- addi r5, sp, 0x2C # Position
- li r6, 0 # Rotation
- lbz r7, 0x38F(r30) # Layer
- bl CreateActor
-
- # Store player ID
- lwz r4, 0(r30)
- stw r4, 0x450(r3)
-
- # store player number, but add 0x100 to differentiate it from 0
- lbz r4, 0x38D(r30)
- addi r4, r4, 0x100
- stw r4, 0x458(r3)
-
- # Fix scale
- lis r4, OneFloat@h
- ori r4, r4, OneFloat@l
- lfs f0, 0(r4)
- stfs f0, 0xDC(r3)
- stfs f0, 0xE0(r3)
- stfs f0, 0xE4(r3)
-
- mr r4, r30
- lwz r12, 0x60(r3)
- lwz r12, 0x8C(r12)
- mtctr r12
- bctrl
-
-ReturnFromThrowHammer:
- lwz r0, 0xC4(sp)
- psq_l f31, 0xB8(sp), 1, 0
- lfd f31, 0xB0(sp)
- psq_l f30, 0xA8(sp), 1, 0
- lfd f30, 0xA0(sp)
- lwz r31, 0x9C(sp)
- lwz r30, 0x98(sp)
- mtlr r0
- addi sp, sp, 0xC0
- blr
-
-
-
-.global MoreProjectileStuff_Fix
-MoreProjectileStuff_Fix:
- lwz r3, 0x1090(r31)
- cmplwi r3, 7
- bne ReturnFromMPSFix
-
- mr r3, r31
- li r4, 1
- bl PlayerProjectileShooting
-
-ReturnFromMPSFix:
- lwz r0, 0x14(sp)
- lwz r31, 0xC(sp)
- mtlr r0
- addi sp, sp, 0x10
- blr
-
-
-
-.global ProjectileShootCheck_Fix
-ProjectileShootCheck_Fix:
- lwz r3, 0x1090(r31)
- cmplwi r3, 7
- bne Return0fromPSCFix
-
- lbz r3, 0x38D(r31)
- li r4, 0
- extsb r3, r3
- bl CheckHammerLimit
-
- cmpwi r3, 0
- beq Return0fromPSCFix
-
- b Return1fromPSCFix
-
-Return0fromPSCFix:
- li r3, 0
- b ReturnFromPSCFix
-
-Return1fromPSCFix:
- li r3, 1
-
-ReturnFromPSCFix:
- lwz r0, 0x14(sp)
- lwz r31, 0xC(sp)
- mtlr r0
- addi sp, sp, 0x10
- blr
-
-
-.global CheckHammerLimit
-CheckHammerLimit:
- stwu sp, -0x10(sp)
- mflr r0
- stw r0, 0x14(sp)
- stw r31, 0xC(sp)
- stw r30, 0x8(sp)
-
- # r30 = player number
- mr r30, r3
- addi r30, r30, 0x100
-
- # r31 = hammer count so far
- li r31, 0
-
- # search for every Hammer
-
- li r3, 0
- b startOrContinueLoop
-loop:
-
- lwz r4, 0x458(r3)
- cmpw r4, r30
- bne startOrContinueLoop
-
- addi r31, r31, 1
-
-startOrContinueLoop:
- mr r4, r3
- li r3, 0x73
- bl Actor_SearchByName
-
- cmpwi r3, 0
- bne loop
-
- # now if the current count is >= 2, return 0
- # otherwise return 1
- cmpwi r31, 2
- bge tooManyHammers
-
- li r3, 1
- b gotHammerStatus
-
-tooManyHammers:
- li r3, 0
-
-gotHammerStatus:
- lwz r0, 0x14(sp)
- lwz r31, 0xC(sp)
- lwz r30, 0x8(sp)
- mtlr r0
- addi sp, sp, 0x10
- blr
-
-
-
-.global FixPowerupSound
-FixPowerupSound:
- # WARNING! This is a bad, bad, bad hack.
- # I was too lazy to add anything to the linker script, so...
-
- # We branch at 80141334, so our LR is 80141338
- # We need to jump to 80141384
- mflr r3
- addi r3, r3, 0x4C
- mtlr r3
-
- lwz r0, 0x1090(r29)
- lis r3, PowerupSounds@h
- ori r3, r3, PowerupSounds@l
- slwi r4, r0, 2
- lwzx r4, r3, r4
- mr r3, r29
- li r5, 0
-
- blr
-
-
-
-
-
-.data
-
-PowerupSounds:
- .long 273, 274, 274, 275, 276, 277, 274, 274
-
-SomeTable:
- .long SomeTable_802F5580
- .long SomeTable_802F56C0
- .long SomeTable_802F56C0
- .long SomeTable_802F5440
- .long SomeTable_802F56C0
- .long SomeTable_802F56C0
- .long SomeTable_802F56C0
- .long SomeTable_802F56C0
-
-ZeroFloat:
- .float 0.0
-
-OneFloat:
- .float 1.0
-
-FukidashiTable2:
- .float 20.0, 32.0, 32.0, 12.0, 38.0, 33.0, 32.0, 32.0
- .float 20.0, 34.0, 34.0, 12.0, 39.0, 35.0, 34.0, 34.0
- .float 20.0, 29.0, 29.0, 11.0, 34.0, 29.0, 29.0, 29.0
- .float 20.0, 29.0, 29.0, 11.0, 34.0, 29.0, 29.0, 29.0
-
-PlayerHeightsNormal:
- .float 16.0, 27.0, 27.0, 12.0, 27.0, 27.0, 27.0, 27.0
-
-PlayerHeightsDucking:
- .float 13.0, 21.0, 21.0, 9.0, 21.0, 21.0, 21.0, 21.0
-
-WtfEverTable:
- .float 4.5, 10.0, 10.0, 1.0, 10.0, 9.0, 10.0, 10.0
-
-YetAnotherTable:
- .float 0.0, -4.0, -4.0, 4.0, -6.0, -2.0, -4.0, -4.0
-
-WeirdScaleTable:
- .float 16.0, 31.0, 31.0, 6.0, 34.0, 31.0, 31.0, 31.0
-
-AsdfTable:
- .byte 1, 2, 2, 0, 2, 2, 2, 2
-
-BlahTableOffsets:
- .long 1, 2, 2, 0, 3, 2, 2, 2
-
-PowerupScaleFloats:
- .long 0xDEADBEEF, 0xDEADBEEF # padding
- .float 1.0
- .float 1.0
- .float 1.0
- .float 0.6
- .float 1.0
- .float 1.0
- .float 1.0
- .float 1.0
-
-PowerupTextures:
- .float 0.0
- .float 1.0
- .float 2.0
- .float 3.0
-
-.global BrosArcFileName
-BrosArcFileName:
- .string "bros"
-
-.global I_hammerArcFilename
-I_hammerArcFilename:
- .string "I_hammer"
-
-.global I_hammerResFile
-I_hammerResFile:
-# .string "g3d/I_hammer.brres"
- .string "g3d/I_fireflower.brres"
-
-.global I_hammerModelName
-I_hammerModelName:
-# .string "I_hammer"
- .string "I_fireflower"
-
-
-PowerupTexDebugStr:
- .string "Plumber::SetPowerupTexture() called on class %p with texnum %d lr=%p\n"
-
-#.global BrosModelFilename
-#BrosModelFilename:
-# .string "g3d/bros.brres"
-
-#.global HammerModelName
-#HammerModelName:
-# .string "bros_hammer"
+.text
+.align 4
+.set sp, 1
+
+.extern returnFromGPSFASixth
+.extern daEnItem_c__GetWhetherPlayerCanGetPowerupOrNot
+.extern dAcPy_c__ChangePowerupWithAnimation
+.extern PlayPlayerSound
+.extern CreateActor
+.extern PlayerProjectileShooting
+.extern Actor_SearchByName
+.extern SomeTable_802F5440
+.extern SomeTable_802F5580
+.extern SomeTable_802F56C0
+.extern BlahTable
+.extern continuePlumberSetPowerupTexture
+.extern doneSettingThePowerupTexture
+.extern doneSettingThePowerupTexture2
+.extern returnFromPowerupSoundChange
+
+#ifndef __MWERKS__
+.set r0,0; .set r1,1; .set r2,2; .set r3,3; .set r4,4
+.set r5,5; .set r6,6; .set r7,7; .set r8,8; .set r9,9
+.set r10,10; .set r11,11; .set r12,12; .set r13,13; .set r14,14
+.set r15,15; .set r16,16; .set r17,17; .set r18,18; .set r19,19
+.set r20,20; .set r21,21; .set r22,22; .set r23,23; .set r24,24
+.set r25,25; .set r26,26; .set r27,27; .set r28,28; .set r29,29
+.set r30,30; .set r31,31; .set f0,0; .set f2,2; .set f3,3
+.set f1,1; .set f30,30; .set f31,31
+#endif
+
+.global GetInfoFromDumbTable
+GetInfoFromDumbTable:
+ lis r3, SomeTable@h
+ ori r3, r3, SomeTable@l
+
+ slwi r4, r4, 2
+ slwi r0, r5, 6
+
+ lwzx r3, r3, r4
+ add r3, r3, r0
+ blr
+
+
+
+
+.global FukidashiFix
+FukidashiFix:
+ lis r7, ZeroFloat@h
+ ori r7, r7, ZeroFloat@l
+
+ lis r8, FukidashiTable2@h
+ ori r8, r8, FukidashiTable2@l
+
+ mulli r6, r4, 0x20
+ slwi r0, r5, 2
+ add r0, r0, r6
+
+ lfs f0, 0(r7)
+ lfsx f1, r8, r0
+
+ stfs f0, 0x1DC(r3)
+ stfs f1, 0x1E0(r3)
+ stfs f0, 0x1E4(r3)
+
+ blr
+
+
+
+
+.global PlayerGetHeight
+PlayerGetHeight:
+ lwz r0, 0x14D4(r3)
+
+ lwz r4, 0x1090(r3)
+ slwi r4, r4, 3
+
+ cmpwi r0, 0
+ beq useNormal
+ cmpwi r0, 1
+ bne useDucking
+
+useNormal:
+ lis r3, PlayerHeightsNormal@h
+ ori r3, r3, PlayerHeightsNormal@l
+ b gotOffset
+
+useDucking:
+ lis r3, PlayerHeightsDucking@h
+ ori r3, r3, PlayerHeightsDucking@l
+
+gotOffset:
+ lfsx f1, r3, r4
+ blr
+
+
+
+.global WtfEver
+WtfEver:
+ lis r3, WtfEverTable@h
+ ori r3, r3, WtfEverTable@l
+ lfsx f0, r3, r0
+ blr
+
+
+
+.global YetAnother
+YetAnother:
+ lis r3, YetAnotherTable@h
+ ori r3, r3, YetAnotherTable@l
+ lfsx f0, r3, r0
+ blr
+
+
+
+
+.global GetWeirdScaleTable
+GetWeirdScaleTable:
+ lis r5, WeirdScaleTable@h
+ ori r5, r5, WeirdScaleTable@l
+ lfsx f1, r5, r0
+ blr
+
+
+
+
+
+.global GetAsdfTable
+GetAsdfTable:
+ extsb r0, r4
+ cmpwi r0, -1
+ bne dontGetThisOne
+
+ lwz r0, 0x1090(r3)
+ extsb r4, r0
+
+dontGetThisOne:
+ extsb r0, r4
+
+ lis r3, AsdfTable@h
+ ori r3, r3, AsdfTable@l
+ lbzx r3, r3, r0
+
+ blr
+
+
+
+
+
+.global GetBlahTableOffset
+GetBlahTableOffset:
+ lis r5, BlahTableOffsets@h
+ ori r5, r5, BlahTableOffsets@l
+ lwzx r30, r5, r4
+ blr
+
+
+.global DealWithBlahTable
+DealWithBlahTable:
+ lis r5, BlahTableOffsets@h
+ ori r5, r5, BlahTableOffsets@l
+
+ # points to BlahTable
+ lis r4, BlahTable@h
+ ori r4, r4, BlahTable@l
+
+ # get blahtableoffset entry based on powerup
+ lwz r0, 0x1090(r3)
+ slwi r0, r0, 2
+ lwzx r0, r5, r0
+
+ # now get the entry from the blahtable
+ slwi r0, r0, 2
+ lwzx r4, r4, r0
+
+ # do shit here
+
+ lfs f3, 0(r4)
+ stfs f3, 0x14E4(r3)
+ stfs f3, 0x164(r3)
+
+ lfs f1, 0x2A70(r3)
+ lfs f0, 0x2A74(r3)
+
+ lfs f2, 4(r4)
+ fadds f1, f2, f1
+ fadds f0, f0, f1
+ stfs f0, 0x14E8(r3)
+ stfs f0, 0x168(r3)
+
+ lfs f0, 0x8(r4)
+ lfs f1, 0xC(r4)
+ stfs f0, 0x16C(r3)
+ stfs f1, 0x170(r3)
+
+ # hope I did this right
+ blr
+
+
+
+
+
+.global GetPowerupScaleFloatAddr_r6_trash_r0_valshl2_r4_dest
+GetPowerupScaleFloatAddr_r6_trash_r0_valshl2_r4_dest:
+ lis r6, PowerupScaleFloats@h
+ ori r6, r6, PowerupScaleFloats@l
+ add r4, r6, r0
+ blr
+
+.global GetPowerupScaleFloatAddr_r6_trash_r0_valshl2_r3_dest
+GetPowerupScaleFloatAddr_r6_trash_r0_valshl2_r3_dest:
+ lis r6, PowerupScaleFloats@h
+ ori r6, r6, PowerupScaleFloats@l
+ add r3, r6, r0
+ blr
+
+.global GetPowerupScaleFloatAddr_r8_trash_r0_valshl2_r7_dest
+GetPowerupScaleFloatAddr_r8_trash_r0_valshl2_r7_dest:
+ lis r8, PowerupScaleFloats@h
+ ori r8, r8, PowerupScaleFloats@l
+ add r7, r8, r0
+ blr
+
+.global GetPowerupScaleFloatAddr_fixForSixth
+GetPowerupScaleFloatAddr_fixForSixth:
+ lis r5, PowerupScaleFloats@h
+ ori r5, r5, PowerupScaleFloats@l
+ add r4, r5, r4
+ b returnFromGPSFASixth
+
+
+
+.global PlumberSetPowerupFix
+PlumberSetPowerupFix:
+ lbz r0, 0x152(r31) # get powerup id
+
+ cmpwi r0, 2
+ beq doFireTex
+
+ cmpwi r0, 6
+ beq doIceTex
+
+ cmpwi r0, 7
+ beq doHammerTex
+
+ li r4, 0
+ b gotTexID
+
+doFireTex:
+ li r4, 1
+ b gotTexID
+
+doIceTex:
+ li r4, 2
+ b gotTexID
+
+doHammerTex:
+ li r4, 3
+
+gotTexID:
+ lwz r12, 0(r31)
+ mr r3, r31
+ lwz r12, 0x34(r12)
+ mtctr r12
+ bctrl
+
+ b doneSettingThePowerupTexture
+
+
+
+.global PlumberSetPowerupFix2
+PlumberSetPowerupFix2:
+ cmpwi r31, 2
+ beq doFireTex2
+
+ cmpwi r31, 6
+ beq doIceTex2
+
+ cmpwi r31, 7
+ beq doHammerTex2
+
+ li r4, 0
+ b gotTexID2
+
+doFireTex2:
+ li r4, 1
+ b gotTexID2
+
+doIceTex2:
+ li r4, 2
+ b gotTexID2
+
+doHammerTex2:
+ li r4, 3
+
+gotTexID2:
+ lwz r3, 0x2A64(r30)
+ lwz r12, 0(r3)
+ lwz r12, 0x34(r12)
+ mtctr r12
+ bctrl
+
+ b doneSettingThePowerupTexture2
+
+
+
+
+.global PlumberSetPowerupTextureDebug
+.extern OSReport
+.extern continuePlumberSetPowerupTextureDebug
+PlumberSetPowerupTextureDebug:
+ stwu sp, -0x30(sp)
+ mflr r0
+ stw r0, 0x34(sp)
+ stw r3, 0x20(sp)
+ stw r4, 0x24(sp)
+
+ mr r6, r0
+ mr r5, r4
+ mr r4, r3
+ lis r3, PowerupTexDebugStr@h
+ ori r3, r3, PowerupTexDebugStr@l
+ crclr 4*cr1+eq
+ bl OSReport
+
+ lwz r3, 0x20(sp)
+ lwz r4, 0x24(sp)
+ lwz r0, 0x34(sp)
+ mtlr r0
+ addi sp, sp, 0x30
+
+ stwu sp, -0x30(sp)
+
+ b continuePlumberSetPowerupTextureDebug
+
+
+
+
+
+.global PlumberSetPowerupTextureFix
+PlumberSetPowerupTextureFix:
+ stb r4, 0x153(r3)
+
+ lis r5, PowerupTextures@h
+ ori r5, r5, PowerupTextures@l
+
+ slwi r4, r4, 2
+ lfsx f31, r5, r4
+
+ b continuePlumberSetPowerupTexture
+
+
+
+.global SetHammerToEnItemDCA
+SetHammerToEnItemDCA:
+ bl daEnItem_c__GetWhetherPlayerCanGetPowerupOrNot
+ cmpwi r3, 1
+ bne DontSetHammer
+
+ li r0, 5
+ sth r0, 0xDCA(r31)
+
+DontSetHammer:
+ lwz r0, 0x14(sp)
+ lwz r31, 0xC(sp)
+ mtlr r0
+ addi sp, sp, 0x10
+ blr
+
+.global SetHammerToEnItemDCASpecial
+SetHammerToEnItemDCASpecial:
+ cmplwi r4, 0x19
+ b _not19
+ li r0, 0xD
+ sth r0, 0xDCA(r3)
+_not19:
+ cmplwi r4, 6
+ bnelr
+ li r0, 5
+ sth r0, 0xDCA(r3)
+ blr
+
+
+#.global EnItem_BindAnimation_Fix
+#EnItem_BindAnimation_Fix:
+# lhz r0, 0xDCA(r3)
+# cmpwi r0, 5
+# beqlr
+# stwu sp, -0x20(sp)
+# b EnItem_BindAnimation_Continued
+
+
+.global FixPowerupSound
+FixPowerupSound:
+ #lis r3, DBString@h
+ #ori r3, r3, DBString@l
+ #lwz r4, 0x1090(r29)
+ #crclr 4*cr1+eq
+ #bl OSReport
+
+ lwz r5, 0x14DC(r29) # Original powerup
+ lwz r0, 0x1090(r29) # New powerup
+ # if NEW is 1 (big) and OLD is not 0 or 3, then play 273 (powerdown)
+ cmpwi r0, 1
+ bne dontConsiderPowerdown
+
+ cmpwi r5, 0
+ beq dontConsiderPowerdown
+ cmpwi r5, 3
+ beq dontConsiderPowerdown
+ # If the player is here, he was downgraded from a higher powerup to Big Mario
+ # So play the powerdown sound
+ mr r3, r29
+ li r4, 273
+ li r5, 0
+ b returnFromPowerupSoundChange
+
+dontConsiderPowerdown:
+ lis r3, PowerupSounds@h
+ ori r3, r3, PowerupSounds@l
+ slwi r4, r0, 2
+ lwzx r4, r3, r4
+ mr r3, r29
+ li r5, 0
+
+ b returnFromPowerupSoundChange
+
+
+.global WeirdAnimLoadHack
+WeirdAnimLoadHack:
+ cmplwi r4, 5 #hammersuit
+ beqlr
+ cmplwi r4, 6 #1up
+ beqlr
+ # neither of those succeeded
+ crclr 4*cr0+eq
+ blr
+
+
+
+.global TryToGiveMarioHammerSuit
+TryToGiveMarioHammerSuit:
+ stwu sp, -0x10(sp)
+ mflr r0
+ stw r0, 0x14(sp)
+
+ # check the obtained item number
+ cmplwi r3, 5
+ bne IsntGettingHammerSuit
+
+ # check the current player powerup
+ cmplwi r4, 7
+ bne DontHaveHammerSuit
+
+ li r28, 0
+ li r29, 2
+ b ReturnFromTTGMHS
+
+DontHaveHammerSuit:
+ mr r3, r30
+ li r4, 7
+ bl dAcPy_c__ChangePowerupWithAnimation
+
+ cmpwi r3, 0
+ beq ReturnFromTTGMHS
+
+ li r29, 1
+
+IsntGettingHammerSuit:
+ReturnFromTTGMHS:
+ # end of function
+ lwz r0, 0x14(sp)
+ mtlr r0
+ addi sp, sp, 0x10
+
+ # leftover instruction from what we replaced to add the bl
+ cmpwi r29, 0
+ blr
+
+
+
+.global ThrowHammer
+ThrowHammer:
+ # continues on from PlayerProjectileShooting
+
+ # get powerup
+ lwz r3, 0x1090(r30)
+ cmplwi r3, 7
+ bne ReturnFromThrowHammer
+
+ mr r3, r30
+ li r4, 498
+ li r5, 0
+ bl PlayPlayerSound
+
+ li r3, 0x73 # Hammer
+ li r4, 0 # Settings
+ addi r5, sp, 0x2C # Position
+ li r6, 0 # Rotation
+ lbz r7, 0x38F(r30) # Layer
+ bl CreateActor
+
+ # Store player ID
+ lwz r4, 0(r30)
+ stw r4, 0x450(r3)
+
+ # store player number, but add 0x100 to differentiate it from 0
+ lbz r4, 0x38D(r30)
+ addi r4, r4, 0x100
+ stw r4, 0x458(r3)
+
+ # Fix scale
+ lis r4, OneFloat@h
+ ori r4, r4, OneFloat@l
+ lfs f0, 0(r4)
+ stfs f0, 0xDC(r3)
+ stfs f0, 0xE0(r3)
+ stfs f0, 0xE4(r3)
+
+ mr r4, r30
+ lwz r12, 0x60(r3)
+ lwz r12, 0x8C(r12)
+ mtctr r12
+ bctrl
+
+ReturnFromThrowHammer:
+ lwz r0, 0xC4(sp)
+ psq_l f31, 0xB8(sp), 1, 0
+ lfd f31, 0xB0(sp)
+ psq_l f30, 0xA8(sp), 1, 0
+ lfd f30, 0xA0(sp)
+ lwz r31, 0x9C(sp)
+ lwz r30, 0x98(sp)
+ mtlr r0
+ addi sp, sp, 0xC0
+ blr
+
+
+
+.global MoreProjectileStuff_Fix
+MoreProjectileStuff_Fix:
+ lwz r3, 0x1090(r31)
+ cmplwi r3, 7
+ bne ReturnFromMPSFix
+
+ mr r3, r31
+ li r4, 1
+ bl PlayerProjectileShooting
+
+ReturnFromMPSFix:
+ lwz r0, 0x14(sp)
+ lwz r31, 0xC(sp)
+ mtlr r0
+ addi sp, sp, 0x10
+ blr
+
+
+
+.global ProjectileShootCheck_Fix
+ProjectileShootCheck_Fix:
+ lwz r3, 0x1090(r31)
+ cmplwi r3, 7
+ bne Return0fromPSCFix
+
+ lbz r3, 0x38D(r31)
+ li r4, 0
+ extsb r3, r3
+ bl CheckHammerLimit
+
+ cmpwi r3, 0
+ beq Return0fromPSCFix
+
+ b Return1fromPSCFix
+
+Return0fromPSCFix:
+ li r3, 0
+ b ReturnFromPSCFix
+
+Return1fromPSCFix:
+ li r3, 1
+
+ReturnFromPSCFix:
+ lwz r0, 0x14(sp)
+ lwz r31, 0xC(sp)
+ mtlr r0
+ addi sp, sp, 0x10
+ blr
+
+
+.global CheckHammerLimit
+CheckHammerLimit:
+ stwu sp, -0x10(sp)
+ mflr r0
+ stw r0, 0x14(sp)
+ stw r31, 0xC(sp)
+ stw r30, 0x8(sp)
+
+ # r30 = player number
+ mr r30, r3
+ addi r30, r30, 0x100
+
+ # r31 = hammer count so far
+ li r31, 0
+
+ # search for every Hammer
+
+ li r3, 0
+ b startOrContinueLoop
+loop:
+
+ lwz r4, 0x458(r3)
+ cmpw r4, r30
+ bne startOrContinueLoop
+
+ addi r31, r31, 1
+
+startOrContinueLoop:
+ mr r4, r3
+ li r3, 0x73
+ bl Actor_SearchByName
+
+ cmpwi r3, 0
+ bne loop
+
+ # now if the current count is >= 2, return 0
+ # otherwise return 1
+ cmpwi r31, 2
+ bge tooManyHammers
+
+ li r3, 1
+ b gotHammerStatus
+
+tooManyHammers:
+ li r3, 0
+
+gotHammerStatus:
+ lwz r0, 0x14(sp)
+ lwz r31, 0xC(sp)
+ lwz r30, 0x8(sp)
+ mtlr r0
+ addi sp, sp, 0x10
+ blr
+
+
+
+
+
+
+.data
+
+PowerupSounds:
+ .long 273, 274, 274, 275, 276, 277, 274, 274
+
+
+SomeTable:
+ .long SomeTable_802F5580
+ .long SomeTable_802F56C0
+ .long SomeTable_802F56C0
+ .long SomeTable_802F5440
+ .long SomeTable_802F56C0
+ .long SomeTable_802F56C0
+ .long SomeTable_802F56C0
+ .long SomeTable_802F56C0
+
+ZeroFloat:
+ .float 0.0
+
+OneFloat:
+ .float 1.0
+
+FukidashiTable2:
+ .float 20.0, 32.0, 32.0, 12.0, 38.0, 33.0, 32.0, 32.0
+ .float 20.0, 34.0, 34.0, 12.0, 39.0, 35.0, 34.0, 34.0
+ .float 20.0, 29.0, 29.0, 11.0, 34.0, 29.0, 29.0, 29.0
+ .float 20.0, 29.0, 29.0, 11.0, 34.0, 29.0, 29.0, 29.0
+
+PlayerHeightsNormal:
+ .float 16.0, 27.0, 27.0, 12.0, 27.0, 27.0, 27.0, 27.0
+
+PlayerHeightsDucking:
+ .float 13.0, 21.0, 21.0, 9.0, 21.0, 21.0, 21.0, 21.0
+
+WtfEverTable:
+ .float 4.5, 10.0, 10.0, 1.0, 10.0, 9.0, 10.0, 10.0
+
+YetAnotherTable:
+ .float 0.0, -4.0, -4.0, 4.0, -6.0, -2.0, -4.0, -4.0
+
+WeirdScaleTable:
+ .float 16.0, 31.0, 31.0, 6.0, 34.0, 31.0, 31.0, 31.0
+
+AsdfTable:
+ .byte 1, 2, 2, 0, 2, 2, 2, 2
+
+BlahTableOffsets:
+ .long 1, 2, 2, 0, 3, 2, 2, 2
+
+PowerupScaleFloats:
+ .long 0xDEADBEEF, 0xDEADBEEF # padding
+ .float 1.0
+ .float 1.0
+ .float 1.0
+ .float 0.6
+ .float 1.0
+ .float 1.0
+ .float 1.0
+ .float 1.0
+
+PowerupTextures:
+ .float 0.0
+ .float 1.0
+ .float 2.0
+ .float 3.0
+
+.global BrosArcFileName
+BrosArcFileName:
+ .string "bros"
+
+.global I_hammerArcFilename
+I_hammerArcFilename:
+ .string "I_hammer"
+
+.global I_hammerResFile
+I_hammerResFile:
+# .string "g3d/I_hammer.brres"
+ .string "g3d/I_fireflower.brres"
+
+.global I_hammerModelName
+I_hammerModelName:
+# .string "I_hammer"
+ .string "I_fireflower"
+
+
+PowerupTexDebugStr:
+ .string "Plumber::SetPowerupTexture() called on class %p with texnum %d lr=%p\n"
+
+DBString:
+ .string "PW:%d\n"
+
+#.global BrosModelFilename
+#BrosModelFilename:
+# .string "g3d/bros.brres"
+
+#.global HammerModelName
+#HammerModelName:
+# .string "bros_hammer"