diff --git a/configure.py b/configure.py index d371453d5..cfc0899b7 100644 --- a/configure.py +++ b/configure.py @@ -249,7 +249,7 @@ "-func_align 32", ] -cflags_game = [ +cflags_game_base = [ *cflags_base, "-O4,p", "-inline auto", @@ -257,10 +257,10 @@ "-str reuse,readonly", ] -cflags_system = [ - *cflags_game, - "-inline auto", +cflags_game = [ + *cflags_game_base, "-opt all,nostrength", + "-inline deferred", ] cflags_dolphin = [ @@ -304,8 +304,20 @@ def MatchingFor(*versions): return config.version in versions +# The retail build applied the game PCH to a specific subset of translation units. +def PCHObject(completed: bool, name: str) -> Object: + return Object(completed, name, extra_cflags=["-prefix SMS.mch"]) + + config.warn_missing_config = True config.warn_missing_source = False +config.precompiled_headers = [ + { + "source": "SMS.pch", + "mw_version": "GC/1.2.5", + "cflags": ["-lang=c++", *cflags_game_base], + }, +] config.libs = [ { "lib": "main", @@ -781,44 +793,44 @@ def MatchingFor(*versions): { "lib": "MarioUtil", "mw_version": "GC/1.2.5", - "cflags": [*cflags_game, "-inline deferred ", "-opt all,nostrength"], + "cflags": cflags_game, "progress_category": "game", "objects": [ - Object(Matching, "MarioUtil/DLUtil.cpp"), - Object(NonMatching, "MarioUtil/DrawUtil.cpp"), - Object(NonMatching, "MarioUtil/LightUtil.cpp"), - Object(NonMatching, "MarioUtil/MathUtil.cpp"), - Object(NonMatching, "MarioUtil/MtxUtil.cpp"), - Object(NonMatching, "MarioUtil/ScreenUtil.cpp"), - Object(NonMatching, "MarioUtil/ShadowUtil.cpp"), + PCHObject(Matching, "MarioUtil/DLUtil.cpp"), + PCHObject(NonMatching, "MarioUtil/DrawUtil.cpp"), + PCHObject(NonMatching, "MarioUtil/LightUtil.cpp"), + PCHObject(NonMatching, "MarioUtil/MathUtil.cpp"), + PCHObject(NonMatching, "MarioUtil/MtxUtil.cpp"), + PCHObject(NonMatching, "MarioUtil/ScreenUtil.cpp"), + PCHObject(NonMatching, "MarioUtil/ShadowUtil.cpp"), Object(Matching, "MarioUtil/gd-reinit-gx.cpp"), Object(NonMatching, "MarioUtil/EffectUtil.cpp"), Object(NonMatching, "MarioUtil/ModelUtil.cpp"), Object(Matching, "MarioUtil/RumbleMgr.cpp"), Object(Matching, "MarioUtil/RumbleData.cpp"), Object(Matching, "MarioUtil/RumbleType.cpp"), - Object(NonMatching, "MarioUtil/PacketUtil.cpp"), - Object(Matching, "MarioUtil/GDUtil.cpp"), + PCHObject(NonMatching, "MarioUtil/PacketUtil.cpp"), + PCHObject(Matching, "MarioUtil/GDUtil.cpp"), Object(Matching, "MarioUtil/TexUtil.cpp"), Object(Matching, "MarioUtil/MapUtil.cpp"), - Object(Matching, "MarioUtil/ToolData.cpp"), + PCHObject(Matching, "MarioUtil/ToolData.cpp"), ], }, { "lib": "M3DUtil", "mw_version": "GC/1.2.5", - "cflags": [*cflags_system, "-inline deferred"], + "cflags": cflags_game, "progress_category": "game", "objects": [ - Object(NonMatching, "M3DUtil/M3UJoint.cpp"), - Object(NonMatching, "M3DUtil/M3UModel.cpp"), - Object(NonMatching, "M3DUtil/MActor.cpp"), - Object(NonMatching, "M3DUtil/MActorAnm.cpp"), + PCHObject(NonMatching, "M3DUtil/M3UJoint.cpp"), + PCHObject(NonMatching, "M3DUtil/M3UModel.cpp"), + PCHObject(NonMatching, "M3DUtil/MActor.cpp"), + PCHObject(NonMatching, "M3DUtil/MActorAnm.cpp"), Object(NonMatching, "M3DUtil/MActorData.cpp"), - Object(NonMatching, "M3DUtil/SDLModel.cpp"), + PCHObject(NonMatching, "M3DUtil/SDLModel.cpp"), Object(Matching, "M3DUtil/MActorUtil.cpp"), - Object(NonMatching, "M3DUtil/SampleCtrlNode.cpp"), - Object(NonMatching, "M3DUtil/SampleCtrlModel.cpp"), + PCHObject(NonMatching, "M3DUtil/SampleCtrlNode.cpp"), + PCHObject(NonMatching, "M3DUtil/SampleCtrlModel.cpp"), Object(Matching, "M3DUtil/MotionBlendCtrl.cpp"), Object(Matching, "M3DUtil/LodAnm.cpp"), ], @@ -826,142 +838,142 @@ def MatchingFor(*versions): { "lib": "System", "mw_version": "GC/1.2.5", - "cflags": [*cflags_system, "-inline deferred"], + "cflags": cflags_game, "progress_category": "game", "objects": [ - Object(Matching, "System/BaseParam.cpp"), - Object(NonMatching, "System/EmitterViewObj.cpp"), - Object(NonMatching, "System/EventWatcher.cpp"), - Object(NonMatching, "System/FlagManager.cpp"), - Object(NonMatching, "System/GCLogoDir.cpp"), - Object(Matching, "System/J3DSysFlag.cpp"), + PCHObject(Matching, "System/BaseParam.cpp"), + PCHObject(NonMatching, "System/EmitterViewObj.cpp"), + PCHObject(NonMatching, "System/EventWatcher.cpp"), + PCHObject(NonMatching, "System/FlagManager.cpp"), + PCHObject(NonMatching, "System/GCLogoDir.cpp"), + PCHObject(Matching, "System/J3DSysFlag.cpp"), Object(NonMatching, "System/MarDirector.cpp"), - Object(NonMatching, "System/MarDirectorDirect.cpp"), - Object(NonMatching, "System/MarDirectorEvent.cpp"), - Object(NonMatching, "System/MarDirectorInitECT.cpp"), - Object(NonMatching, "System/MarDirectorPreEntry.cpp"), - Object(NonMatching, "System/MarDirectorSetup2.cpp"), + PCHObject(NonMatching, "System/MarDirectorDirect.cpp"), + PCHObject(NonMatching, "System/MarDirectorEvent.cpp"), + PCHObject(NonMatching, "System/MarDirectorInitECT.cpp"), + PCHObject(NonMatching, "System/MarDirectorPreEntry.cpp"), + PCHObject(NonMatching, "System/MarDirectorSetup2.cpp"), Object(Matching, "System/marerr.cpp"), - Object(NonMatching, "System/MarNameRefGen.cpp"), - Object(NonMatching, "System/MenuDir.cpp"), + PCHObject(NonMatching, "System/MarNameRefGen.cpp"), + PCHObject(NonMatching, "System/MenuDir.cpp"), Object(Matching, "System/Params.cpp"), Object(Matching, "System/ParamInst.cpp"), - Object(NonMatching, "System/PerformList.cpp"), - Object(NonMatching, "System/RenderModeObj.cpp"), - Object(NonMatching, "System/SnapTimeObj.cpp"), - Object(NonMatching, "System/TalkCursor.cpp"), + PCHObject(NonMatching, "System/PerformList.cpp"), + PCHObject(NonMatching, "System/RenderModeObj.cpp"), + PCHObject(NonMatching, "System/SnapTimeObj.cpp"), + PCHObject(NonMatching, "System/TalkCursor.cpp"), Object(Matching, "System/TexCache.cpp"), - Object(Matching, "System/ZBufferCatch.cpp"), - Object(NonMatching, "System/Application.cpp"), - Object(Matching, "System/ScenarioArchiveName.cpp"), + PCHObject(Matching, "System/ZBufferCatch.cpp"), + PCHObject(NonMatching, "System/Application.cpp"), + PCHObject(Matching, "System/ScenarioArchiveName.cpp"), Object(NonMatching, "System/MarioGamePad.cpp"), - Object(Matching, "System/StageEventInfo.cpp"), - Object(Matching, "System/StageUtil.cpp"), + PCHObject(Matching, "System/StageEventInfo.cpp"), + PCHObject(Matching, "System/StageUtil.cpp"), Object(Matching, "System/Resolution.cpp"), - Object(Matching, "System/PositionHolder.cpp"), + PCHObject(Matching, "System/PositionHolder.cpp"), Object(Matching, "System/ProcessMeter.cpp"), - Object(NonMatching, "System/TimeRec.cpp"), + PCHObject(NonMatching, "System/TimeRec.cpp"), Object(NonMatching, "System/DrawSyncManager.cpp"), - Object(Matching, "System/THPRender.cpp"), - Object(NonMatching, "System/MarNameRefGen_BossEnemy.cpp"), - Object(NonMatching, "System/MarNameRefGen_Enemy.cpp"), - Object(NonMatching, "System/MarNameRefGen_Map.cpp"), - Object(NonMatching, "System/MarNameRefGen_MapObj.cpp"), - Object(NonMatching, "System/MarNameRefGen_NPC.cpp"), - Object(NonMatching, "System/CardManager.cpp"), - Object(NonMatching, "System/MarDirectorLoadResource.cpp"), - Object(NonMatching, "System/MovieDirector.cpp"), + PCHObject(Matching, "System/THPRender.cpp"), + PCHObject(NonMatching, "System/MarNameRefGen_BossEnemy.cpp"), + PCHObject(NonMatching, "System/MarNameRefGen_Enemy.cpp"), + PCHObject(NonMatching, "System/MarNameRefGen_Map.cpp"), + PCHObject(NonMatching, "System/MarNameRefGen_MapObj.cpp"), + PCHObject(NonMatching, "System/MarNameRefGen_NPC.cpp"), + PCHObject(NonMatching, "System/CardManager.cpp"), + PCHObject(NonMatching, "System/MarDirectorLoadResource.cpp"), + PCHObject(NonMatching, "System/MovieDirector.cpp"), Object(Matching, "System/MarDirectorCreateObjects.cpp"), - Object(NonMatching, "System/MarDirectorSetupObjects.cpp"), - Object(NonMatching, "System/MSoundMainSide.cpp"), - Object(Matching, "System/TargetArrow.cpp"), + PCHObject(NonMatching, "System/MarDirectorSetupObjects.cpp"), + PCHObject(NonMatching, "System/MSoundMainSide.cpp"), + PCHObject(Matching, "System/TargetArrow.cpp"), ], }, { "lib": "Strategic", "mw_version": "GC/1.2.5", - "cflags": [*cflags_game, "-inline deferred", "-opt all,nostrength"], + "cflags": cflags_game, "progress_category": "game", "objects": [ - Object(NonMatching, "Strategic/liveactor.cpp"), - Object(NonMatching, "Strategic/liveinterp.cpp"), - Object(NonMatching, "Strategic/livemanager.cpp"), + PCHObject(NonMatching, "Strategic/liveactor.cpp"), + PCHObject(NonMatching, "Strategic/liveinterp.cpp"), + PCHObject(NonMatching, "Strategic/livemanager.cpp"), Object(NonMatching, "Strategic/ObjHitCheck.cpp"), - Object(NonMatching, "Strategic/objmanager.cpp"), - Object(NonMatching, "Strategic/ObjModel.cpp"), + PCHObject(NonMatching, "Strategic/objmanager.cpp"), + PCHObject(NonMatching, "Strategic/ObjModel.cpp"), Object(NonMatching, "Strategic/spcinterp.cpp"), - Object(NonMatching, "Strategic/Strategy.cpp"), - Object(NonMatching, "Strategic/question.cpp"), - Object(Matching, "Strategic/smplcharacter.cpp"), - Object(NonMatching, "Strategic/HitActor.cpp"), - Object(Matching, "Strategic/binder.cpp"), - Object(Matching, "Strategic/SharedParts.cpp"), - Object(NonMatching, "Strategic/MirrorActor.cpp"), + PCHObject(NonMatching, "Strategic/Strategy.cpp"), + PCHObject(NonMatching, "Strategic/question.cpp"), + PCHObject(Matching, "Strategic/smplcharacter.cpp"), + PCHObject(NonMatching, "Strategic/HitActor.cpp"), + PCHObject(Matching, "Strategic/binder.cpp"), + PCHObject(Matching, "Strategic/SharedParts.cpp"), + PCHObject(NonMatching, "Strategic/MirrorActor.cpp"), ], }, { "lib": "Player", "mw_version": "GC/1.2.5", - "cflags": [*cflags_game, "-inline deferred", "-opt all,nostrength"], + "cflags": cflags_game, "progress_category": "game", "objects": [ Object(Matching, "Player/Atom.cpp"), Object(Matching, "Player/MarioAction.cpp"), Object(NonMatching, "Player/MarioAutodemo.cpp"), - Object(NonMatching, "Player/MarioBlend.cpp"), - Object(NonMatching, "Player/MarioCap.cpp"), - Object(NonMatching, "Player/MarioCollision.cpp"), - Object(NonMatching, "Player/MarioDraw.cpp"), + PCHObject(NonMatching, "Player/MarioBlend.cpp"), + PCHObject(NonMatching, "Player/MarioCap.cpp"), + PCHObject(NonMatching, "Player/MarioCollision.cpp"), + PCHObject(NonMatching, "Player/MarioDraw.cpp"), Object(NonMatching, "Player/MarioJump.cpp"), Object(NonMatching, "Player/MarioMain.cpp"), - Object(NonMatching, "Player/MarioMove.cpp"), + PCHObject(NonMatching, "Player/MarioMove.cpp"), Object(NonMatching, "Player/MarioPhysics.cpp"), Object(Matching, "Player/MarioRecord.cpp"), - Object(NonMatching, "Player/MarioRun.cpp"), + PCHObject(NonMatching, "Player/MarioRun.cpp"), Object(NonMatching, "Player/MarioSpecial.cpp"), Object(NonMatching, "Player/MarioUpper.cpp"), - Object(NonMatching, "Player/MarioParticle.cpp"), + PCHObject(NonMatching, "Player/MarioParticle.cpp"), Object(NonMatching, "Player/MarioWait.cpp"), - Object(NonMatching, "Player/SplashManager.cpp"), - Object(NonMatching, "Player/Tongue.cpp"), - Object(NonMatching, "Player/WaterGun.cpp"), - Object(NonMatching, "Player/Yoshi.cpp"), - Object(NonMatching, "Player/MarioEffect.cpp"), + PCHObject(NonMatching, "Player/SplashManager.cpp"), + PCHObject(NonMatching, "Player/Tongue.cpp"), + PCHObject(NonMatching, "Player/WaterGun.cpp"), + PCHObject(NonMatching, "Player/Yoshi.cpp"), + PCHObject(NonMatching, "Player/MarioEffect.cpp"), Object(NonMatching, "Player/MarioSwim.cpp"), Object(NonMatching, "Player/MarioAccess.cpp"), - Object(NonMatching, "Player/MarioInit.cpp"), - Object(NonMatching, "Player/ModelWaterManager.cpp"), - Object(Matching, "Player/MarioPositionObj.cpp"), + PCHObject(NonMatching, "Player/MarioInit.cpp"), + PCHObject(NonMatching, "Player/ModelWaterManager.cpp"), + PCHObject(Matching, "Player/MarioPositionObj.cpp"), Object(NonMatching, "Player/MarioCheckCol.cpp"), - Object(NonMatching, "Player/MarioReceiveMsg.cpp"), + PCHObject(NonMatching, "Player/MarioReceiveMsg.cpp"), Object(NonMatching, "Player/MarioSound.cpp"), ], }, { "lib": "NPC", "mw_version": "GC/1.2.5", - "cflags": [*cflags_game, "-inline deferred", "-opt all,nostrength"], + "cflags": cflags_game, "progress_category": "game", "objects": [ - Object(NonMatching, "NPC/NpcAnm.cpp"), - Object(NonMatching, "NPC/NpcBase.cpp"), + PCHObject(NonMatching, "NPC/NpcAnm.cpp"), + PCHObject(NonMatching, "NPC/NpcBase.cpp"), Object(NonMatching, "NPC/NpcCallback.cpp"), - Object(NonMatching, "NPC/NpcManager.cpp"), - Object(NonMatching, "NPC/NpcNerve.cpp"), - Object(Matching, "NPC/NpcSave.cpp"), - Object(NonMatching, "NPC/NpcEvent.cpp"), - Object(Matching, "NPC/NpcInitData.cpp"), - Object(NonMatching, "NPC/NpcInitPrg.cpp"), + PCHObject(NonMatching, "NPC/NpcManager.cpp"), + PCHObject(NonMatching, "NPC/NpcNerve.cpp"), + PCHObject(Matching, "NPC/NpcSave.cpp"), + PCHObject(NonMatching, "NPC/NpcEvent.cpp"), + PCHObject(Matching, "NPC/NpcInitData.cpp"), + PCHObject(NonMatching, "NPC/NpcInitPrg.cpp"), Object(NonMatching, "NPC/NpcInbetween.cpp"), - Object(NonMatching, "NPC/NpcParts.cpp"), + PCHObject(NonMatching, "NPC/NpcParts.cpp"), Object(NonMatching, "NPC/NpcColor.cpp"), - Object(Matching, "NPC/NpcSound.cpp"), + PCHObject(Matching, "NPC/NpcSound.cpp"), Object(NonMatching, "NPC/NpcChange.cpp"), Object(NonMatching, "NPC/NpcThrow.cpp"), Object(Matching, "NPC/NpcTrample.cpp"), Object(NonMatching, "NPC/NpcEffect.cpp"), - Object(Matching, "NPC/NpcInitAnmData.cpp"), - Object(Matching, "NPC/NpcInitActionData.cpp"), + PCHObject(Matching, "NPC/NpcInitAnmData.cpp"), + PCHObject(Matching, "NPC/NpcInitActionData.cpp"), Object(NonMatching, "NPC/NpcCoin.cpp"), Object(NonMatching, "NPC/NpcBalloon.cpp"), Object(NonMatching, "NPC/NpcWalkTurn.cpp"), @@ -972,296 +984,296 @@ def MatchingFor(*versions): { "lib": "MSound", "mw_version": "GC/1.2.5", - "cflags": [*cflags_game, "-inline deferred", "-opt all,nostrength"], + "cflags": cflags_game, "progress_category": "game", "objects": [ - Object(NonMatching, "MSound/MAnmSound.cpp"), - Object(NonMatching, "MSound/MSound.cpp"), - Object(NonMatching, "MSound/MSoundBGM.cpp"), + PCHObject(NonMatching, "MSound/MAnmSound.cpp"), + PCHObject(NonMatching, "MSound/MSound.cpp"), + PCHObject(NonMatching, "MSound/MSoundBGM.cpp"), Object(Matching, "MSound/MSoundDebug.cpp"), Object(NonMatching, "MSound/MSoundScene.cpp"), - Object(NonMatching, "MSound/MSoundSE.cpp"), - Object(NonMatching, "MSound/MSoundStruct.cpp"), - Object(NonMatching, "MSound/MSHandle.cpp"), - Object(NonMatching, "MSound/MSModBgm.cpp"), + PCHObject(NonMatching, "MSound/MSoundSE.cpp"), + PCHObject(NonMatching, "MSound/MSoundStruct.cpp"), + PCHObject(NonMatching, "MSound/MSHandle.cpp"), + PCHObject(NonMatching, "MSound/MSModBgm.cpp"), ], }, { "lib": "MoveBG", "mw_version": "GC/1.2.5", - "cflags": [*cflags_game, "-opt all,nostrength", "-inline deferred"], + "cflags": cflags_game, "progress_category": "game", "objects": [ - Object(NonMatching, "MoveBG/WoodBarrel.cpp"), - Object(NonMatching, "MoveBG/MapObjBase.cpp"), - Object(NonMatching, "MoveBG/MapObjInit.cpp"), - Object(NonMatching, "MoveBG/MapObjGeneral.cpp"), - Object(NonMatching, "MoveBG/MapObjManager.cpp"), - Object(NonMatching, "MoveBG/MapObjLib.cpp"), - Object(NonMatching, "MoveBG/Item.cpp"), - Object(NonMatching, "MoveBG/ItemManager.cpp"), - Object(NonMatching, "MoveBG/MapObjTown.cpp"), - Object(NonMatching, "MoveBG/MapObjBlock.cpp"), - Object(NonMatching, "MoveBG/MapObjBianco.cpp"), - Object(NonMatching, "MoveBG/MapObjSirena.cpp"), - Object(NonMatching, "MoveBG/MapObjRicco.cpp"), - Object(NonMatching, "MoveBG/MapObjMamma.cpp"), - Object(NonMatching, "MoveBG/MapObjPinna.cpp"), - Object(Matching, "MoveBG/MapObjSample.cpp"), - Object(NonMatching, "MoveBG/MapObjMare.cpp"), - Object(NonMatching, "MoveBG/MapObjFlag.cpp"), - Object(NonMatching, "MoveBG/MapObjWave.cpp"), - Object(NonMatching, "MoveBG/MapObjFloat.cpp"), - Object(NonMatching, "MoveBG/MapObjPlane.cpp"), - Object(NonMatching, "MoveBG/MapObjCloud.cpp"), - Object(NonMatching, "MoveBG/MapObjBall.cpp"), - Object(Matching, "MoveBG/MapObjAirport.cpp"), - Object(NonMatching, "MoveBG/MapObjDolpic.cpp"), - Object(NonMatching, "MoveBG/MapObjPollution.cpp"), - Object(NonMatching, "MoveBG/MapObjGrass.cpp"), - Object(Matching, "MoveBG/MapObjPole.cpp"), - Object(NonMatching, "MoveBG/MapObjWater.cpp"), - Object(NonMatching, "MoveBG/ModelGate.cpp"), - Object(NonMatching, "MoveBG/MapObjFence.cpp"), - Object(NonMatching, "MoveBG/MapObjOption.cpp"), - Object(NonMatching, "MoveBG/MapObjRailBlock.cpp"), - Object(NonMatching, "MoveBG/MapObjMonte.cpp"), - Object(NonMatching, "MoveBG/MapObjTree.cpp"), + PCHObject(NonMatching, "MoveBG/WoodBarrel.cpp"), + PCHObject(NonMatching, "MoveBG/MapObjBase.cpp"), + PCHObject(NonMatching, "MoveBG/MapObjInit.cpp"), + PCHObject(NonMatching, "MoveBG/MapObjGeneral.cpp"), + PCHObject(NonMatching, "MoveBG/MapObjManager.cpp"), + PCHObject(NonMatching, "MoveBG/MapObjLib.cpp"), + PCHObject(NonMatching, "MoveBG/Item.cpp"), + PCHObject(NonMatching, "MoveBG/ItemManager.cpp"), + PCHObject(NonMatching, "MoveBG/MapObjTown.cpp"), + PCHObject(NonMatching, "MoveBG/MapObjBlock.cpp"), + PCHObject(NonMatching, "MoveBG/MapObjBianco.cpp"), + PCHObject(NonMatching, "MoveBG/MapObjSirena.cpp"), + PCHObject(NonMatching, "MoveBG/MapObjRicco.cpp"), + PCHObject(NonMatching, "MoveBG/MapObjMamma.cpp"), + PCHObject(NonMatching, "MoveBG/MapObjPinna.cpp"), + PCHObject(Matching, "MoveBG/MapObjSample.cpp"), + PCHObject(NonMatching, "MoveBG/MapObjMare.cpp"), + PCHObject(NonMatching, "MoveBG/MapObjFlag.cpp"), + PCHObject(NonMatching, "MoveBG/MapObjWave.cpp"), + PCHObject(NonMatching, "MoveBG/MapObjFloat.cpp"), + PCHObject(NonMatching, "MoveBG/MapObjPlane.cpp"), + PCHObject(NonMatching, "MoveBG/MapObjCloud.cpp"), + PCHObject(NonMatching, "MoveBG/MapObjBall.cpp"), + PCHObject(Matching, "MoveBG/MapObjAirport.cpp"), + PCHObject(NonMatching, "MoveBG/MapObjDolpic.cpp"), + PCHObject(NonMatching, "MoveBG/MapObjPollution.cpp"), + PCHObject(NonMatching, "MoveBG/MapObjGrass.cpp"), + PCHObject(Matching, "MoveBG/MapObjPole.cpp"), + PCHObject(NonMatching, "MoveBG/MapObjWater.cpp"), + PCHObject(NonMatching, "MoveBG/ModelGate.cpp"), + PCHObject(NonMatching, "MoveBG/MapObjFence.cpp"), + PCHObject(NonMatching, "MoveBG/MapObjOption.cpp"), + PCHObject(NonMatching, "MoveBG/MapObjRailBlock.cpp"), + PCHObject(NonMatching, "MoveBG/MapObjMonte.cpp"), + PCHObject(NonMatching, "MoveBG/MapObjTree.cpp"), Object(Matching, "MoveBG/MapObjTumblePole.cpp"), - Object(NonMatching, "MoveBG/MapObjEx.cpp"), - Object(Matching, "MoveBG/Pool.cpp"), - Object(NonMatching, "MoveBG/MapObjCorona.cpp"), - Object(NonMatching, "MoveBG/MapObjItem2.cpp"), - Object(NonMatching, "MoveBG/MapObjHide.cpp"), - Object(NonMatching, "MoveBG/MapObjTrap.cpp"), + PCHObject(NonMatching, "MoveBG/MapObjEx.cpp"), + PCHObject(Matching, "MoveBG/Pool.cpp"), + PCHObject(NonMatching, "MoveBG/MapObjCorona.cpp"), + PCHObject(NonMatching, "MoveBG/MapObjItem2.cpp"), + PCHObject(NonMatching, "MoveBG/MapObjHide.cpp"), + PCHObject(NonMatching, "MoveBG/MapObjTrap.cpp"), ], }, { "lib": "Map", "mw_version": "GC/1.2.5", - "cflags": [*cflags_game, "-opt all,nostrength", "-inline deferred"], + "cflags": cflags_game, "progress_category": "game", "objects": [ - Object(Matching, "Map/JointModel.cpp"), - Object(Matching, "Map/JointModelManager.cpp"), - Object(Matching, "Map/JointObj.cpp"), - Object(NonMatching, "Map/Map.cpp"), + PCHObject(Matching, "Map/JointModel.cpp"), + PCHObject(Matching, "Map/JointModelManager.cpp"), + PCHObject(Matching, "Map/JointObj.cpp"), + PCHObject(NonMatching, "Map/Map.cpp"), Object(NonMatching, "Map/MapArea.cpp"), Object(NonMatching, "Map/MapCheck.cpp"), - Object(Matching, "Map/MapCollisionData.cpp"), - Object(NonMatching, "Map/MapCollisionEntry.cpp"), + PCHObject(Matching, "Map/MapCollisionData.cpp"), + PCHObject(NonMatching, "Map/MapCollisionEntry.cpp"), Object(Matching, "Map/MapCollisionManager.cpp"), - Object(Matching, "Map/MapDraw.cpp"), - Object(Matching, "Map/MapEvent.cpp"), - Object(NonMatching, "Map/MapEventSink.cpp"), + PCHObject(Matching, "Map/MapDraw.cpp"), + PCHObject(Matching, "Map/MapEvent.cpp"), + PCHObject(NonMatching, "Map/MapEventSink.cpp"), Object(NonMatching, "Map/MapMakeData.cpp"), Object(NonMatching, "Map/MapMakeList.cpp"), - Object(NonMatching, "Map/MapMirror.cpp"), - Object(NonMatching, "Map/MapModel.cpp"), - Object(NonMatching, "Map/MapWarp.cpp"), - Object(NonMatching, "Map/MapStaticObject.cpp"), - Object(NonMatching, "Map/MapWire.cpp"), - Object(NonMatching, "Map/MapWireManager.cpp"), + PCHObject(NonMatching, "Map/MapMirror.cpp"), + PCHObject(NonMatching, "Map/MapModel.cpp"), + PCHObject(NonMatching, "Map/MapWarp.cpp"), + PCHObject(NonMatching, "Map/MapStaticObject.cpp"), + PCHObject(NonMatching, "Map/MapWire.cpp"), + PCHObject(NonMatching, "Map/MapWireManager.cpp"), Object(NonMatching, "Map/MapXlu.cpp"), Object(NonMatching, "Map/PollutionAction.cpp"), - Object(NonMatching, "Map/PollutionCount.cpp"), - Object(NonMatching, "Map/PollutionManager.cpp"), - Object(NonMatching, "Map/PollutionObj.cpp"), + PCHObject(NonMatching, "Map/PollutionCount.cpp"), + PCHObject(NonMatching, "Map/PollutionManager.cpp"), + PCHObject(NonMatching, "Map/PollutionObj.cpp"), Object(NonMatching, "Map/PollutionPos.cpp"), - Object(NonMatching, "Map/Shimmer.cpp"), - Object(NonMatching, "Map/Sky.cpp"), - Object(NonMatching, "Map/MapEventSirena.cpp"), - Object(NonMatching, "Map/PollutionLayer.cpp"), - Object(NonMatching, "Map/PollutionEvent.cpp"), + PCHObject(NonMatching, "Map/Shimmer.cpp"), + PCHObject(NonMatching, "Map/Sky.cpp"), + PCHObject(NonMatching, "Map/MapEventSirena.cpp"), + PCHObject(NonMatching, "Map/PollutionLayer.cpp"), + PCHObject(NonMatching, "Map/PollutionEvent.cpp"), Object(NonMatching, "Map/MapCollisionPlane.cpp"), - Object(Matching, "Map/MarineSnow.cpp"), + PCHObject(Matching, "Map/MarineSnow.cpp"), Object(Matching, "Map/MapData.cpp"), - Object(NonMatching, "Map/MapEventDolpic.cpp"), - Object(NonMatching, "Map/MapEventMare.cpp"), - Object(NonMatching, "Map/BathWaterManager.cpp"), - Object(Matching, "Map/StickyStainManager.cpp"), + PCHObject(NonMatching, "Map/MapEventDolpic.cpp"), + PCHObject(NonMatching, "Map/MapEventMare.cpp"), + PCHObject(NonMatching, "Map/BathWaterManager.cpp"), + PCHObject(Matching, "Map/StickyStainManager.cpp"), ], }, { "lib": "GC2D", "mw_version": "GC/1.2.5", - "cflags": [*cflags_game, "-opt all,nostrength", "-inline deferred"], + "cflags": cflags_game, "progress_category": "game", "objects": [ Object(Matching, "GC2D/ChangeValue.cpp"), Object(Matching, "GC2D/Coord2D.cpp"), Object(Matching, "GC2D/ExPane.cpp"), - Object(NonMatching, "GC2D/Menu.cpp"), - Object(NonMatching, "GC2D/ScrnFader.cpp"), - Object(NonMatching, "GC2D/GCConsole2.cpp"), - Object(NonMatching, "GC2D/Talk2D2.cpp"), + PCHObject(NonMatching, "GC2D/Menu.cpp"), + PCHObject(NonMatching, "GC2D/ScrnFader.cpp"), + PCHObject(NonMatching, "GC2D/GCConsole2.cpp"), + PCHObject(NonMatching, "GC2D/Talk2D2.cpp"), Object(NonMatching, "GC2D/BoundPane.cpp"), - Object(NonMatching, "GC2D/PauseMenu2.cpp"), + PCHObject(NonMatching, "GC2D/PauseMenu2.cpp"), Object(NonMatching, "GC2D/MessageLoader.cpp"), - Object(NonMatching, "GC2D/HelpActor.cpp"), + PCHObject(NonMatching, "GC2D/HelpActor.cpp"), Object(Matching, "GC2D/MessageUtil.cpp"), - Object(NonMatching, "GC2D/CardSave.cpp"), - Object(NonMatching, "GC2D/CardLoad.cpp"), - Object(NonMatching, "GC2D/ConsoleStr.cpp"), - Object(NonMatching, "GC2D/SelectMenu.cpp"), - Object(NonMatching, "GC2D/SelectDir.cpp"), - Object(NonMatching, "GC2D/SelectShine2.cpp"), - Object(Matching, "GC2D/BlendPane.cpp"), - Object(NonMatching, "GC2D/Guide.cpp"), - Object(NonMatching, "GC2D/SunGlass.cpp"), - Object(Matching, "GC2D/ShineFader.cpp"), - Object(NonMatching, "GC2D/ProgSelect.cpp"), + PCHObject(NonMatching, "GC2D/CardSave.cpp"), + PCHObject(NonMatching, "GC2D/CardLoad.cpp"), + PCHObject(NonMatching, "GC2D/ConsoleStr.cpp"), + PCHObject(NonMatching, "GC2D/SelectMenu.cpp"), + PCHObject(NonMatching, "GC2D/SelectDir.cpp"), + PCHObject(NonMatching, "GC2D/SelectShine2.cpp"), + PCHObject(Matching, "GC2D/BlendPane.cpp"), + PCHObject(NonMatching, "GC2D/Guide.cpp"), + PCHObject(NonMatching, "GC2D/SunGlass.cpp"), + PCHObject(Matching, "GC2D/ShineFader.cpp"), + PCHObject(NonMatching, "GC2D/ProgSelect.cpp"), Object(NonMatching, "GC2D/hx_wiper.c"), - Object(NonMatching, "GC2D/MovieSubtitle.cpp"), - Object(NonMatching, "GC2D/Option.cpp"), - Object(NonMatching, "GC2D/MovieRumble.cpp"), + PCHObject(NonMatching, "GC2D/MovieSubtitle.cpp"), + PCHObject(NonMatching, "GC2D/Option.cpp"), + PCHObject(NonMatching, "GC2D/MovieRumble.cpp"), ], }, { "lib": "Enemy", "mw_version": "GC/1.2.5", - "cflags": [*cflags_game, "-opt all,nostrength", "-inline deferred"], + "cflags": cflags_game, "progress_category": "game", "objects": [ - Object(NonMatching, "Enemy/conductor.cpp"), - Object(NonMatching, "Enemy/effectObj.cpp"), - Object(NonMatching, "Enemy/emario.cpp"), - Object(NonMatching, "Enemy/enemy.cpp"), - Object(NonMatching, "Enemy/enemyAttachment.cpp"), - Object(NonMatching, "Enemy/enemymanager.cpp"), - Object(NonMatching, "Enemy/enemyMario.cpp"), - Object(NonMatching, "Enemy/feetinv.cpp"), - Object(NonMatching, "Enemy/gesso.cpp"), - Object(NonMatching, "Enemy/graph.cpp"), - Object(NonMatching, "Enemy/hamukuri.cpp"), - Object(NonMatching, "Enemy/hinokuri2.cpp"), - Object(NonMatching, "Enemy/mameGesso.cpp"), - Object(NonMatching, "Enemy/namekuri.cpp"), - Object(NonMatching, "Enemy/pakkun.cpp"), - Object(NonMatching, "Enemy/smallEnemy.cpp"), - Object(NonMatching, "Enemy/spider.cpp"), + PCHObject(NonMatching, "Enemy/conductor.cpp"), + PCHObject(NonMatching, "Enemy/effectObj.cpp"), + PCHObject(NonMatching, "Enemy/emario.cpp"), + PCHObject(NonMatching, "Enemy/enemy.cpp"), + PCHObject(NonMatching, "Enemy/enemyAttachment.cpp"), + PCHObject(NonMatching, "Enemy/enemymanager.cpp"), + PCHObject(NonMatching, "Enemy/enemyMario.cpp"), + PCHObject(NonMatching, "Enemy/feetinv.cpp"), + PCHObject(NonMatching, "Enemy/gesso.cpp"), + PCHObject(NonMatching, "Enemy/graph.cpp"), + PCHObject(NonMatching, "Enemy/hamukuri.cpp"), + PCHObject(NonMatching, "Enemy/hinokuri2.cpp"), + PCHObject(NonMatching, "Enemy/mameGesso.cpp"), + PCHObject(NonMatching, "Enemy/namekuri.cpp"), + PCHObject(NonMatching, "Enemy/pakkun.cpp"), + PCHObject(NonMatching, "Enemy/smallEnemy.cpp"), + PCHObject(NonMatching, "Enemy/spider.cpp"), Object(Matching, "Enemy/spline.cpp"), - Object(Matching, "Enemy/typicalenemy.cpp"), - Object(NonMatching, "Enemy/walker.cpp"), - Object(NonMatching, "Enemy/walkerEnemy.cpp"), - Object(NonMatching, "Enemy/bossgesso.cpp"), - Object(NonMatching, "Enemy/elecNokonoko.cpp"), - Object(NonMatching, "Enemy/telesa.cpp"), - Object(NonMatching, "Enemy/fireWanwan.cpp"), - Object(NonMatching, "Enemy/enemytable.cpp"), - Object(NonMatching, "Enemy/generator.cpp"), - Object(NonMatching, "Enemy/bosspakkun.cpp"), - Object(NonMatching, "Enemy/tobiPuku.cpp"), - Object(NonMatching, "Enemy/tinkoopa.cpp"), - Object(NonMatching, "Enemy/launcher.cpp"), - Object(NonMatching, "Enemy/bosswanwan.cpp"), - Object(NonMatching, "Enemy/chuuhana.cpp"), - Object(NonMatching, "Enemy/igaiga.cpp"), - Object(NonMatching, "Enemy/poihana.cpp"), - Object(NonMatching, "Enemy/tamaNoko.cpp"), - Object(NonMatching, "Enemy/bosstelesa.cpp"), - Object(NonMatching, "Enemy/riccohook.cpp"), - Object(NonMatching, "Enemy/bombhei.cpp"), - Object(NonMatching, "Enemy/cannon.cpp"), - Object(NonMatching, "Enemy/bosseel.cpp"), - Object(NonMatching, "Enemy/killer.cpp"), - Object(NonMatching, "Enemy/beam.cpp"), - Object(NonMatching, "Enemy/hanasambo.cpp"), - Object(NonMatching, "Enemy/popo.cpp"), - Object(NonMatching, "Enemy/SleepBossHanachan.cpp"), - Object(NonMatching, "Enemy/DemoBossHanachanBase.cpp"), - Object(NonMatching, "Enemy/fruitsboat.cpp"), - Object(NonMatching, "Enemy/BossHanachanSub.cpp"), - Object(NonMatching, "Enemy/BossHanachanMain.cpp"), - Object(NonMatching, "Enemy/BossHanachanNerve.cpp"), + PCHObject(Matching, "Enemy/typicalenemy.cpp"), + PCHObject(NonMatching, "Enemy/walker.cpp"), + PCHObject(NonMatching, "Enemy/walkerEnemy.cpp"), + PCHObject(NonMatching, "Enemy/bossgesso.cpp"), + PCHObject(NonMatching, "Enemy/elecNokonoko.cpp"), + PCHObject(NonMatching, "Enemy/telesa.cpp"), + PCHObject(NonMatching, "Enemy/fireWanwan.cpp"), + PCHObject(NonMatching, "Enemy/enemytable.cpp"), + PCHObject(NonMatching, "Enemy/generator.cpp"), + PCHObject(NonMatching, "Enemy/bosspakkun.cpp"), + PCHObject(NonMatching, "Enemy/tobiPuku.cpp"), + PCHObject(NonMatching, "Enemy/tinkoopa.cpp"), + PCHObject(NonMatching, "Enemy/launcher.cpp"), + PCHObject(NonMatching, "Enemy/bosswanwan.cpp"), + PCHObject(NonMatching, "Enemy/chuuhana.cpp"), + PCHObject(NonMatching, "Enemy/igaiga.cpp"), + PCHObject(NonMatching, "Enemy/poihana.cpp"), + PCHObject(NonMatching, "Enemy/tamaNoko.cpp"), + PCHObject(NonMatching, "Enemy/bosstelesa.cpp"), + PCHObject(NonMatching, "Enemy/riccohook.cpp"), + PCHObject(NonMatching, "Enemy/bombhei.cpp"), + PCHObject(NonMatching, "Enemy/cannon.cpp"), + PCHObject(NonMatching, "Enemy/bosseel.cpp"), + PCHObject(NonMatching, "Enemy/killer.cpp"), + PCHObject(NonMatching, "Enemy/beam.cpp"), + PCHObject(NonMatching, "Enemy/hanasambo.cpp"), + PCHObject(NonMatching, "Enemy/popo.cpp"), + PCHObject(NonMatching, "Enemy/SleepBossHanachan.cpp"), + PCHObject(NonMatching, "Enemy/DemoBossHanachanBase.cpp"), + PCHObject(NonMatching, "Enemy/fruitsboat.cpp"), + PCHObject(NonMatching, "Enemy/BossHanachanSub.cpp"), + PCHObject(NonMatching, "Enemy/BossHanachanMain.cpp"), + PCHObject(NonMatching, "Enemy/BossHanachanNerve.cpp"), Object(NonMatching, "Enemy/BossHanachanAnm.cpp"), - Object(NonMatching, "Enemy/BossHanachanParts.cpp"), - Object(NonMatching, "Enemy/BossHanachanSave.cpp"), - Object(NonMatching, "Enemy/amiNoko.cpp"), - Object(NonMatching, "Enemy/gatekeeper.cpp"), - Object(NonMatching, "Enemy/BossHanachanEffect.cpp"), - Object(NonMatching, "Enemy/egggen.cpp"), - Object(NonMatching, "Enemy/seal.cpp"), - Object(NonMatching, "Enemy/bgpoldrop.cpp"), - Object(NonMatching, "Enemy/bgtentacle.cpp"), - Object(NonMatching, "Enemy/effectEnemy.cpp"), - Object(NonMatching, "Enemy/hauntLeg.cpp"), - Object(NonMatching, "Enemy/areacylinder.cpp"), - Object(NonMatching, "Enemy/wireTrap.cpp"), - Object(NonMatching, "Enemy/BossHanachanSound.cpp"), - Object(NonMatching, "Enemy/rocket.cpp"), - Object(NonMatching, "Enemy/Kazekun.cpp"), - Object(NonMatching, "Enemy/bossManta.cpp"), - Object(NonMatching, "Enemy/wireBinder.cpp"), - Object(NonMatching, "Enemy/yunbo.cpp"), - Object(NonMatching, "Enemy/koopajr.cpp"), - Object(NonMatching, "Enemy/Kumokun.cpp"), - Object(NonMatching, "Enemy/Koopa.cpp"), - Object(NonMatching, "Enemy/Kukku.cpp"), - Object(NonMatching, "Enemy/Amenbo.cpp"), - Object(NonMatching, "Enemy/BathtubPeach.cpp"), - Object(NonMatching, "Enemy/BathtubKiller.cpp"), - Object(NonMatching, "Enemy/coasterkiller.cpp"), - Object(NonMatching, "Enemy/DebuTelesa.cpp"), - Object(NonMatching, "Enemy/TabePuku.cpp"), - Object(NonMatching, "Enemy/BathtubBinder.cpp"), - Object(NonMatching, "Enemy/limitkoopa.cpp"), - Object(NonMatching, "Enemy/limitkoopajr.cpp"), + PCHObject(NonMatching, "Enemy/BossHanachanParts.cpp"), + PCHObject(NonMatching, "Enemy/BossHanachanSave.cpp"), + PCHObject(NonMatching, "Enemy/amiNoko.cpp"), + PCHObject(NonMatching, "Enemy/gatekeeper.cpp"), + PCHObject(NonMatching, "Enemy/BossHanachanEffect.cpp"), + PCHObject(NonMatching, "Enemy/egggen.cpp"), + PCHObject(NonMatching, "Enemy/seal.cpp"), + PCHObject(NonMatching, "Enemy/bgpoldrop.cpp"), + PCHObject(NonMatching, "Enemy/bgtentacle.cpp"), + PCHObject(NonMatching, "Enemy/effectEnemy.cpp"), + PCHObject(NonMatching, "Enemy/hauntLeg.cpp"), + PCHObject(NonMatching, "Enemy/areacylinder.cpp"), + PCHObject(NonMatching, "Enemy/wireTrap.cpp"), + PCHObject(NonMatching, "Enemy/BossHanachanSound.cpp"), + PCHObject(NonMatching, "Enemy/rocket.cpp"), + PCHObject(NonMatching, "Enemy/Kazekun.cpp"), + PCHObject(NonMatching, "Enemy/bossManta.cpp"), + PCHObject(NonMatching, "Enemy/wireBinder.cpp"), + PCHObject(NonMatching, "Enemy/yunbo.cpp"), + PCHObject(NonMatching, "Enemy/koopajr.cpp"), + PCHObject(NonMatching, "Enemy/Kumokun.cpp"), + PCHObject(NonMatching, "Enemy/Koopa.cpp"), + PCHObject(NonMatching, "Enemy/Kukku.cpp"), + PCHObject(NonMatching, "Enemy/Amenbo.cpp"), + PCHObject(NonMatching, "Enemy/BathtubPeach.cpp"), + PCHObject(NonMatching, "Enemy/BathtubKiller.cpp"), + PCHObject(NonMatching, "Enemy/coasterkiller.cpp"), + PCHObject(NonMatching, "Enemy/DebuTelesa.cpp"), + PCHObject(NonMatching, "Enemy/TabePuku.cpp"), + PCHObject(NonMatching, "Enemy/BathtubBinder.cpp"), + PCHObject(NonMatching, "Enemy/limitkoopa.cpp"), + PCHObject(NonMatching, "Enemy/limitkoopajr.cpp"), ], }, { "lib": "Camera", "mw_version": "GC/1.2.5", - "cflags": [*cflags_game, "-inline deferred", "-opt all,nostrength"], + "cflags": cflags_game, "progress_category": "game", "objects": [ Object(NonMatching, "Camera/CameraBGCheck.cpp"), - Object(NonMatching, "Camera/CameraChange.cpp"), + PCHObject(NonMatching, "Camera/CameraChange.cpp"), Object(NonMatching, "Camera/CameraCodeControl.cpp"), - Object(NonMatching, "Camera/cameragc.cpp"), - Object(Matching, "Camera/CameraHeightPan.cpp"), + PCHObject(NonMatching, "Camera/cameragc.cpp"), + PCHObject(Matching, "Camera/CameraHeightPan.cpp"), Object(NonMatching, "Camera/CameraInbetween.cpp"), Object(Matching, "Camera/CameraKindParam.cpp"), Object(NonMatching, "Camera/cameralib.cpp"), Object(NonMatching, "Camera/CameraMarioData.cpp"), - Object(NonMatching, "Camera/CameraNotice.cpp"), - Object(NonMatching, "Camera/CameraNormal.cpp"), - Object(Matching, "Camera/camerasave.cpp"), + PCHObject(NonMatching, "Camera/CameraNotice.cpp"), + PCHObject(NonMatching, "Camera/CameraNormal.cpp"), + PCHObject(Matching, "Camera/camerasave.cpp"), Object(NonMatching, "Camera/camerashake.cpp"), Object(NonMatching, "Camera/CameraTalk.cpp"), - Object(NonMatching, "Camera/lensflare.cpp"), - Object(NonMatching, "Camera/lensglow.cpp"), - Object(NonMatching, "Camera/sunmgr.cpp"), - Object(NonMatching, "Camera/sunmodel.cpp"), - Object(NonMatching, "Camera/CubeManagerBase.cpp"), - Object(Matching, "Camera/CameraMapTool.cpp"), - Object(Matching, "Camera/CubeMapTool.cpp"), + PCHObject(NonMatching, "Camera/lensflare.cpp"), + PCHObject(NonMatching, "Camera/lensglow.cpp"), + PCHObject(NonMatching, "Camera/sunmgr.cpp"), + PCHObject(NonMatching, "Camera/sunmodel.cpp"), + PCHObject(NonMatching, "Camera/CubeManagerBase.cpp"), + PCHObject(Matching, "Camera/CameraMapTool.cpp"), + PCHObject(Matching, "Camera/CubeMapTool.cpp"), Object(NonMatching, "Camera/CameraMultiPlayer.cpp"), - Object(NonMatching, "Camera/CameraJetCoaster.cpp"), - Object(NonMatching, "Camera/CameraBck.cpp"), - Object(NonMatching, "Camera/CameraOption.cpp"), - Object(NonMatching, "Camera/CameraDemo.cpp"), + PCHObject(NonMatching, "Camera/CameraJetCoaster.cpp"), + PCHObject(NonMatching, "Camera/CameraBck.cpp"), + PCHObject(NonMatching, "Camera/CameraOption.cpp"), + PCHObject(NonMatching, "Camera/CameraDemo.cpp"), Object(NonMatching, "Camera/CameraWarp.cpp"), - Object(NonMatching, "Camera/CameraMode.cpp"), + PCHObject(NonMatching, "Camera/CameraMode.cpp"), Object(NonMatching, "Camera/CameraSecureView.cpp"), - Object(Matching, "Camera/CamShakeDefine.cpp"), + PCHObject(Matching, "Camera/CamShakeDefine.cpp"), ], }, { "lib": "Animal", "mw_version": "GC/1.2.5", - "cflags": [*cflags_game, "-inline deferred", "-opt all,nostrength"], + "cflags": cflags_game, "progress_category": "game", "objects": [ - Object(NonMatching, "Animal/boid.cpp"), - Object(NonMatching, "Animal/fishoid.cpp"), - Object(NonMatching, "Animal/AnimalBase.cpp"), - Object(NonMatching, "Animal/AnimalManager.cpp"), - Object(Matching, "Animal/AnimalSave.cpp"), - Object(NonMatching, "Animal/AnimalNerve.cpp"), - Object(NonMatching, "Animal/Bird.cpp"), - Object(NonMatching, "Animal/BeeHive.cpp"), - Object(NonMatching, "Animal/Butterfly.cpp"), + PCHObject(NonMatching, "Animal/boid.cpp"), + PCHObject(NonMatching, "Animal/fishoid.cpp"), + PCHObject(NonMatching, "Animal/AnimalBase.cpp"), + PCHObject(NonMatching, "Animal/AnimalManager.cpp"), + PCHObject(Matching, "Animal/AnimalSave.cpp"), + PCHObject(NonMatching, "Animal/AnimalNerve.cpp"), + PCHObject(NonMatching, "Animal/Bird.cpp"), + PCHObject(NonMatching, "Animal/BeeHive.cpp"), + PCHObject(NonMatching, "Animal/Butterfly.cpp"), ], }, ] diff --git a/include/Enemy/CoasterKiller.hpp b/include/Enemy/CoasterKiller.hpp index 9145522fa..f54cf19ed 100644 --- a/include/Enemy/CoasterKiller.hpp +++ b/include/Enemy/CoasterKiller.hpp @@ -40,7 +40,7 @@ class TCoasterEnemy : public TWalkerEnemy { public: TCoasterEnemy(const char* name) : TWalkerEnemy(name) - , mPathIdx(0) { }; + , mPathDir(0) { }; virtual ~TCoasterEnemy() { } virtual void calcRootMatrix(); diff --git a/include/MarioUtil/ShadowUtil.hpp b/include/MarioUtil/ShadowUtil.hpp index 26ea10327..62f49817e 100644 --- a/include/MarioUtil/ShadowUtil.hpp +++ b/include/MarioUtil/ShadowUtil.hpp @@ -39,6 +39,9 @@ class TMBindShadowBody { bool isBodyJoint(int); void entryDrawShadow(); void calc(); + +private: + /* 0x0 */ u8 unk0[0x1C]; }; class TAlphaShadowQuad; diff --git a/include/MoveBG/MapObjGeneral.hpp b/include/MoveBG/MapObjGeneral.hpp index 52ce0beb1..f425998e1 100644 --- a/include/MoveBG/MapObjGeneral.hpp +++ b/include/MoveBG/MapObjGeneral.hpp @@ -11,6 +11,7 @@ class TMapObjGeneral : public TMapObjBase { TMapObjGeneral(const char* name = "汎用地形オブジェ"); + virtual void initMapObj(); virtual void loadAfter(); virtual void perform(u32 cue, JDrama::TGraphics* graphics); virtual BOOL receiveMessage(THitActor* sender, u32 message); @@ -20,12 +21,11 @@ class TMapObjGeneral : public TMapObjBase { virtual void bind(); virtual void kill(); virtual void appear(); - virtual void initMapObj(); virtual void checkIllegalAttr() const { } virtual void touchPlayer(THitActor*); virtual u32 touchWater(THitActor*); virtual u32 getLivingTime() const { return mNormalLivingTime; } - virtual int getFlushTime() const { } + virtual int getFlushTime() const { return mNormalFlushTime; } virtual bool isPollutedGround(const JGeometry::TVec3&) const; virtual void work(); virtual void appearing(); diff --git a/include/SMS.pch b/include/SMS.pch new file mode 100644 index 000000000..9f0dc4c9f --- /dev/null +++ b/include/SMS.pch @@ -0,0 +1,12 @@ +#ifndef SMS_PCH +#define SMS_PCH + +#include +#include +#include +#include +#include +#include +#include + +#endif diff --git a/src/Enemy/Kumokun.cpp b/src/Enemy/Kumokun.cpp index 558d9f8e4..987931184 100644 --- a/src/Enemy/Kumokun.cpp +++ b/src/Enemy/Kumokun.cpp @@ -1029,7 +1029,7 @@ void TKumokunManager::load(JSUMemoryInputStream& stream) unk38 = params; params->mSLAttackRadius.set(60); - params->mSLAttackRadius.set(50); + params->mSLAttackHeight.set(50); params->mSLDamageRadius.set(60); params->mSLDamageHeight.set(70); TSmallEnemyManager::load(stream); diff --git a/src/Enemy/bgtentacle.cpp b/src/Enemy/bgtentacle.cpp index 2b7507a0d..c14ab2b4b 100644 --- a/src/Enemy/bgtentacle.cpp +++ b/src/Enemy/bgtentacle.cpp @@ -1353,7 +1353,10 @@ void TBGTentacle::calcAttackGuideAnm() void TBGTentacle::resetAllNodes(const JGeometry::TVec3& param_1) { JGeometry::TVec3 local_78 = param_1; - JGeometry::TVec3 zero(0.0f, 0.0f, 0.0f); + JGeometry::TVec3 zero; + zero.z = 0.0f; + zero.y = 0.0f; + zero.x = 0.0f; getFirstNode()->onUnk24(); diff --git a/src/Enemy/graph.cpp b/src/Enemy/graph.cpp index 5a0ca3b73..d57435f20 100644 --- a/src/Enemy/graph.cpp +++ b/src/Enemy/graph.cpp @@ -7,13 +7,6 @@ #include #include -static void dummy(Vec* v) -{ - static Vec v1 = { 1.0f, 1.0f, 1.0f }; - static Vec v2 = { 1.0f, 1.0f, 1.0f }; - static int a[] = { 0, 2, 1, 3 }; -} - // rogue include #include diff --git a/src/MSound/MSModBgm.cpp b/src/MSound/MSModBgm.cpp index 840306e77..1c432dd28 100644 --- a/src/MSound/MSModBgm.cpp +++ b/src/MSound/MSModBgm.cpp @@ -5,11 +5,6 @@ #include #include -// TODO: this is from the PCH -static Vec dummy1 = { 1.0f, 1.0f, 1.0f }; -static Vec dummy2 = { 1.0f, 1.0f, 1.0f }; -static u32 dummy3[] = { 0, 2, 1, 3 }; - JAISound* MSModBgm::modBgm(u8 param_1, u8 param_2) { switch (param_1) { diff --git a/src/MarioUtil/MathUtil.cpp b/src/MarioUtil/MathUtil.cpp index 8db84dad0..f0ab4c96d 100644 --- a/src/MarioUtil/MathUtil.cpp +++ b/src/MarioUtil/MathUtil.cpp @@ -1,10 +1,6 @@ #include #include -static Vec dummy1 = { 1.0f, 1.0f, 1.0f }; -static Vec dummy2 = { 1.0f, 1.0f, 1.0f }; -static int dummy3[] = { 0, 2, 1, 3 }; - static u16 atntable[] = { 0, 10, 20, 31, 41, 51, 61, 71, 81, 92, 102, 112, 122, 132, 143, 153, 163, 173, 183, 194, 204, 214, 224, 234, diff --git a/src/MoveBG/MapObjInit.cpp b/src/MoveBG/MapObjInit.cpp index aae48cf1d..179d94ba2 100644 --- a/src/MoveBG/MapObjInit.cpp +++ b/src/MoveBG/MapObjInit.cpp @@ -22,18 +22,8 @@ #include #include -static void dummy() { static Vec data_2100 = { 1.0f, 1.0f, 1.0f }; } -static void dummy2() { static Vec data_2100 = { 1.0f, 1.0f, 1.0f }; } -static void dummy3() { static u32 data_2100[] = { 0, 2, 1, 3 }; } - #include -static void dummy4(Vec& v) -{ - v = (Vec) { 0.0f, 0.0f, 0.0f }; - v = (Vec) { 1.0f, 1.0f, 1.0f }; -} - TMapObjSoundData TMapObjGeneral::mDefaultSound = { { 0xFFFFFFFF, MSD_SE_IT_COMMON_APPEAR, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, MSD_SE_IT_APPEAR, 0xFFFFFFFF }, diff --git a/src/NPC/NpcInitData.cpp b/src/NPC/NpcInitData.cpp index 3fcfad138..1ccf38d42 100644 --- a/src/NPC/NpcInitData.cpp +++ b/src/NPC/NpcInitData.cpp @@ -2,9 +2,6 @@ #include // pch issues -static f32 dummy0[3] = { 1.0f, 1.0f, 1.0f }; -static f32 dummy1[3] = { 1.0f, 1.0f, 1.0f }; -static u32 dummy2[4] = { 0, 2, 1, 3 }; static const char dummy3[] = "\0\0\0\0\0\0\0\0\0\0\0"; static const char dummy4[] = "メモリが足りません\n"; static const char dummy5[] = "__ROOT_JOINT__"; diff --git a/src/NPC/NpcSound.cpp b/src/NPC/NpcSound.cpp index 88ad1d248..f07446d58 100644 --- a/src/NPC/NpcSound.cpp +++ b/src/NPC/NpcSound.cpp @@ -1,9 +1,6 @@ #include // pch issues with J3DJoint and co -static Vec dummy0 = { 1.0f, 1.0f, 1.0f }; -static Vec dummy1 = { 1.0f, 1.0f, 1.0f }; -static u32 dummy2[] = { 0, 2, 1, 3 }; static const char dummy3[] = "\0\0\0\0\0\0\0\0\0\0\0"; static const char dummy4[] = "メモリが足りません\n"; static const char* MtxCalcTypeName[] = { diff --git a/src/System/CardManager.cpp b/src/System/CardManager.cpp index ca19c8edb..cfdf94cf0 100644 --- a/src/System/CardManager.cpp +++ b/src/System/CardManager.cpp @@ -5,10 +5,6 @@ #include #include -f32 dummy[] = { 1.0f, 1.0f, 1.0f }; -f32 dummy2[] = { 1.0f, 1.0f, 1.0f }; -u32 dummy3[] = { 0, 2, 1, 3 }; - static u8 sDetach[2]; const char CardFileName[0x20] = "super_mario_sunshine\0\0\0\0\0\0\0\0\0\0\0"; diff --git a/tools/project.py b/tools/project.py index 090613806..c36a335f6 100644 --- a/tools/project.py +++ b/tools/project.py @@ -664,11 +664,11 @@ def write_cargo_rule(): mwcc_sjis_implicit: List[Optional[Path]] = [*mwcc_implicit, sjiswrap] # MWCC for precompiled headers - mwcc_pch_cmd = f"{wrapper_cmd}{mwcc} $cflags -MMD -c $in -o $basedir -precompile $basefilestem.mch" + mwcc_pch_cmd = f'{wrapper_cmd}{mwcc} $cflags -MMD -c $in -o "$basedir" -precompile $basefilestem.mch' mwcc_pch_implicit: List[Optional[Path]] = [*mwcc_implicit] # MWCC for precompiled headers with UTF-8 to Shift JIS wrapper - mwcc_pch_sjis_cmd = f"{wrapper_cmd}{sjiswrap} {mwcc} $cflags -MMD -c $in -o $basedir -precompile $basefilestem.mch" + mwcc_pch_sjis_cmd = f'{wrapper_cmd}{sjiswrap} {mwcc} $cflags -MMD -c $in -o "$basedir" -precompile $basefilestem.mch' mwcc_pch_sjis_implicit: List[Optional[Path]] = [*mwcc_implicit, sjiswrap] # MWCC with extab post-processing