diff --git a/shader/dualTwoD/ellipse.vert b/shader/dualTwoD/ellipse.vert index ef8d8e737..e23911b65 100644 --- a/shader/dualTwoD/ellipse.vert +++ b/shader/dualTwoD/ellipse.vert @@ -5,7 +5,6 @@ layout (std140, binding = 0) uniform TheMat { mat4 theMat; } ; out vec4 vCol; void main() { - //gl_Position = theMat * vec4(pos,1); gl_Position = vec4(pos,1); vCol = col; } diff --git a/shader/lighting/lineShadow.vert b/shader/lighting/lineShadow.vert index 64bd706f7..b6e393b7b 100644 --- a/shader/lighting/lineShadow.vert +++ b/shader/lighting/lineShadow.vert @@ -58,7 +58,8 @@ void main() // that is, if the normals of the faces connected to the edge are in // "different directions" wrt the light direction // (first test the "drawbit") - if (p0.w==1 && dot(n0, lightDir) * dot(n1, lightDir) <= 0 && + //if (p0.w==1 && dot(n0, lightDir) * dot(n1, lightDir) <= 0 && + if ( dot(n0, lightDir) * dot(n1, lightDir) <= 0 && (dot(lightDir, lightDir) < ru2 || dot(lightDir2, lightDir2) < ru2)) // using <= rather than < seems to get rid of overlapping shadow // artefacts diff --git a/shader/picture/charArray.vert b/shader/picture/charArray.vert index 27146b61f..82206df0e 100644 --- a/shader/picture/charArray.vert +++ b/shader/picture/charArray.vert @@ -1,7 +1,8 @@ #version 450 core layout (location = 0) in vec3 inPos; layout (location = 1) in vec4 inColor; -layout (location = 2) in vec4 inTexCoord; +//layout (location = 2) in vec4 inTexCoord; +layout (location = 2) in vec3 inTexCoord; layout (std140, binding = 0) uniform TheMat { mat4 theMat; } ; out vec4 vColor; out vec3 vTexCoord; @@ -9,5 +10,6 @@ void main() { gl_Position = theMat * vec4(inPos.xyz, 1.0); vColor = inColor; - vTexCoord = inTexCoord.xyz; + //vTexCoord = inTexCoord.xyz; + vTexCoord = inTexCoord; } diff --git a/src/Dodge/Data/Config.hs b/src/Dodge/Data/Config.hs index 026617653..75e0a6ccf 100644 --- a/src/Dodge/Data/Config.hs +++ b/src/Dodge/Data/Config.hs @@ -33,6 +33,16 @@ data NumShadowCasters | NumLight18 | NumLight19 | NumLight20 + | NumLight21 + | NumLight22 + | NumLight23 + | NumLight24 + | NumLight25 + | NumLight26 + | NumLight27 + | NumLight28 + | NumLight29 + | NumLight30 deriving (Show,Eq,Bounded,Ord,Enum) data Config = Config diff --git a/src/Dodge/Render.hs b/src/Dodge/Render.hs index aea88e924..4fb58ddc8 100644 --- a/src/Dodge/Render.hs +++ b/src/Dodge/Render.hs @@ -138,14 +138,7 @@ doDrawing' win pdata u = do --draw walls onto base buffer glEnable GL_CULL_FACE glCullFace GL_BACK - -- glUseProgram (pdata ^. wallShader . shaderUINT) - -- glBindVertexArray $ pdata ^. wallShader . shaderVAO . vaoName - -- glDrawArrays - -- (_unPrimitiveMode $ pdata ^. wallShader . shaderPrimitive) - -- 0 - -- (fromIntegral trueNWalls) glUseProgram (pdata ^. pullWallShader) - --glBindVertexArray $ pdata ^. dummyVAO . vaoName glDrawArrays GL_TRIANGLES 0 (fromIntegral trueNWalls * 6) --draw object shapes onto base buffer let fs = _shapeShader pdata @@ -157,11 +150,7 @@ doDrawing' win pdata u = do glDepthMask GL_FALSE glDrawBuffer GL_NONE glStencilOp GL_KEEP GL_KEEP GL_INCR - with 0 $ - glClearNamedFramebufferiv - (pdata ^. fboBase . _1 . unFBO) - GL_STENCIL - 0 + with 0 $ glClearNamedFramebufferiv (pdata ^. fboBase . _1 . unFBO) GL_STENCIL 0 glDrawArrays (_unPrimitiveMode $ pdata ^. chasmShader . shaderPrimitive) 0 @@ -295,12 +284,6 @@ doDrawing' win pdata u = do glUseProgram (pdata ^. cloudShader) -- glDepthMask GL_TRUE glDrawArrays GL_TRIANGLES 0 (fromIntegral nCloudVs * 6) - --glDrawArrays GL_TRIANGLES 0 6 - ----glDrawElements - ---- (pdata ^. cloudShader . shaderPrimitive . unPrimitiveMode) - ---- (fromIntegral nCloudIs) - ---- GL_UNSIGNED_INT - ---- nullPtr --- -- glEnable GL_CULL_FACE -- glEnable GL_DEPTH_CLAMP @@ -382,7 +365,6 @@ doDrawing' win pdata u = do glBindTextureUnit 0 (pdata ^. fboWindow . _2 . _1 . unTO) glBindTextureUnit 1 (pdata ^. fboWindow . _2 . _2 . unTO) glBindTextureUnit 2 (pdata ^. fboCloud . _2 . _1 . unTO) - --glBindTextureUnit 3 (pdata ^. fboCloud . _2 . _2 . unTO) glBindTextureUnit 3 (pdata ^. fboPos . _2 . unTO) --drawShader (_transparencyCompShader pdata) 4 diff --git a/src/Picture/Base.hs b/src/Picture/Base.hs index 7644d47ae..abadabede 100644 --- a/src/Picture/Base.hs +++ b/src/Picture/Base.hs @@ -221,7 +221,7 @@ drawText :: Float -> String -> [Verx] {-# INLINE drawText #-} drawText gap = map f . stringToList gap where - f (pos, col, V3 a b c) = Verx pos col [a, b, c, 1] minBound TextShad + f (pos, col, V3 a b c) = Verx pos col [a, b, c] minBound TextShad line :: [Point2] -> Picture {-# INLINE line #-} diff --git a/src/Picture/Data.hs b/src/Picture/Data.hs index f5d4340a1..5a4d3dea1 100644 --- a/src/Picture/Data.hs +++ b/src/Picture/Data.hs @@ -18,8 +18,6 @@ data Verx = Verx deriving (Eq, Ord, Show, Read) --Generic, Flat) data Layer --- = BottomLayer --- | MidLayer = BloomLayer | BloomNoZWrite | DebugLayer diff --git a/src/Preload/Render.hs b/src/Preload/Render.hs index 5ed7605e7..d5d6e1132 100644 --- a/src/Preload/Render.hs +++ b/src/Preload/Render.hs @@ -108,7 +108,8 @@ preloadRender = do aslist <- makeShaderVBO "dualTwoD/arc" [vert, frag] (toFloatVAs [3, 4, 3]) pmTriangles eslist <- makeShaderVBO "dualTwoD/ellipse" [vert, geom, frag] (toFloatVAs [3, 4]) pmTriangles cslist <- - makeShaderVBO "picture/charArray" [vert, frag] (toFloatVAs [3, 4, 4]) pmTriangles + --makeShaderVBO "picture/charArray" [vert, frag] (toFloatVAs [3, 4, 4]) pmTriangles + makeShaderVBO "picture/charArray" [vert, frag] (toFloatVAs [3, 4, 3]) pmTriangles shadV <- MV.new 4 zipWithM_ (MV.write shadV) @@ -121,7 +122,6 @@ preloadRender = do -- GL_NEAREST_MIPMAP_LINEAR GL_LINEAR ? initTexture2DArray 50 "data/charMaps/cMap16x32.Custom.png" 2 16 32 256 GL_NEAREST GL_NEAREST putStrLn "Setup full screen shaders" --- (_, screentexturevao) <- setupStaticVBOVAO (toFloatVAs [2, 2]) (concat cornerList) alphadivideshader <- makeSourcedShader "texture2D/alphaDivide" [vert, frag] fsShad <- makeSourcedShader "texture/simple" [vert, frag] transcompshader <- makeSourcedShader "fullscreen/transparencyComp" [vert, frag] diff --git a/src/Render.hs b/src/Render.hs index e745e23da..bf6c3c19c 100644 --- a/src/Render.hs +++ b/src/Render.hs @@ -135,12 +135,11 @@ renderShadows shadrendertype nWalls nSils nCaps positiontexture normaltexture li glDepthMask GL_FALSE -- clearColor is specified differently in preloadRender -- the colors are inverted - withArray [1, 1, 1, 1] $ \ptr -> + withArray [1, 1, 1, 1] $ glClearNamedFramebufferfv (pdata ^. fboLighting . _1 . unFBO) GL_COLOR 0 - ptr -- setup stencil and blending glBlendFunc GL_ZERO GL_ONE_MINUS_SRC_COLOR glStencilOpSeparate GL_FRONT GL_KEEP GL_KEEP GL_INCR_WRAP diff --git a/src/Shader/Bind.hs b/src/Shader/Bind.hs index e1211652e..3260b64eb 100644 --- a/src/Shader/Bind.hs +++ b/src/Shader/Bind.hs @@ -29,13 +29,13 @@ bufferEBO :: UintBO -> Int -> IO () bufferEBO x i = glNamedBufferSubData (x ^. uiboName) 0 (fromIntegral $ gluintSize * i) (x ^. uiboPtr) -bufferShaderLayers :: MV.MVector (PrimState IO) (Shader, VBO) -> UMV.MVector (PrimState IO) Int -> IO () +bufferShaderLayers + :: MV.MVector (PrimState IO) (Shader, VBO) -> UMV.MVector (PrimState IO) Int -> IO () bufferShaderLayers shads counts = MV.imapM_ f shads where f i shad = do let theVBO = snd shad stride = _vboVertexBytes theVBO `div` floatSize - --VFSM.mapM_ (g stride theVBO) $ VFSM.enumFromStepN 0 1 6 -- [0..5] VFSM.mapM_ (g stride theVBO) $ VFSM.enumFromStepN 0 1 numLayers -- [0..5] where g stride theVBO lay = do diff --git a/src/Shader/Poke.hs b/src/Shader/Poke.hs index 2c0a227e2..b45f575c6 100644 --- a/src/Shader/Poke.hs +++ b/src/Shader/Poke.hs @@ -237,15 +237,13 @@ pokeBox :: IO (Int, Int, Int) {-# INLINE pokeBox #-} pokeBox sfid col size ptr iptr ieptr (nv, nsi, nei) svs = do - nv' <- VFSM.foldM' (pokeBoxSurface xdata col ptr svsv) nv $ VFSM.fromList $ memoBoxSurfaces V.! size --- nv' <- VFSM.foldM' (pokeBoxSurface xdata col ptr svsv) nv $ VFSM.fromList $ boxSurfaces size + nv' <- VFSM.foldM' (pokeBoxSurface xdata col ptr svsv) nv + $ VFSM.fromList $ memoBoxSurfaces V.! size nsi' <- UV.foldM' (pokeIndex nv iptr) nsi (memoFlatIndices V.! (size -3)) --- VFSM.foldM' (pokeIndex nv iptr) nsi --- (VFSM.fromList . concatMap polyToTris $ boxSurfacesIndices size) nei' <- if sfid then return nei @@ -476,7 +474,11 @@ pokeLayVerxs :: IO () pokeLayVerxs vbos counts = VFSM.mapM_ (pokeLayVerx vbos counts) . VFSM.fromList -pokeLayVerx :: MV.MVector (PrimState IO) (Shader, VBO) -> UMV.MVector (PrimState IO) Int -> Verx -> IO () +pokeLayVerx + :: MV.MVector (PrimState IO) (Shader, VBO) + -> UMV.MVector (PrimState IO) Int + -> Verx + -> IO () {-# INLINE pokeLayVerx #-} pokeLayVerx vbos counts vx = do theOff <- UMV.unsafeRead counts vecPos @@ -498,7 +500,8 @@ pokeLayVerx vbos counts vx = do pokeStride :: ShadNum -> Int {-# INLINE pokeStride #-} pokeStride PolyShad = 7 -pokeStride TextShad = 11 +--pokeStride TextShad = 11 +pokeStride TextShad = 10 pokeStride ArcShad = 10 pokeStride EllShad = 7 diff --git a/tags b/tags index 8913873e7..c9a890df5 100644 --- a/tags +++ b/tags @@ -45,7 +45,7 @@ AimStance src/Dodge/Data/AimStance.hs 10;" t Aiming src/Dodge/Data/Creature/Stance.hs 34;" C AirFiltrationSS src/Dodge/Data/Scenario.hs 95;" C AlienContact src/Dodge/Data/Scenario.hs 30;" C -AllRoomClipBoundaries src/Dodge/Data/Config.hs 110;" C +AllRoomClipBoundaries src/Dodge/Data/Config.hs 120;" C AlteRifleSwitch src/Dodge/Data/Item/Params.hs 18;" C Ambush src/Dodge/Data/ActionPlan.hs 130;" C AmmoEffectSF src/Dodge/Data/ComposedItem.hs 33;" C @@ -60,7 +60,7 @@ AmmoTargetingSF src/Dodge/Data/ComposedItem.hs 31;" C AmmoType src/Dodge/Data/AmmoType.hs 5;" t ArbitraryAction src/Dodge/Data/ActionPlan.hs 119;" C ArcNodeType src/Dodge/Data/LWorld.hs 155;" t -ArcShad src/Picture/Data.hs 36;" C +ArcShad src/Picture/Data.hs 34;" C ArcStep src/Dodge/Data/ArcStep.hs 12;" t Arcing src/Dodge/Data/Item/Params.hs 15;" C ArmourySS src/Dodge/Data/Scenario.hs 112;" C @@ -131,13 +131,13 @@ BlockDebris src/Dodge/Data/Prop.hs 23;" C BlockDegradeSound src/Dodge/Data/SoundOrigin.hs 30;" C BlockPart src/Dodge/Data/Wall/Structure.hs 14;" C BlockedLink src/Dodge/Data/Room.hs 50;" C -BloomLayer src/Picture/Data.hs 23;" C -BloomNoZWrite src/Picture/Data.hs 24;" C +BloomLayer src/Picture/Data.hs 21;" C +BloomNoZWrite src/Picture/Data.hs 22;" C Blunt src/Dodge/Data/Damage.hs 17;" C Boosting src/Dodge/Data/Creature/Stance.hs 27;" C BottomMenuOption src/Dodge/Data/Universe.hs 77;" C BounceBullet src/Dodge/Data/Bullet.hs 28;" C -Bound_box_screen src/Dodge/Data/Config.hs 83;" C +Bound_box_screen src/Dodge/Data/Config.hs 93;" C BoundaryCursor src/Dodge/Data/SelectionList.hs 20;" C Bounds src/Dodge/Data/Bounds.hs 10;" t BrigSS src/Dodge/Data/Scenario.hs 102;" C @@ -206,16 +206,16 @@ ChasmObstacle src/Dodge/Data/PathGraph.hs 51;" C ChemFuel src/Dodge/Data/Item/Use/Consumption/Ammo.hs 14;" C ChooseMovementLtAuto src/Dodge/Data/CreatureEffect.hs 29;" C ChooseMovementSpreadGun src/Dodge/Data/CreatureEffect.hs 28;" C -Circ_collision_test src/Dodge/Data/Config.hs 87;" C +Circ_collision_test src/Dodge/Data/Config.hs 97;" C Climate src/Dodge/Data/Scenario.hs 32;" C CloseToMelee src/Dodge/Data/ActionPlan.hs 139;" C -Close_shape_culling src/Dodge/Data/Config.hs 81;" C +Close_shape_culling src/Dodge/Data/Config.hs 91;" C Cloud src/Dodge/Data/Cloud.hs 12;" t CloudType src/Dodge/Data/Cloud.hs 20;" t ClusterLink src/Dodge/Data/RoomCluster.hs 13;" t ClusterStatus src/Dodge/Data/RoomCluster.hs 9;" t Cognizant src/Dodge/Data/Creature/Perception.hs 65;" C -Collision_test src/Dodge/Data/Config.hs 86;" C +Collision_test src/Dodge/Data/Config.hs 96;" C Color src/Color/Data.hs 30;" t Color8 src/Color/Data.hs 32;" t ColorFaction src/Dodge/Data/Creature/State.hs 19;" C @@ -230,7 +230,7 @@ CombineInventoryChange src/Dodge/Data/World.hs 31;" C ComsSS src/Dodge/Data/Scenario.hs 98;" C ConcurrentEffect src/Loop/Data.hs 6;" t ConcurrentEffect src/Loop/Data.hs 11;" C -Config src/Dodge/Data/Config.hs 38;" t +Config src/Dodge/Data/Config.hs 48;" t ConstFloat src/Dodge/Data/GenFloat.hs 9;" C ConsumableItemType src/Dodge/Data/Item/Combine.hs 114;" t ContextDT src/Dodge/Data/DoubleTree.hs 82;" t @@ -270,8 +270,8 @@ CrWdBFSThenReturn src/Dodge/Data/CreatureEffect.hs 27;" C CrWeaponFailSound src/Dodge/Data/SoundOrigin.hs 20;" C CrWeaponSound src/Dodge/Data/SoundOrigin.hs 18;" C CrWlID src/Dodge/Data/CrWlID.hs 10;" t -Cr_awareness src/Dodge/Data/Config.hs 74;" C -Cr_status src/Dodge/Data/Config.hs 73;" C +Cr_awareness src/Dodge/Data/Config.hs 84;" C +Cr_status src/Dodge/Data/Config.hs 83;" C CraftClust src/Dodge/Combine/Graph.hs 18;" C CraftType src/Dodge/Data/Item/Combine.hs 49;" t CreateFlame src/Dodge/Data/Item/Use/Consumption/Ammo.hs 17;" C @@ -284,7 +284,7 @@ Crushing src/Dodge/Data/Damage.hs 19;" C CryoReleaseCloud src/Dodge/Data/Cloud.hs 23;" C CryostatisSS src/Dodge/Data/Scenario.hs 91;" C Crystal src/Dodge/Data/Material.hs 16;" C -Cull_more_lights src/Dodge/Data/Config.hs 80;" C +Cull_more_lights src/Dodge/Data/Config.hs 90;" C CursorDisplay src/Dodge/Data/SelectionList.hs 19;" t Cylinder src/Shape/Data.hs 14;" C DETECTOR src/Dodge/Data/Item/Combine.hs 33;" C @@ -308,11 +308,11 @@ DamageType src/Dodge/Data/Damage/Type.hs 3;" t Debris src/Dodge/Data/Prop.hs 25;" t DebrisChunk src/Dodge/Data/Prop.hs 25;" C DebrisType src/Dodge/Data/Prop.hs 21;" t -DebugBool src/Dodge/Data/Config.hs 66;" t +DebugBool src/Dodge/Data/Config.hs 76;" t DebugItem src/Dodge/Data/Universe.hs 59;" t -DebugLayer src/Picture/Data.hs 25;" C -Debug_get src/Dodge/Data/Config.hs 69;" C -Debug_put src/Dodge/Data/Config.hs 70;" C +DebugLayer src/Picture/Data.hs 23;" C +Debug_get src/Dodge/Data/Config.hs 79;" C +Debug_put src/Dodge/Data/Config.hs 80;" C DecorationShape src/Dodge/Data/GenParams.hs 18;" t DefaultCrGroupUpdate src/Dodge/Data/CrGroupParams.hs 20;" C DefaultForceField src/Dodge/Data/Item/Use/Consumption/Ammo.hs 11;" C @@ -325,7 +325,7 @@ Detector src/Dodge/Data/Item/Combine.hs 181;" t Dirt src/Dodge/Data/Material.hs 12;" C DisasterType src/Dodge/Data/Scenario.hs 24;" t DisplayTerminal src/Dodge/Data/HUD.hs 27;" C -Display_debug src/Dodge/Data/Config.hs 68;" C +Display_debug src/Dodge/Data/Config.hs 78;" C Distortion src/Dodge/Data/Distortion.hs 10;" t DivineRetribution src/Dodge/Data/Scenario.hs 35;" C DoActionIf src/Dodge/Data/ActionPlan.hs 87;" C @@ -346,7 +346,7 @@ DoorDoNothing src/Dodge/Data/Door.hs 43;" C DoorLerp src/Dodge/Data/Door.hs 43;" C DoorPart src/Dodge/Data/Wall/Structure.hs 12;" C DoorUpdate src/Dodge/Data/Door.hs 43;" t -DoubleRes src/Dodge/Data/Config.hs 100;" C +DoubleRes src/Dodge/Data/Config.hs 110;" C DoubleTreeNodeType src/Dodge/Data/DoubleTree.hs 14;" t DrawForceField src/Dodge/Data/Wall.hs 37;" C DrawnWall src/Dodge/Data/Wall.hs 33;" C @@ -364,7 +364,7 @@ Ears src/Dodge/Data/Creature/Perception.hs 45;" C East src/Dodge/Data/CardinalPoint.hs 8;" C East8 src/Dodge/Data/CardinalPoint.hs 30;" C EdgeObstacle src/Dodge/Data/PathGraph.hs 49;" t -EighthRes src/Dodge/Data/Config.hs 100;" C +EighthRes src/Dodge/Data/Config.hs 110;" C Eldritch src/Dodge/Data/Scenario.hs 34;" C ElectricSensor src/Dodge/Data/Machine/Sensor.hs 14;" C ElectricSpark src/Dodge/Data/Spark.hs 19;" C @@ -372,7 +372,7 @@ Electrical src/Dodge/Data/Damage.hs 24;" C ElectricalAmmo src/Dodge/Data/AmmoType.hs 9;" C ElectricalBall src/Dodge/Data/EnergyBall/Type.hs 13;" C Electronics src/Dodge/Data/Material.hs 18;" C -EllShad src/Picture/Data.hs 37;" C +EllShad src/Picture/Data.hs 35;" C EncircleFlock src/Dodge/Data/Creature/State.hs 15;" C EnergyBall src/Dodge/Data/EnergyBall.hs 15;" t EnergyBallType src/Dodge/Data/EnergyBall/Type.hs 10;" t @@ -414,7 +414,7 @@ FailedResource src/Dodge/Data/Scenario.hs 37;" t FetchItem src/Dodge/Data/Scenario.hs 11;" C FireSpark src/Dodge/Data/Spark.hs 19;" C Fixated src/Dodge/Data/Creature/Perception.hs 60;" C -FixedCoordLayer src/Picture/Data.hs 26;" C +FixedCoordLayer src/Picture/Data.hs 24;" C FixedSelectionWidth src/Dodge/Data/SelectionList.hs 39;" C FlIt src/Dodge/Data/FloorItem.hs 11;" C Flame src/Dodge/Data/Flame.hs 11;" t @@ -453,7 +453,7 @@ ForceField src/Dodge/Data/Material.hs 19;" C ForceFieldType src/Dodge/Data/Item/Use/Consumption/Ammo.hs 11;" t ForegroundShape src/Dodge/Data/ForegroundShape.hs 12;" t FromEdge src/Dodge/Data/Room.hs 49;" C -FullRes src/Dodge/Data/Config.hs 100;" C +FullRes src/Dodge/Data/Config.hs 110;" C FullShadowFidelity src/Shape/Data.hs 19;" C FullSize src/Dodge/Data/Item/Params.hs 26;" C FullyVisible src/Dodge/Data/CamouflageStatus.hs 6;" C @@ -481,7 +481,7 @@ GenFloat src/Dodge/Data/GenFloat.hs 9;" t GenParams src/Dodge/Data/GenParams.hs 13;" t GenWorld src/Dodge/Data/GenWorld.hs 23;" t GenericFaction src/Dodge/Data/Creature/State.hs 13;" C -GeoObjShads src/Dodge/Data/Config.hs 104;" C +GeoObjShads src/Dodge/Data/Config.hs 114;" C GetTo src/Dodge/Data/ActionPlan.hs 141;" C GetToPoint src/Dodge/Data/Scenario.hs 12;" C Gib src/Dodge/Data/Prop.hs 22;" C @@ -511,7 +511,7 @@ HOMINGMODULE src/Dodge/Data/Item/Combine.hs 100;" C HOSE src/Dodge/Data/Item/Combine.hs 54;" C HP src/Dodge/Data/Creature.hs 63;" C HUD src/Dodge/Data/HUD.hs 29;" t -HalfRes src/Dodge/Data/Config.hs 100;" C +HalfRes src/Dodge/Data/Config.hs 110;" C HammerTrigger src/Dodge/Data/TriggerType.hs 10;" C HardQuit src/Dodge/Data/Universe.hs 70;" C HeavySmokeFlare src/Dodge/Data/Muzzle.hs 33;" C @@ -569,12 +569,12 @@ IncendiaryBall src/Dodge/Data/EnergyBall/Type.hs 11;" C InheritFloor src/Data/Tile.hs 12;" C Input src/Dodge/Data/Input.hs 33;" t InputScreen src/Dodge/Data/Universe.hs 92;" C -Inspect_wall src/Dodge/Data/Config.hs 94;" C +Inspect_wall src/Dodge/Data/Config.hs 104;" C Institution src/Dodge/Data/Scenario.hs 42;" t Int2 src/Geometry/Data.hs 21;" t IntID src/Dodge/Data/Universe.hs 110;" t Intention src/Dodge/Data/Creature.hs 68;" t -IntersectingRoomClipBoundaries src/Dodge/Data/Config.hs 110;" C +IntersectingRoomClipBoundaries src/Dodge/Data/Config.hs 120;" C IntroScanSF src/Dodge/Data/ComposedItem.hs 21;" C IntroScanType src/Dodge/Data/Item/Combine.hs 44;" t InvInt src/Dodge/Data/Item/Location.hs 16;" t @@ -763,7 +763,7 @@ MouseGameRotate src/Dodge/Data/Input.hs 29;" C MouseInGame src/Dodge/Data/Input.hs 16;" C MouseMenuClick src/Dodge/Data/Input.hs 17;" C MouseMenuCursor src/Dodge/Data/Input.hs 18;" C -Mouse_position src/Dodge/Data/Config.hs 75;" C +Mouse_position src/Dodge/Data/Config.hs 85;" C Move src/Dodge/Data/ActionPlan.hs 26;" C MoveEquipment src/Dodge/Data/RightButtonOptions.hs 20;" C MoveForward src/Dodge/Data/ActionPlan.hs 27;" C @@ -823,20 +823,20 @@ NoItTargeting src/Dodge/Data/Item.hs 44;" C NoItemScroll src/Dodge/Data/Item.hs 39;" C NoItemZone src/Dodge/Data/Machine/Sensor.hs 32;" C NoLightFlare src/Dodge/Data/Muzzle.hs 31;" C -NoLighting src/Dodge/Data/Config.hs 107;" C +NoLighting src/Dodge/Data/Config.hs 117;" C NoMouseContext src/Dodge/Data/Input.hs 14;" C NoMvType src/Dodge/Data/Creature/Misc.hs 27;" C -NoObjShads src/Dodge/Data/Config.hs 105;" C +NoObjShads src/Dodge/Data/Config.hs 115;" C NoParams src/Dodge/Data/Item/Params.hs 13;" C NoRightButtonState src/Dodge/Data/RightButtonOptions.hs 14;" C -NoRoomClipBoundaries src/Dodge/Data/Config.hs 110;" C +NoRoomClipBoundaries src/Dodge/Data/Config.hs 120;" C NoSF src/Dodge/Data/ComposedItem.hs 29;" C NoShadowFidelity src/Shape/Data.hs 20;" C -NoShadows src/Dodge/Data/Config.hs 106;" C +NoShadows src/Dodge/Data/Config.hs 116;" C NoSubInventory src/Dodge/Data/HUD.hs 15;" C NoTrigger src/Dodge/Data/TriggerType.hs 11;" C NoWorldEffect src/Dodge/Data/WorldEffect.hs 21;" C -Noclip src/Dodge/Data/Config.hs 72;" C +Noclip src/Dodge/Data/Config.hs 82;" C NodeMTree src/Dodge/Data/MetaTree.hs 16;" C NodeTree src/Dodge/Data/MetaTree.hs 15;" C NonDrawnCreature src/Dodge/Data/Creature/Misc.hs 82;" C @@ -869,7 +869,17 @@ NumLight18 src/Dodge/Data/Config.hs 33;" C NumLight19 src/Dodge/Data/Config.hs 34;" C NumLight2 src/Dodge/Data/Config.hs 17;" C NumLight20 src/Dodge/Data/Config.hs 35;" C +NumLight21 src/Dodge/Data/Config.hs 36;" C +NumLight22 src/Dodge/Data/Config.hs 37;" C +NumLight23 src/Dodge/Data/Config.hs 38;" C +NumLight24 src/Dodge/Data/Config.hs 39;" C +NumLight25 src/Dodge/Data/Config.hs 40;" C +NumLight26 src/Dodge/Data/Config.hs 41;" C +NumLight27 src/Dodge/Data/Config.hs 42;" C +NumLight28 src/Dodge/Data/Config.hs 43;" C +NumLight29 src/Dodge/Data/Config.hs 44;" C NumLight3 src/Dodge/Data/Config.hs 18;" C +NumLight30 src/Dodge/Data/Config.hs 45;" C NumLight4 src/Dodge/Data/Config.hs 19;" C NumLight5 src/Dodge/Data/Config.hs 20;" C NumLight6 src/Dodge/Data/Config.hs 21;" C @@ -954,7 +964,7 @@ PathBetweenLeftRightClick src/Dodge/Data/Universe.hs 55;" C PathFromEdge src/Dodge/Data/Room.hs 77;" t PathShowType src/Dodge/Data/Universe.hs 54;" t PathTo src/Dodge/Data/ActionPlan.hs 70;" C -Pathing src/Dodge/Data/Config.hs 78;" C +Pathing src/Dodge/Data/Config.hs 88;" C Patrol src/Dodge/Data/ActionPlan.hs 132;" C PausedTimeFlow src/Dodge/Data/World.hs 79;" C Payload src/Dodge/Data/Payload.hs 9;" t @@ -962,7 +972,7 @@ PenetrateBullet src/Dodge/Data/Bullet.hs 29;" C Perception src/Dodge/Data/Creature/Perception.hs 30;" t PhysicalDamage src/Dodge/Data/Damage/Type.hs 4;" C PhysicalSensor src/Dodge/Data/Machine/Sensor.hs 16;" C -Picture src/Picture/Data.hs 44;" t +Picture src/Picture/Data.hs 42;" t Piercing src/Dodge/Data/Damage.hs 16;" C PistolAI src/Dodge/Data/Creature/Misc.hs 41;" C Placement src/Dodge/Data/GenWorld.hs 105;" t @@ -981,7 +991,7 @@ Point4 src/Geometry/Data.hs 41;" t Poison src/Dodge/Data/Damage.hs 26;" C PoisonDamage src/Dodge/Data/Damage/Type.hs 6;" C PolyEdge src/Dodge/Data/Room.hs 47;" C -PolyShad src/Picture/Data.hs 34;" C +PolyShad src/Picture/Data.hs 32;" C Polyhedra src/Polyhedra/Data.hs 13;" t Polyhedron src/Polyhedra/Data.hs 13;" C PosInf src/Dodge/Data/CardinalPoint.hs 44;" C @@ -1031,7 +1041,7 @@ PutTrigger src/Dodge/Data/GenWorld.hs 47;" C PutWall src/Dodge/Data/GenWorld.hs 54;" C PutWorldUpdate src/Dodge/Data/GenWorld.hs 58;" C QFloat src/Geometry/Data.hs 50;" t -QuarterRes src/Dodge/Data/Config.hs 100;" C +QuarterRes src/Dodge/Data/Config.hs 110;" C QuicksaveSlot src/Dodge/Data/SaveSlot.hs 8;" C RAM src/Dodge/Data/Item/Combine.hs 73;" C RED src/Color/Data.hs 12;" C @@ -1066,13 +1076,13 @@ Reload src/Dodge/Data/ActionPlan.hs 142;" C RemoteDetonatorSF src/Dodge/Data/ComposedItem.hs 27;" C RemoteScreenSF src/Dodge/Data/ComposedItem.hs 25;" C RemoveEquipment src/Dodge/Data/RightButtonOptions.hs 33;" C -Remove_LOS src/Dodge/Data/Config.hs 79;" C +Remove_LOS src/Dodge/Data/Config.hs 89;" C RenderData src/Data/Preload/Render.hs 13;" t ReplaceEquipment src/Dodge/Data/RightButtonOptions.hs 29;" C RequireDeadCreatures src/Dodge/Data/Machine/Sensor.hs 37;" C RequireEquipment src/Dodge/Data/Machine/Sensor.hs 36;" C RequireHealth src/Dodge/Data/Machine/Sensor.hs 35;" C -ResFactor src/Dodge/Data/Config.hs 100;" t +ResFactor src/Dodge/Data/Config.hs 110;" t ResearchFacility src/Dodge/Data/Scenario.hs 62;" C ResourceFailure src/Dodge/Data/Scenario.hs 29;" C RespawnDelay src/Dodge/Data/World.hs 61;" C @@ -1090,7 +1100,7 @@ RocketHoming src/Dodge/Data/Projectile.hs 39;" t RocketSmoke src/Dodge/Data/Projectile.hs 52;" t RocketSmoke src/Dodge/Data/Cloud.hs 22;" C Room src/Dodge/Data/GenWorld.hs 120;" t -RoomClipping src/Dodge/Data/Config.hs 110;" t +RoomClipping src/Dodge/Data/Config.hs 120;" t RoomInt src/Dodge/Tree/Shift.hs 26;" t RoomLink src/Dodge/Data/Room.hs 24;" t RoomLinkType src/Dodge/Data/Room.hs 43;" t @@ -1148,11 +1158,11 @@ SensorWithRequirement src/Dodge/Data/Machine/Sensor.hs 31;" C SentinelAt src/Dodge/Data/ActionPlan.hs 152;" C SetLSCol src/Dodge/Data/WorldEffect.hs 24;" C SetTrigger src/Dodge/Data/WorldEffect.hs 22;" C -ShadNum src/Picture/Data.hs 33;" t +ShadNum src/Picture/Data.hs 31;" t Shader src/Shader/Data.hs 51;" t ShaderTexture src/Shader/Data.hs 103;" t ShadowFidelity src/Shape/Data.hs 19;" t -ShadowRendering src/Dodge/Data/Config.hs 103;" t +ShadowRendering src/Dodge/Data/Config.hs 113;" t Shape src/Shape/Data.hs 48;" t ShapeProp src/Dodge/Data/Prop.hs 14;" C ShapeType src/Shape/Data.hs 11;" t @@ -1165,27 +1175,27 @@ ShockwaveDirection src/Dodge/Data/Shockwave.hs 12;" t ShootAt src/Dodge/Data/ActionPlan.hs 133;" C ShortShow src/ShortShow.hs 6;" c ShortString src/ShortShow.hs 16;" t -Show_bound_box src/Dodge/Data/Config.hs 82;" C -Show_dda_test src/Dodge/Data/Config.hs 85;" C -Show_far_wall_detect src/Dodge/Data/Config.hs 88;" C -Show_mouse_click_pos src/Dodge/Data/Config.hs 97;" C -Show_ms_frame src/Dodge/Data/Config.hs 67;" C -Show_path_between src/Dodge/Data/Config.hs 95;" C -Show_sound src/Dodge/Data/Config.hs 71;" C -Show_wall_search_rays src/Dodge/Data/Config.hs 84;" C -Show_walls_near_point_cursor src/Dodge/Data/Config.hs 89;" C -Show_walls_near_point_you src/Dodge/Data/Config.hs 90;" C -Show_walls_near_segment src/Dodge/Data/Config.hs 91;" C -Show_writable_values src/Dodge/Data/Config.hs 96;" C -Show_zone_circ src/Dodge/Data/Config.hs 93;" C -Show_zone_near_point_cursor src/Dodge/Data/Config.hs 92;" C +Show_bound_box src/Dodge/Data/Config.hs 92;" C +Show_dda_test src/Dodge/Data/Config.hs 95;" C +Show_far_wall_detect src/Dodge/Data/Config.hs 98;" C +Show_mouse_click_pos src/Dodge/Data/Config.hs 107;" C +Show_ms_frame src/Dodge/Data/Config.hs 77;" C +Show_path_between src/Dodge/Data/Config.hs 105;" C +Show_sound src/Dodge/Data/Config.hs 81;" C +Show_wall_search_rays src/Dodge/Data/Config.hs 94;" C +Show_walls_near_point_cursor src/Dodge/Data/Config.hs 99;" C +Show_walls_near_point_you src/Dodge/Data/Config.hs 100;" C +Show_walls_near_segment src/Dodge/Data/Config.hs 101;" C +Show_writable_values src/Dodge/Data/Config.hs 106;" C +Show_zone_circ src/Dodge/Data/Config.hs 103;" C +Show_zone_near_point_cursor src/Dodge/Data/Config.hs 102;" C ShrapnelBomb src/Dodge/Data/Payload.hs 10;" C ShrinkGunStatus src/Dodge/Data/Item/Params.hs 26;" t Shrunk src/Dodge/Data/Item/Params.hs 26;" C SideCluster src/Dodge/Data/RoomCluster.hs 13;" C SideEffect src/Dodge/Data/Universe.hs 64;" t SimpleEdge src/Dodge/Data/PathGraph.hs 43;" t -SixteenthRes src/Dodge/Data/Config.hs 100;" C +SixteenthRes src/Dodge/Data/Config.hs 110;" C Size src/Shape/Data.hs 23;" t SkiffBaySS src/Dodge/Data/Scenario.hs 108;" C SleepingQuatersSS src/Dodge/Data/Scenario.hs 90;" C @@ -1296,7 +1306,7 @@ TerrestrialBiome src/Dodge/Data/Scenario.hs 76;" t TeslaArc src/Dodge/Data/TeslaArc.hs 15;" t TeslaBeamCombine src/Dodge/Data/Beam.hs 39;" C TeslaGunFlare src/Dodge/Data/Muzzle.hs 35;" C -TextShad src/Picture/Data.hs 35;" C +TextShad src/Picture/Data.hs 33;" C ThermalSensor src/Dodge/Data/Machine/Sensor.hs 15;" C Tile src/Data/Tile.hs 16;" t Tiled src/Data/Tile.hs 14;" C @@ -1396,7 +1406,7 @@ VIOLET src/Color/Data.hs 19;" C VOLLEYGUN src/Dodge/Data/Item/Combine.hs 151;" C VertexAttribute src/Shader/Data.hs 66;" t Verx src/Picture/Data.hs 11;" t -View_boundaries src/Dodge/Data/Config.hs 76;" C +View_boundaries src/Dodge/Data/Config.hs 86;" C ViewingDeckSS src/Dodge/Data/Scenario.hs 106;" C Vigilance src/Dodge/Data/Creature/Perception.hs 50;" t Vigilant src/Dodge/Data/Creature/Perception.hs 54;" C @@ -1425,7 +1435,7 @@ WallP src/Dodge/LevelGen/StaticWalls/Deprecated.hs 11;" t WallSound src/Dodge/Data/SoundOrigin.hs 24;" C WallStructure src/Dodge/Data/Wall/Structure.hs 10;" t WallWire src/Dodge/Data/Room.hs 55;" C -Walls_info src/Dodge/Data/Config.hs 77;" C +Walls_info src/Dodge/Data/Config.hs 87;" C War src/Dodge/Data/Scenario.hs 28;" C WarmTime src/Dodge/Data/Item/Params.hs 19;" C WarmUpCoolDown src/Dodge/Data/TriggerType.hs 14;" C @@ -1588,8 +1598,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 51;" f -_chasmVBO src/Data/Preload/Render.hs 50;" f +_chasmShader src/Data/Preload/Render.hs 47;" f +_chasmVBO src/Data/Preload/Render.hs 46;" 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 @@ -1618,8 +1628,8 @@ _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 -_cloudShader src/Data/Preload/Render.hs 55;" f -_cloudVBO src/Data/Preload/Render.hs 54;" f +_cloudShader src/Data/Preload/Render.hs 51;" f +_cloudVBO src/Data/Preload/Render.hs 50;" f _clouds src/Dodge/Data/LWorld.hs 96;" f _coolEnd src/Dodge/Data/TriggerType.hs 17;" f _coolSound src/Dodge/Data/Item/Params.hs 22;" f @@ -1684,8 +1694,8 @@ _dbVel src/Dodge/Data/Prop.hs 28;" f _debris src/Dodge/Data/LWorld.hs 100;" f _debugFunction src/Dodge/Data/Universe.hs 61;" f _debugMessage src/Dodge/Data/Universe.hs 60;" f -_debug_booleans src/Dodge/Data/Config.hs 57;" f -_debug_view_clip_bounds src/Dodge/Data/Config.hs 56;" f +_debug_booleans src/Dodge/Data/Config.hs 67;" f +_debug_view_clip_bounds src/Dodge/Data/Config.hs 66;" f _delayedEvents src/Dodge/Data/LWorld.hs 130;" f _diCloseFilter src/Dodge/Data/HUD.hs 34;" f _diInvFilter src/Dodge/Data/HUD.hs 33;" f @@ -1748,7 +1758,7 @@ _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 57;" f +_dummyVAO src/Data/Preload/Render.hs 52;" 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 @@ -1781,8 +1791,8 @@ _flboName src/Shader/Data.hs 87;" f _flboPtr src/Shader/Data.hs 88;" f _flboStride src/Shader/Data.hs 89;" f _floorItems src/Dodge/Data/LWorld.hs 127;" f -_floorShader src/Data/Preload/Render.hs 49;" f -_floorVBO src/Data/Preload/Render.hs 48;" f +_floorShader src/Data/Preload/Render.hs 45;" f +_floorVBO src/Data/Preload/Render.hs 44;" 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 @@ -1790,7 +1800,7 @@ _fsSPic src/Dodge/Data/ForegroundShape.hs 15;" 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 +_gameplay_rotate_to_wall src/Dodge/Data/Config.hs 65;" f _genInts src/Dodge/Data/GenWorld.hs 27;" f _genPmnt src/Dodge/Data/GenWorld.hs 26;" f _genRooms src/Dodge/Data/GenWorld.hs 25;" f @@ -1810,15 +1820,15 @@ _grLinkDirs src/Dodge/GameRoom.hs 18;" f _grName src/Dodge/GameRoom.hs 19;" f _grViewpoints src/Dodge/GameRoom.hs 13;" f _grViewpointsEx src/Dodge/GameRoom.hs 14;" f -_gr_bloom src/Dodge/Data/Config.hs 44;" f -_gr_cloud_shadows src/Dodge/Data/Config.hs 42;" f -_gr_distortion_res src/Dodge/Data/Config.hs 49;" f -_gr_distortions src/Dodge/Data/Config.hs 43;" f -_gr_downsize_res src/Dodge/Data/Config.hs 47;" f -_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 +_gr_bloom src/Dodge/Data/Config.hs 54;" f +_gr_cloud_shadows src/Dodge/Data/Config.hs 52;" f +_gr_distortion_res src/Dodge/Data/Config.hs 59;" f +_gr_distortions src/Dodge/Data/Config.hs 53;" f +_gr_downsize_res src/Dodge/Data/Config.hs 57;" f +_gr_num_shadow_casters src/Dodge/Data/Config.hs 60;" f +_gr_shadow_rendering src/Dodge/Data/Config.hs 55;" f +_gr_shadow_size src/Dodge/Data/Config.hs 56;" f +_gr_world_res src/Dodge/Data/Config.hs 58;" 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 @@ -2187,7 +2197,6 @@ _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 56;" 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 @@ -2397,7 +2406,7 @@ _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 +_vboShapes src/Data/Preload/Render.hs 43;" f _vboVertexBytes src/Shader/Data.hs 82;" f _vcCoolDown src/Dodge/Data/Creature/Misc.hs 22;" f _vcMaxCoolDown src/Dodge/Data/Creature/Misc.hs 21;" f @@ -2407,9 +2416,9 @@ _viFOV src/Dodge/Data/Creature/Perception.hs 40;" f _viewPoint src/Dodge/Data/Creature.hs 71;" f _volleyNumBarrels src/Dodge/Data/TriggerType.hs 13;" f _volleyRate src/Dodge/Data/TriggerType.hs 13;" f -_volume_master src/Dodge/Data/Config.hs 39;" f -_volume_music src/Dodge/Data/Config.hs 41;" f -_volume_sound src/Dodge/Data/Config.hs 40;" f +_volume_master src/Dodge/Data/Config.hs 49;" f +_volume_music src/Dodge/Data/Config.hs 51;" f +_volume_sound src/Dodge/Data/Config.hs 50;" f _vxCol src/Picture/Data.hs 13;" f _vxExt src/Picture/Data.hs 14;" f _vxLayer src/Picture/Data.hs 15;" f @@ -2420,18 +2429,18 @@ _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 -_wallVBO src/Data/Preload/Render.hs 53;" f +_wallVBO src/Data/Preload/Render.hs 49;" 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 -_winVBO src/Data/Preload/Render.hs 52;" f -_windowPosX src/Dodge/Data/Config.hs 53;" f -_windowPosY src/Dodge/Data/Config.hs 54;" f +_winVBO src/Data/Preload/Render.hs 48;" f +_windowPosX src/Dodge/Data/Config.hs 63;" f +_windowPosY src/Dodge/Data/Config.hs 64;" f _windowPullShader src/Data/Preload/Render.hs 20;" f -_windowX src/Dodge/Data/Config.hs 51;" f -_windowY src/Dodge/Data/Config.hs 52;" f +_windowX src/Dodge/Data/Config.hs 61;" f +_windowY src/Dodge/Data/Config.hs 62;" f _wlHeight src/Dodge/Data/Wall.hs 25;" f _wlID src/Dodge/Data/Wall.hs 19;" f _wlLine src/Dodge/Data/Wall.hs 18;" f @@ -2540,7 +2549,7 @@ applyMagnetsToBul src/Dodge/Bullet.hs 32;" f applyPastDamages src/Dodge/Creature/State.hs 49;" f applyPosition src/Sound.hs 111;" f applyRecoil src/Dodge/HeldUse.hs 459;" f -applyResFactor src/Dodge/Data/Config.hs 113;" f +applyResFactor src/Dodge/Data/Config.hs 123;" f applySetTerminalString src/Dodge/Debug/Terminal.hs 83;" f applySidePush src/Dodge/HeldUse.hs 559;" f applySoundCME src/Dodge/HeldUse.hs 449;" f @@ -2682,9 +2691,9 @@ bounceSound src/Dodge/Projectile/Update.hs 74;" f boundPoints src/Bound.hs 10;" f boundedGrid src/Grid.hs 17;" f boxABC src/Polyhedra.hs 108;" f -boxEdgeIndices src/Shader/Poke.hs 359;" f -boxSurfaces src/Shader/Poke.hs 278;" f -boxSurfacesIndices src/Shader/Poke.hs 291;" f +boxEdgeIndices src/Shader/Poke.hs 357;" f +boxSurfaces src/Shader/Poke.hs 276;" f +boxSurfacesIndices src/Shader/Poke.hs 289;" f boxXYZ src/Polyhedra.hs 94;" f boxXYZnobase src/Polyhedra.hs 80;" f brainHat src/Dodge/Item/Equipment.hs 73;" f @@ -2695,7 +2704,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 445;" f +bufferPerspectiveMatrixUBO src/Dodge/Render.hs 437;" f bufferPokedVBO src/Shader/Bind.hs 19;" f bufferShaderLayers src/Shader/Bind.hs 32;" f bulletBeltBracer src/Dodge/Item/Equipment.hs 67;" f @@ -2780,7 +2789,7 @@ circleSolid src/Picture/Base.hs 164;" f circleSolidCol src/Picture/Base.hs 168;" f clAlt src/Dodge/Cloud.hs 5;" f clClSpringVel src/Dodge/Update.hs 839;" f -clColor src/Shader/Poke/Cloud.hs 68;" f +clColor src/Shader/Poke/Cloud.hs 38;" f clZoneSize src/Dodge/Zoning/Cloud.hs 21;" f clampPath src/Dodge/Room/Procedural.hs 146;" f clang1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 560;" f @@ -2873,8 +2882,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 226;" f -cornerList' src/Preload/Render.hs 233;" f +cornerList src/Preload/Render.hs 217;" f corpseOrGib src/Dodge/Creature/Update.hs 111;" f corridor src/Dodge/Room/Corridor.hs 17;" f corridorBoss src/Dodge/LockAndKey.hs 133;" f @@ -2979,10 +2987,10 @@ cycleL src/DoubleStack.hs 28;" f cycleLT src/IntMapHelp.hs 97;" f cycleOptions src/Dodge/Menu/Option.hs 75;" f cycleR src/DoubleStack.hs 32;" f -cylinderIndices src/Shader/Poke.hs 383;" f +cylinderIndices src/Shader/Poke.hs 381;" f cylinderOnSeg src/Geometry.hs 122;" f cylinderPoly src/Shape.hs 87;" f -cylinderRoundIndices src/Shader/Poke.hs 390;" f +cylinderRoundIndices src/Shader/Poke.hs 388;" f dShadCol src/Dodge/Render/List.hs 222;" f damMatSideEffect src/Dodge/Material/Damage.hs 20;" f damThingHitWith src/Dodge/Damage.hs 72;" f @@ -3024,7 +3032,7 @@ debugItem src/Dodge/Debug.hs 40;" f debugMenu src/Dodge/Menu.hs 124;" f debugMenuOptions src/Dodge/Menu.hs 130;" f debugMouseClickPos src/Dodge/Debug.hs 145;" f -debugOn src/Dodge/Data/Config.hs 154;" f +debugOn src/Dodge/Data/Config.hs 164;" f debugPutDraw src/Dodge/Debug.hs 95;" f debugPutItems src/Dodge/Debug.hs 78;" f debugPutN src/Dodge/Debug.hs 84;" f @@ -3058,7 +3066,7 @@ defaultCWGen src/Dodge/Default/World.hs 59;" f defaultCWorld src/Dodge/Default/World.hs 84;" f defaultChaseMvType src/Dodge/Creature/MoveType.hs 25;" f defaultClusterStatus src/Dodge/Default/Room.hs 37;" f -defaultConfig src/Dodge/Data/Config.hs 130;" f +defaultConfig src/Dodge/Data/Config.hs 140;" f defaultCraftItem src/Dodge/Default/Item.hs 25;" f defaultCreature src/Dodge/Default/Creature.hs 12;" f defaultCreatureMemory src/Dodge/Default/Creature.hs 65;" f @@ -3367,7 +3375,7 @@ dtToLRAdjEither src/Dodge/DoubleTree.hs 181;" f dtToRootIntMap' src/Dodge/DoubleTree.hs 153;" f dtToUpDownAdj src/Dodge/DoubleTree.hs 158;" f dummyMenuOption src/Dodge/Menu/Option.hs 72;" f -dustColor src/Shader/Poke/Cloud.hs 83;" f +dustColor src/Shader/Poke/Cloud.hs 45;" f dustSpringVel src/Dodge/Update.hs 850;" f ebColor src/Dodge/EnergyBall.hs 77;" f ebDamage src/Dodge/EnergyBall.hs 85;" f @@ -3437,7 +3445,7 @@ facesToVF src/Polyhedra/Geodesic.hs 69;" f farWallDistDirection src/Dodge/Update/Camera.hs 244;" f fdiv src/ShortShow.hs 41;" f feet src/Dodge/Creature/Picture.hs 51;" f -ffoldM src/Framebuffer/Update.hs 73;" f +ffoldM src/Framebuffer/Update.hs 85;" f filter3 src/FoldableHelp.hs 76;" f filterSectionsPair src/Dodge/DisplayInventory.hs 157;" f findBlips src/Dodge/RadarSweep.hs 63;" f @@ -3550,7 +3558,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 457;" f +getDistortions src/Dodge/Render.hs 449;" f getEdgesCrossing src/Dodge/Path.hs 37;" f getGrenadeHitEffect src/Dodge/HeldUse.hs 1264;" f getInventoryPath src/Dodge/Inventory/Path.hs 9;" f @@ -3701,10 +3709,10 @@ 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 254;" f +initializeGLState src/Preload/Render.hs 238;" f initializeOptionMenu src/Dodge/Menu/Option.hs 17;" f initializeOptionMenuBO src/Dodge/Menu/Option.hs 30;" f -initializeTexture2D src/Framebuffer/Update.hs 205;" f +initializeTexture2D src/Framebuffer/Update.hs 217;" f inorderNumberTree src/TreeHelp.hs 190;" f insertAt src/Padding.hs 63;" f insertIMInZone src/Dodge/Base.hs 54;" f @@ -4100,12 +4108,12 @@ megaBattery src/Dodge/Item/Ammo.hs 55;" f megaShellMag src/Dodge/Item/Ammo.hs 44;" f megaTinMag src/Dodge/Item/Ammo.hs 23;" f meleeHeadingMove src/Dodge/Creature/Boid.hs 295;" f -memoBoxEdgeIndices src/Shader/Poke.hs 353;" f -memoBoxSurfaces src/Shader/Poke.hs 287;" f -memoCylinderIndices src/Shader/Poke.hs 324;" f -memoFlatIndices src/Shader/Poke.hs 312;" f -memoTopPrismEdgeIndices src/Shader/Poke.hs 330;" f -memoTopPrismIndices src/Shader/Poke.hs 318;" f +memoBoxEdgeIndices src/Shader/Poke.hs 351;" f +memoBoxSurfaces src/Shader/Poke.hs 285;" f +memoCylinderIndices src/Shader/Poke.hs 322;" f +memoFlatIndices src/Shader/Poke.hs 310;" f +memoTopPrismEdgeIndices src/Shader/Poke.hs 328;" f +memoTopPrismIndices src/Shader/Poke.hs 316;" f menuLDP src/Dodge/ListDisplayParams.hs 52;" f menuOptionToSelectionItem src/Dodge/Menu/Option.hs 91;" f merge src/ListHelp.hs 83;" f @@ -4147,9 +4155,9 @@ missileLaunchS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 674;" f mixColors src/Color.hs 86;" f mixColorsFrac src/Color.hs 82;" f mixColorsLinear src/Color.hs 95;" f -mkCloudCloudLike src/Shader/Poke/Cloud.hs 23;" f +mkCloudCloudLike src/Shader/Poke/Cloud.hs 20;" f mkCustomLenses src/ThirdPartyLens.hs 7;" f -mkDustCloudLike src/Shader/Poke/Cloud.hs 29;" f +mkDustCloudLike src/Shader/Poke/Cloud.hs 26;" f mkGraphFromEdges src/GraphHelp.hs 4;" f mkNode src/Dodge/Graph.hs 29;" f mkRectangle src/Dodge/LevelGen/DoorPane.hs 7;" f @@ -4222,7 +4230,7 @@ noclipCheck src/Dodge/WallCreatureCollisions.hs 23;" f nodeFormatting src/Dodge/Combine/Graph.hs 145;" f nodesNear src/Dodge/Path.hs 75;" f normalGait src/Dodge/Creature/State/WalkCycle.hs 30;" f -normalTo8 src/Shader/Poke.hs 467;" f +normalTo8 src/Shader/Poke.hs 465;" f normalizeAngle src/Geometry/Vector.hs 128;" f normalizeAnglePi src/Dodge/Base.hs 154;" f normalizeColor src/Color.hs 76;" f @@ -4233,12 +4241,12 @@ nulgate src/Dodge/Item/Scope.hs 95;" f numColor src/Color.hs 128;" f numDrawableVertices src/Shader/Parameters.hs 34;" f numGLuint src/Shader/Parameters.hs 29;" f -numLayers src/Picture/Data.hs 29;" f +numLayers src/Picture/Data.hs 27;" f numMetaTree src/Dodge/Tree/Compose.hs 119;" f numMetaTree' src/Dodge/Tree/Compose.hs 122;" f numSelfTree src/Dodge/Tree/Compose.hs 107;" f numSelfTree' src/Dodge/Tree/Compose.hs 110;" f -numShads src/Picture/Data.hs 40;" f +numShads src/Picture/Data.hs 38;" f numSubElements src/Shader/Parameters.hs 39;" f numTraversable src/TreeHelp.hs 184;" f obstacleColor src/Dodge/Debug/Picture.hs 263;" f @@ -4380,29 +4388,29 @@ pointerYourSelectedItem src/Dodge/Item/Location.hs 26;" f pointsToPoly src/Geometry/ConvexPoly.hs 35;" f poisonSPic src/Dodge/Creature/Update.hs 125;" f poisonSprayer src/Dodge/Item/Held/SprayGuns.hs 17;" f -poke34 src/Shader/Poke.hs 505;" f -pokeArrayOff src/Shader/Poke.hs 516;" f +poke34 src/Shader/Poke.hs 508;" f +pokeArrayOff src/Shader/Poke.hs 519;" f pokeBox src/Shader/Poke.hs 228;" f -pokeBoxSurface src/Shader/Poke.hs 263;" f +pokeBoxSurface src/Shader/Poke.hs 261;" f pokeChasm src/Shader/Poke/Floor.hs 24;" f pokeChasmVerx src/Shader/Poke/Floor.hs 28;" f -pokeCloud src/Shader/Poke/Cloud.hs 15;" f -pokeCloudLike src/Shader/Poke/Cloud.hs 42;" f +pokeCloud src/Shader/Poke/Cloud.hs 14;" f +pokeCloudLike src/Shader/Poke/Cloud.hs 32;" f pokeCylinder src/Shader/Poke.hs 173;" f pokeCylinderCaps src/Shader/Poke.hs 216;" f -pokeDust src/Shader/Poke/Cloud.hs 20;" f +pokeDust src/Shader/Poke/Cloud.hs 17;" f pokeF src/Shader/Poke.hs 68;" f -pokeFlatV src/Shader/Poke.hs 449;" f +pokeFlatV src/Shader/Poke.hs 447;" f pokeFloors src/Shader/Poke.hs 62;" f -pokeIndex src/Shader/Poke.hs 298;" f -pokeJustV src/Shader/Poke.hs 438;" f -pokeLayVerx src/Shader/Poke.hs 479;" f -pokeLayVerxs src/Shader/Poke.hs 472;" f +pokeIndex src/Shader/Poke.hs 296;" f +pokeJustV src/Shader/Poke.hs 436;" f +pokeLayVerx src/Shader/Poke.hs 477;" f +pokeLayVerxs src/Shader/Poke.hs 470;" f pokeRoundedCurve src/Shader/Poke.hs 205;" f pokeRoundedFaces src/Shader/Poke.hs 141;" f pokeShape src/Shader/Poke.hs 112;" f pokeShapeObj src/Shader/Poke.hs 125;" f -pokeStride src/Shader/Poke.hs 498;" f +pokeStride src/Shader/Poke.hs 500;" f pokeTile src/Shader/Poke/Floor.hs 12;" f pokeTileVerx src/Shader/Poke/Floor.hs 18;" f pokeVerx src/Shader/Poke.hs 39;" f @@ -4598,23 +4606,23 @@ removeLights src/Dodge/Room/Tutorial.hs 257;" f removeShieldWall src/Dodge/Item/BackgroundEffect.hs 57;" f removeWallsInPolygon src/Dodge/LevelGen/StaticWalls.hs 182;" f renderDataResizeUpdate src/Preload/Update.hs 26;" f -renderFlatLighting src/Render.hs 101;" f +renderFlatLighting src/Render.hs 102;" f renderInfoListAt src/Dodge/Render/InfoBox.hs 17;" f renderInfoListsAt src/Dodge/Render/InfoBox.hs 44;" f renderLayer src/Render.hs 221;" f renderLightingNoShadows src/Render.hs 48;" f renderListAt src/Dodge/Render/List.hs 192;" f -renderShadows src/Render.hs 116;" f +renderShadows src/Render.hs 117;" 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 resetStride src/Dodge/Creature/State/WalkCycle.hs 25;" f resetTerminal src/Dodge/WorldEffect.hs 109;" f -resizeFBOTO src/Framebuffer/Update.hs 187;" f -resizeFBOTO2 src/Framebuffer/Update.hs 135;" f -resizeFBOTO3 src/Framebuffer/Update.hs 159;" f -resizeRBO src/Framebuffer/Update.hs 76;" f +resizeFBOTO src/Framebuffer/Update.hs 199;" f +resizeFBOTO2 src/Framebuffer/Update.hs 147;" f +resizeFBOTO3 src/Framebuffer/Update.hs 171;" f +resizeRBO src/Framebuffer/Update.hs 88;" f respawn src/Dodge/SpawnAt.hs 12;" f restrictInLinks src/Dodge/RoomLink.hs 44;" f restrictLinkType src/Dodge/RoomLink.hs 34;" f @@ -4813,7 +4821,7 @@ 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 462;" f +setViewport src/Dodge/Render.hs 454;" f setVol src/Dodge/Config.hs 47;" f setWristShieldPos src/Dodge/Equipment.hs 49;" f setWristShieldPos src/Dodge/Euse.hs 38;" f @@ -5105,9 +5113,9 @@ textJustifyRight src/Picture/Base.hs 198;" f textRight src/Picture/Base.hs 203;" f textTerminal src/Dodge/Terminal.hs 34;" f textVMirror src/Picture/Base.hs 216;" f -tflat2 src/Picture/Data.hs 58;" f -tflat3 src/Picture/Data.hs 62;" f -tflat4 src/Picture/Data.hs 66;" f +tflat2 src/Picture/Data.hs 56;" f +tflat3 src/Picture/Data.hs 60;" f +tflat4 src/Picture/Data.hs 64;" f theCleanup appDodge/Main.hs 74;" f theColumns src/Dodge/Tree/Shift.hs 146;" f theUpdateStep appDodge/Main.hs 110;" f @@ -5165,8 +5173,8 @@ tone440raiseS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 664;" f tone440sawtoothS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 606;" f tone440sawtoothquietS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 448;" f topInvW src/Dodge/ListDisplayParams.hs 49;" f -topPrismEdgeIndices src/Shader/Poke.hs 336;" f -topPrismIndices src/Shader/Poke.hs 411;" f +topPrismEdgeIndices src/Shader/Poke.hs 334;" f +topPrismIndices src/Shader/Poke.hs 409;" f topTestPart src/Dodge/TestString.hs 44;" f torchShape src/Dodge/Item/Draw/SPic.hs 276;" f torqueAmount src/Dodge/HeldUse.hs 581;" f @@ -5317,9 +5325,9 @@ updateEnergyBall src/Dodge/EnergyBall.hs 31;" f updateEnergyBalls src/Dodge/Update.hs 658;" f updateEnterRegex src/Dodge/Update/Input/InGame.hs 505;" f updateExpBarrel src/Dodge/Barreloid.hs 21;" f -updateFBOTO src/Framebuffer/Update.hs 79;" f -updateFBOTO2 src/Framebuffer/Update.hs 97;" f -updateFBOTO3 src/Framebuffer/Update.hs 115;" f +updateFBOTO src/Framebuffer/Update.hs 91;" f +updateFBOTO2 src/Framebuffer/Update.hs 109;" f +updateFBOTO3 src/Framebuffer/Update.hs 127;" f updateFlame src/Dodge/Flame.hs 19;" f updateFlames src/Dodge/Update.hs 655;" f updateFloatingCamera src/Dodge/Update/Camera.hs 36;" f @@ -5509,8 +5517,8 @@ whiteNoiseFadeOutS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 522;" f wiToFloat src/Dodge/Room/Modify/Girder.hs 168;" f winConfig appDodge/Main.hs 56;" f 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 +windowXFloat src/Dodge/Data/Config.hs 71;" f +windowYFloat src/Dodge/Data/Config.hs 73;" f withAlpha src/Color.hs 10;" f withByteString src/Shader/Compile.hs 322;" f wlIXsNearCirc src/Dodge/Zoning/Wall.hs 32;" f