Move main to allow for new executables
This commit is contained in:
@@ -68,8 +68,8 @@ blinkAction cr w = soundOnce teleSound
|
||||
where
|
||||
distR = 120
|
||||
distortionBulge =
|
||||
[(p3,p3 +.+ (V2 distR 0), p3 +.+ (V2 0 distR),0.1)
|
||||
,(cpos,cpos +.+ (V2 distR 0), cpos +.+ (V2 0 distR),1.9)
|
||||
[(p3,p3 +.+ V2 distR 0, p3 +.+ V2 0 distR,0.1)
|
||||
,(cpos,cpos +.+ V2 distR 0, cpos +.+ V2 0 distR,1.9)
|
||||
]
|
||||
cid = _crID cr
|
||||
p1 = mouseWorldPos w
|
||||
|
||||
@@ -70,7 +70,7 @@ creatureTurn a = crDir +~ a
|
||||
|
||||
creatureTurnTo :: Point2 -> Creature -> Creature
|
||||
creatureTurnTo p cr
|
||||
| vToTarg == (V2 0 0) = cr -- this should deal with the angleVV error
|
||||
| vToTarg == V2 0 0 = cr -- this should deal with the angleVV error
|
||||
| otherwise = cr & crDir .~ dirToTarget
|
||||
where
|
||||
vToTarg = p -.- _crPos cr
|
||||
@@ -82,7 +82,7 @@ creatureTurnTowardDir
|
||||
-> Creature
|
||||
-> Creature
|
||||
creatureTurnTowardDir a turnSpeed cr
|
||||
| vToTarg == (V2 0 0) = cr -- this should deal with the angleVV error
|
||||
| vToTarg == V2 0 0 = cr -- this should deal with the angleVV error
|
||||
| errorAngleVV 3 vToTarg (unitVectorAtAngle (_crDir cr)) <= turnSpeed
|
||||
= cr & crDir .~ dirToTarget
|
||||
| isLeftOfA (normalizeAngle dirToTarget) (normalizeAngle $ _crDir cr) = cr & crDir +~ turnSpeed
|
||||
@@ -93,7 +93,7 @@ creatureTurnTowardDir a turnSpeed cr
|
||||
|
||||
creatureTurnToward :: Point2 -> Float -> Creature -> Creature
|
||||
creatureTurnToward p turnSpeed cr
|
||||
| vToTarg == (V2 0 0) = cr -- this should deal with the angleVV error
|
||||
| vToTarg == V2 0 0 = cr -- this should deal with the angleVV error
|
||||
| errorAngleVV 3 vToTarg (unitVectorAtAngle (_crDir cr)) <= turnSpeed
|
||||
= cr & crDir .~ dirToTarget
|
||||
| isLeftOfA (normalizeAngle dirToTarget) (normalizeAngle $ _crDir cr) = cr & crDir +~ turnSpeed
|
||||
|
||||
@@ -36,7 +36,7 @@ lamp h = defaultInanimate
|
||||
}
|
||||
lampPic :: Float -> Picture
|
||||
lampPic h = pictures
|
||||
[ setLayer 0 $ pictures . map (helpPoly3D . map ((, blue) . (-.-.- (V3 2.5 2.5 0)))) $ boxXYZ 5 5 (h-1)
|
||||
[ setLayer 0 $ pictures . map (helpPoly3D . map ((, blue) . (-.-.- V3 2.5 2.5 0))) $ boxXYZ 5 5 (h-1)
|
||||
, setLayer 1 $ setDepth h $ color white $ circleSolid 3
|
||||
]
|
||||
|
||||
@@ -56,7 +56,7 @@ updateLamp h i = unrandUpdate handleLS internalUpdate
|
||||
| otherwise = w & lightSources . ix i . lsPos .~ f cPos
|
||||
where
|
||||
cPos = _crPos cr
|
||||
f (V2 x y) = (V3 x y h)
|
||||
f (V2 x y) = V3 x y h
|
||||
internalUpdate cr
|
||||
| _crHP cr < 0 = Nothing
|
||||
| otherwise = Just $ doDamage cr
|
||||
|
||||
@@ -33,7 +33,7 @@ basicCrPict col cr w
|
||||
targetingPic ++
|
||||
[ tr . setDepth 0 $ color yellow $ circleSolid 10
|
||||
, tr . piercingMod $ bluntScale $ naked col cr
|
||||
, tr $ torso (light4 col) (V2 (0) (-crad)) (V2 0 crad)
|
||||
, tr $ torso (light4 col) (V2 0 (-crad)) (V2 0 crad)
|
||||
, trFeet $ feet cr
|
||||
, tr $ arms col cr
|
||||
, tr $ drawEquipment cr
|
||||
@@ -104,7 +104,7 @@ arms col cr
|
||||
|
||||
torso :: Color -> Point2 -> Point2 -> Picture
|
||||
torso col x y = color col $ pictures
|
||||
[ poly3 [addZ 20 x, addZ 12 v, addZ 12 ((V2 0 0) -.- v), addZ 20 y]
|
||||
[ poly3 [addZ 20 x, addZ 12 v, addZ 12 (V2 0 0 -.- v), addZ 20 y]
|
||||
, setDepth 12 . rotate a . scale 1 1 $ circleSolid $ magV v
|
||||
]
|
||||
where
|
||||
@@ -171,7 +171,7 @@ drawEquipment cr = pictures $ map f $ IM.toList (_crInv cr)
|
||||
_ -> blank
|
||||
|
||||
circLine :: Float -> Picture
|
||||
circLine x = line [(V2 0 0),(V2 x 0)]
|
||||
circLine x = line [V2 0 0,V2 x 0]
|
||||
|
||||
picAtCrPos :: Picture -> Creature -> World -> Picture
|
||||
{-# INLINE picAtCrPos #-}
|
||||
|
||||
@@ -93,7 +93,7 @@ chooseMovement' cr w = takeOneWeighted [chargeProb,retreatProb,strafeProb,strafe
|
||||
`DoActionThen`
|
||||
3
|
||||
`DoReplicate`
|
||||
ImpulsesList (replicate 9 [Move (V2 (0) (-3))] ++ [[Move (V2 (0) (-3)),UseItem]])
|
||||
ImpulsesList (replicate 9 [Move (V2 0 (-3))] ++ [[Move (V2 0 (-3)),UseItem]])
|
||||
yposl = ypos -.- 100 *.* vNormal (normalizeV $ ypos -.- cpos)
|
||||
yposr = ypos +.+ 100 *.* vNormal (normalizeV $ ypos -.- cpos)
|
||||
|
||||
@@ -103,7 +103,7 @@ retreatActions tcr cr =
|
||||
`DoImpulsesAlongside`
|
||||
3
|
||||
`DoReplicate`
|
||||
ImpulsesList (replicate 9 [Move (V2 (-3) (0))] ++ [[UseItem]])
|
||||
ImpulsesList (replicate 9 [Move (V2 (-3) 0)] ++ [[UseItem]])
|
||||
where
|
||||
cpos = _crPos cr
|
||||
tpos = _crPos tcr
|
||||
|
||||
@@ -39,7 +39,7 @@ sentinelAI = sentinelExtraWatchUpdate
|
||||
DoImpulses [ChangeStrategy WatchAndWait]
|
||||
, AimAtCloseSlow
|
||||
{ _targetID = tcid
|
||||
, _targetSeenAt = (V2 0 0) -- hack
|
||||
, _targetSeenAt = V2 0 0 -- hack
|
||||
, _aimSpeed = 0.2
|
||||
, _slowAimSpeed = 0.01
|
||||
, _slowAimAngle = pi/8
|
||||
@@ -72,7 +72,7 @@ sentinelFireType f = performActionsR
|
||||
drawwp = DoActionIfElse NoAction crIsAiming (DoActionThen drawWeapon (WaitThen 50 NoAction))
|
||||
aiming = AimAtCloseSlow
|
||||
{ _targetID = 0
|
||||
, _targetSeenAt = (V2 0 0) -- hack
|
||||
, _targetSeenAt = V2 0 0 -- hack
|
||||
, _aimSpeed = 0.2
|
||||
, _slowAimSpeed = 0.01
|
||||
, _slowAimAngle = pi/8
|
||||
@@ -104,7 +104,7 @@ shootAtAdvance tcid =
|
||||
DoImpulses [ChangeStrategy WatchAndWait]
|
||||
, AimAtCloseSlow
|
||||
{ _targetID = tcid
|
||||
, _targetSeenAt = (V2 0 0) -- hack
|
||||
, _targetSeenAt = V2 0 0 -- hack
|
||||
, _aimSpeed = 0.2
|
||||
, _slowAimSpeed = 0.01
|
||||
, _slowAimAngle = pi/8
|
||||
@@ -125,7 +125,7 @@ shootAtWhileContinueTime tcid _ _ = StrategyActions (ShootAt tcid)
|
||||
DoImpulses [ChangeStrategy WatchAndWait]
|
||||
, AimAtCloseSlow
|
||||
{ _targetID = tcid
|
||||
, _targetSeenAt = (V2 0 0) -- hack
|
||||
, _targetSeenAt = V2 0 0 -- hack
|
||||
, _aimSpeed = 0.2
|
||||
, _slowAimSpeed = 0.01
|
||||
, _slowAimAngle = pi/8
|
||||
|
||||
@@ -78,7 +78,7 @@ Given a creature and a velocity, applies friction to that creature and evaluates
|
||||
velocity to carry across frames.
|
||||
-}
|
||||
crFriction :: Creature -> Point2 -> Point2
|
||||
crFriction _ _ = (V2 0 0)
|
||||
crFriction _ _ = V2 0 0
|
||||
|
||||
doDamage :: Creature -> Creature
|
||||
doDamage cr = set (crState . crDamage) []
|
||||
|
||||
@@ -37,7 +37,7 @@ wasdWithAiming w speed i cr
|
||||
| otherwise = theTurn $ theMovement cr
|
||||
where
|
||||
theMovement
|
||||
| movDir == (V2 0 0) = id
|
||||
| movDir == V2 0 0 = id
|
||||
| otherwise = crMvAbsolute (speed *.* movAbs) . set crMvDir dir
|
||||
theTurn cr' = creatureTurnTowardDir (_crMvDir cr') 0.2 cr'
|
||||
movDir = wasdDir w
|
||||
@@ -53,11 +53,11 @@ wasdWithAiming w speed i cr
|
||||
|
||||
wasdM :: World -> SDL.Scancode -> Point2
|
||||
wasdM w scancode
|
||||
| scancode == moveUpKey (_keyConfig w) = ( V2 (0) ( 1))
|
||||
| scancode == moveDownKey (_keyConfig w) = (V2 ( 0) (-1))
|
||||
| scancode == moveRightKey (_keyConfig w) = (V2 ( 1) ( 0))
|
||||
| scancode == moveLeftKey (_keyConfig w) = (V2 (-1) ( 0))
|
||||
wasdM _ _ = (V2 0 0)
|
||||
| scancode == moveUpKey (_keyConfig w) = V2 0 1
|
||||
| scancode == moveDownKey (_keyConfig w) = V2 0 (-1)
|
||||
| scancode == moveRightKey (_keyConfig w) = V2 1 0
|
||||
| scancode == moveLeftKey (_keyConfig w) = V2 (-1) 0
|
||||
wasdM _ _ = V2 0 0
|
||||
|
||||
wasdDir :: World -> Point2
|
||||
wasdDir w = foldr ((+.+) . wasdM w) (V2 0 0) $ _keys w
|
||||
@@ -65,7 +65,7 @@ wasdDir w = foldr ((+.+) . wasdM w) (V2 0 0) $ _keys w
|
||||
wasdComp :: S.Set SDL.Scancode -> World -> (Point2,Maybe Float)
|
||||
wasdComp ks w = f $ foldr ( (+.+) . wasdM w ) (V2 0 0) ks
|
||||
where
|
||||
f (V2 0 0) = ((V2 0 0), Nothing)
|
||||
f (V2 0 0) = (V2 0 0, Nothing)
|
||||
f p = (errorNormalizeV 46 p, Just $ argV p)
|
||||
|
||||
{- | Set posture according to mouse presses. -}
|
||||
|
||||
Reference in New Issue
Block a user