shithub: choc

ref: 4b161bb861834754537ee014d045c21399f97cf8
dir: /TODO/

View raw version
Currently in progress:

* Heretic/Hexen support (see: raven-branch)
* Strife support (see: strife-branch)

To do:

* Demo hashes for regression testing of this and other ports.
* File selector for chocolate-setup, so that WADs can be selected from
  a browser, instead of simply typing the filenames.
* Multiplayer:
  - Master server for locating servers automatically - makes setting up
    public servers easier.
  - Use UPnP to automatically configure port forwarding for NATted
    networks.
  - Incorporate local LAN search into setup interface.
  - 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

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.