1February 25, 2003: released 1.9.8 2 - win32 version now uses registry for configuration options 3 - um, yeah. Enough slacking; this release works. 4 5June 8, 2002: released 1.9.7 6 - game loop timing more precise -- now busy-waits if need be (but still 7 tries to sleep when possible). This will improve game speed on slower 8 systems. 9 - now sets initial username to that of logged-in user in win32, instead 10 of defaulting to "Nobody". 11 - username length can be whatever happens to fit the dialog (depends on 12 character width) instead of being limited to 12 regardless of size 13 - minor cleanup 14 - tweaking of theme sounds 15 16May 31, 2002: released 1.9.6 17 - decreased score factor in Easy mode. Don't be a wimp. 18 - changed sounds to 22050Hz -- this will allow better high-pitched effects 19 - changed default chunksize from 256 to 1024 -- this'll put alway the bad 20 sound-echo bug on some systems. 21 - minor memory leak cleanup in theme switching 22 - menu handler and dialog code cleanup 23 - right-clicking in options menu now cycles backwards, and right-clicking 24 on non-options menu items does nothing. scroll wheel cycles options 25 - arrow keys move around playing field 26 - keyboard now works in menu; other keyboard cleanup 27 - added a few new sounds 28 - beep (ouch, actually) on errors in high-score-name entry dialog 29 30May 27, 2002: released 1.9.5 (public beta) 31 - little bits of code cleanup 32 - slightly increase bonus for clearing more than 80 on higher levels to 33 help counteract the fact that having more penguins make that more and 34 more impossible 35 36May 26, 2002: released v1.9.4 37 - mouse cursor code cleanup 38 - made it so broken line sound doesn't play if that sound was last 39 started playing less than 30ms ago -- that way if two lines are broken 40 at once, the sound isn't double loud (but this still needs work -- 41 proper behavior would be to play the sound with a slight delay) 42 - fixed race condition in readhiscore()/checkhiscore()/addhiscore() -- 43 added file locking (thanks Enrico!) 44 - fixed memory leak in theme-sound-switching 45 - fixed draw bug in autopause mode 46 - no gameover if game is terminated/restarted before you've done anything 47 - added confirm dialog for changing difficulty level 48 - cleanup in dialog.c -- theme switching code now not quite so ugly 49 (redraw bug when both theme and difficulty were changed) 50 - added NSIS install script to generate Win32 installer. See: 51 <http://www.nullsoft.com/free/nsis/>. It's open source software, but as 52 far as I can tell there's no native Linux version yet. Luckily, runs 53 under Wine. If anyone knows of a port, let me know. 54 - mucking with some makefile stuff to make it easier to build on OS X or 55 BeOS. More to come on that front. 56 57May 23, 2002: released v1.9.3 58 - -b option for benchmark mode (will be disabled in stable releases). 59 - added command line options for themes 60 - added README.themes 61 - moved some of the stuff from the event loop in the main level function to 62 helper functions. It's still pretty ugly, but this tiny bit of cleanup 63 made it much easier to do the next thing on this list: 64 - added basic keyboard support: 65 * ESC to exit full-screen mode and to cancel menus. 66 * SPACE or X or . for toggle direction 67 * ENTER or Z or , for start lines 68 - made srandom use pid in addition to current time -- wouldn't want to 69 have the exact same game twice at once 70 - tweaked makefile for better cross-compiling and dist. package generation 71 - fixed fullscreen command-line option for case when config file doesn't 72 exist (and made the code better in the process) 73 - special "random" theme that actually causes theme to be chosen at random 74 - you can now define a "mirror" sprite to provide different images 75 depending on left/right direction 76 - BeOS compatibility stuff -- should be mostly un-broken now 77 78May 19, 2002: released v1.9.2 79 - added command-line options for sound, fullscreen mode, help, and version 80 - more themes! 81 - made 'gridhighlight' for themes, allowing pseudo-3d (button-style) 82 blocks 83 - full-screen mode now actually 640x480. This should make it work on 84 more platforms, and gives us a place to put a titlebar showing the 85 current level 86 - added erasepenguin routine -- fix some leaking surfaces 87 - improved text-handling routines -- scores in the transitions between 88 levels and at the end of the game are now centered properly, and the 89 highscore scroller at the beginning is done much more nicely 90 91 92May 16, 2002: released v1.9.1 93 - first cut at themes 94 - lack of object-oriented design forced me to create more global 95 variables. someday in the far future, this will become a C++ project. 96 - now can coexist with Winamp on win32 -- not sure if this is because 97 of fixes in SDL 1.2.4, or in the Winamp 2.80. It wasn't anything I did, 98 but hey, now you can listen to music while you play. 99 - linked against much smaller version of SDL_mixer DLL for win32 -- 100 should cut the distribution archive in half or better. 101 - cleanup in the transition screen routines 102 - kludge around broken _snprintf in mingw32 -- cures potential overflow 103 - minor cleanup in the text routines 104 105 106August 30, 2001: released v1.9.0 107 - no significant changes; just starting new devel branch 108 109July 30, 2001: released v1.2.1 110 - fixed minor bug where highest-score line cut off letters that dip below 111 the baseline (gjpqy...). Thanks to Jonathan DePrizio for catching this. 112 - tiny little bugfixes, makefile cleanup 113 - switched to much more sensible linux-kernel-style numbering scheme. 114 (n.oddnumber.n for development releases, and n.evenumber.n for 115 stable "production" releases -- for example, 1.2.1 is a stable release, 116 so any excitement/surprises should come from the game, not from 117 bugs. 1.9.0 will be a devel release, and some features may not work 118 completely, or at all.) 119 120July 28, 2001: released v1.2 121 - added "score decay" timer, to discourage obsessive-compulsive types from 122 taking hours on one level. Sure, I want you to be obsessed with the 123 game, but have fun playing, not tediously waiting. :) 124 - added easy and hard difficulty settings 125 - added options for sound 126 - added option for auto pause (which makes the game stop when the window 127 loses focus -- note that it always pauses when minimized regardless of 128 this setting). 129 - now, when a line is stuck (against another line) for a long time, 130 the line completes instead of exploding. ("A long time" == approximately 131 5 seconds) 132 - merged in Enrico Tassi's win32 compatibility stuff -- win32 version 133 is now completely functional, except: 134 - added fullscreen option! (Unfortunately, still has problems in Win32, 135 so you'll have to edit the icebreaker.cfg manually if you want to enable 136 this feature on a MS Windows system. I'll get the problem figured out 137 for a future release.) 138 - fixed busy waits in dialog.c (thanks again to Enrico) 139 - code cleanup 140 141July 23, 2001: released v1.1 142 - added man page 143 - tiny change to error message when high score file can't be read 144 145July 18, 2001: released v1.09 146 - Gameplay change: changed behavior when a line hits another 147 partially-completed line -- now, instead of the line completing 148 successfully, it waits until the other completes or is destroyed. In 149 the event that neither of those happens after a little while, new line 150 dies. (I've considered making it complete successfully in this case; 151 opinions, anyone?) This change makes the game much harder, in a good way. 152 - moved center of vertical cursor to proper location (oops) 153 - modified high score code to reread from disk, so that multiple players 154 on the same system don't cause confusion. A race condition still exists, 155 but it's much narrower. :) A future version will have proper locking. 156 - include fix for cmpscore bug thanks to Enrico Tassi 157 158October 5, 2000: released v1.0 159 - one-point-oh! 160 161October 3, 2000: released v0.995 162 - minor cosmetic fixes 163 - made 'make install' work; made it easier to redefine file locations 164 - made it so three-decimal-place version numbers work :) 165 - made level 100 loop forever instead of just ending the game there. 166 not that level 100 is any fun, really -- too many penguins! 167 168October 2, 2000: released v0.98 169 - first public release 170