is a Node.JS parser and writer for Doom .WAD files, that will include a map editor (with linedefs, sectors, etc).
. WAD (the main WAD structure)
+-+ lumps (list : WLump)
| +-+ WLump
| +-- name (String)
| +-- data (Buffer)
| +-- strData (String)
|
+-- bPWAD
+-- numLumps
+-- read (class-method : Buffer -> WAD instance)
+-- write (instance-method : void -> Buffer instance)
. MapEdit (a class that edits maps and exports them to WAD)
+-- mapName
+-+ vertexes (list : WVertex)
| +-+ WVertex
| +-- x
| +-- y
| +-- index
|
+-+ linedefs (list : WLinedef)
| +-+ WLinedef
| +-- begin
| +-- end
| +-- flags
| +-- linetype
| +-- tag
| +-- frontSidedef
| +-- backSidedef
| +-- index
|
+-+ sidedefs (list : WSidedef)
| +-+ WSidedef
| +-- xoffs
| +-- yoffs
| +-- uptex
| +-- midtex
| +-- lowtex
| +-- frontSector
| +-- index
|
+-+ things (list : WThing)
| +-+ WThing
| +-- xpos
| +-- ypos
| +-- angle
| +-- type
| +-- flags
|
+-+ sectors (list : WSector)
| +-+ WSector
| +-- floorHeight
| +-- ceilHeight
| +-- floorTex
| +-- ceilTex
| +-- lighting
| +-- special
| +-- tag
| +-- index
|
+-- read (UPCOMING) (class-method : Buffer -> MapEdit)
+-- toLumps (instance-method : WAD -> MapEdit chaining)
+-- addVertex (instance-method : Number x, Number y -> MapEdit chaining)
+-- addThing (instance-method : Number xpos, Number ypos, Number type, Number angle, Number index -> MapEdit chaining)
+-- buildSector (instance-method : list[list[Number, Number]] positions, Object{Number floorHeight, Number ceilHeight, String floorTex, String ceilTex, Number light, Number special, Number tag} sectorData, Object{Number xOff, Number yOff, String upTex, String midTex, String lowTex, Number flags, Number lineType, Number tag} lineData -> MapEdit chaining)