Add shapes for some craft items

This commit is contained in:
2024-12-21 13:30:28 +00:00
parent d3a74912d1
commit a79dbf3b0e
4 changed files with 72 additions and 98 deletions
+22 -43
View File
@@ -44,22 +44,28 @@ itemSPic it = case it ^. itType of
craftItemSPic :: CraftType -> Shape
craftItemSPic = \case
PIPE -> colorSH green $ xCylinderST 3 10
-- TUBE
-- HARDWARE
-- SPRING
-- HOSE
-- TAPE
-- CAN
-- TIN
-- STEELDRUM
-- PLANK
-- GLASSSHARD
-- SCRAPMETAL
-- PUMP
-- MOTOR
-- TRANSFORMER
-- PRISM
-- LIGHTER
TUBE -> colorSH cyan $ xCylinderST 5 20
HARDWARE -> colorSH orange $ upperPrismPolyST 3 $ square 4
SPRING -> colorSH green $ xCylinderST 1 5
HOSE -> colorSH green $ xCylinderST 1 10
TAPE -> colorSH (greyN 0.5)
. translateSH (V3 4 0 0) . upperCylinder Small Typical 1 $ polyCirc 3 5
CAN -> colorSH green
. translateSH (V3 4 0 0) . upperCylinder Small Typical 1 $ polyCirc 3 4
TIN -> colorSH green . upperPrismPolyST 3 $ rectXH 2 2
STEELDRUM -> colorSH green
. translateSH (V3 4 0 0) . upperCylinder Small Typical 1 $ polyCirc 4 8
PLANK -> colorSH orange $ upperPrismPolyST 3 $ rectXH 8 2
GLASSSHARD -> colorSH azure $ upperPrismPolyST 1 $ [V2 0 (-1), V2 4 (-0.5), V2 0 1]
SCRAPMETAL -> colorSH (greyN 0.3) $ upperPrismPolyST 3 $ square 4
PUMP -> colorSH yellow . translateSH (V3 4 0 0) $
(upperCylinder Small Typical 1 $ polyCirc 3 4)
<> upperPrismPolyST 1 (rectNSWE (-2) (-4) 4 0)
<> upperPrismPolyST 1 (rectNSWE 4 2 0 (-4))
MOTOR -> colorSH orange $ xCylinderST 5 3 <> xCylinderST 3 5
TRANSFORMER -> colorSH blue $ upperPrismPolyST 3 $ square 4
PRISM -> colorSH azure $ upperPrismPolyST 1 $ [V2 0 (-3), V2 4 0, V2 0 3]
LIGHTER -> colorSH yellow . upperPrismPolyST 3 $ rectXH 2 2
-- MAGNET
-- ANTIMATTER
-- PLATE
@@ -143,18 +149,11 @@ backpackShape = upperPrismPolyMT 10 $ rectNSWE 5 (-5) (-4) 4
--ammoPosition :: Item -> HeldItemType -> AmmoPosition
--ammoPosition itm hit = case hit of
-- FLATSHIELD -> NoAmmoPosition
-- FORCEFIELDGUN -> NoAmmoPosition
-- TORCH -> NoAmmoPosition
-- BANGSTICK i -> bangStickAmmoPos i itm
-- PISTOL -> Magazine (V3 5 2 0) lhs
-- MACHINEPISTOL -> Magazine (V3 5 2 0) lhs
-- AUTOPISTOL -> Magazine (V3 5 2 0) lhs
-- SMG -> Magazine (V3 7 (-2) 0) rhs
-- BANGCONE -> NoAmmoPosition
-- BLUNDERBUSS -> NoAmmoPosition
-- GRAPECANNON _ -> NoAmmoPosition
-- MINIGUNX _ -> NoAmmoPosition
-- VOLLEYGUN i -> volleygunAmmoPos i
-- MULTIGUN i -> multigunAmmoPos i
-- RIFLE -> Bullets [(V3 5 0 3, Q.axisAngle (V3 1 0 0) 0)]
@@ -167,27 +166,7 @@ backpackShape = upperPrismPolyMT 10 $ rectNSWE 5 (-5) (-4) 4
-- AUTOAMR -> Magazine (V3 10 (-2) 0) rhs
-- SNIPERRIFLE -> Bullets [(V3 5 0 3, Q.axisAngle (V3 1 0 0) 0)]
-- MACHINEGUN -> Magazine (V3 10 (-2) 0) rhs
-- FLAMESPITTER -> NoAmmoPosition
-- FLAMETHROWER -> NoAmmoPosition
-- FLAMETORRENT -> NoAmmoPosition
-- FLAMEWALL -> NoAmmoPosition
-- BLOWTORCH -> NoAmmoPosition
-- SPARKGUN -> NoAmmoPosition
-- TESLAGUN -> NoAmmoPosition
-- LASGUN -> NoAmmoPosition
-- LASCIRCLE -> NoAmmoPosition
-- DUALBEAM -> NoAmmoPosition
-- LASWIDE _ -> NoAmmoPosition
-- --SONICGUN -> noPic baseSonicShape
-- TRACTORGUN -> NoAmmoPosition
-- LAUNCHER -> NoAmmoPosition
-- LAUNCHERX _ -> NoAmmoPosition
-- REMOTELAUNCHER -> NoAmmoPosition
-- POISONSPRAYER -> NoAmmoPosition
-- DRONELAUNCHER -> NoAmmoPosition
-- SHATTERGUN -> NoAmmoPosition
-- HELDDETECTOR _ -> NoAmmoPosition
-- KEYCARD _ -> NoAmmoPosition
-- where
-- lhs = Q.axisAngle (V3 1 0 0) pi
-- rhs = Q.axisAngle (V3 1 0 0) 0
+1
View File
@@ -136,6 +136,7 @@ xCylinderST = xCylinder Small Typical
xCylinder :: Size -> Importance -> Float -> Float -> Shape
xCylinder size shad r x =
translateSHz r . rotateSHq (V3 0 1 0) (pi / 2) . upperCylinder size shad x $
-- why didn't I make this a simple circle?
[ V2 r r
, V2 (- r / 2) (r / 2)
, V2 (- r / 2) (negate $ r / 2)