First implementation of SSBO, vertex pulling

This commit is contained in:
2025-11-10 11:58:11 +00:00
parent 187751ec26
commit 5e93c7631d
7 changed files with 201 additions and 131 deletions
+11
View File
@@ -0,0 +1,11 @@
#version 450 core
layout (location=0) out vec4 fCol;
layout (location=1) out vec4 fPos;
in vec4 vCol;
in vec4 vPos;
void main()
{
//fCol = vec4 (1,0.5,0,0.5);
fCol = vCol;
fPos = vPos;
}
+34
View File
@@ -0,0 +1,34 @@
#version 450 core
struct PosCol {
vec4 pospos;
vec4 col;
};
layout (std140, binding = 0) uniform TheMat { mat4 theMat; } ;
layout (std430, binding = 1) readonly buffer Pos { PosCol data[]; };
out vec4 vCol;
out vec4 vPos;
int indices[6] = {0,1,2,2,3,0};
vec4 iface[6] =
{ vec4 (-1,-1,0,1)
, vec4 (-1,1,0,1)
, vec4 (1,1,0,1)
, vec4 (1,1,0,1)
, vec4 (1,-1,0,1)
, vec4 (-1,-1,0,1)
};
void main()
{
//const struct PosCol pc = data[gl_VertexID / 6];
vec4 pp = data[gl_VertexID / 6].pospos;
vCol = data[gl_VertexID / 6].col;
//vCol = vec4(1,0.5,0,0.5);
int j = indices[gl_VertexID % 6];
float z = (j / 2 > 0 ? 5000 : 0);
//vec2 xy = (j % 2 > 0 ? pc.pospos.xy : pc.pospos.zw);
vec2 xy = (j % 2 > 0 ? pp.xy : pp.zw);
vPos = vec4( xy, z, 1);
// vPos = vec4( 0,0,0, 1);
//vCol = pc.col;
gl_Position = theMat * vPos;
//gl_Position = iface[gl_VertexID % 6];
}
+4 -1
View File
@@ -18,6 +18,7 @@ data RenderData = RenderData
, _ceilingStencilShader :: Shader
, _alphaDivideShader :: Shader
, _windowShader :: Shader
, _windowPullShader :: Shader
, _fullscreenShader :: Shader
, _transparencyCompShader :: Shader
, _bloomBlurShader :: Shader
@@ -40,7 +41,8 @@ data RenderData = RenderData
, _fboLighting :: (FBO, TO)
, _rboBaseBloom :: GLuint -- RenderbufferObject id
, _matUBO :: GLuint -- BufferObject id
, _lightsUBO :: GLuint -- BufferObject id
, _winSSBO :: GLuint
-- , _lightsUBO :: GLuint -- BufferObject id
, _vboWindows :: VBO
, _vboShapes :: VBO
, _floorVBO :: VBO
@@ -53,6 +55,7 @@ data RenderData = RenderData
, _cloudShader :: Shader
, _cloudEBO :: EBO
, _screenTextureVAO :: VAO
, _dummyVAO :: VAO
}
makeLenses ''RenderData
+9 -1
View File
@@ -110,6 +110,9 @@ doDrawing' win pdata u = do
]
-- set the coordinate uniform ready for drawing elements using world coordinates
bufferPerspectiveMatrixUBO cfig (w ^. wCam) (pdata ^. matUBO)
glNamedBufferSubData (pdata ^. winSSBO) 0
(fromIntegral $ nWins * sizeOf (0::Float) * 8)
(pdata ^. vboWindows . vboPtr)
setViewport _gr_world_res cfig
glBindFramebuffer GL_FRAMEBUFFER (pdata ^. fboBase . _1 . unFBO)
glDepthMask GL_TRUE
@@ -373,7 +376,12 @@ doDrawing' win pdata u = do
glDepthFunc GL_LEQUAL
glCullFace GL_BACK
glDisable GL_BLEND
drawShader (_windowShader pdata) nWins
glDepthFunc GL_ALWAYS
glDisable GL_CULL_FACE
glUseProgram $ pdata ^. windowPullShader . shaderUINT
glBindVertexArray $ pdata ^. dummyVAO . vaoName
glDrawArrays GL_TRIANGLES 0 (fromIntegral nWins * 6)
--drawShader (_windowShader pdata) nWins
glDisable GL_DEPTH_CLAMP
glDisable GL_CULL_FACE
glInvalidateBufferData (pdata ^. vboShapes . vboName)
+3 -6
View File
@@ -1,4 +1,4 @@
module GLHelp where
module GLHelp (mglCreate,mglDelete,checkGLError) where
import Foreign.Marshal
import Foreign.Ptr
@@ -6,13 +6,10 @@ import Foreign.Storable
import Graphics.GL.Core45
mglCreate :: (GLsizei -> Ptr GLuint -> IO ()) -> IO GLuint
mglCreate f =
alloca $ \nameptr -> do
f 1 nameptr
peek nameptr
mglCreate f = alloca $ \ptr -> f 1 ptr >> peek ptr
mglDelete :: (GLsizei -> Ptr GLuint -> IO ()) -> GLuint -> IO ()
mglDelete f i = with i $ \ptr -> f 1 ptr
mglDelete f i = with i $ f 1
checkGLError :: String -> IO ()
checkGLError s = do
+21 -5
View File
@@ -35,12 +35,25 @@ preloadRender = do
-- set up uniform buffer object
putStrLn "Setup UBO"
theUBO <- mglCreate glCreateBuffers
glNamedBufferData theUBO 64 nullPtr GL_STREAM_DRAW
--glNamedBufferData theUBO 64 nullPtr GL_STREAM_DRAW
glNamedBufferStorage theUBO 64 nullPtr GL_DYNAMIC_STORAGE_BIT
glBindBufferBase GL_UNIFORM_BUFFER 0 theUBO
lightsubo <- mglCreate glCreateBuffers
glNamedBufferData lightsubo 640 nullPtr GL_STREAM_DRAW
glBindBufferBase GL_UNIFORM_BUFFER 1 lightsubo
winssbo <- mglCreate glCreateBuffers
let winssbosize = sizeOf (0::Float) * 8 * 1024
-- winssboptr <- mallocBytes winssbosize
glNamedBufferStorage winssbo (fromIntegral winssbosize) nullPtr GL_DYNAMIC_STORAGE_BIT
glBindBufferBase GL_SHADER_STORAGE_BUFFER 1 winssbo
--dummyvao <- mglCreate glCreateVertexArrays
dummyvao <- mglCreate glGenVertexArrays
winpull <- makeShaderUsingVAO "pull/window" [vert,frag] pmTriangles (VAO dummyvao)
-- lightsubo <- mglCreate glCreateBuffers
-- --glNamedBufferData lightsubo 640 nullPtr GL_STREAM_DRAW
-- glNamedBufferStorage lightsubo 640 nullPtr GL_DYNAMIC_STORAGE_BIT
-- glBindBufferBase GL_UNIFORM_BUFFER 1 lightsubo
-- setup shape geometry/cap VBO and two VAOs
putStrLn "Setup shape VBO, VAO, EBO"
@@ -181,6 +194,7 @@ preloadRender = do
, _lightingWallShadShader = lightingWallShadShad
, _ceilingStencilShader = ceilingstencilshader
, _windowShader = windowshader
, _windowPullShader = winpull
, _fullscreenShader = fsShad
, _transparencyCompShader = transcompshader
, _alphaDivideShader = alphadivideshader
@@ -201,7 +215,8 @@ preloadRender = do
, _fboPos = fboPosName
, _rboBaseBloom = rboBaseBloomName
, _matUBO = theUBO
, _lightsUBO = lightsubo
, _winSSBO = winssbo
-- , _lightsUBO = lightsubo
, _vboWindows = winvbo
, _vboShapes = shVBO
, _floorVBO = floorvbo
@@ -214,6 +229,7 @@ preloadRender = do
, _cloudShader = cloudshader
, _cloudEBO = cloudebo
, _screenTextureVAO = screentexturevao
, _dummyVAO = VAO dummyvao
}
--------------------end preloadRender
+119 -118
View File
@@ -355,7 +355,7 @@ DropItem src/Dodge/Data/ActionPlan.hs 38;" C
DudPayload src/Dodge/Data/Payload.hs 11;" C
Dungeon src/Dodge/Data/Scenario.hs 66;" C
Dust src/Dodge/Data/Cloud.hs 27;" t
EBO src/Shader/Data.hs 88;" t
EBO src/Shader/Data.hs 86;" t
EBSound src/Dodge/Data/SoundOrigin.hs 39;" C
ECW src/Dodge/Material/Damage.hs 14;" t
ELEPHANTGUN src/Dodge/Data/Item/Combine.hs 157;" C
@@ -988,7 +988,7 @@ PosInf src/Dodge/Data/CardinalPoint.hs 44;" C
PosRooms src/Dodge/Tree/Shift.hs 28;" t
Posture src/Dodge/Data/Creature/Stance.hs 33;" t
PreloadData src/Data/Preload.hs 10;" t
PrimitiveMode src/Shader/Data.hs 99;" t
PrimitiveMode src/Shader/Data.hs 97;" t
PrintMaterial src/Dodge/Data/AmmoType.hs 12;" C
Prison src/Dodge/Data/Scenario.hs 65;" C
Projectile src/Dodge/Data/Projectile.hs 15;" t
@@ -1149,7 +1149,7 @@ SetLSCol src/Dodge/Data/WorldEffect.hs 24;" C
SetTrigger src/Dodge/Data/WorldEffect.hs 22;" C
ShadNum src/Picture/Data.hs 33;" t
Shader src/Shader/Data.hs 51;" t
ShaderTexture src/Shader/Data.hs 94;" t
ShaderTexture src/Shader/Data.hs 92;" t
ShadowFidelity src/Shape/Data.hs 19;" t
ShadowRendering src/Dodge/Data/Config.hs 103;" t
Shape src/Shape/Data.hs 48;" t
@@ -1388,11 +1388,11 @@ UsedPosHigh src/Dodge/Data/Room.hs 88;" C
UsedPosLow src/Dodge/Data/Room.hs 86;" C
UsedPosMid src/Dodge/Data/Room.hs 87;" C
VAO src/Shader/Data.hs 64;" t
VBO src/Shader/Data.hs 81;" t
VBO src/Shader/Data.hs 79;" t
VF src/Polyhedra/Data.hs 21;" t
VIOLET src/Color/Data.hs 19;" C
VOLLEYGUN src/Dodge/Data/Item/Combine.hs 151;" C
VertexAttribute src/Shader/Data.hs 68;" t
VertexAttribute src/Shader/Data.hs 66;" t
Verx src/Picture/Data.hs 11;" t
View_boundaries src/Dodge/Data/Config.hs 76;" C
ViewingDeckSS src/Dodge/Data/Scenario.hs 106;" C
@@ -1502,7 +1502,7 @@ _avMoveSpeed src/Dodge/Data/Creature/Misc.hs 65;" f
_avStrength src/Dodge/Data/Creature/Misc.hs 62;" f
_avatarMaterial src/Dodge/Data/Creature/Misc.hs 61;" f
_avatarPulse src/Dodge/Data/Creature/Misc.hs 60;" f
_barrelShader src/Data/Preload/Render.hs 25;" f
_barrelShader src/Data/Preload/Render.hs 26;" f
_barrelType src/Dodge/Data/Creature/Misc.hs 71;" f
_bdColor src/Dodge/Data/Prop.hs 23;" f
_bdMaxX src/Dodge/Data/Bounds.hs 12;" f
@@ -1520,7 +1520,7 @@ _blPos src/Dodge/Data/Block.hs 26;" f
_blShadows src/Dodge/Data/Block.hs 24;" f
_blWallIDs src/Dodge/Data/Block.hs 22;" f
_blocks src/Dodge/Data/LWorld.hs 125;" f
_bloomBlurShader src/Data/Preload/Render.hs 23;" f
_bloomBlurShader src/Data/Preload/Render.hs 24;" f
_bmColor src/Dodge/Data/Beam.hs 21;" f
_bmDamage src/Dodge/Data/Beam.hs 20;" f
_bmDir src/Dodge/Data/Beam.hs 19;" f
@@ -1586,8 +1586,8 @@ _cdtUp src/Dodge/Data/DoubleTree.hs 92;" f
_ceSideEffect src/Dodge/Data/Universe.hs 66;" f
_ceString src/Dodge/Data/Universe.hs 67;" f
_ceilingStencilShader src/Data/Preload/Render.hs 18;" f
_chasmShader src/Data/Preload/Render.hs 49;" f
_chasmVBO src/Data/Preload/Render.hs 48;" f
_chasmShader src/Data/Preload/Render.hs 51;" f
_chasmVBO src/Data/Preload/Render.hs 50;" f
_chasms src/Dodge/Data/CWorld.hs 33;" f
_ciFilter src/Dodge/Data/HUD.hs 25;" f
_ciInvIDs src/Dodge/Data/Combine.hs 9;" f
@@ -1616,11 +1616,11 @@ _clickPos src/Dodge/Data/Input.hs 42;" f
_clickWorldPos src/Dodge/Data/Input.hs 44;" f
_closeButtons src/Dodge/Data/HUD.hs 36;" f
_closeItems src/Dodge/Data/HUD.hs 35;" f
_cloudEBO src/Data/Preload/Render.hs 54;" f
_cloudShader src/Data/Preload/Render.hs 53;" f
_cloudVBO src/Data/Preload/Render.hs 52;" f
_cloudEBO src/Data/Preload/Render.hs 56;" f
_cloudShader src/Data/Preload/Render.hs 55;" f
_cloudVBO src/Data/Preload/Render.hs 54;" f
_clouds src/Dodge/Data/LWorld.hs 96;" f
_colorBlurShader src/Data/Preload/Render.hs 24;" f
_colorBlurShader src/Data/Preload/Render.hs 25;" f
_coolEnd src/Dodge/Data/TriggerType.hs 17;" f
_coolSound src/Dodge/Data/Item/Params.hs 22;" f
_coolStart src/Dodge/Data/TriggerType.hs 16;" f
@@ -1748,27 +1748,28 @@ _dsZoning src/Dodge/Data/World.hs 48;" f
_dtLeft src/Dodge/Data/DoubleTree.hs 29;" f
_dtRight src/Dodge/Data/DoubleTree.hs 29;" f
_dtValue src/Dodge/Data/DoubleTree.hs 29;" f
_dummyVAO src/Data/Preload/Render.hs 58;" f
_dusts src/Dodge/Data/LWorld.hs 97;" f
_ebID src/Dodge/Data/EnergyBall/Type.hs 13;" f
_ebPos src/Dodge/Data/EnergyBall.hs 17;" f
_ebTimer src/Dodge/Data/EnergyBall.hs 18;" f
_ebType src/Dodge/Data/EnergyBall.hs 19;" f
_ebVel src/Dodge/Data/EnergyBall.hs 16;" f
_eboName src/Shader/Data.hs 89;" f
_eboPtr src/Shader/Data.hs 90;" f
_eboName src/Shader/Data.hs 87;" f
_eboPtr src/Shader/Data.hs 88;" f
_emoMenuOption src/Dodge/Data/Universe.hs 77;" f
_energyBalls src/Dodge/Data/LWorld.hs 104;" f
_fbSize src/Dodge/Data/EnergyBall/Type.hs 12;" f
_fbo2 src/Data/Preload/Render.hs 31;" f
_fbo3 src/Data/Preload/Render.hs 32;" f
_fboBase src/Data/Preload/Render.hs 35;" f
_fboBloom src/Data/Preload/Render.hs 38;" f
_fboCloud src/Data/Preload/Render.hs 36;" f
_fboHalf1 src/Data/Preload/Render.hs 33;" f
_fboHalf2 src/Data/Preload/Render.hs 34;" f
_fboLighting src/Data/Preload/Render.hs 40;" f
_fboPos src/Data/Preload/Render.hs 39;" f
_fboWindow src/Data/Preload/Render.hs 37;" f
_fbo2 src/Data/Preload/Render.hs 32;" f
_fbo3 src/Data/Preload/Render.hs 33;" f
_fboBase src/Data/Preload/Render.hs 36;" f
_fboBloom src/Data/Preload/Render.hs 39;" f
_fboCloud src/Data/Preload/Render.hs 37;" f
_fboHalf1 src/Data/Preload/Render.hs 34;" f
_fboHalf2 src/Data/Preload/Render.hs 35;" f
_fboLighting src/Data/Preload/Render.hs 41;" f
_fboPos src/Data/Preload/Render.hs 40;" f
_fboWindow src/Data/Preload/Render.hs 38;" f
_flItPos src/Dodge/Data/FloorItem.hs 11;" f
_flItRot src/Dodge/Data/FloorItem.hs 11;" f
_flPos src/Dodge/Data/Flame.hs 13;" f
@@ -1779,13 +1780,13 @@ _flankTarget src/Dodge/Data/ActionPlan.hs 129;" f
_flares src/Dodge/Data/LWorld.hs 108;" f
_flatShieldWlMIX src/Dodge/Data/Item/Params.hs 14;" f
_floorItems src/Dodge/Data/LWorld.hs 127;" f
_floorShader src/Data/Preload/Render.hs 47;" f
_floorVBO src/Data/Preload/Render.hs 46;" f
_floorShader src/Data/Preload/Render.hs 49;" f
_floorVBO src/Data/Preload/Render.hs 48;" f
_foreShapes src/Dodge/Data/LWorld.hs 132;" f
_fsDir src/Dodge/Data/ForegroundShape.hs 14;" f
_fsPos src/Dodge/Data/ForegroundShape.hs 13;" f
_fsSPic src/Dodge/Data/ForegroundShape.hs 15;" f
_fullscreenShader src/Data/Preload/Render.hs 21;" f
_fullscreenShader src/Data/Preload/Render.hs 22;" f
_futureWorlds src/Dodge/Data/World.hs 67;" f
_futureWorlds src/Dodge/Data/World.hs 73;" f
_gameplay_rotate_to_wall src/Dodge/Data/Config.hs 55;" f
@@ -1817,7 +1818,7 @@ _gr_num_shadow_casters src/Dodge/Data/Config.hs 50;" f
_gr_shadow_rendering src/Dodge/Data/Config.hs 45;" f
_gr_shadow_size src/Dodge/Data/Config.hs 46;" f
_gr_world_res src/Dodge/Data/Config.hs 48;" f
_grayscaleShader src/Data/Preload/Render.hs 26;" f
_grayscaleShader src/Data/Preload/Render.hs 27;" f
_gsZoning src/Dodge/Data/World.hs 54;" f
_guID src/Dodge/Data/Gust.hs 12;" f
_guPos src/Dodge/Data/Gust.hs 13;" f
@@ -1907,7 +1908,6 @@ _lightingLineShadowShader src/Data/Preload/Render.hs 15;" f
_lightingTextureShader src/Data/Preload/Render.hs 17;" f
_lightingWallShadShader src/Data/Preload/Render.hs 14;" f
_lights src/Dodge/Data/LWorld.hs 134;" f
_lightsUBO src/Data/Preload/Render.hs 43;" f
_linearShockwaves src/Dodge/Data/LWorld.hs 116;" f
_linkGapEW src/Dodge/Data/Room.hs 36;" f
_linkGapNS src/Dodge/Data/Room.hs 37;" f
@@ -1939,7 +1939,7 @@ _manObject src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 15;" f
_mapInvItmID src/Dodge/Data/HUD.hs 20;" f
_mapInvOffset src/Dodge/Data/HUD.hs 18;" f
_mapInvZoom src/Dodge/Data/HUD.hs 19;" f
_matUBO src/Data/Preload/Render.hs 42;" f
_matUBO src/Data/Preload/Render.hs 43;" f
_mbAttach src/Dodge/Data/MetaTree.hs 18;" f
_mbTree src/Dodge/Data/MetaTree.hs 18;" f
_mcColor src/Dodge/Data/Machine.hs 34;" f
@@ -2042,7 +2042,7 @@ _phRemoteID src/Dodge/Data/Projectile.hs 41;" f
_phTargetingID src/Dodge/Data/Projectile.hs 42;" f
_pickUpLevel src/Dodge/Layout/Generate.hs 14;" f
_pickUps src/Dodge/Layout/Generate.hs 15;" f
_pictureShaders src/Data/Preload/Render.hs 30;" f
_pictureShaders src/Data/Preload/Render.hs 31;" f
_piercedPoints src/Dodge/Data/Creature/Misc.hs 87;" f
_pjBarrelSpin src/Dodge/Data/Projectile.hs 23;" f
_pjDetonatorID src/Dodge/Data/Projectile.hs 25;" f
@@ -2123,7 +2123,7 @@ _rbPos src/Dodge/Data/RadarBlip.hs 17;" f
_rbRad src/Dodge/Data/RadarBlip.hs 16;" f
_rbState src/Dodge/Data/World.hs 43;" f
_rbTime src/Dodge/Data/RadarBlip.hs 14;" f
_rboBaseBloom src/Data/Preload/Render.hs 41;" f
_rboBaseBloom src/Data/Preload/Render.hs 42;" f
_renderData src/Data/Preload.hs 11;" f
_respawnDelay src/Dodge/Data/World.hs 62;" f
_respawnPos src/Dodge/Data/LWorld.hs 145;" f
@@ -2186,7 +2186,7 @@ _scOptions src/Dodge/Data/Universe.hs 84;" f
_scPositionedMenuOption src/Dodge/Data/Universe.hs 86;" f
_scSelectionList src/Dodge/Data/Universe.hs 88;" f
_scTitle src/Dodge/Data/Universe.hs 83;" f
_screenTextureVAO src/Data/Preload/Render.hs 55;" f
_screenTextureVAO src/Data/Preload/Render.hs 57;" f
_scrollAmount src/Dodge/Data/Input.hs 40;" f
_scrollItemID src/Dodge/Data/World.hs 68;" f
_scrollItemID src/Dodge/Data/World.hs 77;" f
@@ -2216,9 +2216,9 @@ _sfVs src/Shape/Data.hs 38;" f
_shaderPrimitive src/Shader/Data.hs 53;" f
_shaderUINT src/Shader/Data.hs 52;" f
_shaderVAO src/Shader/Data.hs 54;" f
_shapeEBO src/Data/Preload/Render.hs 28;" f
_shapeEBO src/Data/Preload/Render.hs 29;" f
_shapeHalfSize src/Shape/Data.hs 13;" f
_shapeShader src/Data/Preload/Render.hs 27;" f
_shapeShader src/Data/Preload/Render.hs 28;" f
_shellPayload src/Dodge/Data/Item/Combine.hs 101;" f
_shockwaves src/Dodge/Data/LWorld.hs 112;" f
_siColor src/Dodge/Data/SelectionList.hs 47;" f
@@ -2230,7 +2230,7 @@ _siPictures src/Dodge/Data/SelectionList.hs 43;" f
_siWidth src/Dodge/Data/SelectionList.hs 45;" f
_sideEffect src/Loop/Data.hs 13;" f
_sideImpulses src/Dodge/Data/ActionPlan.hs 122;" f
_silhouetteEBO src/Data/Preload/Render.hs 29;" f
_silhouetteEBO src/Data/Preload/Render.hs 30;" f
_skOldPos src/Dodge/Data/Spark.hs 14;" f
_skPos src/Dodge/Data/Spark.hs 13;" f
_skType src/Dodge/Data/Spark.hs 15;" f
@@ -2295,7 +2295,7 @@ _terminals src/Dodge/Data/LWorld.hs 122;" f
_teslaArcs src/Dodge/Data/LWorld.hs 110;" f
_testFloat src/Dodge/Data/World.hs 42;" f
_textInput src/Dodge/Data/Input.hs 46;" f
_textureObject src/Shader/Data.hs 95;" f
_textureObject src/Shader/Data.hs 93;" f
_tiText src/Dodge/Data/Terminal/Status.hs 14;" f
_tileArrayZ src/Data/Tile.hs 24;" f
_tilePoly src/Data/Tile.hs 17;" f
@@ -2329,7 +2329,7 @@ _toPlaySounds src/Dodge/Data/World.hs 39;" f
_topBoxSize src/Shape/Data.hs 12;" f
_tptString src/Dodge/Data/Terminal/Status.hs 15;" f
_tractorBeams src/Dodge/Data/LWorld.hs 117;" f
_transparencyCompShader src/Data/Preload/Render.hs 22;" f
_transparencyCompShader src/Data/Preload/Render.hs 23;" f
_trieChildren src/SimpleTrie.hs 12;" f
_trieMVal src/SimpleTrie.hs 11;" f
_triggers src/Dodge/Data/LWorld.hs 126;" f
@@ -2351,7 +2351,7 @@ _unFBO src/Shader/Data.hs 57;" f
_unNInt src/NewInt.hs 16;" f
_unNIntMap src/NewInt.hs 22;" f
_unNIntSet src/NewInt.hs 19;" f
_unPrimitiveMode src/Shader/Data.hs 99;" f
_unPrimitiveMode src/Shader/Data.hs 97;" f
_unPutCrit src/Dodge/Data/GenWorld.hs 32;" f
_unST src/Dodge/Data/MetaTree.hs 20;" f
_unTO src/Shader/Data.hs 59;" f
@@ -2384,16 +2384,16 @@ _uvSideEffects src/Dodge/Data/Universe.hs 35;" f
_uvSoundQueue src/Dodge/Data/Universe.hs 51;" f
_uvTestString src/Dodge/Data/Universe.hs 37;" f
_uvWorld src/Dodge/Data/Universe.hs 31;" f
_vaCount src/Shader/Data.hs 69;" f
_vaNormalize src/Shader/Data.hs 71;" f
_vaOffset src/Shader/Data.hs 72;" f
_vaType src/Shader/Data.hs 70;" f
_vaoName src/Shader/Data.hs 65;" f
_vboName src/Shader/Data.hs 82;" f
_vboPtr src/Shader/Data.hs 83;" f
_vboShapes src/Data/Preload/Render.hs 45;" f
_vboVertexBytes src/Shader/Data.hs 84;" f
_vboWindows src/Data/Preload/Render.hs 44;" f
_vaCount src/Shader/Data.hs 67;" f
_vaNormalize src/Shader/Data.hs 69;" f
_vaOffset src/Shader/Data.hs 70;" f
_vaType src/Shader/Data.hs 68;" f
_vaoName src/Shader/Data.hs 64;" f
_vboName src/Shader/Data.hs 80;" f
_vboPtr src/Shader/Data.hs 81;" f
_vboShapes src/Data/Preload/Render.hs 47;" f
_vboVertexBytes src/Shader/Data.hs 82;" f
_vboWindows src/Data/Preload/Render.hs 46;" f
_vcCoolDown src/Dodge/Data/Creature/Misc.hs 22;" f
_vcMaxCoolDown src/Dodge/Data/Creature/Misc.hs 21;" f
_vertices src/Polyhedra/Data.hs 22;" f
@@ -2415,15 +2415,17 @@ _wTime src/Dodge/Data/Item/Params.hs 20;" f
_waitThenAction src/Dodge/Data/ActionPlan.hs 76;" f
_waitThenTimer src/Dodge/Data/ActionPlan.hs 75;" f
_wallDamages src/Dodge/Data/LWorld.hs 119;" f
_wallShader src/Data/Preload/Render.hs 51;" f
_wallVBO src/Data/Preload/Render.hs 50;" f
_wallShader src/Data/Preload/Render.hs 53;" f
_wallVBO src/Data/Preload/Render.hs 52;" f
_walls src/Dodge/Data/LWorld.hs 118;" f
_wanID src/Dodge/Data/LWorld.hs 158;" f
_wanPos src/Dodge/Data/LWorld.hs 157;" f
_warmMax src/Dodge/Data/TriggerType.hs 19;" f
_warmStart src/Dodge/Data/TriggerType.hs 15;" f
_winSSBO src/Data/Preload/Render.hs 44;" f
_windowPosX src/Dodge/Data/Config.hs 53;" f
_windowPosY src/Dodge/Data/Config.hs 54;" f
_windowPullShader src/Data/Preload/Render.hs 21;" f
_windowShader src/Data/Preload/Render.hs 20;" f
_windowX src/Dodge/Data/Config.hs 51;" f
_windowY src/Dodge/Data/Config.hs 52;" f
@@ -2579,8 +2581,8 @@ attachList src/Dodge/Tree/Compose.hs 80;" f
attachOnward src/Dodge/Tree/Compose.hs 95;" f
attachOnward' src/Dodge/Tree/Compose.hs 98;" f
attachTree src/Dodge/Tree/Compose.hs 38;" f
attentionViewPoint src/Dodge/Creature/ReaderUpdate.hs 74;" f
attribSize src/Shader/Compile.hs 306;" f
attentionViewPoint src/Dodge/Creature/ReaderUpdate.hs 75;" f
attribSize src/Shader/Compile.hs 312;" f
autoAmr src/Dodge/Item/Held/Rod.hs 39;" f
autoBS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 488;" f
autoCrit src/Dodge/Creature/AutoCrit.hs 10;" f
@@ -2631,7 +2633,7 @@ battery src/Dodge/Item/Ammo.hs 63;" f
batteryPack src/Dodge/Item/Equipment.hs 46;" f
belowNumX src/Dodge/Combine/Graph.hs 84;" f
beltMag src/Dodge/Item/Ammo.hs 39;" f
bfsThenReturn src/Dodge/Creature/ReaderUpdate.hs 225;" f
bfsThenReturn src/Dodge/Creature/ReaderUpdate.hs 226;" f
bgateCalc src/Dodge/Inventory/SelectionList.hs 118;" f
bgunSound src/Dodge/HeldUse.hs 514;" f
bindFBO src/Render.hs 251;" f
@@ -2690,7 +2692,7 @@ brightX src/Color.hs 116;" f
btSPic src/Dodge/Render/ShapePicture.hs 129;" f
btText src/Dodge/Inventory/SelectionList.hs 237;" f
bufferEBO src/Shader/Bind.hs 28;" f
bufferPerspectiveMatrixUBO src/Dodge/Render.hs 464;" f
bufferPerspectiveMatrixUBO src/Dodge/Render.hs 466;" f
bufferPokedVBO src/Shader/Bind.hs 19;" f
bufferShaderLayers src/Shader/Bind.hs 36;" f
bulletBeltBracer src/Dodge/Item/Equipment.hs 67;" f
@@ -2735,7 +2737,7 @@ chartreuse src/Color.hs 24;" f
chaseCrit src/Dodge/Creature/ChaseCrit.hs 27;" f
chaseCritAwarenessUpdate src/Dodge/Creature/Perception.hs 65;" f
chaseCritInternal src/Dodge/Humanoid.hs 7;" f
chaseCritMv src/Dodge/Creature/ReaderUpdate.hs 120;" f
chaseCritMv src/Dodge/Creature/ReaderUpdate.hs 121;" f
chaseCritPerceptionUpdate src/Dodge/Creature/Perception.hs 32;" f
chaseCritVocalization src/Dodge/Creature/ChaseCrit.hs 36;" f
chasmSimpleMaze src/Dodge/Room/Tutorial.hs 208;" f
@@ -2746,9 +2748,9 @@ checkConnection src/Dodge/Inventory/Swap.hs 66;" f
checkDeath src/Dodge/Creature/Update.hs 70;" f
checkDeath' src/Dodge/Creature/Update.hs 73;" f
checkEndGame src/Dodge/Update.hs 766;" f
checkErrorGL src/Shader/Compile.hs 255;" f
checkErrorGL src/Shader/Compile.hs 261;" f
checkFBO src/Framebuffer/Check.hs 6;" f
checkGLError src/GLHelp.hs 17;" f
checkGLError src/GLHelp.hs 14;" f
checkInvSlotsYou src/Dodge/Inventory/CheckSlots.hs 18;" f
checkInventorySelectionExists src/Dodge/DisplayInventory.hs 93;" f
checkTermDist src/Dodge/Update.hs 316;" f
@@ -2783,7 +2785,7 @@ clang2S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 676;" f
clangS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 542;" f
cldtPropagateFold src/Dodge/DoubleTree.hs 358;" f
cleanUpPreload src/Preload.hs 10;" f
cleanUpRenderPreload src/Preload/Render.hs 243;" f
cleanUpRenderPreload src/Preload/Render.hs 258;" f
cleanUpSoundPreload src/Preload.hs 15;" f
cleanupHalted src/Sound.hs 117;" f
cleatLabel src/Dodge/Cleat.hs 30;" f
@@ -2848,7 +2850,7 @@ compP2A src/Dodge/ShiftPoint.hs 11;" f
compactDraw src/Dodge/LevelGen.hs 94;" f
compactDraw' src/Dodge/LevelGen.hs 105;" f
compactDrawTree src/Dodge/LevelGen.hs 88;" f
compileAndCheckShader src/Shader/Compile.hs 277;" f
compileAndCheckShader src/Shader/Compile.hs 283;" f
composeNode src/Dodge/Tree/Compose.hs 76;" f
composeTree src/Dodge/Tree/Compose.hs 47;" f
computerBeepingS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 640;" f
@@ -2869,7 +2871,7 @@ copier src/Dodge/Item/Scope.hs 88;" f
copierItemUpdate src/Dodge/Creature/State.hs 131;" f
copyItemToFloor src/Dodge/FloorItem.hs 14;" f
corDoor src/Dodge/Room/Room.hs 385;" f
cornerList src/Preload/Render.hs 220;" f
cornerList src/Preload/Render.hs 235;" f
corpseOrGib src/Dodge/Creature/Update.hs 111;" f
corridor src/Dodge/Room/Corridor.hs 17;" f
corridorBoss src/Dodge/LockAndKey.hs 133;" f
@@ -2995,7 +2997,7 @@ damageSensor src/Dodge/Placement/Instance/Sensor.hs 14;" f
damageStone src/Dodge/Material/Damage.hs 33;" f
damageThingHit src/Dodge/Bullet.hs 180;" f
damageTypeThreshold src/Dodge/Placement/Instance/Sensor.hs 34;" f
damageWall src/Dodge/Wall/Damage.hs 42;" f
damageWall src/Dodge/Wall/Damage.hs 28;" f
damsToExpBarrel src/Dodge/Barreloid.hs 50;" f
dark src/Color.hs 108;" f
darkenBackground src/Dodge/Render/MenuScreen.hs 32;" f
@@ -3092,15 +3094,15 @@ deleteWallIDs src/Dodge/Wall/Delete.hs 27;" f
denormalEdges src/Polyhedra.hs 136;" f
destroyAllInvItems src/Dodge/Inventory.hs 53;" f
destroyBlock src/Dodge/Block.hs 17;" f
destroyDoor src/Dodge/Wall/Damage.hs 66;" f
destroyDoor src/Dodge/Wall/Damage.hs 54;" f
destroyInvItem src/Dodge/Inventory.hs 40;" f
destroyItem src/Dodge/Inventory.hs 62;" f
destroyLSFlashAt src/Dodge/LightSource.hs 44;" f
destroyMachine src/Dodge/Machine/Destroy.hs 13;" f
destroyMatS src/Dodge/Material/Sound.hs 7;" f
destroyMcType src/Dodge/Machine/Destroy.hs 22;" f
destroyMount src/Dodge/Wall/Damage.hs 87;" f
destroyMounts src/Dodge/Wall/Damage.hs 84;" f
destroyMount src/Dodge/Wall/Damage.hs 75;" f
destroyMounts src/Dodge/Wall/Damage.hs 72;" f
destroyProjectile src/Dodge/Projectile/Update.hs 109;" f
detV src/Geometry/Vector.hs 94;" f
detector src/Dodge/Item/Held/Utility.hs 27;" f
@@ -3185,7 +3187,7 @@ doRoomShift src/Dodge/Room/Link.hs 33;" f
doScopeZoom src/Dodge/Update/Scroll.hs 91;" f
doSectionSize src/Dodge/DisplayInventory.hs 211;" f
doSideEffects appDodge/Main.hs 125;" f
doStrategyActions src/Dodge/Creature/ReaderUpdate.hs 171;" f
doStrategyActions src/Dodge/Creature/ReaderUpdate.hs 172;" f
doTestDrawing src/Dodge/Render.hs 41;" f
doTextInputOver src/Dodge/Update/Input/Text.hs 15;" f
doTextInputOverUniverse src/Dodge/Update/Input/Text.hs 12;" f
@@ -3471,7 +3473,7 @@ fleeFrom src/Dodge/CreatureEffect.hs 92;" f
flickerMod src/Dodge/Placement/Instance/LightSource/Flicker.hs 10;" f
flickerUpdate src/Dodge/Placement/Instance/LightSource/Flicker.hs 24;" f
floatSize src/Shader/Parameters.hs 17;" f
flockACC src/Dodge/Creature/ReaderUpdate.hs 95;" f
flockACC src/Dodge/Creature/ReaderUpdate.hs 96;" f
flockArmourChaseCrit src/Dodge/Creature/ArmourChase.hs 14;" f
flockChaseTarget src/Dodge/Creature/Boid.hs 188;" f
flockPointTarget src/Dodge/Creature/Boid.hs 204;" f
@@ -3496,7 +3498,7 @@ forceSpine src/StrictHelp.hs 4;" f
fourEmbossDecoration src/Dodge/Placement/TopDecoration.hs 29;" f
fpsText src/Dodge/Render/Picture.hs 59;" f
fractionLoadedAmmo src/Dodge/Item/Draw/SPic.hs 145;" f
frag src/Shader/Data.hs 102;" f
frag src/Shader/Data.hs 100;" f
freeShaderPointers' src/Shader.hs 37;" f
fridgeHumS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 500;" f
fromJust' src/MaybeHelp.hs 22;" f
@@ -3526,7 +3528,7 @@ generateGraphs src/Dodge/Menu.hs 149;" f
generateLayout src/Dodge/Layout/Generate.hs 10;" f
generateLevelFromRoomList src/Dodge/Layout.hs 35;" f
generateWorldFromSeed src/Dodge/LevelGen.hs 17;" f
geom src/Shader/Data.hs 102;" f
geom src/Shader/Data.hs 100;" f
geometryQuickCheckTests test/Spec.hs 55;" f
geometryTests test/Spec.hs 17;" f
geometryUnitTests test/Spec.hs 22;" f
@@ -3545,7 +3547,7 @@ getCrMoveSpeed src/Dodge/Creature/Statistics.hs 50;" f
getCrsFromRooms src/Dodge/Room/Tutorial.hs 357;" f
getCrsFromRooms' src/Dodge/Room/Tutorial.hs 344;" f
getDebugMouseOver src/Dodge/Update.hs 374;" f
getDistortions src/Dodge/Render.hs 470;" f
getDistortions src/Dodge/Render.hs 472;" f
getEdgesCrossing src/Dodge/Path.hs 37;" f
getGrenadeHitEffect src/Dodge/HeldUse.hs 1264;" f
getInventoryPath src/Dodge/Inventory/Path.hs 9;" f
@@ -3577,7 +3579,6 @@ girder src/Dodge/Room/Foreground.hs 206;" f
girderV src/Dodge/Room/Foreground.hs 177;" f
girderV' src/Dodge/Room/Foreground.hs 153;" f
girderZ src/Dodge/Room/Foreground.hs 108;" f
glNamedBufferSubDataH src/Shader/Bind.hs 53;" f
glassLesson src/Dodge/Room/GlassLesson.hs 23;" f
glassLessonRunPast src/Dodge/Room/GlassLesson.hs 68;" f
glassShat1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 648;" f
@@ -3589,7 +3590,7 @@ glassSwitchBackCrits src/Dodge/Room/Room.hs 106;" f
glauncherPic src/Dodge/Item/Draw/SPic.hs 400;" f
glushortSize src/Shader/Parameters.hs 25;" f
goToPostStrat src/Dodge/Creature/Strategy.hs 10;" f
goToTarget src/Dodge/Creature/ReaderUpdate.hs 149;" f
goToTarget src/Dodge/Creature/ReaderUpdate.hs 150;" f
grahamEliminate src/Geometry/Polygon.hs 163;" f
grahamScan src/Geometry/Polygon.hs 154;" f
grapeCannon src/Dodge/Item/Held/Cone.hs 17;" f
@@ -3697,7 +3698,7 @@ initWallZoning src/Dodge/Wall/Zone.hs 12;" f
initialRoomTree src/Dodge/Floor.hs 24;" f
initialWorld src/Dodge/Initialisation.hs 15;" f
initialisePlaying src/Sound.hs 77;" f
initializeGLState src/Preload/Render.hs 238;" f
initializeGLState src/Preload/Render.hs 253;" f
initializeOptionMenu src/Dodge/Menu/Option.hs 17;" f
initializeOptionMenuBO src/Dodge/Menu/Option.hs 30;" f
initializeTexture2D src/Framebuffer/Update.hs 203;" f
@@ -3939,7 +3940,7 @@ linksOnPath src/Dodge/Room/CheckConsistency.hs 6;" f
listConfig src/Dodge/Menu.hs 233;" f
listControls src/Dodge/Menu.hs 245;" f
listCursorChooseBorderScale src/Dodge/Render/List.hs 135;" f
listGuard src/Dodge/Creature/ReaderUpdate.hs 195;" f
listGuard src/Dodge/Creature/ReaderUpdate.hs 196;" f
listSelectionColorPicture src/Dodge/DisplayInventory.hs 302;" f
litCorridor90 src/Dodge/Room/RoadBlock.hs 26;" f
lmt src/MatrixHelper.hs 53;" f
@@ -4015,7 +4016,7 @@ makeBlockDebris src/Dodge/Block/Debris.hs 36;" f
makeBoolOption src/Dodge/Menu/OptionType.hs 8;" f
makeBullet src/Dodge/HeldUse.hs 979;" f
makeButton src/Dodge/LevelGen/Switch.hs 16;" f
makeByteStringShaderUsingVAO src/Shader/Compile.hs 128;" f
makeByteStringShaderUsingVAO src/Shader/Compile.hs 132;" f
makeCloudAt src/Dodge/WorldEvent/Cloud.hs 7;" f
makeColorTermLine src/Dodge/Terminal.hs 111;" f
makeColorTermPara src/Dodge/Terminal.hs 108;" f
@@ -4042,13 +4043,13 @@ makePathUsing src/Dodge/Path.hs 51;" f
makePoisonExplosionAt src/Dodge/WorldEvent/Explosion.hs 24;" f
makeSelectionListPictures src/Dodge/Render/List.hs 66;" f
makeShaderEBO src/Shader/Compile.hs 53;" f
makeShaderProgram src/Shader/Compile.hs 241;" f
makeShaderUsingVAO src/Shader/Compile.hs 146;" f
makeShaderProgram src/Shader/Compile.hs 247;" f
makeShaderUsingVAO src/Shader/Compile.hs 150;" f
makeShaderUsingVBO src/Shader/Compile.hs 69;" f
makeShaderVBO src/Shader/Compile.hs 32;" f
makeShockwaveAt src/Dodge/WorldEvent/Shockwave.hs 11;" f
makeShrapnelAt src/Dodge/Payload.hs 24;" f
makeSourcedShader src/Shader/Compile.hs 167;" f
makeSourcedShader src/Shader/Compile.hs 171;" f
makeSpark src/Dodge/Spark.hs 45;" f
makeSubmenuOption src/Dodge/Menu/OptionType.hs 19;" f
makeSwitch src/Dodge/LevelGen/Switch.hs 38;" f
@@ -4068,8 +4069,8 @@ maxInvSlots src/Dodge/Inventory/CheckSlots.hs 30;" f
maxShowX src/Dodge/Combine/Graph.hs 48;" f
maxViewDistance src/Dodge/Viewpoints.hs 26;" f
maybeBlockedPassage src/Dodge/Room/RezBox.hs 80;" f
maybeDestroyBlock src/Dodge/Wall/Damage.hs 56;" f
maybeDestroyDoor src/Dodge/Wall/Damage.hs 61;" f
maybeDestroyBlock src/Dodge/Wall/Damage.hs 44;" f
maybeDestroyDoor src/Dodge/Wall/Damage.hs 49;" f
maybeExitCombine src/Dodge/Update/Input/InGame.hs 562;" f
maybeOpenConsole src/Dodge/Update.hs 126;" f
maybeReadFile src/Dodge/LoadSeed.hs 10;" f
@@ -4118,7 +4119,7 @@ metal6S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 692;" f
metal7S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 536;" f
metalPlate src/Dodge/Item/Craftable.hs 35;" f
mglCreate src/GLHelp.hs 8;" f
mglDelete src/GLHelp.hs 14;" f
mglDelete src/GLHelp.hs 11;" f
midBarDecoration src/Dodge/Placement/TopDecoration.hs 16;" f
midBounds src/Dodge/Room/Foreground.hs 150;" f
midChasm src/Dodge/Room/Tutorial.hs 171;" f
@@ -4279,7 +4280,7 @@ overlapCircWalls src/Dodge/Base/Collide.hs 230;" f
overlapCircWallsClosest src/Dodge/Base/Collide.hs 272;" f
overlapSegCrs src/Dodge/Base/Collide.hs 59;" f
overlapSegWalls src/Dodge/Base/Collide.hs 211;" f
overrideInternal src/Dodge/Creature/ReaderUpdate.hs 179;" f
overrideInternal src/Dodge/Creature/ReaderUpdate.hs 180;" f
overrideMeleeCloseTarget src/Dodge/Creature/ReaderUpdate.hs 35;" f
overwriteLabel src/Dodge/Tree/Compose.hs 31;" f
p src/ShortShow.hs 48;" f
@@ -4351,16 +4352,16 @@ playSoundAndUpdate src/Sound.hs 54;" f
playSoundQueue src/Sound.hs 132;" f
playSoundUnlessRewinding appDodge/Main.hs 118;" f
plusDecoration src/Dodge/Placement/TopDecoration.hs 35;" f
pmLineLoop src/Shader/Data.hs 107;" f
pmLineStrip src/Shader/Data.hs 107;" f
pmLines src/Shader/Data.hs 107;" f
pmLinesAdjacency src/Shader/Data.hs 107;" f
pmPatches src/Shader/Data.hs 107;" f
pmPoints src/Shader/Data.hs 107;" f
pmQuads src/Shader/Data.hs 107;" f
pmTriangleFan src/Shader/Data.hs 107;" f
pmTriangleStrip src/Shader/Data.hs 107;" f
pmTriangles src/Shader/Data.hs 107;" f
pmLineLoop src/Shader/Data.hs 105;" f
pmLineStrip src/Shader/Data.hs 105;" f
pmLines src/Shader/Data.hs 105;" f
pmLinesAdjacency src/Shader/Data.hs 105;" f
pmPatches src/Shader/Data.hs 105;" f
pmPoints src/Shader/Data.hs 105;" f
pmQuads src/Shader/Data.hs 105;" f
pmTriangleFan src/Shader/Data.hs 105;" f
pmTriangleStrip src/Shader/Data.hs 105;" f
pmTriangles src/Shader/Data.hs 105;" f
pnZoneSize src/Dodge/Zoning/Pathing.hs 26;" f
pointIfNotClose src/Dodge/LevelGen/StaticWalls/Deprecated.hs 68;" f
pointInCircle src/Geometry.hs 209;" f
@@ -4604,7 +4605,7 @@ renderLayer src/Render.hs 240;" f
renderLightingNoShadows src/Render.hs 48;" f
renderListAt src/Dodge/Render/List.hs 192;" f
renderShadows src/Render.hs 122;" f
replaceNullWith src/Dodge/Creature/ReaderUpdate.hs 167;" f
replaceNullWith src/Dodge/Creature/ReaderUpdate.hs 168;" f
replacePutID src/Dodge/Placement/Instance/Wall.hs 105;" f
resetCrVocCoolDown src/Dodge/Creature/Vocalization.hs 47;" f
resetPLUse src/Dodge/PlacementSpot.hs 92;" f
@@ -4751,7 +4752,7 @@ seagullCry2S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 576;" f
seagullCryS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 588;" f
seagullWhistle1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 502;" f
seagullWhistleS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 718;" f
searchIfDamaged src/Dodge/Creature/ReaderUpdate.hs 212;" f
searchIfDamaged src/Dodge/Creature/ReaderUpdate.hs 213;" f
secondColumnLDP src/Dodge/ListDisplayParams.hs 43;" f
sectionsDesiredLines src/Dodge/DisplayInventory.hs 198;" f
sectionsSizes src/Dodge/DisplayInventory.hs 201;" f
@@ -4803,38 +4804,38 @@ setRBCreatureTargeting src/Dodge/Creature/State.hs 290;" f
setRoomInt src/Dodge/Room/Tutorial.hs 91;" f
setSelWhileDragging src/Dodge/Update/Input/InGame.hs 337;" f
setSelectionListRestriction src/Dodge/Update/Input/ScreenLayer.hs 87;" f
setShaderSource src/Shader/Compile.hs 290;" f
setShaderSource src/Shader/Compile.hs 296;" f
setShadowLimits src/Dodge/Shadows.hs 11;" f
setSoundVolume src/Sound.hs 157;" f
setTargetMv src/Dodge/Creature/ReaderUpdate.hs 82;" f
setTargetMv src/Dodge/Creature/ReaderUpdate.hs 83;" f
setTile src/Dodge/Layout.hs 70;" f
setTiles src/Dodge/Layout.hs 67;" f
setTreeInts src/Dodge/Room/Tutorial.hs 98;" f
setViewDistance src/Dodge/Update/Camera.hs 239;" f
setViewPos src/Dodge/Creature/ReaderUpdate.hs 69;" f
setViewport src/Dodge/Render.hs 475;" f
setViewport src/Dodge/Render.hs 477;" f
setVol src/Dodge/Config.hs 47;" f
setWristShieldPos src/Dodge/Equipment.hs 49;" f
setWristShieldPos src/Dodge/Euse.hs 38;" f
setupConLoop src/Loop.hs 103;" f
setupConLoop' src/Loop.hs 193;" f
setupEBO src/Shader/Compile.hs 188;" f
setupEBO src/Shader/Compile.hs 192;" f
setupFramebuffer2GivenStencil src/Framebuffer/Setup.hs 46;" f
setupFramebuffer3GivenStencil src/Framebuffer/Setup.hs 62;" f
setupFramebufferGivenStencil src/Framebuffer/Setup.hs 31;" f
setupLoop src/Loop.hs 30;" f
setupShadowFramebuffer src/Framebuffer/Setup.hs 24;" f
setupStaticVBOVAO src/Shader/Compile.hs 100;" f
setupVAOUsingVBO src/Shader/Compile.hs 179;" f
setupStaticVBOVAO src/Shader/Compile.hs 102;" f
setupVAOUsingVBO src/Shader/Compile.hs 183;" f
setupVBO src/Shader/Compile.hs 83;" f
setupVBOStatic src/Shader/Compile.hs 116;" f
setupVBOVAO src/Shader/Compile.hs 200;" f
setupVertexAttribPointer src/Shader/Compile.hs 224;" f
setupVertexAttribs src/Shader/Compile.hs 218;" f
setupVBOStatic src/Shader/Compile.hs 118;" f
setupVBOVAO src/Shader/Compile.hs 206;" f
setupVertexAttribPointer src/Shader/Compile.hs 230;" f
setupVertexAttribs src/Shader/Compile.hs 224;" f
setupWorldBounds src/Dodge/Layout.hs 116;" f
sfInvColor src/Dodge/Item/InventoryColor.hs 12;" f
shadVBOptr src/Shader.hs 40;" f
shaderTypeExt src/Shader/Compile.hs 172;" f
shaderTypeExt src/Shader/Compile.hs 176;" f
shapeBounds src/Dodge/Room/Foreground.hs 147;" f
shapePoints src/Dodge/Room/Foreground.hs 144;" f
shapeVerxAttributes src/Shape/Parameters.hs 13;" f
@@ -5028,7 +5029,7 @@ stone4S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 484;" f
stone5S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 626;" f
stopAllSounds src/Sound.hs 125;" f
stopBulletAt src/Dodge/Bullet.hs 200;" f
stopPushing src/Dodge/Wall/Damage.hs 92;" f
stopPushing src/Dodge/Wall/Damage.hs 80;" f
stopSoundFrom src/Dodge/SoundLogic.hs 220;" f
strFromEquipment src/Dodge/Creature/Statistics.hs 53;" f
strFromHeldItem src/Dodge/Creature/Statistics.hs 67;" f
@@ -5076,7 +5077,7 @@ targCorner src/Dodge/Targeting/Draw.hs 35;" f
targetCursorPic src/Dodge/Targeting/Draw.hs 41;" f
targetYouCognizant src/Dodge/Creature/ChooseTarget.hs 14;" f
targetYouLOS src/Dodge/Creature/ChooseTarget.hs 8;" f
targetYouWhenCognizant src/Dodge/Creature/ReaderUpdate.hs 201;" f
targetYouWhenCognizant src/Dodge/Creature/ReaderUpdate.hs 202;" f
targetYouWhenCognizant src/Dodge/Creature/SetTarget.hs 9;" f
targetingScope src/Dodge/Item/Scope.hs 38;" f
teleS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 528;" f
@@ -5146,7 +5147,7 @@ toBinary src/Dodge/Inventory/SelectionList.hs 141;" f
toBothLnk src/Dodge/RoomLink.hs 136;" f
toClosestMultiple src/HelpNum.hs 3;" f
toColor8 src/Color.hs 148;" f
toFloatVAs src/Shader/Compile.hs 211;" f
toFloatVAs src/Shader/Compile.hs 217;" f
toLabel src/Dodge/Cleat.hs 16;" f
toMultiset src/Multiset.hs 64;" f
toOnward src/Dodge/Tree/Compose.hs 101;" f
@@ -5310,9 +5311,9 @@ updateDoors src/Dodge/Update.hs 308;" f
updateDust src/Dodge/Update.hs 820;" f
updateDusts src/Dodge/Update.hs 670;" f
updateEdge src/Dodge/Path.hs 43;" f
updateEdgeWallObs src/Dodge/Update/WallDamage.hs 50;" f
updateEdgesWall src/Dodge/Update/WallDamage.hs 34;" f
updateEdgesWall' src/Dodge/Update/WallDamage.hs 47;" f
updateEdgeWallObs src/Dodge/Update/WallDamage.hs 38;" f
updateEdgesWall src/Dodge/Update/WallDamage.hs 22;" f
updateEdgesWall' src/Dodge/Update/WallDamage.hs 35;" f
updateEnergyBall src/Dodge/EnergyBall.hs 31;" f
updateEnergyBalls src/Dodge/Update.hs 658;" f
updateEnterRegex src/Dodge/Update/Input/InGame.hs 505;" f
@@ -5393,7 +5394,7 @@ updateUniverseMid src/Dodge/Update.hs 156;" f
updateUseInputInGame src/Dodge/Update/Input/InGame.hs 45;" f
updateUseInputOnScreen src/Dodge/Update/Input/ScreenLayer.hs 23;" f
updateWalkCycle src/Dodge/Creature/State/WalkCycle.hs 11;" f
updateWallDamages src/Dodge/Update/WallDamage.hs 25;" f
updateWallDamages src/Dodge/Update/WallDamage.hs 15;" f
updateWheelEvent src/Dodge/Update/Scroll.hs 25;" f
updateWheelEvents src/Dodge/Update.hs 412;" f
updateWorldEventFlag src/Dodge/Update.hs 120;" f
@@ -5444,10 +5445,10 @@ vShape src/Dodge/Placement/Instance/LightSource.hs 93;" f
vToL src/MatrixHelper.hs 56;" f
vToQuat src/Quaternion.hs 42;" f
validTerminalCommands src/Dodge/Debug/Terminal.hs 137;" f
vasTightStride src/Shader/Compile.hs 297;" f
vasTightStride src/Shader/Compile.hs 303;" f
vecBetweenSpeed src/Dodge/Base.hs 146;" f
vecTurnTo src/Dodge/Movement/Turn.hs 19;" f
vert src/Shader/Data.hs 102;" f
vert src/Shader/Data.hs 100;" f
vertScale src/MatrixHelper.hs 95;" f
vertTrans src/MatrixHelper.hs 103;" f
verticalPipe src/Dodge/Picture.hs 19;" f
@@ -5457,7 +5458,7 @@ vgunMuzzles src/Dodge/HeldUse.hs 341;" f
viewBoundaries src/Dodge/Debug/Picture.hs 331;" f
viewClipBounds src/Dodge/Debug/Picture.hs 340;" f
viewDistanceFromItems src/Dodge/Update/Camera.hs 197;" f
viewTarget src/Dodge/Creature/ReaderUpdate.hs 154;" f
viewTarget src/Dodge/Creature/ReaderUpdate.hs 155;" f
violet src/Color.hs 21;" f
visibleWalls src/Dodge/Base/Collide.hs 216;" f
visionCheck src/Dodge/Creature/Perception.hs 152;" f
@@ -5480,7 +5481,7 @@ wasdM src/Dodge/WASD.hs 9;" f
wasdMovement src/Dodge/Creature/YourControl.hs 169;" f
wasdWithAiming src/Dodge/Creature/YourControl.hs 126;" f
watchCombinations src/Dodge/Combine/Combinations.hs 16;" f
watchUpdateStrat src/Dodge/Creature/ReaderUpdate.hs 184;" f
watchUpdateStrat src/Dodge/Creature/ReaderUpdate.hs 185;" f
weakenMatS src/Dodge/Material/Sound.hs 19;" f
weaponBehindPillar src/Dodge/Room/Room.hs 186;" f
weaponBetweenPillars src/Dodge/Room/Room.hs 202;" f
@@ -5512,7 +5513,7 @@ windowLine src/Dodge/Placement/Instance/Wall.hs 59;" f
windowXFloat src/Dodge/Data/Config.hs 61;" f
windowYFloat src/Dodge/Data/Config.hs 63;" f
withAlpha src/Color.hs 10;" f
withByteString src/Shader/Compile.hs 324;" f
withByteString src/Shader/Compile.hs 330;" f
wlIXsNearCirc src/Dodge/Zoning/Wall.hs 32;" f
wlIXsNearPoint src/Dodge/Zoning/Wall.hs 22;" f
wlIXsNearRect src/Dodge/Zoning/Wall.hs 29;" f