diff --git a/ghcidOutput b/ghcidOutput index ee6d7066a..4b8b1e9bf 100644 --- a/ghcidOutput +++ b/ghcidOutput @@ -1,99 +1,10 @@ -/home/justin/Haskell/loop/src/Dodge/Item/Grammar.hs:11:1-39: warning: [-Wunused-imports] - The qualified import of ‘Linear.Quaternion’ is redundant - | -11 | import qualified Linear.Quaternion as Q - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ /home/justin/Haskell/loop/src/Dodge/Item/Grammar.hs:12:1-20: warning: [-Wunused-imports] The import of ‘Geometry.Data’ is redundant | 12 | import Geometry.Data | ^^^^^^^^^^^^^^^^^^^^ -/home/justin/Haskell/loop/src/Dodge/Item/Grammar.hs:65:5: warning: [-Wunused-local-binds] +/home/justin/Haskell/loop/src/Dodge/Item/Grammar.hs:63:5: warning: [-Wunused-local-binds] Defined but not used: ‘c’ | -65 | c x y _ _ _ = Just (x,y) +63 | c x y _ _ _ = Just (x,y) | ^ -/home/justin/Haskell/loop/src/Dodge/Item/Draw/SPic.hs:456:5-6: warning: [-Wunused-local-binds] - Defined but not used: ‘tx’ - | -456 | tx = 4 - | ^^ -/home/justin/Haskell/loop/src/Dodge/Item/Draw/SPic.hs:456:10: warning: [-Wtype-defaults] - • Defaulting the following constraint to type ‘Integer’ - Num p0 arising from the literal ‘4’ - • In the expression: 4 - In an equation for ‘tx’: tx = 4 - In an equation for ‘flamerPic’: - flamerPic _ - = (colorSH yellow $ xCylinderST 5 18, mempty) - where - tx = 4 - ty = - 6 - tz = 3 - r = 5 - | -456 | tx = 4 - | ^ -/home/justin/Haskell/loop/src/Dodge/Item/Draw/SPic.hs:457:5-6: warning: [-Wunused-local-binds] - Defined but not used: ‘ty’ - | -457 | ty = - 6 - | ^^ -/home/justin/Haskell/loop/src/Dodge/Item/Draw/SPic.hs:457:10-12: warning: [-Wtype-defaults] - • Defaulting the following constraint to type ‘Integer’ - Num a0 arising from a use of syntactic negation - • In the expression: - 6 - In an equation for ‘ty’: ty = - 6 - In an equation for ‘flamerPic’: - flamerPic _ - = (colorSH yellow $ xCylinderST 5 18, mempty) - where - tx = 4 - ty = - 6 - tz = 3 - r = 5 - | -457 | ty = - 6 - | ^^^ -/home/justin/Haskell/loop/src/Dodge/Item/Draw/SPic.hs:458:5-6: warning: [-Wunused-local-binds] - Defined but not used: ‘tz’ - | -458 | tz = 3 - | ^^ -/home/justin/Haskell/loop/src/Dodge/Item/Draw/SPic.hs:458:10: warning: [-Wtype-defaults] - • Defaulting the following constraint to type ‘Integer’ - Num p0 arising from the literal ‘3’ - • In the expression: 3 - In an equation for ‘tz’: tz = 3 - In an equation for ‘flamerPic’: - flamerPic _ - = (colorSH yellow $ xCylinderST 5 18, mempty) - where - tx = 4 - ty = - 6 - tz = 3 - r = 5 - | -458 | tz = 3 - | ^ -/home/justin/Haskell/loop/src/Dodge/Item/Draw/SPic.hs:459:5: warning: [-Wunused-local-binds] - Defined but not used: ‘r’ - | -459 | r = 5 - | ^ -/home/justin/Haskell/loop/src/Dodge/Item/Draw/SPic.hs:459:9: warning: [-Wtype-defaults] - • Defaulting the following constraint to type ‘Integer’ - Num p0 arising from the literal ‘5’ - • In the expression: 5 - In an equation for ‘r’: r = 5 - In an equation for ‘flamerPic’: - flamerPic _ - = (colorSH yellow $ xCylinderST 5 18, mempty) - where - tx = 4 - ty = - 6 - tz = 3 - r = 5 - | -459 | r = 5 - | ^ diff --git a/src/Dodge/Item/Draw/SPic.hs b/src/Dodge/Item/Draw/SPic.hs index ddb7cefef..1c085c38b 100644 --- a/src/Dodge/Item/Draw/SPic.hs +++ b/src/Dodge/Item/Draw/SPic.hs @@ -59,11 +59,17 @@ ammoMagSPic it = \case TINMAG -> noPic $ upperPrismPolyTS 1 (reverse $ rectNSWE 0 (- y) (-1) 1) DRUMMAG -> noPic $ upperPrismPolyTS 1 (reverse $ rectNSWE 0 (- y) (-1) 1) CHEMFUELPOUCH -> (colorSH yellow (upperPrismPolyST 3 $ polyCirc 3 5) - , mempty) + , setLayer MidLayer . color black $ translate3 (V3 0 0 4) $ circleSolid (5 * am) + ) _ -> noPic $ upperPrismPolyTS 1 (reverse $ rectNSWE 0 (- y) (-1) 1) where y = fromIntegral y' * 0.3 y' = fromMaybe 0 $ it ^? itUse . amagLoadStatus . iaLoaded + am = fractionLoadedAmmo2 (it ^?! itUse . amagLoadStatus) + +fractionLoadedAmmo2 :: ReloadStatus -> Float +fractionLoadedAmmo2 rs = + 1 - (1 - fromIntegral (_iaLoaded rs) / fromIntegral (_iaMax rs)) ** 2 equipItemSPic :: EquipItemType -> Item -> SPic equipItemSPic et _ = case et of @@ -452,11 +458,11 @@ flamerPic _ = --, color black $ translate3 (V3 tx ty (tz + 0.01)) $ circleSolid (r * am) -- , color black $ translate3 (V3 tx ty (tz + 0.01)) $ circleSolid (r * 0.5) ) - where - tx = 4 - ty = - 6 - tz = 3 - r = 5 +-- where +-- tx = 4 +-- ty = - 6 +-- tz = 3 +-- r = 5 -- am = fractionLoadedAmmo2 it launcherPic :: Item -> SPic diff --git a/src/Dodge/Item/Grammar.hs b/src/Dodge/Item/Grammar.hs index 51a65eb91..9d03e1795 100644 --- a/src/Dodge/Item/Grammar.hs +++ b/src/Dodge/Item/Grammar.hs @@ -8,7 +8,7 @@ module Dodge.Item.Grammar ( ) where import Dodge.Item.Orientation -import qualified Linear.Quaternion as Q +--import qualified Linear.Quaternion as Q import Geometry.Data import Control.Applicative import Data.Bifunctor @@ -39,16 +39,14 @@ useBreakListsLinkTest llist rlist = LTest ltest rtest basePartiallyComposedItem' :: Item -> PartiallyComposedItem ItemLink basePartiallyComposedItem' itm = case itm ^. itType of HELD _ -> (itm, WeaponPlatformSF, useBreakListsLinkTest - --(map (\(i,a) -> (AmmoMagSF a, ILink (AmmoInLink i a) (c (V3 7 (-2) 0) rhs - (map (\(i,a) -> (AmmoMagSF a, ILink (AmmoInLink i a) orientAttachment - )) + (map (\(i,a) -> noa (AmmoMagSF a) (AmmoInLink i a)) (IM.toList $ itm ^. itUse . heldAmmoTypes)) [noa WeaponTargetingSF WeaponTargetingLink, noa WeaponScopeSF WeaponScopeLink] ) AMMOMAG _ -> ammoComposedItem' itm TARGETING {} -> (itm,WeaponTargetingSF, useBreakListsLinkTest [noa AugmentedHUDSF AugmentedHUDLink] []) - ATTACH ZOOMSCOPE -> (itm,WeaponScopeSF, LTest (const Nothing) (const Nothing)) - ATTACH HOMINGMODULE -> (itm,AmmoTargetingSF ProjectileAmmo, LTest (const Nothing) (const Nothing)) + ATTACH ZOOMSCOPE -> nolinks WeaponScopeSF + ATTACH HOMINGMODULE -> nolinks $ AmmoTargetingSF ProjectileAmmo ATTACH AUGMENTEDHUD -> nolinks AugmentedHUDSF BULLETMOD BulletModTrajectory {} -> nolinks $ AmmoTargetingSF BulletAmmo BULLETMOD BulletModPayload {} -> nolinks $ AmmoPayloadSF BulletAmmo diff --git a/src/Dodge/Item/Orientation.hs b/src/Dodge/Item/Orientation.hs index 2fe09e233..301548f8d 100644 --- a/src/Dodge/Item/Orientation.hs +++ b/src/Dodge/Item/Orientation.hs @@ -20,7 +20,6 @@ orientByLink itm lt = case (_itType itm,lt) of orientAttachment :: Item -> ComposeLinkType -> Item -> Maybe (Point3, Q.Quaternion Float) orientAttachment par lnk ch = Just (t1 + (Q.rotate q1 t2), q1 * q2) ---orientAttachment par lnk ch = Just (t1 , q1 ) where (t1,q1) = orientByLink par lnk (t2,q2) = orientChild ch diff --git a/src/Dodge/Render.hs b/src/Dodge/Render.hs index f525fa484..3ada68203 100644 --- a/src/Dodge/Render.hs +++ b/src/Dodge/Render.hs @@ -251,7 +251,7 @@ doDrawing' win pdata u = do GL_COLOR 0 ptr - -- renderLayer MidLayer shadV layerCounts + renderLayer MidLayer shadV layerCounts glUseProgram (pdata ^. cloudShader . shaderUINT) glBindVertexArray $ pdata ^. cloudShader . shaderVAO . vaoName glDrawElements diff --git a/tags b/tags index 48086c3ee..d54cb7451 100644 --- a/tags +++ b/tags @@ -1337,7 +1337,7 @@ LBoost src/Dodge/Data/Item/HeldUse.hs 55;" C LBranches src/TreeExtra.hs 24;" C LDT src/Dodge/Data/DoubleTree.hs 39;" C LDTBottomNode src/Dodge/Data/DoubleTree.hs 27;" C -LDTComb src/Dodge/Item/Grammar.hs 86;" t +LDTComb src/Dodge/Item/Grammar.hs 85;" t LDTMidAboveNode src/Dodge/Data/DoubleTree.hs 25;" C LDTMidBelowNode src/Dodge/Data/DoubleTree.hs 26;" C LDTRootNode src/Dodge/Data/DoubleTree.hs 23;" C @@ -4341,7 +4341,7 @@ addSideEffect src/Dodge/Concurrent.hs 32;" f addSouthPillars src/Dodge/Room/LongDoor.hs 87;" f addTermSignal src/Dodge/Event/Input.hs 34;" f addTile src/Dodge/Room/AddTile.hs 11;" f -addTinClip src/Dodge/Item/Draw/SPic.hs 329;" f +addTinClip src/Dodge/Item/Draw/SPic.hs 335;" f addToTrunk src/Dodge/Layout/Tree/Polymorphic.hs 116;" f addToTrunk src/Dodge/Tree/Polymorphic.hs 129;" f addToTrunk src/TreeHelp.hs 156;" f @@ -4370,7 +4370,7 @@ airlockZ src/Dodge/Room/Airlock.hs 91;" f allHotkeys src/Dodge/Creature/YourControl.hs 52;" f allVisibleWalls src/Dodge/Base/Collide.hs 131;" f alongSegBy src/Geometry.hs 43;" f -ammoComposedItem' src/Dodge/Item/Grammar.hs 69;" f +ammoComposedItem' src/Dodge/Item/Grammar.hs 68;" f ammoMagSPic src/Dodge/Item/Draw/SPic.hs 57;" f amr src/Dodge/Item/Held/Rod.hs 46;" f amr src/Dodge/Item/Weapon/BulletGun/Rod.hs 56;" f @@ -4480,10 +4480,10 @@ azure src/Color.hs 22;" f bQuadToF src/Geometry/Bezier.hs 37;" f bQuadToLine src/Geometry/Bezier.hs 30;" f backpackCombinations src/Dodge/Combine/Combinations.hs 25;" f -backpackShape src/Dodge/Item/Draw/SPic.hs 98;" f +backpackShape src/Dodge/Item/Draw/SPic.hs 104;" f backspaceInputted src/Dodge/Update/Input/Text.hs 26;" f bangCone src/Dodge/Item/Held/Cone.hs 11;" f -bangConeShape src/Dodge/Item/Draw/SPic.hs 259;" f +bangConeShape src/Dodge/Item/Draw/SPic.hs 265;" f bangEchoS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 370;" f bangRod src/Dodge/Item/Held/Rod.hs 18;" f bangRod src/Dodge/Item/Weapon/BulletGun/Rod.hs 18;" f @@ -4493,20 +4493,20 @@ bangStick src/Dodge/Item/Weapon/BulletGun/Stick.hs 17;" f bangStickSoundChoice src/Dodge/HeldUse/BulletWeapon.hs 226;" f barPP src/Dodge/Room/Foreground.hs 236;" f barrel src/Dodge/Creature/Inanimate.hs 17;" f -baseAMRShape src/Dodge/Item/Draw/SPic.hs 473;" f +baseAMRShape src/Dodge/Item/Draw/SPic.hs 481;" f baseBlockPane src/Dodge/Placement/Instance/Wall.hs 86;" f baseBlockPane src/Dodge/Placements/Wall.hs 63;" f baseBlockPane src/Dodge/Room/Placement.hs 93;" f -baseCaneShape src/Dodge/Item/Draw/SPic.hs 279;" f +baseCaneShape src/Dodge/Item/Draw/SPic.hs 285;" f baseDebris src/Dodge/Block/Debris.hs 122;" f baseFloorTileSize src/Tile.hs 38;" f -basePartiallyComposedItem' src/Dodge/Item/Grammar.hs 38;" f -baseRifleShape src/Dodge/Item/Draw/SPic.hs 282;" f -baseRodShape src/Dodge/Item/Draw/SPic.hs 470;" f -baseSMGShape src/Dodge/Item/Draw/SPic.hs 441;" f +basePartiallyComposedItem' src/Dodge/Item/Grammar.hs 39;" f +baseRifleShape src/Dodge/Item/Draw/SPic.hs 288;" f +baseRodShape src/Dodge/Item/Draw/SPic.hs 478;" f +baseSMGShape src/Dodge/Item/Draw/SPic.hs 447;" f baseShoulder src/Dodge/Creature/Picture.hs 159;" f -baseStickShape src/Dodge/Item/Draw/SPic.hs 256;" f -baseStickShapeX src/Dodge/Item/Draw/SPic.hs 251;" f +baseStickShape src/Dodge/Item/Draw/SPic.hs 262;" f +baseStickShapeX src/Dodge/Item/Draw/SPic.hs 257;" f baseStickSpread src/Dodge/Item/Held/Stick.hs 32;" f baseStickSpread src/Dodge/Item/Weapon/BulletGun/Stick.hs 46;" f baseWindowPane src/Dodge/Placements/Wall.hs 73;" f @@ -4968,7 +4968,7 @@ dededumS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 448;" f dedumS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 316;" f defDamageMaterial src/Dodge/Material/Damage.hs 17;" f defLSPic src/Dodge/LightSource/Draw.hs 11;" f -defSPic src/Dodge/Item/Draw/SPic.hs 265;" f +defSPic src/Dodge/Item/Draw/SPic.hs 271;" f defaultAimMvType src/Dodge/Default/Creature.hs 122;" f defaultAimParams src/Dodge/Default/Item/Held/AimParams.hs 4;" f defaultAimParams src/Dodge/Default/Item/Use/AimParams.hs 6;" f @@ -5087,7 +5087,7 @@ destroyMount src/Dodge/Block.hs 98;" f destroyMounts src/Dodge/Block.hs 95;" f destroyProjectile src/Dodge/Projectile/Update.hs 62;" f detV src/Geometry/Vector.hs 93;" f -detectorColor src/Dodge/Item/Draw/SPic.hs 533;" f +detectorColor src/Dodge/Item/Draw/SPic.hs 541;" f detectorEffect src/Dodge/Item/Weapon/Radar.hs 19;" f detectorInfo src/Dodge/Item/Info.hs 195;" f determineInvSelCursorWidth src/Dodge/ListDisplayParams.hs 54;" f @@ -5366,7 +5366,7 @@ eqConstr src/SameConstr.hs 17;" f eqPosText src/Dodge/Equipment/Text.hs 6;" f equipAimSpeed src/Dodge/Creature/Action/Movement.hs 109;" f equipInfo src/Dodge/Item/Info.hs 107;" f -equipItemSPic src/Dodge/Item/Draw/SPic.hs 68;" f +equipItemSPic src/Dodge/Item/Draw/SPic.hs 74;" f equipPosition src/Dodge/Item/Draw.hs 32;" f equipPosition src/Dodge/Item/Equipment/Shape.hs 15;" f equipSiteInfo src/Dodge/Item/Info.hs 225;" f @@ -5451,12 +5451,12 @@ flameTorrent src/Dodge/Item/Held/SprayGuns.hs 40;" f flameTorrent src/Dodge/Item/Weapon/SprayGuns.hs 38;" f flameWall src/Dodge/Item/Held/SprayGuns.hs 56;" f flameWall src/Dodge/Item/Weapon/SprayGuns.hs 54;" f -flamerPic src/Dodge/Item/Draw/SPic.hs 444;" f +flamerPic src/Dodge/Item/Draw/SPic.hs 450;" f flareCircleAt src/Dodge/WorldEvent/Flash.hs 46;" f flatItemCombinations src/Dodge/Combine/Combinations.hs 49;" f flatLookupItems src/Dodge/Combine.hs 29;" f flatShield src/Dodge/Item/Held/Utility.hs 9;" f -flatShieldEquipSPic src/Dodge/Item/Draw/SPic.hs 517;" f +flatShieldEquipSPic src/Dodge/Item/Draw/SPic.hs 525;" f flattenIMIMIM src/Dodge/Base/Zone.hs 246;" f fleeFrom src/Dodge/CreatureEffect.hs 120;" f fleeFromTarget src/Dodge/CreatureEffect.hs 66;" f @@ -5504,6 +5504,7 @@ forceSpine src/StrictHelp.hs 4;" f fourEmbossDecoration src/Dodge/Placement/TopDecoration.hs 29;" f fpsText src/Dodge/Render/Picture.hs 43;" f fractionLoadedAmmo src/Dodge/Item/Weapon/AmmoParams.hs 53;" f +fractionLoadedAmmo2 src/Dodge/Item/Draw/SPic.hs 70;" f fractionLoadedAmmo2 src/Dodge/Item/Weapon/AmmoParams.hs 58;" f frag src/Shader/Data.hs 102;" f freeShaderPointers' src/Shader.hs 37;" f @@ -5645,7 +5646,7 @@ hasLOSIndirect src/Dodge/Base/Collide.hs 214;" f hat src/Dodge/Item/Equipment.hs 104;" f head src/DoubleStack.hs 14;" f headLamp src/Dodge/Item/Equipment.hs 117;" f -headLampShape src/Dodge/Item/Draw/SPic.hs 523;" f +headLampShape src/Dodge/Item/Draw/SPic.hs 531;" f headMap src/Dodge/DoubleTree.hs 117;" f heal src/Dodge/Item/Consumable.hs 17;" f heal25 src/Dodge/Item/Consumable.hs 14;" f @@ -5660,7 +5661,7 @@ heldEffect src/Dodge/HeldUse.hs 45;" f heldEffectMuzzles src/Dodge/HeldUse.hs 48;" f heldInfo src/Dodge/Item/Info.hs 48;" f heldItemOffset src/Dodge/Item/HeldOffset.hs 24;" f -heldItemSPic src/Dodge/Item/Draw/SPic.hs 185;" f +heldItemSPic src/Dodge/Item/Draw/SPic.hs 191;" f heldPositionInfo src/Dodge/Item/Info.hs 212;" f helpCommand src/Dodge/Terminal.hs 64;" f helpPoly3D src/Polyhedra.hs 124;" f @@ -5770,21 +5771,21 @@ intersectSegsSeg src/Geometry/Intersect.hs 232;" f intervalList src/Geometry.hs 315;" f interweave src/Justify.hs 17;" f intsToPos src/Dodge/Room/Modify/Girder.hs 160;" f -invAdj src/Dodge/Item/Grammar.hs 148;" f +invAdj src/Dodge/Item/Grammar.hs 147;" f invDimColor src/Dodge/DisplayInventory.hs 139;" f invDimColor src/Dodge/Inventory/Color.hs 4;" f invDisplayParams src/Dodge/ListDisplayParams.hs 29;" f invHead src/Dodge/Render/HUD.hs 314;" f -invIndentIM src/Dodge/Item/Grammar.hs 160;" f -invLDT' src/Dodge/Item/Grammar.hs 130;" f -invLDT'' src/Dodge/Item/Grammar.hs 125;" f -invRootMap src/Dodge/Item/Grammar.hs 137;" f +invIndentIM src/Dodge/Item/Grammar.hs 159;" f +invLDT' src/Dodge/Item/Grammar.hs 129;" f +invLDT'' src/Dodge/Item/Grammar.hs 124;" f +invRootMap src/Dodge/Item/Grammar.hs 136;" f invSelectionItem src/Dodge/Inventory/SelectionList.hs 34;" f invSelectionItem' src/Dodge/Inventory/SelectionList.hs 16;" f invShiftPointBy src/Dodge/ShiftPoint.hs 8;" f invSideEff src/Dodge/Creature/State.hs 237;" f invSize src/Dodge/Inventory/CheckSlots.hs 41;" f -invTrees src/Dodge/Item/Grammar.hs 165;" f +invTrees src/Dodge/Item/Grammar.hs 164;" f inventoryExtra src/Dodge/Render/HUD.hs 218;" f inventoryExtraH src/Dodge/Render/HUD.hs 222;" f inventoryX src/Dodge/Creature.hs 115;" f @@ -5867,7 +5868,7 @@ jShape src/Dodge/Placement/Instance/LightSource.hs 86;" f jShape src/Dodge/Placements/LightSource.hs 43;" f jaggedShape src/Dodge/Block/Debris.hs 191;" f jetPack src/Dodge/Item/Equipment.hs 91;" f -joinItemsInList src/Dodge/Item/Grammar.hs 116;" f +joinItemsInList src/Dodge/Item/Grammar.hs 115;" f jps0' src/Dodge/LevelGen/Data.hs 60;" f jps0' src/Dodge/LevelGen/PlacementHelper.hs 60;" f jps0PushPS src/Dodge/LevelGen/Data.hs 63;" f @@ -5888,7 +5889,7 @@ keyCard src/Dodge/Item/PassKey.hs 8;" f keyCardAnalyserByDoor src/Dodge/Room/LasTurret.hs 69;" f keyCardRoomRunPast src/Dodge/Room/LasTurret.hs 57;" f keyCardRunPastRand src/Dodge/LockAndKey.hs 36;" f -keyPic src/Dodge/Item/Draw/SPic.hs 539;" f +keyPic src/Dodge/Item/Draw/SPic.hs 547;" f keyholeCorridor src/Dodge/Room/Corridor.hs 39;" f killBulletUpdate src/Dodge/WorldEvent/HitEffect.hs 30;" f killParticleUpdate src/Dodge/Particle/Update.hs 9;" f @@ -5908,7 +5909,7 @@ lasBeamCombine src/Dodge/Beam.hs 31;" f lasCenSensEdge src/Dodge/Room/LasTurret.hs 112;" f lasDronesPic src/Dodge/Item/Weapon/Drone.hs 22;" f lasGun src/Dodge/Item/Held/BatteryGuns.hs 46;" f -lasGunPic src/Dodge/Item/Draw/SPic.hs 486;" f +lasGunPic src/Dodge/Item/Draw/SPic.hs 494;" f lasRayAt src/Dodge/Beam.hs 62;" f lasSensorTurretTest src/Dodge/Room/LasTurret.hs 105;" f lasTunnel src/Dodge/Room/LasTurret.hs 124;" f @@ -5920,7 +5921,7 @@ latchkey src/Dodge/Item/Held/Utility.hs 23;" f latchkey src/Dodge/Item/PassKey.hs 14;" f launcher src/Dodge/Item/Held/Launcher.hs 12;" f launcherCrit src/Dodge/Creature/LauncherCrit.hs 12;" f -launcherPic src/Dodge/Item/Draw/SPic.hs 460;" f +launcherPic src/Dodge/Item/Draw/SPic.hs 468;" f launcherSound src/Dodge/SoundLogic/Synonyms.hs 4;" f launcherX src/Dodge/Item/Held/Launcher.hs 38;" f layoutLevelFromSeed src/Dodge/LevelGen.hs 47;" f @@ -5931,11 +5932,11 @@ ldtToIM src/Dodge/DoubleTree.hs 90;" f ldtToIndentList src/Dodge/DoubleTree.hs 93;" f left src/DoubleStack.hs 16;" f leftInfo src/Dodge/Item/Info.hs 96;" f -leftIsParentCombine src/Dodge/Item/Grammar.hs 88;" f -leftItemSPic src/Dodge/Item/Draw/SPic.hs 101;" f +leftIsParentCombine src/Dodge/Item/Grammar.hs 87;" f +leftItemSPic src/Dodge/Item/Draw/SPic.hs 107;" f leftPad src/Padding.hs 14;" f -leftRightCombine src/Dodge/Item/Grammar.hs 100;" f -legsSPic src/Dodge/Item/Draw/SPic.hs 557;" f +leftRightCombine src/Dodge/Item/Grammar.hs 99;" f +legsSPic src/Dodge/Item/Draw/SPic.hs 565;" f liShape src/Dodge/Placement/Instance/LightSource.hs 99;" f liShape src/Dodge/Placements/LightSource.hs 55;" f light src/Color.hs 100;" f @@ -6179,8 +6180,8 @@ miniGunCrit src/Dodge/Creature.hs 62;" f miniGunUse src/Dodge/Item/Weapon/BulletGun/Cane.hs 113;" f miniGunX src/Dodge/Item/Held/Cane.hs 83;" f miniGunX src/Dodge/Item/Weapon/BulletGun/Cane.hs 120;" f -miniGunXPict src/Dodge/Item/Draw/SPic.hs 420;" f -miniGunXPictItem src/Dodge/Item/Draw/SPic.hs 414;" f +miniGunXPict src/Dodge/Item/Draw/SPic.hs 426;" f +miniGunXPictItem src/Dodge/Item/Draw/SPic.hs 420;" f miniS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 510;" f miniTree2 src/Dodge/Room/Room.hs 108;" f minimumOn src/FoldlHelp.hs 12;" f @@ -6351,7 +6352,7 @@ orderAroundFirst src/Geometry/Polygon.hs 74;" f orderAroundFirstReverse src/Geometry/Polygon.hs 70;" f orderPolygon src/Geometry/Polygon.hs 78;" f orderPolygonAround src/Geometry/Polygon.hs 63;" f -orientAttachment src/Dodge/Item/Orientation.hs 19;" f +orientAttachment src/Dodge/Item/Orientation.hs 21;" f orientByLink src/Dodge/Item/Orientation.hs 14;" f orientChild src/Dodge/Item/Orientation.hs 9;" f originIDsAt src/Dodge/WorldEvent/Sound.hs 18;" f @@ -6820,7 +6821,7 @@ rhombus src/Polyhedra.hs 71;" f rifle src/Dodge/Item/Held/Cane.hs 51;" f rifle src/Dodge/Item/Weapon/BulletGun/Cane.hs 77;" f right src/DoubleStack.hs 16;" f -rightIsParentCombine src/Dodge/Item/Grammar.hs 94;" f +rightIsParentCombine src/Dodge/Item/Grammar.hs 93;" f rightPad src/Padding.hs 22;" f rightPadNoSquash src/Padding.hs 26;" f rlPosDir src/Dodge/RoomLink.hs 94;" f @@ -7043,7 +7044,7 @@ shapeVerxAttributes src/Shape/Parameters.hs 13;" f shapeVerxSize src/Shape/Parameters.hs 10;" f shardShape src/Dodge/Block/Debris.hs 181;" f shatterGun src/Dodge/Item/Held/Weapons.hs 8;" f -shatterGunSPic src/Dodge/Item/Draw/SPic.hs 268;" f +shatterGunSPic src/Dodge/Item/Draw/SPic.hs 274;" f shatterWall src/Dodge/Item/Weapon/Shatter.hs 26;" f shellCollisionCheck src/Dodge/Projectile/Update.hs 51;" f shellCollisionEffect src/Dodge/Projectile/Update.hs 47;" f @@ -7356,7 +7357,7 @@ terminalShape src/Dodge/Machine/Draw.hs 29;" f terminalWheelEvent src/Dodge/Update/Scroll.hs 76;" f teslaBeamCombine src/Dodge/Beam.hs 48;" f teslaGun src/Dodge/Item/Held/BatteryGuns.hs 27;" f -teslaGunPic src/Dodge/Item/Draw/SPic.hs 476;" f +teslaGunPic src/Dodge/Item/Draw/SPic.hs 484;" f teslaParams src/Dodge/Tesla/ItemParams.hs 6;" f testCrossWalls src/Dodge/Room/Path.hs 47;" f testEvent src/Dodge/Event/Test.hs 10;" f @@ -7431,14 +7432,14 @@ topPrismEdgeIndices src/Shader/Poke.hs 327;" f topPrismIndices src/Shader/Poke.hs 402;" f topTestPart src/Dodge/TestString.hs 34;" f torch src/Dodge/Item/Held/Utility.hs 26;" f -torchShape src/Dodge/Item/Draw/SPic.hs 232;" f +torchShape src/Dodge/Item/Draw/SPic.hs 238;" f torqueCr src/Dodge/WorldEffect.hs 70;" f torso src/Dodge/Creature/Picture.hs 133;" f tractCr src/Dodge/TractorBeam/Update.hs 28;" f tractFlIt src/Dodge/TractorBeam/Update.hs 23;" f tractorBeamAt src/Dodge/HeldUse.hs 232;" f tractorGun src/Dodge/Item/Held/BatteryGuns.hs 73;" f -tractorGunPic src/Dodge/Item/Draw/SPic.hs 514;" f +tractorGunPic src/Dodge/Item/Draw/SPic.hs 522;" f tractorPullPos src/Dodge/TractorBeam/Update.hs 33;" f tractorSPic src/Dodge/TractorBeam/Draw.hs 10;" f tranRot src/Picture/Base.hs 124;" f @@ -7703,7 +7704,7 @@ upperPrismPolySU src/Shape.hs 112;" f upperPrismPolyTS src/Shape.hs 118;" f upperRounded src/Shape.hs 181;" f useAmmoParams src/Dodge/Item/Weapon/AmmoParams.hs 17;" f -useBreakListsLinkTest src/Dodge/Item/Grammar.hs 25;" f +useBreakListsLinkTest src/Dodge/Item/Grammar.hs 26;" f useBulletPayload src/Dodge/Bullet.hs 105;" f useC src/Dodge/Cuse.hs 8;" f useC' src/Dodge/Cuse.hs 13;" f @@ -7765,7 +7766,7 @@ visionCheck src/Dodge/Creature/Perception.hs 152;" f vocalizationTest src/Dodge/Creature/Vocalization.hs 8;" f volleyGun src/Dodge/Item/Held/Cane.hs 32;" f volleyGun src/Dodge/Item/Weapon/BulletGun/Cane.hs 43;" f -volleyGunShape src/Dodge/Item/Draw/SPic.hs 402;" f +volleyGunShape src/Dodge/Item/Draw/SPic.hs 408;" f waistSP src/Dodge/Creature/HandPos.hs 199;" f walkNozzle src/Dodge/HeldUse.hs 207;" f walkableNodeNear src/Dodge/Path.hs 48;" f