Pack shape normals into a word8

This commit is contained in:
2025-11-11 21:03:02 +00:00
parent 7f6e7d2741
commit ce438b7ecd
9 changed files with 109 additions and 113 deletions
+2 -1
View File
@@ -9,5 +9,6 @@ void main()
{ {
fCol = vCol; fCol = vCol;
fPos = vPos; fPos = vPos;
fNorm = vec4(vNorm.xyz - vPos.xyz,1); //fNorm = vec4(vNorm.xyz - vPos.xyz,1);
fNorm = vNorm ;
} }
+5 -2
View File
@@ -1,5 +1,7 @@
#version 450 core #version 450 core
struct PosColNorm { vec4 pos; uint col; vec4 norm; }; //struct PosColNorm { vec4 pos; vec4 norm;uint col; uint dummy; };
struct PosColNorm { vec4 pos; uint norm;uint d1;uint d2; uint d3;uint col; uint dummy; };
// I don't know if the dummy is necessary
layout (std140, binding = 0) uniform TheMat { mat4 theMat; } ; layout (std140, binding = 0) uniform TheMat { mat4 theMat; } ;
layout (std430, binding = 3) readonly buffer Data { PosColNorm data[]; }; layout (std430, binding = 3) readonly buffer Data { PosColNorm data[]; };
layout (std430, binding = 4) readonly buffer Indices { uint indices[]; }; layout (std430, binding = 4) readonly buffer Indices { uint indices[]; };
@@ -9,7 +11,8 @@ out vec4 vNorm;
void main() { void main() {
vPos = data[indices[gl_VertexID]].pos; vPos = data[indices[gl_VertexID]].pos;
vCol = unpackUnorm4x8(data[indices[gl_VertexID]].col); vCol = unpackUnorm4x8(data[indices[gl_VertexID]].col);
vNorm = data[indices[gl_VertexID]].norm; vec4 n = unpackUnorm4x8(data[indices[gl_VertexID]].norm);
vNorm = n *2 - vec4(1,1,1,1);
gl_Position = theMat * vec4(vPos.xyz,1); gl_Position = theMat * vec4(vPos.xyz,1);
} }
//layout (location = 0) in vec4 pos; //layout (location = 0) in vec4 pos;
+2 -2
View File
@@ -44,8 +44,8 @@ data RenderData = RenderData
, _matUBO :: GLuint -- BufferObject id , _matUBO :: GLuint -- BufferObject id
-- , _winSSBO :: GLuint -- , _winSSBO :: GLuint
-- , _wallSSBO :: GLuint -- , _wallSSBO :: GLuint
, _shapeSSBO :: GLuint -- , _shapeSSBO :: GLuint
, _ishapeSSBO :: GLuint -- , _ishapeSSBO :: GLuint
, _vboShapes :: VBO , _vboShapes :: VBO
, _floorVBO :: VBO , _floorVBO :: VBO
, _floorShader :: Shader , _floorShader :: Shader
+4 -9
View File
@@ -4,6 +4,7 @@ module Dodge.Render (
getWindowSize, getWindowSize,
) where ) where
import Shape.Parameters
import Control.Lens import Control.Lens
import Control.Monad import Control.Monad
import qualified Control.Monad.Parallel as MP import qualified Control.Monad.Parallel as MP
@@ -114,10 +115,10 @@ doDrawing' win pdata u = do
glNamedBufferSubData (pdata ^. wallVBO . vboName) 0 glNamedBufferSubData (pdata ^. wallVBO . vboName) 0
(fromIntegral $ trueNWalls * sizeOf (0::Float) * 8) (fromIntegral $ trueNWalls * sizeOf (0::Float) * 8)
(pdata ^. wallVBO . vboPtr) (pdata ^. wallVBO . vboPtr)
glNamedBufferSubData (pdata ^. shapeSSBO) 0 glNamedBufferSubData (pdata ^. vboShapes . vboName) 0
(fromIntegral $ nShapeVs * (sizeOf (0::Float)*12)) (fromIntegral $ nShapeVs * shapeVerxSize)
(pdata ^. vboShapes . vboPtr) (pdata ^. vboShapes . vboPtr)
glNamedBufferSubData (pdata ^. ishapeSSBO) 0 glNamedBufferSubData (pdata ^. shapeEBO . uiboName) 0
(fromIntegral $ nIndices * (sizeOf (0::GLuint))) (fromIntegral $ nIndices * (sizeOf (0::GLuint)))
(pdata ^. shapeEBO . uiboPtr) (pdata ^. shapeEBO . uiboPtr)
bufferEBO (pdata ^. silhouetteEBO) nSilIndices bufferEBO (pdata ^. silhouetteEBO) nSilIndices
@@ -176,13 +177,7 @@ doDrawing' win pdata u = do
--draw object shapes onto base buffer --draw object shapes onto base buffer
let fs = _shapeShader pdata let fs = _shapeShader pdata
glUseProgram (_shaderUINT fs) glUseProgram (_shaderUINT fs)
-- glBindVertexArray $ fs ^. shaderVAO . vaoName
glDrawArrays GL_TRIANGLES 0 (fromIntegral nIndices) glDrawArrays GL_TRIANGLES 0 (fromIntegral nIndices)
-- glDrawElements
-- (_unPrimitiveMode $ _shaderPrimitive fs)
-- (fromIntegral nIndices)
-- GL_UNSIGNED_INT
-- nullPtr
-- draw chasm shader blocking floor -- draw chasm shader blocking floor
glUseProgram (pdata ^. chasmShader . shaderUINT) glUseProgram (pdata ^. chasmShader . shaderUINT)
glBindVertexArray $ pdata ^. chasmShader . shaderVAO . vaoName glBindVertexArray $ pdata ^. chasmShader . shaderVAO . vaoName
+2 -2
View File
@@ -4,12 +4,12 @@ module Preload (
import qualified Data.IntMap.Strict as IM import qualified Data.IntMap.Strict as IM
import Data.Preload import Data.Preload
import Preload.Render --import Preload.Render
import qualified SDL.Mixer as Mix import qualified SDL.Mixer as Mix
cleanUpPreload :: PreloadData -> IO () cleanUpPreload :: PreloadData -> IO ()
cleanUpPreload pd = do cleanUpPreload pd = do
cleanUpRenderPreload $ _renderData pd -- cleanUpRenderPreload $ _renderData pd
cleanUpSoundPreload $ _soundData pd cleanUpSoundPreload $ _soundData pd
cleanUpSoundPreload :: IM.IntMap Mix.Chunk -> IO () cleanUpSoundPreload :: IM.IntMap Mix.Chunk -> IO ()
+16 -12
View File
@@ -2,11 +2,12 @@
--{-# OPTIONS_GHC -Wno-unused-top-binds #-} --{-# OPTIONS_GHC -Wno-unused-top-binds #-}
module Preload.Render ( module Preload.Render (
preloadRender, preloadRender,
cleanUpRenderPreload, -- cleanUpRenderPreload,
) where ) where
import Shape.Parameters
import Control.Concurrent import Control.Concurrent
import Control.Lens --import Control.Lens
import Control.Monad import Control.Monad
import Data.Preload.Render import Data.Preload.Render
import qualified Data.Vector.Mutable as MV import qualified Data.Vector.Mutable as MV
@@ -18,7 +19,7 @@ import Shader.AuxAddition
import Shader.Compile import Shader.Compile
import Shader.Data import Shader.Data
import Shader.Parameters import Shader.Parameters
import Shape.Parameters --import Shape.Parameters
{- BINDING LIST: {- BINDING LIST:
0 base 0 base
@@ -35,7 +36,6 @@ preloadRender = do
-- set up uniform buffer object -- set up uniform buffer object
putStrLn "Setup UBO" putStrLn "Setup UBO"
theUBO <- mglCreate glCreateBuffers theUBO <- mglCreate glCreateBuffers
--glNamedBufferData theUBO 64 nullPtr GL_STREAM_DRAW
glNamedBufferStorage theUBO 64 nullPtr GL_DYNAMIC_STORAGE_BIT glNamedBufferStorage theUBO 64 nullPtr GL_DYNAMIC_STORAGE_BIT
glBindBufferBase GL_UNIFORM_BUFFER 0 theUBO glBindBufferBase GL_UNIFORM_BUFFER 0 theUBO
@@ -55,14 +55,18 @@ preloadRender = do
let wallvbo = VBO wallssbo wallssboptr 8 let wallvbo = VBO wallssbo wallssboptr 8
shapessbo <- mglCreate glCreateBuffers shapessbo <- mglCreate glCreateBuffers
let shapessbosize = fromIntegral (sizeOf (0::Float) * 12) * 65536 let shapessbosize = fromIntegral shapeVerxSize * 65536
glNamedBufferStorage shapessbo shapessbosize nullPtr GL_DYNAMIC_STORAGE_BIT glNamedBufferStorage shapessbo shapessbosize nullPtr GL_DYNAMIC_STORAGE_BIT
glBindBufferBase GL_SHADER_STORAGE_BUFFER 3 shapessbo glBindBufferBase GL_SHADER_STORAGE_BUFFER 3 shapessbo
shptr <- mallocArray (fromIntegral shapessbosize)
let shVBO = VBO shapessbo shptr shapeVerxSize
ishapessbo <- mglCreate glCreateBuffers ishapessbo <- mglCreate glCreateBuffers
let ishapessbosize = fromIntegral (sizeOf (0::GLuint) * 65536) let ishapessbosize = fromIntegral (sizeOf (0::GLuint) * 65536)
glNamedBufferStorage ishapessbo ishapessbosize nullPtr GL_DYNAMIC_STORAGE_BIT glNamedBufferStorage ishapessbo ishapessbosize nullPtr GL_DYNAMIC_STORAGE_BIT
glBindBufferBase GL_SHADER_STORAGE_BUFFER 4 ishapessbo glBindBufferBase GL_SHADER_STORAGE_BUFFER 4 ishapessbo
ishptr <- mallocArray 65536
let shEBO = UintBO ishapessbo ishptr
ieshapessbo <- mglCreate glCreateBuffers ieshapessbo <- mglCreate glCreateBuffers
let ieshapessbosize = fromIntegral (sizeOf (0::GLuint) * 65536) let ieshapessbosize = fromIntegral (sizeOf (0::GLuint) * 65536)
@@ -77,9 +81,9 @@ preloadRender = do
wallpull <- makeShaderUsingVAO "pull/wall" [vert,frag] pmTriangles (VAO dummyvao) wallpull <- makeShaderUsingVAO "pull/wall" [vert,frag] pmTriangles (VAO dummyvao)
putStrLn "Setup shape VBO, VAO, EBO" putStrLn "Setup shape VBO, VAO, EBO"
shVBO <- setupVBO shapeVerxSize -- shVBO <- setupVBO shapeVerxSize
shPosVAO <- setupVAOUsingVBO [VertexAttribute 4 GL_FLOAT GL_FALSE 0] shVBO -- shPosVAO <- setupVAOUsingVBO [VertexAttribute 4 GL_FLOAT GL_FALSE 0] shVBO
shEBO <- setupEBO shPosVAO -- shEBO <- setupEBO shPosVAO
-- note the shape shader vao is distinct from the position vao, but they -- note the shape shader vao is distinct from the position vao, but they
-- share an EBO -- share an EBO
-- shapeshader <- makeShaderUsingVBO "shape/basic" [vert, frag] shapeVerxAttributes -- shapeshader <- makeShaderUsingVBO "shape/basic" [vert, frag] shapeVerxAttributes
@@ -221,8 +225,8 @@ preloadRender = do
, _matUBO = theUBO , _matUBO = theUBO
-- , _winSSBO = winssbo -- , _winSSBO = winssbo
-- , _wallSSBO = wallssbo -- , _wallSSBO = wallssbo
, _shapeSSBO = shapessbo -- , _shapeSSBO = shapessbo
, _ishapeSSBO = ishapessbo -- , _ishapeSSBO = ishapessbo
-- , _ieshapeSSBO = ieshapessbo -- , _ieshapeSSBO = ieshapessbo
-- , _lightsUBO = lightsubo -- , _lightsUBO = lightsubo
-- , _vboWindows = winvbo -- , _vboWindows = winvbo
@@ -265,8 +269,8 @@ initializeGLState = do
glEnable GL_DEPTH_TEST glEnable GL_DEPTH_TEST
glEnable GL_STENCIL_TEST glEnable GL_STENCIL_TEST
cleanUpRenderPreload :: RenderData -> IO () --cleanUpRenderPreload :: RenderData -> IO ()
cleanUpRenderPreload _ = return () --cleanUpRenderPreload _ = return ()
--cleanUpRenderPreload pd = do --cleanUpRenderPreload pd = do
-- TODO fix this -- TODO fix this
+17 -18
View File
@@ -8,6 +8,8 @@ module Shader.Poke (
pokeFloors, pokeFloors,
) where ) where
import Control.Lens
import Linear
import Shape.Parameters import Shape.Parameters
import Color import Color
import Control.Monad.Primitive import Control.Monad.Primitive
@@ -22,7 +24,6 @@ import Geometry.Data
import Geometry.Triangulate import Geometry.Triangulate
import Geometry.Vector import Geometry.Vector
import Graphics.GL.Core45 import Graphics.GL.Core45
import Linear.V3 (cross)
import Picture.Data import Picture.Data
import Shader.Data import Shader.Data
import Shader.Parameters import Shader.Parameters
@@ -263,7 +264,7 @@ pokeBoxSurface :: Float -> Point4 -> Ptr Float -> UV.Vector Point3 -> Int -> [In
{-# INLINE pokeBoxSurface #-} {-# INLINE pokeBoxSurface #-}
pokeBoxSurface xdata col ptr vs n is = pokeBoxSurface xdata col ptr vs n is =
UV.foldM' UV.foldM'
(pokeFlatV xdata norm col ptr) (pokeFlatV xdata pnorm col ptr)
n n
v v
where where
@@ -271,7 +272,7 @@ pokeBoxSurface xdata col ptr vs n is =
x = v UV.! 0 x = v UV.! 0
y = v UV.! 1 y = v UV.! 1
z = v UV.! 2 z = v UV.! 2
norm = negate $ cross (x - y) (z - y) pnorm = negate $ cross (x - y) (z - y)
-- should probably memoize this -- should probably memoize this
boxSurfaces :: Int -> [[Int]] boxSurfaces :: Int -> [[Int]]
@@ -434,23 +435,16 @@ topPrismIndices n =
] ]
-- consider changing the position to a vec4 -- consider changing the position to a vec4
pokeJustV :: pokeJustV :: Float -> Point3 -> Point4 -> Ptr Float -> Int -> Point3 -> IO Int
Float ->
Point3 ->
Point4 ->
Ptr Float ->
Int ->
Point3 ->
IO Int
{-# INLINE pokeJustV #-} {-# INLINE pokeJustV #-}
pokeJustV xdata cp col ptr nv sh = do pokeJustV xdata cp col ptr nv sh = do
pokeByteOff ptr (nv * shapeVerxSize) (V4 x y z xdata) pokeByteOff ptr (nv * shapeVerxSize) (V4 x y z xdata)
pokeByteOff ptr (nv *shapeVerxSize + 4 * floatSize) (toColor8 col) pokeByteOff ptr (nv *shapeVerxSize + 4 * floatSize) (normalToColor8 $ V4 nx ny nz 1)
pokeByteOff ptr (nv *shapeVerxSize + 8 * floatSize) (V4 nx ny nz 1) pokeByteOff ptr (nv *shapeVerxSize + 8 * floatSize) (toColor8 col)
return (nv + 1) return (nv + 1)
where where
V3 x y z = sh V3 x y z = sh
V3 nx ny nz = cp V3 nx ny nz = cp - sh
pokeFlatV :: pokeFlatV ::
Float -> Float ->
@@ -461,14 +455,19 @@ pokeFlatV ::
Point3 -> Point3 ->
IO Int IO Int
{-# INLINE pokeFlatV #-} {-# INLINE pokeFlatV #-}
pokeFlatV xdata norm col ptr nv sh = do pokeFlatV xdata pnorm col ptr nv sh = do
pokeByteOff ptr (nv * shapeVerxSize) (V4 x y z xdata) pokeByteOff ptr (nv * shapeVerxSize) (V4 x y z xdata)
pokeByteOff ptr (nv *shapeVerxSize + 4 * floatSize) (toColor8 col) pokeByteOff ptr (nv *shapeVerxSize + 4 * floatSize) (normalToColor8 $ V4 nx ny nz 1)
pokeByteOff ptr (nv *shapeVerxSize + 8 * floatSize) (V4 nx ny nz 1) pokeByteOff ptr (nv *shapeVerxSize + 8 * floatSize) (toColor8 col)
return (nv + 1) return (nv + 1)
where where
V3 x y z = sh V3 x y z = sh
V3 nx ny nz = sh - norm V3 nx ny nz = (sh - pnorm) - V3 x y z
normalToColor8 :: Point4 -> Color8
normalToColor8 = over each f . normalize
where
f x = floor $ (x + 1) * 127.5
pokeLayVerxs :: pokeLayVerxs ::
MV.MVector (PrimState IO) (Shader, VBO) -> MV.MVector (PrimState IO) (Shader, VBO) ->
+9 -13
View File
@@ -1,20 +1,16 @@
module Shape.Parameters module Shape.Parameters (shapeVerxSize) where
(shapeVerxSize,shapeVerxAttributes) -- ,shapeVerxAttributes) where
where
import Shader.Parameters
import Shader.Data
--import Data.Word
import Foreign.Storable import Foreign.Storable
import Graphics.GL.Core45
shapeVerxSize :: Int shapeVerxSize :: Int
{-# INLINE shapeVerxSize #-}
shapeVerxSize = sizeOf (0 :: Float) * 12 shapeVerxSize = sizeOf (0 :: Float) * 12
shapeVerxAttributes :: [VertexAttribute] --shapeVerxAttributes :: [VertexAttribute]
shapeVerxAttributes = --shapeVerxAttributes =
[VertexAttribute 4 GL_FLOAT GL_FALSE 0 -- [VertexAttribute 4 GL_FLOAT GL_FALSE 0
,VertexAttribute 4 GL_UNSIGNED_BYTE GL_TRUE (fromIntegral (4 :: Int) * fromIntegral floatSize) -- ,VertexAttribute 4 GL_UNSIGNED_BYTE GL_TRUE (fromIntegral (4 :: Int) * fromIntegral floatSize)
,VertexAttribute 4 GL_FLOAT GL_FALSE (fromIntegral (8 :: Int) * fromIntegral (floatSize)) -- ,VertexAttribute 4 GL_FLOAT GL_FALSE (fromIntegral (8 :: Int) * fromIntegral (floatSize))
] -- ]
+52 -54
View File
@@ -356,7 +356,6 @@ DropItem src/Dodge/Data/ActionPlan.hs 38;" C
DudPayload src/Dodge/Data/Payload.hs 11;" C DudPayload src/Dodge/Data/Payload.hs 11;" C
Dungeon src/Dodge/Data/Scenario.hs 66;" C Dungeon src/Dodge/Data/Scenario.hs 66;" C
Dust src/Dodge/Data/Cloud.hs 27;" t Dust src/Dodge/Data/Cloud.hs 27;" t
EBO src/Shader/Data.hs 94;" t
EBSound src/Dodge/Data/SoundOrigin.hs 39;" C EBSound src/Dodge/Data/SoundOrigin.hs 39;" C
ECW src/Dodge/Material/Damage.hs 14;" t ECW src/Dodge/Material/Damage.hs 14;" t
ELEPHANTGUN src/Dodge/Data/Item/Combine.hs 157;" C ELEPHANTGUN src/Dodge/Data/Item/Combine.hs 157;" C
@@ -990,7 +989,7 @@ PosInf src/Dodge/Data/CardinalPoint.hs 44;" C
PosRooms src/Dodge/Tree/Shift.hs 28;" t PosRooms src/Dodge/Tree/Shift.hs 28;" t
Posture src/Dodge/Data/Creature/Stance.hs 33;" t Posture src/Dodge/Data/Creature/Stance.hs 33;" t
PreloadData src/Data/Preload.hs 10;" t PreloadData src/Data/Preload.hs 10;" t
PrimitiveMode src/Shader/Data.hs 105;" t PrimitiveMode src/Shader/Data.hs 110;" t
PrintMaterial src/Dodge/Data/AmmoType.hs 12;" C PrintMaterial src/Dodge/Data/AmmoType.hs 12;" C
Prison src/Dodge/Data/Scenario.hs 65;" C Prison src/Dodge/Data/Scenario.hs 65;" C
Projectile src/Dodge/Data/Projectile.hs 15;" t Projectile src/Dodge/Data/Projectile.hs 15;" t
@@ -1118,6 +1117,7 @@ SPEEDLEGS src/Dodge/Data/Item/Combine.hs 129;" C
SPRING src/Dodge/Data/Item/Combine.hs 53;" C SPRING src/Dodge/Data/Item/Combine.hs 53;" C
SPic src/ShapePicture/Data.hs 7;" t SPic src/ShapePicture/Data.hs 7;" t
SQUARE src/Dodge/Data/GenParams.hs 18;" C SQUARE src/Dodge/Data/GenParams.hs 18;" C
SSBO src/Shader/Data.hs 99;" t
SString src/ShortShow.hs 16;" C SString src/ShortShow.hs 16;" C
ST src/Dodge/Data/MetaTree.hs 20;" C ST src/Dodge/Data/MetaTree.hs 20;" C
STEELDRUM src/Dodge/Data/Item/Combine.hs 58;" C STEELDRUM src/Dodge/Data/Item/Combine.hs 58;" C
@@ -1151,7 +1151,7 @@ SetLSCol src/Dodge/Data/WorldEffect.hs 24;" C
SetTrigger src/Dodge/Data/WorldEffect.hs 22;" C SetTrigger src/Dodge/Data/WorldEffect.hs 22;" C
ShadNum src/Picture/Data.hs 33;" t ShadNum src/Picture/Data.hs 33;" t
Shader src/Shader/Data.hs 51;" t Shader src/Shader/Data.hs 51;" t
ShaderTexture src/Shader/Data.hs 100;" t ShaderTexture src/Shader/Data.hs 105;" t
ShadowFidelity src/Shape/Data.hs 19;" t ShadowFidelity src/Shape/Data.hs 19;" t
ShadowRendering src/Dodge/Data/Config.hs 103;" t ShadowRendering src/Dodge/Data/Config.hs 103;" t
Shape src/Shape/Data.hs 48;" t Shape src/Shape/Data.hs 48;" t
@@ -1349,6 +1349,7 @@ TwoHandUnder src/Dodge/Data/AimStance.hs 11;" C
Typical src/Shape/Data.hs 31;" C Typical src/Shape/Data.hs 31;" C
UNDERBARRELSLOT src/Dodge/Data/Item/Combine.hs 97;" C UNDERBARRELSLOT src/Dodge/Data/Item/Combine.hs 97;" C
UNIGATE src/Dodge/Data/Item/Combine.hs 30;" C UNIGATE src/Dodge/Data/Item/Combine.hs 30;" C
UintBO src/Shader/Data.hs 94;" t
UnderBarrelPlatformSF src/Dodge/Data/ComposedItem.hs 16;" C UnderBarrelPlatformSF src/Dodge/Data/ComposedItem.hs 16;" C
UnderBarrelSlotSF src/Dodge/Data/ComposedItem.hs 15;" C UnderBarrelSlotSF src/Dodge/Data/ComposedItem.hs 15;" C
UnderGround src/Dodge/Data/Scenario.hs 78;" C UnderGround src/Dodge/Data/Scenario.hs 78;" C
@@ -1592,8 +1593,8 @@ _cdtUp src/Dodge/Data/DoubleTree.hs 92;" f
_ceSideEffect src/Dodge/Data/Universe.hs 66;" f _ceSideEffect src/Dodge/Data/Universe.hs 66;" f
_ceString src/Dodge/Data/Universe.hs 67;" f _ceString src/Dodge/Data/Universe.hs 67;" f
_ceilingStencilShader src/Data/Preload/Render.hs 18;" f _ceilingStencilShader src/Data/Preload/Render.hs 18;" f
_chasmShader src/Data/Preload/Render.hs 56;" f _chasmShader src/Data/Preload/Render.hs 53;" f
_chasmVBO src/Data/Preload/Render.hs 55;" f _chasmVBO src/Data/Preload/Render.hs 52;" f
_chasms src/Dodge/Data/CWorld.hs 33;" f _chasms src/Dodge/Data/CWorld.hs 33;" f
_ciFilter src/Dodge/Data/HUD.hs 25;" f _ciFilter src/Dodge/Data/HUD.hs 25;" f
_ciInvIDs src/Dodge/Data/Combine.hs 9;" f _ciInvIDs src/Dodge/Data/Combine.hs 9;" f
@@ -1622,9 +1623,9 @@ _clickPos src/Dodge/Data/Input.hs 42;" f
_clickWorldPos src/Dodge/Data/Input.hs 44;" f _clickWorldPos src/Dodge/Data/Input.hs 44;" f
_closeButtons src/Dodge/Data/HUD.hs 36;" f _closeButtons src/Dodge/Data/HUD.hs 36;" f
_closeItems src/Dodge/Data/HUD.hs 35;" f _closeItems src/Dodge/Data/HUD.hs 35;" f
_cloudEBO src/Data/Preload/Render.hs 61;" f _cloudEBO src/Data/Preload/Render.hs 58;" f
_cloudShader src/Data/Preload/Render.hs 60;" f _cloudShader src/Data/Preload/Render.hs 57;" f
_cloudVBO src/Data/Preload/Render.hs 59;" f _cloudVBO src/Data/Preload/Render.hs 56;" f
_clouds src/Dodge/Data/LWorld.hs 96;" f _clouds src/Dodge/Data/LWorld.hs 96;" f
_colorBlurShader src/Data/Preload/Render.hs 26;" f _colorBlurShader src/Data/Preload/Render.hs 26;" f
_coolEnd src/Dodge/Data/TriggerType.hs 17;" f _coolEnd src/Dodge/Data/TriggerType.hs 17;" f
@@ -1754,15 +1755,13 @@ _dsZoning src/Dodge/Data/World.hs 48;" f
_dtLeft src/Dodge/Data/DoubleTree.hs 29;" f _dtLeft src/Dodge/Data/DoubleTree.hs 29;" f
_dtRight src/Dodge/Data/DoubleTree.hs 29;" f _dtRight src/Dodge/Data/DoubleTree.hs 29;" f
_dtValue src/Dodge/Data/DoubleTree.hs 29;" f _dtValue src/Dodge/Data/DoubleTree.hs 29;" f
_dummyVAO src/Data/Preload/Render.hs 63;" f _dummyVAO src/Data/Preload/Render.hs 60;" f
_dusts src/Dodge/Data/LWorld.hs 97;" f _dusts src/Dodge/Data/LWorld.hs 97;" f
_ebID src/Dodge/Data/EnergyBall/Type.hs 13;" f _ebID src/Dodge/Data/EnergyBall/Type.hs 13;" f
_ebPos src/Dodge/Data/EnergyBall.hs 17;" f _ebPos src/Dodge/Data/EnergyBall.hs 17;" f
_ebTimer src/Dodge/Data/EnergyBall.hs 18;" f _ebTimer src/Dodge/Data/EnergyBall.hs 18;" f
_ebType src/Dodge/Data/EnergyBall.hs 19;" f _ebType src/Dodge/Data/EnergyBall.hs 19;" f
_ebVel src/Dodge/Data/EnergyBall.hs 16;" f _ebVel src/Dodge/Data/EnergyBall.hs 16;" f
_eboName src/Shader/Data.hs 95;" f
_eboPtr src/Shader/Data.hs 96;" f
_emoMenuOption src/Dodge/Data/Universe.hs 77;" f _emoMenuOption src/Dodge/Data/Universe.hs 77;" f
_energyBalls src/Dodge/Data/LWorld.hs 104;" f _energyBalls src/Dodge/Data/LWorld.hs 104;" f
_fbSize src/Dodge/Data/EnergyBall/Type.hs 12;" f _fbSize src/Dodge/Data/EnergyBall/Type.hs 12;" f
@@ -1786,8 +1785,8 @@ _flankTarget src/Dodge/Data/ActionPlan.hs 129;" f
_flares src/Dodge/Data/LWorld.hs 108;" f _flares src/Dodge/Data/LWorld.hs 108;" f
_flatShieldWlMIX src/Dodge/Data/Item/Params.hs 14;" f _flatShieldWlMIX src/Dodge/Data/Item/Params.hs 14;" f
_floorItems src/Dodge/Data/LWorld.hs 127;" f _floorItems src/Dodge/Data/LWorld.hs 127;" f
_floorShader src/Data/Preload/Render.hs 54;" f _floorShader src/Data/Preload/Render.hs 51;" f
_floorVBO src/Data/Preload/Render.hs 53;" f _floorVBO src/Data/Preload/Render.hs 50;" f
_foreShapes src/Dodge/Data/LWorld.hs 132;" f _foreShapes src/Dodge/Data/LWorld.hs 132;" f
_fsDir src/Dodge/Data/ForegroundShape.hs 14;" f _fsDir src/Dodge/Data/ForegroundShape.hs 14;" f
_fsPos src/Dodge/Data/ForegroundShape.hs 13;" f _fsPos src/Dodge/Data/ForegroundShape.hs 13;" f
@@ -1847,7 +1846,6 @@ _ibtHeld src/Dodge/Data/Item/Combine.hs 16;" f
_ibtIntroScanType src/Dodge/Data/Item/Combine.hs 32;" f _ibtIntroScanType src/Dodge/Data/Item/Combine.hs 32;" f
_ibtPathing src/Dodge/Data/Item/Combine.hs 28;" f _ibtPathing src/Dodge/Data/Item/Combine.hs 28;" f
_ibtTargeting src/Dodge/Data/Item/Combine.hs 21;" f _ibtTargeting src/Dodge/Data/Item/Combine.hs 21;" f
_ieshapeSSBO src/Data/Preload/Render.hs 49;" f
_ilCrID src/Dodge/Data/Item/Location.hs 30;" f _ilCrID src/Dodge/Data/Item/Location.hs 30;" f
_ilEquipSite src/Dodge/Data/Item/Location.hs 35;" f _ilEquipSite src/Dodge/Data/Item/Location.hs 35;" f
_ilInvID src/Dodge/Data/Item/Location.hs 31;" f _ilInvID src/Dodge/Data/Item/Location.hs 31;" f
@@ -2195,7 +2193,7 @@ _scOptions src/Dodge/Data/Universe.hs 84;" f
_scPositionedMenuOption src/Dodge/Data/Universe.hs 86;" f _scPositionedMenuOption src/Dodge/Data/Universe.hs 86;" f
_scSelectionList src/Dodge/Data/Universe.hs 88;" f _scSelectionList src/Dodge/Data/Universe.hs 88;" f
_scTitle src/Dodge/Data/Universe.hs 83;" f _scTitle src/Dodge/Data/Universe.hs 83;" f
_screenTextureVAO src/Data/Preload/Render.hs 62;" f _screenTextureVAO src/Data/Preload/Render.hs 59;" f
_scrollAmount src/Dodge/Data/Input.hs 40;" f _scrollAmount src/Dodge/Data/Input.hs 40;" f
_scrollItemID src/Dodge/Data/World.hs 68;" f _scrollItemID src/Dodge/Data/World.hs 68;" f
_scrollItemID src/Dodge/Data/World.hs 77;" f _scrollItemID src/Dodge/Data/World.hs 77;" f
@@ -2272,6 +2270,8 @@ _ssItems src/Dodge/Data/SelectionList.hs 30;" f
_ssOffset src/Dodge/Data/SelectionList.hs 31;" f _ssOffset src/Dodge/Data/SelectionList.hs 31;" f
_ssShownItems src/Dodge/Data/SelectionList.hs 32;" f _ssShownItems src/Dodge/Data/SelectionList.hs 32;" f
_ssShownLength src/Dodge/Data/SelectionList.hs 33;" f _ssShownLength src/Dodge/Data/SelectionList.hs 33;" f
_ssboName src/Shader/Data.hs 100;" f
_ssboPtr src/Shader/Data.hs 101;" f
_strideAmount src/Dodge/Data/Creature/Stance.hs 23;" f _strideAmount src/Dodge/Data/Creature/Stance.hs 23;" f
_strideLength src/Dodge/Data/Creature/Stance.hs 18;" f _strideLength src/Dodge/Data/Creature/Stance.hs 18;" f
_stuckCrID src/Dodge/Data/Projectile.hs 48;" f _stuckCrID src/Dodge/Data/Projectile.hs 48;" f
@@ -2305,7 +2305,7 @@ _terminals src/Dodge/Data/LWorld.hs 122;" f
_teslaArcs src/Dodge/Data/LWorld.hs 110;" f _teslaArcs src/Dodge/Data/LWorld.hs 110;" f
_testFloat src/Dodge/Data/World.hs 42;" f _testFloat src/Dodge/Data/World.hs 42;" f
_textInput src/Dodge/Data/Input.hs 46;" f _textInput src/Dodge/Data/Input.hs 46;" f
_textureObject src/Shader/Data.hs 101;" f _textureObject src/Shader/Data.hs 106;" f
_tiText src/Dodge/Data/Terminal/Status.hs 14;" f _tiText src/Dodge/Data/Terminal/Status.hs 14;" f
_tileArrayZ src/Data/Tile.hs 24;" f _tileArrayZ src/Data/Tile.hs 24;" f
_tilePoly src/Data/Tile.hs 17;" f _tilePoly src/Data/Tile.hs 17;" f
@@ -2355,13 +2355,15 @@ _uScope src/Dodge/Data/Item/Use.hs 34;" f
_uValue src/Dodge/Data/Item/Use.hs 33;" f _uValue src/Dodge/Data/Item/Use.hs 33;" f
_uaParams src/Dodge/Data/Item/Use.hs 30;" f _uaParams src/Dodge/Data/Item/Use.hs 30;" f
_ubMod src/Dodge/Data/Item/Use.hs 35;" f _ubMod src/Dodge/Data/Item/Use.hs 35;" f
_uiboName src/Shader/Data.hs 95;" f
_uiboPtr src/Shader/Data.hs 96;" f
_unCombEdge src/Dodge/Combine/Graph.hs 30;" f _unCombEdge src/Dodge/Combine/Graph.hs 30;" f
_unCombNode src/Dodge/Combine/Graph.hs 23;" f _unCombNode src/Dodge/Combine/Graph.hs 23;" f
_unFBO src/Shader/Data.hs 57;" f _unFBO src/Shader/Data.hs 57;" f
_unNInt src/NewInt.hs 16;" f _unNInt src/NewInt.hs 16;" f
_unNIntMap src/NewInt.hs 22;" f _unNIntMap src/NewInt.hs 22;" f
_unNIntSet src/NewInt.hs 19;" f _unNIntSet src/NewInt.hs 19;" f
_unPrimitiveMode src/Shader/Data.hs 105;" f _unPrimitiveMode src/Shader/Data.hs 110;" f
_unPutCrit src/Dodge/Data/GenWorld.hs 32;" f _unPutCrit src/Dodge/Data/GenWorld.hs 32;" f
_unST src/Dodge/Data/MetaTree.hs 20;" f _unST src/Dodge/Data/MetaTree.hs 20;" f
_unTO src/Shader/Data.hs 59;" f _unTO src/Shader/Data.hs 59;" f
@@ -2401,9 +2403,8 @@ _vaType src/Shader/Data.hs 68;" f
_vaoName src/Shader/Data.hs 64;" f _vaoName src/Shader/Data.hs 64;" f
_vboName src/Shader/Data.hs 80;" f _vboName src/Shader/Data.hs 80;" f
_vboPtr src/Shader/Data.hs 81;" f _vboPtr src/Shader/Data.hs 81;" f
_vboShapes src/Data/Preload/Render.hs 52;" f _vboShapes src/Data/Preload/Render.hs 49;" f
_vboVertexBytes src/Shader/Data.hs 82;" f _vboVertexBytes src/Shader/Data.hs 82;" f
_vboWindows src/Data/Preload/Render.hs 51;" f
_vcCoolDown src/Dodge/Data/Creature/Misc.hs 22;" f _vcCoolDown src/Dodge/Data/Creature/Misc.hs 22;" f
_vcMaxCoolDown src/Dodge/Data/Creature/Misc.hs 21;" f _vcMaxCoolDown src/Dodge/Data/Creature/Misc.hs 21;" f
_vertices src/Polyhedra/Data.hs 22;" f _vertices src/Polyhedra/Data.hs 22;" f
@@ -2425,15 +2426,13 @@ _wTime src/Dodge/Data/Item/Params.hs 20;" f
_waitThenAction src/Dodge/Data/ActionPlan.hs 76;" f _waitThenAction src/Dodge/Data/ActionPlan.hs 76;" f
_waitThenTimer src/Dodge/Data/ActionPlan.hs 75;" f _waitThenTimer src/Dodge/Data/ActionPlan.hs 75;" f
_wallDamages src/Dodge/Data/LWorld.hs 119;" f _wallDamages src/Dodge/Data/LWorld.hs 119;" f
_wallSSBO src/Data/Preload/Render.hs 46;" f _wallVBO src/Data/Preload/Render.hs 55;" f
_wallShader src/Data/Preload/Render.hs 58;" f
_wallVBO src/Data/Preload/Render.hs 57;" f
_walls src/Dodge/Data/LWorld.hs 118;" f _walls src/Dodge/Data/LWorld.hs 118;" f
_wanID src/Dodge/Data/LWorld.hs 158;" f _wanID src/Dodge/Data/LWorld.hs 158;" f
_wanPos src/Dodge/Data/LWorld.hs 157;" f _wanPos src/Dodge/Data/LWorld.hs 157;" f
_warmMax src/Dodge/Data/TriggerType.hs 19;" f _warmMax src/Dodge/Data/TriggerType.hs 19;" f
_warmStart src/Dodge/Data/TriggerType.hs 15;" f _warmStart src/Dodge/Data/TriggerType.hs 15;" f
_winSSBO src/Data/Preload/Render.hs 45;" f _winVBO src/Data/Preload/Render.hs 54;" f
_windowPosX src/Dodge/Data/Config.hs 53;" f _windowPosX src/Dodge/Data/Config.hs 53;" f
_windowPosY src/Dodge/Data/Config.hs 54;" f _windowPosY src/Dodge/Data/Config.hs 54;" f
_windowPullShader src/Data/Preload/Render.hs 21;" f _windowPullShader src/Data/Preload/Render.hs 21;" f
@@ -2592,7 +2591,7 @@ attachOnward src/Dodge/Tree/Compose.hs 95;" f
attachOnward' src/Dodge/Tree/Compose.hs 98;" f attachOnward' src/Dodge/Tree/Compose.hs 98;" f
attachTree src/Dodge/Tree/Compose.hs 38;" f attachTree src/Dodge/Tree/Compose.hs 38;" f
attentionViewPoint src/Dodge/Creature/ReaderUpdate.hs 75;" f attentionViewPoint src/Dodge/Creature/ReaderUpdate.hs 75;" f
attribSize src/Shader/Compile.hs 312;" f attribSize src/Shader/Compile.hs 310;" f
autoAmr src/Dodge/Item/Held/Rod.hs 39;" f autoAmr src/Dodge/Item/Held/Rod.hs 39;" f
autoBS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 488;" f autoBS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 488;" f
autoCrit src/Dodge/Creature/AutoCrit.hs 10;" f autoCrit src/Dodge/Creature/AutoCrit.hs 10;" f
@@ -2702,9 +2701,9 @@ brightX src/Color.hs 116;" f
btSPic src/Dodge/Render/ShapePicture.hs 129;" f btSPic src/Dodge/Render/ShapePicture.hs 129;" f
btText src/Dodge/Inventory/SelectionList.hs 237;" f btText src/Dodge/Inventory/SelectionList.hs 237;" f
bufferEBO src/Shader/Bind.hs 28;" f bufferEBO src/Shader/Bind.hs 28;" f
bufferPerspectiveMatrixUBO src/Dodge/Render.hs 496;" f bufferPerspectiveMatrixUBO src/Dodge/Render.hs 471;" f
bufferPokedVBO src/Shader/Bind.hs 19;" f bufferPokedVBO src/Shader/Bind.hs 19;" f
bufferShaderLayers src/Shader/Bind.hs 36;" f bufferShaderLayers src/Shader/Bind.hs 32;" f
bulletBeltBracer src/Dodge/Item/Equipment.hs 67;" f bulletBeltBracer src/Dodge/Item/Equipment.hs 67;" f
bulletBeltPack src/Dodge/Item/Equipment.hs 61;" f bulletBeltPack src/Dodge/Item/Equipment.hs 61;" f
bulletModule src/Dodge/Item/Scope.hs 117;" f bulletModule src/Dodge/Item/Scope.hs 117;" f
@@ -2758,7 +2757,7 @@ checkConnection src/Dodge/Inventory/Swap.hs 66;" f
checkDeath src/Dodge/Creature/Update.hs 70;" f checkDeath src/Dodge/Creature/Update.hs 70;" f
checkDeath' src/Dodge/Creature/Update.hs 73;" f checkDeath' src/Dodge/Creature/Update.hs 73;" f
checkEndGame src/Dodge/Update.hs 766;" f checkEndGame src/Dodge/Update.hs 766;" f
checkErrorGL src/Shader/Compile.hs 261;" f checkErrorGL src/Shader/Compile.hs 259;" f
checkFBO src/Framebuffer/Check.hs 6;" f checkFBO src/Framebuffer/Check.hs 6;" f
checkGLError src/GLHelp.hs 14;" f checkGLError src/GLHelp.hs 14;" f
checkInvSlotsYou src/Dodge/Inventory/CheckSlots.hs 18;" f checkInvSlotsYou src/Dodge/Inventory/CheckSlots.hs 18;" f
@@ -2795,7 +2794,6 @@ clang2S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 676;" f
clangS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 542;" f clangS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 542;" f
cldtPropagateFold src/Dodge/DoubleTree.hs 358;" f cldtPropagateFold src/Dodge/DoubleTree.hs 358;" f
cleanUpPreload src/Preload.hs 10;" f cleanUpPreload src/Preload.hs 10;" f
cleanUpRenderPreload src/Preload/Render.hs 276;" f
cleanUpSoundPreload src/Preload.hs 15;" f cleanUpSoundPreload src/Preload.hs 15;" f
cleanupHalted src/Sound.hs 117;" f cleanupHalted src/Sound.hs 117;" f
cleatLabel src/Dodge/Cleat.hs 30;" f cleatLabel src/Dodge/Cleat.hs 30;" f
@@ -2860,7 +2858,7 @@ compP2A src/Dodge/ShiftPoint.hs 11;" f
compactDraw src/Dodge/LevelGen.hs 94;" f compactDraw src/Dodge/LevelGen.hs 94;" f
compactDraw' src/Dodge/LevelGen.hs 105;" f compactDraw' src/Dodge/LevelGen.hs 105;" f
compactDrawTree src/Dodge/LevelGen.hs 88;" f compactDrawTree src/Dodge/LevelGen.hs 88;" f
compileAndCheckShader src/Shader/Compile.hs 283;" f compileAndCheckShader src/Shader/Compile.hs 281;" f
composeNode src/Dodge/Tree/Compose.hs 76;" f composeNode src/Dodge/Tree/Compose.hs 76;" f
composeTree src/Dodge/Tree/Compose.hs 47;" f composeTree src/Dodge/Tree/Compose.hs 47;" f
computerBeepingS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 640;" f computerBeepingS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 640;" f
@@ -2881,7 +2879,7 @@ copier src/Dodge/Item/Scope.hs 88;" f
copierItemUpdate src/Dodge/Creature/State.hs 131;" f copierItemUpdate src/Dodge/Creature/State.hs 131;" f
copyItemToFloor src/Dodge/FloorItem.hs 14;" f copyItemToFloor src/Dodge/FloorItem.hs 14;" f
corDoor src/Dodge/Room/Room.hs 385;" f corDoor src/Dodge/Room/Room.hs 385;" f
cornerList src/Preload/Render.hs 253;" f cornerList src/Preload/Render.hs 245;" f
corpseOrGib src/Dodge/Creature/Update.hs 111;" f corpseOrGib src/Dodge/Creature/Update.hs 111;" f
corridor src/Dodge/Room/Corridor.hs 17;" f corridor src/Dodge/Room/Corridor.hs 17;" f
corridorBoss src/Dodge/LockAndKey.hs 133;" f corridorBoss src/Dodge/LockAndKey.hs 133;" f
@@ -3508,7 +3506,7 @@ forceSpine src/StrictHelp.hs 4;" f
fourEmbossDecoration src/Dodge/Placement/TopDecoration.hs 29;" f fourEmbossDecoration src/Dodge/Placement/TopDecoration.hs 29;" f
fpsText src/Dodge/Render/Picture.hs 59;" f fpsText src/Dodge/Render/Picture.hs 59;" f
fractionLoadedAmmo src/Dodge/Item/Draw/SPic.hs 145;" f fractionLoadedAmmo src/Dodge/Item/Draw/SPic.hs 145;" f
frag src/Shader/Data.hs 108;" f frag src/Shader/Data.hs 113;" f
freeShaderPointers' src/Shader.hs 37;" f freeShaderPointers' src/Shader.hs 37;" f
fridgeHumS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 500;" f fridgeHumS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 500;" f
fromJust' src/MaybeHelp.hs 22;" f fromJust' src/MaybeHelp.hs 22;" f
@@ -3538,7 +3536,7 @@ generateGraphs src/Dodge/Menu.hs 149;" f
generateLayout src/Dodge/Layout/Generate.hs 10;" f generateLayout src/Dodge/Layout/Generate.hs 10;" f
generateLevelFromRoomList src/Dodge/Layout.hs 35;" f generateLevelFromRoomList src/Dodge/Layout.hs 35;" f
generateWorldFromSeed src/Dodge/LevelGen.hs 17;" f generateWorldFromSeed src/Dodge/LevelGen.hs 17;" f
geom src/Shader/Data.hs 108;" f geom src/Shader/Data.hs 113;" f
geometryQuickCheckTests test/Spec.hs 55;" f geometryQuickCheckTests test/Spec.hs 55;" f
geometryTests test/Spec.hs 17;" f geometryTests test/Spec.hs 17;" f
geometryUnitTests test/Spec.hs 22;" f geometryUnitTests test/Spec.hs 22;" f
@@ -3557,7 +3555,7 @@ getCrMoveSpeed src/Dodge/Creature/Statistics.hs 50;" f
getCrsFromRooms src/Dodge/Room/Tutorial.hs 357;" f getCrsFromRooms src/Dodge/Room/Tutorial.hs 357;" f
getCrsFromRooms' src/Dodge/Room/Tutorial.hs 344;" f getCrsFromRooms' src/Dodge/Room/Tutorial.hs 344;" f
getDebugMouseOver src/Dodge/Update.hs 374;" f getDebugMouseOver src/Dodge/Update.hs 374;" f
getDistortions src/Dodge/Render.hs 502;" f getDistortions src/Dodge/Render.hs 477;" f
getEdgesCrossing src/Dodge/Path.hs 37;" f getEdgesCrossing src/Dodge/Path.hs 37;" f
getGrenadeHitEffect src/Dodge/HeldUse.hs 1264;" f getGrenadeHitEffect src/Dodge/HeldUse.hs 1264;" f
getInventoryPath src/Dodge/Inventory/Path.hs 9;" f getInventoryPath src/Dodge/Inventory/Path.hs 9;" f
@@ -3708,7 +3706,7 @@ initWallZoning src/Dodge/Wall/Zone.hs 12;" f
initialRoomTree src/Dodge/Floor.hs 24;" f initialRoomTree src/Dodge/Floor.hs 24;" f
initialWorld src/Dodge/Initialisation.hs 15;" f initialWorld src/Dodge/Initialisation.hs 15;" f
initialisePlaying src/Sound.hs 77;" f initialisePlaying src/Sound.hs 77;" f
initializeGLState src/Preload/Render.hs 271;" f initializeGLState src/Preload/Render.hs 263;" f
initializeOptionMenu src/Dodge/Menu/Option.hs 17;" f initializeOptionMenu src/Dodge/Menu/Option.hs 17;" f
initializeOptionMenuBO src/Dodge/Menu/Option.hs 30;" f initializeOptionMenuBO src/Dodge/Menu/Option.hs 30;" f
initializeTexture2D src/Framebuffer/Update.hs 205;" f initializeTexture2D src/Framebuffer/Update.hs 205;" f
@@ -4053,7 +4051,7 @@ makePathUsing src/Dodge/Path.hs 51;" f
makePoisonExplosionAt src/Dodge/WorldEvent/Explosion.hs 24;" f makePoisonExplosionAt src/Dodge/WorldEvent/Explosion.hs 24;" f
makeSelectionListPictures src/Dodge/Render/List.hs 66;" f makeSelectionListPictures src/Dodge/Render/List.hs 66;" f
makeShaderEBO src/Shader/Compile.hs 53;" f makeShaderEBO src/Shader/Compile.hs 53;" f
makeShaderProgram src/Shader/Compile.hs 247;" f makeShaderProgram src/Shader/Compile.hs 245;" f
makeShaderUsingVAO src/Shader/Compile.hs 150;" f makeShaderUsingVAO src/Shader/Compile.hs 150;" f
makeShaderUsingVBO src/Shader/Compile.hs 69;" f makeShaderUsingVBO src/Shader/Compile.hs 69;" f
makeShaderVBO src/Shader/Compile.hs 32;" f makeShaderVBO src/Shader/Compile.hs 32;" f
@@ -4362,16 +4360,16 @@ playSoundAndUpdate src/Sound.hs 54;" f
playSoundQueue src/Sound.hs 132;" f playSoundQueue src/Sound.hs 132;" f
playSoundUnlessRewinding appDodge/Main.hs 118;" f playSoundUnlessRewinding appDodge/Main.hs 118;" f
plusDecoration src/Dodge/Placement/TopDecoration.hs 35;" f plusDecoration src/Dodge/Placement/TopDecoration.hs 35;" f
pmLineLoop src/Shader/Data.hs 113;" f pmLineLoop src/Shader/Data.hs 118;" f
pmLineStrip src/Shader/Data.hs 113;" f pmLineStrip src/Shader/Data.hs 118;" f
pmLines src/Shader/Data.hs 113;" f pmLines src/Shader/Data.hs 118;" f
pmLinesAdjacency src/Shader/Data.hs 113;" f pmLinesAdjacency src/Shader/Data.hs 118;" f
pmPatches src/Shader/Data.hs 113;" f pmPatches src/Shader/Data.hs 118;" f
pmPoints src/Shader/Data.hs 113;" f pmPoints src/Shader/Data.hs 118;" f
pmQuads src/Shader/Data.hs 113;" f pmQuads src/Shader/Data.hs 118;" f
pmTriangleFan src/Shader/Data.hs 113;" f pmTriangleFan src/Shader/Data.hs 118;" f
pmTriangleStrip src/Shader/Data.hs 113;" f pmTriangleStrip src/Shader/Data.hs 118;" f
pmTriangles src/Shader/Data.hs 113;" f pmTriangles src/Shader/Data.hs 118;" f
pnZoneSize src/Dodge/Zoning/Pathing.hs 26;" f pnZoneSize src/Dodge/Zoning/Pathing.hs 26;" f
pointIfNotClose src/Dodge/LevelGen/StaticWalls/Deprecated.hs 68;" f pointIfNotClose src/Dodge/LevelGen/StaticWalls/Deprecated.hs 68;" f
pointInCircle src/Geometry.hs 209;" f pointInCircle src/Geometry.hs 209;" f
@@ -4814,7 +4812,7 @@ setRBCreatureTargeting src/Dodge/Creature/State.hs 290;" f
setRoomInt src/Dodge/Room/Tutorial.hs 91;" f setRoomInt src/Dodge/Room/Tutorial.hs 91;" f
setSelWhileDragging src/Dodge/Update/Input/InGame.hs 337;" f setSelWhileDragging src/Dodge/Update/Input/InGame.hs 337;" f
setSelectionListRestriction src/Dodge/Update/Input/ScreenLayer.hs 87;" f setSelectionListRestriction src/Dodge/Update/Input/ScreenLayer.hs 87;" f
setShaderSource src/Shader/Compile.hs 296;" f setShaderSource src/Shader/Compile.hs 294;" f
setShadowLimits src/Dodge/Shadows.hs 11;" f setShadowLimits src/Dodge/Shadows.hs 11;" f
setSoundVolume src/Sound.hs 157;" f setSoundVolume src/Sound.hs 157;" f
setTargetMv src/Dodge/Creature/ReaderUpdate.hs 83;" f setTargetMv src/Dodge/Creature/ReaderUpdate.hs 83;" f
@@ -4823,7 +4821,7 @@ setTiles src/Dodge/Layout.hs 67;" f
setTreeInts src/Dodge/Room/Tutorial.hs 98;" f setTreeInts src/Dodge/Room/Tutorial.hs 98;" f
setViewDistance src/Dodge/Update/Camera.hs 239;" f setViewDistance src/Dodge/Update/Camera.hs 239;" f
setViewPos src/Dodge/Creature/ReaderUpdate.hs 69;" f setViewPos src/Dodge/Creature/ReaderUpdate.hs 69;" f
setViewport src/Dodge/Render.hs 507;" f setViewport src/Dodge/Render.hs 482;" f
setVol src/Dodge/Config.hs 47;" f setVol src/Dodge/Config.hs 47;" f
setWristShieldPos src/Dodge/Equipment.hs 49;" f setWristShieldPos src/Dodge/Equipment.hs 49;" f
setWristShieldPos src/Dodge/Euse.hs 38;" f setWristShieldPos src/Dodge/Euse.hs 38;" f
@@ -4839,9 +4837,9 @@ setupStaticVBOVAO src/Shader/Compile.hs 102;" f
setupVAOUsingVBO src/Shader/Compile.hs 183;" f setupVAOUsingVBO src/Shader/Compile.hs 183;" f
setupVBO src/Shader/Compile.hs 83;" f setupVBO src/Shader/Compile.hs 83;" f
setupVBOStatic src/Shader/Compile.hs 118;" f setupVBOStatic src/Shader/Compile.hs 118;" f
setupVBOVAO src/Shader/Compile.hs 206;" f setupVBOVAO src/Shader/Compile.hs 204;" f
setupVertexAttribPointer src/Shader/Compile.hs 230;" f setupVertexAttribPointer src/Shader/Compile.hs 228;" f
setupVertexAttribs src/Shader/Compile.hs 224;" f setupVertexAttribs src/Shader/Compile.hs 222;" f
setupWorldBounds src/Dodge/Layout.hs 116;" f setupWorldBounds src/Dodge/Layout.hs 116;" f
sfInvColor src/Dodge/Item/InventoryColor.hs 12;" f sfInvColor src/Dodge/Item/InventoryColor.hs 12;" f
shadVBOptr src/Shader.hs 40;" f shadVBOptr src/Shader.hs 40;" f
@@ -5157,7 +5155,7 @@ toBinary src/Dodge/Inventory/SelectionList.hs 141;" f
toBothLnk src/Dodge/RoomLink.hs 136;" f toBothLnk src/Dodge/RoomLink.hs 136;" f
toClosestMultiple src/HelpNum.hs 3;" f toClosestMultiple src/HelpNum.hs 3;" f
toColor8 src/Color.hs 148;" f toColor8 src/Color.hs 148;" f
toFloatVAs src/Shader/Compile.hs 217;" f toFloatVAs src/Shader/Compile.hs 215;" f
toLabel src/Dodge/Cleat.hs 16;" f toLabel src/Dodge/Cleat.hs 16;" f
toMultiset src/Multiset.hs 64;" f toMultiset src/Multiset.hs 64;" f
toOnward src/Dodge/Tree/Compose.hs 101;" f toOnward src/Dodge/Tree/Compose.hs 101;" f
@@ -5455,10 +5453,10 @@ vShape src/Dodge/Placement/Instance/LightSource.hs 93;" f
vToL src/MatrixHelper.hs 56;" f vToL src/MatrixHelper.hs 56;" f
vToQuat src/Quaternion.hs 42;" f vToQuat src/Quaternion.hs 42;" f
validTerminalCommands src/Dodge/Debug/Terminal.hs 137;" f validTerminalCommands src/Dodge/Debug/Terminal.hs 137;" f
vasTightStride src/Shader/Compile.hs 303;" f vasTightStride src/Shader/Compile.hs 301;" f
vecBetweenSpeed src/Dodge/Base.hs 146;" f vecBetweenSpeed src/Dodge/Base.hs 146;" f
vecTurnTo src/Dodge/Movement/Turn.hs 19;" f vecTurnTo src/Dodge/Movement/Turn.hs 19;" f
vert src/Shader/Data.hs 108;" f vert src/Shader/Data.hs 113;" f
vertScale src/MatrixHelper.hs 95;" f vertScale src/MatrixHelper.hs 95;" f
vertTrans src/MatrixHelper.hs 103;" f vertTrans src/MatrixHelper.hs 103;" f
verticalPipe src/Dodge/Picture.hs 19;" f verticalPipe src/Dodge/Picture.hs 19;" f
@@ -5523,7 +5521,7 @@ windowLine src/Dodge/Placement/Instance/Wall.hs 59;" f
windowXFloat src/Dodge/Data/Config.hs 61;" f windowXFloat src/Dodge/Data/Config.hs 61;" f
windowYFloat src/Dodge/Data/Config.hs 63;" f windowYFloat src/Dodge/Data/Config.hs 63;" f
withAlpha src/Color.hs 10;" f withAlpha src/Color.hs 10;" f
withByteString src/Shader/Compile.hs 330;" f withByteString src/Shader/Compile.hs 328;" f
wlIXsNearCirc src/Dodge/Zoning/Wall.hs 32;" f wlIXsNearCirc src/Dodge/Zoning/Wall.hs 32;" f
wlIXsNearPoint src/Dodge/Zoning/Wall.hs 22;" f wlIXsNearPoint src/Dodge/Zoning/Wall.hs 22;" f
wlIXsNearRect src/Dodge/Zoning/Wall.hs 29;" f wlIXsNearRect src/Dodge/Zoning/Wall.hs 29;" f