Cleanup
This commit is contained in:
+1
-1
@@ -1 +1 @@
|
|||||||
All good (605 modules, at 01:43:48)
|
All good (605 modules, at 01:50:02)
|
||||||
|
|||||||
@@ -38,7 +38,7 @@ itemUseEffect cr it w = case it ^. ldtValue . itUse of
|
|||||||
& pointerToItem itm . itUse . heldHammer .~ HammerDown
|
& pointerToItem itm . itUse . heldHammer .~ HammerDown
|
||||||
UseHotkey{} -> doequipmentchange
|
UseHotkey{} -> doequipmentchange
|
||||||
EquipUse{} -> doequipmentchange
|
EquipUse{} -> doequipmentchange
|
||||||
(ConsumeUse eff) -> useC eff (_ldtValue it) cr w
|
(UseConsume eff) -> useC eff (_ldtValue it) cr w
|
||||||
CraftUse{} -> w
|
CraftUse{} -> w
|
||||||
AttachUse{} -> selectUse it cr w
|
AttachUse{} -> selectUse it cr w
|
||||||
TargetingUse {} -> w
|
TargetingUse {} -> w
|
||||||
@@ -104,7 +104,7 @@ useItemLeftClick cr w = fromMaybe w $ do
|
|||||||
ituse <- cr ^? crInv . ix invid . itUse
|
ituse <- cr ^? crInv . ix invid . itUse
|
||||||
case ituse of
|
case ituse of
|
||||||
UseHeld{} -> return w
|
UseHeld{} -> return w
|
||||||
ConsumeUse{} -> return $ useItemLeftClick' cr w
|
UseConsume{} -> return $ useItemLeftClick' cr w
|
||||||
EquipUse{} -> return $ useItemLeftClick' cr w
|
EquipUse{} -> return $ useItemLeftClick' cr w
|
||||||
UseHotkey{} -> return $ useItemLeftClick' cr w
|
UseHotkey{} -> return $ useItemLeftClick' cr w
|
||||||
UseAmmoMag{} -> return w
|
UseAmmoMag{} -> return w
|
||||||
|
|||||||
@@ -49,28 +49,20 @@ data ItemUse
|
|||||||
, _equipEffect :: EquipEffect
|
, _equipEffect :: EquipEffect
|
||||||
, _leftConsumption :: LeftConsumption
|
, _leftConsumption :: LeftConsumption
|
||||||
}
|
}
|
||||||
| ConsumeUse
|
| UseConsume { _cUse :: Cuse }
|
||||||
{ _cUse :: Cuse
|
|
||||||
-- , _useAmount :: ItAmount
|
|
||||||
}
|
|
||||||
| EquipUse
|
| EquipUse
|
||||||
{ _equipEffect :: EquipEffect
|
{ _equipEffect :: EquipEffect
|
||||||
, _equipTargeting :: Maybe TargetingType
|
, _equipTargeting :: Maybe TargetingType
|
||||||
}
|
}
|
||||||
| CraftUse
|
| CraftUse
|
||||||
| -- {_useAmount :: ItAmount}
|
| AttachUse
|
||||||
AttachUse
|
|
||||||
{_atLinkedProjectile :: Maybe Int}
|
{_atLinkedProjectile :: Maybe Int}
|
||||||
| -- {_attachParams :: AttachParams}
|
| UseAmmoMag
|
||||||
UseAmmoMag
|
|
||||||
{ _amagLoadStatus :: ReloadStatus
|
{ _amagLoadStatus :: ReloadStatus
|
||||||
, _amagParams :: AmmoParams
|
, _amagParams :: AmmoParams
|
||||||
, _amagType :: AmmoType
|
, _amagType :: AmmoType
|
||||||
}
|
}
|
||||||
| ScopeUse
|
| ScopeUse { _scopeScope :: Scope }
|
||||||
{ -- | a camera offset
|
|
||||||
_scopeScope :: Scope
|
|
||||||
}
|
|
||||||
| TargetingUse
|
| TargetingUse
|
||||||
{ _tgPos :: Maybe Point2
|
{ _tgPos :: Maybe Point2
|
||||||
, _tgID :: Maybe Int
|
, _tgID :: Maybe Int
|
||||||
@@ -79,12 +71,10 @@ data ItemUse
|
|||||||
| BulletModUse
|
| BulletModUse
|
||||||
{ _buMod :: BulletMod
|
{ _buMod :: BulletMod
|
||||||
}
|
}
|
||||||
deriving (Eq, Show, Read) --Generic, Flat)
|
deriving (Eq, Show, Read)
|
||||||
|
|
||||||
data TriggerType
|
data TriggerType = AutoTrigger | HammerTrigger
|
||||||
= AutoTrigger
|
deriving (Eq, Show, Read)
|
||||||
| HammerTrigger
|
|
||||||
deriving (Eq, Show, Read) --Generic, Flat)
|
|
||||||
|
|
||||||
data HeldParams
|
data HeldParams
|
||||||
= DefaultHeldParams
|
= DefaultHeldParams
|
||||||
@@ -121,18 +111,10 @@ data HeldParams
|
|||||||
|
|
||||||
data AmmoParams
|
data AmmoParams
|
||||||
= BulletParams {_ampBullet :: Bullet}
|
= BulletParams {_ampBullet :: Bullet}
|
||||||
| ProjectileParams
|
| ProjectileParams { _ampPayload :: Payload }
|
||||||
{ _ampPayload :: Payload
|
|
||||||
-- , _ampPjDraw :: ProjectileDraw
|
|
||||||
}
|
|
||||||
| GasParams {_ampCreateGas :: GasFuel}
|
| GasParams {_ampCreateGas :: GasFuel}
|
||||||
deriving (Eq, Show, Read) --Generic, Flat)
|
deriving (Eq, Show, Read) --Generic, Flat)
|
||||||
|
|
||||||
--data ScrollAttachParams
|
|
||||||
-- = CharScrollParams
|
|
||||||
-- { _scrollChar :: Seq.Seq Char}
|
|
||||||
-- deriving (Eq, Show, Read) --Generic, Flat)
|
|
||||||
|
|
||||||
data AimParams = AimParams
|
data AimParams = AimParams
|
||||||
{ _aimWeight :: Int
|
{ _aimWeight :: Int
|
||||||
, _aimTurnSpeed :: Float
|
, _aimTurnSpeed :: Float
|
||||||
@@ -194,9 +176,7 @@ data AimStance
|
|||||||
| TwoHandOver
|
| TwoHandOver
|
||||||
| TwoHandFlat
|
| TwoHandFlat
|
||||||
| OneHand
|
| OneHand
|
||||||
-- | LeaveHolstered
|
|
||||||
deriving (Eq, Ord, Show, Read) --Generic, Flat)
|
deriving (Eq, Ord, Show, Read) --Generic, Flat)
|
||||||
--deriving (Eq, Show, Ord, Enum, Read) --Generic, Flat)
|
|
||||||
|
|
||||||
data ItZoom = ItZoom
|
data ItZoom = ItZoom
|
||||||
{ _izMax :: Float
|
{ _izMax :: Float
|
||||||
|
|||||||
@@ -6,7 +6,6 @@ module Dodge.Default.Item (
|
|||||||
|
|
||||||
import qualified Data.IntMap.Strict as IM
|
import qualified Data.IntMap.Strict as IM
|
||||||
import Control.Lens
|
import Control.Lens
|
||||||
--import qualified Data.Map.Strict as M
|
|
||||||
import Dodge.Data.Item
|
import Dodge.Data.Item
|
||||||
import Dodge.Default.Item.Effect
|
import Dodge.Default.Item.Effect
|
||||||
import Dodge.Default.Item.Use
|
import Dodge.Default.Item.Use
|
||||||
@@ -42,26 +41,10 @@ singleAmmo :: a -> IM.IntMap a
|
|||||||
singleAmmo x = IM.insert 0 x mempty
|
singleAmmo x = IM.insert 0 x mempty
|
||||||
|
|
||||||
defaultBulletWeapon :: Item
|
defaultBulletWeapon :: Item
|
||||||
defaultBulletWeapon =
|
defaultBulletWeapon = defaultHeldItem
|
||||||
defaultHeldItem
|
|
||||||
-- & itUse . heldMods .~ PistolMod
|
|
||||||
& itUse . heldAmmoTypes .~ singleAmmo BulletAmmo
|
& itUse . heldAmmoTypes .~ singleAmmo BulletAmmo
|
||||||
-- & itUse . heldUse .~ HeldUseAmmoParams -- useAmmoParams
|
|
||||||
-- & itType . iyModules . at ModBulletCollision ?~ EMPTYMODULE
|
|
||||||
& itUse . heldAim . aimMuzzles .~ [Muzzle (V2 15 0) 0 0.01 0 PistolFlare MuzzleShootBullet]
|
& itUse . heldAim . aimMuzzles .~ [Muzzle (V2 15 0) 0 0.01 0 PistolFlare MuzzleShootBullet]
|
||||||
-- & itType . iyModules . at ModBulletPayload ?~ EMPTYMODULE
|
|
||||||
-- & itType . iyModules . at ModBulletTrajectory ?~ EMPTYMODULE
|
|
||||||
|
|
||||||
--defaultWeapon :: Item
|
|
||||||
--defaultWeapon =
|
|
||||||
-- defaultHeldItem
|
|
||||||
-- & itUse .~ defaultHeldUse
|
|
||||||
-- & itType . iyModules
|
|
||||||
-- .~ M.fromList
|
|
||||||
-- [ (ModTarget, EMPTYMODULE)
|
|
||||||
-- , (ModTeleport, EMPTYMODULE)
|
|
||||||
-- ]
|
|
||||||
|
|
||||||
defaultConsumable :: Item
|
defaultConsumable :: Item
|
||||||
defaultConsumable = defaultHeldItem & itUse .~ ConsumeUse CDoNothing
|
defaultConsumable = defaultHeldItem & itUse .~ UseConsume CDoNothing
|
||||||
|
|
||||||
|
|||||||
@@ -463,7 +463,6 @@ createProjectile magtree muz itmtree cr = fromMaybe failsound $ do
|
|||||||
where
|
where
|
||||||
-- the sound should be moved to the projectile firing
|
-- the sound should be moved to the projectile firing
|
||||||
startthesound = soundMultiFrom [CrWeaponSound (_crID cr) j | j <- [0..3]] (_crPos cr) tap4S Nothing
|
startthesound = soundMultiFrom [CrWeaponSound (_crID cr) j | j <- [0..3]] (_crPos cr) tap4S Nothing
|
||||||
-- failsound = soundContinue (CrWeaponSound (_crID cr) 0) (_crPos cr) click1S Nothing
|
|
||||||
failsound w' = case w' ^? input . mouseButtons . ix SDL.ButtonLeft of
|
failsound w' = case w' ^? input . mouseButtons . ix SDL.ButtonLeft of
|
||||||
Just 0 -> soundStart (CrWeaponSound (_crID cr) 0) (_crPos cr) click1S Nothing w'
|
Just 0 -> soundStart (CrWeaponSound (_crID cr) 0) (_crPos cr) click1S Nothing w'
|
||||||
_ -> soundContinue (CrWeaponSound (_crID cr) 0) (_crPos cr) click1S Nothing w'
|
_ -> soundContinue (CrWeaponSound (_crID cr) 0) (_crPos cr) click1S Nothing w'
|
||||||
|
|||||||
@@ -113,7 +113,7 @@ itemNumberDisplay cr itm = case iu of
|
|||||||
UseHotkey{} -> [showAutoRechargeProgress (_leftConsumption iu)]
|
UseHotkey{} -> [showAutoRechargeProgress (_leftConsumption iu)]
|
||||||
EquipUse{} -> showEquipmentNumber cr itm
|
EquipUse{} -> showEquipmentNumber cr itm
|
||||||
CraftUse -> []
|
CraftUse -> []
|
||||||
ConsumeUse {} -> []
|
UseConsume {} -> []
|
||||||
AttachUse {} -> []
|
AttachUse {} -> []
|
||||||
UseAmmoMag {} -> [maybe "" shortShow $ itm ^? itUse . amagLoadStatus . iaLoaded]
|
UseAmmoMag {} -> [maybe "" shortShow $ itm ^? itUse . amagLoadStatus . iaLoaded]
|
||||||
ScopeUse OpticScope {_opticZoom = x} -> [shortShow x]
|
ScopeUse OpticScope {_opticZoom = x} -> [shortShow x]
|
||||||
|
|||||||
+37
-67
@@ -1,44 +1,32 @@
|
|||||||
{-# LANGUAGE LambdaCase #-}
|
{-# LANGUAGE LambdaCase #-}
|
||||||
|
|
||||||
module Dodge.Item.Draw.SPic (
|
module Dodge.Item.Draw.SPic (
|
||||||
itemSPic,
|
itemSPic,
|
||||||
itemTreeSPic,
|
itemTreeSPic,
|
||||||
) where
|
) where
|
||||||
|
|
||||||
import Data.Strict.Tuple
|
import Color
|
||||||
import Data.Maybe
|
import Data.Maybe
|
||||||
import qualified Linear.Quaternion as Q
|
import Data.Strict.Tuple
|
||||||
import Dodge.Data.ComposedItem
|
import Dodge.Data.ComposedItem
|
||||||
import Dodge.Data.DoubleTree
|
import Dodge.Data.DoubleTree
|
||||||
import Color
|
|
||||||
--import qualified Data.Map.Strict as M
|
|
||||||
--import Data.Maybe
|
|
||||||
import Dodge.Data.Item
|
import Dodge.Data.Item
|
||||||
--import Dodge.Item.AmmoPosition
|
|
||||||
--import Dodge.Item.Weapon.FractionLoaded
|
|
||||||
import Geometry
|
import Geometry
|
||||||
import LensHelp
|
import LensHelp
|
||||||
|
import qualified Linear.Quaternion as Q
|
||||||
--import qualified Linear.Quaternion as Q
|
--import qualified Linear.Quaternion as Q
|
||||||
import Picture
|
import Picture
|
||||||
import Shape
|
import Shape
|
||||||
import ShapePicture
|
import ShapePicture
|
||||||
--import Data.Maybe
|
|
||||||
|
|
||||||
--itemHeldAmmoPic :: Item -> Item -> SPic
|
|
||||||
--itemHeldAmmoPic itm amit = itemSPic itm <> addAmmoClip itm amit
|
|
||||||
|
|
||||||
--addAmmoClip :: Item -> Item -> SPic
|
|
||||||
--addAmmoClip itm amit = fromMaybe mempty $ do
|
|
||||||
-- hit <- itm ^? itType . iyBase . ibtHeld
|
|
||||||
-- return mempty
|
|
||||||
|
|
||||||
itemTreeSPic :: LabelDoubleTree ItemLink ComposedItem -> SPic
|
itemTreeSPic :: LabelDoubleTree ItemLink ComposedItem -> SPic
|
||||||
itemTreeSPic (LDT (itm,_) l r) = itemSPic itm
|
itemTreeSPic (LDT (itm, _) l r) =
|
||||||
<> foldMap (itemRotTreeSPic itm) (l <> r)
|
itemSPic itm
|
||||||
|
<> foldMap (itemRotTreeSPic itm) (l <> r)
|
||||||
|
|
||||||
itemRotTreeSPic :: Item -> (ItemLink,LabelDoubleTree ItemLink ComposedItem) -> SPic
|
itemRotTreeSPic :: Item -> (ItemLink, LabelDoubleTree ItemLink ComposedItem) -> SPic
|
||||||
itemRotTreeSPic par (il,t) = fromMaybe mempty $ do
|
itemRotTreeSPic par (il, t) = fromMaybe mempty $ do
|
||||||
(p,q) <- _iatOrient il par (_iatType il) itm
|
(p, q) <- _iatOrient il par (_iatType il) itm
|
||||||
return $ (translateSP p $ overPosSP (Q.rotate q) $ itemTreeSPic t)
|
return $ (translateSP p $ overPosSP (Q.rotate q) $ itemTreeSPic t)
|
||||||
where
|
where
|
||||||
itm = t ^. ldtValue . _1
|
itm = t ^. ldtValue . _1
|
||||||
@@ -50,21 +38,22 @@ itemSPic it = case it ^. itType of
|
|||||||
LEFT lt -> leftItemSPic lt it
|
LEFT lt -> leftItemSPic lt it
|
||||||
EQUIP et -> equipItemSPic et it
|
EQUIP et -> equipItemSPic et it
|
||||||
CONSUMABLE{} -> defSPic
|
CONSUMABLE{} -> defSPic
|
||||||
ATTACH {} -> defSPic
|
ATTACH{} -> defSPic
|
||||||
AMMOMAG amt -> ammoMagSPic it amt
|
AMMOMAG amt -> ammoMagSPic it amt
|
||||||
TARGETING {} -> defSPic
|
TARGETING{} -> defSPic
|
||||||
BULLETMOD {} -> defSPic
|
BULLETMOD{} -> defSPic
|
||||||
|
|
||||||
ammoMagSPic :: Item -> AmmoMagType -> SPic
|
ammoMagSPic :: Item -> AmmoMagType -> SPic
|
||||||
ammoMagSPic it = \case
|
ammoMagSPic it = \case
|
||||||
TINMAG -> noPic $ upperPrismPolyTS 1 (reverse $ rectNSWE 0 (- y) (-1) 1)
|
TINMAG -> noPic $ upperPrismPolyTS 1 (reverse $ rectNSWE 0 (- y) (-1) 1)
|
||||||
DRUMMAG -> noPic $ upperPrismPolyTS 1 (reverse $ rectNSWE 0 (- y) (-1) 1)
|
DRUMMAG -> noPic $ upperPrismPolyTS 1 (reverse $ rectNSWE 0 (- y) (-1) 1)
|
||||||
CHEMFUELPOUCH -> noPic $ colorSH yellow (upperPrismPolyST 3 $ polyCirc 3 5)
|
CHEMFUELPOUCH -> noPic $ colorSH yellow (upperPrismPolyST 3 $ polyCirc 3 5)
|
||||||
-- , setLayer MidLayer . color black $ translate3 (V3 0 0 4) $ circleSolid (5 * am)
|
-- , setLayer MidLayer . color black $ translate3 (V3 0 0 4) $ circleSolid (5 * am)
|
||||||
_ -> noPic $ upperPrismPolyTS 1 (reverse $ rectNSWE 0 (- y) (-1) 1)
|
_ -> noPic $ upperPrismPolyTS 1 (reverse $ rectNSWE 0 (- y) (-1) 1)
|
||||||
where
|
where
|
||||||
y = fromIntegral y' * 0.3
|
y = fromIntegral y' * 0.3
|
||||||
y' = fromMaybe 0 $ it ^? itUse . amagLoadStatus . iaLoaded
|
y' = fromMaybe 0 $ it ^? itUse . amagLoadStatus . iaLoaded
|
||||||
|
|
||||||
-- am = fractionLoadedAmmo (it ^?! itUse . amagLoadStatus)
|
-- am = fractionLoadedAmmo (it ^?! itUse . amagLoadStatus)
|
||||||
|
|
||||||
--fractionLoadedAmmo :: ReloadStatus -> Float
|
--fractionLoadedAmmo :: ReloadStatus -> Float
|
||||||
@@ -79,13 +68,13 @@ equipItemSPic et _ = case et of
|
|||||||
MAGSHIELD -> defSPic
|
MAGSHIELD -> defSPic
|
||||||
FLAMESHIELD -> defSPic
|
FLAMESHIELD -> defSPic
|
||||||
FRONTARMOUR -> defSPic
|
FRONTARMOUR -> defSPic
|
||||||
-- ( mempty
|
-- ( mempty
|
||||||
-- , setDepth 20 $
|
-- , setDepth 20 $
|
||||||
-- fold
|
-- fold
|
||||||
-- [ color yellow $ thickArc 0 (pi / 2) 10 5
|
-- [ color yellow $ thickArc 0 (pi / 2) 10 5
|
||||||
-- , color yellow $ thickArc (3 * pi / 2) (2 * pi) 10 5
|
-- , color yellow $ thickArc (3 * pi / 2) (2 * pi) 10 5
|
||||||
-- ]
|
-- ]
|
||||||
-- )
|
-- )
|
||||||
WRISTARMOUR -> defSPic
|
WRISTARMOUR -> defSPic
|
||||||
INVISIBILITYEQUIPMENT _ -> noPic (colorSH chartreuse $ upperPrismPolySI 3 $ rectWH 2 2)
|
INVISIBILITYEQUIPMENT _ -> noPic (colorSH chartreuse $ upperPrismPolySI 3 $ rectWH 2 2)
|
||||||
BRAINHAT -> noPic (colorSH yellow $ upperPrismPolySU 3 $ rectWH 4 4)
|
BRAINHAT -> noPic (colorSH yellow $ upperPrismPolySU 3 $ rectWH 4 4)
|
||||||
@@ -100,8 +89,8 @@ equipItemSPic et _ = case et of
|
|||||||
noPic $ colorSH yellow $ upperPrismPolyMT 10 $ polyCirc 3 5
|
noPic $ colorSH yellow $ upperPrismPolyMT 10 $ polyCirc 3 5
|
||||||
BULLETBELTPACK ->
|
BULLETBELTPACK ->
|
||||||
noPic $ colorSH green backpackShape
|
noPic $ colorSH green backpackShape
|
||||||
BULLETBELTBRACER
|
BULLETBELTBRACER ->
|
||||||
-> noPic (colorSH green $ upperPrismPolySU 3 $ rectWH 2 2)
|
noPic (colorSH green $ upperPrismPolySU 3 $ rectWH 2 2)
|
||||||
AUTODETECTOR dt -> noPic (colorSH (detectorColor dt) $ upperPrismPolySU 3 $ rectWH 2 2)
|
AUTODETECTOR dt -> noPic (colorSH (detectorColor dt) $ upperPrismPolySU 3 $ rectWH 2 2)
|
||||||
|
|
||||||
backpackShape :: Shape
|
backpackShape :: Shape
|
||||||
@@ -183,14 +172,6 @@ leftItemSPic lt _ = case lt of
|
|||||||
-- where
|
-- where
|
||||||
-- f n = fromIntegral n * 5 - ((fromIntegral i - 1) * 2.5)
|
-- f n = fromIntegral n * 5 - ((fromIntegral i - 1) * 2.5)
|
||||||
|
|
||||||
--revolverAmmoPos :: AmmoPosition
|
|
||||||
--revolverAmmoPos =
|
|
||||||
-- Bullets
|
|
||||||
-- [(V3 5 0 1 + Q.rotate q (V3 0 0 2), q) | q <- qs]
|
|
||||||
-- where
|
|
||||||
-- qs = [Q.axisAngle (V3 1 0 0) (f i) | i <- [1 .. 6 :: Int]]
|
|
||||||
-- f i = fromIntegral i * pi / 3 + pi / 6
|
|
||||||
|
|
||||||
heldItemSPic :: HeldItemType -> Item -> SPic
|
heldItemSPic :: HeldItemType -> Item -> SPic
|
||||||
heldItemSPic ht it = case ht of
|
heldItemSPic ht it = case ht of
|
||||||
FLATSHIELD -> flatShieldEquipSPic
|
FLATSHIELD -> flatShieldEquipSPic
|
||||||
@@ -207,7 +188,6 @@ heldItemSPic ht it = case ht of
|
|||||||
MINIGUNX i -> miniGunXPictItem i it
|
MINIGUNX i -> miniGunXPictItem i it
|
||||||
VOLLEYGUN i -> noPic $ volleyGunShape i -- <> addBullets it
|
VOLLEYGUN i -> noPic $ volleyGunShape i -- <> addBullets it
|
||||||
RIFLE -> noPic baseRifleShape -- <> addBullets it
|
RIFLE -> noPic baseRifleShape -- <> addBullets it
|
||||||
-- REPEATER -> noPic $ baseRifleShape <> addTinClip it
|
|
||||||
AUTORIFLE -> noPic $ baseRifleShape
|
AUTORIFLE -> noPic $ baseRifleShape
|
||||||
BURSTRIFLE -> noPic $ baseRifleShape
|
BURSTRIFLE -> noPic $ baseRifleShape
|
||||||
BANGROD -> noPic baseRodShape -- <> addBullets it
|
BANGROD -> noPic baseRodShape -- <> addBullets it
|
||||||
@@ -215,7 +195,7 @@ heldItemSPic ht it = case ht of
|
|||||||
AMR -> noPic $ baseAMRShape
|
AMR -> noPic $ baseAMRShape
|
||||||
AUTOAMR -> noPic $ baseAMRShape
|
AUTOAMR -> noPic $ baseAMRShape
|
||||||
SNIPERRIFLE -> noPic baseAMRShape -- <> addBullets it
|
SNIPERRIFLE -> noPic baseAMRShape -- <> addBullets it
|
||||||
-- MACHINEGUN -> noPic $ baseAMRShape <> addTinClip it
|
-- MACHINEGUN -> noPic $ baseAMRShape <> addTinClip it
|
||||||
FLAMESPITTER -> flamerPic it
|
FLAMESPITTER -> flamerPic it
|
||||||
FLAMETHROWER -> flamerPic it
|
FLAMETHROWER -> flamerPic it
|
||||||
FLAMETORRENT -> flamerPic it
|
FLAMETORRENT -> flamerPic it
|
||||||
@@ -224,14 +204,9 @@ heldItemSPic ht it = case ht of
|
|||||||
SPARKGUN -> teslaGunPic
|
SPARKGUN -> teslaGunPic
|
||||||
TESLAGUN -> teslaGunPic
|
TESLAGUN -> teslaGunPic
|
||||||
LASGUN -> lasGunPic it
|
LASGUN -> lasGunPic it
|
||||||
-- LASCIRCLE -> lasGunPic it
|
|
||||||
-- DUALBEAM -> dualBeamPic it
|
|
||||||
-- LASWIDE _ -> lasGunPic it
|
|
||||||
--SONICGUN -> noPic baseSonicShape
|
|
||||||
TRACTORGUN -> tractorGunPic it
|
TRACTORGUN -> tractorGunPic it
|
||||||
LAUNCHER -> launcherPic it
|
LAUNCHER -> launcherPic it
|
||||||
LAUNCHERX _ -> launcherPic it
|
LAUNCHERX _ -> launcherPic it
|
||||||
-- REMOTELAUNCHER -> launcherPic it
|
|
||||||
POISONSPRAYER -> flamerPic it
|
POISONSPRAYER -> flamerPic it
|
||||||
DRONELAUNCHER -> defSPic
|
DRONELAUNCHER -> defSPic
|
||||||
SHATTERGUN -> shatterGunSPic
|
SHATTERGUN -> shatterGunSPic
|
||||||
@@ -252,11 +227,6 @@ torchShape =
|
|||||||
bot = upperPrismPolySE 0.5 $ rectXH 9 2
|
bot = upperPrismPolySE 0.5 $ rectXH 9 2
|
||||||
back = upperPrismPolySE 3 $ rectXH 1 2
|
back = upperPrismPolySE 3 $ rectXH 1 2
|
||||||
|
|
||||||
--modulesSPic :: Item -> ModuleSlot -> ItemModuleType -> SPic
|
|
||||||
--modulesSPic it _ imt = case imt of
|
|
||||||
-- ATTACHTORCH -> noPic (overPosSH (+.+.+ _dimAttachPos (_itDimension it)) torchShape)
|
|
||||||
-- _ -> mempty
|
|
||||||
|
|
||||||
baseStickShapeX :: Item -> Int -> Shape
|
baseStickShapeX :: Item -> Int -> Shape
|
||||||
baseStickShapeX it _ = foldMap f (it ^?! itUse . heldAim . aimMuzzles)
|
baseStickShapeX it _ = foldMap f (it ^?! itUse . heldAim . aimMuzzles)
|
||||||
where
|
where
|
||||||
@@ -269,14 +239,14 @@ bangConeShape :: Float -> Shape
|
|||||||
bangConeShape x =
|
bangConeShape x =
|
||||||
colorSH cyan $
|
colorSH cyan $
|
||||||
xCylinderST 3 x
|
xCylinderST 3 x
|
||||||
<> upperPrismPolyST 6 ( rectNSWE 4 (-4) x (10 + x))
|
<> upperPrismPolyST 6 (rectNSWE 4 (-4) x (10 + x))
|
||||||
|
|
||||||
defSPic :: SPic
|
defSPic :: SPic
|
||||||
defSPic = noPic $ colorSH green $ upperPrismPolyST 3 $ square 4
|
defSPic = noPic $ colorSH green $ upperPrismPolyST 3 $ square 4
|
||||||
|
|
||||||
shatterGunSPic :: SPic
|
shatterGunSPic :: SPic
|
||||||
shatterGunSPic =
|
shatterGunSPic =
|
||||||
-- TODO cylinderize
|
-- TODO cylinderize
|
||||||
noPic $
|
noPic $
|
||||||
colorSH blue $
|
colorSH blue $
|
||||||
upperPrismPolyST 5 (rectNESW xb 8 xa 0)
|
upperPrismPolyST 5 (rectNESW xb 8 xa 0)
|
||||||
@@ -334,14 +304,14 @@ volleyGunShape i =
|
|||||||
miniGunXPictItem :: Int -> Item -> SPic
|
miniGunXPictItem :: Int -> Item -> SPic
|
||||||
miniGunXPictItem i it = miniGunXPict i spin
|
miniGunXPictItem i it = miniGunXPict i spin
|
||||||
where
|
where
|
||||||
spin = (-10) -- * _iaLoaded (_laSource (_heldConsumption (_itUse it)))
|
spin = (-10) + _warmTime (_heldDelay $ _itUse it)
|
||||||
+ _warmTime (_heldDelay $ _itUse it)
|
|
||||||
|
|
||||||
miniGunXPict :: Int -> Int -> SPic
|
miniGunXPict :: Int -> Int -> SPic
|
||||||
miniGunXPict i spin = noPic
|
miniGunXPict i spin =
|
||||||
( colorSH red (rotateSHx a barrels)
|
noPic
|
||||||
<> baseRifleShape
|
( colorSH red (rotateSHx a barrels)
|
||||||
)
|
<> baseRifleShape
|
||||||
|
)
|
||||||
where
|
where
|
||||||
aBarrel = translateSH (V3 15 2 2) baseCaneShape
|
aBarrel = translateSH (V3 15 2 2) baseCaneShape
|
||||||
barrels = foldMap (\an -> aBarrel & rotateSHx (2 * pi * fromIntegral an / fromIntegral i)) [1 .. i]
|
barrels = foldMap (\an -> aBarrel & rotateSHx (2 * pi * fromIntegral an / fromIntegral i)) [1 .. i]
|
||||||
@@ -363,6 +333,7 @@ flamerPic _ = noPic . colorSH yellow $ xCylinderST 5 18
|
|||||||
|
|
||||||
launcherPic :: Item -> SPic
|
launcherPic :: Item -> SPic
|
||||||
launcherPic _ = noPic . colorSH cyan $ xCylinderST 5 20
|
launcherPic _ = noPic . colorSH cyan $ xCylinderST 5 20
|
||||||
|
|
||||||
--launcherPic _ = noPic . colorSH cyan $ xCylinder 4 5 20
|
--launcherPic _ = noPic . colorSH cyan $ xCylinder 4 5 20
|
||||||
-- ( colorSH cyan $
|
-- ( colorSH cyan $
|
||||||
-- prismPoly
|
-- prismPoly
|
||||||
@@ -392,8 +363,9 @@ lasGunPic _ =
|
|||||||
( colorSH blue $
|
( colorSH blue $
|
||||||
upperBoxST 4 (rectNESW 3 30 1 0)
|
upperBoxST 4 (rectNESW 3 30 1 0)
|
||||||
<> upperBoxSU 4 (rectNESW (-1) 30 (-3) 0)
|
<> upperBoxSU 4 (rectNESW (-1) 30 (-3) 0)
|
||||||
<> upperBoxSU 1 (rectNESW 3 30 (-3) 0))
|
<> upperBoxSU 1 (rectNESW 3 30 (-3) 0)
|
||||||
:!: (setLayer BloomNoZWrite . color col . setDepth 1.1 . polygon $ rectNESW 1 30 (-1) 0)
|
)
|
||||||
|
:!: (setLayer BloomNoZWrite . color col . setDepth 1.1 . polygon $ rectNESW 1 30 (-1) 0)
|
||||||
where
|
where
|
||||||
--amFrac = fractionLoadedAmmo it
|
--amFrac = fractionLoadedAmmo it
|
||||||
amFrac = 0.5
|
amFrac = 0.5
|
||||||
@@ -455,5 +427,3 @@ keyPic =
|
|||||||
|
|
||||||
legsSPic :: Color -> SPic
|
legsSPic :: Color -> SPic
|
||||||
legsSPic col = noPic $ translateSH (V3 0 4 0) $ colorSH col $ upperPrismPolyST 3 $ rectWH 2 2
|
legsSPic col = noPic $ translateSH (V3 0 4 0) $ colorSH col $ upperPrismPolyST 3 $ rectWH 2 2
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user