module Rattletrap.Type.Attribute.Title where import qualified Rattletrap.BitGet as BitGet import qualified Rattletrap.BitPut as BitPut import qualified Rattletrap.Schema as Schema import qualified Rattletrap.Type.U32 as U32 import qualified Rattletrap.Utility.Json as Json data Title = Title { Title -> Bool unknown1 :: Bool , Title -> Bool unknown2 :: Bool , Title -> U32 unknown3 :: U32.U32 , Title -> U32 unknown4 :: U32.U32 , Title -> U32 unknown5 :: U32.U32 , Title -> U32 unknown6 :: U32.U32 , Title -> U32 unknown7 :: U32.U32 , Title -> Bool unknown8 :: Bool } deriving (Title -> Title -> Bool (Title -> Title -> Bool) -> (Title -> Title -> Bool) -> Eq Title forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a /= :: Title -> Title -> Bool $c/= :: Title -> Title -> Bool == :: Title -> Title -> Bool $c== :: Title -> Title -> Bool Eq, Int -> Title -> ShowS [Title] -> ShowS Title -> String (Int -> Title -> ShowS) -> (Title -> String) -> ([Title] -> ShowS) -> Show Title forall a. (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a showList :: [Title] -> ShowS $cshowList :: [Title] -> ShowS show :: Title -> String $cshow :: Title -> String showsPrec :: Int -> Title -> ShowS $cshowsPrec :: Int -> Title -> ShowS Show) instance Json.FromJSON Title where parseJSON :: Value -> Parser Title parseJSON = String -> (Object -> Parser Title) -> Value -> Parser Title forall a. String -> (Object -> Parser a) -> Value -> Parser a Json.withObject String "Title" ((Object -> Parser Title) -> Value -> Parser Title) -> (Object -> Parser Title) -> Value -> Parser Title forall a b. (a -> b) -> a -> b $ \Object object -> do Bool unknown1 <- Object -> String -> Parser Bool forall value. FromJSON value => Object -> String -> Parser value Json.required Object object String "unknown1" Bool unknown2 <- Object -> String -> Parser Bool forall value. FromJSON value => Object -> String -> Parser value Json.required Object object String "unknown2" U32 unknown3 <- Object -> String -> Parser U32 forall value. FromJSON value => Object -> String -> Parser value Json.required Object object String "unknown3" U32 unknown4 <- Object -> String -> Parser U32 forall value. FromJSON value => Object -> String -> Parser value Json.required Object object String "unknown4" U32 unknown5 <- Object -> String -> Parser U32 forall value. FromJSON value => Object -> String -> Parser value Json.required Object object String "unknown5" U32 unknown6 <- Object -> String -> Parser U32 forall value. FromJSON value => Object -> String -> Parser value Json.required Object object String "unknown6" U32 unknown7 <- Object -> String -> Parser U32 forall value. FromJSON value => Object -> String -> Parser value Json.required Object object String "unknown7" Bool unknown8 <- Object -> String -> Parser Bool forall value. FromJSON value => Object -> String -> Parser value Json.required Object object String "unknown8" Title -> Parser Title forall (f :: * -> *) a. Applicative f => a -> f a pure Title :: Bool -> Bool -> U32 -> U32 -> U32 -> U32 -> U32 -> Bool -> Title Title { Bool unknown1 :: Bool unknown1 :: Bool unknown1 , Bool unknown2 :: Bool unknown2 :: Bool unknown2 , U32 unknown3 :: U32 unknown3 :: U32 unknown3 , U32 unknown4 :: U32 unknown4 :: U32 unknown4 , U32 unknown5 :: U32 unknown5 :: U32 unknown5 , U32 unknown6 :: U32 unknown6 :: U32 unknown6 , U32 unknown7 :: U32 unknown7 :: U32 unknown7 , Bool unknown8 :: Bool unknown8 :: Bool unknown8 } instance Json.ToJSON Title where toJSON :: Title -> Value toJSON Title x = [Pair] -> Value Json.object [ String -> Bool -> Pair forall value pair. (ToJSON value, KeyValue pair) => String -> value -> pair Json.pair String "unknown1" (Bool -> Pair) -> Bool -> Pair forall a b. (a -> b) -> a -> b $ Title -> Bool unknown1 Title x , String -> Bool -> Pair forall value pair. (ToJSON value, KeyValue pair) => String -> value -> pair Json.pair String "unknown2" (Bool -> Pair) -> Bool -> Pair forall a b. (a -> b) -> a -> b $ Title -> Bool unknown2 Title x , String -> U32 -> Pair forall value pair. (ToJSON value, KeyValue pair) => String -> value -> pair Json.pair String "unknown3" (U32 -> Pair) -> U32 -> Pair forall a b. (a -> b) -> a -> b $ Title -> U32 unknown3 Title x , String -> U32 -> Pair forall value pair. (ToJSON value, KeyValue pair) => String -> value -> pair Json.pair String "unknown4" (U32 -> Pair) -> U32 -> Pair forall a b. (a -> b) -> a -> b $ Title -> U32 unknown4 Title x , String -> U32 -> Pair forall value pair. (ToJSON value, KeyValue pair) => String -> value -> pair Json.pair String "unknown5" (U32 -> Pair) -> U32 -> Pair forall a b. (a -> b) -> a -> b $ Title -> U32 unknown5 Title x , String -> U32 -> Pair forall value pair. (ToJSON value, KeyValue pair) => String -> value -> pair Json.pair String "unknown6" (U32 -> Pair) -> U32 -> Pair forall a b. (a -> b) -> a -> b $ Title -> U32 unknown6 Title x , String -> U32 -> Pair forall value pair. (ToJSON value, KeyValue pair) => String -> value -> pair Json.pair String "unknown7" (U32 -> Pair) -> U32 -> Pair forall a b. (a -> b) -> a -> b $ Title -> U32 unknown7 Title x , String -> Bool -> Pair forall value pair. (ToJSON value, KeyValue pair) => String -> value -> pair Json.pair String "unknown8" (Bool -> Pair) -> Bool -> Pair forall a b. (a -> b) -> a -> b $ Title -> Bool unknown8 Title x ] schema :: Schema.Schema schema :: Schema schema = String -> Value -> Schema Schema.named String "attribute-title" (Value -> Schema) -> Value -> Schema forall a b. (a -> b) -> a -> b $ [(Pair, Bool)] -> Value Schema.object [ (String -> Value -> Pair forall value pair. (ToJSON value, KeyValue pair) => String -> value -> pair Json.pair String "unknown1" (Value -> Pair) -> Value -> Pair forall a b. (a -> b) -> a -> b $ Schema -> Value Schema.ref Schema Schema.boolean, Bool True) , (String -> Value -> Pair forall value pair. (ToJSON value, KeyValue pair) => String -> value -> pair Json.pair String "unknown2" (Value -> Pair) -> Value -> Pair forall a b. (a -> b) -> a -> b $ Schema -> Value Schema.ref Schema Schema.boolean, Bool True) , (String -> Value -> Pair forall value pair. (ToJSON value, KeyValue pair) => String -> value -> pair Json.pair String "unknown3" (Value -> Pair) -> Value -> Pair forall a b. (a -> b) -> a -> b $ Schema -> Value Schema.ref Schema U32.schema, Bool True) , (String -> Value -> Pair forall value pair. (ToJSON value, KeyValue pair) => String -> value -> pair Json.pair String "unknown4" (Value -> Pair) -> Value -> Pair forall a b. (a -> b) -> a -> b $ Schema -> Value Schema.ref Schema U32.schema, Bool True) , (String -> Value -> Pair forall value pair. (ToJSON value, KeyValue pair) => String -> value -> pair Json.pair String "unknown5" (Value -> Pair) -> Value -> Pair forall a b. (a -> b) -> a -> b $ Schema -> Value Schema.ref Schema U32.schema, Bool True) , (String -> Value -> Pair forall value pair. (ToJSON value, KeyValue pair) => String -> value -> pair Json.pair String "unknown6" (Value -> Pair) -> Value -> Pair forall a b. (a -> b) -> a -> b $ Schema -> Value Schema.ref Schema U32.schema, Bool True) , (String -> Value -> Pair forall value pair. (ToJSON value, KeyValue pair) => String -> value -> pair Json.pair String "unknown7" (Value -> Pair) -> Value -> Pair forall a b. (a -> b) -> a -> b $ Schema -> Value Schema.ref Schema U32.schema, Bool True) , (String -> Value -> Pair forall value pair. (ToJSON value, KeyValue pair) => String -> value -> pair Json.pair String "unknown8" (Value -> Pair) -> Value -> Pair forall a b. (a -> b) -> a -> b $ Schema -> Value Schema.ref Schema Schema.boolean, Bool True) ] bitPut :: Title -> BitPut.BitPut bitPut :: Title -> BitPut bitPut Title titleAttribute = Bool -> BitPut BitPut.bool (Title -> Bool unknown1 Title titleAttribute) BitPut -> BitPut -> BitPut forall a. Semigroup a => a -> a -> a <> Bool -> BitPut BitPut.bool (Title -> Bool unknown2 Title titleAttribute) BitPut -> BitPut -> BitPut forall a. Semigroup a => a -> a -> a <> U32 -> BitPut U32.bitPut (Title -> U32 unknown3 Title titleAttribute) BitPut -> BitPut -> BitPut forall a. Semigroup a => a -> a -> a <> U32 -> BitPut U32.bitPut (Title -> U32 unknown4 Title titleAttribute) BitPut -> BitPut -> BitPut forall a. Semigroup a => a -> a -> a <> U32 -> BitPut U32.bitPut (Title -> U32 unknown5 Title titleAttribute) BitPut -> BitPut -> BitPut forall a. Semigroup a => a -> a -> a <> U32 -> BitPut U32.bitPut (Title -> U32 unknown6 Title titleAttribute) BitPut -> BitPut -> BitPut forall a. Semigroup a => a -> a -> a <> U32 -> BitPut U32.bitPut (Title -> U32 unknown7 Title titleAttribute) BitPut -> BitPut -> BitPut forall a. Semigroup a => a -> a -> a <> Bool -> BitPut BitPut.bool (Title -> Bool unknown8 Title titleAttribute) bitGet :: BitGet.BitGet Title bitGet :: BitGet Title bitGet = do Bool unknown1 <- BitGet Bool BitGet.bool Bool unknown2 <- BitGet Bool BitGet.bool U32 unknown3 <- BitGet U32 U32.bitGet U32 unknown4 <- BitGet U32 U32.bitGet U32 unknown5 <- BitGet U32 U32.bitGet U32 unknown6 <- BitGet U32 U32.bitGet U32 unknown7 <- BitGet U32 U32.bitGet Bool unknown8 <- BitGet Bool BitGet.bool Title -> BitGet Title forall (f :: * -> *) a. Applicative f => a -> f a pure Title :: Bool -> Bool -> U32 -> U32 -> U32 -> U32 -> U32 -> Bool -> Title Title { Bool unknown1 :: Bool unknown1 :: Bool unknown1 , Bool unknown2 :: Bool unknown2 :: Bool unknown2 , U32 unknown3 :: U32 unknown3 :: U32 unknown3 , U32 unknown4 :: U32 unknown4 :: U32 unknown4 , U32 unknown5 :: U32 unknown5 :: U32 unknown5 , U32 unknown6 :: U32 unknown6 :: U32 unknown6 , U32 unknown7 :: U32 unknown7 :: U32 unknown7 , Bool unknown8 :: Bool unknown8 :: Bool unknown8 }