Replace buggy circle seg intersection with a simpler test

This commit is contained in:
2024-12-26 21:53:18 +00:00
parent 91ba6ee148
commit 0ef28c132e
29 changed files with 528 additions and 332 deletions
+37 -2
View File
@@ -3,8 +3,16 @@ module Dodge.Update.Input.DebugTest (
doDebugTest2,
doDebugTestF6,
doDebugTestF7,
doDebugTestF8,
doDebugTestF10,
doDebugTestF11,
doDebugTestF12,
) where
import Text.Read
import System.Clipboard
import Data.Aeson
import AesonHelp
import Control.Lens
import Data.Maybe
import Dodge.Base.Collide
@@ -31,8 +39,10 @@ doDebugTest2 = uvDebugFloat1 .~ 20
doDebugTestF6 :: Universe -> Universe
doDebugTestF6 = uvIOEffects %~ \f u -> do
writeFile "log/heldL" $ show $ u ^. uvWorld . input . heldWorldPos . at ButtonLeft
writeFile "log/heldR" $ show $ u ^. uvWorld . input . heldWorldPos . at ButtonRight
Just ss <- decodeFileStrict "saveSlot/QuickSave"
writeFile "log/prettyQuickSave" ""
mapM_ (\s -> appendFile "log/prettyQuickSave" (s ++ "\n")) $ prettyShort (ss :: CWorld)
putStrLn "log/prettyQuickSave written"
f u
doDebugTestF7 :: Universe -> Universe
@@ -43,3 +53,28 @@ doDebugTestF7 = uvIOEffects %~ \f u -> do
& uvWorld . input . heldWorldPos . at ButtonLeft .~ read l
& uvWorld . input . heldWorldPos . at ButtonRight .~ read r
doDebugTestF8 :: Universe -> Universe
doDebugTestF8 = uvIOEffects %~ \f u -> do
appendFile "log/proj" $ show
(u ^?! uvWorld . cWorld . lWorld . projectiles . ix 5 . prjPos) ++ "/n"
putStrLn "log/proj written"
f u
doDebugTestF10 :: Universe -> Universe
doDebugTestF10 = uvIOEffects %~ \f u -> do
writeFile "log/proj" ""
putStrLn "log/proj cleared"
f u
doDebugTestF11 :: Universe -> Universe
doDebugTestF11 = uvIOEffects %~ \f u -> do
x <- getClipboardString
case x >>= readMaybe of
Nothing -> do
putStrLn "read fail"
f u
Just p -> f $ u
& uvWorld . input . heldWorldPos . at ButtonLeft
.~ (u ^. uvWorld . input . heldWorldPos . at ButtonRight)
& uvWorld . input . heldWorldPos . at ButtonRight ?~ p
doDebugTestF12 :: Universe -> Universe
doDebugTestF12 = id
+4
View File
@@ -352,6 +352,10 @@ updateFunctionKey uv sc InitialPress = case sc of
ScancodeF9 -> doQuickload uv
ScancodeF6 -> doDebugTestF6 uv
ScancodeF7 -> doDebugTestF7 uv
ScancodeF8 -> doDebugTestF8 uv
ScancodeF10 -> doDebugTestF10 uv
ScancodeF11 -> doDebugTestF11 uv
ScancodeF12 -> doDebugTestF12 uv
ScancodeEscape -> pauseGame uv
_ -> uv
updateFunctionKey uv ScancodeF3 _ = doDebugTest uv