Add weapon cycling bindings for mouse and joystick buttons. Add weapon cycling bindi...
[chocolate-doom.git] / NEWS
blobc27050629e08671f90c99228bac4ba0e25e8354a
1 1.4.0 (2010-07-10):
3      The biggest change in this version is the addition of OPL
4      emulation.  This emulates Vanilla Doom's MIDI playback when
5      using a Yamaha OPL synthesizer chip, as was found on
6      SoundBlaster compatible cards.
8      A software OPL emulator is included as most modern computers do
9      not have a hardware OPL chip any more.  If you do have one, you
10      can configure Chocolate Doom to use it; see README.OPL.
12      The OPL playback feature is not yet perfect or 100% complete,
13      but is judged to be good enough for general use.  If you find
14      music that does not play back properly, please report it as a
15      bug.
17      Other changes:
18      * The REJECT overflow emulation code from PrBoom+ has been
19        imported.  This fixes demo desync on some demos, although
20        others will still desync.
21      * Warnings are now generated for invalid dehacked replacements of
22        printf format strings.  Some potential buffer overflows are
23        also checked.
24      * The installation instructions (INSTALL file) have been
25        clarified and made more platform-agnostic.
26      * The mouse is no longer warped to the center of the screen when
27        the demo sequence advances.
28      * Key bindings can now be changed for the demo recording quit key
29        (normally 'q') and the multiplayer messaging keys (normally
30        't', 'g', 'i', 'b' and 'r').
32 1.3.0 (2010-02-10):
34      * Chocolate Doom now runs on Windows Mobile/Windows CE!
35      * It is possible to rebind most/all of the keys that control the
36        menu, shortcuts, automap and weapon switching.  The main
37        reason for this is to support the Windows CE port and other
38        platforms where a full keyboard may not be present.
39      * Chocolate Doom now includes a proper Mac OS X package; it is
40        no longer necessary to compile binaries for this system by
41        hand.  The package includes a simple graphical launcher
42        program and can be installed simply by dragging the "Chocolate
43        Doom" icon to the Applications folder. (thanks to Rikard Lang
44        for extensive testing and feedback)
45      * The video mode auto-adjust code will automatically choose
46        windowed mode if no fullscreen video modes are available.
47      * The zone memory size is automatically reduced on systems with
48        a small amount of memory.
49      * The "join game" window in the setup tool now has an option to
50        automatically join a game on the local network.
51      * Chocolate Doom includes some initial hacks for compiling under
52        SDL 1.3.
53      * Recent versions of SDL_mixer include rewritten MIDI code on Mac
54        OS X.  If you are using a version of SDL_mixer with the new
55        code, music will now be enabled by default.
56      * Windows Vista and Windows 7 no longer prompt for elevated
57        privileges when running the setup tool (thanks hobbs and
58        MikeRS).
59      * The Windows binaries now have better looking icons (thanks
60        MikeRS).
61      * Magic values specified using the -spechit command line
62        parameter can now be hexadecimal.
63      * DOOMWADDIR/DOOMWADPATH can now specify the complete path to
64        IWAD files, rather than the path to the directory that contains
65        them.
66      * When recording shorttics demos, errors caused by the reduced
67        turning resolution are carried forward, possibly making turning
68        smoother.
69      * The source tarball can now be used to build an RPM package:
70          rpmbuild -tb chocolate-doom-VER.tar.gz
72     Compatibility:
73      * The A_BossDeath behavior in v1.9 emulation mode was fixed
74        (thanks entryway)
75      * The "loading" disk icon is drawn more like how it is drawn in
76        Vanilla Doom, also fixing a bug with chook3.wad.
77      * Desync on 64-bit systems with ep1-0500.lmp has (at long last)
78        been fixed (thanks exp(x)).
79      * Donut overrun emulation code imported from Prboom+ (thanks
80        entryway).
81      * The correct level name should now be shown in the automap for
82        pl2.wad MAP33 (thanks Janizdreg).
83      * In Chex Quest, the green radiation suit colormap is now used
84        instead of the red colormaps normally used when taking damage
85        or using the berserk pack.  This matches Vanilla chex.exe
86        behavior (thanks Fuzztooth).
87      * Impassible glass now displays and works the same as in Vanilla,
88        fixing wads such as OTTAWAU.WAD (thanks Never_Again).
90     Bugs fixed:
91      * Memory-mapped WAD I/O is disabled by default, as it caused
92        various issues, including a slowdown/crash with Plutonia 2
93        MAP23.  It can be explicitly re-enabled using the '-mmap'
94        command line parameter.
95      * Crash when saving games due to the ~/.chocolate-doom/savegames
96        directory not being created (thanks to everyone who reported
97        this).
98      * Chocolate Doom will now run under Win95/98, as the
99        SetProcessAffinityMask function is looked up dynamically.
100      * Compilation under Linux with older versions of libc will now
101        work (the semantics for sched_setaffinity were different in
102        older versions)
103      * Sound clipping when using libsamplerate was improved (thanks
104        David Flater)
105      * The audio buffer size is now calculated based on the sample
106        rate, so there is not a noticeable delay when using a lower
107        sample rate.
108      * The manpage documentation for the DOOMWADPATH variable was
109        fixed (thanks MikeRS).
110      * Compilation with FEATURE_MULTIPLAYER and FEATURE_SOUND
111        disabled was fixed.
112      * Fixed crash when using the donut special type and the joining
113        linedef is one sided (thanks Alexander Waldmann).
114      * Key settings in a configuration file that are out of range
115        do not cause a crash (thanks entryway).
116      * Fix ear-piercing whistle when playing the MAP05 MIDI music
117        using timidity with EAWPATS (thanks entryway / HackNeyed).
119     libtextscreen:
120      * There is now a second, small textscreen font, so that the
121        ENDOOM screen and setup tool can be used on low resolution
122        devices (eg. PDAs/embedded devices)
123      * The textscreen library now has a scrollable pane widget. Thanks
124        to LionsPhil for contributing code to scroll up and down using
125        the keyboard.
126      * Doxygen documentation was added for the textscreen library.
128 1.2.1 (2008-12-10):
130     This version just fixes a crash at the intermission screen when
131     playing Doom 1 levels.
133 1.2.0 (2008-12-10):
135     Happy 15th Birthday, Doom!
137      * Chocolate Doom now has an icon that is not based on the proprietary
138        Doom artwork.
139      * There is now memory-mapped WAD I/O support, which should be useful
140        on some embedded systems.
141      * Chex quest emulation support is now included, although an
142        auxiliary dehacked patch is needed (chexdeh.zip in the idgames
143        archive).
145     Compatibility:
146      * The armor class is always set to 2 when picking up a megasphere
147        (thanks entryway).
148      * The quit screen prompts to quit "to dos" instead of just to quit
149        (thanks MikeRS)
150      * The "dimensional shambler" quit message was fixed.
151      * Fix crash related to A_BFGSpray with NULL target when using
152        dehacked patches - discovered with insaned2.deh
153        (thanks CSonicGo)
154      * NUL characters are stripped from dehacked files, to ensure correct
155        behavior with some dehacked patches (eg. the one with portal.wad).
157     Bugs fixed:
158      * "Python Image Library" should have been "Python Imaging Library"
159        (thanks exp(x)).
160      * The setup tool should no longer ask for elevated permissions
161        on Windows Vista (this fix possibly may not work).
162      * The application icon is set properly when running under Windows
163        XP with the "Luna" theme.
164      * Fix compilation under Cygwin to detect libraries and headers from
165        the correct environment.
166      * The video code does not try to read SDL events before SDL has
167        been properly initialised - this was causing problems with some
168        older versions of SDL.
170 1.1.1 (2008-04-20):
172     The previous release (v1.1.0) included a bug that broke compilation
173     when libsamplerate support was enabled.  The only change in this 
174     version is to fix this bug.
176 1.1.0 (2008-04-19):
178      * The video mode code has been radically restructured.  The video mode is
179        now chosen by directly specifying the mode to use; the scale factor is
180        then chosen to fit the screen.  This is helpful when using widescreen
181        monitors (thanks Linguica)
182      * MSVC build project files (thanks GhostlyDeath and entryway).
183      * Unix manpage improvements; the manpage now lists the environment
184        variables that Chocolate Doom uses.  Manpages have been added for
185        chocolate-setup and chocolate-server, from the versions for the Debian
186        Chocolate Doom package (thanks Jon Dowland).
187      * INSTALL file with installation instructions for installing Chocolate
188        Doom on Unix systems.
189      * Support for high quality resampling of sound effects using 
190        libsamplerate (thanks David Flater).
191      * A low pass filter is applied when doing sound resampling in an
192        attempt to filter out high frequency noise from the resampling
193        process.
194      * R_Main progress box is not displayed if stdout is a file (produces
195        cleaner output).
196      * Client/server version checking can be disabled to allow different
197        versions of Chocolate Doom to play together, or Chocolate Doom
198        clients to play with Strawberry Doom clients.
199      * Unix manpages are now generated for the Chocolate Doom 
200        configuration files.
201      * The BSD PC speaker driver now works on FreeBSD.
203     Compatibility:
204      * Use the same spechits compatibility value as PrBoom+, for consistency
205        (thanks Lemonzest).
206      * The intercepts overrun code has been refactored to work on big
207        endian machines.
208      * The default startup delay has been set to one second, to allow 
209        time for the screen to settle before starting the game (some 
210        monitors have a delay before they come back on after changing modes).
211      * If a savegame buffer overrun occurs, the savegame does not get saved
212        and existing savegames are not overwritten (same behaviour as 
213        Vanilla).
215     Bugs fixed:
216      * Desync with STRAIN demos and dehacked Misc values not being set
217        properly (thanks Lemonzest)
218      * Don't grab the mouse if the mouse is disabled via -nomouse or use_mouse
219        in the configuration file (thanks MikeRS).
220      * Don't center the mouse on startup if the mouse is disabled (thanks
221        Siggi).
222      * Reset the palette when the window is restored to clear any screen
223        corruption (thanks Catoptromancy).
224      * mus2mid.c should use MEM_SEEK_SET, not SEEK_SET (thanks Russell)
225      * Fast/Respawn options were not being exchanged when starting netgames
226        (thanks GhostlyDeath).
227      * Letterbox mode is more accurately described as "pillarboxed" or 
228        "windowboxed" where appropriate (thanks MikeRS)
229      * Process affinity mask is set to 1 on Windows, to work around a 
230        bug in SDL_mixer that can cause crashes on multi-core machines
231        (thanks entryway).
232      * Bugs in the joystick configuration dialog in the setup tool have
233        been fixed.
235 1.0.0 (2007-12-10):
237     This release is dedicated to Dylan 'Toke' McIntosh, who was
238     tragically killed in a car crash in 2006.  I knew Dylan
239     from IRC and the Doomworld forums for several years, and he had
240     a deep passion for this game.  He was also a huge help for me while
241     developing Chocolate Doom, as he helped point out a lot of small
242     quirks in Vanilla Doom that I didn't know about. His death is a 
243     great loss.  RIP Toke.
245     This is the first release to reach full feature parity with 
246     Vanilla Doom.  As a result, I have made this version 1.0.0, so
247     Chocolate Doom is no longer beta!
249     Big new features:
250      * Multiplayer!  This version includes an entirely new multiplayer
251        engine, based on a packet server architecture.  I'd like to thank
252        joe, pritch, Meph and myk, and everyone else who has helped test
253        the new code for their support, feedback and help in testing this.  
254        The new code still needs more testing, and I'm eager to hear any 
255        feedback on this.
256      * A working setup tool.  This has the same look and feel as the 
257        original setup.exe.  I hope people like it!  Note that it has 
258        some advantages over the original setup.exe - for example, 
259        you can use the mouse.
261     Other new features:
262      * New mus conversion code thanks to Ben Ryves.  This converts the
263        Doom .mus format to .mid a lot better.  As one example, tnt.wad
264        Map02 is now a lot closer to how Vanilla says.  Also, the music 
265        on the deca.wad titlescreen now plays!
266      * x3, x4 and x5 display scale (thanks to MikeRS for x5 scale).
267      * Fullscreen "letterbox" mode allows Chocolate Doom to run on machines
268        where 1.6:1 aspect ratio modes are unavailable (320x200/640x400).
269        The game runs in 320x240/640x480 instead, with black borders.
270        The system automatically adjusts to this if closer modes are 
271        unavailable.
272      * Aspect ratio correction: you can (also) run at 640x480 without black 
273        borders at the top and bottom of the screen.
274      * PC speaker sound effect support.  Chocolate Doom can output real
275        PC speaker sounds on Linux, or emulate a PC speaker through the
276        sound card.
277      * Working three-screen mode, as seen in early versions of Doom!
278        To test this out, put three computers on a LAN and type:
279          chocolate-doom -server
280          chocolate-doom -autojoin -left
281          chocolate-doom -autojoin -right
282      * Allow a delay to be specified on startup, to allow the display to
283        settle after changing modes before starting the game.
284      * Allow the full path and filename to be specified when loading demos:
285        It is now possible to type 'chocolate-doom -playdemo /tmp/foo.lmp'
286        for example.
287      * Savegames are now stored in separate directories depending on
288        the IWAD: eg. the savegames for Doom II are stored in a different
289        place to those for Doom I, Final Doom, etc. (this does not affect
290        Windows).
291      * New mouse acceleration code works based on a threshold and 
292        acceleration.  Hopefully this should be closer to what the DOS
293        drivers do.  There is a 'test' feature in the setup tool to help 
294        in configuring this.
295      * New '-nwtmerge' command line option that emulates NWT's '-merge'
296        option.  This allows TiC's Obituary TC to be played.
297      * The ENDOOM screen no longer closes automatically, you have to click
298        the window to make it go away.
299      * Spechit overrun fixes and improvements.  Thanks to entryway for
300        his continued research on this topic (and because I stole your
301        improvements :-).  Thanks to Quasar for reporting a bug as well.
302      * Multiple dehacked patches can be specified on the command line,
303        in the same way as with WADs - eg. -deh foo.deh bar.deh baz.deh.
304      * Default zone memory size increased to 16MB; this can be controlled
305        using the -mb command-line option.
306      * It is now possible to record demos of unlimited length (by default, 
307        the Vanilla limit still applies, but it can now be disabled).
308      * Autoadjusting the screen mode can now be disabled.
309      * On Windows, the registry is queried to detect installed versions of
310        Doom and automatically locate IWAD files.  IWADs installed through
311        Steam are also autodetected.
312      * Added DOOMWADPATH that can be used like PATH to specify multiple 
313        locations in which to search for IWAD files.  Also, '-iwad' is 
314        now enhanced, so that eg. '-iwad doom.wad' will now search all 
315        IWAD search paths for 'doom.wad'.
316      * Improved mouse tracking that should no longer lag.  Thanks to 
317        entryway for research into this.
318      * The SDL driver can now be specified in the configuration file.  
319        The setup tool has an option on Windows to select between
320        DirectX and windib.
321      * Joystick support.
322      * Configuration file option to change the sound sample rate.
323      * More than three mouse buttons are now supported.
324      
325     Portability improvements: 
326      * Chocolate Doom now compiles and runs cleanly on MacOS X.  Huge
327        thanks go to Insomniak who kindly gave me an account on his machine
328        so that I could debug this remotely.  Big thanks also go to 
329        athanatos on the Doomworld forums for his patience in testing 
330        various ideas as I tried to get Chocolate Doom up and running
331        on MacOS.
332      * Chocolate Doom now compiles and runs natively on AMD64.
333      * Chocolate Doom now compiles and runs on Solaris/SPARC, including
334        the Sun compiler.  Thanks to Mike Spooner for some portability 
335        fixes.
336      * Improved audio rate conversion, so that sound should play properly
337        on machines that don't support low bitrate output.
339     Compatibility fixes:
340      * Check for IWADs in the same order as Vanilla Doom.
341      * Dehacked code will now not allow string replacements to be longer than
342        those possible through DOS dehacked.
343      * Fix sound effects playing too loud on level 8 (thanks to myk
344        for his continued persistence in getting me to fix this)
345      * Save demos when quitting normally - it is no longer necessary to
346        press 'q' to quit and save a demo.
347      * Fix spacing of -devparm mode dots.
348      * Fix sky behavior to be the same as Vanilla Doom - when playing in
349        Doom II, the skies never change from the sky on the first level
350        unless the player loads from a savegame. 
351      * Make -nomouse and config file use_mouse work again.
352      * Fix the -nomusic command-line parameter.  Make the snd_sfxdevice
353        snd_musicdevice values in the configuration file work, so that it
354        is possible to disable sound, as with Vanilla.
355      * Repeat key presses when the key is held down (this is the Vanilla 
356        behavior)  - thanks to Mad_Mac for pointing this out.
357      * Don't print a list of all arguments read from response files - Vanilla
358        doesn't do this.
359      * Autorun only when joyb_speed >= 10, not >= 4.  Thanks to Janizdreg 
360        for this.
361      * Emulate a bug in DOS dehacked that can overflow the dehacked
362        frame table and corrupt the weaponinfo table.  Note that this means
363        Batman Doom will no longer play properly (identical behavior
364        to Vanilla); vbatman.deh needs to also be applied to fix it.
365        (Thanks grazza)
366      * Allow dehacked 2.3 patches to be loaded.
367      * Add more dehacked string replacements.
368      * Compatibility option to enable or disable native key mappings.  This
369        means that people with non-US keyboards can decide whether to use
370        their correct native mapping or behave like Vanilla mapping (which
371        assumes all keyboards are US).
372      * Emulate overflow bug in P_FindNextHighestFloor.  Thanks to
373        entryway for the fix for this.
374      * Add -netdemo command line parameter, for playing back netgame
375        demos recorded with a single player.
376      * The numeric keypad now behaves like Vanilla Doom does.
377      * Fix some crashes when loading from savegames.
378      * Add intercepts overrun emulation from PrBoom-plus.  Thanks again
379        to entryway for his research on this subject.
380      * Add playeringame overrun emulation.
382     Bugs fixed:
383      * Fix crash when starting new levels due to the intermission screen
384        being drawn after the WI_ subsystem is shut down (thanks 
385        pritch and joe)
386      * Catch failures to initialise sound properly, and fail gracefully.
387      * Fix crasher in 1427uv01.lmp (thanks ultdoomer)
388      * Fix crash in udm1.wad.
389      * Fix crash when loading a savegame with revenant tracer missiles.
390      * Fix crash when loading a savegame when a mancubus was in the middle
391        of firing.
392      * Fix Doom 1 E1-3 intermission screen animations.
393      * Fix loading of dehacked "sound" sections.
394      * Make sure that modified copyright banners always end in a newline
395        - this fixes a bug with av.wad (thanks myk)
396      * Added missing quit message ("are you sure you want to quit this
397        great game?").
398      * Fix when playing long sound effects - the death sound in marina.wad
399        now plays properly, for example.
400      * Fix buffer overrun on the quicksave prompt screen that caused a
401        mysterious cycling character to appear.
402      * IDCLEV should not work in net games (thanks Janizdreg)
403      * Stop music playing at the ENDOOM screen.
404      * Fix sound sample rate conversion crash.
405      * Fix 'pop' heard at the end of sound effects.
406      * Fix crash when playing long sounds.
407      * Fix bug with -timedemo accuracy over multi-level demos.
408      * Fix bug with the automap always following player 1 in multiplayer
409        mode (thanks Janizdreg).
411 0.1.4 (2006-02-13):
413     NWT-style merging command line options (allows Mordeth to be played)
414     Unix manpage (thanks Jon Dowland)
415     Dehacked improvements/fixes:
416      * Allow changing the names of graphic lumps used in menu, status bar
417        intermission screen, etc.
418      * Allow changing skies, animated flats + textures
419      * Allow changing more startup strings.
420      * Allow text replacements on music + sfx lump names
421     Fix for plutonia map12 crash.
422     Fix bug with playing long sfx at odd sample rates.
423     Big Endian fixes (for MacOS X).  Thanks to athanatos for helping
424         find some of these.
425     Install into /usr/games, rather than /usr/bin (thanks Jon Dowland)
427 0.1.3 (2006-01-20):
429     Imported the spechit overrun emulation code from prboom-plus.  Thanks to
430          Andrey Budko for this.
431     New show_endoom option in the chocolate-doom.cfg config file allows
432          the ENDOOM screen to be disabled.
433     Chocolate Doom is now savegame-compatible with Vanilla Doom.
435     Fixes for big endian machines (thanks locust)
436     Fixed the behavior of the dehacked maximum health setting.
437     Fix the "-skill 0" hack to play without any items (thanks to Janizdreg
438         for pointing out that this was nonfunctional)
439     Fix playing of sounds at odd sample rates (again).  Sound effects at
440         any sample rate now play, but only sounds with valid headers.
441         This is the *real* way Vanilla Doom behaves.  Thanks to myk for
442         pointing out the incorrect behavior.
444 0.1.2 (2005-10-29):
446     Silence sounds at odd sample rates (rather than bombing out); this
447         is the way Vanilla Doom behaves.
448     Handle multiple replacements of the same sprite in a PWAD.
449     Support specifying a specific version to emulate via the command line
450         (-gameversion)
451     Fix help screen orderings and skull positions.  Behave exactly as
452         the original executables do.
454 0.1.1 (2005-10-18):
455     Display startup "banners" if they have been modified through 
456         dehacked.
457     Dehacked "Misc" section support.
459     Bugs fixed:
460      * Doom 1 skies always using Episode 1 sky
461      * Crash when switching applications while running fullscreen
462      * Lost soul bounce logic (do not bounce in Registered/Shareware)
463      * Mouse buttons mapped incorrectly (button 1 is right, 2 is middle)
464      * Music not pausing when game is paused, when using SDL_mixer's 
465        native MIDI playback.
466      * Pink icon on startup (palette should be fully set before anything is
467        loaded)
469 0.1.0 (2005-10-09):
470     Dehacked support
471     WAD merging for TCs
472     ENDOOM display
473     Fix bug with invalid MUS files causing crashes
474     Final Doom fixes
476 0.0.4 (2005-09-27):
477     Application icon and version info included in Windows .exe files
478     Fixes for non-x86 architectures
479     Fix uac_dead.wad (platform drop on e1m8 should occur when all
480         bosses die, not just barons)
481     Fix "loading" icon to work for all graphics modes
483 0.0.3 (2005-09-17):
484     Mouse acceleration code to emulate the behaviour of old
485         DOS mouse drivers (thanks to Toke for information about 
486         this and suggestions)
487     Lock surfaces properly when we have to (fixes crash under
488         Windows 98)
490 0.0.2 (2005-09-13):
491     Remove temporary MIDI files generated by sound code.
492     Fix sound not playing at the right volume
493     Allow alt-tab away while running in fullscreen under Windows
494     Add second configuration file (chocolate-doom.cfg) to allow 
495         chocolate-doom specific settings.
496     Fix switches not changing in Ultimate Doom
498 0.0.1 (2005-09-07):
499     First beta release