waddle-0.1.0.0: WAD file utilities.

Copyright(c) 2015 Martin Grabmueller
LicenseBSD3
Maintainermartin@grabmueller.de
Stabilityprovisional
Portabilityportable
Safe HaskellSafe-Inferred
LanguageHaskell2010

Game.Waddle.Types

Description

Waddle is a library of WAD file utilities.

This is a convenience module which re-exports the modules which are essential for using Waddle.

Documentation

data WadHeader Source

Constructors

WadHeader 

Fields

wadHeaderIdentifier :: ByteString

Normally IWAD or PWAD, always of length 4.

wadHeaderLumpCount :: Int32

Number of lumps in the file.

wadHeaderDirectoryOffset :: Int32

Byte offset (relative to beginning of the file) of the WAD directory.

data WadEntry Source

Constructors

WadEntry 

Fields

wadEntryOffset :: Int32

Offset of the lump data in the file.

wadEntrySize :: Int32

Size (in bytes) of the lump data.

wadEntryName :: ByteString

Name of the lump. Note that trailing NULs are stripped when the name is read in.

data Sprite Source

Constructors

Sprite 

data Post Source

Constructors

Post 

Instances

data Wad Source

Constructors

Wad 

Fields

wadHeader :: WadHeader

WAD header.

wadDirectory :: [WadEntry]

All WAD directory entries, in the same order as in the file.

wadLumps :: [ByteString]

All WAD lumps, each entry matching the corresponding entry in wadDirectory.

wadLumpLookup :: Map (CI LumpName) ByteString

Mapping from lump names to lump content.

wadFlats :: Map (CI LumpName) Flat

Mapping from lump names to flats (floors and ceilings).

wadSprites :: Map (CI LumpName) Sprite

Mapping from lump names to sprites (monsters and things).

wadPatches :: Map (CI LumpName) Patch

Mapping from lump names to patches (parts of wall textures).

wadTextures :: Map (CI LumpName) Texture

Mapping from lump names to wall textures.

wadLevels :: Map (CI LumpName) Level

Mapping from lump names to levels.

wadPNames :: Map Int LumpName

Mapping from patch indices to patch names.

wadColormap :: Maybe Colormap

WAD colormap for mapping palette entries according to light levels.

wadPalettes :: Maybe Palettes

Palettes for mapping color indices to RGB tuples.

data Colormap Source

Constructors

Colormap [ByteString] 

data Palettes Source

Constructors

Palettes [[(Word8, Word8, Word8)]] 

data ThingType Source

Constructors

ZeroThing 
Player1StartPos 
Player2StartPos 
Player3StartPos 
Player4StartPos 
DeathMatchStartPos 
FormerHuman 
WolfensteinOfficer 
FormerHumanSergeant 
FormerHumanCommando 
Imp 
Demon 
Spectre 
LostSoul 
Cacodemon 
HellKnight 
BaronOfHell 
Arachnotron 
PainElemental 
Revenant 
Mancubus 
ArchVile 
Spiderdemon 
Cyberdemon 
BossBrain 
TeleportLanding 
BossShooter 
SpawnSpot 
Chainsaw 
Shotgun 
SuperShotgun 
Chaingun 
RocketLauncher 
Plasmagun 
BFG9000 
AmmoClip 
ShotgunShells 
Rocket 
CellCharge 
BoxOfAmmo 
BoxOfShells 
BoxOfRockets 
CellChargePack 
Backpack 
StimPack 
Medikit 
HealthPotion 
SpiritArmor 
SecurityArmor 
CombatArmor 
MegaSphere 
SoulSphere 
Invulnerability 
BerserkPack 
Invisibility 
RadiationSuit 
ComputerMap 
LightAmplificationGoggles 
BlueKeyCard 
RedKeyCard 
YellowKeyCard 
BlueSkullKey 
RedSkullKey 
YellowSkullKey 
Barrel 
BurningBarrel 
Candle 
Candelabra 
TallTechnocolumn 
TallGreenPillar 
TallRedPillar 
ShortGreenPillar 
ShortGreenPillarWithHeart 
ShortGreenPillarWithBeatingHeart 
ShortRedPillar 
ShortRedPillarWithSkull 
Stalagmite 
BurntGrayTree 
LargeBrownTree 
TallBlueFirestick 
TallGreenFirestick 
TallRedFirestick 
ShortBlueFirestick 
ShortGreenFirestick 
ShortRedFirestick 
FloorLamp 
TallTechnoLamp 
ShortTechnoLamp 
EvilEyeSymbol 
FlamingSkullRock 
ImpaledHuman 
TwitchingImpaledHuman 
SkullOnPole 
FiveSkullShishKebap 
PileOfSkullsAndCandles 
HangingVictim 
HangingVictimTwitching 
HangingPairOfLegs 
HangingVictim1Leg 
HangingLeg 
HangingVictimNoGuts 
HangingVictimNoGutsBrain 
HangingTorsoLookingDown 
HangingTorsoOpenSkull 
HangingTorsoLookingUp 
HangingTorsoNoBrain 
HangingBilly 
DeadPlayer 
DeadFormerHuman 
DeadFormerSergeant 
DeadImp 
DeadDemon 
DeadCacodemon 
DeadLostSoulInvisible 
BloodyMessExplodedPlayer 
BloodyMessAsAbove 
PoolOfBlood 
PoolOfGuts 
SmallPoolOfGuts 
PoolOfBrains 
HangingVictimTwitching2 
HangingVictimArmsSpread 
HangingVictim1Legged 
HangingPairOfLegs2 
HangingLeg2 
ThingTypeOther Int 

Instances

data Patch Source

Constructors

Patch 

data Flat Source

Constructors

Flat 

Fields

flatName :: LumpName

Name of this flat.

flatData :: ByteString

Alrays 64 x 64 = 4096 bytes.

data Reject Source

Constructors

Reject 

data Vertex Source

Constructors

Vertex 

Fields

vertexX :: Int16
 
vertexY :: Int16