Set processor affinity under non-Windows platforms using the POSIX API.
[chocolate-doom.git] / NEWS
blobff1d9b59696e60d37b36905a2478a987eb0127f2
1 1.1.1 (2008-04-20):
3     The previous release (v1.1.0) included a bug that broke compilation
4     when libsamplerate support was enabled.  The only change in this 
5     version is to fix this bug.
7 1.1.0 (2008-04-19):
9      * The video mode code has been radically restructured.  The video mode is
10        now chosen by directly specifying the mode to use; the scale factor is
11        then chosen to fit the screen.  This is helpful when using widescreen
12        monitors (thanks Linguica)
13      * MSVC build project files (thanks GhostlyDeath and entryway).
14      * Unix manpage improvements; the manpage now lists the environment
15        variables that Chocolate Doom uses.  Manpages have been added for
16        chocolate-setup and chocolate-server, from the versions for the Debian
17        Chocolate Doom package (thanks Jon Dowland).
18      * INSTALL file with installation instructions for installing Chocolate
19        Doom on Unix systems.
20      * Support for high quality resampling of sound effects using 
21        libsamplerate (thanks David Flater).
22      * A low pass filter is applied when doing sound resampling in an
23        attempt to filter out high frequency noise from the resampling
24        process.
25      * R_Main progress box is not displayed if stdout is a file (produces
26        cleaner output).
27      * Client/server version checking can be disabled to allow different
28        versions of Chocolate Doom to play together, or Chocolate Doom
29        clients to play with Strawberry Doom clients.
30      * Unix manpages are now generated for the Chocolate Doom 
31        configuration files.
32      * The BSD PC speaker driver now works on FreeBSD.
34     Compatibility:
35      * Use the same spechits compatibility value as PrBoom+, for consistency
36        (thanks Lemonzest).
37      * The intercepts overrun code has been refactored to work on big
38        endian machines.
39      * The default startup delay has been set to one second, to allow 
40        time for the screen to settle before starting the game (some 
41        monitors have a delay before they come back on after changing modes).
42      * If a savegame buffer overrun occurs, the savegame does not get saved
43        and existing savegames are not overwritten (same behaviour as 
44        Vanilla).
46     Bugs fixed:
47      * Desync with STRAIN demos and dehacked Misc values not being set
48        properly (thanks Lemonzest)
49      * Don't grab the mouse if the mouse is disabled via -nomouse or use_mouse
50        in the configuration file (thanks MikeRS).
51      * Don't center the mouse on startup if the mouse is disabled (thanks
52        Siggi).
53      * Reset the palette when the window is restored to clear any screen
54        corruption (thanks Catoptromancy).
55      * mus2mid.c should use MEM_SEEK_SET, not SEEK_SET (thanks Russell)
56      * Fast/Respawn options were not being exchanged when starting netgames
57        (thanks GhostlyDeath).
58      * Letterbox mode is more accurately described as "pillarboxed" or 
59        "windowboxed" where appropriate (thanks MikeRS)
60      * Process affinity mask is set to 1 on Windows, to work around a 
61        bug in SDL_mixer that can cause crashes on multi-core machines
62        (thanks entryway).
63      * Bugs in the joystick configuration dialog in the setup tool have
64        been fixed.
66 1.0.0 (2007-12-10):
68     This release is dedicated to Dylan 'Toke' McIntosh, who was
69     tragically killed in a car crash in 2006.  I knew Dylan
70     from IRC and the Doomworld forums for several years, and he had
71     a deep passion for this game.  He was also a huge help for me while
72     developing Chocolate Doom, as he helped point out a lot of small
73     quirks in Vanilla Doom that I didn't know about. His death is a 
74     great loss.  RIP Toke.
76     This is the first release to reach full feature parity with 
77     Vanilla Doom.  As a result, I have made this version 1.0.0, so
78     Chocolate Doom is no longer beta!
80     Big new features:
81      * Multiplayer!  This version includes an entirely new multiplayer
82        engine, based on a packet server architecture.  I'd like to thank
83        joe, pritch, Meph and myk, and everyone else who has helped test
84        the new code for their support, feedback and help in testing this.  
85        The new code still needs more testing, and I'm eager to hear any 
86        feedback on this.
87      * A working setup tool.  This has the same look and feel as the 
88        original setup.exe.  I hope people like it!  Note that it has 
89        some advantages over the original setup.exe - for example, 
90        you can use the mouse.
92     Other new features:
93      * New mus conversion code thanks to Ben Ryves.  This converts the
94        Doom .mus format to .mid a lot better.  As one example, tnt.wad
95        Map02 is now a lot closer to how Vanilla says.  Also, the music 
96        on the deca.wad titlescreen now plays!
97      * x3, x4 and x5 display scale (thanks to MikeRS for x5 scale).
98      * Fullscreen "letterbox" mode allows Chocolate Doom to run on machines
99        where 1.6:1 aspect ratio modes are unavailable (320x200/640x400).
100        The game runs in 320x240/640x480 instead, with black borders.
101        The system automatically adjusts to this if closer modes are 
102        unavailable.
103      * Aspect ratio correction: you can (also) run at 640x480 without black 
104        borders at the top and bottom of the screen.
105      * PC speaker sound effect support.  Chocolate Doom can output real
106        PC speaker sounds on Linux, or emulate a PC speaker through the
107        sound card.
108      * Working three-screen mode, as seen in early versions of Doom!
109        To test this out, put three computers on a LAN and type:
110          chocolate-doom -server
111          chocolate-doom -autojoin -left
112          chocolate-doom -autojoin -right
113      * Allow a delay to be specified on startup, to allow the display to
114        settle after changing modes before starting the game.
115      * Allow the full path and filename to be specified when loading demos:
116        It is now possible to type 'chocolate-doom -playdemo /tmp/foo.lmp'
117        for example.
118      * Savegames are now stored in separate directories depending on
119        the IWAD: eg. the savegames for Doom II are stored in a different
120        place to those for Doom I, Final Doom, etc. (this does not affect
121        Windows).
122      * New mouse acceleration code works based on a threshold and 
123        acceleration.  Hopefully this should be closer to what the DOS
124        drivers do.  There is a 'test' feature in the setup tool to help 
125        in configuring this.
126      * New '-nwtmerge' command line option that emulates NWT's '-merge'
127        option.  This allows TiC's Obituary TC to be played.
128      * The ENDOOM screen no longer closes automatically, you have to click
129        the window to make it go away.
130      * Spechit overrun fixes and improvements.  Thanks to entryway for
131        his continued research on this topic (and because I stole your
132        improvements :-).  Thanks to Quasar for reporting a bug as well.
133      * Multiple dehacked patches can be specified on the command line,
134        in the same way as with WADs - eg. -deh foo.deh bar.deh baz.deh.
135      * Default zone memory size increased to 16MB; this can be controlled
136        using the -mb command-line option.
137      * It is now possible to record demos of unlimited length (by default, 
138        the Vanilla limit still applies, but it can now be disabled).
139      * Autoadjusting the screen mode can now be disabled.
140      * On Windows, the registry is queried to detect installed versions of
141        Doom and automatically locate IWAD files.  IWADs installed through
142        Steam are also autodetected.
143      * Added DOOMWADPATH that can be used like PATH to specify multiple 
144        locations in which to search for IWAD files.  Also, '-iwad' is 
145        now enhanced, so that eg. '-iwad doom.wad' will now search all 
146        IWAD search paths for 'doom.wad'.
147      * Improved mouse tracking that should no longer lag.  Thanks to 
148        entryway for research into this.
149      * The SDL driver can now be specified in the configuration file.  
150        The setup tool has an option on Windows to select between
151        DirectX and windib.
152      * Joystick support.
153      * Configuration file option to change the sound sample rate.
154      * More than three mouse buttons are now supported.
155      
156     Portability improvements: 
157      * Chocolate Doom now compiles and runs cleanly on MacOS X.  Huge
158        thanks go to Insomniak who kindly gave me an account on his machine
159        so that I could debug this remotely.  Big thanks also go to 
160        athanatos on the Doomworld forums for his patience in testing 
161        various ideas as I tried to get Chocolate Doom up and running
162        on MacOS.
163      * Chocolate Doom now compiles and runs natively on AMD64.
164      * Chocolate Doom now compiles and runs on Solaris/SPARC, including
165        the Sun compiler.  Thanks to Mike Spooner for some portability 
166        fixes.
167      * Improved audio rate conversion, so that sound should play properly
168        on machines that don't support low bitrate output.
170     Compatibility fixes:
171      * Check for IWADs in the same order as Vanilla Doom.
172      * Dehacked code will now not allow string replacements to be longer than
173        those possible through DOS dehacked.
174      * Fix sound effects playing too loud on level 8 (thanks to myk
175        for his continued persistence in getting me to fix this)
176      * Save demos when quitting normally - it is no longer necessary to
177        press 'q' to quit and save a demo.
178      * Fix spacing of -devparm mode dots.
179      * Fix sky behavior to be the same as Vanilla Doom - when playing in
180        Doom II, the skies never change from the sky on the first level
181        unless the player loads from a savegame. 
182      * Make -nomouse and config file use_mouse work again.
183      * Fix the -nomusic command-line parameter.  Make the snd_sfxdevice
184        snd_musicdevice values in the configuration file work, so that it
185        is possible to disable sound, as with Vanilla.
186      * Repeat key presses when the key is held down (this is the Vanilla 
187        behavior)  - thanks to Mad_Mac for pointing this out.
188      * Don't print a list of all arguments read from response files - Vanilla
189        doesn't do this.
190      * Autorun only when joyb_speed >= 10, not >= 4.  Thanks to Janizdreg 
191        for this.
192      * Emulate a bug in DOS dehacked that can overflow the dehacked
193        frame table and corrupt the weaponinfo table.  Note that this means
194        Batman Doom will no longer play properly (identical behavior
195        to Vanilla); vbatman.deh needs to also be applied to fix it.
196        (Thanks grazza)
197      * Allow dehacked 2.3 patches to be loaded.
198      * Add more dehacked string replacements.
199      * Compatibility option to enable or disable native key mappings.  This
200        means that people with non-US keyboards can decide whether to use
201        their correct native mapping or behave like Vanilla mapping (which
202        assumes all keyboards are US).
203      * Emulate overflow bug in P_FindNextHighestFloor.  Thanks to
204        entryway for the fix for this.
205      * Add -netdemo command line parameter, for playing back netgame
206        demos recorded with a single player.
207      * The numeric keypad now behaves like Vanilla Doom does.
208      * Fix some crashes when loading from savegames.
209      * Add intercepts overrun emulation from PrBoom-plus.  Thanks again
210        to entryway for his research on this subject.
211      * Add playeringame overrun emulation.
213     Bugs fixed:
214      * Fix crash when starting new levels due to the intermission screen
215        being drawn after the WI_ subsystem is shut down (thanks 
216        pritch and joe)
217      * Catch failures to initialise sound properly, and fail gracefully.
218      * Fix crasher in 1427uv01.lmp (thanks ultdoomer)
219      * Fix crash in udm1.wad.
220      * Fix crash when loading a savegame with revenant tracer missiles.
221      * Fix crash when loading a savegame when a mancubus was in the middle
222        of firing.
223      * Fix Doom 1 E1-3 intermission screen animations.
224      * Fix loading of dehacked "sound" sections.
225      * Make sure that modified copyright banners always end in a newline
226        - this fixes a bug with av.wad (thanks myk)
227      * Added missing quit message ("are you sure you want to quit this
228        great game?").
229      * Fix when playing long sound effects - the death sound in marina.wad
230        now plays properly, for example.
231      * Fix buffer overrun on the quicksave prompt screen that caused a
232        mysterious cycling character to appear.
233      * IDCLEV should not work in net games (thanks Janizdreg)
234      * Stop music playing at the ENDOOM screen.
235      * Fix sound sample rate conversion crash.
236      * Fix 'pop' heard at the end of sound effects.
237      * Fix crash when playing long sounds.
238      * Fix bug with -timedemo accuracy over multi-level demos.
239      * Fix bug with the automap always following player 1 in multiplayer
240        mode (thanks Janizdreg).
242 0.1.4 (2006-02-13):
244     NWT-style merging command line options (allows Mordeth to be played)
245     Unix manpage (thanks Jon Dowland)
246     Dehacked improvements/fixes:
247      * Allow changing the names of graphic lumps used in menu, status bar
248        intermission screen, etc.
249      * Allow changing skies, animated flats + textures
250      * Allow changing more startup strings.
251      * Allow text replacements on music + sfx lump names
252     Fix for plutonia map12 crash.
253     Fix bug with playing long sfx at odd sample rates.
254     Big Endian fixes (for MacOS X).  Thanks to athanatos for helping
255         find some of these.
256     Install into /usr/games, rather than /usr/bin (thanks Jon Dowland)
258 0.1.3 (2006-01-20):
260     Imported the spechit overrun emulation code from prboom-plus.  Thanks to
261          Andrey Budko for this.
262     New show_endoom option in the chocolate-doom.cfg config file allows
263          the ENDOOM screen to be disabled.
264     Chocolate Doom is now savegame-compatible with Vanilla Doom.
266     Fixes for big endian machines (thanks locust)
267     Fixed the behavior of the dehacked maximum health setting.
268     Fix the "-skill 0" hack to play without any items (thanks to Janizdreg
269         for pointing out that this was nonfunctional)
270     Fix playing of sounds at odd sample rates (again).  Sound effects at
271         any sample rate now play, but only sounds with valid headers.
272         This is the *real* way Vanilla Doom behaves.  Thanks to myk for
273         pointing out the incorrect behavior.
275 0.1.2 (2005-10-29):
277     Silence sounds at odd sample rates (rather than bombing out); this
278         is the way Vanilla Doom behaves.
279     Handle multiple replacements of the same sprite in a PWAD.
280     Support specifying a specific version to emulate via the command line
281         (-gameversion)
282     Fix help screen orderings and skull positions.  Behave exactly as
283         the original executables do.
285 0.1.1 (2005-10-18):
286     Display startup "banners" if they have been modified through 
287         dehacked.
288     Dehacked "Misc" section support.
290     Bugs fixed:
291      * Doom 1 skies always using Episode 1 sky
292      * Crash when switching applications while running fullscreen
293      * Lost soul bounce logic (do not bounce in Registered/Shareware)
294      * Mouse buttons mapped incorrectly (button 1 is right, 2 is middle)
295      * Music not pausing when game is paused, when using SDL_mixer's 
296        native MIDI playback.
297      * Pink icon on startup (palette should be fully set before anything is
298        loaded)
300 0.1.0 (2005-10-09):
301     Dehacked support
302     WAD merging for TCs
303     ENDOOM display
304     Fix bug with invalid MUS files causing crashes
305     Final Doom fixes
307 0.0.4 (2005-09-27):
308     Application icon and version info included in Windows .exe files
309     Fixes for non-x86 architectures
310     Fix uac_dead.wad (platform drop on e1m8 should occur when all
311         bosses die, not just barons)
312     Fix "loading" icon to work for all graphics modes
314 0.0.3 (2005-09-17):
315     Mouse acceleration code to emulate the behaviour of old
316         DOS mouse drivers (thanks to Toke for information about 
317         this and suggestions)
318     Lock surfaces properly when we have to (fixes crash under
319         Windows 98)
321 0.0.2 (2005-09-13):
322     Remove temporary MIDI files generated by sound code.
323     Fix sound not playing at the right volume
324     Allow alt-tab away while running in fullscreen under Windows
325     Add second configuration file (chocolate-doom.cfg) to allow 
326         chocolate-doom specific settings.
327     Fix switches not changing in Ultimate Doom
329 0.0.1 (2005-09-07):
330     First beta release