
TODO
====

General:

+  create special BOSS levels (e.g. E1M8, MAP30)

+  get traps (closets / depots) working again.


GUI:

++ update to LUA 5.1.2

+  errors show full traceback (see interpreter source)

-  remember save path in config file (Win32).

-  make an icon for Win32 executable.


Hexen:

+  rework teleporter gates (make them bi-directional).

+  fix key usage (REQUIRE both to get to boss level).


Docs:

-  note that you need full version of XXX to play the games
   (shareware won't work).


Secrets:

-  fix battle simulator to ignore stuff got in secrets
   (push state onto stack, pop afterwards).

-  different item probs, e.g. invuln & berserk are good


Theme system:

-  Room types:

   (a) storage   (crates, barrels)
   (b) quarters  (tables, chairs, beds)
   (c) bathroom
   (d) computer
   (e) library

   (f) armoury | supplies
   (g) processing plant (machines)
   (h) torture  (wolf3d/SOD)


Monsters:

-  at each room, pick 2-3 (rarer: 1,4) monster types
   then decide how many of each one (for each skill).

-  monster adjustment: don't just increase toughness, actually
   create _more_ monsters.

-  battle_in_cell: arrange it so that cells could be visited
   in any area (as much as possible).  Allow e.g. multiple
   starting cells, "forked" paths (path splits and rejoins)...

   IDEA: treat groups of cells (esp: multi starts and forked
         paths) as a SINGLE BATTLE ARENA.

-  idea: horde_size depends on (pl_weap.fp - monst.fp)

-  cage monsters: don't put hitscan snipers up really high.


Wolf3D:
 
   + push-walls for secret quests!
   + secret elevators
   + bosses!

   - decide_monster : skills are "tiered"
   - health/ammo : no skills! -- use medium one
   - place_items : never where monsters are!
   - create rooms with 'endgame' object.

   (later) ensure limits are enforced:
     - MAXACTORS = 150  (remove actors at random)
     - MAXSTATS  = 400  (remove statics at random)
     - MAXDOORS  = 64   (remove unneeded doors at random)

   (later) patrolling monsters (need to create path with arrows).
   (later) secret levels (full of treasure)
   (later) something interesting in middle of big rooms.
   (later) elevator "entry" in first room.
   (later) widen some arches.
   (later) pacman levels: decorate walls


Miscellaneous:

+  don't put monsters/pickups/scenery on normal Prefabs.

+  prefabs: improve "kind" fields, allow "x_offset" fields
   default to 0.

-  put switches on Vistas, eat the special spot or use a
   wide pillar at the far end.

-  plot_quests: if cannot get want_len, try again AND/OR backtrack

-  optimise A* algorithm
-  optimise find_fab_loc

-  GUI: Advanced button.
-  GUI: create menus based on the lua scripts present.
-  GUI: make sure target dir is writable _before_ making levels.
   (have a "CheckDirWritable" function?)

-  idea: LOCK POSTPONING: making a locked door not at the branch
         point but somewhere else along the new path (could even
         be the door of last cell).



MILESTONE 0  (reached!)
===========

Able to create a map of connected areas, with a
few items / monsters, and which works in DOOM.


MILESTONE 1  (reached!)
===========

a) Planning:

   #  proper quest structure, E branches off a cell
      between S and K.

   #  quests: KEY, SWITCH, WEAPON

b) Builder:
 
   #  create a reasonable room in each cell,

   #  create doors between rooms, KEYED when required

   #  add exit switch to final room

   #  player model: (health, armour, ammo, weapons)

   #  add some monsters
 
   #  add some supplies (health, ammo)

c) Writer:

   #  support fragments

   #  texture X alignment (esp. fragments)


MILESTONE 2  (reached!)
===========

#  working GUI interface using FLTK

#  build WAD files directly (no wadlc step).

#  use GLBSP plugin to build nodes automatically.

#  more architecture features:

   #  pillars
   #  lights / sky-holes in the ceiling
   #  paintings / computers / lights in the wall
   #  monster cages
   #  monster closets (esp. along a back-track route)
   #  monsters teleporting in


MILESTONE 3  (sorta reached)
===========

#  larger rooms, different shapes.

#  adjustment controls for DeathMatch levels.

#  better support for Wolf3d, Doom 1/2, Heretic, and Hexen.

#  allocation system for blocks (can_walk tests).

#  secrets.

#  wall switches: place in the wall! 

#  support these liquid wall animations:
   (a) water --> FIREMAGx (W74A_1, W74A_2, W74B_1)
   (b) lava  --> ROCKREDx (WALL64_2, W64B_1, W64B_2)
   (c) slime --> BLODRIPx (RP2_1, RP2_2, RP2_3, RP2_4)


MILESTONE 4  (pipe dreams...)
===========

++ better global architecture, room-in-a-room.

+  teleporters!

+  make Oblige easier to mod.

-  bridges (activate by a switch)

?  light up levels (a la quake).

-  exit via teleporter pad or holes in floor

-  improved use of liquids.

?? one-way routes ??
   -  for example: at along:3 fall-off -> along:4
      BUT... how to get back to along:3 ??
      WITHOUT creating an alternative path?
      ANSWER: use another one-way connection

   - One way connections:
     (a) fall-offs
     (b) teleporters
     (c) doors that only open from one side (esp. via a switch)
     (d) lifts that go up (or down) into a hole
         (activated by a switch only on one side).

?  support for Eternal III


 ____________________
|KEY:                |
|    #  completed    |
|    -  plain item   |
|    +  important    |
|    >> in progress  |
|    ?? not sure     |
|____________________|

