{-# OPTIONS_GHC -Wno-unused-imports #-} module Dodge.TestString where import ShortShow import Geometry import qualified SDL import Linear import Dodge.ListDisplayParams import Dodge.SelectionSections import qualified Control.Foldl as L import Dodge.DoubleTree import Dodge.Data.DoubleTree import Dodge.Item.Grammar import Dodge.Item.Display import AesonHelp import Dodge.SmoothScroll import HelpNum import Dodge.Base.Coordinate import Geometry.Vector import Data.Maybe import Dodge.Render.Lights import Data.Aeson (ToJSON) import Data.ByteString.Lazy.Char8 (unpack) import qualified Data.Aeson.Encode.Pretty as AEP import Control.Lens import Dodge.Data.Universe import qualified IntMapHelp as IM import qualified Data.Map.Strict as M testStringInit :: Universe -> [String] testStringInit u = map show (u ^.. uvWorld . cWorld . lWorld . projectiles . each . pjVel . _z) -- map shortShow (u ^.. uvWorld . cWorld . lWorld . debris . each . to g) -- where -- g db = (pz,z,norm v) -- where -- v@(V3 _ _ z) = db ^. dbVel -- (V3 _ _ pz) = db ^. dbPos -- --return . foldMap (prettyLDT (show . (^. _1 . itType))) . invLDT $ _crInv cr -- where -- idp = invDisplayParams $ u ^. uvWorld -- cfig = u ^. uvConfig -- yint = posSelSecYint cfig idp y -- mpos@(V2 _ y) = u ^. uvWorld . input . mousePos -- , show . fmap (fmap _siPictures) $ u ^? uvWorld . hud . hudElement . diSections . ix (-1) . ssItems -- <> [[toEnum (i+j * 32) | i <- [0..31]] | j <- [0..7]] -- <> map show (IM.elems (L.postscan (L.premap _siHeight L.sum) -- $ fromMaybe mempty $ u ^? uvWorld . hud . hudElement . diSections . sssSections . ix 0 . ssItems) -- ) --testStringInit u = [maybe mempty show $ u ^? uvWorld . cWorld . lWorld . projectiles . ix 0 . prjUpdates . ix 3 . pjuControllerID] --testStringInit u = (topTestPart u -- <>) $ map showh $ ---- (IM.toList . IM.filter (\itloc -> itloc ^? ilCrID == Just 0) $ (u ^. uvWorld . cWorld . lWorld . itemLocations)) <> -- ( IM.elems $ fmap h (u ^?! uvWorld . cWorld . lWorld . creatures . ix 0 . crInv)) -- where -- h itm = (_itID itm, _itLocation itm) -- showh (x,(InInv a b c d e)) = show x ++ "," ++ show a ++ "," ++ show b ++"," ++ show c ++"," ++ show d -- ++ "," ++ show e -- showh _ = "" topTestPart :: Universe -> [String] topTestPart u = [maybe "" showManObj $ u ^? uvWorld . cWorld . lWorld . creatures . ix 0 . crManipulation . manObject ] showManObj :: ManipulatedObject -> String showManObj SortInventory = "SortInventory" showManObj (SelectedItem x y z) = "SelItem: "++ show x++ " Root: "++show y++" Attached: "++show z showManObj SelNothing = "SelNothing" showManObj SortCloseItem = "SortCloseItem" showManObj (SelCloseItem x) = "CloseItem " ++ show x showManObj SortCloseButton = "SortCloseButton" showManObj (SelCloseButton x) = "CloseButton " ++ show x --testStringInit u = fromMaybe mempty $ do -- inv <- fmap invLDT $ u ^? uvWorld . cWorld . lWorld . creatures . ix 0 . crInv -- invitm <- inv ^? ix 1 -- return $ concatMap (prettyLDT (\(x,_,_,_) -> take 5 (show $ x ^. itType . iyBase))) [invitm] --testStringInit u = maybe [] invTree (u ^? uvWorld . cWorld . lWorld . creatures . ix 0 . crInv) -- [fromMaybe "" $ do -- cr <- u ^? uvWorld . cWorld . lWorld . creatures . ix 0 -- i <- cr ^? crManipulation . manObject . inInventory . ispItem -- fmap (show . canAttachTargeting) (cr ^? crInv . ix i) -- ] showTimeFlow :: TimeFlowStatus -> String showTimeFlow tfs = case tfs of DeathTime i -> "DeathTime"++show i NormalTimeFlow -> "NormalTimeFlow" ItemScrollTimeFlow {_reverseAmount = ra } -> "ItemScrollTimeFlow" ++ show ra CameraScrollTimeFlow {_reverseAmount = ra } -> "CameraScrollTimeFlow" ++ show ra RewindLeftClick {_reverseAmount = ra } -> "RewindLeftClick" ++ show ra PausedTimeFlow {_timeFlowCharge = ra } -> "PausedTimeFlow" ++ show ra -- [ show $ u ^? uvScreenLayers . _head . scOffset -- ] -- ++ [ shortShow $ u ^?! uvWorld . cWorld . lWorld . creatures . ix 0 . crPos -- ] -- ++ map show (M.toList (u ^. uvWorld . input . pressedKeys))