Make optical scope relative to camera rotation

This commit is contained in:
2024-09-21 16:52:04 +01:00
parent 9dff2fcd7a
commit 27e07a10c4
11 changed files with 200 additions and 832 deletions
+1 -1
View File
@@ -104,7 +104,7 @@ data HeldMod
| ExplodeRemoteShellMod
| DoNothingMod
-- | ForceFieldMod
| DetectorMod Detector
-- | DetectorMod Detector
deriving (Eq, Ord, Show, Read) --Generic, Flat)
makeLenses ''Euse
+9 -1
View File
@@ -12,8 +12,16 @@ import Geometry.Data
data Scope
= NoScope
| RemoteScope
| OpticScope
{ -- | a camera offset
_opticPos :: Point2 -- this should be relative to the camera rotation
-- this means that when the camera rotates when firing etc,
-- this doesn't need to be changed
, _opticZoom :: Float
, _opticDefaultZoom :: Float
}
| RemoteScope
{ -- | a camera offset, note unlike the optic pos this is absolute
_remotePos :: Point2
, _remoteZoom :: Float
}
+9 -9
View File
@@ -121,15 +121,15 @@ data AmmoParams = BulletParams {_ampBullet :: Bullet}
deriving (Eq, Show, Read) --Generic, Flat)
data ScrollAttachParams
= ZoomScrollParams
{ -- | a camera offset
_opticPos :: Point2 -- this should be relative to the camera rotation
-- then when the camera rotates when firing etc,
-- this doesn't need to be changed
, _opticZoom :: Float
, _opticDefaultZoom :: Float
}
| CharScrollParams
= -- ZoomScrollParams
-- { -- | a camera offset
-- _opticPos :: Point2 -- this should be relative to the camera rotation
-- -- then when the camera rotates when firing etc,
-- -- this doesn't need to be changed
-- , _opticZoom :: Float
-- , _opticDefaultZoom :: Float
-- }
CharScrollParams
{ _scrollChar :: Seq.Seq Char}
deriving (Eq, Show, Read) --Generic, Flat)