Allow for assigning attach items orientations

This commit is contained in:
2024-09-30 16:09:56 +01:00
parent fd8adcea92
commit d8d3a01f06
10 changed files with 143 additions and 69 deletions
+14 -9
View File
@@ -1,13 +1,18 @@
/home/justin/Haskell/loop/src/Dodge/Item/Grammar.hs:9:1-39: warning: [-Wunused-imports]
The qualified import of Linear.Quaternion is redundant
|
9 | import qualified Linear.Quaternion as Q
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/home/justin/Haskell/loop/src/Dodge/Item/Grammar.hs:10:1-20: warning: [-Wunused-imports]
The import of Geometry.Data is redundant
/home/justin/Haskell/loop/src/Dodge/Item/Grammar.hs:39:1-25: warning: [-Wunused-top-binds]
Defined but not used: basePartiallyComposedItem
|
10 | import Geometry.Data
| ^^^^^^^^^^^^^^^^^^^^
39 | basePartiallyComposedItem itm = case itm ^. itType of
| ^^^^^^^^^^^^^^^^^^^^^^^^^
/home/justin/Haskell/loop/src/Dodge/Item/Grammar.hs:111:1-16: warning: [-Wunused-top-binds]
Defined but not used: ammoComposedItem
|
111 | ammoComposedItem itm = fromMaybe (error "in ammoComposedItem, wrong item") $ do
| ^^^^^^^^^^^^^^^^
/home/justin/Haskell/loop/src/Dodge/Item/Grammar.hs:165:1-6: warning: [-Wunused-top-binds]
Defined but not used: invLDT
|
165 | invLDT =
| ^^^^^^
/home/justin/Haskell/loop/src/Dodge/Data/ComposedItem.hs:13:1-43: warning: [-Wunused-imports]
The import of Dodge.Data.Item.Use.Consumption.Ammo is redundant
|
+1 -1
View File
@@ -173,4 +173,4 @@ shoulderSH = translateSHz 20
drawEquipment :: Creature -> SPic
{-# INLINE drawEquipment #-}
drawEquipment cr = foldMap (itemEquipPict cr) (invLDT $ _crInv cr)
drawEquipment cr = foldMap (itemEquipPict cr) (invLDT' $ _crInv cr)
+3 -1
View File
@@ -41,8 +41,9 @@ data ItemStructuralFunction
deriving (Eq, Ord, Show, Read)
type PartiallyComposedItem lt = (Item, ItemStructuralFunction, LinkTest lt)
type ComposedItem = (Item, ItemStructuralFunction)
data ItemAttachment = IAttach
data ItemLink = ILink
{ _iatType :: ComposeLinkType
, _iatOrient :: Item -> Item -> Maybe (Point3, Quaternion Float)
}
@@ -58,6 +59,7 @@ data LinkUpdate lt = LUpdate
, _luChildUpdate :: PartiallyComposedItem lt -> PartiallyComposedItem lt
}
makeLenses ''ItemLink
makeLenses ''LinkTest
makeLenses ''LinkUpdate
deriveJSON defaultOptions ''ComposeLinkType
+5
View File
@@ -49,6 +49,11 @@ instance Foldable DoubleTree where
instance Functor (LabelDoubleTree b) where
fmap f (LDT x l r) = LDT (f x) (fmap (second $ fmap f) l) (fmap (second $ fmap f) r)
instance Bifunctor LabelDoubleTree where
second = fmap
first f (LDT x l r) = LDT x (map (first f . second (first f)) l)
(map (first f . second (first f)) r)
makeLenses ''DoubleTree
makeLenses ''LabelDoubleTree
deriveJSON defaultOptions ''DoubleTree
+1 -1
View File
@@ -16,7 +16,7 @@ import Dodge.Item.Draw.SPic
import Dodge.Item.HeldOffset
import ShapePicture
itemEquipPict :: Creature -> LabelDoubleTree ComposeLinkType (PartiallyComposedItem ComposeLinkType)
itemEquipPict :: Creature -> LabelDoubleTree ComposeLinkType ComposedItem
-> SPic
itemEquipPict cr itmtree = case itm ^. itUse of
UseHeld{} | itm ^? itLocation . ilIsRoot == Just True
+1 -1
View File
@@ -26,7 +26,7 @@ import ShapePicture
-- hit <- itm ^? itType . iyBase . ibtHeld
-- return mempty
itemSPic :: LabelDoubleTree ComposeLinkType (PartiallyComposedItem ComposeLinkType) -> SPic
itemSPic :: LabelDoubleTree ComposeLinkType ComposedItem -> SPic
itemSPic itmtree = case it ^. itType of
CRAFT _ -> defSPic
HELD ht -> heldItemSPic ht it
+62 -6
View File
@@ -1,5 +1,5 @@
module Dodge.Item.Grammar (
invLDT,
invLDT',
invTrees,
invIndentIM,
invAdj,
@@ -9,7 +9,7 @@ module Dodge.Item.Grammar (
import qualified Linear.Quaternion as Q
import Geometry.Data
import Control.Applicative
--import TreeHelp
import Data.Bifunctor
import LensHelp
import qualified Data.IntMap.Strict as IM
@@ -60,6 +60,53 @@ basePartiallyComposedItem itm = case itm ^. itType of
nolinks x = (itm,x, LTest (const Nothing) (const Nothing))
isolate = (itm,UncomposableIsolateSF, LTest (const Nothing) (const Nothing))
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 5 2 0) lhs)))
(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 AUGMENTEDHUD -> nolinks AugmentedHUDSF
BULLETMOD BulletModTrajectory {} -> nolinks $ AmmoTargetingSF BulletAmmo
BULLETMOD BulletModPayload {} -> nolinks $ AmmoPayloadSF BulletAmmo
BULLETMOD BulletModEffect {} -> nolinks $ AmmoEffectSF BulletAmmo
ATTACH REMOTESCREEN -> nolinks RemoteScreenSF
ATTACH BULLETSYNTHESIZER -> (itm,AmmoModifierSF BulletAmmo, LTest (const Nothing) (const Nothing))
LEFT {} -> isolate
EQUIP {} -> isolate
CONSUMABLE {} -> isolate
CRAFT {} -> isolate
-- _ ->
where
noa x y = (x, ILink y (const (const Nothing)))
c x y _ _ = Just (x,y)
lhs = Q.axisAngle (V3 1 0 0) pi
-- rhs = Q.axisAngle (V3 1 0 0) 0
nolinks x = (itm,x, LTest (const Nothing) (const Nothing))
isolate = (itm,UncomposableIsolateSF, LTest (const Nothing) (const Nothing))
ammoComposedItem' :: Item -> PartiallyComposedItem ItemLink
ammoComposedItem' itm = fromMaybe (error "in ammoComposedItem, wrong item") $ do
atype <- itm ^? itUse . amagType
return (itm
, AmmoMagSF atype
, useBreakListsLinkTest
[noa (AmmoModifierSF atype) AmmoModLink
,noa (AmmoTargetingSF atype) AmmoTargetingLink
,noa (AmmoPayloadSF atype) AmmoPayloadLink
,noa (AmmoEffectSF atype) AmmoEffectLink
,noa (RemoteScreenSF) RemoteScreenLink
]
[]
)
where
noa x y = (x, ILink y (const (const Nothing)))
ammoComposedItem :: Item -> PartiallyComposedItem ComposeLinkType
ammoComposedItem itm = fromMaybe (error "in ammoComposedItem, wrong item") $ do
atype <- itm ^? itUse . amagType
@@ -119,12 +166,21 @@ invLDT =
joinItemsInList (leftRightCombine leftIsParentCombine rightIsParentCombine) . IM.elems
. fmap (singleLDT . basePartiallyComposedItem)
invLDT'' :: IM.IntMap Item -> [LabelDoubleTree ItemLink (PartiallyComposedItem ItemLink)]
invLDT'' =
joinItemsInList (leftRightCombine leftIsParentCombine rightIsParentCombine) . IM.elems
. fmap (singleLDT . basePartiallyComposedItem')
invLDT' :: IM.IntMap Item -> [LabelDoubleTree ComposeLinkType ComposedItem]
--invLDT' = map (fmap (\(x,y,_) -> (x,y))) . invLDT
invLDT' = map (first _iatType . second (\(x,y,_) -> (x,y))) . invLDT''
-- this assumes the creature inventory is well formed, specifically the
-- location ids
-- consider explicitly reseting the inventory ids (but this probably really
-- should be done upstream anyway in the actually creature inventory)
invRootMap :: IM.IntMap Item -> IM.IntMap (Maybe Int, DoubleTree Item)
invRootMap = foldMap (dtToIntMapWithRoot (^?! itLocation . ilInvID) . fmap (^. _1) . ldtToDT) . invLDT
invRootMap = foldMap (dtToIntMapWithRoot (^?! itLocation . ilInvID) . fmap (^. _1) . ldtToDT) . invLDT''
--invRootMap = foldMap (dtToRootIntMap g . ldtToDT) . invLDT
-- where
@@ -136,7 +192,7 @@ invRootMap = foldMap (dtToIntMapWithRoot (^?! itLocation . ilInvID) . fmap (^. _
-- should be done upstream anyway in the actually creature inventory)
invAdj :: IM.IntMap Item -> Either String (IM.IntMap (Maybe (Int, Int), [Int], [Int]))
invAdj im = do
l <- mapM g $ invLDT im
l <- mapM g $ invLDT'' im
return $ IM.unions l
where
g = dtToLRAdjEither getid . ldtToDT
@@ -148,11 +204,11 @@ invAdj im = do
invIndentIM :: IM.IntMap Item -> IM.IntMap (Item, Int, LabelDoubleTreeNodeType ComposeLinkType)
invIndentIM = IM.fromAscList . zip [0 ..] . reverse . map (over _1 (^. _1))
. concatMap ldtToIndentList . invLDT
. concatMap ldtToIndentList . invLDT'
-- returns an intmap with trees for all items, including non-roots
invTrees :: IM.IntMap Item -> IM.IntMap (LabelDoubleTree ComposeLinkType Item)
invTrees = IM.unions . map (ldtToIM getindex . fmap (^. _1)) . invLDT
invTrees = IM.unions . map (ldtToIM getindex . fmap (^. _1)) . invLDT'
where
getindex :: Item -> Int
getindex i =
+1 -1
View File
@@ -63,7 +63,7 @@ drawTurret :: Turret -> Machine -> SPic
drawTurret tu mc = overPosSP (turretItemOffset itm tu mc) (itemSPic ittree)
where
itm = _tuWeapon tu
ittree = singleLDT (itm,UncomposableIsolateSF,LTest (const Nothing) (const Nothing))
ittree = singleLDT (itm,UncomposableIsolateSF)
sensorSPic :: (PaletteColor, DecorationShape) -> Machine -> SPic
sensorSPic (pc, ds) mc =
+1 -1
View File
@@ -164,7 +164,7 @@ floorItemSPic :: FloorItem -> SPic
floorItemSPic flit =
uncurryV translateSPxy (_flItPos flit) $
rotateSP (_flItRot flit)
(itemSPic $ singleLDT ((_flIt flit),UncomposableIsolateSF,LTest (const Nothing) (const Nothing)))
(itemSPic $ singleLDT ((_flIt flit),UncomposableIsolateSF))
btSPic :: Button -> SPic
btSPic bt =
+54 -48
View File
@@ -72,22 +72,22 @@ Ambush src/Dodge/Data/ActionPlan.hs 178;" C
Ammo src/Dodge/Data/Ammo.hs 4;" m
Ammo src/Dodge/Data/Item/Use/Consumption/Ammo.hs 6;" m
Ammo src/Dodge/Item/Ammo.hs 1;" m
AmmoEffectLink src/Dodge/Data/ComposedItem.hs 20;" C
AmmoEffectSF src/Dodge/Data/ComposedItem.hs 38;" C
AmmoInLink src/Dodge/Data/ComposedItem.hs 16;" C
AmmoMagSF src/Dodge/Data/ComposedItem.hs 32;" C
AmmoEffectLink src/Dodge/Data/ComposedItem.hs 22;" C
AmmoEffectSF src/Dodge/Data/ComposedItem.hs 40;" C
AmmoInLink src/Dodge/Data/ComposedItem.hs 18;" C
AmmoMagSF src/Dodge/Data/ComposedItem.hs 34;" C
AmmoMagType src/Dodge/Data/Item/Combine.hs 89;" t
AmmoMagUse src/Dodge/Data/Item/Use.hs 65;" C
AmmoModLink src/Dodge/Data/ComposedItem.hs 17;" C
AmmoModifierSF src/Dodge/Data/ComposedItem.hs 35;" C
AmmoModLink src/Dodge/Data/ComposedItem.hs 19;" C
AmmoModifierSF src/Dodge/Data/ComposedItem.hs 37;" C
AmmoParams src/Dodge/Data/Item/Use.hs 122;" t
AmmoParams src/Dodge/Item/Weapon/AmmoParams.hs 1;" m
AmmoPayloadLink src/Dodge/Data/ComposedItem.hs 19;" C
AmmoPayloadSF src/Dodge/Data/ComposedItem.hs 37;" C
AmmoPayloadLink src/Dodge/Data/ComposedItem.hs 21;" C
AmmoPayloadSF src/Dodge/Data/ComposedItem.hs 39;" C
AmmoPosition src/Dodge/Item/AmmoPosition.hs 8;" t
AmmoPosition src/Dodge/Item/AmmoPosition.hs 2;" m
AmmoTargetingLink src/Dodge/Data/ComposedItem.hs 18;" C
AmmoTargetingSF src/Dodge/Data/ComposedItem.hs 36;" C
AmmoTargetingLink src/Dodge/Data/ComposedItem.hs 20;" C
AmmoTargetingSF src/Dodge/Data/ComposedItem.hs 38;" C
AmmoType src/Dodge/Data/Ammo.hs 30;" t
AmmoType src/Dodge/Data/Item/Use/Consumption/Ammo.hs 39;" t
Amount src/Dodge/Item/Amount.hs 1;" m
@@ -146,8 +146,8 @@ AttentiveTo src/Dodge/Data/Creature/Perception.hs 61;" C
Attracting src/Dodge/Data/Item/Params.hs 46;" C
Audition src/Dodge/Creature/Perception/Data.hs 48;" t
Audition src/Dodge/Data/Creature/Perception.hs 47;" t
AugmentedHUDLink src/Dodge/Data/ComposedItem.hs 24;" C
AugmentedHUDSF src/Dodge/Data/ComposedItem.hs 31;" C
AugmentedHUDLink src/Dodge/Data/ComposedItem.hs 26;" C
AugmentedHUDSF src/Dodge/Data/ComposedItem.hs 33;" C
AutoAI src/Dodge/Data/Creature/Misc.hs 57;" C
AutoCrit src/Dodge/Creature/AutoCrit.hs 1;" m
AutoDoor src/Dodge/LevelGen/AutoDoor.hs 5;" m
@@ -457,7 +457,8 @@ CombineInventoryChange src/Dodge/Data/World.hs 34;" C
Common src/Dodge/Zoning/Common.hs 1;" m
Compile src/Shader/Compile.hs 1;" m
Compose src/Dodge/Tree/Compose.hs 4;" m
ComposeLinkType src/Dodge/Data/ComposedItem.hs 15;" t
ComposeLinkType src/Dodge/Data/ComposedItem.hs 17;" t
ComposedItem src/Dodge/Data/ComposedItem.hs 44;" t
ComposedItem src/Dodge/Data/ComposedItem.hs 6;" m
Composite src/Picture/Composite.hs 1;" m
ComsSS src/Dodge/Data/Scenario.hs 98;" C
@@ -1168,7 +1169,7 @@ Huge src/Shape/Data.hs 28;" C
Humanoid src/Dodge/Data/Creature/Misc.hs 65;" C
Humanoid src/Dodge/Humanoid.hs 1;" m
HumanoidAI src/Dodge/Data/Creature/Misc.hs 48;" t
IAttach src/Dodge/Item/Grammar.hs 23;" C
ILink src/Dodge/Data/ComposedItem.hs 46;" C
INCENDBUL src/Dodge/Combine/Data.hs 202;" C
INCENDIARYMODULE src/Dodge/Combine/Data.hs 64;" C
INCENDLAS src/Dodge/Combine/Data.hs 213;" C
@@ -1287,18 +1288,18 @@ Item src/Dodge/Default/Item.hs 1;" m
Item src/Dodge/Item.hs 3;" m
ItemAmount src/Dodge/Data/Item/Use/Amount.hs 4;" m
ItemAmount src/Dodge/Data/ItemAmount.hs 4;" m
ItemAttachment src/Dodge/Item/Grammar.hs 23;" t
ItemBaseType src/Dodge/Combine/Data.hs 81;" t
ItemClust src/Dodge/Combine/Graph.hs 17;" C
ItemDimension src/Dodge/Data/Item/Misc.hs 13;" t
ItemFamily src/Dodge/Item/Family.hs 3;" t
ItemLink src/Dodge/Data/ComposedItem.hs 46;" t
ItemLocation src/Dodge/Data/Item/Location.hs 27;" t
ItemModuleType src/Dodge/Combine/Data.hs 197;" t
ItemParams src/Dodge/Data/Item/Params.hs 16;" t
ItemParams src/Dodge/Tesla/ItemParams.hs 1;" m
ItemScrollTimeFlow src/Dodge/Data/World.hs 62;" C
ItemSpace src/Dodge/Inventory/ItemSpace.hs 1;" m
ItemStructuralFunction src/Dodge/Data/ComposedItem.hs 27;" t
ItemStructuralFunction src/Dodge/Data/ComposedItem.hs 29;" t
ItemTweaks src/Dodge/Data/Item/Tweak.hs 13;" t
ItemType src/Dodge/Combine/Data.hs 12;" t
ItemType src/Dodge/Data/Item/Combine.hs 15;" t
@@ -1337,7 +1338,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 82;" t
LDTComb src/Dodge/Item/Grammar.hs 108;" 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
@@ -1357,10 +1358,12 @@ LRewind src/Dodge/Data/Item/HeldUse.hs 49;" C
LS src/Dodge/Data/LightSource.hs 34;" C
LSParam src/Dodge/Data/LightSource.hs 27;" t
LShrink src/Dodge/Data/Item/HeldUse.hs 52;" C
LTest src/Dodge/Data/ComposedItem.hs 51;" C
LTimePause src/Dodge/Data/Item/HeldUse.hs 50;" C
LTimeScroll src/Dodge/Data/Item/HeldUse.hs 51;" C
LTree src/TreeExtra.hs 23;" t
LUnsafeBlink src/Dodge/Data/Item/HeldUse.hs 54;" C
LUpdate src/Dodge/Data/ComposedItem.hs 56;" C
LWorld src/Dodge/Data/LWorld.hs 98;" t
LWorld src/Dodge/Data/LWorld.hs 6;" m
LabLink src/Dodge/Data/Room.hs 45;" C
@@ -1436,8 +1439,8 @@ LinearShockwave src/Dodge/Data/LinearShockwave.hs 13;" t
LinearShockwave src/Dodge/Data/LinearShockwave.hs 6;" m
Link src/Dodge/Room/Link.hs 6;" m
LinkDecoration src/Dodge/Debug/LinkDecoration.hs 1;" m
LinkTest src/Dodge/Data/ComposedItem.hs 43;" t
LinkUpdate src/Dodge/Data/ComposedItem.hs 48;" t
LinkTest src/Dodge/Data/ComposedItem.hs 51;" t
LinkUpdate src/Dodge/Data/ComposedItem.hs 56;" t
List src/Dodge/Combine/List.hs 1;" m
List src/Dodge/Render/List.hs 1;" m
ListDisplayParams src/Dodge/Data/SelectionList.hs 18;" t
@@ -1884,7 +1887,7 @@ ParamMID src/Dodge/Data/Item/Params.hs 54;" C
Parameters src/Shader/Parameters.hs 1;" m
Parameters src/Shape/Parameters.hs 1;" m
Params src/Dodge/Data/Item/Params.hs 6;" m
PartiallyComposedItem src/Dodge/Data/ComposedItem.hs 41;" t
PartiallyComposedItem src/Dodge/Data/ComposedItem.hs 43;" t
PassKey src/Dodge/Item/PassKey.hs 1;" m
PassthroughLockKeyLists src/Dodge/Annotation/Data.hs 19;" C
Path src/Dodge/Path.hs 2;" m
@@ -2121,8 +2124,8 @@ Remote src/Dodge/Item/Weapon/Remote.hs 1;" m
RemoteDirectionPU src/Dodge/Data/Item/Use/Consumption/Ammo.hs 32;" C
RemoteScope src/Dodge/Data/Item/Attachment.hs 23;" C
RemoteScope src/Dodge/Item/Attachment/Data.hs 26;" C
RemoteScreenLink src/Dodge/Data/ComposedItem.hs 23;" C
RemoteScreenSF src/Dodge/Data/ComposedItem.hs 33;" C
RemoteScreenLink src/Dodge/Data/ComposedItem.hs 25;" C
RemoteScreenSF src/Dodge/Data/ComposedItem.hs 35;" C
RemoveCreatureEndo src/Dodge/RemoveCreatureEndo.hs 3;" m
RemoveEquipment src/Dodge/Data/RightButtonOptions.hs 36;" C
RemoveShieldWall src/Dodge/Data/ItEffect.hs 43;" C
@@ -2685,7 +2688,7 @@ TwoHandUnder src/Dodge/Data/Item/Use.hs 193;" C
Type src/Dodge/Data/Damage/Type.hs 6;" m
Typical src/Shape/Data.hs 36;" C
UPtLayer src/Dodge/Picture/Layer/Data.hs 16;" C
UncomposableIsolateSF src/Dodge/Data/ComposedItem.hs 34;" C
UncomposableIsolateSF src/Dodge/Data/ComposedItem.hs 36;" C
Uncursed src/Dodge/Data/Item/CurseStatus.hs 12;" C
Uncursed src/Dodge/Item/Data.hs 8;" C
UnderGround src/Dodge/Data/Scenario.hs 78;" C
@@ -2847,11 +2850,11 @@ WdWdNegateTrig src/Dodge/Data/WorldEffect.hs 33;" C
WdYouPos src/Dodge/Data/WorldEffect.hs 41;" C
Weapon src/Dodge/Default/Weapon.hs 1;" m
Weapon src/Dodge/Item/Weapon.hs 2;" m
WeaponPlatformSF src/Dodge/Data/ComposedItem.hs 28;" C
WeaponScopeLink src/Dodge/Data/ComposedItem.hs 21;" C
WeaponScopeSF src/Dodge/Data/ComposedItem.hs 29;" C
WeaponTargetingLink src/Dodge/Data/ComposedItem.hs 22;" C
WeaponTargetingSF src/Dodge/Data/ComposedItem.hs 30;" C
WeaponPlatformSF src/Dodge/Data/ComposedItem.hs 30;" C
WeaponScopeLink src/Dodge/Data/ComposedItem.hs 23;" C
WeaponScopeSF src/Dodge/Data/ComposedItem.hs 31;" C
WeaponTargetingLink src/Dodge/Data/ComposedItem.hs 24;" C
WeaponTargetingSF src/Dodge/Data/ComposedItem.hs 32;" C
Weapons src/Dodge/Item/Held/Weapons.hs 1;" m
West src/Dodge/Data/CardinalPoint.hs 7;" C
WinScale src/Dodge/Base/WinScale.hs 1;" m
@@ -3430,8 +3433,8 @@ _hudElement src/Dodge/Data/HUD.hs 36;" f
_humanoidAI src/Dodge/Data/Creature/Misc.hs 69;" f
_iaLoaded src/Dodge/Data/Item/Use/Consumption.hs 22;" f
_iaMax src/Dodge/Data/Item/Use/Consumption.hs 21;" f
_iatOrient src/Dodge/Item/Grammar.hs 25;" f
_iatType src/Dodge/Item/Grammar.hs 24;" f
_iatOrient src/Dodge/Data/ComposedItem.hs 48;" f
_iatType src/Dodge/Data/ComposedItem.hs 47;" f
_ibtAmmoMag src/Dodge/Data/Item/Combine.hs 22;" f
_ibtAttach src/Dodge/Data/Item/Combine.hs 21;" f
_ibtBulletMod src/Dodge/Data/Item/Combine.hs 24;" f
@@ -3571,9 +3574,9 @@ _lsParam src/Dodge/Data/LightSource.hs 36;" f
_lsPict src/Dodge/Data/LightSource.hs 38;" f
_lsPos src/Dodge/Data/LightSource.hs 28;" f
_lsRad src/Dodge/Data/LightSource.hs 29;" f
_luChildUpdate src/Dodge/Data/ComposedItem.hs 51;" f
_luLinkType src/Dodge/Data/ComposedItem.hs 49;" f
_luParentUpdate src/Dodge/Data/ComposedItem.hs 50;" f
_luChildUpdate src/Dodge/Data/ComposedItem.hs 59;" f
_luLinkType src/Dodge/Data/ComposedItem.hs 57;" f
_luParentUpdate src/Dodge/Data/ComposedItem.hs 58;" f
_lwID src/Dodge/Data/LinearShockwave.hs 15;" f
_lwPoints src/Dodge/Data/LinearShockwave.hs 16;" f
_lwPos src/Dodge/Data/LinearShockwave.hs 14;" f
@@ -4131,8 +4134,8 @@ _tractorBeams src/Dodge/Data/LWorld.hs 122;" f
_trieChildren src/SimpleTrie.hs 7;" f
_trieMVal src/SimpleTrie.hs 6;" f
_triggers src/Dodge/Data/LWorld.hs 131;" f
_tryLeftLink src/Dodge/Data/ComposedItem.hs 44;" f
_tryRightLink src/Dodge/Data/ComposedItem.hs 45;" f
_tryLeftLink src/Dodge/Data/ComposedItem.hs 52;" f
_tryRightLink src/Dodge/Data/ComposedItem.hs 53;" f
_ttDeathEffect src/Dodge/Data/Terminal.hs 82;" f
_ttTriggerID src/Dodge/Data/Terminal.hs 81;" f
_tuDir src/Dodge/Data/Machine.hs 61;" f
@@ -4367,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 67;" f
ammoComposedItem src/Dodge/Item/Grammar.hs 93;" f
amr src/Dodge/Item/Held/Rod.hs 46;" f
amr src/Dodge/Item/Weapon/BulletGun/Rod.hs 56;" f
anItemFindPulse src/Dodge/Item/Weapon/UseEffect.hs 25;" f
@@ -4497,7 +4500,8 @@ baseBlockPane src/Dodge/Room/Placement.hs 93;" f
baseCaneShape src/Dodge/Item/Draw/SPic.hs 254;" f
baseDebris src/Dodge/Block/Debris.hs 122;" f
baseFloorTileSize src/Tile.hs 38;" f
basePartiallyComposedItem src/Dodge/Item/Grammar.hs 42;" f
basePartiallyComposedItem src/Dodge/Item/Grammar.hs 38;" f
basePartiallyComposedItem' src/Dodge/Item/Grammar.hs 63;" f
baseRifleShape src/Dodge/Item/Draw/SPic.hs 257;" f
baseRodShape src/Dodge/Item/Draw/SPic.hs 445;" f
baseSMGShape src/Dodge/Item/Draw/SPic.hs 416;" f
@@ -5365,7 +5369,7 @@ 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 43;" f
equipPosition src/Dodge/Item/Draw.hs 31;" 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
equipSiteToPositions src/Dodge/Inventory/RBList.hs 77;" f
@@ -5771,20 +5775,22 @@ 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 150;" f
invAdj src/Dodge/Item/Grammar.hs 175;" 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 162;" f
invLDT src/Dodge/Item/Grammar.hs 121;" f
invRootMap src/Dodge/Item/Grammar.hs 139;" f
invIndentIM src/Dodge/Item/Grammar.hs 187;" f
invLDT src/Dodge/Item/Grammar.hs 147;" f
invLDT' src/Dodge/Item/Grammar.hs 157;" f
invLDT'' src/Dodge/Item/Grammar.hs 152;" f
invRootMap src/Dodge/Item/Grammar.hs 164;" 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 242;" f
invSize src/Dodge/Inventory/CheckSlots.hs 41;" f
invTrees src/Dodge/Item/Grammar.hs 167;" f
invTrees src/Dodge/Item/Grammar.hs 192;" f
inventoryExtra src/Dodge/Render/HUD.hs 218;" f
inventoryExtraH src/Dodge/Render/HUD.hs 222;" f
inventoryX src/Dodge/Creature.hs 115;" f
@@ -5865,7 +5871,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 112;" f
joinItemsInList src/Dodge/Item/Grammar.hs 138;" 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
@@ -5930,10 +5936,10 @@ 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 84;" f
leftIsParentCombine src/Dodge/Item/Grammar.hs 110;" f
leftItemSPic src/Dodge/Item/Draw/SPic.hs 76;" f
leftPad src/Padding.hs 14;" f
leftRightCombine src/Dodge/Item/Grammar.hs 96;" f
leftRightCombine src/Dodge/Item/Grammar.hs 122;" f
legsSPic src/Dodge/Item/Draw/SPic.hs 532;" f
liShape src/Dodge/Placement/Instance/LightSource.hs 99;" f
liShape src/Dodge/Placements/LightSource.hs 55;" f
@@ -6817,7 +6823,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 90;" f
rightIsParentCombine src/Dodge/Item/Grammar.hs 116;" f
rightPad src/Padding.hs 22;" f
rightPadNoSquash src/Padding.hs 26;" f
rlPosDir src/Dodge/RoomLink.hs 94;" f
@@ -7705,7 +7711,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 28;" f
useBreakListsLinkTest src/Dodge/Item/Grammar.hs 24;" f
useBulletPayload src/Dodge/Bullet.hs 105;" f
useC src/Dodge/Cuse.hs 8;" f
useC' src/Dodge/Cuse.hs 13;" f