diff --git a/src/Dodge/Item/Weapon/LaserPath.hs b/src/Dodge/Item/Weapon/LaserPath.hs index 5cb02a86d..c851a4598 100644 --- a/src/Dodge/Item/Weapon/LaserPath.hs +++ b/src/Dodge/Item/Weapon/LaserPath.hs @@ -5,6 +5,7 @@ module Dodge.Item.Weapon.LaserPath ( reflectPulseLaserAlong, ) where +import ListHelp import Data.Bifunctor import Data.Tuple import Dodge.Base.Wall @@ -19,7 +20,7 @@ import Linear reflectLaserAlong :: Float -> Point2 -> Point2 -> World -> (Maybe (Point2, Either Creature Wall), [Point2]) {-# INLINE reflectLaserAlong #-} -reflectLaserAlong phasev sp ep w = case thingHitFilt (const True) _wlUnshadowed sp ep w of +reflectLaserAlong phasev sp ep w = case safeHead $ filter g $ thingsHitZ 20 sp ep w of Just (p, Right wl) | Metal <- wl ^. wlMaterial -> f @@ -32,6 +33,8 @@ reflectLaserAlong phasev sp ep w = case thingHitFilt (const True) _wlUnshadowed Nothing -> (Nothing, [ep]) where f p a b = reflectLaserAlong phasev a b w & _2 .:~ p + g (_,Right wl) = wl ^. wlUnshadowed + g _ = True refract :: Float -> Point2 -> Point2 -> Wall -> Point2 -> Point2 {-# INLINE refract #-} diff --git a/src/Dodge/Render.hs b/src/Dodge/Render.hs index 8fd2e13b6..5025c4336 100644 --- a/src/Dodge/Render.hs +++ b/src/Dodge/Render.hs @@ -359,7 +359,6 @@ doDrawing' win pdata u = do glDrawArrays GL_TRIANGLES 0 6 rs' -> do let rs = take 15 rs' - --glBindFramebuffer GL_FRAMEBUFFER (pdata ^. fbo2 . _1 . unFBO) glBindFramebuffer GL_FRAMEBUFFER 0 withArray (concatMap rdToVec2s rs) $ glNamedBufferSubData (pdata ^. barrelShader . _2 . vboName) 0 @@ -368,20 +367,14 @@ doDrawing' win pdata u = do glUseProgram (pdata ^. barrelShader . _1) glUniform1i 0 (fromIntegral (length rs)) glDrawArrays GL_TRIANGLES 0 6 --- glBindTextureUnit 0 $ pdata ^. fbo2 . _2 . unTO --- glBindFramebuffer GL_FRAMEBUFFER 0 --- glUseProgram (pdata ^. fullscreenShader) --- glDrawArrays GL_TRIANGLES 0 6 glBlendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA -- draw the overlay - --glBindFramebuffer GL_FRAMEBUFFER (pdata ^. fboOverlay ._1 . unFBO) glDepthFunc GL_ALWAYS glDepthMask GL_FALSE glEnable GL_BLEND --glBlendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA glBlendFunc GL_ONE GL_ONE_MINUS_SRC_ALPHA -- assume premultiplied alpha renderLayer DebugLayer shadV pokeCounts - glBindBufferBase GL_UNIFORM_BUFFER 0 (pdata ^. matUBO) withArray (scaleMatrix (2 / windowXFloat cfig) (2 / windowYFloat cfig)) $ glNamedBufferSubData (pdata ^. matUBO) 0 64 glDepthFunc GL_GEQUAL diff --git a/src/Dodge/Room/Tutorial.hs b/src/Dodge/Room/Tutorial.hs index 0686807ee..f47ff0f91 100644 --- a/src/Dodge/Room/Tutorial.hs +++ b/src/Dodge/Room/Tutorial.hs @@ -412,8 +412,8 @@ tutorialMessage1 i = , makeTermLine " [D] TO MOVE" , makeTermLine "--------------------------------------------" ] - <> tlSetStatus (TerminalPressTo "CONTINUE") - <> [ makeTermLine "AFTER EXITING THIS TERMINAL YOUR INVENTORY" - , makeTermLine " AND NEARBY OBJECTS WILL BE DISPLAYED" - , makeTermLine "--------------------------------------------" - ] +-- <> tlSetStatus (TerminalPressTo "CONTINUE") +-- <> [ makeTermLine "AFTER EXITING THIS TERMINAL YOUR INVENTORY" +-- , makeTermLine " AND NEARBY OBJECTS WILL BE DISPLAYED" +-- , makeTermLine "--------------------------------------------" +-- ]