Working element buffer object
This commit is contained in:
@@ -34,7 +34,7 @@ basicCrPict
|
||||
-> Creature
|
||||
-> World
|
||||
-> SPic
|
||||
basicCrPict col cr w = SPic (basicCrShape col cr) $ pictures $
|
||||
basicCrPict col cr w = (,) (basicCrShape col cr) $ pictures $
|
||||
targetingPic ++
|
||||
[ creatureDisplayText w cr
|
||||
, tr . rotdir $ _spPicture $ drawEquipment cr
|
||||
@@ -125,6 +125,7 @@ damageModSH :: Creature -> Shape -> Shape
|
||||
damageModSH _ = id
|
||||
|
||||
feet :: Creature -> Shape
|
||||
{-# INLINE feet #-}
|
||||
feet cr = case cr ^? crStance . carriage of
|
||||
Just (Walking sa LeftForward) -> mconcat
|
||||
[ translateSHf ( f sa) off aFoot
|
||||
@@ -146,6 +147,7 @@ feet cr = case cr ^? crStance . carriage of
|
||||
f i = 6 * fromIntegral (sLen - i) / fromIntegral sLen
|
||||
|
||||
arms :: Creature -> Shape
|
||||
{-# INLINE arms #-}
|
||||
arms cr
|
||||
| oneH cr = shoulderSH . translateSHf 11 (-3) . rotateSH (-0.5) $ scaleSH (V3 1 1.5 1) aHand
|
||||
| twists cr = shoulderSH . translateSHf 0 (0.5* crad) . rotateSH (-1) $ mconcat
|
||||
@@ -165,6 +167,7 @@ arms cr
|
||||
f i = negate 2 + negate 6 * fromIntegral (sLen - i) / fromIntegral sLen
|
||||
|
||||
scalp :: Creature -> Shape
|
||||
{-# INLINE scalp #-}
|
||||
scalp cr
|
||||
| twists cr = translateSHf 0 (0.5*crad) . rotateSH (-1) $ translateSHf (negate 0.25 * crad) 0.25 fhead
|
||||
| oneH cr = rotateSH 0.5 $ translateSHf (0.25 * crad) 0 fhead
|
||||
@@ -184,6 +187,7 @@ twists cr = crIsAiming' cr && crIt ^? itAimStance == Just TwoHandTwist
|
||||
crIt = _crInv cr IM.! _crInvSel cr
|
||||
|
||||
torso :: Creature -> Shape
|
||||
{-# INLINE torso #-}
|
||||
torso cr
|
||||
| oneH cr = rotateSH 0.5 $ mconcat
|
||||
[ translateSHf 0 3 . rotateSH (negate 0.2) $ aShoulder
|
||||
@@ -203,27 +207,16 @@ torso cr
|
||||
crad = _crRad cr
|
||||
|
||||
baseShoulder :: Shape
|
||||
{-# INLINE baseShoulder #-}
|
||||
baseShoulder = translateSHz (-10) . scaleSH (V3 0.5 1 1) . upperPrismPoly 10 $ polyCirc 3 1
|
||||
|
||||
|
||||
|
||||
upperBody :: Color -> Creature -> Shape
|
||||
{-# INLINE upperBody #-}
|
||||
upperBody col cr = colorSH (light4 col) $ mconcat
|
||||
[ arms cr
|
||||
, shoulderSH $ torso cr
|
||||
]
|
||||
|
||||
--naked :: Color -> Creature -> Picture
|
||||
--naked _ cr
|
||||
-- | strikeMelee = shoulderH . color white $ circleSolid $ _crRad cr
|
||||
-- | pdam > 200 = shoulderH . color red $ circleSolid $ _crRad cr
|
||||
-- | pdam > 99 = shoulderH . color white $ circleSolid $ _crRad cr
|
||||
-- | otherwise = []
|
||||
-- where
|
||||
-- strikeMelee = _crMeleeCooldown cr > 5
|
||||
-- pdam = sum $ concatMap (map _dmAmount) pastDams
|
||||
-- pastDams = _crPastDamage $ _crState cr
|
||||
|
||||
shoulderSH :: Shape -> Shape
|
||||
shoulderSH = translateSHz 20
|
||||
waistSH :: Shape -> Shape
|
||||
@@ -244,6 +237,7 @@ light4 = light . light . light . light
|
||||
drawEquipment
|
||||
:: Creature
|
||||
-> SPic
|
||||
{-# INLINE drawEquipment #-}
|
||||
drawEquipment cr = mconcat $ map f $ IM.toList (_crInv cr)
|
||||
where
|
||||
f (i,it) = case it ^? itEquipPict of
|
||||
@@ -255,8 +249,8 @@ circLine x = line [V2 0 0,V2 x 0]
|
||||
|
||||
picAtCrPos :: Picture -> Creature -> World -> SPic
|
||||
--{-# INLINE picAtCrPos #-}
|
||||
picAtCrPos thePic cr _ = SPic emptySH $ tranRot (_crPos cr) (_crDir cr) thePic
|
||||
picAtCrPos thePic cr _ = (,) emptySH $ tranRot (_crPos cr) (_crDir cr) thePic
|
||||
|
||||
picAtCrPosNoRot :: Picture -> Creature -> World -> SPic
|
||||
--{-# INLINE picAtCrPos #-}
|
||||
picAtCrPosNoRot thePic cr _ = SPic emptySH $ uncurryV translate (_crPos cr) thePic
|
||||
picAtCrPosNoRot thePic cr _ = (,) emptySH $ uncurryV translate (_crPos cr) thePic
|
||||
|
||||
@@ -19,7 +19,7 @@ import Dodge.SoundLogic.LoadSound
|
||||
import Dodge.Picture.Layer
|
||||
import Geometry
|
||||
import Picture
|
||||
import ShapePicture
|
||||
--import ShapePicture
|
||||
import Shape
|
||||
|
||||
import Control.Lens
|
||||
@@ -36,7 +36,7 @@ defaultCreature = Creature
|
||||
, _crOldDir = 0
|
||||
, _crMvDir = 0
|
||||
, _crID = 1
|
||||
, _crPict = \_ _ -> SPic (flatCirc 10) blank
|
||||
, _crPict = \_ _ -> (,) (flatCirc 10) blank
|
||||
, _crUpdate = \cr _ -> (Endo id , Just cr)
|
||||
, _crRad = 10
|
||||
, _crMass = 10
|
||||
@@ -130,8 +130,8 @@ defaultEquipment = Equipment
|
||||
, _itName = "genericEquipment"
|
||||
, _itMaxStack = 1
|
||||
, _itAmount = 1
|
||||
, _itFloorPict = SPic emptySH $ setLayer 0 $ onLayer FlItLayer $ polygon $ map toV2 [(-3,-3),(-3,3),(3,3),(3,-3)]
|
||||
, _itEquipPict = \_ _ -> SPic emptySH blank
|
||||
, _itFloorPict = (,) emptySH $ setLayer 0 $ onLayer FlItLayer $ polygon $ map toV2 [(-3,-3),(-3,3),(3,3),(3,-3)]
|
||||
, _itEquipPict = \_ _ -> (,) emptySH blank
|
||||
, _itEffect = NoItEffect
|
||||
, _itHammer = HammerUp
|
||||
, _itID = Nothing
|
||||
@@ -152,8 +152,8 @@ defaultConsumable = Consumable
|
||||
, _itMaxStack = 9
|
||||
, _itAmount = 1
|
||||
, _cnEffect = \_ _ -> Nothing
|
||||
, _itFloorPict = SPic emptySH $ onLayer FlItLayer $ color blue $ circleSolid 3
|
||||
, _itEquipPict = \_ _ -> SPic emptySH blank
|
||||
, _itFloorPict = (,) emptySH $ onLayer FlItLayer $ color blue $ circleSolid 3
|
||||
, _itEquipPict = \_ _ -> (,) emptySH blank
|
||||
, _itID = Nothing
|
||||
, _itInvColor = blue
|
||||
, _itInvDisplay = \it -> _itName it ++ " x" ++ show (_itAmount it)
|
||||
@@ -199,8 +199,8 @@ defaultIt = Consumable
|
||||
, _itMaxStack = 3
|
||||
, _itAmount = 2
|
||||
, _cnEffect = const return
|
||||
, _itFloorPict = SPic emptySH $ onLayer FlItLayer $ polygon $ map toV2 [(-3,-3),(-3,3),(3,3),(3,-3)]
|
||||
, _itEquipPict = \_ _ -> SPic emptySH $ blank
|
||||
, _itFloorPict = (,) emptySH $ onLayer FlItLayer $ polygon $ map toV2 [(-3,-3),(-3,3),(3,3),(3,-3)]
|
||||
, _itEquipPict = \_ _ -> (,) emptySH $ blank
|
||||
, _itID = Nothing
|
||||
, _itInvDisplay = _itName
|
||||
, _itInvColor = blue
|
||||
|
||||
+5
-5
@@ -7,7 +7,7 @@ import Dodge.Default
|
||||
import Dodge.Picture
|
||||
import Picture
|
||||
import Geometry.Data
|
||||
import ShapePicture
|
||||
--import ShapePicture
|
||||
import Shape
|
||||
|
||||
keyToken :: Int -> Item
|
||||
@@ -16,8 +16,8 @@ keyToken n = defaultEquipment
|
||||
, _itName = "KEYTOKEN "++show n
|
||||
, _itMaxStack = 5
|
||||
, _itAmount = 1
|
||||
, _itFloorPict = SPic emptySH $ setDepth 0.5 keyPic
|
||||
, _itEquipPict = \_ _ -> SPic emptySH $ setDepth 0 $ translate (-5) (-5) $ rotate (pi/2.5) keyPic
|
||||
, _itFloorPict = (,) emptySH $ setDepth 0.5 keyPic
|
||||
, _itEquipPict = \_ _ -> (,) emptySH $ setDepth 0 $ translate (-5) (-5) $ rotate (pi/2.5) keyPic
|
||||
, _itEffect = NoItEffect
|
||||
, _itHammer = HammerUp
|
||||
, _itID = Nothing
|
||||
@@ -40,8 +40,8 @@ latchkey n = defaultEquipment
|
||||
, _itName = "KEY "++show n
|
||||
, _itMaxStack = 1
|
||||
, _itAmount = 1
|
||||
, _itFloorPict = SPic emptySH $ setDepth 0.5 latchkeyPic
|
||||
, _itEquipPict = \_ _ -> SPic emptySH $ setDepth 0 $ translate (-5) (-5) $ rotate (pi/2.5) latchkeyPic
|
||||
, _itFloorPict = (,) emptySH $ setDepth 0.5 latchkeyPic
|
||||
, _itEquipPict = \_ _ -> (,) emptySH $ setDepth 0 $ translate (-5) (-5) $ rotate (pi/2.5) latchkeyPic
|
||||
, _itEffect = NoItEffect
|
||||
, _itHammer = HammerUp
|
||||
, _itID = Nothing
|
||||
|
||||
@@ -8,7 +8,7 @@ import Dodge.Default
|
||||
import Dodge.SoundLogic
|
||||
import Dodge.SoundLogic.LoadSound
|
||||
import Shape
|
||||
import ShapePicture
|
||||
--import ShapePicture
|
||||
import Dodge.Item.Draw
|
||||
import Picture
|
||||
|
||||
@@ -22,8 +22,8 @@ medkit i = defaultConsumable
|
||||
, _itMaxStack = 9
|
||||
, _itAmount = 1
|
||||
, _cnEffect = heal i
|
||||
, _itFloorPict = SPic emptySH $ setLayer 0 . onLayer FlItLayer . color blue $ circleSolid 3
|
||||
, _itEquipPict = pictureItem $ SPic emptySH $ color blue $ circleSolid 3
|
||||
, _itFloorPict = (,) emptySH $ setLayer 0 . onLayer FlItLayer . color blue $ circleSolid 3
|
||||
, _itEquipPict = pictureItem $ (,) emptySH $ color blue $ circleSolid 3
|
||||
, _itID = Nothing
|
||||
}
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@ import Dodge.Default
|
||||
import Dodge.Picture.Layer
|
||||
import Picture
|
||||
import Geometry
|
||||
import ShapePicture
|
||||
--import ShapePicture
|
||||
import Shape
|
||||
|
||||
magShield :: Item
|
||||
@@ -15,8 +15,8 @@ magShield = defaultEquipment
|
||||
, _itName = "MAGSHIELD"
|
||||
, _itMaxStack = 1
|
||||
, _itAmount = 1
|
||||
, _itFloorPict = SPic emptySH $ onLayer FlItLayer $ polygon $ map toV2 [(-3,-3),(-3,3),(3,3),(3,-3)]
|
||||
, _itEquipPict = \_ _ -> SPic emptySH $ blank
|
||||
, _itFloorPict = (,) emptySH $ onLayer FlItLayer $ polygon $ map toV2 [(-3,-3),(-3,3),(3,3),(3,-3)]
|
||||
, _itEquipPict = \_ _ -> (,) emptySH $ blank
|
||||
, _itID = Nothing
|
||||
}
|
||||
flameShield :: Item
|
||||
@@ -25,8 +25,8 @@ flameShield = defaultEquipment
|
||||
, _itName = "FLAMESHIELD"
|
||||
, _itMaxStack = 1
|
||||
, _itAmount = 1
|
||||
, _itFloorPict = SPic emptySH $ onLayer FlItLayer $ polygon $ map toV2 [(-3,-3),(-3,3),(3,3),(3,-3)]
|
||||
, _itEquipPict = \cr _ -> SPic emptySH $ onLayer CrLayer $ pictures [color cyan $ circle (_crRad cr+2)]
|
||||
, _itFloorPict = (,) emptySH $ onLayer FlItLayer $ polygon $ map toV2 [(-3,-3),(-3,3),(3,3),(3,-3)]
|
||||
, _itEquipPict = \cr _ -> (,) emptySH $ onLayer CrLayer $ pictures [color cyan $ circle (_crRad cr+2)]
|
||||
, _itID = Nothing
|
||||
}
|
||||
{- | Slows you down, blocks forward projectiles. -}
|
||||
@@ -36,11 +36,11 @@ frontArmour = defaultEquipment
|
||||
, _itName = "FARMOUR"
|
||||
, _itMaxStack = 1
|
||||
, _itAmount = 1
|
||||
, _itFloorPict = SPic emptySH $ onLayer FlItLayer $ translate 0 (-5) $ pictures
|
||||
, _itFloorPict = (,) emptySH $ onLayer FlItLayer $ translate 0 (-5) $ pictures
|
||||
[color (greyN 0.1) $ thickArc 0 (pi/2) 10 5
|
||||
,color (greyN 0.1) $ thickArc (3*pi/2) (2*pi) 10 5
|
||||
]
|
||||
, _itEquipPict = \_ _ -> SPic emptySH $ onLayer CrLayer $ pictures
|
||||
, _itEquipPict = \_ _ -> (,) emptySH $ onLayer CrLayer $ pictures
|
||||
[color (greyN 0.1) $ thickArc 0 (pi/2) 10 5
|
||||
,color (greyN 0.1) $ thickArc (3*pi/2) (2*pi) 10 5
|
||||
]
|
||||
@@ -54,8 +54,8 @@ jetPack = defaultEquipment
|
||||
, _itName = "JETPACK"
|
||||
, _itMaxStack = 1
|
||||
, _itAmount = 1
|
||||
, _itFloorPict = SPic emptySH $ onLayer FlItLayer $ color yellow $ polygon $ map toV2 [(-3,-3),(-3,3),(3,3),(3,-3)]
|
||||
, _itEquipPict = \_ _ -> SPic emptySH $ onLayer CrLayer
|
||||
, _itFloorPict = (,) emptySH $ onLayer FlItLayer $ color yellow $ polygon $ map toV2 [(-3,-3),(-3,3),(3,3),(3,-3)]
|
||||
, _itEquipPict = \_ _ -> (,) emptySH $ onLayer CrLayer
|
||||
$ pictures [color yellow $ polygon $ rectNSEW 5 (-5) (-3) (-11) ]
|
||||
, _itEffect = NoItEffect
|
||||
, _itID = Nothing
|
||||
|
||||
+44
-44
@@ -77,13 +77,13 @@ pistol = defaultGun
|
||||
, _wpSpread = 0.02
|
||||
, _wpRange = 20
|
||||
, _itHammer = HammerUp
|
||||
, _itFloorPict = SPic emptySH $ onLayer FlItLayer pistolPic
|
||||
, _itFloorPict = (,) emptySH $ onLayer FlItLayer pistolPic
|
||||
, _itAmount = 1
|
||||
, _itMaxStack = 1
|
||||
, _itAimingSpeed = 1
|
||||
, _itAimingRange = 0
|
||||
, _itZoom = defaultItZoom
|
||||
, _itEquipPict = pictureWeaponOnAim $ SPic emptySH pistolPic
|
||||
, _itEquipPict = pictureWeaponOnAim $ (,) emptySH pistolPic
|
||||
, _itAttachment = NoItAttachment
|
||||
, _itID = Nothing
|
||||
, _itEffect = wpRecock
|
||||
@@ -121,13 +121,13 @@ rezGun = defaultGun
|
||||
[]
|
||||
, _wpSpread = 0.001
|
||||
, _wpRange = 20
|
||||
, _itFloorPict = SPic emptySH $ onLayer FlItLayer $ color chartreuse $ pictures
|
||||
, _itFloorPict = (,) emptySH $ onLayer FlItLayer $ color chartreuse $ pictures
|
||||
[polygon $ rectNESW 7 3 1 (-3)
|
||||
,polygon $ rectNESW (-1) 3 (-7) (-3)
|
||||
]
|
||||
, _itAimingSpeed = 0.4
|
||||
, _itAimingRange = 0
|
||||
, _itEquipPict = pictureWeaponOnAim $ SPic emptySH $ color chartreuse $ pictures
|
||||
, _itEquipPict = pictureWeaponOnAim $ (,) emptySH $ color chartreuse $ pictures
|
||||
[polygon $ rectNESW 7 3 1 (-3)
|
||||
,polygon $ rectNESW (-1) 3 (-7) (-3)
|
||||
]
|
||||
@@ -152,11 +152,11 @@ teslaGun = defaultGun
|
||||
]
|
||||
, _wpSpread = 0.001
|
||||
, _wpRange = 20
|
||||
, _itFloorPict = SPic emptySH $ onLayer FlItLayer teslaGunPic
|
||||
, _itFloorPict = (,) emptySH $ onLayer FlItLayer teslaGunPic
|
||||
, _itAimingSpeed = 0.4
|
||||
, _itZoom = defaultItZoom
|
||||
, _itAimingRange = 0
|
||||
, _itEquipPict = pictureWeaponOnAim $ SPic emptySH teslaGunPic
|
||||
, _itEquipPict = pictureWeaponOnAim $ (,) emptySH teslaGunPic
|
||||
}
|
||||
teslaGunPic :: Picture
|
||||
teslaGunPic = color blue $ pictures
|
||||
@@ -187,10 +187,10 @@ lasGun = defaultAutoGun
|
||||
]
|
||||
, _wpSpread = 0.001
|
||||
, _wpRange = 20
|
||||
, _itFloorPict = SPic emptySH $ onLayer FlItLayer lasGunPic
|
||||
, _itFloorPict = (,) emptySH $ onLayer FlItLayer lasGunPic
|
||||
, _itAimingSpeed = 0.4
|
||||
, _itAimingRange = 1
|
||||
, _itEquipPict = pictureWeaponOnAim $ SPic emptySH lasGunPic
|
||||
, _itEquipPict = pictureWeaponOnAim $ (,) emptySH lasGunPic
|
||||
, _itAttachment = ItCharMode $ Seq.fromList "/VZ"
|
||||
, _itScroll = scrollCharMode
|
||||
, _itInvDisplay = basicWeaponDisplay
|
||||
@@ -210,7 +210,7 @@ forceFieldGun = defaultGun
|
||||
, _itUse = undefined
|
||||
, _wpSpread = 0.02
|
||||
, _wpRange = 20
|
||||
, _itFloorPict = SPic emptySH $ onLayer FlItLayer $ polygon $ map toV2 [(-4,-4),(-4,4),(4,4),(4,0),(0,0),(0,-4)]
|
||||
, _itFloorPict = (,) emptySH $ onLayer FlItLayer $ polygon $ map toV2 [(-4,-4),(-4,4),(4,4),(4,0),(0,0),(0,-4)]
|
||||
, _itAimingSpeed = 0.4
|
||||
, _itAimingRange = 0.5
|
||||
}
|
||||
@@ -249,10 +249,10 @@ tractorGun = defaultAutoGun
|
||||
]
|
||||
, _wpSpread = 0.00001
|
||||
, _wpRange = 20
|
||||
, _itFloorPict = SPic emptySH $ onLayer FlItLayer $ color blue $ pictures [polygon $ rectNESW 1.5 6 (-1.5) 0 ]
|
||||
, _itFloorPict = (,) emptySH $ onLayer FlItLayer $ color blue $ pictures [polygon $ rectNESW 1.5 6 (-1.5) 0 ]
|
||||
, _itAimingSpeed = 0.4
|
||||
, _itAimingRange = 0.5
|
||||
, _itEquipPict = pictureWeaponOnAim $ SPic emptySH $ color blue $ pictures [polygon $ rectNESW 1.5 6 (-1.5) 0 ]
|
||||
, _itEquipPict = pictureWeaponOnAim $ (,) emptySH $ color blue $ pictures [polygon $ rectNESW 1.5 6 (-1.5) 0 ]
|
||||
}
|
||||
|
||||
|
||||
@@ -278,10 +278,10 @@ remoteLauncher = defaultGun
|
||||
]
|
||||
, _wpSpread = 0.02
|
||||
, _wpRange = 20
|
||||
, _itFloorPict = SPic emptySH $ onLayer FlItLayer $ color cyan $ polygon $ rectNESW 5 5 (-5) (-5)
|
||||
, _itFloorPict = (,) emptySH $ onLayer FlItLayer $ color cyan $ polygon $ rectNESW 5 5 (-5) (-5)
|
||||
, _itAimingSpeed = 0.2
|
||||
, _itAimingRange = 0.5
|
||||
, _itEquipPict = pictureWeaponOnAim $ SPic emptySH $ color cyan $ polygon $ rectNESW 5 5 (-5) (-5)
|
||||
, _itEquipPict = pictureWeaponOnAim $ (,) emptySH $ color cyan $ polygon $ rectNESW 5 5 (-5) (-5)
|
||||
, _itAttachment = ItScope (V2 0 0) 0 1 True
|
||||
}
|
||||
hvAutoGun :: Item
|
||||
@@ -303,10 +303,10 @@ hvAutoGun = defaultAutoGun
|
||||
, withMuzFlareI
|
||||
]
|
||||
, _wpRange = 20
|
||||
, _itFloorPict = SPic emptySH $ onLayer FlItLayer hvAutoGunPic
|
||||
, _itFloorPict = (,) emptySH $ onLayer FlItLayer hvAutoGunPic
|
||||
, _itAimingSpeed = 0.2
|
||||
, _itAimingRange = 1
|
||||
, _itEquipPict = pictureWeaponOnAim $ SPic emptySH hvAutoGunPic
|
||||
, _itEquipPict = pictureWeaponOnAim $ (,) emptySH hvAutoGunPic
|
||||
, _wpAmmo = hvBullet
|
||||
}
|
||||
hvAutoGunPic :: Picture
|
||||
@@ -334,11 +334,11 @@ ltAutoGun = defaultAutoGun
|
||||
]
|
||||
, _wpSpread = 0.5
|
||||
, _wpRange = 20
|
||||
, _itFloorPict = SPic emptySH $ onLayer FlItLayer ltAutoGunPic
|
||||
, _itFloorPict = (,) emptySH $ onLayer FlItLayer ltAutoGunPic
|
||||
, _itAimingSpeed = 1
|
||||
, _itAimingRange = 0
|
||||
, _itZoom = defaultItZoom
|
||||
, _itEquipPict = pictureWeaponOnAim $ SPic emptySH ltAutoGunPic
|
||||
, _itEquipPict = pictureWeaponOnAim $ (,) emptySH ltAutoGunPic
|
||||
, _itAimStance = OneHand
|
||||
, _wpAmmo = ltBullet
|
||||
}
|
||||
@@ -393,10 +393,10 @@ miniGun = defaultAutoGun
|
||||
, withSmoke 1 black 20 200 5
|
||||
]
|
||||
, _wpRange = 20
|
||||
, _itFloorPict = SPic emptySH $ onLayer FlItLayer miniGunPict
|
||||
, _itFloorPict = (,) emptySH $ onLayer FlItLayer miniGunPict
|
||||
, _itAimingSpeed = 0.4
|
||||
, _itAimingRange = 1
|
||||
, _itEquipPict = pictureWeaponOnAim $ SPic emptySH miniGunPict
|
||||
, _itEquipPict = pictureWeaponOnAim $ (,) emptySH miniGunPict
|
||||
, _wpAmmo = basicBullet
|
||||
}
|
||||
where
|
||||
@@ -440,10 +440,10 @@ spreadGun = defaultGun
|
||||
]
|
||||
, _wpSpread = spreadGunSpread
|
||||
, _wpRange = 20
|
||||
, _itFloorPict = SPic emptySH $ onLayer FlItLayer spreadGunPic
|
||||
, _itFloorPict = (,) emptySH $ onLayer FlItLayer spreadGunPic
|
||||
, _itAimingSpeed = 1
|
||||
, _itAimingRange = 0
|
||||
, _itEquipPict = pictureWeaponOnAim $ SPic emptySH spreadGunPic
|
||||
, _itEquipPict = pictureWeaponOnAim $ (,) emptySH spreadGunPic
|
||||
, _wpAmmo = basicBullet
|
||||
, _wpNumBarrels = 50
|
||||
}
|
||||
@@ -472,12 +472,12 @@ multGun = defaultGun
|
||||
]
|
||||
, _wpSpread = spreadGunSpread
|
||||
, _wpRange = 20
|
||||
, _itFloorPict = SPic emptySH $ onLayer FlItLayer multGunPic
|
||||
, _itFloorPict = (,) emptySH $ onLayer FlItLayer multGunPic
|
||||
, _itAimingSpeed = 0.4
|
||||
, _itAimingRange = 1
|
||||
, _itZoom = defaultItZoom
|
||||
, _itAimZoom = defaultItZoom {_itZoomFac = 1.5}
|
||||
, _itEquipPict = pictureWeaponOnAim $ SPic emptySH multGunPic
|
||||
, _itEquipPict = pictureWeaponOnAim $ (,) emptySH multGunPic
|
||||
, _itAimStance = TwoHandTwist
|
||||
, _wpAmmo = basicBullet
|
||||
, _wpNumBarrels = 5
|
||||
@@ -517,12 +517,12 @@ longGun = defaultGun
|
||||
, withMuzFlareI
|
||||
]
|
||||
, _wpRange = 200
|
||||
, _itFloorPict = SPic emptySH $ onLayer FlItLayer longGunPic
|
||||
, _itFloorPict = (,) emptySH $ onLayer FlItLayer longGunPic
|
||||
, _itAimingSpeed = 0.2
|
||||
, _itAimingRange = 1
|
||||
, _itZoom = defaultItZoom
|
||||
, _itAimZoom = defaultItZoom {_itZoomMax = 0.5, _itZoomMin = 0.5}
|
||||
, _itEquipPict = pictureWeaponOnAim $ SPic emptySH longGunPic
|
||||
, _itEquipPict = pictureWeaponOnAim $ (,) emptySH longGunPic
|
||||
, _itScroll = zoomLongGun
|
||||
, _itAttachment = ItScope (V2 0 0) 0 1 False
|
||||
, _itEffect = itemLaserScopeEffect
|
||||
@@ -561,11 +561,11 @@ poisonSprayer = defaultAutoGun
|
||||
, spreadNumI
|
||||
]
|
||||
, _wpRange = 8
|
||||
, _itFloorPict = SPic emptySH $ onLayer FlItLayer $ color yellow $ polygon $ rectNESW 4 4 (-4) (-4)
|
||||
, _itFloorPict = (,) emptySH $ onLayer FlItLayer $ color yellow $ polygon $ rectNESW 4 4 (-4) (-4)
|
||||
, _itAimingSpeed = 0.2
|
||||
, _itAimingRange = 0
|
||||
, _itZoom = defaultItZoom
|
||||
, _itEquipPict = pictureWeaponOnAim $ SPic emptySH $ color yellow $ polygon $ rectNESW 4 4 (-4) (-4)
|
||||
, _itEquipPict = pictureWeaponOnAim $ (,) emptySH $ color yellow $ polygon $ rectNESW 4 4 (-4) (-4)
|
||||
, _wpSpread = 0.1
|
||||
, _wpNumBarrels = 3
|
||||
}
|
||||
@@ -588,12 +588,12 @@ flamer = defaultAutoGun
|
||||
]
|
||||
, _wpSpread = 0
|
||||
, _wpRange = 8
|
||||
, _itFloorPict = SPic emptySH $ onLayer FlItLayer flamerPic
|
||||
, _itFloorPict = (,) emptySH $ onLayer FlItLayer flamerPic
|
||||
, _itAimingSpeed = 0.5
|
||||
, _itAimingRange = 0
|
||||
, _itZoom = defaultItZoom
|
||||
, _itAimZoom = defaultItZoom {_itZoomMax = 5, _itZoomMin = 1.5}
|
||||
, _itEquipPict = pictureWeaponOnAim $ SPic emptySH flamerPic
|
||||
, _itEquipPict = pictureWeaponOnAim $ (,) emptySH flamerPic
|
||||
, _itAttachment = NoItAttachment
|
||||
}
|
||||
flamerPic :: Picture
|
||||
@@ -619,7 +619,7 @@ blinkGun = defaultGun
|
||||
, _itLeftClickUse = Just $ hammerCheckL $ shootL aSelfL
|
||||
, _wpSpread = 0.05
|
||||
, _wpRange = 20
|
||||
, _itFloorPict = SPic emptySH $ onLayer FlItLayer $ polygon $ map toV2[(-2,-2),(-2,2),(2,2),(2,0),(0,0),(0,-2)]
|
||||
, _itFloorPict = (,) emptySH $ onLayer FlItLayer $ polygon $ map toV2[(-2,-2),(-2,2),(2,2),(2,0),(0,0),(0,-2)]
|
||||
, _itAimingSpeed = 1
|
||||
, _itAimingRange = 0
|
||||
}
|
||||
@@ -637,7 +637,7 @@ boosterGun = defaultGun
|
||||
, _itLeftClickUse = Just $ boostSelfL 10
|
||||
, _wpSpread = 0.05
|
||||
, _wpRange = 20
|
||||
, _itFloorPict = SPic emptySH $ onLayer FlItLayer $ polygon $ map toV2 [(-2,-2),(-2,2),(2,2),(2,0),(0,0),(0,-2)]
|
||||
, _itFloorPict = (,) emptySH $ onLayer FlItLayer $ polygon $ map toV2 [(-2,-2),(-2,2),(2,2),(2,0),(0,0),(0,-2)]
|
||||
, _itAimingSpeed = 1
|
||||
, _itAimingRange = 0
|
||||
, _itEffect = resetAttachmentID
|
||||
@@ -810,7 +810,7 @@ grenade = Throwable
|
||||
, _itIdentity = Grenade
|
||||
, _itMaxStack = 8
|
||||
, _itAmount = 1
|
||||
, _itFloorPict = SPic emptySH $ onLayer FlItLayer $ polygon $ map toV2 [(-3,-3),(-3,3),(3,3),(3,-3)]
|
||||
, _itFloorPict = (,) emptySH $ onLayer FlItLayer $ polygon $ map toV2 [(-3,-3),(-3,3),(3,3),(3,-3)]
|
||||
, _twMaxRange = 150
|
||||
, _twAccuracy = 30
|
||||
, _itUse = \_ -> throwGrenade makeExplosionAt
|
||||
@@ -863,7 +863,7 @@ remoteBomb = defaultThrowable
|
||||
, _itIdentity = RemoteBomb
|
||||
, _itMaxStack = 1
|
||||
, _itAmount = 1
|
||||
, _itFloorPict = SPic emptySH $ onLayer FlItLayer $ polygon $ map toV2 [(-3,-3),(-3,3),(3,3),(3,-3)]
|
||||
, _itFloorPict = (,) emptySH $ onLayer FlItLayer $ polygon $ map toV2 [(-3,-3),(-3,3),(3,3),(3,-3)]
|
||||
, _twMaxRange = 150
|
||||
, _twAccuracy = 30
|
||||
, _itUse = const throwRemoteBomb
|
||||
@@ -871,7 +871,7 @@ remoteBomb = defaultThrowable
|
||||
[ hammerCheckI
|
||||
]
|
||||
, _itAttachment = ItScope (V2 0 0) 0 1 True
|
||||
, _itEquipPict = pictureWeaponOnAim $ SPic emptySH remoteBombUnarmedPic
|
||||
, _itEquipPict = pictureWeaponOnAim $ (,) emptySH remoteBombUnarmedPic
|
||||
}
|
||||
|
||||
fireRemoteLauncher :: Creature -> World -> World
|
||||
@@ -1020,7 +1020,7 @@ explodeRemoteBomb itid pjid cr w
|
||||
cid = _crID cr
|
||||
resetName = set (creatures . ix cid . crInv . ix j . itName) "REMOTEBOMB"
|
||||
resetPict = set (creatures . ix cid . crInv . ix j . itEquipPict )
|
||||
(pictureWeaponOnAim $ SPic emptySH remoteBombUnarmedPic)
|
||||
(pictureWeaponOnAim $ (,) emptySH remoteBombUnarmedPic)
|
||||
-- resetScope = creatures . ix cid . crInv . ix j . itScope . _Just . scopePos .~ (0,0)
|
||||
j = _crInvSel $ _creatures w IM.! cid
|
||||
remoteBombPic
|
||||
@@ -1042,7 +1042,7 @@ pipe = Craftable
|
||||
, _itName = "PIPE"
|
||||
, _itMaxStack = 3
|
||||
, _itAmount = 3
|
||||
, _itFloorPict = SPic emptySH $ onLayer FlItLayer $ polygon $ map toV2 [(-3,-3),(-3,3),(3,3),(3,-3)]
|
||||
, _itFloorPict = (,) emptySH $ onLayer FlItLayer $ polygon $ map toV2 [(-3,-3),(-3,3),(3,3),(3,-3)]
|
||||
, _itEquipPict = \_ _ -> emptyBlank
|
||||
, _itID = Nothing
|
||||
, _itInvDisplay = _itName
|
||||
@@ -1068,13 +1068,13 @@ radar = defaultGun
|
||||
, _wpSpread = autogunSpread
|
||||
, _wpRange = 20
|
||||
, _itHammer = HammerUp
|
||||
, _itFloorPict = SPic emptySH $ onLayer FlItLayer $ color blue $ polygon $ rectNESW 5 5 (-5) (-5)
|
||||
, _itFloorPict = (,) emptySH $ onLayer FlItLayer $ color blue $ polygon $ rectNESW 5 5 (-5) (-5)
|
||||
, _itAmount = 1
|
||||
, _itMaxStack = 1
|
||||
, _itAimingRange = 1
|
||||
, _itZoom = defaultItZoom { _itZoomMax = 1}
|
||||
, _itAimZoom = defaultItZoom { _itZoomMax = 1}
|
||||
, _itEquipPict = pictureWeaponOnAim $ SPic emptySH $ color blue $ polygon $ rectNESW 5 5 (-5) (-5)
|
||||
, _itEquipPict = pictureWeaponOnAim $ (,) emptySH $ color blue $ polygon $ rectNESW 5 5 (-5) (-5)
|
||||
}
|
||||
{- |
|
||||
Sends out pulses that display creatures. -}
|
||||
@@ -1094,13 +1094,13 @@ sonar = defaultGun
|
||||
]
|
||||
, _wpRange = 20
|
||||
, _itHammer = HammerUp
|
||||
, _itFloorPict = SPic emptySH $ onLayer FlItLayer $ color blue $ polygon $ rectNESW 5 5 (-5) (-5)
|
||||
, _itFloorPict = (,) emptySH $ onLayer FlItLayer $ color blue $ polygon $ rectNESW 5 5 (-5) (-5)
|
||||
, _itAmount = 1
|
||||
, _itMaxStack = 1
|
||||
, _itAimingRange = 1
|
||||
, _itZoom = defaultItZoom {_itZoomMax = 1}
|
||||
, _itAimZoom = defaultItZoom {_itZoomMax = 1}
|
||||
, _itEquipPict = pictureWeaponOnAim $ SPic emptySH $ color blue $ polygon $ rectNESW 5 5 (-5) (-5)
|
||||
, _itEquipPict = pictureWeaponOnAim $ (,) emptySH $ color blue $ polygon $ rectNESW 5 5 (-5) (-5)
|
||||
}
|
||||
{- |
|
||||
Automatically sends out pulses that display creatures. -}
|
||||
@@ -1110,8 +1110,8 @@ autoSonar = defaultEquipment
|
||||
, _itName = "AUTOSONAR"
|
||||
, _itMaxStack = 1
|
||||
, _itAmount = 1
|
||||
, _itFloorPict = SPic emptySH $ onLayer FlItLayer $ color yellow $ polygon $ map toV2 [(-3,-3),(-3,3),(3,3),(3,-3)]
|
||||
, _itEquipPict = \_ _ -> SPic emptySH $ blank
|
||||
, _itFloorPict = (,) emptySH $ onLayer FlItLayer $ color yellow $ polygon $ map toV2 [(-3,-3),(-3,3),(3,3),(3,-3)]
|
||||
, _itEquipPict = \_ _ -> (,) emptySH $ blank
|
||||
, _itEffect = autoSonarEffect
|
||||
, _itID = Nothing
|
||||
, _itAimingSpeed = 1
|
||||
@@ -1127,8 +1127,8 @@ autoRadar = defaultEquipment
|
||||
, _itName = "AUTORADAR"
|
||||
, _itMaxStack = 1
|
||||
, _itAmount = 1
|
||||
, _itFloorPict = SPic emptySH $ onLayer FlItLayer $ color yellow $ polygon $ map toV2 [(-3,-3),(-3,3),(3,3),(3,-3)]
|
||||
, _itEquipPict = \_ _ -> SPic emptySH $ blank
|
||||
, _itFloorPict = (,) emptySH $ onLayer FlItLayer $ color yellow $ polygon $ map toV2 [(-3,-3),(-3,3),(3,3),(3,-3)]
|
||||
, _itEquipPict = \_ _ -> (,) emptySH $ blank
|
||||
, _itEffect = autoRadarEffect
|
||||
, _itID = Nothing
|
||||
, _itAimingSpeed = 1
|
||||
|
||||
@@ -16,7 +16,7 @@ import Dodge.Item.Weapon.TriggerType
|
||||
import Dodge.SoundLogic.LoadSound
|
||||
import Picture
|
||||
import Geometry
|
||||
import ShapePicture
|
||||
--import ShapePicture
|
||||
import Shape
|
||||
|
||||
import qualified Data.Sequence as Seq
|
||||
@@ -51,12 +51,12 @@ autoGun = defaultAutoGun
|
||||
, _wpSpread = autogunSpread
|
||||
, _wpRange = 20
|
||||
, _itHammer = HammerUp
|
||||
, _itFloorPict = SPic emptySH $ onLayer FlItLayer autoGunPic
|
||||
, _itFloorPict = (,) emptySH $ onLayer FlItLayer autoGunPic
|
||||
, _itAimingSpeed = 0.4
|
||||
, _itAimingRange = 1
|
||||
, _itZoom = defaultItZoom
|
||||
, _itAimZoom = defaultItZoom {_itZoomFac = 1.5}
|
||||
, _itEquipPict = pictureWeaponOnAim $ SPic emptySH autoGunPic
|
||||
, _itEquipPict = pictureWeaponOnAim $ (,) emptySH autoGunPic
|
||||
, _itEffect = wpRecock
|
||||
, _itAttachment = ItCharMode $ Seq.fromList "MS"
|
||||
, _itScroll = scrollCharMode
|
||||
|
||||
@@ -18,7 +18,7 @@ import Dodge.Picture.Layer
|
||||
import Dodge.SoundLogic.LoadSound
|
||||
import Picture
|
||||
import Geometry
|
||||
import ShapePicture
|
||||
--import ShapePicture
|
||||
import Shape
|
||||
|
||||
--import System.Random
|
||||
@@ -37,8 +37,8 @@ bezierGun = defaultGun
|
||||
. withRecoilI 40
|
||||
. torqueBefore 0.05
|
||||
]
|
||||
, _itFloorPict = SPic emptySH $ onLayer FlItLayer bezierGunPic
|
||||
, _itEquipPict = pictureWeaponOnAim $ SPic emptySH bezierGunPic
|
||||
, _itFloorPict = (,) emptySH $ onLayer FlItLayer bezierGunPic
|
||||
, _itEquipPict = pictureWeaponOnAim $ (,) emptySH bezierGunPic
|
||||
, _itAttachment = NoItAttachment
|
||||
, _itScroll = \_ _ -> removeItTarget
|
||||
, _itHammer = HammerUp
|
||||
|
||||
@@ -52,7 +52,7 @@ moveGrenade time dir pID w = case hitWl of
|
||||
|
||||
|
||||
grenadePic :: Int -> SPic
|
||||
grenadePic x = SPic emptySH $ pictures
|
||||
grenadePic x = (,) emptySH $ pictures
|
||||
[ color (dark $ dark green) $ circleSolid 5
|
||||
, color green $ arc (degToRad $ (179 * fromIntegral x / 50) - 180 )
|
||||
(degToRad $ 180 - (179 * fromIntegral x / 50) )
|
||||
@@ -79,7 +79,7 @@ throwGrenade explosion cr w = setWp $ removePict $ over projectiles addG w
|
||||
, _pjPayload = explosion
|
||||
}
|
||||
j = _crInvSel cr
|
||||
removePict = set (creatures . ix n . crInv . ix j . itEquipPict) $ \ _ _ -> SPic emptySH blank
|
||||
removePict = set (creatures . ix n . crInv . ix j . itEquipPict) $ \ _ _ -> (,) emptySH blank
|
||||
i = newProjectileKey w
|
||||
--(_, g) = randomR (-grenadeAccA,grenadeAccA::Float) (_randGen w)
|
||||
--(_, _) = randomR (1 - 2*grenadeAccL,1+grenadeAccL::Float) g
|
||||
|
||||
@@ -22,7 +22,7 @@ import Geometry.Vector3D
|
||||
import Picture
|
||||
import qualified IntMapHelp as IM
|
||||
import Padding
|
||||
import ShapePicture
|
||||
--import ShapePicture
|
||||
import Shape
|
||||
|
||||
import Data.Maybe
|
||||
@@ -50,10 +50,10 @@ launcher = defaultGun
|
||||
]
|
||||
, _wpSpread = 0.02
|
||||
, _wpRange = 20
|
||||
, _itFloorPict = SPic emptySH $ onLayer FlItLayer launcherPic
|
||||
, _itFloorPict = (,) emptySH $ onLayer FlItLayer launcherPic
|
||||
, _itAimingSpeed = 0.2
|
||||
, _itAimingRange = 0.5
|
||||
, _itEquipPict = pictureWeaponOnAim $ SPic emptySH launcherPic
|
||||
, _itEquipPict = pictureWeaponOnAim $ (,) emptySH launcherPic
|
||||
, _itHammer = NoHammer
|
||||
, _itEffect = NoItEffect
|
||||
, _wpAmmo = defaultShellAmmo
|
||||
|
||||
+2
-3
@@ -79,11 +79,10 @@ setupWorldBounds w = w
|
||||
|
||||
setupForegroundEdgeVerxs :: World -> World
|
||||
setupForegroundEdgeVerxs w = w & foregroundEdgeVerx .~ polyhedrasToEdges (_foregroundDecorations w)
|
||||
& foregroundShape .~ Shape vs es
|
||||
& foregroundShape .~ (vs,es)
|
||||
where
|
||||
vs = shVfromList $ concatMap (polyToTris . map toShape) $ concatMap _pyFaces $ _foregroundDecorations w
|
||||
vs = shVfromList $ map pairToSV $ concatMap polyToTris $ concatMap _pyFaces $ _foregroundDecorations w
|
||||
es = shEfromList $ polyhedrasToEdges (_foregroundDecorations w)
|
||||
toShape (p3,p4) = ShapeV p3 p4
|
||||
|
||||
polyhedrasToEdges :: [Polyhedra] -> [Point3]
|
||||
polyhedrasToEdges = concatMap tflat4 . concatMap polyToEdges
|
||||
|
||||
+27
-16
@@ -20,7 +20,8 @@ import Shader.Data
|
||||
import MatrixHelper
|
||||
--import Polyhedra.Data
|
||||
import Polyhedra
|
||||
import Shape.Data
|
||||
import Shader.ExtraPrimitive
|
||||
import Shader.Parameters
|
||||
|
||||
import Foreign
|
||||
--import Control.Applicative
|
||||
@@ -38,7 +39,7 @@ import Control.Monad
|
||||
import Graphics.Rendering.OpenGL hiding (color,scale,translate,rotate)
|
||||
import qualified SDL
|
||||
import qualified Data.Vector.Unboxed.Mutable as UMV
|
||||
import qualified Data.Vector.Fusion.Stream.Monadic as VS
|
||||
import Graphics.GL.Core43
|
||||
|
||||
doDrawing :: RenderData -> World -> IO Word32
|
||||
doDrawing pdata w = do
|
||||
@@ -56,21 +57,15 @@ doDrawing pdata w = do
|
||||
-- bind as much data into vbos as feasible at this point
|
||||
-- poke wall points and colors
|
||||
nWalls <- poke224s (shadVBOptr $ _wallTextureShader pdata) wallPointsCol
|
||||
nSils <- pokePoint3s (shadVBOptr $ _lightingLineShadowShader pdata)
|
||||
$ VS.fromList
|
||||
$ (shEList $ worldShape w)
|
||||
-- -- poke foreground geometry for caps
|
||||
-- nCaps <- pokePoint3s (shadVBOptr $ _lightingCapShader pdata)
|
||||
-- $ VS.fromList
|
||||
-- (fmap _svPos (shVList $ worldShape w))
|
||||
numShapeVs <- pokeShapeVs (_vboPtr $ _vaoVBO $ _shadVAO $ _shapeShader pdata)
|
||||
$ VS.fromList $ shVList $ worldShape w
|
||||
let nCaps = numShapeVs
|
||||
(numShapeVs,nSils) <- pokeShape
|
||||
(_vboPtr $ _vaoVBO $ _shadVAO $ _shapeShader pdata)
|
||||
(shadVBOptr $ _lightingLineShadowShader pdata)
|
||||
(_eboPtr $ _shapeEBO pdata)
|
||||
$ worldShape w
|
||||
-- bind wall points, silhouette data, surface geometry
|
||||
uncurry bindShaderBuffers $ unzip
|
||||
[ ( _wallTextureShader pdata, nWalls)
|
||||
, (_lightingLineShadowShader pdata, nSils)
|
||||
-- , (_lightingCapShader pdata, nCaps)
|
||||
, (_shapeShader pdata, numShapeVs)
|
||||
]
|
||||
-- set the coordinate uniform ready for drawing elements using world coordinates
|
||||
@@ -95,7 +90,22 @@ doDrawing pdata w = do
|
||||
pokeBindFoldableLayer shadV layerCounts $ worldPictures w
|
||||
renderLayer 0 shadV layerCounts
|
||||
|
||||
drawShader (_shapeShader pdata) numShapeVs
|
||||
-- drawShader (_shapeShader pdata) numShapeVs
|
||||
let fs = _shapeShader pdata
|
||||
currentProgram $= Just (_shadProg fs)
|
||||
bindVertexArrayObject $= Just (_vao $ _shadVAO fs)
|
||||
bindBuffer ElementArrayBuffer $= Just (_ebo $ _shapeEBO pdata)
|
||||
bufferSubData
|
||||
ElementArrayBuffer
|
||||
WriteToBuffer
|
||||
0
|
||||
(fromIntegral $ glushortSize * numShapeVs)
|
||||
(_eboPtr $ _shapeEBO pdata)
|
||||
glDrawElements
|
||||
(marshalEPrimitiveMode $ _shadPrim fs)
|
||||
(fromIntegral numShapeVs)
|
||||
(GL_UNSIGNED_SHORT)
|
||||
nullPtr
|
||||
|
||||
--draw floor onto base buffer
|
||||
nTextArrayVs <- pokePoint33s (shadVBOptr $ _textureArrayShader pdata) (_floorTiles w)
|
||||
@@ -103,7 +113,8 @@ doDrawing pdata w = do
|
||||
drawShader (_textureArrayShader pdata) nTextArrayVs
|
||||
--draw lightmap for base buffer
|
||||
bindFramebuffer Framebuffer $= fst (_fboLighting pdata)
|
||||
createLightMap pdata lightPoints nWalls nSils nCaps (snd $ snd $ _fboBase pdata)
|
||||
--createLightMap pdata lightPoints nWalls nSils numShapeVs (snd $ snd $ _fboBase pdata)
|
||||
createLightMap pdata lightPoints nWalls 0 0 (snd $ snd $ _fboBase pdata)
|
||||
colorMask $= Color4 Enabled Enabled Enabled Enabled
|
||||
clearColor $= Color4 0 0 0 0
|
||||
--apply lightmap to base buffer
|
||||
@@ -157,7 +168,7 @@ doDrawing pdata w = do
|
||||
depthMask $= Disabled
|
||||
blend $= Enabled
|
||||
bindFramebuffer Framebuffer $= fst (_fboLighting pdata)
|
||||
createLightMap pdata lightPoints nWalls nSils nCaps (snd $ snd $ _fboCloud pdata)
|
||||
createLightMap pdata lightPoints nWalls nSils numShapeVs (snd $ snd $ _fboCloud pdata)
|
||||
colorMask $= Color4 Enabled Enabled Enabled Enabled
|
||||
clearColor $= Color4 0 0 0 0
|
||||
--apply lightmap to cloud buffer
|
||||
|
||||
Reference in New Issue
Block a user