Liquorice-0.0.1: Algorithmic Doom map generation

Copyright© Jonathan Dowland 2020
LicenseGPL-3
Maintainerjon+hackage@dow.land
Stabilityexperimental
PortabilityPOSIX
Safe HaskellNone
LanguageHaskell98

Liquorice.Wad

Contents

Description

Data types that model the internal data structures in Doom to represent maps, as well as an interim data-type (WadMap) to bridge between these and Liquorice's more abstract types.

Synopsis

Documentation

data WadLump Source #

Enumeration (of sorts) of supported WAD lump types.

Instances
Show WadLump Source # 
Instance details

Defined in Liquorice.Wad

Binary WadLump Source # 
Instance details

Defined in Liquorice.Wad

Methods

put :: WadLump -> Put #

get :: Get WadLump #

putList :: [WadLump] -> Put #

wadLumpLength :: WadLump -> Int Source #

Calculate the lump length of a given WadLump type.

wadLumpName :: WadLump -> String Source #

Determine the lump name for a given WadLump.

data Linedef Source #

A Doom Line definition.

Constructors

Linedef 

Fields

Instances
Eq Linedef Source # 
Instance details

Defined in Liquorice.Wad

Methods

(==) :: Linedef -> Linedef -> Bool #

(/=) :: Linedef -> Linedef -> Bool #

Show Linedef Source # 
Instance details

Defined in Liquorice.Wad

Binary Linedef Source # 
Instance details

Defined in Liquorice.Wad

Methods

put :: Linedef -> Put #

get :: Get Linedef #

putList :: [Linedef] -> Put #

data Sidedef Source #

A Doom Line Side definition.

Constructors

Sidedef 
Instances
Eq Sidedef Source # 
Instance details

Defined in Liquorice.Wad

Methods

(==) :: Sidedef -> Sidedef -> Bool #

(/=) :: Sidedef -> Sidedef -> Bool #

Show Sidedef Source # 
Instance details

Defined in Liquorice.Wad

Binary Sidedef Source # 
Instance details

Defined in Liquorice.Wad

Methods

put :: Sidedef -> Put #

get :: Get Sidedef #

putList :: [Sidedef] -> Put #

data WadMap Source #

A representation of all the WAD lumps that are required for a Doom map.

Instances
Eq WadMap Source # 
Instance details

Defined in Liquorice.Wad

Methods

(==) :: WadMap -> WadMap -> Bool #

(/=) :: WadMap -> WadMap -> Bool #

Show WadMap Source # 
Instance details

Defined in Liquorice.Wad

mapWad2Wad :: WadMap -> [WadLump] Source #

Process a WadMap into a list of WadLumps that could be written to a PWAD.

dumpWad :: [WadLump] -> ByteString Source #

Convert a list of WadLumps into a PWAD represented as a Lazy ByteString.

Orphan instances

Binary Thing Source # 
Instance details

Methods

put :: Thing -> Put #

get :: Get Thing #

putList :: [Thing] -> Put #

Binary Sector Source # 
Instance details

Methods

put :: Sector -> Put #

get :: Get Sector #

putList :: [Sector] -> Put #