waddle-0.1.0.5: DOOM WAD file utilities.

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

Game.Waddle.ExportJS

Description

The function exportJS exports a WAD file into several JavaScript files, where each file defines an object:

  • One file for each level, called level-E1M1.js, level-MAP03.js etc. Each file defines an object for the level, called e.g. level_E1M1. Example:
var level_E1M1 = {
 things: [ ... ],
...
 vertices: [
    {x:1088,y:-3680},
...
 ],
...
};
  • One file levels.js, which includes all levels and defines an object called levels. Example:
var levels = {"MAP01": level_MAP01, ..., "MAP32": level_MAP32};
  • One file for textures, called textures.js, defining an object textures. Example:
var textures = {
  "AASHITTY": {name:"AASHITTY",width:64,height:64,patches:[
  {xoffset:0,yoffset:0,pname:0,stepdir:1,colormap:0}
 ]},
...
};
  • One file for flats (floors and ceilings), called flats.js, defining an object flats. Example:
var flats = {
  "BLOOD1":{name:"BLOOD1",data:[46,46,45,...]},
  ...
};
  • One file for sprites, called sprites.js, defining an object sprites. No example, I think you get the idea!
  • One file for patches, called patches.js, defining an object patches.
  • One file for pnames, called pnames.js, defining a list pnames.
  • One file for palettes, called palettes.js, defining a list of lists palettes.
  • One file for colormaps, called colormap.js, defining a list colormap.

To see how this data can be used, have a look at the HTML5 view included in the distribution in directory "visualize".

Synopsis

Documentation

exportJS :: Wad -> FilePath -> IO () Source

Exports a WAD structure into several JavaScript files:

  • One file for each level, called like level_E1M1.js or level_MAP13.js
  • levels.js
  • textures.js
  • flats.js
  • sprites.js
  • patches.js
  • pnames.js
  • @palettes.js
  • colormap.js