command script import ~/metaforce_lldb_tools.py
type synthetic add zeus::CMatrix3f --python-class metaforce_lldb_tools.CMatrix3f_Provider
type synthetic add zeus::CMatrix4f --python-class metaforce_lldb_tools.CMatrix4f_Provider

type summary add --summary-string "(${var.__s_.__storage_[0]}, ${var.__s_.__storage_[1]}, ${var.__s_.__storage_[2]}, ${var.__s_.__storage_[3]})" zeus::simd<float>
type summary add --summary-string "(${var.__s_.__storage_[0]}, ${var.__s_.__storage_[1]}, ${var.__s_.__storage_[2]}, ${var.__s_.__storage_[3]})" zeus::simd<double>

type summary add --summary-string "(${var.x}, ${var.y})" zeus::CVector2i
type summary add --summary-string "(${var.mSimd.__s_.__storage_[0]}, ${var.mSimd.__s_.__storage_[1]})" zeus::CVector2f
type summary add --summary-string "(${var.mSimd.__s_.__storage_[0]}, ${var.mSimd.__s_.__storage_[1]}, ${var.mSimd.__s_.__storage_[2]})" zeus::CVector3f
type summary add --summary-string "(${var.mSimd.__s_.__storage_[0]}, ${var.mSimd.__s_.__storage_[1]}, ${var.mSimd.__s_.__storage_[2]})" zeus::CVector3d
type summary add --summary-string "(${var.mSimd.__s_.__storage_[0]}, ${var.mSimd.__s_.__storage_[1]}, ${var.mSimd.__s_.__storage_[2]}, ${var.mSimd.__s_.__storage_[3]})" zeus::CVector4f
type summary add --summary-string "(${var.mSimd.__s_.__storage_[0]}, ${var.mSimd.__s_.__storage_[1]}, ${var.mSimd.__s_.__storage_[2]}, ${var.mSimd.__s_.__storage_[3]})" zeus::CColor
type summary add --summary-string "${var.angle}" zeus::CRelAngle
type summary add --summary-string "(${var.mSimd.__s_.__storage_[0]}, ${var.mSimd.__s_.__storage_[1]}, ${var.mSimd.__s_.__storage_[2]}, ${var.mSimd.__s_.__storage_[3]})" zeus::CQuaternion
type summary add --summary-string "pos=${var.position} radius=${var.radius}" zeus::CSphere
type summary add --summary-string "norm=(${var.mSimd.__s_.__storage_[0]}, ${var.mSimd.__s_.__storage_[1]}, ${var.mSimd.__s_.__storage_[2]}) d=${var.mSimd.__s_.__storage_[3]}" zeus::CPlane
type summary add --summary-string "min=${var.min} max=${var.max}" zeus::CAABox
type summary add --summary-string "start=${var.origin} dir=${var.dir}" zeus::CLine
type summary add --summary-string "start=${var.x0_start} dir=${var.xc_dir} end=${var.x18_end}" zeus::CLineSeg
type summary add --summary-string "pos=${var.position} size=${var.size}" zeus::CRectangle
type summary add --summary-string "${var.origin}" zeus::CTransform

type summary add --summary-string "${var.id%x} area=${var.id[16-25]}, layer=${var.id[26-31]}, id=${var.id[0-15]}" metaforce::TEditorId
type summary add --summary-string "${var.id}" metaforce::TUniqueId

type summary add --summary-string "${var.x0_time}" metaforce::CCharAnimTime

type summary add --summary-string "${var.id%x}" metaforce::CAssetId
type summary add --summary-string "${var.type.fcc} ${var.id.id%x}" metaforce::SObjectTag

