From e86081a64a2f2fc3e3d0d4974572702b158dfd64 Mon Sep 17 00:00:00 2001 From: Treeki Date: Sun, 14 Aug 2011 14:44:56 +0200 Subject: fixed powerup sound --- kamek_ntsc.x | 8 +- kamek_ntsc2.x | 8 +- kamek_pal.x | 2094 +++++++++++++++++++++++++++--------------------------- kamek_pal2.x | 8 +- poweruphax.yaml | 838 +++++++++++++++------- src/poweruphax.S | 1474 +++++++++++++++++++------------------- 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" -- cgit v1.2.3