Data-ify item drawing
This commit is contained in:
@@ -47,13 +47,14 @@ translateToRightHand cr = translateToRightHand' cr . mirrorSPxz
|
||||
|
||||
translateToRightHand' :: Creature -> SPic -> SPic
|
||||
translateToRightHand' cr
|
||||
| oneH cr = shoulderSP . translateSPf 11 (-3) . rotateSP (-0.5)-- . scaleSH (V3 1 1.5 1)
|
||||
| twists cr = shoulderSP . translateSPf 0 5 . rotateSP (-1) . translateSPf 4 (-10)
|
||||
| twoFlat cr = waistSP . translateSPf 4 (-8)
|
||||
| oneH cr = shoulderSP . translateSPf 11 (-3) . rotateSP (-0.5) . offTrans-- . scaleSH (V3 1 1.5 1)
|
||||
| twists cr = shoulderSP . translateSPf 0 5 . rotateSP (-1) . translateSPf 4 (-10) . offTrans
|
||||
| twoFlat cr = waistSP . translateSPf 4 (-8) . offTrans
|
||||
| otherwise = case cr ^? crStance . carriage of
|
||||
Just (Walking sa LeftForward) -> waistSP . translateSPf (-f sa) (-off)
|
||||
_ -> waistSP . translateSPf 0 (-off)
|
||||
Just (Walking sa LeftForward) -> waistSP . translateSPf (-f sa) (-off) . offTrans
|
||||
_ -> waistSP . translateSPf 0 (-off) . offTrans
|
||||
where
|
||||
offTrans = translateSP (V3 0 (-4) (-4))
|
||||
off = 8
|
||||
sLen = _strideLength $ _crStance cr
|
||||
f i = negate 2 + negate 6 * fromIntegral (sLen - i) / fromIntegral sLen
|
||||
@@ -73,13 +74,14 @@ translatePointToLeftHand cr
|
||||
|
||||
translateToLeftHand :: Creature -> SPic -> SPic
|
||||
translateToLeftHand cr
|
||||
| oneH cr = waistSP . rotateSP 0.4 . translateSPf 0 off
|
||||
| twists cr = shoulderSP . translateSPf 0 5 . rotateSP (-1) . translateSPf 12 4
|
||||
| twoFlat cr = waistSP . translateSPf 4 8
|
||||
| oneH cr = waistSP . rotateSP 0.4 . translateSPf 0 off . offTrans
|
||||
| twists cr = shoulderSP . translateSPf 0 5 . rotateSP (-1) . translateSPf 12 4 . offTrans
|
||||
| twoFlat cr = waistSP . translateSPf 4 8 . offTrans
|
||||
| otherwise = case cr ^? crStance . carriage of
|
||||
Just (Walking sa RightForward) -> waistSP . translateSPf (-f sa) off
|
||||
_ -> waistSP . translateSPf 0 off
|
||||
Just (Walking sa RightForward) -> waistSP . translateSPf (-f sa) off . offTrans
|
||||
_ -> waistSP . translateSPf 0 off . offTrans
|
||||
where
|
||||
offTrans = translateSP (V3 0 4 (-4))
|
||||
off = 8
|
||||
sLen = _strideLength $ _crStance cr
|
||||
f i = negate 2 + negate 6 * fromIntegral (sLen - i) / fromIntegral sLen
|
||||
|
||||
@@ -15,6 +15,7 @@ import Dodge.Data
|
||||
import Dodge.Creature.HandPos (translateToRightHand,translateToLeftHand)
|
||||
import Dodge.Creature.Test
|
||||
import Dodge.Damage
|
||||
import Dodge.Item.Draw
|
||||
import Picture
|
||||
import Geometry
|
||||
import Shape
|
||||
@@ -213,9 +214,10 @@ shoulderSH = translateSHz 20
|
||||
|
||||
drawEquipment :: Creature -> SPic
|
||||
{-# INLINE drawEquipment #-}
|
||||
drawEquipment cr = foldMap f (_crInv cr)
|
||||
where
|
||||
f itm = _itEquipPict itm cr itm
|
||||
drawEquipment cr = foldMap (itemEquipPict cr) (_crInv cr)
|
||||
--drawEquipment cr = foldMap f (_crInv cr)
|
||||
-- where
|
||||
-- f itm = _itEquipPict itm cr itm
|
||||
|
||||
circLine :: Float -> Picture
|
||||
circLine x = line [V2 0 0,V2 x 0]
|
||||
|
||||
Reference in New Issue
Block a user