view CHANGES.txt @ 0:c84446dfb3f5

initial add
author paulo@localhost
date Fri, 13 Mar 2009 00:39:12 -0700
parents
children
line source
1 0.46a (2008-11-09)
2 * Preview at top is copied correctly from the back buffer
3 (0.45a regression, reported by rednefed).
5 _____________________________________________________________________
6 0.46 (2008-11-08)
7 * Tracks number of 4x4 squares that the player forms
8 (TOD parity; requested by Ghett0).
9 * Added T-Party randomizer (requested by Lardarse).
10 * Default lock delay for Zero set to 40 frames, even if it is
11 played first (0.45 regression, reported by rck).
12 * "[TC]" removed from scenario names (requested by caffeine).
13 * PC: Uses fourCCs for option values in lj.ini.
14 * PC: Uses double buffer for entire background (bug 0021).
15 * PC: Can disable sound effects by deleting or renaming sound.dat
16 (requested by moxie101).
17 * PC: More of the code is 2-player-clean.
19 _____________________________________________________________________
20 0.45 (2008-04-20)
21 * New unified speed curve system: less code, more tables, for
22 future loading from a file (bug 0040).
23 * All speed curves except Rhythm and Rhythm Zero have been ported
24 to the new system. Notably, Master has been rewritten based on
25 the tables from the wiki, and Exponential uses sections. The
26 lock delay speeds up as brutally after 600 pieces as always.
27 * Added kludge in the basic makefile that allows building on *BSD
28 and GNU/Linux: 'make linux' (patch by kesiev).
29 * ljpath: Fixed a couple misspellings in the non-Windows code path
30 (reported by kesiev).
31 * ljpath: Supports libfat when running on Nintendo DS.
32 * A few descriptions of options have been shortened to fit into
33 the new GBA/DS look (reported by Bloodstar; patch by caffeine).
34 * Writes result and options text to standard output as well as to
35 lj-scores.txt. This allows you to do 'lj | postprocessor' even
36 if you can't do 'tail -f lj-scores.txt' (requested by kesiev).
37 * DS: Writes result and options to /data/lockjaw/lj-scores.txt.
39 _____________________________________________________________________
40 0.44 (2008-02-20)
41 * Computes the preview and hold offset of all pieces (was
42 wkNextMove in <= 0.43) from the entry position of the I
43 tetromino (was wkSpawnMove in <= 0.43).
44 * Kick tables have been inverted to a single struct per rotation
45 system, for future loading from a file (bug 0016).
46 * SKIP_IF system for handling J/L/T exceptions in Arika is replaced
47 with IF_NOT_CENTER: wall kicks are allowed if the free-space
48 orientation overlaps any blocks other than in the center column.
49 * Options DAS doesn't repeat too fast, even on those systems where
50 vsync() is a no-op (0.43 regression, reported by caffeine).
51 This has the same cause as 0022: Windows Vista ignores vsync().
52 * Options DAS doesn't continue across page boundaries.
53 * GBA/DS: Options has new look.
54 * DS: Reads the touch screen and the X and Y buttons. Right now,
55 touch isn't mapped to anything, but X and Y are Far Right and
56 Far Left.
58 _____________________________________________________________________
59 0.43a (2008-02-11)
60 * Arika modified to use SKIP_IF3 after (not before) the basic
61 position. This restores ability to rotate J, L, and T with
62 kicks turned off, such as in IRS (reported by Lion).
63 * PC: Uses shfolder.dll so that installability works even on
64 Windows 98 (0.43 regression, reported by Rich Nagel).
65 * PC: Key bindings to J, M, and Z are correctly saved (0.43
66 regression, reported by DIGITAL).
67 * PC: In Game Keys, the names of Up and Down key bindings are
68 clearer (requested by 4matsy).
70 _____________________________________________________________________
71 0.43 (2008-02-10)
72 * Player can initial-rotate out of block out (bug 0090).
73 * Initial rotation doesn't use wall kick (bug 0059).
74 * Names for values in Drop scoring and Shadow fixed
75 (0.42 regression, reported by Lardarse).
76 * Number of line clears in DS debrief should be cut off at the
77 right side less often (bug 0089; fix based on a patch by kesiev).
78 * Fixed line clear gravity in cascade preset (reported by 4matsy).
79 * Fixed Fibonacci scoring with more than 8 lines per piece
80 (reported by 4matsy).
81 * Debrief is more compact, allowing GBA to use debrief (bug 0031;
82 fix based on a patch by kesiev).
83 * Debrief: Zigzag secret grade requires the hole in the top row to
84 be covered (reported by Kitaru).
85 * PC: If installed.txt is in the same folder as the program,
86 ignores the current directory and stores all writable files
87 to the user's application data folder (bug 0091).
88 * PC: When loading skins, searches for files in the folder with
89 the .skin file instead of the current directory (bug 0033).
90 * PC: Replay sets up playback gimmick (0.42 regression,
91 reported by DIGITAL).
92 * PC: LJVorbis doesn't double-fclose the .ogg file
93 (reported by kesiev).
94 * PC: Mouse drops to bottom after skin or replay selection
95 (requested by jujube).
96 * PC: Options is separated into pages, like on GBA/DS (bug 0082).
97 This frees up room for larger type (requested by jujube).
99 _____________________________________________________________________
100 0.42 (2008-02-03) aka LOCKJAW XLII
101 * Docs: Most of TODO.txt has been converted to a numbered list
102 of bugs (bug 0100).
103 * An off-by-1/65536 error in enter below ceiling was fixed.
104 This means it doesn't give one extra row of room to slide on
105 at the top of the well (reported by Caithness and Kukuunen).
106 * In case of a block out, draws the offending piece in the well
107 before entering game over animation.
108 * Extra 5-frame cascade delay removed.
109 * With Lockdown set to Step reset, lock delay resets on the
110 first floor kick.
111 * Tengen rotation system tries kicking one space to the left
112 (requested by zaphod77).
113 * Options' names and values are looked up from fourCCs for future
114 localizability.
115 * Options: Names of speeds in fractions of 1G are computed.
116 * Options skips unpacking options with a value of 255.
117 This allows multiple pref structures to be unpacked on top
118 of each other, and each overrides the ones before it.
119 * Debrief displays options on a second page.
120 * Debrief correctly displays soft drop speed as a fraction (0.41
121 regression, reported by Lardarse).
122 * Debrief: PC specific parts moved to separate source code file.
123 * Debrief uses a lower-level function to format ISO 8601 date
124 and time so as not to bring in the floating-point library's
125 space overhead on platforms without an FPU.
126 * Debrief plays a sound when turning the page.
127 * PC: Delay for holding Esc to quit no longer depends on
128 display refresh rate. Instead, it uses the global 60 Hz
129 timer (reported by Sara).
130 * PC: Draws speedometer even when preview is at right,
131 as long as there is room, that is, 3 or fewer next pieces
132 (requested by Cubicz).
133 * PC: Gimmick choice moved to Options to match GBA/DS.
134 * PC: Select scenario before starting game (bug 0041).
135 * PC options uses standardized GBA names (OPTIONS_*) instead of
136 PC names (LJPREFS_*).
137 * PC options Shift sound scale, Side, and Next position moved to
138 skin.
139 * PC options sets initial options using initOptions() from GBA/DS.
140 Incidentally, this restores the initial randomizer to bag
141 (0.41 regression and may make similar regressions less likely.
142 * PC options uses unpackOptions() from GBA/DS.
143 * PC options sound is also routed through the cross-platform
144 sound manager.
145 * PC: lj.ini uses fourCCs as names for easier saving and loading.
146 * PC: Switching between windowed and full screen in Options
147 no longer needs the user to restart the program.
148 * PC: LJVorbis doesn't crash if polled while the music is stopped.
149 This can happen when cross-platform code plays sound effects
150 during debrief.
151 * PC: Skin controls window size, or full screen resolution
152 (bug 0017).
153 * PC/DS: Displays a description of some option values in addition
154 to descriptions of options themselves.
155 * GBA/DS: Options disabled on the PC are disabled here.
156 * GBA: Menus are faster now that part of the text engine has been
157 moved to fast RAM.
158 * DS: Plays sound for game over (bug 0064).
159 * DS: Options displayed on touch screen for future touch operation.
160 * DS: Displays debrief after game ends (bug 0031).
162 _____________________________________________________________________
163 0.41 (2007-12-18)
164 * Piece set and randomizer are decoupled (requested by Lardarse
165 and Dood77).
166 * New piece set: iCheat(tm) deals only I tetrominoes, like an
167 infamous cheat code for some other game (requested by DIGITAL).
168 * New garbage style "Preload zigzag", which preloads a zigzag
169 pattern of holes.
170 * At debrief time, if at least two rows of the zigzag pattern
171 or at least four rows of a rectum (1-block-wide opening) are
172 formed, shows a secret grade based on the number of pattern
173 rows instead of the number of blocks left in the playfield.
174 * Debrief options section sorted by position in options menu.
175 * Debrief allows for multiple pages of reports.
177 _____________________________________________________________________
178 0.40a (2007-11-30)
179 * Does not attempt to create a ghost piece before the first
180 falling piece. This may fix a crash on some systems if the
181 first game played during a session has deep drop turned on
182 (reported by Rich Nagel on Windows 98 Second Edition).
183 * Deep drop ghost piece code stops checking at the ceiling.
185 _____________________________________________________________________
186 0.40 (2007-11-27)
187 * Split out speed curves and randomizers to separate files called
188 speed.c and random.c.
189 * Adjusted master delays to be closer to TAP; 600-999 no longer
190 overlap Death 000-399.
191 * Displays short description of each option (requested by AXYPB).
192 * Drill gimmick is back, with the new goal of clearing the bottom
193 row (requested by DIGITAL).
194 * Begin to add code for explosive line clear gimmick; not yet
195 integrated (requested by Joshua).
196 * Debrief shows number of floor kicks.
197 * Bottom blocks is called Deep drop to match recent Multiblocks.
198 * PC: Close box works in Options and Game Keys.
199 * PC: Does not redraw title screen if close box is clicked.
200 * PC: If skin sets transparentPF=1, hotlines and line clear
201 animations are drawn transparent (requested by Rich Nagel).
202 * GBA/DS: Can quit game from pause screen (requested by AXYPB).
203 * GBA/DS: Copyright notice and options screen drawn with
204 proportional font for readability.
205 * GBA/DS: Menu uses the same sound manager that the game play
206 uses, not the platform-specific sound manager.
207 * GBA: Sound for end of game (requested by Lardarse).
208 * DS: Closing the lid pauses the game and turns off the screens
209 (requested by AXYPB).
210 * DS: Unavailable hold piece is really grayed out.
211 * DS: Real music and sound effects engine (requested by
212 bob_fossil).
214 _____________________________________________________________________
215 0.39 (2007-10-24)
216 * Does not double line clear delay (unknown regression).
217 * Source code includes new files options.h and old_pc_options.c
218 which were mistakenly left out of 0.38 (reported by tr3).
219 * Draws "hotline" symbol on lines being cleared (requested by
220 Rosti LFC and kiwibonga).
221 * Debrief no longer counts a zero line T-spin as a home run
222 (0.28 regression; reported by Lardarse).
223 * New randomizer 7+1-piece Bag adds one randomly selected
224 tetromino to each bag (requested by colour_thief).
225 * Refactored speed curve state information for pseudo-OO
226 refactoring.
227 * New option: Bottom blocks allows the falling piece to fall past
228 blocks into an appropriately shaped hole (requested by mar).
229 * Added bottom blocks and well size to debrief.
230 * New gluing options Sticky and Sticky by color.
231 * PC: Skin specifies the loop point and whether the music starts
232 before or after the "Ready, Go" animation.
233 * PC: Skin specifies music volume (requested by DIGITAL).
234 * PC: Fixed off-by-one in sideways delay (reported by Lardarse).
235 * PC: Fields with blkH > 24, especially blkH == 48 and Well height
236 10, are more likely to fit on screen (reported by Needle).
238 _____________________________________________________________________
239 0.38 (2007-09-11)
240 * Plays a .ljm specified at the command line (requested by
241 Rich Nagel).
242 * More refactoring for multiplayer.
243 * Added wall kick opcode SKIP_IF3, similar to SKIP_IF except it
244 also checks the two cells above the specified cell.
245 * L, J, and T in Arika use SKIP_IF3 to check the entire center
246 column when rotating to vertical (requested by edo).
247 * Moves new tetrominoes to be between the walls (fixing Tengen in
248 width 4) and, if "Enter above playfield" is off, down far enough
249 so that they're within the playfield (requested by Caithness).
250 * New rotation system: Climbing, based on Tetris DX. (No, you
251 can't wall-climb yet because the sub-block behavior differs.)
252 * Option "4x4 squares" is called "Gluing". Other gluing options
253 are planned.
254 * In Square gluing, formation of a square adds a delay
255 equal to line clear delay.
256 * PC: Refactored to share some of the GBA/DS options logic.
257 * PC: Moved most sound effect code into pcsound.c.
258 * PC: Sound for 4x4 square formation (cribbed from TOD).
259 * PC: Reloads the default skin's configuration before loading
260 the skin, so that skins always inherit from the default skin
261 and not the last chosen skin (requested by Rich Nagel).
262 * GBA: Uses duration as priority for square wave sound effects,
263 which should prevent the section up sound from getting
264 interrupted as often.
265 * GBA/DS: Draws real-time speedometer.
267 _____________________________________________________________________
268 0.37 (2007-07-09)
269 * Requires "Up" and "Alt firm drop" to be pressed again when
270 lock delay is turned off or less than DAS delay
271 (requested by reivilo).
272 * Keypress count is reset to 0 even in "Play .ljm" (reported by
273 jujube).
274 * Playing a broken .ljm from the gimmick menu gives an informative
275 error message instead of crashing (0.32a regression; reported by
276 Rosti LFC).
277 * Rhythm section-up logic waits for 64 beats at L bpm, not L+1 bpm.
278 * Fixed a potential buffer overflow in shuffleColumns (the "banana"
279 item), brought on by the expansion of the playfield to 12 columns
280 (0.33 regression).
281 * Better comments in source code about wall kick entry macros
282 WK(x, y), WKX(wk), WKY(wk) in lj.h (requested by Lardarse).
283 * PC: Reinstate Bach music while investing a trademark claim.
284 * PC: Separate music for Rhythm speed curves.
285 * PC: Does not use stretch blitter when drawing the blocks of
286 sprite pieces at full size (e.g. falling piece).
287 * PC: blitField() blits adjacent rows in one call, which is
288 faster on slow machines (requested by Matthew).
289 * PC: Size of hold piece respects blkW and blkH.
290 * README describes build instructions for GBA and DS.
291 * For user convenience, the Allegro DLL is included with the
292 executable, and the source code is in a separate archive.
294 _____________________________________________________________________
295 0.36 (2007-05-21)
296 * Allows DAS delay up to 400 ms (requested by Rich Nagel).
297 * Option for entry within or above ceiling (requested by DIGITAL
298 and Cubicz).
299 * Option for hold piece behavior (requested by Lardarse).
300 * PC: User can change individual game keys, like in StepMania
301 (requested by DIGITAL and Rosti LFC).
302 * PC: Minor changes to included background music.
303 * PC: Option for playing a scale during sideways motion
304 (requested by herc).
305 * PC: Selecting a skin saves options (reported by Rich Nagel).
306 * PC: When loading saved options, treats 16 ms DAS delay as valid
307 (reported by jujube).
308 * PC: Skin setting for a transparent background (requested by
309 cdsboy and Bloodstar).
310 * PC: Demo recording uses "Rec" and "Play" in addition to icons.
311 * PC: Reallocates back buffer after each skin switch, avoiding
312 problems related to changes in blkW and blkH (reported by
313 Rich Nagel).
314 * GBA/DS: Fixed line clear options (0.34 regression).
315 * GBA/DS: Press Start after lose, rather than timing out to options
316 (requested by Webby).
317 * "Default" means not to pay back a loan. Manual uses "initial"
318 or "preset" instead (requested by Bruce Tognazzini).
320 _____________________________________________________________________
321 0.35 (2007-04-25)
322 * New speed curve Game Boy Heart.
323 * New speed curve Death 300+, which starts three sections into
324 Death just like cgwg's cheat for TAP (requested by Amnesia).
325 * New randomizer 10-piece Memoryless.
326 * First garbage line takes into account well width (reported by
327 Lardarse).
328 * Displays section number for NES, Game Boy, and Game Boy Heart
329 speed curves (requested by Rich Nagel).
330 * Debrief displays Quadra-style pieces per active minute
331 (requested by Cubicz).
332 * Debrief calls pieces "pieces" instead of "tetrominoes" in
333 10-piece randomizers because I2, I3, L3 are not tetrominoes.
334 * PC: Gimmick and level are displayed in skin foreground color
335 (missed in 0.30; reported by Rich Nagel).
336 * PC: Skin file name suffix is now .skin not .ini, so that skin.ini
337 cannot be confused with lj.ini. The default skin is called
338 default.skin not skin.ini.
339 * PC: Title screen has option to select skin (requested by
340 cdsboy).
341 * PC: Block size is no longer hard-coded at 24x24 pixels.
342 The new .skin commands blkW= and blkH= control their size
343 (requested by Bloodstar).
344 * PC: Source code comes with new installation guide written by
345 Lardarse in "docs/Compiling_on_Windows.txt".
347 _____________________________________________________________________
348 0.34a (2007-03-27)
349 * PC: Fixed hidden level in Next at right mode (0.33 regression).
350 * DS: Fixed hidden sprites due to bug in devkitARM R20 libnds
351 (0.34 regression).
352 * DS: New touch screen code should eliminate erroneous low notes
353 played upon pen-up.
355 _____________________________________________________________________
356 0.34 (2007-03-23)
357 * Fixed Move to Back piece set (0.14 regression: dang!).
358 * Separate options for number of previewed pieces above shadow and
359 outside field (requested by kiwibonga, caffeine, and Cubicz).
360 * Option to disable IRS (requested by DIGITAL).
361 * Garbage gimmicks (vs., drill 40, hr derby) replaced with new
362 garbage option (requested by Cubicz).
363 * In garbage style "Vs.", player can choose difficulty 1 through 4
364 (requested by Caithness).
365 * Option for line clear delay, independent of entry delay
366 (requested by kiwibonga).
367 * Garbage style Drill no longer automatically tops out on
368 short playfields.
369 * Garbage style Vs. generates garbage with SZSZ randomizer.
370 * Frequency of Vs. w/Items bananas is independent of randomizer.
371 * Fixed self-clearing garbage (0.33 regression).
372 * GBA/DS: Fixed pause button hiding left and right walls
373 (0.33 regression).
374 * GBA/DS: R button also works as hold piece (requested by
375 PetitPrince).
377 _____________________________________________________________________
378 0.33 (2007-03-08)
379 * New speed curve Rhythm Zero is identical to Rhythm except it
380 operates at 0G instead of 20G (requested by Cubicz and caffeine).
381 * Speed curves that do not use level reset level to 0.
382 Therefore, playing a game of Death then a game of Exponential
383 on GBA/DS no longer shows the level that the player finished
384 Death on as the level during Exponential.
385 * Maximum well width increased to 12 (requested by Zed0).
386 * Hold piece does not reset floor kicks, lock delay time in entry
387 reset, or Rhythm's placement timer.
388 * GBA/DS: More shared code moved to file "ljgbads.inc".
389 * PC: Stops end-of-section sound when game is over
390 (requested by Bloodstar).
392 _____________________________________________________________________
393 0.32a (2007-02-25)
394 * PC: Fixed demo recording (0.32 regression; reported by Rosti LFC)
395 * PC: Option to record all games from the start
396 (requested by cdsboy, DIGITAL, Cubicz, and colour_thief).
397 * PC: Added Play .ljm gimmick:
398 Allegro file selector pops up, and the player can choose the
399 filename of a demo to play back (requested by Lardarse).
401 _____________________________________________________________________
402 0.32 (2007-02-13)
403 * Changed a CPU yield behavior that was affecting battery
404 efficiency on the GBA and DS front ends (reported by Mighty Max).
405 * Removed Low Rider gimmick in favor of option for well height
406 (requested by Matthew).
407 * Option for well width, like Shimizu's Tetris Semipro-68k.
408 Combine this with a low well height to simulate BIG mode of
409 TGM and Heboris (requested by Matthew).
410 * Options for entry delay and sideways delay have "max" added to
411 their description to clarify things (requested by kotetsu213 and
412 Ezzelin).
413 * All speed options given in Hz or G are given in both.
414 * PC: Next above shadow works in all playfield positions (reported
415 by caffeine).
416 * GBA/DS: Added option for soft drop speed (requested by Ezzelin).
417 * GBA/DS: Some shared code moved to file "ljgbads.inc".
418 * GBA: Unavailable hold piece is grayed out.
419 * GBA/DS: Lock delay = no lock works (reported by Ezzelin).
420 * GBA/DS: Fixed frames/ms display of delays (reported by Ezzelin).
422 _____________________________________________________________________
423 0.31 (2007-02-03)
424 * Draws the score and next pieces before blitting the playfield
425 in case a front-end draws the score or next pieces inside the
426 playfield.
427 * In Baboo!, speed curve Zero sets the level to the number of
428 keypresses so far.
429 * PC, GBA: Plays sound effect for end of section in speed curves
430 that use sections (Master, Death, NES, Game Boy).
431 * PC: Option to draw next pieces inside the playfield, above the
432 shadow (requested by caffeine, cdsboy, and Cubicz).
433 * GBA, DS: Blocks within a piece are drawn connected once they lock
434 (TOD parity, requested by Lardarse and Bloodstar).
435 * GBA, DS: Baboo! no longer double-counts console buttons passed
436 through the joypad reading code.
437 * README: "color=image" clone-and-hack error fixed (reported by
438 Bloodstar).
439 * README: Explains black rectangle in upper left corner as an
440 icon for stop (requested by herc).
441 * README: Explains controls on GBA and DS.
443 _____________________________________________________________________
444 0.30 (2007-02-01)
445 * Fixed ARE display in debrief, which could cause a crash in some
446 situations (0.26 regression?).
447 * Garbage no longer self-clears in Cascade gravity (reported by
448 Bloodstar).
449 * In high gravity, land a T with one block over an overhang and
450 rotate it once so that it falls and clears a line. This is no
451 longer counted as a T-spin.
452 * During a replay, counts keypresses by the replay player.
453 * PC: Scales undersized background images to the size of the window
454 (requested by Bloodstar).
455 * PC: If a piece enters during a skipped frame, a second upward
456 trail is no longer drawn (reported by Bloodstar and caffeine).
457 * PC: "Next at top" layout draws speedometer (requested by
458 matt_hatter83).
459 * PC: Trails option is saved properly (reported by caffeine).
460 * PC: User can customize the game's text and background colors
461 using skin.ini (requested by Bloodstar).
462 * Added rudimentary port to Nintendo DS for people with MAX Media
463 Dock, M3 Pro, SuperCard Rumble, or SLOT-1 cards, which can run
464 DS homebrew but not GBA homebrew.
465 * Moscow Nights removed from lj-contrib due to research into the
466 copyright term extensions enacted by Russian Federation during
467 the 1990s.
469 _____________________________________________________________________
470 0.29 (2007-01-17)
471 * TDS scoring recognizes chains properly (reported by Lardarse).
472 * TDS scoring section factor stops increasing after 190 lines.
473 * Added NES scoring method.
474 * Added scoring for soft and hard drops to options and debrief.
475 * Cascade no longer deletes the bottom row when lines high on the
476 playfield are cleared (reported by Lardarse).
477 * PC: Draws trails when a tetromino goes up or down rapidly.
478 (Option to turn them off.)
479 * PC: Handles dirty rectangles for next pieces and score
480 separately.
481 * Scoring section of README describes all scoring methods.
483 _____________________________________________________________________
484 0.28 (2007-01-04)
485 * Added Cascade gravity, as seen in Quadra, Tetris Worlds Cascade,
486 and Tetris DS Touch.
487 * Master/Death: Level starts at -1, so that the first piece is
488 played at level 0 (requested by Lardarse).
489 * Changed T-spin detection to save whether or not a rotation
490 involved a kick (0: move; 1: rotate; 2: rotate with kick) so
491 that scoring methods such as TDS can score T-spins with and
492 without kicks differently.
493 * Added TDS scoring method (line clears only).
494 * New, more general, possibly easier to understand reshuffle code
495 in bag randomizer (requested by Lardarse)
496 * GBA: Gold and silver square colors added (requested by Lardarse).
497 * PC: Game over in low ceiling no longer fades the area outside the
498 playfield (reported by Lardarse).
499 * PC: Close box interrupts starting and game over animations.
500 * README warns that 4x4 squares mode needs ljconn.
502 _____________________________________________________________________
503 0.27 (2006-12-20)
504 * GBA version includes a valid header (requested by Ezzelin).
505 * Fixed incorrect spawn orientations for Game Boy rotation system
506 (0.25? regression, reported by Lardarse).
507 * Fixed incorrect win/loss sound early in 180 seconds (0.25
508 regression).
509 * New randomizer 10-piece Bag, including the domino and both
510 trominoes.
511 * GBA version now reports entry and lock delays in both frames
512 and milliseconds.
513 * Possibly fixed off-by-one in Game Boy speed curve section
514 computation, which caused an incorrect slowdown in 210-219
515 section (reported by Ezzelin).
517 _____________________________________________________________________
518 0.26 (2006-12-15)
519 * Option to allow game to proceed in the background (requested by
520 Ezzelin). However, Windows doesn't appear to pass joystick
521 presses to the game running in the background. FCE Ultra has
522 what appears to be exactly the same problem.
523 * Added Game Boy and NES speed curves.
524 * Options and Game Keys are accessed through title screen, not
525 gimmick selection.
526 * Option to hide playfield without changing the skin.
527 * Rearranged rules section of options to correspond more closely to
528 the sequence of operations for each tetromino.
529 * Soft or hard drop set to "lock on release" no longer produces
530 double locks at 20G.
531 * Disable initial hard drop when set to "lock" and entry delay is
532 greater than 0 but less than DAS delay.
533 * Checks for 4x4 squares top to bottom per comparison with The New
534 Tetris (N64).
535 * Finer grained selections in entry delay (requested by
536 matt_hatter83) and lock delay (requested by caffeine).
537 They now are at 50ms increments at the low end.
538 * Expanded TGM speed curve to 12 sections. One comparatively slow
539 section at 20G was added to Master before Death-equivalent starts
540 (now Death 0 is equivalent to Master 600, not 500), and one
541 faster section was added to the end of Death based on info posted
542 to wiki by colour_thief.
543 * Added H.R. Derby gimmick:
544 Like Marathon, but every line you clear other than with a
545 home run or a T-spin gives you garbage.
546 * Ready Go animation is 1.2 seconds, not 2.0 seconds.
547 * Preliminary support for Game Boy Advance, with experimental
548 paged options replacing scrolling options.
550 _____________________________________________________________________
551 0.25 (2006-11-28)
552 * Fixed History 6 Rolls deciding between the first piece algorithm
553 and the subsequent pieces algorithm (reported by Lardarse).
554 * Fixed a signedness issue that broke 180 seconds gimmick in the
555 case that a tetromino was kept active between 3:00 and 3:01 (0.24
556 regression; reported by caffeine).
557 * Allows ending the game with a piece in mid-air (0.24 regression).
558 * Removed Arika and renamed Arika+TI to Arika. For the old
559 Arika behavior, set Options:Floor kicks to 0.
560 * Options screen allows DAS, allowing future versions to make more
561 options and more values for each option available in a less
562 cumbersome way.
564 _____________________________________________________________________
565 0.24 (2006-11-16)
566 * Added Score style to options and debrief.
567 * Choice of LJ or TNT64 scoring is based on chosen score style, not
568 whether 4x4 squares are turned on.
569 * Added Hotline scoring method, where only lines cleared on
570 specific rows count toward scoring. When enabled, draws white
571 lines through empty spaces in these rows.
572 * New soft drop and hard drop lock setting: Lock on release. It's
573 a spring-loaded system: When you press the button, it doesn't
574 lock, but when you let go, it locks (requested by colour_thief).
575 * Option to override lock delay time (requested by caffeine).
576 * Option to limit upward kicks (requested by Needle). This may
577 obviate the difference between Arika and Arika+TI.
578 * Sped up line clear in Master 300-499 to make less of a jarring
579 transition to "death" style timings.
580 * LJM loading fails even more gracefully on wrong format version,
581 properly treating an LJM of the wrong version as not existing.
582 * Fixed bug in 0.23's application switch pausing where switching
583 away while already paused would require two Esc presses to
584 continue (reported by caffeine).
585 * Does not stop play until after the line clear animation finishes.
586 This allows the game to properly update the single, double,
587 triple, etc. counts for the last line that completes the goal
588 (0.19 scoring regression?; reported by caffeine).
589 * Refactored duplicated option loading code.
590 * Options: Ditched parallel struct and array in favor of a
591 single list of named indices.
592 * Corrected Moscow Nights and Kalinka in lj-contrib for greater
593 compatibility with obscure s3m players that can't handle odd
594 numbers of channels (requested by Lardarse).
596 _____________________________________________________________________
597 0.23 (2006-11-04)
598 * Fixed S and Z in Sega 1988.
599 * DUMB has been wrapped in a library called LJMusic and can be
600 turned off at compile time (edit ljmusic.c and makefile) if you
601 don't want to install DUMB.
602 * Added support for Xiph.org's OggVorbis codec to LJMusic
603 (requested by Needle).
604 * Option to ignore sideways movement on first frame (like TGM
605 series) (requested by Needle, seconded by caffeine).
606 * Properly pauses the game when the player switches away from the
607 window (requested by Lardarse).
608 * Fails gracefully (does nothing) instead of crashing when loading
609 replay files of a different format version.
610 * Moved as much as possible below setting display mode so that
611 people porting LJ to other platforms can toss up working alert()
612 boxes earlier (requested by cdsboy).
614 _____________________________________________________________________
615 0.22 (2006-10-23)
616 * Fixed color system change after reloading (0.20 regression?,
617 reported by lardarse). Should always unpack options just before
618 loading skin.
619 * All numbers in saved states are stored big-endian, making movies
620 compatible between 0.22 for Windows and Intel Mac and 0.22 for
621 PowerPC Mac (requested by cdsboy).
622 * Sega rotation systems renamed to Arika for less confusion with
623 the rotation systems in Sega's Tetris games from 1988 and 1998
624 (requested by Needle).
625 * Added Sega 1988 rotation system (like Arika without wall kicks).
626 * Preliminary Vorbis playback code is included in the source code
627 distribution but has not been activated in the program.
628 (The keys to compiling OggVorbis on MinGW+MSYS are 1. set the
629 prefix to match the MINGDIR you used to build Allegro, and
630 2. disable creation of the shared library.)
632 _____________________________________________________________________
633 0.21 (2006-10-21)
634 * Added new T-spin detection rule "3-corner T no kick", identical
635 to 3-corner T except that a wallkick is not counted as a rotation
636 (requested by kotetsu213).
637 * Options that don't apply because of how another option is set
638 are grayed out with an explanation (requested by Needle).
639 * Debrief tells number of blocks left in the playfield and whether
640 saved state was used (requested by caffeine).
641 * Debrief tells what level the player stopped on.
642 * Added support for saving input stream ("demo" or "movie") to file
643 "demo.ljm". Press [ to start/stop recording and ] to start/stop
644 playback (requested by caffeine).
645 * Pieces are actually random again (0.20 regression).
646 * New lockdown mode: Entry reset. Instead of resetting, the lock
647 timer pauses while the piece is falling (requested by caffeine).
648 * No +20 for banking more than 5 beats (requested by caffeine).
649 * 250 ms entry delay option (requested by matt_hatter83).
650 * Entry and sideways delays in Master and Death use the shorter of
651 the speed curve's delay and the user's delay.
652 * Added soft drop speed to options.
653 * Added settings 8.6 Hz through 6.7 Hz to Sideways speed.
655 _____________________________________________________________________
656 0.20 (2006-10-15)
657 * Fixed color system change after options (0.19 regression).
658 * Restored ability to hold first piece (0.17 regression?).
659 * Requires down to be re-pressed only when entry delay is less
660 than sideways delay.
661 * In modes with ARE, allow initial hard drop even on first piece
662 (requested by caffeine).
663 * Visual refresh in Game Keys.
664 * Game Keys ignores keypresses for 1/4 second after each key is
665 set, which should fix problems with GameCube to USB adapters
666 (requested by Caithness).
667 * All platforms use a single randomizer, whose state is associated
668 with the playfield.
669 * ARE is a binary option again, as several speed curves ignored the
670 old version's difference between constant and decreasing.
671 * Moved version display to title screen.
672 * Sound effect for win differs from that for game over.
673 * Sound effect for rotating a piece on its first active frame.
674 * Begun to add assertions, causing game over if they fail.
675 * Added support for saving the state of the playfield.
676 Press [ to save or ] to load. Movies might be next.
678 _____________________________________________________________________
679 0.19 (2006-09-28):
680 * Use of SRS or Sega colors is determined by a flag set for each
681 rotation system. The rule is that rotation systems that use
682 bounding box rotation should use SRS colors.
683 * Added TOD M4 rotation system (face up entry + bounding box
684 rotation + roughly TGM style compensation).
685 * List items in Options flicker much less.
686 * Beginning of an actual title screen.
687 * Removed Rhythm gimmick in favor of speed curve option.
688 * Added Master and Death speed curves (requested by Needle).
689 Death hasn't been tested thoroughly because the developer
690 sucks at death.
691 * Blits only those playfield rows that have changed, making
692 animation smoother on old, cheap, or mobile video cards
693 (requested by cosmonaut).
694 * Rhythm speed curve no longer has what feels like a big elbow
695 (requested by caffeine). Specifically it gives 20 points
696 instead of banking more than 5 pieces' worth of time.
697 * Doesn't draw the state after the tetromino spawns but before
698 initial rotation has taken effect (requested by Needle).
699 * Added sound effect for hold piece (requested by Needle).
700 * Land and lock sound much better (requested by Needle).
701 * Shuffle columns (seen only in Vs. w/ Items) correctly disconnects
702 blocks horizontally.
703 * In Square mode, T-spins cause avalanches.
704 * In Square mode, lines containing a piece of a 4x4 block are worth
705 more, and homers are worth less.
706 * Fixed ignoring diagonal presses (0.17 regression).
707 * Created a new struct "LJPrefs" to hold preferences set by the
708 player in the Options menu separately from the parameters
709 that the game actually uses. This allows gimmicks to override
710 preferences more cleanly.
711 * Added support for future scoring methods where the score per line
712 at a given point in the chain is based on a formula.
713 * Created a union that combines the new struct with the array that
714 the Options menu edits to improve maintainability of Options.
716 _____________________________________________________________________
717 0.18 (2006-09-16):
718 * Fixed Classic lock reset (unknown regression).
719 * Fixed misbehavior when hold is pressed after a piece
720 lands but before it locks (0.17 regression).
721 * Shadow is drawn using the piece's color, at 25% opacity,
722 from rows 4 and 5 of ljblocks.
723 * Fixed shadow option saving (0.17a regression).
724 * Added option to hide shadow color or change shadow opacity.
725 * Split Sega rotation system into one with and one without
726 TGM3's upward kicks.
727 * Added NES and Game Boy rotation systems.
728 * README: Illustration of game play has an image map. The reader
729 can select (hover over) a region of the screenshot, and the
730 browser will show the title of the region as a tooltip.
731 * BPM is now called speed level in preparation for other
732 speed curves (including TGM and TA Death).
734 _____________________________________________________________________
735 0.17 (2006-09-13):
736 * Option for sticky gravity per color, as seen in The Next Tetris.
737 * "Ready, Go" is centered, even in low ceiling gimmicks.
738 * Added TGM3's upward kick to Sega T rotations.
739 * Added Tengen rotation system.
740 * Removed TGM gimmick in favor of entry delay option.
741 * Initial hold works at any time. The key can be pressed and
742 released during entry delay or even during line clear delay.
743 * Initial actions do not inflate keypress count
744 (helpful in Baboo! with entry delay).
745 * Draws hold piece in garbage colors when it is not available.
746 * Options scroll.
747 * Option to draw next pieces to right in constant size or above.
748 * Better looking scroll bar in options.
749 * Debrief: In naive gravity, reports T-spin singles, doubles,
750 and triples separately from non-T-spins. In other line
751 clear gravity modes, "home run" is now called "quad".
752 * Fixed a buffer overflow bug in sticky: fillCLoop() no longer
753 treats the right side of one row and the left side of the
754 row above it as one region.
755 * Clarified manual as to the purpose of the Vs. gimmicks.
756 * Separated platform specific stuff into a separate struct.
757 * Refactored scoring into a separate function for future movement
758 to gimmick and option control.
759 * Debrief formats the report into a string and then writes it
760 to a file and the screen all at once.
761 * Refactored play() to move everything in the game loop that is
762 not platform specific out of ljpc.c into new file ljplay.c.
763 * Wall kick table is no longer flipped, making it easier to add
764 new rotation systems.
765 * Unified counterclockwise and clockwise rotation code.
767 _____________________________________________________________________
768 0.16 (2006-09-03):
769 * Fixed instant sideways speed (0.15 regression).
770 * In countdown modes, debrief screen displays whether clear was
771 successful.
772 * 6-piece Bag no longer makes Vs. ridiculously easy.
773 * Counts score and garbage separately for future shift to
774 gimmick-controlled scoring.
775 * Displays score instead of garbage on the play screen.
776 * Counts singles, doubles, triples, and homers, and displays them
777 in debrief.
778 * Option to hide falling piece in addition to shadow.
779 * Can load mod, xm, or it music in addition to s3m.
780 * Moved skin description from lj.ini to skin.ini, and the name of
781 this skin description file name can be changed with the Skin=
782 command in lj.ini.
783 * Closes lj.ini when reading it.
784 * All vkey->action game key handling code moved to macro.c for
785 future refactoring.
786 * Build process uses automatic generation of C files' dependencies
787 for future refactoring of header files.
788 * Added two versions of NES-style blocks to lj-contrib:
789 one by tepples and one by deepdorp.
791 _____________________________________________________________________
792 0.15 (2006-08-27):
793 * Options for DAS delay, number of next pieces, and window vs.
794 full screen.
795 * Options scrolling doesn't cause the dialog's title and
796 instructions to flicker.
797 * Small font's 5 glyph is the same width as other digits.
798 * Fixed O shape table.
799 * Macros (vkey->action mappings past the first 8) are in a
800 lookup table in the new file macro.c. This paves the way
801 for a future macro editor.
802 * Added macros Alt. Firm Drop and Alt. Hold.
803 * Game Keys displays names for all keys, not just printable keys.
804 * In Sega rotation mode, reads block images from ljblocks-sega.bmp
805 and ljconn-sega.bmp if available.
806 * If ljbg.jpg is not available, uses a plain white backdrop.
807 * Reads file names for block images, background image, and music
808 from lj.ini, which the player can edit with a text editor.
809 * New "6-piece Bag" randomizer is one stick short of a bundle.
810 * Added an arrangement of the minuet from JS Bach's French Suite
811 in B minor (BWV 814) to lj-contrib.
813 _____________________________________________________________________
814 0.14 (2006-08-18):
815 * pause() renamed to pauseGame() to fix namespace collision on
816 platforms with unistd.h (Linux, BSD, Mac).
817 * Gimmick settings for initial gravity, ARE, and ceiling height
818 are initialized from a lookup table.
819 * History 6 Rolls randomizer uses correct initial history (ZSZS)
820 and correct selection for the first piece (I, J, L, or T).
821 * Blocks are drawn connected within each tetromino if ljconn.bmp
822 is present.
823 * Corrected connection table for O tetromino.
824 * Rhythm's BPM counter increases after every 64 beats, not every
825 64 tetrominoes.
826 * Added Low Vs. gimmick:
827 Like Vs. CPU with a low ceiling.
829 _____________________________________________________________________
830 0.13 (2006-08-15):
831 * Hard drop lock option "Zangi" renamed to "Slide".
832 * Added soft drop lock option.
833 * Ignores diagonal presses differently: instead of pretending the
834 keys are up, it pretends that they haven't changed from the last
835 frame. UP, UP+RIGHT, UP no longer makes a double hard drop.
836 * Esc pauses the game and music instead of immediately quitting.
837 * Added contributions from cdsboy to lj-contrib.
839 _____________________________________________________________________
840 0.12 (2006-08-13):
841 * Creates lj.ini if it doesn't exist, instead of crashing on
842 startup.
843 * Added half-size Aver16 font.
844 * Zero gravity (as in Baboo!) + Zangi hard drop = land and lock,
845 instead of just sit there
846 * Option to use classic (Game Boy style) or step-reset (TGM style)
847 lockdown instead of move-reset (SRS style) lockdown.
848 * Contains connection tables for all pieces. Not used yet,
849 but will be used for Cascade (where gravity is based on shapes
850 of pieces), Square (which forms big squares only out of whole
851 tetrominoes), and Bombliss (which doesn't place a bomb in a block
852 that has blocks on opposite sides of it within the piece, such as
853 the middle of an I, J, L, or T).
854 * Pieces can carry bomb blocks within them. Not used yet,
855 but will be used for Bombliss.
856 * Option for sticky gravity. This will also be used for Bombliss.
857 * Options rearranged: game on top, control in middle,
858 view on bottom.
859 * Options menu uses a smaller font and scrolls if necessary (but
860 it's not necessary just yet).
861 * Zero isn't wider than other digits in the large or small font.
862 * Split debrief screen into debrief.c.
863 * Debrief displays lockdown and line clear gravity type.
864 * List of options in debrief is written with smaller font.
865 * Config screen does a better job of ignoring simultaneous presses
866 on USB joystick adapters that map the Control Pad to both axes
867 and buttons (such as EMS USB2).
868 * Main menu and options always respond to the arrow keys (in
869 addition to the keys set in Game Keys), allowing players to
870 reset Game Keys even when the keys have become corrupted.
872 _____________________________________________________________________
873 0.11 (2006-08-01):
874 * Added Instant, 20 Hz, 15 Hz, and 12 Hz sideways speeds.
875 * Added randomizer History 6 Rolls, very similar to Move to Back
876 but sometimes repeating recent tetrominoes.
877 * Allows separate wall kick tables for clockwise and anticlockwise
878 rotation.
879 * New "theta=default" in piece->block expansion reflects the
880 rotation system's initial orientations for new pieces, next
881 pieces, and the hold piece.
882 * Option to use Sega rotations instead of SRS rotations.
883 * Option for ignoring diagonal presses.
884 * Option for locking or not when using hard drop (Up).
885 * Option to turn off smooth gravity animation.
886 * Option to use TNT style T-spin detection instead of TDS style.
887 * Debrief displays rotation system and T-spin detection.
888 * Saves options to lj.ini.
889 * Split options screen and wall kick table into separate source
890 code files.
891 * Plays music in stereo.
892 * Site distributes contributed graphics and music files to
893 replace the defaults.
895 _____________________________________________________________________
896 0.10 (2006-07-27):
897 * Set default full screen color depth to 16-bit which may be more
898 compatible than 15-bit.
899 * Press Print Screen to save the current screen as ljsnap.bmp.
900 * Plays next piece sound whenever the next column moves up.
901 0.08-0.09 didn't do so for the first hold in a game.
902 * No longer tries rotating right when rotating left fails.
903 * Handles DirectDraw amnesia (screen corruption in Alt+Tab)
904 correctly in menu, game play, and debrief screens.
905 * Asset and video buffer cleanup consolidated into one function.
906 * Gravity speeds up 50% faster.
907 * Added options menu for selecting sideways movement speed and
908 randomizer.
909 * Added more randomizers: 14-piece bag, move-to-back (TGM style),
910 memoryless (classic), and SZSZ (used in the well-known proof
911 that memoryless cannot be played indefinitely).
912 * Debrief screen displays date and time of report generation as
913 well as randomizer and sideways speed, and logs what it displays
914 to lj-scores.txt.
915 * Moved all gimmick-specific code from lj.c to new file gimmicks.c.
916 * Built against Allegro 4.2.0. (Users of previous versions will
917 need the new DLL.)
918 * Countdown based gimmicks (40 lines, 180 seconds, Baboo!,
919 TGM World, Drill 40) use the same countdown variable for
920 end state detection that they had used for countdown sound.
921 * Support for tracked music using DUMB.
922 * Manual is HTML.
924 _____________________________________________________________________
925 0.09 (2006-07-16):
926 * Reverted sideways kicks of I tetromino rotating from horizontal
927 to vertical based on testing I-I interactions in Tetris DS.
928 * Key pretending is more consistent.
929 * TGM World stops at 290 lines, more like Tetris The Grand Master.
930 * In gimmicks with ARE (currently TGM World), allows initial
931 hard drop.
932 * Licensed as free software under GNU General Public License.
933 * Fixed incomplete first bag (0.08 regression).
934 * Has its own icon instead of the wall kick editor's icon.
935 * No double initial rotation when using initial hold in TGM World.
936 * Input actions are a 32-bit record for future recording.
937 * Hidden next piece is a separate variable, which next piece
938 sound also respects, fixing Items.
940 _____________________________________________________________________
941 0.08 (2006-07-08):
942 * Plays sounds for the next piece like TGM.
943 * No longer allows 800x552 window now that 0.08 displays the
944 gimmick name.
945 * Supports spawn delay and line delay.
946 * Supports initial hold and rotation.
947 * Supports variable garbage randomness.
948 * Begun to move gimmick code out of core.
949 * Added TGM World gimmick:
950 Standard S.M.G., except there's a half-second delay before each
951 tetromino, and a half-second delay after each tetromino that
952 forms at least one line. So if you want fast play, make more
953 lines at once.
954 * Added Drill 40 gimmick:
955 Like 40 lines, but the screen starts with 18 rows of garbage.
956 Be prepared to rely on SRS infinite spin for the first few
957 lines until your skill improves.
959 _____________________________________________________________________
960 0.07 (2006-06-30):
961 * Added Baboo gimmick:
962 Standard S.M.G., except there is no gravity, and the game
963 ends after 300 keypresses.
964 * Cleaned up the font a bit.
965 * Corrected wall kicks for I tetromino to match an updated
966 description provided by nicholas. Specifically, I tetromino
967 prefers kick-down to kick-up.
968 * Removed sound-not-found debug message.
969 * Plays "ready, go!" like TGM.
970 * Bigger font for lines and time.
972 _____________________________________________________________________
973 0.06 (2006-06-25):
974 * Gimmicks are sorted into columns.
975 * Debrief responds to controller mapping.
976 * Debrief shows keypresses per tetromino and garbage per minute.
977 * Loads/saves vkey configuration from/to disk instead of
978 prompting the user every time the program starts.
979 * Build system switched to GNU Make.
980 * Terminal window ("DOS box") hidden.
981 * Responds to window system's close button.
982 * Counts down 5-4-3-2-1 in line or time limited gimmicks.
983 * Icon in the top left corner of the window is customized.
984 * Displays ljbg.jpg in the window's blank space.
985 * Displays blocks from ljblocks.bmp.
986 * Releases the CPU for 5ms per frame when possible, so that
987 background tasks such as a music player can keep up.
988 * Increased sound effects' volume so that music players do not
989 completely overpower them.
990 * Added macros for rotate twice, move far left, and move far right.
991 * Corrected fix to alternation between falling and landed states
992 that occurred especially when sliding a tetromino to the right
993 under high gravity.
994 * Added Items gimmick:
995 Standard S.M.G., except after the first 7 pieces you get
996 random starting orientations, no rotation, and hidden next
997 pieces, and the speed goes to 1G. Every time you are given an
998 I piece, either you get 2 lines of garbage or the columns of
999 blocks in the well are shuffled.
1000 * Fixed scoring tables in README.txt.
1002 _____________________________________________________________________
1003 0.05 (2006-06-23):
1004 * Included readme.txt.
1005 * Debrief report shows more decimal places in time and PPM.
1006 * Game over plays a simple animation and sound.
1007 * Playfield can be resized (with a recompile).
1008 * Removed hardcoded key binding help text.
1009 * Window is bigger in preparation for wallpaper.
1010 * Display mode is 15/16/24/32-bit in preparation for wallpaper.
1011 * Added Low Rider gimmick:
1012 Standard S.M.G. with an 8-block-tall visible playfield.
1014 _____________________________________________________________________
1015 0.04 (2006-06-22):
1016 * Uses an OS-native bitmap rather than an Allegro bitmap,
1017 which may allow faster drawing with some video cards.
1018 * Allows play from a keyboard or a joystick.
1019 * Presents a key configuration screen when the program starts.
1020 * A 500ms delay after the game ends. Drama will come soon to this
1021 space.
1023 _____________________________________________________________________
1024 0.03 (2006-06-21):
1025 * Debriefing responds only to Esc, Enter, and keypad Enter.
1026 * Compensates for refresh rates other than 60 Hz.
1027 * Change log included with program.
1028 * Plays sound effects for shift, rotate, land, lock, line, b2b.
1029 * Bigger text using the "Aver" font.
1030 * Lock delay in Marathon decreases gradually after gravity
1031 surpasses 20G.
1032 * Reads keys through a bitfield, allowing for custom key->vkey
1033 bindings to be implemented in the future.
1034 * (Internal) Does not alternate between "falling" and "landed"
1035 states when resetting lock delay on slide.
1037 _____________________________________________________________________
1038 0.02 (2006-06-19):
1039 * Speed level progresses 1/3 as fast.
1040 * Added menu for selecting a gimmick (game mode) to play.
1041 * Added Marathon gimmick:
1042 Like Vs. but no garbage.
1043 * Added 40 lines gimmick:
1044 Like Marathon but ends after 40 lines.
1045 * Added 3 minutes gimmick (like Marathon but ends after 10800
1046 frames).
1047 * Added Rhythm gimmick:
1048 20G, and if you fall below the minimum PPM, it automatically
1049 locks the tetromino, and the minimum PPM increases by 10 every
1050 64 tetrominoes.
1051 * Debriefing computes PPM and score.
1052 * Debriefing returns to gimmick selection instead of exiting
1053 the program.
1055 _____________________________________________________________________
1056 0.01 (2006-06-14):
1057 * initial release
1058 * full SRS implemented
1059 * 7-piece bag randomizer
1060 * 1G DAS
1061 * smooth falling animation
1062 * playfield size: 10w x 24h; pieces start above row 20
1063 * 8 next pieces and 1 hold piece
1064 * Vs. gimmick:
1065 Standard S.M.G., except before every I tetromino after the first,
1066 you get 4 garbage lines.