# \s*(\S+) \((\S+)\)
# type summary add --summary-string "\${var.x10_name} \${var.xc_editorId}" $2::$1\n
type summary add --summary-string "${var.x10_name} ${var.xc_editorId}, active=${var.x30_24_active}" metaforce::CEntity
type summary add --summary-string "${var.x10_name} ${var.xc_editorId}" metaforce::CActor
type summary add --summary-string "${var.x10_name} ${var.xc_editorId}" metaforce::CEffect
type summary add --summary-string "${var.x10_name} ${var.xc_editorId}" metaforce::CExplosion
type summary add --summary-string "${var.x10_name} ${var.xc_editorId}" metaforce::CHUDBillboardEffect
type summary add --summary-string "${var.x10_name} ${var.xc_editorId}" metaforce::CIceImpact
type summary add --summary-string "${var.x10_name} ${var.xc_editorId}" metaforce::CFire
type summary add --summary-string "${var.x10_name} ${var.xc_editorId}" metaforce::CFishCloud
type summary add --summary-string "${var.x10_name} ${var.xc_editorId}" metaforce::CFishCloudModifier
type summary add --summary-string "${var.x10_name} ${var.xc_editorId}" metaforce::CGameCamera
type summary add --summary-string "${var.x10_name} ${var.xc_editorId}" metaforce::CBallCamera
type summary add --summary-string "${var.x10_name} ${var.xc_editorId}" metaforce::CCinematicCamera
type summary add --summary-string "${var.x10_name} ${var.xc_editorId}" metaforce::CFirstPersonCamera
type summary add --summary-string "${var.x10_name} ${var.xc_editorId}" metaforce::CInterpolationCamera
type summary add --summary-string "${var.x10_name} ${var.xc_editorId}" metaforce::CPathCamera
type summary add --summary-string "${var.x10_name} ${var.xc_editorId}" metaforce::CScriptSpindleCamera
type summary add --summary-string "${var.x10_name} ${var.xc_editorId}" metaforce::CGameLight
type summary add --summary-string "${var.x10_name} ${var.xc_editorId}" metaforce::CPhysicsActor
type summary add --summary-string "${var.x10_name} ${var.xc_editorId}" metaforce::CAi
type summary add --summary-string "${var.x10_name} ${var.xc_editorId}" metaforce::CDestroyableRock
type summary add --summary-string "${var.x10_name} ${var.xc_editorId}" metaforce::CPatterned
type summary add --summary-string "${var.x10_name} ${var.xc_editorId}" metaforce::MP1::CAtomicAlpha
type summary add --summary-string "${var.x10_name} ${var.xc_editorId}" metaforce::MP1::CBabygoth
type summary add --summary-string "${var.x10_name} ${var.xc_editorId}" metaforce::MP1::CBeetle
type summary add --summary-string "${var.x10_name} ${var.xc_editorId}" metaforce::MP1::CBloodFlower
type summary add --summary-string "${var.x10_name} ${var.xc_editorId}" metaforce::MP1::CBurrower
type summary add --summary-string "${var.x10_name} ${var.xc_editorId}" metaforce::MP1::CChozoGhost
type summary add --summary-string "${var.x10_name} ${var.xc_editorId}" metaforce::MP1::CElitePirate
type summary add --summary-string "${var.x10_name} ${var.xc_editorId}" metaforce::MP1::CEyeball
type summary add --summary-string "${var.x10_name} ${var.xc_editorId}" metaforce::MP1::CFireFlea
type summary add --summary-string "${var.x10_name} ${var.xc_editorId}" metaforce::MP1::CFlickerBat
type summary add --summary-string "${var.x10_name} ${var.xc_editorId}" metaforce::MP1::CFlyingPirate
type summary add --summary-string "${var.x10_name} ${var.xc_editorId}" metaforce::MP1::CMagdolite
type summary add --summary-string "${var.x10_name} ${var.xc_editorId}" metaforce::MP1::CMetaree
type summary add --summary-string "${var.x10_name} ${var.xc_editorId}" metaforce::MP1::CMetroid
type summary add --summary-string "${var.x10_name} ${var.xc_editorId}" metaforce::MP1::CMetroidBeta
type summary add --summary-string "${var.x10_name} ${var.xc_editorId}" metaforce::MP1::CMetroidPrimeExo
type summary add --summary-string "${var.x10_name} ${var.xc_editorId}" metaforce::MP1::CNewIntroBoss
type summary add --summary-string "${var.x10_name} ${var.xc_editorId}" metaforce::MP1::CPuddleToadGamma
type summary add --summary-string "${var.x10_name} ${var.xc_editorId}" metaforce::MP1::CPuffer
type summary add --summary-string "${var.x10_name} ${var.xc_editorId}" metaforce::MP1::CRidley
type summary add --summary-string "${var.x10_name} ${var.xc_editorId}" metaforce::MP1::CSpacePirate
type summary add --summary-string "${var.x10_name} ${var.xc_editorId}" metaforce::CThardusRockProjectile
type summary add --summary-string "${var.x10_name} ${var.xc_editorId}" metaforce::MP1::CTryclops
type summary add --summary-string "${var.x10_name} ${var.xc_editorId}" metaforce::CWallWalker
type summary add --summary-string "${var.x10_name} ${var.xc_editorId}" metaforce::MP1::CParasite
type summary add --summary-string "${var.x10_name} ${var.xc_editorId}" metaforce::MP1::CSeedling
type summary add --summary-string "${var.x10_name} ${var.xc_editorId}" metaforce::MP1::CWarWasp
type summary add --summary-string "${var.x10_name} ${var.xc_editorId}" metaforce::CAmbientAI
type summary add --summary-string "${var.x10_name} ${var.xc_editorId}" metaforce::CCollisionActor
type summary add --summary-string "${var.x10_name} ${var.xc_editorId}" metaforce::CPlayer
type summary add --summary-string "${var.x10_name} ${var.xc_editorId}" metaforce::CScriptActor
type summary add --summary-string "${var.x10_name} ${var.xc_editorId}" metaforce::MP1::CActorContraption
type summary add --summary-string "${var.x10_name} ${var.xc_editorId}" metaforce::CScriptPlayerActor
type summary add --summary-string "${var.x10_name} ${var.xc_editorId}" metaforce::CScriptDebris
type summary add --summary-string "${var.x10_name} ${var.xc_editorId}" metaforce::CScriptDock
type summary add --summary-string "${var.x10_name} ${var.xc_editorId}" metaforce::CScriptDoor
type summary add --summary-string "${var.x10_name} ${var.xc_editorId}" metaforce::CScriptGunTurret
type summary add --summary-string "${var.x10_name} ${var.xc_editorId}" metaforce::CScriptPickup
type summary add --summary-string "${var.x10_name} ${var.xc_editorId}" metaforce::CScriptPlatform
type summary add --summary-string "${var.x10_name} ${var.xc_editorId}" metaforce::CRepulsor
type summary add --summary-string "${var.x10_name} ${var.xc_editorId}" metaforce::CScriptAiJumpPoint
type summary add --summary-string "${var.x10_name} ${var.xc_editorId}" metaforce::CScriptBeam
type summary add --summary-string "${var.x10_name} ${var.xc_editorId}" metaforce::CScriptCameraHint
type summary add --summary-string "${var.x10_name} ${var.xc_editorId}" metaforce::CScriptCameraHintTrigger
type summary add --summary-string "${var.x10_name} ${var.xc_editorId}" metaforce::CScriptCameraPitchVolume
type summary add --summary-string "${var.x10_name} ${var.xc_editorId}" metaforce::CScriptCameraWaypoint
type summary add --summary-string "${var.x10_name} ${var.xc_editorId}" metaforce::CScriptCoverPoint
type summary add --summary-string "${var.x10_name} ${var.xc_editorId}" metaforce::CScriptDamageableTrigger
type summary add --summary-string "${var.x10_name} ${var.xc_editorId}" metaforce::CScriptDebugCameraWaypoint
type summary add --summary-string "${var.x10_name} ${var.xc_editorId}" metaforce::CScriptEffect
type summary add --summary-string "${var.x10_name} ${var.xc_editorId}" metaforce::CScriptEMPulse
type summary add --summary-string "${var.x10_name} ${var.xc_editorId}" metaforce::CScriptGrapplePoint
type summary add --summary-string "${var.x10_name} ${var.xc_editorId}" metaforce::CScriptMazeNode
type summary add --summary-string "${var.x10_name} ${var.xc_editorId}" metaforce::CScriptPlayerHint
type summary add --summary-string "${var.x10_name} ${var.xc_editorId}" metaforce::CScriptPointOfInterest
type summary add --summary-string "${var.x10_name} ${var.xc_editorId}" metaforce::CScriptShadowProjector
type summary add --summary-string "${var.x10_name} ${var.xc_editorId}" metaforce::CScriptSound
type summary add --summary-string "${var.x10_name} ${var.xc_editorId}" metaforce::CScriptSpecialFunction
type summary add --summary-string "${var.x10_name} ${var.xc_editorId}" metaforce::CScriptSpiderBallAttractionSurface
type summary add --summary-string "${var.x10_name} ${var.xc_editorId}" metaforce::CScriptSpiderBallWaypoint
type summary add --summary-string "${var.x10_name} ${var.xc_editorId}" metaforce::CScriptTargetingPoint
type summary add --summary-string "${var.x10_name} ${var.xc_editorId}" metaforce::CScriptTrigger
type summary add --summary-string "${var.x10_name} ${var.xc_editorId}" metaforce::CScriptBallTrigger
type summary add --summary-string "${var.x10_name} ${var.xc_editorId}" metaforce::CScriptSteam
type summary add --summary-string "${var.x10_name} ${var.xc_editorId}" metaforce::CScriptWater
type summary add --summary-string "${var.x10_name} ${var.xc_editorId}" metaforce::CScriptVisorFlare
type summary add --summary-string "${var.x10_name} ${var.xc_editorId}" metaforce::CScriptVisorGoo
type summary add --summary-string "${var.x10_name} ${var.xc_editorId}" metaforce::CScriptWaypoint
type summary add --summary-string "${var.x10_name} ${var.xc_editorId}" metaforce::CSnakeWeedSwarm
type summary add --summary-string "${var.x10_name} ${var.xc_editorId}" metaforce::CWallCrawlerSwarm
type summary add --summary-string "${var.x10_name} ${var.xc_editorId}" metaforce::CWeapon
type summary add --summary-string "${var.x10_name} ${var.xc_editorId}" metaforce::CBomb
type summary add --summary-string "${var.x10_name} ${var.xc_editorId}" metaforce::CGameProjectile
type summary add --summary-string "${var.x10_name} ${var.xc_editorId}" metaforce::CBeamProjectile
type summary add --summary-string "${var.x10_name} ${var.xc_editorId}" metaforce::CPlasmaProjectile
type summary add --summary-string "${var.x10_name} ${var.xc_editorId}" metaforce::CEnergyProjectile
type summary add --summary-string "${var.x10_name} ${var.xc_editorId}" metaforce::MP1::CFlaahgraProjectile
type summary add --summary-string "${var.x10_name} ${var.xc_editorId}" metaforce::MP1::CMetroidPrimeProjectile
type summary add --summary-string "${var.x10_name} ${var.xc_editorId}" metaforce::CTargetableProjectile
type summary add --summary-string "${var.x10_name} ${var.xc_editorId}" metaforce::CFlameThrower
type summary add --summary-string "${var.x10_name} ${var.xc_editorId}" metaforce::CNewFlameThrower
type summary add --summary-string "${var.x10_name} ${var.xc_editorId}" metaforce::CWaveBuster
type summary add --summary-string "${var.x10_name} ${var.xc_editorId}" metaforce::CPowerBomb
type summary add --summary-string "${var.x10_name} ${var.xc_editorId}" metaforce::MP1::CFireFlea::CDeathCameraEffect
type summary add --summary-string "${var.x10_name} ${var.xc_editorId}" metaforce::MP1::CMetroidPrimeRelay
type summary add --summary-string "${var.x10_name} ${var.xc_editorId}" metaforce::CScriptActorKeyframe
type summary add --summary-string "${var.x10_name} ${var.xc_editorId}" metaforce::CScriptActorRotate
type summary add --summary-string "${var.x10_name} ${var.xc_editorId}" metaforce::CScriptAreaAttributes
type summary add --summary-string "${var.x10_name} ${var.xc_editorId}" metaforce::CScriptCameraBlurKeyframe
type summary add --summary-string "${var.x10_name} ${var.xc_editorId}" metaforce::CScriptCameraFilterKeyframe
type summary add --summary-string "${var.x10_name} ${var.xc_editorId}" metaforce::CScriptCameraShaker
type summary add --summary-string "${var.x10_name} ${var.xc_editorId}" metaforce::CScriptColorModulate
type summary add --summary-string "${var.x10_name} ${var.xc_editorId}" metaforce::CScriptControllerAction
type summary add --summary-string "${var.x10_name} ${var.xc_editorId}" metaforce::CScriptCounter
type summary add --summary-string "${var.x10_name} ${var.xc_editorId}" metaforce::CScriptDistanceFog
type summary add --summary-string "${var.x10_name} ${var.xc_editorId}" metaforce::CScriptDockAreaChange
type summary add --summary-string "${var.x10_name} ${var.xc_editorId}" metaforce::CScriptGenerator
type summary add --summary-string "${var.x10_name} ${var.xc_editorId}" metaforce::CScriptHUDMemo
type summary add --summary-string "${var.x10_name} ${var.xc_editorId}" metaforce::CScriptMemoryRelay
type summary add --summary-string "${var.x10_name} ${var.xc_editorId}" metaforce::CScriptMidi
type summary add --summary-string "${var.x10_name} ${var.xc_editorId}" metaforce::CScriptPickupGenerator
type summary add --summary-string "${var.x10_name} ${var.xc_editorId}" metaforce::CScriptPlayerStateChange
type summary add --summary-string "${var.x10_name} ${var.xc_editorId}" metaforce::CScriptRandomRelay
type summary add --summary-string "${var.x10_name} ${var.xc_editorId}" metaforce::CScriptRelay
type summary add --summary-string "${var.x10_name} ${var.xc_editorId}" metaforce::CScriptRipple
type summary add --summary-string "${var.x10_name} ${var.xc_editorId}" metaforce::CScriptRoomAcoustics
type summary add --summary-string "${var.x10_name} ${var.xc_editorId}" metaforce::CScriptSpawnPoint
type summary add --summary-string "${var.x10_name} ${var.xc_editorId}" metaforce::CScriptStreamedMusic
type summary add --summary-string "${var.x10_name} ${var.xc_editorId}" metaforce::CScriptSwitch
type summary add --summary-string "${var.x10_name} ${var.xc_editorId}" metaforce::CScriptTimer
type summary add --summary-string "${var.x10_name} ${var.xc_editorId}" metaforce::CScriptWorldTeleporter
type summary add --summary-string "${var.x10_name} ${var.xc_editorId}" metaforce::CTeamAiMgr

