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