shithub: choc

ref: a9a3ca3c0d8cea7fe24724a8f9bc17aa3c367677
dir: /TODO/

View raw version
To do:

* Multiplayer:
  - Use UPnP to automatically configure port forwarding for NATted
    networks.
  - Multiplayer options and configuration file (server name, etc)
* Improve multiplayer startup:
  - Select an IWAD automatically from the server's game type rather than
    all players having to specify -iwad.
  - Send list of WADs to load instead of all clients having to specify -file.
  - Same applies to dehacked patches and wad merging parameters.
* Portability improvements:
  - Test on and fix for architectures where ((-2) >> 1) != -1
  - Use size-specific types (eg. int32_t instead of int)
  - Don't make structure packing assumptions when loading levels.
  - Port to every OS and architecture under the sun

Heretic/Hexen:
 * Frequency shifted sounds.
 * Check for endianness assumptions - mostly done now
 * Structure packing macros for structures read from disk
 * Merge r_draw.c to common version and delete duplicate
 * Heretic v1.2 emulation (if possible)
 * Hexen v1.0 emulation (if possible/necessary)
 * Screensaver mode

Crazy pie in the sky ideas:

* Automatic WAD installer - download and run TCs from a list automatically
  (automating the current "instructions on wiki" system).
* Textscreen interface to the Compet-N database: menu driven system to
  automatically download and play speedruns.
* DWANGO-like interface for finding players and setting up games.
* Video capture mode?

== OPL TODO list ==

Needs research:

 * Strategy when no more voices are available is still wrong
 * Scale levels don't exactly match Vanilla (off-by-one?)

Bad MIDIs:

 * doom2.wad MAP01
 * gothicdm MAP05
 * tnt.wad MAP30
 * Alien Vendetta (title screen, MAP01, etc)

Other tasks:

 * Get a better software OPL emulator
 * DMXOPTIONS opl3/phase option support.

# vim: tw=70