2022-10-01 22:13:41 -07:00
#!/usr/bin/env python3
LIBS = [
{
" lib " : " TRK_MINNOW_DOLPHIN " ,
" mwcc_version " : " 1.2.5 " ,
" cflags " : " $cflags_base " ,
2022-10-20 18:32:04 -07:00
" host " : False ,
2022-10-09 16:48:42 -07:00
" objects " : [
2022-10-18 18:58:24 -07:00
[ " MetroTRK/mslsupp " , True ] ,
] ,
2022-10-01 22:13:41 -07:00
} ,
{
2022-10-04 18:31:43 -07:00
" lib " : " MetroidPrimeCW " ,
2022-10-01 22:13:41 -07:00
" cflags " : " $cflags_retro " ,
" mwcc_version " : " 1.3.2 " ,
2022-10-20 18:32:04 -07:00
" host " : True ,
2022-10-01 22:13:41 -07:00
" objects " : [
2022-10-18 18:58:24 -07:00
[ " MetroidPrime/main " , False ] ,
2022-10-01 22:13:41 -07:00
" MetroidPrime/IRenderer " ,
2022-11-06 16:20:46 -08:00
[ " MetroidPrime/Cameras/CCameraManager " , False ] ,
2022-10-22 14:11:03 -07:00
[ " MetroidPrime/CControlMapper " , True ] ,
2022-10-01 22:13:41 -07:00
" MetroidPrime/Cameras/CFirstPersonCamera " ,
2022-10-13 21:50:56 -07:00
[ " MetroidPrime/CObjectList " , True ] ,
2022-10-01 22:13:41 -07:00
" MetroidPrime/Player/CPlayer " ,
2022-10-09 16:48:42 -07:00
[ " MetroidPrime/CAxisAngle " , True ] ,
2022-10-18 18:58:24 -07:00
[ " MetroidPrime/CEulerAngles " , False ] ,
2022-10-09 16:48:42 -07:00
[ " MetroidPrime/CArchMsgParmUserInput " , True ] ,
2022-10-01 22:13:41 -07:00
" MetroidPrime/CFrontEndUI " ,
2022-10-18 18:58:24 -07:00
[ " MetroidPrime/CInputGenerator " , False ] ,
2022-10-23 18:44:54 -07:00
[ " MetroidPrime/CMainFlow " , False ] ,
2022-10-01 22:13:41 -07:00
" MetroidPrime/CMFGame " ,
" MetroidPrime/CCredits " ,
" MetroidPrime/CSplashScreen " ,
2022-10-18 20:40:52 -07:00
[ " MetroidPrime/CInstruction " , True ] ,
2022-12-05 13:35:31 -08:00
[ " MetroidPrime/CAnimData " , False ] ,
2022-10-01 22:13:41 -07:00
" MetroidPrime/Factories/CCharacterFactory " ,
" MetroidPrime/Factories/CAssetFactory " ,
2022-12-06 22:06:09 -08:00
[ " MetroidPrime/Tweaks/CTweakPlayer " , True ] ,
2022-10-01 22:13:41 -07:00
" MetroidPrime/Tweaks/CTweaks " ,
2022-10-16 07:57:07 -07:00
[ " MetroidPrime/Tweaks/CTweakGame " , True ] ,
2022-10-01 22:13:41 -07:00
" MetroidPrime/CGameProjectile " ,
2022-10-18 18:58:24 -07:00
[ " MetroidPrime/Player/CPlayerGun " , False ] ,
2022-11-14 15:08:47 -08:00
[ " MetroidPrime/CStateManager " , False ] ,
2022-10-09 16:48:42 -07:00
[ " MetroidPrime/CEntity " , True ] ,
[ " MetroidPrime/CArchMsgParmInt32 " , True ] ,
[ " MetroidPrime/CArchMsgParmInt32Int32VoidPtr " , True ] ,
[ " MetroidPrime/CArchMsgParmNull " , True ] ,
[ " MetroidPrime/CArchMsgParmReal32 " , True ] ,
2022-10-16 17:46:11 -07:00
[ " MetroidPrime/Decode " , True ] ,
2022-12-01 08:19:53 -08:00
[ " MetroidPrime/CIOWinManager " , False ] ,
2022-10-09 16:48:42 -07:00
[ " MetroidPrime/CIOWin " , True ] ,
2022-10-18 18:58:24 -07:00
[ " MetroidPrime/CActor " , False ] ,
2022-10-01 22:13:41 -07:00
" MetroidPrime/CWorld " ,
2022-10-14 03:01:20 -07:00
[ " MetroidPrime/Tweaks/CTweakParticle " , True ] ,
2022-10-01 22:13:41 -07:00
" MetroidPrime/Clamp_int " ,
2022-10-09 16:48:42 -07:00
[ " MetroidPrime/CArchMsgParmControllerStatus " , True ] ,
2022-11-26 16:26:12 -08:00
[ " MetroidPrime/CExplosion " , False ] ,
2022-10-18 18:47:26 -07:00
[ " MetroidPrime/CEffect " , True ] ,
2022-10-01 22:13:41 -07:00
" MetroidPrime/Cameras/CGameCamera " ,
" MetroidPrime/CGameArea " ,
" MetroidPrime/HUD/CSamusHud " ,
2022-11-17 07:46:10 -08:00
[ " MetroidPrime/CAnimationDatabaseGame " , False ] ,
2022-10-01 22:13:41 -07:00
" MetroidPrime/CTransitionDatabaseGame " ,
2022-10-18 20:46:19 -07:00
[ " MetroidPrime/Tweaks/CTweakPlayerControl " , True ] ,
2022-10-01 22:13:41 -07:00
" MetroidPrime/Tweaks/CTweakPlayerGun " ,
" MetroidPrime/CPauseScreen " ,
2023-01-13 08:50:50 -08:00
[ " MetroidPrime/Tweaks/CTweakGui " , False ] ,
2022-11-16 12:06:16 -08:00
[ " MetroidPrime/ScriptObjects/CScriptActor " , False ] ,
2022-10-20 18:32:04 -07:00
[ " MetroidPrime/ScriptObjects/CScriptTrigger " , False ] ,
2022-11-04 08:17:11 -07:00
[ " MetroidPrime/ScriptObjects/CScriptWaypoint " , True ] ,
2022-10-01 22:13:41 -07:00
" MetroidPrime/Enemies/CPatterned " ,
" MetroidPrime/ScriptObjects/CScriptDoor " ,
2022-10-22 21:49:41 -07:00
[ " MetroidPrime/Enemies/CStateMachine " , False ] ,
2022-12-05 07:43:31 -08:00
[ " MetroidPrime/CMapArea " , False ] ,
2022-10-18 18:58:24 -07:00
[ " MetroidPrime/Cameras/CBallCamera " , False ] ,
2022-10-01 22:13:41 -07:00
" MetroidPrime/ScriptObjects/CScriptEffect " ,
" MetroidPrime/Weapons/CBomb " ,
2022-11-10 13:16:05 -08:00
[ " MetroidPrime/Tweaks/CTweakBall " , True ] ,
2022-10-18 18:58:24 -07:00
[ " MetroidPrime/Player/CPlayerState " , False ] ,
2022-10-18 08:17:17 -07:00
[ " MetroidPrime/ScriptObjects/CScriptTimer " , True ] ,
2022-11-16 12:06:16 -08:00
[ " MetroidPrime/Cameras/CCinematicCamera " , False ] ,
2022-10-01 22:13:41 -07:00
" MetroidPrime/CAutoMapper " ,
2022-10-16 06:31:44 -07:00
[ " MetroidPrime/ScriptObjects/CScriptCounter " , True ] ,
2022-10-01 22:13:41 -07:00
" MetroidPrime/CMapWorld " ,
" MetroidPrime/Enemies/CAi " ,
2022-10-23 11:35:55 -07:00
[ " MetroidPrime/Enemies/PatternedCastTo " , True ] ,
2022-10-09 16:48:42 -07:00
[ " MetroidPrime/TCastTo " , True ] ,
2022-10-01 22:13:41 -07:00
" MetroidPrime/ScriptObjects/CScriptSound " ,
2022-10-18 18:58:24 -07:00
[ " MetroidPrime/ScriptObjects/CScriptPlatform " , False ] ,
2022-10-09 16:48:42 -07:00
[ " MetroidPrime/UserNames " , True ] ,
2022-11-30 13:26:00 -08:00
[ " MetroidPrime/ScriptObjects/CScriptGenerator " , False ] ,
2022-10-21 09:43:17 -07:00
[ " MetroidPrime/ScriptObjects/CScriptCameraWaypoint " , False ] ,
2022-10-18 15:00:44 -07:00
[ " MetroidPrime/CGameLight " , True ] ,
2022-10-01 22:13:41 -07:00
" MetroidPrime/Tweaks/CTweakTargeting " ,
2022-10-20 05:45:54 -07:00
[ " MetroidPrime/Tweaks/CTweakAutoMapper " , True ] ,
2022-10-17 09:02:54 -07:00
[ " MetroidPrime/CParticleGenInfoGeneric " , True ] ,
2022-10-18 20:50:15 -07:00
[ " MetroidPrime/CParticleGenInfo " , True ] ,
2022-10-01 22:13:41 -07:00
" MetroidPrime/CParticleDatabase " ,
" MetroidPrime/Tweaks/CTweakGunRes " ,
" MetroidPrime/CTargetReticles " ,
2022-11-09 18:06:24 -08:00
[ " MetroidPrime/CWeaponMgr " , False ] ,
2022-10-09 16:48:42 -07:00
[ " MetroidPrime/ScriptObjects/CScriptPickup " , True ] ,
2022-10-18 18:58:24 -07:00
[ " MetroidPrime/CDamageInfo " , False ] ,
2022-10-09 16:48:42 -07:00
[ " MetroidPrime/CMemoryDrawEnum " , True ] ,
2022-10-01 22:13:41 -07:00
" MetroidPrime/ScriptObjects/CScriptDock " ,
" MetroidPrime/ScriptObjects/CScriptCameraHint " ,
2022-11-14 05:37:44 -08:00
[ " MetroidPrime/ScriptLoader " , False ] ,
2022-10-01 22:13:41 -07:00
" MetroidPrime/CSamusDoll " ,
" MetroidPrime/Factories/CStateMachineFactory " ,
2022-11-24 16:01:26 -08:00
[ " MetroidPrime/Weapons/CPlasmaBeam " , False ] ,
2022-11-15 12:06:18 -08:00
[ " MetroidPrime/Weapons/CPowerBeam " , False ] ,
2022-12-07 14:48:51 -08:00
[ " MetroidPrime/Weapons/CWaveBeam " , False ] ,
2022-11-24 08:48:00 -08:00
[ " MetroidPrime/Weapons/CIceBeam " , False ] ,
2022-11-03 09:17:05 -07:00
[ " MetroidPrime/CScriptMailbox " , False ] ,
2022-10-16 06:59:20 -07:00
[ " MetroidPrime/ScriptObjects/CScriptRelay " , True ] ,
2022-10-18 18:58:24 -07:00
[ " MetroidPrime/ScriptObjects/CScriptSpawnPoint " , False ] ,
2022-11-08 16:12:27 -08:00
[ " MetroidPrime/ScriptObjects/CScriptRandomRelay " , False ] ,
2022-10-01 22:13:41 -07:00
" MetroidPrime/Enemies/CBeetle " ,
2022-10-09 16:48:42 -07:00
[ " MetroidPrime/HUD/CHUDMemoParms " , True ] ,
2022-10-19 16:08:22 -07:00
[ " MetroidPrime/ScriptObjects/CScriptHUDMemo " , True ] ,
2022-12-05 10:17:40 -08:00
[ " MetroidPrime/CMappableObject " , False ] ,
2023-01-09 22:51:58 -08:00
[ " MetroidPrime/Player/CPlayerCameraBob " , False ] ,
2022-11-03 05:48:51 -07:00
[ " MetroidPrime/ScriptObjects/CScriptCameraFilterKeyframe " , True ] ,
2022-10-17 10:43:21 -07:00
[ " MetroidPrime/ScriptObjects/CScriptCameraBlurKeyframe " , True ] ,
2022-10-18 18:58:24 -07:00
[ " MetroidPrime/Cameras/CCameraFilter " , False ] ,
2022-10-01 22:13:41 -07:00
" MetroidPrime/Player/CMorphBall " ,
" MetroidPrime/ScriptObjects/CScriptDamageableTrigger " ,
" MetroidPrime/ScriptObjects/CScriptDebris " ,
2022-11-03 05:29:47 -07:00
[ " MetroidPrime/ScriptObjects/CScriptCameraShaker " , True ] ,
2022-11-10 15:23:57 -08:00
[ " MetroidPrime/ScriptObjects/CScriptActorKeyframe " , False ] ,
2022-10-18 18:58:24 -07:00
[ " MetroidPrime/CConsoleOutputWindow " , False ] ,
2022-10-01 22:13:41 -07:00
" MetroidPrime/ScriptObjects/CScriptWater " ,
2022-11-03 09:17:05 -07:00
[ " MetroidPrime/Weapons/CWeapon " , False ] ,
2022-10-18 18:58:24 -07:00
[ " MetroidPrime/CDamageVulnerability " , False ] ,
2022-11-26 19:04:19 -08:00
[ " MetroidPrime/CActorLights " , False ] ,
2022-10-14 08:12:16 -07:00
[ " MetroidPrime/Enemies/CPatternedInfo " , True ] ,
2022-11-16 20:56:21 -08:00
[ " MetroidPrime/CSimpleShadow " , False ] ,
2022-12-23 21:34:11 -08:00
[ " MetroidPrime/CActorParameters " , True ] ,
2022-10-01 22:13:41 -07:00
" MetroidPrime/CInGameGuiManager " ,
" MetroidPrime/Enemies/CWarWasp " ,
2022-12-01 08:11:09 -08:00
[ " MetroidPrime/CWorldShadow " , False ] ,
2022-10-13 16:34:22 -07:00
[ " MetroidPrime/CAudioStateWin " , True ] ,
2022-10-01 22:13:41 -07:00
" MetroidPrime/Player/CPlayerVisor " ,
" MetroidPrime/CModelData " ,
" MetroidPrime/CDecalManager " ,
" MetroidPrime/ScriptObjects/CScriptSpiderBallWaypoint " ,
" MetroidPrime/Enemies/CBloodFlower " ,
2022-10-09 19:27:35 -07:00
[ " MetroidPrime/TGameTypes " , True ] ,
2022-10-18 18:58:24 -07:00
[ " MetroidPrime/CPhysicsActor " , False ] ,
2022-10-09 16:48:42 -07:00
[ " MetroidPrime/CPhysicsState " , True ] ,
2022-10-18 18:58:24 -07:00
[ " MetroidPrime/CRipple " , False ] ,
2022-10-01 22:13:41 -07:00
" MetroidPrime/CFluidUVMotion " ,
2022-10-20 17:26:38 -07:00
[ " MetroidPrime/CRippleManager " , False ] ,
2022-10-18 18:58:24 -07:00
[ " MetroidPrime/Player/CGrappleArm " , False ] ,
2022-10-01 22:13:41 -07:00
" MetroidPrime/Enemies/CSpacePirate " ,
2022-11-07 16:40:58 -08:00
[ " MetroidPrime/ScriptObjects/CScriptCoverPoint " , False ] ,
2022-10-01 22:13:41 -07:00
" MetroidPrime/Cameras/CPathCamera " ,
" MetroidPrime/CFluidPlane " ,
" MetroidPrime/CFluidPlaneManager " ,
2022-10-17 11:28:33 -07:00
[ " MetroidPrime/ScriptObjects/CScriptGrapplePoint " , True ] ,
2022-11-10 16:26:17 -08:00
[ " MetroidPrime/ScriptObjects/CHUDBillboardEffect " , False ] ,
2022-10-01 22:13:41 -07:00
" MetroidPrime/Enemies/CFlickerBat " ,
" MetroidPrime/BodyState/CBodyStateCmdMgr " ,
2022-10-25 08:43:42 -07:00
[ " MetroidPrime/BodyState/CBodyStateInfo " , False ] ,
2022-11-11 06:51:34 -08:00
[ " MetroidPrime/BodyState/CBSAttack " , False ] ,
2022-10-28 01:57:00 -07:00
[ " MetroidPrime/BodyState/CBSDie " , True ] ,
2022-10-28 06:16:03 -07:00
[ " MetroidPrime/BodyState/CBSFall " , False ] ,
2022-10-28 02:17:39 -07:00
[ " MetroidPrime/BodyState/CBSGetup " , True ] ,
2022-10-28 09:12:27 -07:00
[ " MetroidPrime/BodyState/CBSKnockBack " , False ] ,
2022-10-28 03:49:33 -07:00
[ " MetroidPrime/BodyState/CBSLieOnGround " , True ] ,
2022-10-01 22:13:41 -07:00
" MetroidPrime/BodyState/CBSLocomotion " ,
2022-10-28 04:41:31 -07:00
[ " MetroidPrime/BodyState/CBSStep " , True ] ,
2022-11-23 13:25:35 -08:00
[ " MetroidPrime/BodyState/CBSTurn " , False ] ,
2022-10-01 22:13:41 -07:00
" MetroidPrime/BodyState/CBodyController " ,
2022-11-11 08:16:51 -08:00
[ " MetroidPrime/BodyState/CBSLoopAttack " , False ] ,
2022-11-10 18:25:54 -08:00
[ " MetroidPrime/Weapons/CTargetableProjectile " , False ] ,
2022-11-21 15:25:57 -08:00
[ " MetroidPrime/BodyState/CBSLoopReaction " , False ] ,
2022-10-01 22:13:41 -07:00
" MetroidPrime/CSteeringBehaviors " ,
2022-10-28 06:37:30 -07:00
[ " MetroidPrime/BodyState/CBSGroundHit " , False ] ,
2022-10-01 22:13:41 -07:00
" MetroidPrime/Enemies/CChozoGhost " ,
" MetroidPrime/Enemies/CFireFlea " ,
2022-10-24 16:29:11 -07:00
[ " MetroidPrime/BodyState/CBSSlide " , False ] ,
2022-10-01 22:13:41 -07:00
" MetroidPrime/BodyState/CBSHurled " ,
" MetroidPrime/BodyState/CBSJump " ,
2022-10-28 04:26:17 -07:00
[ " MetroidPrime/BodyState/CBSGenerate " , True ] ,
2022-10-01 22:13:41 -07:00
" MetroidPrime/Enemies/CPuddleSpore " ,
2022-10-28 04:34:03 -07:00
[ " MetroidPrime/BodyState/CBSTaunt " , True ] ,
2022-10-01 22:13:41 -07:00
" MetroidPrime/CSortedLists " ,
2022-10-09 16:48:42 -07:00
[ " MetroidPrime/ScriptObjects/CScriptDebugCameraWaypoint " , True ] ,
2022-10-21 08:13:34 -07:00
[ " MetroidPrime/ScriptObjects/CScriptSpiderBallAttractionSurface " , False ] ,
2022-10-28 04:25:08 -07:00
[ " MetroidPrime/BodyState/CBSScripted " , True ] ,
2022-10-01 22:13:41 -07:00
" MetroidPrime/Enemies/CPuddleToadGamma " ,
2022-10-21 07:28:54 -07:00
[ " MetroidPrime/ScriptObjects/CScriptDistanceFog " , False ] ,
2022-10-31 16:03:15 -07:00
[ " MetroidPrime/BodyState/CBSProjectileAttack " , True ] ,
2022-11-09 15:45:24 -08:00
[ " MetroidPrime/Weapons/CPowerBomb " , False ] ,
2022-10-28 21:22:07 -07:00
[ " MetroidPrime/Enemies/CMetaree " , False ] ,
2022-10-18 18:58:24 -07:00
[ " MetroidPrime/ScriptObjects/CScriptDockAreaChange " , False ] ,
[ " MetroidPrime/ScriptObjects/CScriptSpecialFunction " , False ] ,
2022-12-23 17:50:36 -08:00
[ " MetroidPrime/ScriptObjects/CScriptActorRotate " , False ] ,
2022-10-18 15:37:01 -07:00
[ " MetroidPrime/Player/CFidget " , True ] ,
2022-10-01 22:13:41 -07:00
" MetroidPrime/Enemies/CSpankWeed " ,
" MetroidPrime/Enemies/CParasite " ,
2022-11-26 05:51:04 -08:00
[ " MetroidPrime/Player/CSamusFaceReflection " , False ] ,
2022-11-03 15:05:21 -07:00
[ " MetroidPrime/ScriptObjects/CScriptPlayerHint " , True ] ,
2022-10-01 22:13:41 -07:00
" MetroidPrime/Enemies/CRipper " ,
" MetroidPrime/Cameras/CCameraShakeData " ,
2022-11-29 09:17:12 -08:00
[ " MetroidPrime/ScriptObjects/CScriptPickupGenerator " , False ] ,
2022-10-21 07:51:59 -07:00
[ " MetroidPrime/ScriptObjects/CScriptPointOfInterest " , True ] ,
2022-10-01 22:13:41 -07:00
" MetroidPrime/Enemies/CDrone " ,
" MetroidPrime/CMapWorldInfo " ,
2022-10-22 20:02:37 -07:00
[ " MetroidPrime/Factories/CScannableObjectInfo " , False ] ,
2022-10-01 22:13:41 -07:00
" MetroidPrime/Enemies/CMetroid " ,
" MetroidPrime/Player/CScanDisplay " ,
2022-10-20 18:32:04 -07:00
[ " MetroidPrime/ScriptObjects/CScriptSteam " , False ] ,
2022-10-18 18:58:24 -07:00
[ " MetroidPrime/ScriptObjects/CScriptRipple " , False ] ,
2022-10-01 22:13:41 -07:00
" MetroidPrime/CBoneTracking " ,
2022-10-21 06:48:25 -07:00
[ " MetroidPrime/Player/CFaceplateDecoration " , False ] ,
2022-11-11 04:55:40 -08:00
[ " MetroidPrime/BodyState/CBSCover " , False ] ,
2022-11-04 20:20:01 -07:00
[ " MetroidPrime/ScriptObjects/CScriptBallTrigger " , True ] ,
2022-10-01 22:13:41 -07:00
" MetroidPrime/Weapons/CPlasmaProjectile " ,
" MetroidPrime/Player/CPlayerOrbit " ,
" MetroidPrime/CGameCollision " ,
2022-10-13 15:47:30 -07:00
[ " MetroidPrime/CBallFilter " , True ] ,
2022-10-18 21:11:57 -07:00
[ " MetroidPrime/CAABoxFilter " , True ] ,
2022-10-01 22:13:41 -07:00
" MetroidPrime/CGroundMovement " ,
2022-11-03 09:17:05 -07:00
[ " MetroidPrime/Enemies/CNewIntroBoss " , False ] ,
2022-10-01 22:13:41 -07:00
" MetroidPrime/Weapons/CPhazonBeam " ,
2022-10-17 11:17:46 -07:00
[ " MetroidPrime/ScriptObjects/CScriptTargetingPoint " , True ] ,
2022-10-01 22:13:41 -07:00
" MetroidPrime/BodyState/CBSWallHang " ,
2022-11-13 16:10:00 -08:00
[ " MetroidPrime/ScriptObjects/CScriptEMPulse " , False ] ,
2022-10-01 22:13:41 -07:00
" MetroidPrime/HUD/CHudDecoInterface " ,
" MetroidPrime/Weapons/CFlameThrower " ,
2022-11-24 08:29:09 -08:00
[ " MetroidPrime/Weapons/CBeamProjectile " , False ] ,
2022-10-01 22:13:41 -07:00
" MetroidPrime/CFluidPlaneCPU " ,
" MetroidPrime/CFluidPlaneDoor " ,
2022-11-04 07:58:34 -07:00
[ " MetroidPrime/ScriptObjects/CScriptRoomAcoustics " , True ] ,
2022-10-01 22:13:41 -07:00
" MetroidPrime/Enemies/CIceSheegoth " ,
2022-11-03 09:17:05 -07:00
[ " MetroidPrime/CCollisionActorManager " , False ] ,
2022-10-01 22:13:41 -07:00
" MetroidPrime/CCollisionActor " ,
" MetroidPrime/ScriptObjects/CScriptPlayerActor " ,
" MetroidPrime/Tweaks/CTweakPlayerRes " ,
2022-10-19 19:00:49 -07:00
[ " MetroidPrime/Enemies/CBurstFire " , True ] ,
2022-10-01 22:13:41 -07:00
" MetroidPrime/Enemies/CFlaahgra " ,
" MetroidPrime/Player/CPlayerEnergyDrain " ,
2022-11-26 17:43:52 -08:00
[ " MetroidPrime/CFlameWarp " , False ] ,
2022-10-01 22:13:41 -07:00
" MetroidPrime/Weapons/CIceImpact " ,
2022-10-13 22:58:49 -07:00
[ " MetroidPrime/GameObjectLists " , True ] ,
2022-10-01 22:13:41 -07:00
" MetroidPrime/Weapons/CAuxWeapon " ,
2022-11-24 16:01:26 -08:00
[ " MetroidPrime/Weapons/CGunWeapon " , False ] ,
2022-10-18 18:58:24 -07:00
[ " MetroidPrime/ScriptObjects/CScriptAreaAttributes " , False ] ,
2022-10-01 22:13:41 -07:00
" MetroidPrime/Weapons/CWaveBuster " ,
2022-11-10 02:55:04 -08:00
[ " MetroidPrime/Player/CStaticInterference " , False ] ,
2022-10-01 22:13:41 -07:00
" MetroidPrime/Enemies/CMetroidBeta " ,
" MetroidPrime/PathFinding/CPathFindSearch " ,
" MetroidPrime/PathFinding/CPathFindRegion " ,
" MetroidPrime/PathFinding/CPathFindArea " ,
2022-10-18 18:58:24 -07:00
[ " MetroidPrime/Weapons/GunController/CGunController " , False ] ,
[ " MetroidPrime/Weapons/GunController/CGSFreeLook " , False ] ,
2022-11-07 15:04:20 -08:00
[ " MetroidPrime/Weapons/GunController/CGSComboFire " , True ] ,
2022-11-07 09:06:11 -08:00
[ " MetroidPrime/HUD/CHudBallInterface " , False ] ,
2022-11-10 13:39:23 -08:00
[ " MetroidPrime/Tweaks/CTweakGuiColors " , False ] ,
2022-10-01 22:13:41 -07:00
" MetroidPrime/ScriptObjects/CFishCloud " ,
2022-10-13 15:37:09 -07:00
[ " MetroidPrime/CHealthInfo " , True ] ,
2022-10-01 22:13:41 -07:00
" MetroidPrime/Player/CGameState " ,
2022-10-23 06:44:06 -07:00
[ " MetroidPrime/ScriptObjects/CScriptVisorFlare " , False ] ,
2022-11-08 15:04:51 -08:00
[ " MetroidPrime/ScriptObjects/CScriptWorldTeleporter " , False ] ,
2022-11-22 13:11:50 -08:00
[ " MetroidPrime/ScriptObjects/CScriptVisorGoo " , False ] ,
2022-10-01 22:13:41 -07:00
" MetroidPrime/Enemies/CJellyZap " ,
2022-12-08 14:05:14 -08:00
[ " MetroidPrime/ScriptObjects/CScriptControllerAction " , True ] ,
2022-10-18 18:58:24 -07:00
[ " MetroidPrime/Weapons/GunController/CGunMotion " , False ] ,
2022-10-09 16:48:42 -07:00
[ " MetroidPrime/ScriptObjects/CScriptSwitch " , True ] ,
2022-10-14 01:46:50 -07:00
[ " MetroidPrime/BodyState/CABSIdle " , True ] ,
2022-10-16 17:46:11 -07:00
[ " MetroidPrime/BodyState/CABSFlinch " , True ] ,
2022-11-10 10:50:42 -08:00
[ " MetroidPrime/BodyState/CABSAim " , False ] ,
2022-10-16 08:16:28 -07:00
[ " MetroidPrime/ScriptObjects/CScriptPlayerStateChange " , True ] ,
2022-10-01 22:13:41 -07:00
" MetroidPrime/Enemies/CThardus " ,
" MetroidPrime/CActorParticles " ,
" MetroidPrime/Enemies/CWallCrawlerSwarm " ,
2022-10-21 09:00:19 -07:00
[ " MetroidPrime/ScriptObjects/CScriptAiJumpPoint " , True ] ,
2022-10-01 22:13:41 -07:00
" MetroidPrime/CMessageScreen " ,
" MetroidPrime/Enemies/CFlaahgraTentacle " ,
2022-11-07 15:20:36 -08:00
[ " MetroidPrime/Weapons/GunController/CGSFidget " , True ] ,
2022-10-28 05:33:10 -07:00
[ " MetroidPrime/BodyState/CABSReaction " , True ] ,
2022-10-01 22:13:41 -07:00
" MetroidPrime/Weapons/CIceProjectile " ,
" MetroidPrime/Enemies/CFlyingPirate " ,
" MetroidPrime/ScriptObjects/CScriptColorModulate " ,
" MetroidPrime/CMapUniverse " ,
" MetroidPrime/Enemies/CThardusRockProjectile " ,
" MetroidPrime/CInventoryScreen " ,
2022-10-23 06:44:06 -07:00
[ " MetroidPrime/CVisorFlare " , False ] ,
2022-11-25 20:02:24 -08:00
[ " MetroidPrime/Enemies/CFlaahgraPlants " , True ] ,
2022-10-01 22:13:41 -07:00
" MetroidPrime/CWorldTransManager " ,
2022-10-21 14:40:29 -07:00
[ " MetroidPrime/ScriptObjects/CScriptMidi " , False ] ,
2022-12-22 06:19:00 -08:00
[ " MetroidPrime/ScriptObjects/CScriptStreamedAudio " , False ] ,
2022-10-01 22:13:41 -07:00
" MetroidPrime/CRagDoll " ,
2022-10-31 09:19:28 -07:00
[ " MetroidPrime/Player/CGameOptions " , False ] ,
2022-10-21 05:52:22 -07:00
[ " MetroidPrime/ScriptObjects/CRepulsor " , True ] ,
2022-10-01 22:13:41 -07:00
" MetroidPrime/CEnvFxManager " ,
" MetroidPrime/Weapons/CEnergyProjectile " ,
" MetroidPrime/ScriptObjects/CScriptGunTurret " ,
2022-10-20 04:18:42 -07:00
[ " MetroidPrime/Weapons/CProjectileInfo " , True ] ,
2022-10-01 22:13:41 -07:00
" MetroidPrime/CInGameTweakManager " ,
" MetroidPrime/Enemies/CBabygoth " ,
" MetroidPrime/Enemies/CEyeBall " ,
" MetroidPrime/CIkChain " ,
2022-11-03 15:36:16 -07:00
[ " MetroidPrime/ScriptObjects/CScriptCameraPitchVolume " , True ] ,
2023-01-14 13:22:15 -08:00
[ " MetroidPrime/RumbleFxTable " , True ] ,
2022-10-01 22:13:41 -07:00
" MetroidPrime/Enemies/CElitePirate " ,
2022-10-17 04:10:16 -07:00
[ " MetroidPrime/CRumbleManager " , True ] ,
2022-10-01 22:13:41 -07:00
" MetroidPrime/Enemies/CBouncyGrenade " ,
" MetroidPrime/Enemies/CGrenadeLauncher " ,
" MetroidPrime/Weapons/CShockWave " ,
2022-11-07 05:30:53 -08:00
[ " MetroidPrime/Enemies/CRipperControlledPlatform " , True ] ,
2022-10-01 22:13:41 -07:00
" MetroidPrime/Enemies/CKnockBackController " ,
2022-11-04 09:15:45 -07:00
[ " MetroidPrime/Player/CWorldLayerState " , False ] ,
2022-10-01 22:13:41 -07:00
" MetroidPrime/Enemies/CMagdolite " ,
" MetroidPrime/Enemies/CTeamAiMgr " ,
" MetroidPrime/Enemies/CSnakeWeedSwarm " ,
2023-01-09 22:52:51 -08:00
" MetroidPrime/Cameras/CBallCameraFailsafeState " ,
2022-10-01 22:13:41 -07:00
" MetroidPrime/Enemies/CActorContraption " ,
" MetroidPrime/ScriptObjects/CScriptSpindleCamera " ,
2022-10-15 09:24:27 -07:00
[ " MetroidPrime/ScriptObjects/CScriptMemoryRelay " , True ] ,
2022-10-01 22:13:41 -07:00
" MetroidPrime/CPauseScreenFrame " ,
" MetroidPrime/Enemies/CAtomicAlpha " ,
" MetroidPrime/CLogBookScreen " ,
2022-10-16 13:20:36 -07:00
[ " MetroidPrime/CGBASupport " , True ] ,
2022-10-26 21:40:41 -07:00
" MetroidPrime/Player/CWorldSaveGameInfo " ,
2022-10-21 09:23:06 -07:00
[ " MetroidPrime/ScriptObjects/CScriptCameraHintTrigger " , True ] ,
2022-10-20 09:16:55 -07:00
[ " MetroidPrime/Enemies/CAmbientAI " , True ] ,
2022-10-18 18:58:24 -07:00
[ " MetroidPrime/CMemoryCardDriver " , False ] ,
2022-10-01 22:13:41 -07:00
" MetroidPrime/CSaveGameScreen " ,
" MetroidPrime/Enemies/CAtomicBeta " ,
2022-11-23 15:49:52 -08:00
[ " MetroidPrime/Weapons/CElectricBeamProjectile " , False ] ,
2022-10-01 22:13:41 -07:00
" MetroidPrime/Enemies/CRidley " ,
2022-10-28 21:22:07 -07:00
[ " MetroidPrime/Enemies/CPuffer " , False ] ,
2022-10-18 18:58:24 -07:00
[ " MetroidPrime/ScriptObjects/CFire " , False ] ,
2022-11-10 08:32:18 -08:00
[ " MetroidPrime/CPauseScreenBlur " , True ] ,
2022-10-01 22:13:41 -07:00
" MetroidPrime/Enemies/CTryclops " ,
" MetroidPrime/Weapons/CNewFlameThrower " ,
" MetroidPrime/Cameras/CInterpolationCamera " ,
" MetroidPrime/Enemies/CSeedling " ,
" MetroidPrime/Player/CGameHintInfo " ,
" MetroidPrime/Enemies/CWallWalker " ,
2022-11-23 16:41:55 -08:00
[ " MetroidPrime/CErrorOutputWindow " , False ] ,
2023-01-07 14:59:28 -08:00
[ " MetroidPrime/CRainSplashGenerator " , False ] ,
2022-10-26 21:40:41 -07:00
" MetroidPrime/Factories/CWorldSaveGameInfoFactory " ,
2022-10-01 22:13:41 -07:00
" MetroidPrime/CFluidPlaneRender " ,
" MetroidPrime/Enemies/CBurrower " ,
" MetroidPrime/Enemies/CMetroidPrimeExo " ,
2022-10-31 16:46:20 -07:00
[ " MetroidPrime/ScriptObjects/CScriptBeam " , True ] ,
2022-10-01 22:13:41 -07:00
" MetroidPrime/Enemies/CMetroidPrimeEssence " ,
" MetroidPrime/Enemies/CMetroidPrimeRelay " ,
" MetroidPrime/Player/CPlayerDynamics " ,
2022-10-18 18:58:24 -07:00
[ " MetroidPrime/ScriptObjects/CScriptMazeNode " , False ] ,
2022-12-01 05:45:36 -08:00
[ " MetroidPrime/Weapons/WeaponTypes " , False ] ,
2022-10-01 22:13:41 -07:00
" MetroidPrime/Enemies/COmegaPirate " ,
" MetroidPrime/Enemies/CPhazonPool " ,
" MetroidPrime/CNESEmulator " ,
" MetroidPrime/Enemies/CPhazonHealingNodule " ,
" MetroidPrime/Player/CMorphBallShadow " ,
" MetroidPrime/Player/CPlayerInputFilter " ,
" MetroidPrime/CSlideShow " ,
2022-10-16 09:35:43 -07:00
[ " MetroidPrime/Tweaks/CTweakSlideShow " , True ] ,
2022-10-01 22:13:41 -07:00
" MetroidPrime/CArtifactDoll " ,
2022-12-12 17:15:33 -08:00
[ " MetroidPrime/CProjectedShadow " , False ] ,
2022-10-17 04:47:47 -07:00
[ " MetroidPrime/CPreFrontEnd " , True ] ,
2022-11-13 18:18:45 -08:00
[ " MetroidPrime/CGameCubeDoll " , False ] ,
2022-11-08 06:10:22 -08:00
[ " MetroidPrime/ScriptObjects/CScriptProjectedShadow " , False ] ,
2022-10-01 22:13:41 -07:00
" MetroidPrime/ScriptObjects/CEnergyBall " ,
2022-12-31 12:11:53 -08:00
[ " MetroidPrime/Enemies/CMetroidPrimeProjectile " , True ] ,
2022-10-18 18:38:45 -07:00
[ " MetroidPrime/Enemies/SPositionHistory " , True ] ,
2022-10-01 22:13:41 -07:00
] ,
} ,
{
" lib " : " WorldFormatCW " ,
" mwcc_version " : " 1.3.2 " ,
" cflags " : " $cflags_retro " ,
2022-10-20 18:32:04 -07:00
" host " : True ,
2022-10-01 22:13:41 -07:00
" objects " : [
" WorldFormat/CAreaOctTree_Tests " ,
2022-10-09 16:48:42 -07:00
[ " WorldFormat/CCollisionSurface " , True ] ,
2022-11-02 23:54:47 -07:00
[ " WorldFormat/CMetroidModelInstance " , True ] ,
2022-10-01 22:13:41 -07:00
" WorldFormat/CAreaBspTree " ,
" WorldFormat/CAreaOctTree " ,
2022-10-20 17:26:38 -07:00
[ " WorldFormat/CMetroidAreaCollider " , False ] ,
2022-10-18 18:58:24 -07:00
[ " WorldFormat/CWorldLight " , False ] ,
2022-10-01 22:13:41 -07:00
" WorldFormat/COBBTree " ,
" WorldFormat/CCollidableOBBTree " ,
" WorldFormat/CCollidableOBBTreeGroup " ,
2022-10-13 09:00:49 -07:00
" WorldFormat/CPVSAreaSet " ,
2022-10-01 22:13:41 -07:00
" WorldFormat/CAreaRenderOctTree " ,
] ,
} ,
{
" lib " : " WeaponsCW " ,
" mwcc_version " : " 1.3.2 " ,
" cflags " : " $cflags_retro " ,
2022-10-20 18:32:04 -07:00
" host " : True ,
2022-10-01 22:13:41 -07:00
" objects " : [
2022-12-09 11:11:37 -08:00
" Weapons/CProjectileWeapon " ,
2022-10-01 22:13:41 -07:00
" Weapons/CProjectileWeaponDataFactory " ,
" Weapons/CCollisionResponseData " ,
2022-10-09 16:48:42 -07:00
[ " Weapons/IWeaponRenderer " , True ] ,
2022-10-01 22:13:41 -07:00
" Weapons/CDecalDataFactory " ,
2022-10-18 18:58:24 -07:00
[ " Weapons/CDecal " , False ] ,
2022-11-16 21:13:56 -08:00
[ " Weapons/CWeaponDescription " , True ] ,
2022-11-16 20:36:02 -08:00
[ " Weapons/CDecalDescription " , True ] ,
2022-10-01 22:13:41 -07:00
] ,
} ,
{
" lib " : " MetaRenderCW " ,
" mwcc_version " : " 1.3.2 " ,
" cflags " : " $cflags_retro " ,
2022-10-20 18:32:04 -07:00
" host " : True ,
2022-10-01 22:13:41 -07:00
" objects " : [ " MetaRender/CCubeRenderer " ] ,
} ,
{
" lib " : " GuiSysCW " ,
" mwcc_version " : " 1.3.2 " ,
" cflags " : " $cflags_retro " ,
2022-10-20 18:32:04 -07:00
" host " : True ,
2022-10-01 22:13:41 -07:00
" objects " : [
2022-12-09 13:30:06 -08:00
[ " GuiSys/CAuiMain " , True ] ,
2022-10-01 22:13:41 -07:00
" GuiSys/CAuiMeter " ,
" GuiSys/CGuiGroup " ,
" GuiSys/CGuiHeadWidget " ,
2023-01-13 16:53:27 -08:00
[ " GuiSys/CGuiLight " , True ] ,
2022-10-01 22:13:41 -07:00
" GuiSys/CGuiModel " ,
2022-12-28 19:32:27 -08:00
[ " GuiSys/CGuiObject " , False ] ,
2022-10-01 22:13:41 -07:00
" GuiSys/CGuiPane " ,
" GuiSys/CGuiSliderGroup " ,
2022-12-31 11:59:30 -08:00
[ " GuiSys/CGuiSys " , True ] ,
2022-10-01 22:13:41 -07:00
" GuiSys/CGuiTableGroup " ,
" GuiSys/CGuiTextPane " ,
" GuiSys/CGuiTextSupport " ,
" GuiSys/CGuiWidget " ,
" GuiSys/CGuiWidgetIdDB " ,
2022-12-31 11:01:15 -08:00
[ " GuiSys/CGuiWidgetDrawParms " , True ] ,
2022-10-01 22:13:41 -07:00
" GuiSys/CAuiEnergyBarT01 " ,
" GuiSys/CAuiImagePane " ,
2022-11-16 14:17:35 -08:00
[ " GuiSys/CRepeatState " , True ] ,
2022-10-01 22:13:41 -07:00
] ,
} ,
{
" lib " : " CollisionCW " ,
" mwcc_version " : " 1.3.2 " ,
" cflags " : " $cflags_retro " ,
2022-10-20 18:32:04 -07:00
" host " : True ,
2022-10-01 22:13:41 -07:00
" objects " : [
2022-12-31 14:07:51 -08:00
[ " Collision/CCollidableAABox " , False ] ,
2022-12-08 14:33:06 -08:00
[ " Collision/CCollidableCollisionSurface " , True ] ,
2022-10-09 16:48:42 -07:00
[ " Collision/CCollisionInfo " , True ] ,
2022-10-01 22:13:41 -07:00
" Collision/InternalColliders " ,
2022-12-24 00:06:45 -08:00
[ " Collision/CCollisionPrimitive " , False ] ,
2022-10-09 16:48:42 -07:00
[ " Collision/CMaterialList " , True ] ,
2022-12-31 14:07:51 -08:00
[ " Collision/CollisionUtil " , False ] ,
2022-10-01 22:13:41 -07:00
" Collision/CCollidableSphere " ,
2022-10-09 16:48:42 -07:00
[ " Collision/CMaterialFilter " , True ] ,
2022-10-18 18:58:24 -07:00
[ " Collision/COBBox " , False ] ,
2022-10-09 16:48:42 -07:00
[ " Collision/CMRay " , True ] ,
2022-10-01 22:13:41 -07:00
] ,
} ,
{
" lib " : " Kyoto_CW1 " ,
" mwcc_version " : " 1.3.2 " ,
" cflags " : " $cflags_retro " ,
2022-10-20 18:32:04 -07:00
" host " : True ,
2022-10-01 22:13:41 -07:00
" objects " : [
2022-12-05 20:25:17 -08:00
[ " Kyoto/Basics/CBasics " , True ] ,
2022-10-09 16:48:42 -07:00
[ " Kyoto/Basics/CStopwatch " , True ] ,
2022-12-05 20:11:13 -08:00
[ " Kyoto/Basics/CBasicsDolphin " , True ] ,
2022-10-14 08:46:40 -07:00
[ " Kyoto/Alloc/CCallStackDolphin " , True ] ,
2022-10-09 16:48:42 -07:00
[ " Kyoto/Basics/COsContextDolphin " , True ] ,
[ " Kyoto/Basics/CSWDataDolphin " , True ] ,
2022-10-18 18:58:24 -07:00
[ " Kyoto/Basics/RAssertDolphin " , False ] ,
2022-12-08 14:45:30 -08:00
[ " Kyoto/Animation/CAnimation " , True ] ,
2022-10-01 22:13:41 -07:00
" Kyoto/Animation/CAnimationManager " ,
" Kyoto/Animation/CAnimationSet " ,
" Kyoto/Animation/CAnimCharacterSet " ,
" Kyoto/Animation/CAnimTreeLoopIn " ,
" Kyoto/Animation/CAnimTreeSequence " ,
" Kyoto/Animation/CCharacterInfo " ,
" Kyoto/Animation/CCharacterSet " ,
" Kyoto/Animation/CMetaAnimBlend " ,
" Kyoto/Animation/CMetaAnimFactory " ,
" Kyoto/Animation/CMetaAnimPhaseBlend " ,
" Kyoto/Animation/CMetaAnimPlay " ,
" Kyoto/Animation/CMetaAnimRandom " ,
" Kyoto/Animation/CMetaAnimSequence " ,
" Kyoto/Animation/CMetaTransFactory " ,
" Kyoto/Animation/CMetaTransMetaAnim " ,
" Kyoto/Animation/CMetaTransPhaseTrans " ,
" Kyoto/Animation/CMetaTransSnap " ,
" Kyoto/Animation/CMetaTransTrans " ,
2023-01-11 19:00:40 -08:00
[ " Kyoto/Animation/CPASAnimInfo " , True ] ,
2023-01-11 18:20:23 -08:00
[ " Kyoto/Animation/CPASAnimParm " , True ] ,
2022-10-01 22:13:41 -07:00
" Kyoto/Animation/CPASAnimState " ,
" Kyoto/Animation/CPASDatabase " ,
2023-01-11 18:43:43 -08:00
[ " Kyoto/Animation/CPASParmInfo " , True ] ,
2022-12-09 11:38:20 -08:00
[ " Kyoto/Animation/CPrimitive " , True ] ,
2022-10-01 22:13:41 -07:00
" Kyoto/Animation/CSequenceHelper " ,
2022-12-08 15:01:45 -08:00
[ " Kyoto/Animation/CTransition " , True ] ,
2023-01-11 16:34:08 -08:00
[ " Kyoto/Animation/CTransitionManager " , True ] ,
2022-10-01 22:13:41 -07:00
" Kyoto/Animation/CTreeUtils " ,
" Kyoto/Animation/IMetaAnim " ,
2022-10-09 16:48:42 -07:00
[ " Kyoto/Audio/CSfxHandle " , True ] ,
2022-10-01 22:13:41 -07:00
" Kyoto/Audio/CSfxManager " ,
" Kyoto/Animation/CAdvancementDeltas " ,
" Kyoto/Animation/CAnimMathUtils " ,
" Kyoto/Animation/CAnimPOIData " ,
" Kyoto/Animation/CAnimSource " ,
" Kyoto/Animation/CAnimSourceReader " ,
" Kyoto/Animation/CAnimSourceReaderBase " ,
" Kyoto/Animation/CAnimTreeAnimReaderContainer " ,
" Kyoto/Animation/CAnimTreeBlend " ,
" Kyoto/Animation/CAnimTreeContinuousPhaseBlend " ,
" Kyoto/Animation/CAnimTreeDoubleChild " ,
" Kyoto/Animation/CAnimTreeNode " ,
" Kyoto/Animation/CAnimTreeSingleChild " ,
" Kyoto/Animation/CAnimTreeTimeScale " ,
" Kyoto/Animation/CAnimTreeTransition " ,
" Kyoto/Animation/CAnimTreeTweenBase " ,
2023-01-11 17:33:42 -08:00
[ " Kyoto/Animation/CBoolPOINode " , True ] ,
2022-10-01 22:13:41 -07:00
" Kyoto/Animation/CCharAnimMemoryMetrics " ,
" Kyoto/Animation/CCharLayoutInfo " ,
" Kyoto/Animation/CFBStreamedAnimReader " ,
" Kyoto/Animation/CFBStreamedCompression " ,
" Kyoto/Animation/CHierarchyPoseBuilder " ,
2023-01-11 17:02:35 -08:00
[ " Kyoto/Animation/CInt32POINode " , True ] ,
2023-01-11 17:44:25 -08:00
[ " Kyoto/Animation/CParticlePOINode " , True ] ,
2022-12-09 12:16:05 -08:00
[ " Kyoto/Animation/CPOINode " , True ] ,
2022-10-01 22:13:41 -07:00
" Kyoto/Animation/CSegStatementSet " ,
" Kyoto/Animation/CTimeScaleFunctions " ,
" Kyoto/Animation/IAnimReader " ,
" Kyoto/Animation/CAllFormatsAnimSource " ,
" Kyoto/CDvdRequest " ,
2023-01-11 12:06:08 -08:00
[ " Kyoto/Text/CColorInstruction " , True ] ,
2023-01-11 13:26:39 -08:00
[ " Kyoto/Text/CColorOverrideInstruction " , True ] ,
2022-12-22 18:15:25 -08:00
[ " Kyoto/Text/CDrawStringOptions " , True ] ,
2022-10-01 22:13:41 -07:00
" Kyoto/Text/CFontInstruction " ,
" Kyoto/Text/CFontRenderState " ,
2023-01-10 15:03:07 -08:00
[ " Kyoto/Text/CLineExtraSpaceInstruction " , True ] ,
2022-10-01 22:13:41 -07:00
" Kyoto/Text/CLineInstruction " ,
2023-01-07 18:31:19 -08:00
[ " Kyoto/Text/CLineSpacingInstruction " , True ] ,
2023-01-11 11:08:11 -08:00
[ " Kyoto/Text/CPopStateInstruction " , True ] ,
[ " Kyoto/Text/CPushStateInstruction " , True ] ,
2022-12-23 20:27:33 -08:00
[ " Kyoto/Text/CRasterFont " , False ] ,
2023-01-11 12:16:02 -08:00
[ " Kyoto/Text/CRemoveColorOverrideInstruction " , True ] ,
2022-12-22 18:18:46 -08:00
[ " Kyoto/Text/CSaveableState " , True ] ,
2022-10-01 22:13:41 -07:00
" Kyoto/Text/CTextExecuteBuffer " ,
" Kyoto/Text/CTextInstruction " ,
2022-10-18 18:58:24 -07:00
[ " Kyoto/Text/CTextParser " , False ] ,
2023-01-11 11:08:11 -08:00
[ " Kyoto/Text/CWordBreakTables " , False ] ,
2023-01-11 16:12:37 -08:00
[ " Kyoto/Text/CWordInstruction " , False ] ,
2023-01-11 15:17:26 -08:00
[ " Kyoto/Text/CBlockInstruction " , True ] ,
2022-12-22 17:18:13 -08:00
[ " Kyoto/Text/CFont " , True ] ,
2022-10-09 16:48:42 -07:00
[ " Kyoto/Graphics/CLight " , True ] ,
2022-10-01 22:13:41 -07:00
" Kyoto/Graphics/CCubeModel " ,
2022-10-09 16:48:42 -07:00
[ " Kyoto/Graphics/CGX " , True ] ,
2022-12-01 22:53:12 -08:00
[ " Kyoto/Graphics/CTevCombiners " , True ] ,
2022-12-02 22:01:02 -08:00
[ " Kyoto/Graphics/DolphinCGraphics " , False ] ,
[ " Kyoto/Graphics/DolphinCPalette " , False ] ,
2022-12-03 13:31:54 -08:00
[ " Kyoto/Graphics/DolphinCTexture " , False ] ,
2022-10-09 16:48:42 -07:00
[ " Kyoto/Math/CloseEnough " , True ] ,
2022-10-01 22:13:41 -07:00
" Kyoto/Math/CMatrix3f " ,
2023-01-10 15:03:38 -08:00
[ " Kyoto/Math/CMatrix4f " , False ] ,
2022-10-01 22:13:41 -07:00
" Kyoto/Math/CQuaternion " ,
2022-10-09 16:48:42 -07:00
[ " Kyoto/CRandom16 " , True ] ,
2022-10-01 22:13:41 -07:00
" Kyoto/Math/CTransform4f " ,
2022-10-09 16:48:42 -07:00
[ " Kyoto/Math/CUnitVector3f " , True ] ,
[ " Kyoto/Math/CVector2f " , True ] ,
[ " Kyoto/Math/CVector2i " , True ] ,
[ " Kyoto/Math/CVector3d " , True ] ,
2022-10-18 18:58:24 -07:00
[ " Kyoto/Math/CVector3f " , False ] ,
2022-10-09 16:48:42 -07:00
[ " Kyoto/Math/CVector3i " , True ] ,
2022-10-18 18:58:24 -07:00
[ " Kyoto/Math/RMathUtils " , False ] ,
2022-10-09 16:48:42 -07:00
[ " Kyoto/CCrc32 " , True ] ,
[ " Kyoto/Alloc/CCircularBuffer " , True ] ,
2022-10-12 01:07:35 -07:00
[ " Kyoto/Alloc/CMemory " , True ] ,
2022-10-09 16:48:42 -07:00
[ " Kyoto/Alloc/IAllocator " , True ] ,
2022-10-01 22:13:41 -07:00
" Kyoto/PVS/CPVSVisOctree " ,
" Kyoto/PVS/CPVSVisSet " ,
2022-10-18 16:13:51 -07:00
[ " Kyoto/Particles/CColorElement " , False ] ,
2022-10-01 22:13:41 -07:00
" Kyoto/Particles/CElementGen " ,
2022-10-09 16:48:42 -07:00
[ " Kyoto/Particles/CIntElement " , True ] ,
2022-10-17 19:05:27 -07:00
[ " Kyoto/Particles/CModVectorElement " , False ] ,
[ " Kyoto/Particles/CParticleDataFactory " , False ] ,
2022-10-01 22:13:41 -07:00
" Kyoto/Particles/CParticleGen " ,
2022-10-17 19:05:27 -07:00
[ " Kyoto/Particles/CParticleGlobals " , True ] ,
2022-10-01 22:13:41 -07:00
" Kyoto/Particles/CParticleSwoosh " ,
" Kyoto/Particles/CParticleSwooshDataFactory " ,
2022-10-18 05:59:56 -07:00
[ " Kyoto/Particles/CRealElement " , True ] ,
2022-10-01 22:13:41 -07:00
" Kyoto/Particles/CSpawnSystemKeyframeData " ,
2022-10-18 16:13:51 -07:00
[ " Kyoto/Particles/CUVElement " , False ] ,
[ " Kyoto/Particles/CVectorElement " , False ] ,
2022-10-09 16:48:42 -07:00
[ " Kyoto/Particles/CWarp " , True ] ,
[ " Kyoto/Math/CPlane " , True ] ,
[ " Kyoto/Math/CSphere " , True ] ,
2022-10-18 18:58:24 -07:00
[ " Kyoto/Math/CAABox " , False ] ,
2022-10-01 22:13:41 -07:00
" Kyoto/CFactoryMgr " ,
" Kyoto/CResFactory " ,
" Kyoto/CResLoader " ,
2022-10-25 14:55:17 -07:00
[ " Kyoto/rstl/rstl_map " , False ] ,
2022-10-01 22:13:41 -07:00
" Kyoto/rstl/rstl_strings " ,
2023-01-12 14:46:08 -08:00
[ " Kyoto/rstl/RstlExtras " , False ] ,
2022-10-09 16:48:42 -07:00
[ " Kyoto/Streams/CInputStream " , True ] ,
[ " Kyoto/Streams/CMemoryInStream " , True ] ,
2022-10-12 23:09:15 -07:00
[ " Kyoto/Streams/CMemoryStreamOut " , True ] ,
[ " Kyoto/Streams/COutputStream " , True ] ,
[ " Kyoto/Streams/CZipInputStream " , True ] ,
2022-12-05 21:30:20 -08:00
[ " Kyoto/Streams/CZipOutputStream " , True ] ,
2022-10-12 23:09:15 -07:00
[ " Kyoto/Streams/CZipSupport " , True ] ,
2023-01-14 02:00:14 -08:00
[ " Kyoto/CFactoryStore " , True ] ,
2023-01-13 22:27:43 -08:00
[ " Kyoto/CObjectReference " , True ] ,
2022-10-01 22:13:41 -07:00
" Kyoto/CSimplePool " ,
2022-10-20 07:28:06 -07:00
[ " Kyoto/CToken " , True ] ,
2022-10-09 16:48:42 -07:00
[ " Kyoto/IObj " , True ] ,
2022-10-01 22:13:41 -07:00
] ,
} ,
{
" lib " : " zlib " ,
" mwcc_version " : " 1.3.2 " ,
" cflags " : " $cflags_runtime " ,
2022-10-20 18:32:04 -07:00
" host " : True ,
2022-10-01 22:13:41 -07:00
" objects " : [
2022-10-09 16:48:42 -07:00
[ " Kyoto/zlib/adler32 " , True ] ,
2022-12-05 21:41:21 -08:00
[ " Kyoto/zlib/deflate " , True ] ,
2022-10-09 16:48:42 -07:00
[ " Kyoto/zlib/infblock " , True ] ,
[ " Kyoto/zlib/infcodes " , True ] ,
[ " Kyoto/zlib/inffast " , True ] ,
[ " Kyoto/zlib/inflate " , True ] ,
[ " Kyoto/zlib/inftrees " , True ] ,
[ " Kyoto/zlib/infutil " , True ] ,
2022-12-05 21:41:21 -08:00
[ " Kyoto/zlib/trees " , True ] ,
2022-10-09 16:48:42 -07:00
[ " Kyoto/zlib/zutil " , True ] ,
2022-11-27 20:06:16 -08:00
] ,
2022-10-01 22:13:41 -07:00
} ,
{
" lib " : " Kyoto_CW2 " ,
" mwcc_version " : " 1.3.2 " ,
" cflags " : " $cflags_retro " ,
2022-10-20 18:32:04 -07:00
" host " : True ,
2022-10-01 22:13:41 -07:00
" objects " : [
" Kyoto/CARAMManager " ,
" Kyoto/Math/CFrustumPlanes " ,
2022-10-18 18:58:24 -07:00
[ " Kyoto/Graphics/CCubeMaterial " , False ] ,
[ " Kyoto/Graphics/CCubeSurface " , False ] ,
2022-12-09 13:00:39 -08:00
[ " Kyoto/Animation/CCharAnimTime " , False ] ,
2022-10-14 22:22:32 -07:00
[ " Kyoto/Animation/CSegIdList " , False ] ,
2022-10-09 16:48:42 -07:00
[ " Kyoto/Input/CFinalInput " , True ] ,
[ " Kyoto/Graphics/CColor " , True ] ,
2023-01-07 17:42:15 -08:00
[ " Kyoto/Audio/DolphinCAudioGroupSet " , False ] ,
2023-01-07 13:24:16 -08:00
[ " Kyoto/Audio/DolphinCAudioSys " , False ] ,
2022-10-01 22:13:41 -07:00
" Kyoto/DolphinCMemoryCardSys " ,
2022-10-09 16:48:42 -07:00
[ " Kyoto/Input/DolphinIController " , True ] ,
[ " Kyoto/Input/CDolphinController " , True ] ,
2023-01-12 16:05:25 -08:00
[ " Kyoto/DolphinCDvdFile " , False ] ,
2022-10-01 22:13:41 -07:00
" Kyoto/Alloc/CMediumAllocPool " ,
2022-10-09 16:48:42 -07:00
[ " Kyoto/Alloc/CSmallAllocPool " , True ] ,
2022-10-18 18:58:24 -07:00
[ " Kyoto/Alloc/CGameAllocator " , False ] ,
2022-10-01 22:13:41 -07:00
" Kyoto/Animation/DolphinCSkinnedModel " ,
2023-01-12 12:37:45 -08:00
[ " Kyoto/Animation/DolphinCSkinRules " , False ] ,
[ " Kyoto/Animation/DolphinCVirtualBone " , False ] ,
2022-10-01 22:13:41 -07:00
" Kyoto/Graphics/DolphinCModel " ,
2022-10-09 16:48:42 -07:00
[ " Kyoto/Text/CStringTable " , True ] ,
2022-10-01 22:13:41 -07:00
" Kyoto/Particles/CEmitterElement " ,
2023-01-11 11:40:36 -08:00
[ " Kyoto/Particles/CEffectComponent " , True ] ,
2023-01-07 18:11:54 -08:00
[ " Kyoto/Particles/CParticleData " , False ] ,
2022-10-01 22:13:41 -07:00
" Kyoto/Animation/CVertexMorphEffect " ,
" Kyoto/Animation/CSkinnedModelWithAvgNormals " ,
2022-10-09 16:48:42 -07:00
[ " Kyoto/CTimeProvider " , True ] ,
2022-12-05 23:59:41 -08:00
[ " Kyoto/CARAMToken " , True ] ,
2022-10-01 22:13:41 -07:00
" Kyoto/Audio/CMidiManager " ,
2022-10-09 16:48:42 -07:00
[ " Kyoto/Text/CFontImageDef " , True ] ,
2022-10-01 22:13:41 -07:00
" Kyoto/Text/CImageInstruction " ,
" Kyoto/Text/CTextRenderBuffer " ,
" Kyoto/Graphics/CCubeMoviePlayer " ,
" Kyoto/Animation/CAdditiveAnimPlayback " ,
" Kyoto/Particles/CParticleElectricDataFactory " ,
" Kyoto/Particles/CParticleElectric " ,
2022-10-09 16:48:42 -07:00
[ " Kyoto/Graphics/DolphinCColor " , True ] ,
2022-10-01 22:13:41 -07:00
" Kyoto/Audio/CDSPStreamManager " ,
2023-01-13 23:55:03 -08:00
[ " Kyoto/CDependencyGroup " , True ] ,
2022-10-01 22:13:41 -07:00
" Kyoto/Audio/CStreamAudioManager " ,
2022-12-09 11:38:20 -08:00
[ " Kyoto/Animation/CHalfTransition " , True ] ,
2022-10-01 22:13:41 -07:00
" Kyoto/Particles/CElectricDescription " ,
" Kyoto/Particles/CSwooshDescription " ,
" Kyoto/Particles/CGenDescription " ,
" Kyoto/CPakFile " ,
2022-10-11 22:16:08 -07:00
" Kyoto/Animation/CPoseAsTransformsVariableSize " ,
2022-10-18 18:58:24 -07:00
[ " Kyoto/Input/CRumbleVoice " , False ] ,
2022-10-09 16:48:42 -07:00
[ " Kyoto/Input/RumbleAdsr " , True ] ,
2023-01-07 11:41:26 -08:00
[ " Kyoto/Input/CRumbleGenerator " , True ] ,
2023-01-13 22:48:44 -08:00
" Kyoto/Audio/CDSPStream " ,
2022-10-09 16:48:42 -07:00
[ " Kyoto/Audio/g721 " , True ] ,
2022-10-01 22:13:41 -07:00
" Kyoto/Audio/CStaticAudioPlayer " ,
" Kyoto/CFrameDelayedKiller " ,
] ,
} ,
{
" lib " : " ai " ,
2022-12-09 17:51:32 -08:00
" mwcc_version " : " 1.2.5e " ,
2022-10-01 22:13:41 -07:00
" cflags " : " $cflags_base " ,
2022-10-20 18:32:04 -07:00
" host " : False ,
2022-10-18 18:58:24 -07:00
" objects " : [
2022-12-09 17:51:32 -08:00
[ " Dolphin/ai " , True ] ,
2022-10-18 18:58:24 -07:00
] ,
2022-10-01 22:13:41 -07:00
} ,
{
" lib " : " ar " ,
2022-12-20 18:09:34 -08:00
" mwcc_version " : " 1.2.5e " ,
2022-10-01 22:13:41 -07:00
" cflags " : " $cflags_base " ,
2022-10-20 18:32:04 -07:00
" host " : False ,
2022-10-01 22:13:41 -07:00
" objects " : [
2023-01-15 20:58:52 -08:00
[ " Dolphin/ar/ar " , True ] ,
2023-01-15 21:20:58 -08:00
[ " Dolphin/ar/arq " , True ] ,
2022-10-01 22:13:41 -07:00
] ,
} ,
{
" lib " : " base " ,
" mwcc_version " : " 1.2.5 " ,
" cflags " : " $cflags_base " ,
2022-10-20 18:32:04 -07:00
" host " : False ,
2022-10-09 16:48:42 -07:00
" objects " : [
[ " Dolphin/PPCArch " , True ] ,
] ,
2022-10-01 22:13:41 -07:00
} ,
{
" lib " : " db " ,
" mwcc_version " : " 1.2.5 " ,
" cflags " : " $cflags_base " ,
2022-10-20 18:32:04 -07:00
" host " : False ,
2022-10-13 09:33:30 -07:00
" objects " : [
[ " Dolphin/db " , True ] ,
] ,
2022-10-01 22:13:41 -07:00
} ,
{
" lib " : " dsp " ,
2022-12-20 15:22:25 -08:00
" mwcc_version " : " 1.2.5e " ,
2022-10-01 22:13:41 -07:00
" cflags " : " $cflags_base " ,
2022-10-20 18:32:04 -07:00
" host " : False ,
2022-10-01 22:13:41 -07:00
" objects " : [
2022-10-22 09:49:11 -07:00
[ " Dolphin/dsp/dsp " , True ] ,
2022-10-09 16:48:42 -07:00
[ " Dolphin/dsp/dsp_debug " , True ] ,
2022-12-20 15:19:11 -08:00
[ " Dolphin/dsp/dsp_task " , True ] ,
2022-10-01 22:13:41 -07:00
] ,
} ,
{
" lib " : " dvd " ,
2022-10-21 09:30:09 -07:00
" mwcc_version " : " 1.2.5e " ,
2022-10-01 22:13:41 -07:00
" cflags " : " $cflags_base " ,
2022-10-20 18:32:04 -07:00
" host " : False ,
2022-10-01 22:13:41 -07:00
" objects " : [
2023-01-13 10:32:40 -08:00
[ " Dolphin/dvd/dvdlow " , False ] ,
2023-01-12 16:05:25 -08:00
[ " Dolphin/dvd/dvdfs " , True ] ,
2022-10-18 18:58:24 -07:00
[ " Dolphin/dvd/dvd " , False ] ,
2023-01-12 17:51:32 -08:00
[ " Dolphin/dvd/dvdqueue " , True ] ,
2023-01-12 17:23:52 -08:00
[ " Dolphin/dvd/dvderror " , True ] ,
2022-10-21 09:30:09 -07:00
[ " Dolphin/dvd/dvdidutils " , True ] ,
2023-01-12 17:23:52 -08:00
[ " Dolphin/dvd/dvdfatal " , True ] ,
2022-10-21 23:59:50 -07:00
[ " Dolphin/dvd/fstload " , True ] ,
2022-10-01 22:13:41 -07:00
] ,
} ,
{
" lib " : " gx " ,
" mwcc_version " : " 1.2.5 " ,
2022-12-24 17:07:56 -08:00
" cflags " : " $cflags_base -fp_contract off " ,
2022-10-20 18:32:04 -07:00
" host " : False ,
2022-10-01 22:13:41 -07:00
" objects " : [
" Dolphin/gx/GXInit " ,
" Dolphin/gx/GXFifo " ,
" Dolphin/gx/GXAttr " ,
" Dolphin/gx/GXMisc " ,
" Dolphin/gx/GXGeometry " ,
" Dolphin/gx/GXFrameBuf " ,
2022-12-24 17:07:56 -08:00
[ " Dolphin/gx/GXLight " , False ] ,
2022-10-01 22:13:41 -07:00
" Dolphin/gx/GXTexture " ,
" Dolphin/gx/GXBump " ,
" Dolphin/gx/GXTev " ,
" Dolphin/gx/GXPixel " ,
" Dolphin/gx/GXStubs " ,
" Dolphin/gx/GXDisplayList " ,
" Dolphin/gx/GXTransform " ,
" Dolphin/gx/GXPerf " ,
] ,
} ,
{
" lib " : " mtx " ,
" mwcc_version " : " 1.2.5 " ,
" cflags " : " $cflags_base " ,
2022-10-20 18:32:04 -07:00
" host " : False ,
2022-10-01 22:13:41 -07:00
" objects " : [
" Dolphin/mtx/mtx " ,
" Dolphin/mtx/mtx44vec " ,
" Dolphin/mtx/mtx44 " ,
" Dolphin/mtx/vec " ,
" Dolphin/mtx/psmtx " ,
] ,
} ,
{
" lib " : " os " ,
" mwcc_version " : " 1.2.5e " ,
" cflags " : " $cflags_base " ,
2022-10-20 18:32:04 -07:00
" host " : False ,
2022-10-01 22:13:41 -07:00
" objects " : [
2022-10-09 16:48:42 -07:00
[ " Dolphin/os/__start " , True ] ,
2022-12-22 16:42:31 -08:00
[ " Dolphin/os/OS " , True ] ,
2022-11-03 09:19:09 -07:00
[ " Dolphin/os/OSAlarm " , True ] ,
2022-12-17 17:45:27 -08:00
[ " Dolphin/os/OSArena " , True ] ,
2022-10-09 16:48:42 -07:00
[ " Dolphin/os/OSAudioSystem " , True ] ,
2022-11-03 01:20:25 -07:00
[ " Dolphin/os/OSCache " , True ] ,
2022-12-17 22:03:45 -08:00
[ " Dolphin/os/OSContext " , True , True , True ] ,
2022-12-18 11:41:59 -08:00
[ " Dolphin/os/OSError " , True ] ,
2022-10-01 22:13:41 -07:00
" Dolphin/os/OSFatal " ,
" Dolphin/os/OSFont " ,
2022-12-17 21:18:29 -08:00
[ " Dolphin/os/OSInterrupt " , True ] ,
2022-12-17 20:08:25 -08:00
[ " Dolphin/os/OSLink " , True ] ,
2022-12-17 22:48:45 -08:00
[ " Dolphin/os/OSMessage " , True ] ,
2022-12-18 10:32:00 -08:00
[ " Dolphin/os/OSMemory " , True ] ,
2022-12-17 20:08:25 -08:00
[ " Dolphin/os/OSMutex " , True ] ,
2022-10-01 22:13:41 -07:00
" Dolphin/os/OSReboot " ,
2022-10-11 00:01:27 -07:00
[ " Dolphin/os/OSReset " , True ] ,
2022-12-22 15:11:03 -08:00
[ " Dolphin/os/OSResetSW " , True ] ,
2022-12-09 18:13:03 -08:00
[ " Dolphin/os/OSRtc " , True ] ,
2022-10-10 10:03:39 -07:00
[ " Dolphin/os/OSSync " , True ] ,
2022-11-05 03:21:17 -07:00
[ " Dolphin/os/OSThread " , True ] ,
2022-10-25 22:00:49 -07:00
[ " Dolphin/os/OSTime " , True ] ,
2022-10-09 16:48:42 -07:00
[ " Dolphin/os/__ppc_eabi_init " , True ] ,
2022-10-01 22:13:41 -07:00
] ,
} ,
{
" lib " : " pad " ,
2022-10-07 15:58:07 -07:00
" mwcc_version " : " 1.2.5e " ,
2022-10-01 22:13:41 -07:00
" cflags " : " $cflags_base " ,
2022-10-20 18:32:04 -07:00
" host " : False ,
2022-10-01 22:13:41 -07:00
" objects " : [
2022-10-09 16:48:42 -07:00
[ " Dolphin/pad/PadClamp " , True ] ,
2022-12-09 17:25:20 -08:00
[ " Dolphin/pad/pad " , True ] ,
2022-10-01 22:13:41 -07:00
] ,
} ,
{
" lib " : " vi " ,
" mwcc_version " : " 1.2.5 " ,
" cflags " : " $cflags_base " ,
2022-10-20 18:32:04 -07:00
" host " : False ,
2022-11-27 20:06:16 -08:00
" objects " : [ " Dolphin/vi " ] ,
2022-10-01 22:13:41 -07:00
} ,
{
" lib " : " MSL_C.PPCEABI.bare.H " ,
" mwcc_version " : " 1.3.2 " ,
" cflags " : " $cflags_runtime " ,
2022-10-20 18:32:04 -07:00
" host " : False ,
2022-10-01 22:13:41 -07:00
" objects " : [
2022-10-09 16:48:42 -07:00
[ " Runtime/__mem " , True ] ,
2022-10-10 02:30:25 -07:00
[ " Runtime/__va_arg " , True ] ,
2022-10-10 01:46:54 -07:00
[ " Runtime/global_destructor_chain " , True ] ,
[ " Runtime/CPlusLibPPC " , True ] ,
2022-10-10 11:19:04 -07:00
[ " Runtime/NMWException " , True ] ,
2022-10-10 02:30:25 -07:00
[ " Runtime/ptmf " , True ] ,
2022-10-25 22:54:27 -07:00
[ " Runtime/runtime " , True ] ,
2022-10-10 01:46:54 -07:00
[ " Runtime/__init_cpp_exceptions " , True ] ,
2022-10-10 10:44:50 -07:00
[ " Runtime/Gecko_ExceptionPPC " , True ] ,
2022-10-09 16:48:42 -07:00
[ " Runtime/abort_exit " , True ] ,
2022-10-18 18:58:24 -07:00
[ " Runtime/alloc " , False ] ,
2022-10-13 01:02:37 -07:00
[ " Runtime/ansi_files " , True ] ,
2022-10-01 22:13:41 -07:00
" Runtime/ansi_fp " ,
2022-11-29 23:07:31 -08:00
[ " Runtime/arith " , True ] ,
2022-10-13 01:02:37 -07:00
[ " Runtime/buffer_io " , True ] ,
2022-10-09 16:48:42 -07:00
[ " Runtime/ctype " , True ] ,
[ " Runtime/locale " , True ] ,
2022-10-13 01:02:37 -07:00
[ " Runtime/direct_io " , True ] ,
[ " Runtime/file_io " , True ] ,
2022-10-13 08:19:18 -07:00
[ " Runtime/errno " , True ] ,
[ " Runtime/FILE_POS " , True ] ,
2023-01-18 21:16:39 -08:00
[ " Runtime/mbstring " , True ] ,
2022-10-09 16:48:42 -07:00
[ " Runtime/mem " , True ] ,
[ " Runtime/mem_funcs " , True ] ,
[ " Runtime/misc_io " , True ] ,
2022-10-01 22:13:41 -07:00
" Runtime/printf " ,
2022-10-18 18:58:24 -07:00
[ " Runtime/qsort " , False ] ,
2022-10-09 16:48:42 -07:00
[ " Runtime/rand " , True ] ,
2023-01-18 21:16:39 -08:00
[ " Runtime/sscanf " , True ] ,
[ " Runtime/string " , True ] ,
2022-10-11 08:23:29 -07:00
[ " Runtime/float " , True ] ,
2022-10-01 22:13:41 -07:00
" Runtime/strtold " ,
2022-10-10 10:44:50 -07:00
[ " Runtime/uart_console_io " , True ] ,
2022-10-09 16:48:42 -07:00
[ " Runtime/wchar_io " , True ] ,
[ " Runtime/e_acos " , True ] ,
[ " Runtime/e_asin " , True ] ,
[ " Runtime/e_atan2 " , True ] ,
2022-10-18 18:58:24 -07:00
[ " Runtime/e_exp " , False ] , # CW 1.3.2 lib bug
2022-10-09 16:48:42 -07:00
[ " Runtime/e_fmod " , True ] ,
[ " Runtime/e_log " , True ] ,
2022-10-18 18:58:24 -07:00
[ " Runtime/e_pow " , False ] , # CW 1.3.2 lib bug
2022-10-09 16:48:42 -07:00
[ " Runtime/e_rem_pio2 " , True ] ,
[ " Runtime/k_cos " , True ] ,
2022-10-11 21:44:08 -07:00
[ " Runtime/k_rem_pio2 " , True ] ,
2022-10-09 16:48:42 -07:00
[ " Runtime/k_sin " , True ] ,
[ " Runtime/k_tan " , True ] ,
2022-10-18 18:58:24 -07:00
[ " Runtime/s_atan " , False ] , # CW 1.3.2 lib bug
2022-10-09 16:48:42 -07:00
[ " Runtime/s_copysign " , True ] ,
[ " Runtime/s_cos " , True ] ,
[ " Runtime/s_floor " , True ] ,
[ " Runtime/s_frexp " , True ] ,
[ " Runtime/s_ldexp " , True ] ,
[ " Runtime/s_modf " , True ] ,
[ " Runtime/s_nextafter " , True ] ,
[ " Runtime/s_sin " , True ] ,
[ " Runtime/s_tan " , True ] ,
[ " Runtime/w_acos " , True ] ,
[ " Runtime/w_asin " , True ] ,
[ " Runtime/w_atan2 " , True ] ,
[ " Runtime/w_exp " , True ] ,
[ " Runtime/w_fmod " , True ] ,
[ " Runtime/w_log " , True ] ,
[ " Runtime/w_pow " , True ] ,
[ " Runtime/math_ppc " , True ] ,
2022-10-01 22:13:41 -07:00
] ,
} ,
{
" lib " : " musyx " ,
" mwcc_version " : " 1.3.2 " ,
" cflags " : " $cflags_musyx " ,
2022-10-20 18:32:04 -07:00
" host " : False ,
2022-10-01 22:13:41 -07:00
" objects " : [
" musyx/seq " ,
" musyx/synth " ,
2022-10-09 16:48:42 -07:00
[ " musyx/seq_api " , True ] ,
2022-12-17 18:31:07 -08:00
[ " musyx/snd_synthapi " , True , False ] ,
2022-11-29 23:07:31 -08:00
[ " musyx/stream " , False ] ,
2022-10-01 22:13:41 -07:00
" musyx/synthdata " ,
" musyx/synthmacros " ,
" musyx/synthvoice " ,
2022-10-09 16:48:42 -07:00
[ " musyx/synth_ac " , True ] ,
2022-10-01 22:13:41 -07:00
" musyx/synth_adsr " ,
2022-12-17 17:50:25 -08:00
[ " musyx/synth_vsamples " , False ] ,
2022-10-09 16:48:42 -07:00
[ " musyx/synth_dbtab " , True ] ,
2022-10-01 22:13:41 -07:00
" musyx/s_data " ,
" musyx/hw_dspctrl " ,
" musyx/hw_volconv " ,
2022-10-18 18:58:24 -07:00
[ " musyx/snd3d " , False ] ,
2022-10-09 16:48:42 -07:00
[ " musyx/snd_init " , True ] ,
2022-12-24 14:54:58 -08:00
[ " musyx/snd_math " , True ] ,
[ " musyx/snd_midictrl " , False ] ,
2022-10-09 16:48:42 -07:00
[ " musyx/snd_service " , True ] ,
2022-10-18 18:58:24 -07:00
[ " musyx/hardware " , False ] ,
2022-10-01 22:13:41 -07:00
" musyx/hw_aramdma " ,
2022-10-09 16:48:42 -07:00
[ " musyx/dsp_import " , True ] ,
2022-12-16 00:11:11 -08:00
[ " musyx/hw_dolphin " , True ] ,
2022-10-09 16:48:42 -07:00
[ " musyx/hw_memory " , True ] ,
[ " musyx/creverb_fx " , True ] ,
2022-10-01 22:13:41 -07:00
" musyx/creverb " ,
2022-10-09 16:48:42 -07:00
[ " musyx/reverb_fx " , True ] ,
2022-10-18 18:58:24 -07:00
[ " musyx/reverb " , False ] ,
2022-10-09 16:48:42 -07:00
[ " musyx/delay_fx " , True ] ,
2022-12-24 14:54:58 -08:00
[ " musyx/chorus_fx " , True ] ,
2022-10-01 22:13:41 -07:00
] ,
} ,
{
" lib " : " dtk " ,
" mwcc_version " : " 1.2.5 " ,
" cflags " : " $cflags_base " ,
2022-10-20 18:32:04 -07:00
" host " : False ,
2022-10-09 16:48:42 -07:00
" objects " : [
[ " Dolphin/dtk " , True ] ,
] ,
2022-10-01 22:13:41 -07:00
} ,
{
" lib " : " card " ,
" mwcc_version " : " 1.2.5e " ,
" cflags " : " $cflags_base " ,
2022-10-20 18:32:04 -07:00
" host " : False ,
2022-10-01 22:13:41 -07:00
" objects " : [
2022-10-20 23:32:50 -07:00
[ " Dolphin/card/CARDBios " , True ] ,
2022-10-09 16:48:42 -07:00
[ " Dolphin/card/CARDUnlock " , True ] ,
[ " Dolphin/card/CARDRdwr " , True ] ,
[ " Dolphin/card/CARDBlock " , True ] ,
[ " Dolphin/card/CARDDir " , True ] ,
2022-10-20 23:32:50 -07:00
[ " Dolphin/card/CARDCheck " , True ] ,
2022-10-09 16:48:42 -07:00
[ " Dolphin/card/CARDMount " , True ] ,
[ " Dolphin/card/CARDFormat " , True ] ,
[ " Dolphin/card/CARDOpen " , True ] ,
[ " Dolphin/card/CARDCreate " , True ] ,
[ " Dolphin/card/CARDRead " , True ] ,
[ " Dolphin/card/CARDWrite " , True ] ,
[ " Dolphin/card/CARDDelete " , True ] ,
[ " Dolphin/card/CARDStat " , True ] ,
[ " Dolphin/card/CARDRename " , True ] ,
[ " Dolphin/card/CARDNet " , True ] ,
2022-10-01 22:13:41 -07:00
] ,
} ,
{
" lib " : " si " ,
2022-10-13 11:30:13 -07:00
" mwcc_version " : " 1.2.5e " ,
2022-10-01 22:13:41 -07:00
" cflags " : " $cflags_base " ,
2022-10-20 18:32:04 -07:00
" host " : False ,
2022-10-01 22:13:41 -07:00
" objects " : [
2022-10-18 18:58:24 -07:00
[ " Dolphin/si/SIBios " , False ] ,
2022-10-13 11:30:13 -07:00
[ " Dolphin/si/SISamplingRate " , True ] ,
2022-10-01 22:13:41 -07:00
] ,
} ,
{
" lib " : " exi " ,
" mwcc_version " : " 1.2.5 " ,
" cflags " : " $cflags_base " ,
2022-10-20 18:32:04 -07:00
" host " : False ,
2022-10-01 22:13:41 -07:00
" objects " : [
2022-12-22 12:46:14 -08:00
[ " Dolphin/exi/EXIBios " , True ] ,
[ " Dolphin/exi/EXIUart " , True ] ,
2022-10-01 22:13:41 -07:00
] ,
} ,
{
" lib " : " thp " ,
" mwcc_version " : " 1.2.5 " ,
" cflags " : " $cflags_base " ,
2022-10-20 18:32:04 -07:00
" host " : False ,
2022-10-01 22:13:41 -07:00
" objects " : [
" Dolphin/thp/THPDec " ,
" Dolphin/thp/THPAudio " ,
] ,
} ,
{
" lib " : " gba " ,
2022-10-15 19:14:54 -07:00
" mwcc_version " : " 1.2.5e " ,
2022-10-01 22:13:41 -07:00
" cflags " : " $cflags_base " ,
2022-10-20 18:32:04 -07:00
" host " : False ,
2022-10-01 22:13:41 -07:00
" objects " : [
2022-10-15 17:58:24 -07:00
[ " Dolphin/GBA/GBA " , True ] ,
2022-10-18 18:58:24 -07:00
[ " Dolphin/GBA/GBAGetProcessStatus " , False ] ,
2022-10-15 14:47:17 -07:00
" Dolphin/GBA/GBAJoyBoot " ,
2022-10-15 19:14:54 -07:00
[ " Dolphin/GBA/GBARead " , True ] ,
[ " Dolphin/GBA/GBAWrite " , True ] ,
2022-10-20 23:06:41 -07:00
[ " Dolphin/GBA/GBAXfer " , True ] ,
2022-10-01 22:13:41 -07:00
" Dolphin/GBA/GBAKey " ,
] ,
} ,
]
2022-11-27 20:06:16 -08:00
if __name__ == " __main__ " :
import os
import io
import sys
import argparse
2022-10-03 17:00:46 -07:00
2022-11-27 20:06:16 -08:00
from shutil import which
from tools import ninja_syntax
2022-10-01 22:13:41 -07:00
2022-11-27 20:06:16 -08:00
parser = argparse . ArgumentParser ( )
parser . add_argument (
" --version " ,
dest = " version " ,
default = " 0 " ,
help = " version to build (0, 1, kor) " ,
)
parser . add_argument (
" --map " ,
dest = " map " ,
action = " store_true " ,
help = " generate map file " ,
)
parser . add_argument (
" --no-check " ,
dest = " check " ,
action = " store_false " ,
help = " don ' t check hash of resulting dol " ,
)
parser . add_argument (
2022-12-14 18:17:16 -08:00
" --no-static-libs " ,
2022-11-27 20:06:16 -08:00
dest = " static_libs " ,
2022-12-14 18:17:16 -08:00
action = " store_false " ,
help = " don ' t build and use static libs " ,
2022-11-27 20:06:16 -08:00
)
parser . add_argument (
" --devkitppc " ,
dest = " devkitppc " ,
help = " path to devkitPPC " ,
)
if os . name != " nt " and not " _NT- " in os . uname ( ) . sysname :
parser . add_argument (
" --wine " ,
dest = " wine " ,
help = " path to wine (or wibo) " ,
)
parser . add_argument (
" --build-dtk " ,
dest = " build_dtk " ,
help = " path to decomp-toolkit source " ,
)
2022-12-14 08:50:58 -08:00
parser . add_argument (
" --debug " ,
dest = " debug " ,
action = " store_true " ,
help = " build with debug info (non-matching) " ,
)
2022-11-27 20:06:16 -08:00
args = parser . parse_args ( )
2022-10-01 22:13:41 -07:00
2022-11-27 20:06:16 -08:00
# On Windows, we need this to use && in commands
ALLOW_CHAIN = " cmd /c " if os . name == " nt " else " "
2022-10-01 22:13:41 -07:00
2022-11-27 20:06:16 -08:00
out = io . StringIO ( )
n = ninja_syntax . Writer ( out )
2022-10-01 22:13:41 -07:00
2022-11-27 20:06:16 -08:00
n . variable ( " ninja_required_version " , " 1.3 " )
2022-10-01 22:13:41 -07:00
n . newline ( )
2022-11-27 20:06:16 -08:00
n . comment ( " The arguments passed to configure.py, for rerunning it. " )
configure_args = sys . argv [ 1 : ]
# Ignore DEVKITPPC env var on Windows
if os . name != " nt " and " DEVKITPPC " in os . environ and not args . devkitppc :
configure_args . extend ( [ " --devkitppc " , os . environ [ " DEVKITPPC " ] ] )
n . variable ( " configure_args " , configure_args )
2022-10-03 17:00:46 -07:00
n . newline ( )
2022-10-19 15:21:42 -07:00
2022-11-27 20:06:16 -08:00
###
# Variables
###
n . comment ( " Variables " )
n . variable ( " version " , args . version . lower ( ) )
if args . version . lower ( ) == " kor " :
n . variable ( " version_num " , " 2 " )
elif args . version . isnumeric ( ) and int ( args . version ) in [ 0 , 1 ] :
n . variable ( " version_num " , args . version )
2022-10-01 22:13:41 -07:00
else :
2022-11-27 20:06:16 -08:00
sys . exit ( f ' Invalid version " { args . version } " ' )
n . variable ( " builddir " , " build/mp1.$version " )
if args . devkitppc :
n . variable ( " devkitppc " , args . devkitppc )
elif os . name == " nt " :
n . variable ( " devkitppc " , " C: \ devkitPro \ devkitPPC " )
elif " DEVKITPPC " in os . environ :
n . variable ( " devkitppc " , os . environ [ " DEVKITPPC " ] )
else :
n . variable ( " devkitppc " , " /opt/devkitpro/devkitPPC " )
2022-12-14 08:50:58 -08:00
cflags_base = " -proc gekko -nodefaults -Cpp_exceptions off -RTTI off -fp hard -fp_contract on -O4,p -maxerrors 1 -enum int -inline auto -str reuse -nosyspath -MMD -DPRIME1 -DVERSION=$version_num -DNONMATCHING=0 -i include/ -i libc/ "
if args . debug :
2022-12-24 14:54:58 -08:00
cflags_base + = " -sym on -D_DEBUG "
else :
cflags_base + = " -DNDEBUG "
2022-12-14 08:50:58 -08:00
n . variable ( " cflags_base " , cflags_base )
2022-11-27 20:06:16 -08:00
n . variable (
" cflags_retro " ,
" $cflags_base -use_lmw_stmw on -str reuse,pool,readonly -gccinc -inline deferred,noauto -common on " ,
)
n . variable (
" cflags_runtime " ,
" $cflags_base -use_lmw_stmw on -str reuse,pool,readonly -gccinc -inline deferred,auto " ,
)
2022-12-24 14:54:58 -08:00
n . variable ( " cflags_musyx " , " $cflags_base -str reuse,pool,readonly -fp_contract off " )
2022-12-14 08:50:58 -08:00
asflags = " -mgekko -I include/ --defsym version=$version_num -W --strip-local-absolute -gdwarf-2 "
n . variable ( " asflags " , asflags )
ldflags = " -fp fmadd -nodefaults -lcf ldscript.lcf "
2022-11-27 20:06:16 -08:00
if args . map :
ldflags + = " -map $builddir/MetroidPrime.MAP "
n . variable ( " ldflags " , ldflags )
n . variable ( " mwcc_version " , " 1.3.2 " )
n . variable ( " python " , sys . executable )
if os . name == " nt " :
n . variable ( " exe " , " .exe " )
else :
if " _NT- " in os . uname ( ) . sysname :
# MSYS2
n . variable ( " wine " , " " )
elif args . wine :
n . variable ( " wine " , args . wine + " " )
elif which ( " wibo " ) is not None :
n . variable ( " wine " , " wibo " )
2022-10-01 22:13:41 -07:00
else :
2022-11-27 20:06:16 -08:00
n . variable ( " wine " , " wine " )
n . variable ( " exe " , " " )
2022-10-01 22:13:41 -07:00
n . newline ( )
2022-11-27 20:06:16 -08:00
###
# Rules
###
if os . name == " nt " :
2023-01-05 07:30:21 -08:00
mwcc_command = " tools \\ mwcc_compiler \\ $mwcc_version \\ mwcceppc.exe $cflags -c $in -o $basedir "
mwcc_frank_command = (
ALLOW_CHAIN
2022-11-27 20:06:16 -08:00
+ " tools \\ mwcc_compiler \\ $mwcc_version \\ mwcceppc.exe $cflags -c $in -o $basedir && "
2023-01-05 07:30:21 -08:00
+ " $python tools/franklite.py $out $out "
2022-11-27 20:06:16 -08:00
)
2023-01-05 07:30:21 -08:00
link_elf_command = " tools \\ mwcc_compiler \\ $mwcc_version \\ mwldeppc.exe $ldflags -o $out @$out.rsp "
assemble_asm_command = (
ALLOW_CHAIN
+ " $devkitppc \\ bin \\ powerpc-eabi-as.exe $asflags -o $out $in -MD $out.d "
+ " && $dtk elf fixup $out $out "
)
2022-11-27 20:06:16 -08:00
n . comment ( " Link ELF file " )
n . rule (
name = " link " ,
2023-01-05 07:30:21 -08:00
command = link_elf_command ,
2022-11-27 20:06:16 -08:00
description = " LINK $out " ,
rspfile = " $out.rsp " ,
rspfile_content = " $in " ,
)
n . newline ( )
2022-10-03 17:00:46 -07:00
else :
2023-01-05 07:30:21 -08:00
mwcc_command = " $ {wine} tools/mwcc_compiler/$mwcc_version/mwcceppc.exe $cflags -c $in -o $basedir && $python tools/transform-dep.py $basefile.d $basefile.d "
mwcc_frank_command = (
" $ {wine} tools/mwcc_compiler/$mwcc_version/mwcceppc.exe $cflags -c $in -o $basedir && "
2022-11-27 20:06:16 -08:00
+ " $python tools/franklite.py $out $out && "
2023-01-05 07:30:21 -08:00
+ " $python tools/transform-dep.py $basefile.d $basefile.d "
2022-11-27 20:06:16 -08:00
)
2023-01-05 07:30:21 -08:00
link_elf_command = " $ {wine} tools/mwcc_compiler/$mwcc_version/mwldeppc.exe $ldflags -o $out @$out.rsp "
assemble_asm_command = (
" $devkitppc/bin/powerpc-eabi-as $asflags -o $out $in -MD $out.d "
+ " && $dtk elf fixup $out $out "
)
2022-11-27 20:06:16 -08:00
n . comment ( " Link ELF file " )
n . rule (
name = " link " ,
2023-01-05 07:30:21 -08:00
command = link_elf_command ,
2022-11-27 20:06:16 -08:00
description = " LINK $out " ,
rspfile = " $out.rsp " ,
2022-12-14 18:17:16 -08:00
rspfile_content = " $in_newline " ,
2022-11-27 20:06:16 -08:00
)
n . newline ( )
2023-01-05 07:30:21 -08:00
n . comment ( " MWCC build " )
n . rule (
name = " mwcc " ,
command = mwcc_command ,
description = " MWCC $out " ,
depfile = " $basefile.d " ,
deps = " gcc " ,
)
n . newline ( )
n . comment ( " MWCC build with franklite " )
n . rule (
name = " mwcc_frank " ,
command = mwcc_frank_command ,
description = " FRANK $out " ,
depfile = " $basefile.d " ,
deps = " gcc " ,
)
n . newline ( )
n . comment ( " Assemble asm " )
n . rule (
name = " as " ,
command = assemble_asm_command ,
description = " AS $out " ,
depfile = " $out.d " ,
deps = " gcc " ,
)
n . newline ( )
n . comment ( " Create static library " )
n . rule (
name = " ar " ,
command = " $dtk ar create $out @$out.rsp " ,
description = " AR $out " ,
rspfile = " $out.rsp " ,
rspfile_content = " $in_newline " ,
)
n . newline ( )
2022-11-27 20:06:16 -08:00
n . comment ( " Host build " )
n . variable ( " host_cflags " , " -I include/ -Wno-trigraphs " )
n . variable (
" host_cppflags " ,
" -std=c++98 -I include/ -fno-exceptions -fno-rtti -D_CRT_SECURE_NO_WARNINGS -Wno-trigraphs -Wno-c++11-extensions " ,
)
n . rule (
name = " host_cc " ,
command = " clang $host_cflags -c -o $out $in " ,
description = " host_cc $out " ,
)
n . rule (
name = " host_cpp " ,
command = " clang++ $host_cppflags -c -o $out $in " ,
description = " host_c++ $out " ,
)
n . newline ( )
2022-10-16 13:20:36 -07:00
2022-12-14 08:50:58 -08:00
###
# Tooling
###
n . comment ( " decomp-toolkit " )
if args . build_dtk :
n . variable ( " dtk " , os . path . join ( " build " , " tools " , " release " , " dtk$exe " ) )
n . rule (
name = " cargo " ,
command = " cargo build --release --manifest-path $in --bin $bin --target-dir $target " ,
description = " CARGO $bin " ,
depfile = " $target/release/$bin.d " ,
deps = " gcc " ,
)
n . build (
outputs = " $dtk " ,
rule = " cargo " ,
inputs = os . path . join ( args . build_dtk , " Cargo.toml " ) ,
variables = {
" bin " : " dtk " ,
" target " : os . path . join ( " build " , " tools " ) ,
} ,
)
else :
n . variable ( " dtk " , os . path . join ( " build " , " tools " , " dtk$exe " ) )
n . rule (
name = " download_dtk " ,
command = " $python tools/download_dtk.py $in $out " ,
description = " DOWNLOAD $out " ,
)
n . build (
outputs = " $dtk " ,
rule = " download_dtk " ,
inputs = " dtk_version " ,
implicit = [ " tools/download_dtk.py " ] ,
)
2022-11-27 20:06:16 -08:00
###
# Rules for source files
###
n . comment ( " Source files " )
all_source_files = [ ]
all_host_source_files = [ ]
for lib in LIBS :
inputs = [ ]
if " lib " in lib :
lib_name = lib [ " lib " ]
n . comment ( f " { lib_name } .a " )
else :
n . comment ( " Loose files " )
for object in lib [ " objects " ] :
completed = None
add_to_all = True
2022-12-17 22:03:45 -08:00
no_frank = False
2022-10-09 16:48:42 -07:00
if type ( object ) is list :
2022-11-27 20:06:16 -08:00
if len ( object ) > 2 :
add_to_all = object [ 2 ]
2022-12-17 22:03:45 -08:00
if len ( object ) > 3 :
no_frank = object [ 3 ]
2022-10-09 16:48:42 -07:00
completed = object [ 1 ]
object = object [ 0 ]
2022-11-27 20:06:16 -08:00
mwcc_version = lib [ " mwcc_version " ]
c_file = None
if os . path . exists ( os . path . join ( " src " , f " { object } .cpp " ) ) :
c_file = os . path . join ( " src " , f " { object } .cpp " )
elif os . path . exists ( os . path . join ( " src " , f " { object } .c " ) ) :
c_file = os . path . join ( " src " , f " { object } .c " )
if c_file is not None :
if completed is None :
print ( f " Mark as incomplete: { c_file } " )
rule = " mwcc "
if mwcc_version == " 1.2.5e " :
mwcc_version = " 1.2.5 "
2022-12-17 22:03:45 -08:00
if no_frank is False :
rule = " mwcc_frank "
2022-11-27 20:06:16 -08:00
n . build (
outputs = f " $builddir/src/ { object } .o " ,
rule = rule ,
inputs = c_file ,
variables = {
" mwcc_version " : mwcc_version ,
" cflags " : lib [ " cflags " ] ,
" basedir " : os . path . dirname ( f " $builddir/src/ { object } " ) ,
" basefile " : f " $builddir/src/ { object } " ,
} ,
)
if lib [ " host " ] :
n . build (
outputs = f " $builddir/host/ { object } .o " ,
rule = " host_cc " if c_file . endswith ( " .c " ) else " host_cpp " ,
inputs = c_file ,
variables = {
" basedir " : os . path . dirname ( f " $builddir/src/ { object } " ) ,
" basefile " : f " $builddir/src/ { object } " ,
} ,
)
2023-01-17 10:48:09 -08:00
n . build (
outputs = f " host/ { c_file } " ,
rule = " phony " ,
inputs = f " $builddir/host/ { object } .o " ,
)
2022-11-27 20:06:16 -08:00
if add_to_all :
all_host_source_files . append ( f " $builddir/host/ { object } .o " )
if add_to_all :
all_source_files . append ( f " $builddir/src/ { object } .o " )
if os . path . exists ( os . path . join ( " asm " , f " { object } .s " ) ) :
n . build (
outputs = f " $builddir/asm/ { object } .o " ,
rule = " as " ,
inputs = f " asm/ { object } .s " ,
2022-12-14 08:50:58 -08:00
implicit = " $dtk " ,
2022-11-27 20:06:16 -08:00
)
2022-10-09 16:48:42 -07:00
if completed :
2022-10-03 17:00:46 -07:00
inputs . append ( f " $builddir/src/ { object } .o " )
else :
inputs . append ( f " $builddir/asm/ { object } .o " )
2022-11-27 20:06:16 -08:00
if args . static_libs and " lib " in lib :
lib_name = lib [ " lib " ]
n . build (
outputs = f " $builddir/lib/ { lib_name } .a " ,
rule = " ar " ,
inputs = inputs ,
2022-12-14 18:17:16 -08:00
implicit = " $dtk " ,
2022-11-27 20:06:16 -08:00
)
n . newline ( )
2022-10-01 22:13:41 -07:00
2022-11-27 20:06:16 -08:00
###
# Link
###
n . comment ( " Link " )
inputs = [ ]
for lib in LIBS :
if args . static_libs and " lib " in lib :
lib_name = lib [ " lib " ]
inputs . append ( f " $builddir/lib/ { lib_name } .a " )
else :
for object in lib [ " objects " ] :
completed = False
if type ( object ) is list :
completed = object [ 1 ]
object = object [ 0 ]
2022-10-10 02:21:02 -07:00
2022-11-27 20:06:16 -08:00
if completed :
inputs . append ( f " $builddir/src/ { object } .o " )
else :
inputs . append ( f " $builddir/asm/ { object } .o " )
if args . map :
n . build (
outputs = " $builddir/main.elf " ,
rule = " link " ,
inputs = inputs ,
implicit_outputs = " $builddir/MetroidPrime.MAP " ,
)
else :
n . build (
outputs = " $builddir/main.elf " ,
rule = " link " ,
inputs = inputs ,
)
n . newline ( )
2022-10-19 15:21:42 -07:00
2022-11-27 20:06:16 -08:00
###
# Helper rule for building all source files
###
n . comment ( " Build all source files " )
n . build (
outputs = " all_source " ,
rule = " phony " ,
inputs = all_source_files ,
)
n . newline ( )
2022-10-01 22:13:41 -07:00
2022-11-27 20:06:16 -08:00
###
# Helper rule for building all source files, with a host compiler
###
n . comment ( " Build all source files with a host compiler " )
n . build (
outputs = " all_source_host " ,
rule = " phony " ,
inputs = all_host_source_files ,
)
2022-10-01 22:13:41 -07:00
n . newline ( )
2022-11-27 20:06:16 -08:00
###
2022-12-14 08:50:58 -08:00
# Generate DOL
2022-11-27 20:06:16 -08:00
###
2022-12-14 08:50:58 -08:00
n . comment ( " Generate DOL " )
2022-11-27 20:06:16 -08:00
n . rule (
name = " elf2dol " ,
command = ALLOW_CHAIN
+ " $dtk elf2dol $in $out && "
+ " $dtk metroidbuildinfo $out buildstrings/mp1.$version.build " ,
description = " DOL $out " ,
)
n . build (
outputs = " $builddir/main.dol " ,
rule = " elf2dol " ,
inputs = " $builddir/main.elf " ,
implicit = " $dtk " ,
)
2022-10-01 22:13:41 -07:00
n . newline ( )
2022-11-27 20:06:16 -08:00
###
# Check DOL hash
###
if args . check :
n . comment ( " Check DOL hash " )
n . rule (
name = " check " ,
2022-11-27 20:56:22 -08:00
command = " $dtk shasum -c $in -o $out " ,
2022-11-27 20:06:16 -08:00
description = " CHECK $in " ,
)
n . build (
outputs = " $builddir/main.dol.ok " ,
rule = " check " ,
inputs = " sha1/mp1.$version.sha1 " ,
implicit = [ " $builddir/main.dol " , " $dtk " ] ,
)
n . newline ( )
###
# Progress script
###
if args . map :
n . comment ( " Check progress " )
n . rule (
name = " progress " ,
command = " $python progress.py $in -o $out " ,
description = " PROGRESS $in " ,
)
n . build (
outputs = " $builddir/main.dol.progress " ,
rule = " progress " ,
inputs = [ " $builddir/main.dol " , " $builddir/MetroidPrime.MAP " ] ,
2022-12-14 18:17:16 -08:00
implicit = " progress.py " ,
2022-11-27 20:06:16 -08:00
)
n . newline ( )
###
# Regenerate on change
###
n . comment ( " Reconfigure on change " )
n . rule (
name = " configure " ,
command = " $python configure.py $configure_args " ,
generator = True ,
)
n . build (
outputs = " build.ninja " ,
rule = " configure " ,
implicit = [ " configure.py " , " tools/ninja_syntax.py " ] ,
)
n . newline ( )
2022-10-01 22:13:41 -07:00
2022-11-27 20:06:16 -08:00
###
# Default rule
###
n . comment ( " Default rule " )
if args . check :
dol_out = " $builddir/main.dol.ok "
else :
dol_out = " $builddir/main.dol "
if args . map :
n . default ( [ dol_out , " $builddir/main.dol.progress " ] )
else :
n . default ( [ dol_out ] )
2022-10-01 22:13:41 -07:00
2022-11-27 20:06:16 -08:00
with open ( " build.ninja " , " w " ) as f :
f . write ( out . getvalue ( ) )
n . close ( )