smw/smbll/smbll_funcs.h

739 lines
28 KiB
C

// Bank 0
uint8 Smbll_BBChk_E(uint8 k, uint8 j, uint8 a);
uint8 Smbll_BlockBufferChk_Enemy(uint8 k, uint8 j, uint8 a);
uint8 Smbll_BlockBufferChk_FBall(uint8 k);
uint8 Smbll_BlockBufferColli_Feet(uint8 j);
uint8 Smbll_BlockBufferColli_Head(uint8 j);
uint8 Smbll_BlockBufferColli_Side(uint8 j);
uint8 Smbll_BlockBufferCollision(uint8 k, uint8 j, uint8 a);
uint8 Smbll_BlockBumpedChk(uint8 a);
uint8 Smbll_BoundingBoxCore(uint8 k, uint8 j);
uint8 Smbll_CODE_03AA4D(uint8 k);
uint8 Smbll_CODE_03EB81(uint8 j, uint8 a);
uint8 Smbll_CheckForClimbMTiles(uint8 a);
uint8 Smbll_CheckForCoinMTiles(uint8 a);
uint8 Smbll_CheckForSolidMTiles(uint8 a);
uint8 Smbll_CheckPlayerVertical(void);
uint8 Smbll_CheckTopOfBlock(void);
uint8 Smbll_ChkForNonSolids(uint8 a);
uint8 Smbll_ChkInvisibleMTiles(uint8 a);
uint8 Smbll_ChkJumpspringMetatiles(uint8 a);
uint16 Smbll_ChkLrgObjFixedLength(uint8 k, uint8 j);
uint16 Smbll_ChkLrgObjLength(uint8 k);
uint8 Smbll_ChkUnderEnemy(uint8 k);
uint8 Smbll_ComputeDigitValue(uint8 a);
uint8 Smbll_DividePDiff(uint8 k, uint8 j, uint8 a);
uint8 Smbll_DrawLargePlatform_Next(uint8 j);
uint8 Smbll_DrawLevelPreviewSprites_Sub2(void);
uint8 Smbll_DrawLevelPreviewSprites_Sub4(uint8 k, uint8 j);
uint8 Smbll_DrawOneSpriteRow(uint8 k, uint8 j, uint8 a);
uint8 Smbll_DrawOneSpriteRow_(uint8 j, uint8 a);
uint8 Smbll_DrawOneSpriteRow_Sub(uint8 j);
uint8 Smbll_DrawPlayerLoop(uint8 k, uint8 j);
uint8 Smbll_EnemyFacePlayer(uint8 k);
uint8 Smbll_FindEmptyEnemySlot(void);
uint8 Smbll_FindEmptyEnemySlotRev(void);
uint8 Smbll_FindEmptyEnemySlot_Far(void);
uint8 Smbll_FindEmptyMiscSlot(void);
uint8 Smbll_FirebarSpin(uint8 k, uint8 a);
uint8 Smbll_GetAreaObjXPosition(void);
uint8 Smbll_GetAreaObjXPosition_Far(void);
uint8 Smbll_GetAreaObjYPosition(void);
uint8 Smbll_GetAreaObjectID(void);
uint8 Smbll_GetCurrentAnimOffset(uint8 j);
uint8 Smbll_GetEnemyBoundBoxOfs(void);
uint8 Smbll_GetEnemyBoundBoxOfsArg(uint8 a);
uint8 Smbll_GetGfxOffsetAdder(uint8 j);
uint8 Smbll_GetLrgObjAttrib(uint8 k);
uint8 Smbll_GetMTileAttrib(uint8 a);
uint8 Smbll_GetObjRelativePosition(uint8 k, uint8 j);
uint8 Smbll_GetProperObjOffset(uint8 k, uint8 j);
uint8 Smbll_GetScreenPosition(void);
uint8 Smbll_GetXOffscreenBits(uint8 k);
uint8 Smbll_HandleChangeSize(void);
uint8 Smbll_MoveEnemyHoriz(uint8 k);
uint8 Smbll_MoveObjectHoriz(uint8 k);
uint8 Smbll_MovePlayerHoriz(void);
uint8 Smbll_PlayerCollisionCore(uint8 j);
uint8 Smbll_PlayerEnemyDiff(uint8 k);
uint8 Smbll_PlayerLakituDiff(uint8 k);
uint8 Smbll_ProcessPlayerAction(void);
uint8 Smbll_RelativeEnemyPosition(uint8 k);
uint8 Smbll_RenderUnderPart(uint8 k, uint8 j, uint8 a);
void Smbll_RunGameOver_Sub(void);
uint8 Smbll_RunOffscrBitsSubs(uint8 k);
uint8 Smbll_SetFlameTimer(void);
uint8 Smbll_SetupFloateyNumber(uint8 k, uint8 a);
uint8 Smbll_SpawnThrownHammer(uint8 k);
uint8 Smbll_SprObjectCollisionCore(uint8 k, uint8 j);
uint8 Smbll_SubtEnemyYPos(uint8 k);
uint8 Smbll_TransposePlayers(void);
uint8 Smbll_VariableObjOfsRelPos(uint8 k, uint8 j, uint8 a);
uint8 Smbll_WriteGameText(uint8 a);
void Smbll_AddToScore(void);
void Smbll_AreaParserTaskControl(void);
void Smbll_AreaParserTaskHandler(void);
void Smbll_AreaParserTasks(uint8 a);
void Smbll_AutoControlPlayer(uint8 a);
void Smbll_BalPlatform_Init(uint8 k);
void Smbll_BalancePlatform(uint8 k);
void Smbll_BlockObjMT_Updater(void);
void Smbll_BlockObjectsCore(uint8 k);
void Smbll_Blooper_Init(uint8 k);
void Smbll_BowserFlame_Init(uint8 k);
void Smbll_BowserGfxHandler(uint8 k);
void Smbll_Bowser_Init(uint8 k);
void Smbll_BrickShatter(void);
void Smbll_BrickWithItem(uint8 k);
void Smbll_BridgeCollapse(void);
void Smbll_BridgeCollapse_Sub(uint8 a);
void Smbll_BubbleCheck(uint8 k);
void Smbll_BulletBillCheepCheep(uint8 k);
void Smbll_BulletBillHandler(uint8 k);
void Smbll_BulletBillSfxHandler(uint8 k, uint8 a);
void Smbll_BulletBill_Init(uint8 k);
void Smbll_BulletBill_MoveNew(uint8 k);
void Smbll_BumpBlock(void);
void Smbll_CODE_03A142(void);
void Smbll_CODE_03A1EF(void);
void Smbll_CODE_03A28F(void);
void Smbll_CODE_03AAA4(uint8 k, uint8 a);
void Smbll_CODE_03AABA(uint8 k, uint8 a);
void Smbll_CODE_03AB55(uint8 k, uint8 a);
void Smbll_CODE_03AD74(void);
void Smbll_CODE_03AE2C(void);
void Smbll_CODE_03C35C(void);
void Smbll_CODE_03C36E(void);
void Smbll_CODE_03CEC7(uint8 k, uint8 j);
void Smbll_CODE_03CEE9(uint8 k);
void Smbll_CODE_03D809(void);
void Smbll_CODE_03E2CE(uint8 k, uint8 a);
void Smbll_CODE_03EC3C(uint8 j, uint8 a);
void Smbll_CODE_03F313(uint8 k, uint8 a);
void Smbll_CODE_03F326(uint8 k, uint8 a);
void Smbll_CODE_03FEE5(uint8 j);
void Smbll_CODE_8E50(void);
void Smbll_CheckRightScreenBBox(uint8 k, uint8 j);
void Smbll_CheckpointEnemyID(uint8 k);
void Smbll_CheepCheep_Init(uint8 k);
void Smbll_ChgAreaMode(void);
void Smbll_ChkForBump_HammerBroJ(uint8 k);
void Smbll_ChkForLandJumpSpring(uint8 a);
void Smbll_ChkForPlayerC_LargeP(uint8 k);
void Smbll_ChkForPlayerInjury(uint8 k);
void Smbll_ChkSmallPlatCollision(uint8 k);
void Smbll_ChkToStunEnemies(uint8 k, uint8 a);
void Smbll_ChkYPCollision(uint8 k);
void Smbll_ClearAllOams(void);
void Smbll_ClearBowserVar0F4(void);
void Smbll_ClearBuffersDrawIcon(void);
void Smbll_ColorRotation(void);
void Smbll_ContinueGame(void);
void Smbll_CreateSpiny(uint8 k, uint8 j);
void Smbll_CyclePlayerPalette(uint8 a);
void Smbll_DecodeAreaData(uint8 k, uint16 j);
void Smbll_DelayToAreaEnd(uint8 k);
void Smbll_DestroyBlockMetatile(void);
void Smbll_DigitsMathRoutine(uint8 j);
void Smbll_DisplayCopyDetectionErrorMessage_(void);
void Smbll_DoChangeSize(void);
void Smbll_DoEnemySideCheck(uint8 k);
void Smbll_DoSomeDigitsStuff(void);
void Smbll_DoSwitchJump(void);
void Smbll_DonePlayerTask(void);
void Smbll_DrawBlock(uint8 k);
void Smbll_DrawBrickChunks(uint8 k);
void Smbll_DrawEnemyObjRow(uint8 k, uint8 j);
void Smbll_DrawExplodingPlayerFireball(uint8 k);
void Smbll_DrawExplosion_Fireworks(uint8 j, uint8 a);
void Smbll_DrawFireball(uint8 k);
void Smbll_DrawFirebar(uint8 j);
void Smbll_DrawFirebar_Collision(void);
void Smbll_DrawFlagSetTimer(uint8 k);
void Smbll_DrawLakituAboveSpinyInLevelPreview(uint8 k);
void Smbll_DrawLargePlatform(uint8 k);
void Smbll_DrawLargePlatform_DrawOne(uint8 j);
void Smbll_DrawLevelPreviewSprites(void);
void Smbll_DrawLevelPreviewSprites_Sub(uint8 j);
void Smbll_DrawLevelPreviewSprites_Sub3(uint8 k, uint8 a);
void Smbll_DrawLevelPreviewSprites_Sub5(uint8 k);
void Smbll_DrawLevelPreviewSprites_Sub6(uint8 k);
void Smbll_DrawLevelPreviewSprites_Sub_New(void);
void Smbll_DrawPowerUp(void);
void Smbll_DrawSmallPlatform(uint8 k);
void Smbll_DrawStarFlag(uint8 k);
void Smbll_DropPlatform(uint8 k);
void Smbll_DumpFourSpr(uint8 j, uint8 a);
void Smbll_DumpSixSpr(uint8 j, uint8 a);
void Smbll_DumpThreeSpr(uint8 j, uint8 a);
void Smbll_DumpTwoSpr(uint8 j, uint8 a);
void Smbll_DumpTwoSpr_(uint8 j, uint8 a);
void Smbll_DuplicateEnemyObj(uint8 k);
void Smbll_Emulation_mode_RESET(void);
void Smbll_EndAreaPoints(void);
void Smbll_EndFrenzy(uint8 k);
void Smbll_EndOfEnemyInitCode(uint8 k);
void Smbll_EnemiesAndLoopsCore(uint8 k);
void Smbll_EnemiesCollision(uint8 k);
void Smbll_EnemyGfxHandler_New(uint8 k);
void Smbll_EnemyJump(uint8 k);
void Smbll_EnemyLanding(uint8 k);
void Smbll_EnemyMovementSubs(uint8 k);
void Smbll_EnemyToBGCollisionDet(uint8 k);
void Smbll_EnemyTurnAround(uint8 k);
void Smbll_EnterSidePipe(void);
void Smbll_Entrance_GameTimerSetup(void);
void Smbll_EraseCoinMetatile(void);
void Smbll_EraseEnemyObject(uint8 k);
void Smbll_EraseEnemyObject2(uint8 k);
void Smbll_ExecGameLoopback(uint8 j);
void Smbll_ExtObj01_GrassyOrMushroomPlatform(uint8 k);
void Smbll_ExtObj02_RowOfBricks(uint8 k);
void Smbll_ExtObj03_RowOfSolidBlocks(uint8 k);
void Smbll_ExtObj04_RowOfCoins(uint8 k);
void Smbll_ExtObj05_ColumnOfBricks(uint8 k);
void Smbll_ExtObj06_ColumnOfSolidBlocks(uint8 k);
void Smbll_ExtObj07_VerticalPipe(uint8 k);
void Smbll_ExtObj08_Hole(uint8 k);
void Smbll_ExtObj09_PulleyRope_(uint8 k);
void Smbll_ExtObj0A_Bridge_High(uint8 k);
void Smbll_ExtObj0B_Bridge_Low(uint8 k);
void Smbll_ExtObj0B_Bridge_Middle(uint8 k);
void Smbll_ExtObj0D_HoleWater(uint8 k);
void Smbll_ExtObj0E_QuestionBlockHigh(uint8 k);
void Smbll_ExtObj0E_QuestionBlockLow(uint8 k);
void Smbll_ExtObj18_QuestionBlock(uint8 k);
void Smbll_ExtObj19_Hidden1upBlock(uint8 k);
void Smbll_ExtObj1D_BrickWith10Coins(uint8 k);
void Smbll_ExtObj1F_WaterPipe(uint8 k);
void Smbll_ExtObj20_EmptyBlock(uint8 k);
void Smbll_ExtObj21_Jumpspring(uint8 k);
void Smbll_ExtObj22_IntroPipe(uint8 k);
void Smbll_ExtObj23_FlagpoleObject(uint8 j);
void Smbll_ExtObj24_AxeObj(uint8 k);
void Smbll_ExtObj25_ChainObj(uint8 k);
void Smbll_ExtObj26_CastleBridge(uint8 k);
void Smbll_ExtObj27_ScrollLockObject_Warp(uint8 k);
void Smbll_ExtObj28_ScrollLockObject(uint8 k);
void Smbll_ExtObj2C_AreaFrenzy(uint8 k);
void Smbll_ExtObj2E_AlterAreaAttributes(uint8 k);
void Smbll_ExtObj33(uint8 k);
void Smbll_ExtObj34(uint8 k);
void Smbll_ExtObj35(uint8 k);
void Smbll_FBallB(uint8 k, uint8 j);
void Smbll_FindPlayerAction(void);
void Smbll_FireballBGCollision(uint8 k);
void Smbll_FireballEnemyCollision(uint8 k);
void Smbll_FirebarCollision(uint8 j);
void Smbll_FlagpoleRoutine(void);
void Smbll_FlagpoleSlide(void);
void Smbll_FloateyNumbersRoutine(uint8 k);
void Smbll_FlyingCheepCheep_Init(uint8 k);
void Smbll_ForceInjury(uint8 a);
void Smbll_GameMode00_TitleScreen(void);
void Smbll_GameMode01_Level(void);
void Smbll_GameMode01_Level_GameCoreRoutine(void);
void Smbll_GameMode01_Level_InitializeArea(void);
void Smbll_GameMode01_Level_SecondaryGameSetup(void);
void Smbll_GameMode02_Cutscene(void);
void Smbll_GameMode03_GameOverScreen(void);
void Smbll_GameRoutines(void);
void Smbll_GetBlockBufferAddr(uint8 a);
void Smbll_GetBlockOffscreenBits(uint8 k);
void Smbll_GetBubbleOffscreenBits(uint8 k);
void Smbll_GetEnemyBoundBox(uint8 k);
void Smbll_GetEnemyOffscreenBits(uint8 k);
void Smbll_GetEnemyXPos(uint8 k);
void Smbll_GetFireballBoundBox(uint8 k);
void Smbll_GetFireballOffscreenBits(uint8 k);
void Smbll_GetFirebarPosition(uint8 a);
void Smbll_GetMaskedOffScrBits(uint8 k, uint8 j);
void Smbll_GetMiscBoundBox(uint8 k);
void Smbll_GetMiscOffscreenBits(uint8 k);
void Smbll_GetOffScreenBitsSet(uint8 k, uint8 j);
void Smbll_GetPlayerAnimSpeed(void);
void Smbll_GetPlayerOffscreenBits(void);
void Smbll_GetRow(uint8 k, uint8 a);
void Smbll_GetSBNibbles(void);
void Smbll_GetSomeXpos(uint8 k);
void Smbll_GiveOneCoin(void);
void Smbll_Goomba_Init(uint8 k);
void Smbll_HammerBro_Init(uint8 k);
void Smbll_HandleAxeMetatile(void);
void Smbll_HandleClimbing(uint8 a);
void Smbll_HandleCoinMetatile(void);
void Smbll_HandleEnemyFBallCol(uint8 k);
void Smbll_HandleGroupEnemies(uint8 a);
void Smbll_HandlePipeEntry(void);
void Smbll_HandlePowerUpCollision(uint8 k);
void Smbll_HandleScreenTransition(void);
void Smbll_VectorIRQ(void);
void Smbll_ImpedePlayerMove(void);
void Smbll_ImposeFriction(uint8 a);
void Smbll_ImposeGravity(uint8 k, uint8 a);
void Smbll_ImposeGravityBlock(uint8 k);
void Smbll_ImposeGravitySpr(uint8 k, uint8 a);
void Smbll_ImposeGravity_Far(uint8 k, uint8 a);
void Smbll_IncAreaObjOffset(void);
void Smbll_IncModeTask_B(void);
void Smbll_IncrementSFTask2(void);
void Smbll_InitBlock_XY_Pos(uint8 k);
void Smbll_InitChangeSize(void);
void Smbll_InitDropPlatform_Init(uint8 k);
void Smbll_InitEnemyFrenzy(uint8 k);
void Smbll_InitEnemyObject(uint8 k);
void Smbll_InitFireworks(uint8 k);
void Smbll_InitHoriPlatform_Init(uint8 k);
void Smbll_InitHorizFlySwimEnemy(uint8 k);
void Smbll_InitPlatformFall(uint8 k, uint8 j);
void Smbll_InitVStf(uint8 k);
void Smbll_InjurePlayer(void);
void Smbll_JumpGPTroopa_Init(uint8 k);
void Smbll_JumpspringHandler(uint8 k);
void Smbll_KillAllEnemies(void);
void Smbll_KillEnemies(uint8 a);
void Smbll_KillEnemyAboveBlock(uint8 k);
void Smbll_KillPlayer(uint8 k);
void Smbll_LakituAndSpinyHandler(uint8 k);
void Smbll_Lakitu_Init(uint8 k);
void Smbll_LargeLiftDown_Init(uint8 k);
void Smbll_LargeLiftUp_Init(uint8 k);
void Smbll_LargePlatformBoundBox(uint8 k);
void Smbll_LargePlatformCollision(uint8 k);
void Smbll_LargePlatformSubroutines(uint8 k);
void Smbll_LongFirebar_Init(uint8 k);
void Smbll_MiscObjectsCore(void);
void Smbll_MoveBloober(uint8 k);
void Smbll_MoveBulletBill(uint8 k);
void Smbll_MoveD_EnemyVert(uint8 k);
void Smbll_MoveDropPlatform(uint8 k);
void Smbll_MoveEnemySlowVert(uint8 k);
void Smbll_MoveFallingPlatform(uint8 k);
void Smbll_MoveFlyGreenPTroopa(uint8 k);
void Smbll_MoveFlyingCheepCheep(uint8 k);
void Smbll_MoveJ_EnemyVert(uint8 k);
void Smbll_MoveJumpingEnemy(uint8 k);
void Smbll_MoveLakitu(uint8 k);
void Smbll_MoveLargeLiftPlat(uint8 k);
void Smbll_MoveLiftPlatforms(uint8 k);
void Smbll_MoveNormalEnemy(uint8 k);
void Smbll_MovePiranhaPlant(uint8 k);
void Smbll_MovePlatformCommon(uint8 k, uint8 a);
void Smbll_MovePlatformDown(uint8 k);
void Smbll_MovePlatformUp(uint8 k);
void Smbll_MovePlayerHoriz2(void);
void Smbll_MovePlayerVert(void);
void Smbll_MovePlayerYAxis(uint8 a);
void Smbll_MovePodoboo(uint8 k);
void Smbll_MoveRedPTroopa(uint8 k, uint8 j);
void Smbll_MoveRedPTroopaDown(uint8 k);
void Smbll_MoveRedPTroopaUp(uint8 k);
void Smbll_MoveSixSpritesOffscreen(uint8 j);
void Smbll_MoveSmallPlatform(uint8 k);
void Smbll_MoveSwimmingCheepCheep(uint8 k);
void Smbll_MoveVOffset(void);
void Smbll_MoveWithXMCntrs(uint8 k);
void Smbll_NoEnemyInit(uint8 k);
void Smbll_NoFrenzyCode(uint8 k);
void Smbll_NoInter(void);
void Smbll_NoMoveCode(uint8 k);
void Smbll_NoRunCode(uint8 k);
void Smbll_NormalEnemy_Init(uint8 k);
void Smbll_OffscreenBoundsCheck(uint8 k);
void Smbll_OutputInter(uint8 a);
void Smbll_OutputNumbers(uint8 a);
void Smbll_PiranhaPlant_Init(uint8 k);
void Smbll_PlatLiftDown_Init(uint8 k);
void Smbll_PlatLiftUp_Init(uint8 k);
void Smbll_PlatformFall(uint8 k, uint8 j);
void Smbll_PlayerBGCollision(void);
void Smbll_PlayerChangeSize(void);
void Smbll_PlayerCtrlRoutine(void);
void Smbll_PlayerDeath(void);
void Smbll_PlayerEndLevel(void);
void Smbll_PlayerEnemyCollision(uint8 k);
void Smbll_PlayerEntrance(void);
void Smbll_PlayerFireFlower(void);
void Smbll_PlayerGfxHandler(void);
void Smbll_PlayerGfxProcessing(uint8 a);
void Smbll_PlayerGfxProcessing_Sub_New(void);
void Smbll_PlayerHammerCollision(uint8 k);
void Smbll_PlayerHeadCollision(uint8 a);
void Smbll_PlayerInjuryBlink(void);
void Smbll_PlayerKilled(void);
void Smbll_PlayerLoseLife(void);
void Smbll_PlayerMovementSubs(void);
void Smbll_PlayerPhysicsSub(void);
void Smbll_Podoboo_Init(uint8 k);
void Smbll_PollJoypadInputs(void);
void Smbll_PosPlatform(uint8 k, uint8 j);
void Smbll_PositionPlayerOnHPlat(uint8 k);
void Smbll_PositionPlayerOnS_Plat(uint8 k, uint8 a);
void Smbll_PositionPlayerOnVPlat(uint8 k);
void Smbll_PowerUpObjHandler(uint8 k);
void Smbll_PrintStatusBarNumbers(uint8 a);
void Smbll_ProcBowserFlame(uint8 k);
void Smbll_ProcEnemyCollisions(uint8 k, uint8 j);
void Smbll_ProcFireball_Bubble(void);
void Smbll_ProcFirebar(uint8 k);
void Smbll_ProcHammerBro(uint8 k);
void Smbll_ProcHammerObj(uint8 k);
void Smbll_ProcLPlatCollisions(uint8 k, uint8 j);
void Smbll_ProcMoveRedPTroopa(uint8 k);
void Smbll_ProcSwimmingB(uint8 k);
void Smbll_ProcessAreaData(void);
void Smbll_ProcessBowserHalf(uint8 k);
void Smbll_ProcessCannons(void);
void Smbll_ProcessGameMode(void);
void Smbll_ProcessPlayerFireballs(uint8 k);
void Smbll_ProcessWhirlpools(void);
void Smbll_PutAtRightExtent(uint8 k, uint8 a);
void Smbll_PutBlockMetatile(uint8 a, uint8 j);
void Smbll_RaiseFlagSetoffFWorks(uint8 k);
void Smbll_RedKoopa_Init(uint8 k);
void Smbll_RedPTroopaGrav(uint8 k, uint8 a);
void Smbll_RedPTroopa_Init(uint8 k);
void Smbll_RelWOfs(uint8 k, uint8 j);
void Smbll_RelativeBlockPosition(uint8 k);
void Smbll_RelativeBubblePosition(uint8 k);
void Smbll_RelativeFireballPosition(uint8 k);
void Smbll_RelativeMiscPosition(uint8 k);
void Smbll_RelativePlayerPosition(void);
void Smbll_RemBridge(uint8 k, uint8 j);
void Smbll_RemoveCoin_Axe(void);
void Smbll_RenderAreaGraphics(void);
void Smbll_RenderPlayerSub(uint8 a);
uint8 Smbll_RenderUnderPart_Far(uint8 k, uint8 j, uint8 a);
void Smbll_ReplaceBlockMetatile(uint8 k, uint8 a);
void Smbll_ResetAllSpriteOams(void);
void Smbll_ResetAllSpriteOams_Far(void);
void Smbll_ResetAlmostAllSpriteOams(void);
void Smbll_ResetMiscSpriteOamId(void);
void Smbll_ResetPalStar(void);
void Smbll_ResetScreenTimer(void);
void Smbll_ResetSpritesAndScreenTimer(void);
void Smbll_RetainerObj_Init(uint8 k);
void Smbll_ReverseXSpeed(uint8 k);
void Smbll_RightPlatform(uint8 k);
void Smbll_RunBowser(uint8 k);
void Smbll_RunBowserFlame(uint8 k);
void Smbll_RunCutsceneTask(void);
void Smbll_RunEnemyObjectsCore(void);
void Smbll_RunFirebarObj(uint8 k);
void Smbll_RunFireworks(uint8 k);
void Smbll_RunGameOver(void);
void Smbll_RunGameOver_(void);
void Smbll_RunGameTimer(void);
void Smbll_RunLargePlatform(uint8 k);
void Smbll_RunNormalEnemies(uint8 k);
void Smbll_RunRetainerObj(uint8 k);
void Smbll_RunSmallPlatform(uint8 k);
void Smbll_RunStarFlagObj(uint8 k);
void Smbll_SPBBox(uint8 k);
void Smbll_ScreenRoutines(void);
void Smbll_ScrollHandler(int scrollamt);
void Smbll_SetBBox_3(uint8 k);
void Smbll_SetEntr(void);
void Smbll_SetOffscrBitsOffset(uint8 k, uint8 a, uint8 j);
void Smbll_SetPROut_1(uint8 a);
void Smbll_SetPRout(uint8 j, uint8 a);
void Smbll_SetStun(uint8 k, uint8 a);
void Smbll_SetXMoveAmt(uint8 k, uint8 j, uint8 a);
void Smbll_SetupBubble(uint8 k);
void Smbll_SetupCoinCommon(uint8 k, uint8 j);
void Smbll_SetupFloateyNumber1(uint8 k, uint8 a);
void Smbll_SetupGameOver(void);
void Smbll_SetupJumpCoin(uint8 k);
void Smbll_SetupLakitu(uint8 k);
void Smbll_SetupPlatformRope(uint8 j, uint8 a);
void Smbll_ShellOrBlockDefeat(uint8 k);
void Smbll_ShortFirebar_Init(uint8 k);
void Smbll_SideExitPipeEntry(void);
void Smbll_SixSpriteStacker(uint8 j, uint8 a);
void Smbll_SmallBBox(uint8 k);
void Smbll_SmallPlatformBoundBox(uint8 k);
void Smbll_SmallPlatformCollision(uint8 k);
void Smbll_SpawnBrickChunks(uint8 k);
void Smbll_Spr02E_Powerup_Init(uint8 k);
void Smbll_Spr02F_Vine_Init(uint8 k, uint8 j);
void Smbll_Spr02F_Vine_Init2(uint8 k);
void Smbll_SprObjectOffscrChk(uint8 j);
void Smbll_StopPlatforms(uint8 k, uint8 j);
void Smbll_TallBBox2(uint8 k);
void Smbll_TitleScreen_0_InitializeGame(void);
void Smbll_TitleScreen_2_PrimaryGameSetup(void);
void Smbll_TitleScreen_3_GameMenuRoutine(void);
void Smbll_UNUSED_ChkForPlayerAttrib(void);
void Smbll_Unused_CODE_03FF07(uint8 j);
void Smbll_Unused_CODE_03FF26(uint8 j, uint8 a);
void Smbll_UpdateNumber(uint8 a);
void Smbll_UploadStripeImage(void);
void Smbll_VectorNMI(void);
void Smbll_VectorReset(void);
void Smbll_VertPlatform_Init(uint8 k);
void Smbll_VerticalPipeEntry(void);
void Smbll_VineObjectHandler(uint8 k);
void Smbll_Vine_AutoClimb(void);
void Smbll_VramFunc_9B5C(void);
void Smbll_VramFunc_9BD4(uint8 k);
void Smbll_WarpZoneObject(uint8 k);
void Smbll_WriteBlockMetatile(uint8 a);
void Smbll_WriteTopScore(void);
void Smbll_XMoveCntr_GreenPTroopa(uint8 k);
void Smbll_XMoveCntr_Platform(uint8 k, uint8 a);
void Smbll_XMovingPlatform(uint8 k);
void Smbll_YMovingPlatform(uint8 k);
void Smbll_nullsub_1(void);
void Smbll_nullsub_3(void);
void Smbll_nullsub_6(uint8 k);
void Smbll_sub_86FC(uint8 a);
void Smbll_sub_8932(void);
void Smbll_sub_8F46(uint8 a);
void Smbll_sub_99A9(void);
void Smbll_sub_9ADA(void);
void Smbll_sub_9AF8(void);
void Smbll_sub_9B31(void);
void Smbll_sub_9B3D(void);
void Smbll_sub_9B73(void);
void Smbll_sub_9B7F(void);
void Smbll_sub_9BD6(void);
void Smbll_sub_9BDD(void);
void Smbll_sub_9C34(void);
void Smbll_sub_A7C1(uint8 k, uint8 a);
uint8 Smbll_sub_AAC0(uint8 k, uint8 a);
void Smbll_sub_AB13(uint8 k);
void Smbll_sub_AB68(void);
void Smbll_sub_B02C(void);
void Smbll_sub_B092(void);
void Smbll_sub_B7F4(uint8 k);
void Smbll_sub_C179(uint8 k, uint8 j);
void Smbll_sub_C17F(uint8 k, uint8 j);
void Smbll_sub_C18C(uint8 k);
uint8 Smbll_sub_C462(uint8 a);
void Smbll_sub_DDAE(uint8 k, uint8 a);
void Smbll_sub_DF21(uint8 k);
void Smbll_sub_EA11(uint8 k);
void Smbll_sub_EA1E(uint8 k);
void Smbll_sub_F9BD(void);
// Bank 1
PairU16 Smbll_CODE_049724(uint8 k, uint8 j);
uint8 Smbll_CODE_0491C0(uint8 k);
uint8 Smbll_CODE_0491DD(void);
uint8 Smbll_FindAreaPointer(void);
void Smbll_BufferAnimatedWaterSurfaceTiles(void);
void Smbll_CODE_048600(void);
void Smbll_CODE_04862A(void);
void Smbll_CODE_048B49(void);
void Smbll_CODE_048B59(void);
void Smbll_CODE_048C77(void);
void Smbll_CODE_048C85(void);
void Smbll_CODE_048D71(void);
void Smbll_CODE_0492E7(void);
void Smbll_CODE_0494EA(void);
void Smbll_CODE_04956B(void);
void Smbll_CODE_0495E2(void);
void Smbll_CODE_04973C(void);
void Smbll_CODE_049B35(void);
void Smbll_CODE_049B96(void);
void Smbll_CODE_049BBC(void);
void Smbll_CutsceneHdma(void);
void Smbll_DecodeAreaData_Sub2_New(uint16 j);
void Smbll_DecodeAreaData_Sub_New(void);
void Smbll_ExtObj09_PulleyRope(uint8 k);
void Smbll_GetAreaDataAddrs(void);
void Smbll_GetBackgroundColor_0(void);
void Smbll_GetPlayerColors(void);
void Smbll_HandleLayersScroll(void);
void Smbll_InitGfxStuff(void);
void Smbll_LoadAreaPointer(void);
void Smbll_SMB3_BufferLayer3CloudTilemap(void);
void Smbll_SMB3_BufferLayer3Tilemap(void);
void Smbll_SpawnCastleTilesWithPriority(void);
void Smbll_UpdateVineAtEntrance_New(void);
void Smbll_WaitForMusicAndChangeTask(void);
void Smbll_sub_18F08(void);
uint8 Smbll_sub_1C396(uint8 a);
// Bank 2
uint8 Smbll_CODE_05E8CA(uint8 j);
uint8 Smbll_CODE_05EA10(uint8 k, uint8 j, uint8 a);
uint8 Smbll_DebugCode(void);
uint8 Smbll_DrawCrumblingBridgeSegment_Sub2(uint8 j, uint8 a);
uint8 Smbll_HandleMarioGoalWalk(void);
uint8 Smbll_OffsetYPosAndIncr(uint8 j);
uint8 Smbll_SetupLayer2Bg_Helper1(uint16 k, uint8 a);
uint8 Smbll_TitleScreen_Func1(void);
uint8 Smbll_TurnAroundSmoke_Sub3(uint8 k);
uint8 Smbll_sub_2FBA4(void);
void Smbll_BowserDraw(uint8 k);
void Smbll_BrowserDraw_Sub1(void);
void Smbll_CODE_039F3E(uint8 j);
void Smbll_CODE_05C95B(void);
void Smbll_CODE_05D3B4(uint8 k, uint8 j);
void Smbll_CheckIfBowserTouchedLava(void);
void Smbll_CheckIfBowserTouchedLava_Sub2(void);
void Smbll_CompressOAMTileSizeBuffer(void);
void Smbll_ContactSprite_Func1(uint8 k, uint8 j);
void Smbll_ContactSprite_Func2(uint8 k);
void Smbll_ContactSprite_Func3(uint8 k, uint8 j);
void Smbll_ControllerStuff_05C860(void);
void Smbll_DrawBubble(uint8 k);
void Smbll_DrawCrumblingBridgeSegment(uint8 k);
void Smbll_DrawCrumblingBridgeSegment_Sub(uint8 k);
void Smbll_DrawCrumblingBridgeSegment_Sub3(uint8 j, uint8 a);
void Smbll_DrawHammer(uint8 k);
void Smbll_DrawLargePlatform_Sub1(void);
void Smbll_DrawLevelPreviewSprites_Sub8(void);
void Smbll_DrawMushroomIcon(void);
void Smbll_DrawPauseMenuLetters(void);
void Smbll_DrawSpinningCoinSprite(uint8 k);
void Smbll_DrawTitleScreen_Sub(void);
void Smbll_DrawVine(uint8 j);
void Smbll_DrawVine_Sub(uint8 j, uint8 a);
void Smbll_EnemyGfxHandler_Sub1(uint8 k);
void Smbll_EnemyGfxHandler_Sub4(uint8 k);
void Smbll_ExtObj34_(void);
void Smbll_ExtObj35_(void);
void Smbll_FlagpoleGfxHandler(uint8 k);
void Smbll_GenerateLayer2Map16(void);
void Smbll_HandleBowserWoozy(void);
void Smbll_HandleLevelTileAnimations(void);
void Smbll_HandleMarioGoalWalk_Sub(void);
void Smbll_HandlePaletteAnimations(void);
void Smbll_HandlePauseMenu(void);
void Smbll_HandleTilesetGraphicsUploads(void);
void Smbll_HandleTurnAroundSmoke(void);
void Smbll_InitializeContactSprite(uint8 k);
void Smbll_LoadTopScoreFromSram(void);
void Smbll_MaybePauseMenuHandler(void);
void Smbll_MaybePauseMenu_State0(void);
void Smbll_MaybePauseMenu_State1(void);
void Smbll_MaybePauseMenu_State2(void);
void Smbll_MaybePauseMenu_State3(void);
void Smbll_MovePlayerHoriz2_Sub(void);
void Smbll_MovePodoboo_Sub1(uint8 k);
void Smbll_MovePodoboo_Sub2(uint8 j);
void Smbll_PauseMenu_Func1(void);
void Smbll_PauseMenu_Func2(void);
void Smbll_PauseMenu_Func3(void);
void Smbll_PauseMenu_Func4(void);
void Smbll_PauseMenu_Func5(void);
void Smbll_PauseMenu_Func6(void);
void Smbll_PauseMenu_Func7_Hdma_05E21F(void);
void Smbll_ProcBowserFlame_Sub(uint8 k);
void Smbll_ProcessContactSprites(void);
void Smbll_SetAllLayer2BgData(uint16 k, uint16 a);
void Smbll_SetLevelMusic(void);
void Smbll_SetTwoTileSizes(uint8 j, uint8 a);
void Smbll_SetupLayer2Bg(void);
void Smbll_SetupLayer2BgA(void);
void Smbll_SetupLayer2BgB(void);
void Smbll_SpinningCoinSprite_Draw(uint8 k, uint8 j);
void Smbll_SpinningCoinSprite_Draw2(void);
void Smbll_SpinningCoinSprite_Draw3(uint8 j);
void Smbll_SpinningCoinSprite_Init(uint8 k);
void Smbll_TurnAroundSmoke_Sub1(void);
void Smbll_TurnAroundSmoke_Sub2(void);
void Smbll_UNUSED_CODE_05C9A5(void);
void Smbll_UploadTilesetGraphics(uint8 a);
void Smbll_UploadTilesetGraphicsDma(void);
void Smbll_sub_28A66(void);
void Smbll_sub_2D1F6(void);
void Smbll_sub_2F282(void);
void Smbll_sub_2F2E7(void);
void Smbll_sub_2FB79(void);
void Smbll_sub_2FC02(uint8 k);
// Bank 8
uint16 Smbll_LoadFileSelectMenu_BufferStripeImage(uint16 k, uint16 a);
uint16 Smbll_StoreToSramAndUpdateChecksum(uint16 k, uint8 a);
uint16 Smbll_VerifySaveDataIsValid_CODE_008D41(uint16 k);
void Smbll_ChangeSelectedWorld_Main(uint8 a);
void Smbll_CheckWhichControllersArePluggedIn_Main(void);
void Smbll_ClearSaveData_Main(void);
void Smbll_HandleSPCUploads_Main(void);
void Smbll_HandleSplashScreenMarioCoinShine_Main(void);
void Smbll_InitializeRAMOnStartup(void);
void Smbll_InitializeSelectedRAM(uint8 j, uint16 a);
void Smbll_InitializeSelectedRAM_Entry2(uint8 j, uint16 a);
void Smbll_LoadFileSelectMenu_Entry2(void);
void Smbll_LoadFileSelectMenu_Main(void);
void Smbll_LoadFileSelectMenu_Sub(void);
void Smbll_LoadPlayerSelectMenu_Entry2(void);
void Smbll_LoadPlayerSelectMenu_Main(void);
void Smbll_LoadPlayerSelectMenu_Sub(void);
void Smbll_LoadSaveFileData_Main(void);
void Smbll_LoadSplashScreen(void);
void Smbll_LoadSplashScreen_FadeIn(void);
void Smbll_LoadSplashScreen_FadeOut(void);
void Smbll_LoadSplashScreen_WaitForVBlank(void);
void Smbll_MoveTitleScreenMenuCursor_Main(uint8 a);
void Smbll_ResetGame_Main(void);
void Smbll_SaveGame_CODE_009041(void);
void Smbll_SaveGame_Main(void);
void Smbll_SplashScreenGFXRt_Main(void);
void Smbll_UploadMainSampleData(void);
void Smbll_UploadSPCEngine(void);
void Smbll_UploadSpuData(void);
void Smbll_VerifySaveDataIsValid(void);
void Smbll_sub_88AD8(void);
// Bank B
void Smbll_AdjustUnderwaterHDMAGradient(void);
void Smbll_CODE_04D85A(void);
void Smbll_CODE_04DBDA(void);
void Smbll_CODE_04DE54(void);
void Smbll_CODE_04F031(void);
void Smbll_CODE_04F091(uint8 j);
void Smbll_CODE_04F0ED(uint8 j);
void Smbll_CODE_04F124(uint8 j);
void Smbll_CODE_04F1D7(void);
void Smbll_CODE_04F2AB(void);
void Smbll_CODE_04F412(void);
void Smbll_CODE_04F586(void);
void Smbll_CODE_04F6A4(uint8 j);
void Smbll_CODE_04F6F9(uint8 j);
void Smbll_CODE_04F74C(void);
void Smbll_CODE_04F8DC(uint8 a);
void Smbll_CutsceneBowserDefeat_04ECCA(void);
void Smbll_CutsceneToad_04ED07(void);
void Smbll_CutsceneToad_Func0(void);
void Smbll_CutsceneToad_Func1(void);
void Smbll_CutsceneToad_Func2(void);
void Smbll_CutsceneToad_Func3(void);
void Smbll_CutsceneToad_Func4(void);
void Smbll_CutsceneToad_Func5(void);
void Smbll_CutsceneToad_Func6(void);
void Smbll_Dma_CODE_0480EF(void);
void Smbll_Dma_FillWith0x24(void);
void Smbll_Dma_FillWith0x28(void);
void Smbll_DrawLevelPreviewSprites_Sub7(void);
void Smbll_DrawToadAndRelatedSprites(uint8 k);
void Smbll_DrawToadAndRelatedSprites_Func10(void);
void Smbll_DrawToadAndRelatedSprites_Func11(uint8 j, uint8 a);
void Smbll_DrawToadAndRelatedSprites_Func12(void);
void Smbll_DrawToadAndRelatedSprites_Func13(void);
void Smbll_DrawToadAndRelatedSprites_Func14(uint8 j, uint16 a);
void Smbll_DrawToadAndRelatedSprites_Func15(void);
void Smbll_DrawToadAndRelatedSprites_Func16(void);
void Smbll_DrawToadAndRelatedSprites_Func17(void);
void Smbll_DrawToadAndRelatedSprites_Func18(void);
void Smbll_Ending_SetGfxPtrToUpload(void);
void Smbll_Ending_SetPaletteWriteText(void);
void Smbll_Ending_WriteText(void);
void Smbll_GiveExtraLife(void);
void Smbll_HandleSfx(void);
void Smbll_InitializeGradientHDMA(uint8 a);
void Smbll_PeachCutscene_04DE8B(void);
void Smbll_PeachCutscene_04E221(void);
void Smbll_ProcessPeachMovement(void);
void Smbll_RenderPlayerSub_New(void);
void Smbll_SpawnMushroomDuringPeachCutscene(void);
void Smbll_UploadSpriteGFX(void);
void DisplayCopyDetectionErrorMessage(void);
void DisplayRegionErrorMessage_Main(void);
void DoSwitchJump(void);
void Smbll_ScrollScreen(void);