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.