123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970 |
- 0.42 (2008-02-03) aka LOCKJAW XLII
- * Docs: Most of TODO.txt has been converted to a numbered list
- of bugs (bug 0100).
- * An off-by-1/65536 error in enter below ceiling was fixed.
- This means it doesn't give one extra row of room to slide on
- at the top of the well (reported by Caithness and Kukuunen).
- * In case of a block out, draws the offending piece in the well
- before entering game over animation.
- * Extra 5-frame cascade delay removed.
- * With Lockdown set to Step reset, lock delay resets on the
- first floor kick.
- * Tengen rotation system tries kicking one space to the left
- (requested by zaphod77).
- * Options' names and values are looked up from fourCCs for future
- localizability.
- * Options: Names of speeds in fractions of 1G are computed.
- * Options skips unpacking options with a value of 255.
- This allows multiple pref structures to be unpacked on top
- of each other, and each overrides the ones before it.
- * Debrief displays options on a second page.
- * Debrief correctly displays soft drop speed as a fraction (0.41
- regression, reported by Lardarse).
- * Debrief: PC specific parts moved to separate source code file.
- * Debrief uses a lower-level function to format ISO 8601 date
- and time so as not to bring in the floating-point library's
- space overhead on platforms without an FPU.
- * Debrief plays a sound when turning the page.
- * PC: Delay for holding Esc to quit no longer depends on
- display refresh rate. Instead, it uses the global 60 Hz
- timer (reported by Sara).
- * PC: Draws speedometer even when preview is at right,
- as long as there is room, that is, 3 or fewer next pieces
- (requested by Cubicz).
- * PC: Gimmick choice moved to Options to match GBA/DS.
- * PC: Select scenario before starting game (bug 0041).
- * PC options uses standardized GBA names (OPTIONS_*) instead of
- PC names (LJPREFS_*).
- * PC options Shift sound scale, Side, and Next position moved to
- skin.
- * PC options sets initial options using initOptions() from GBA/DS.
- Incidentally, this restores the initial randomizer to bag
- (0.41 regression and may make similar regressions less likely.
- * PC options uses unpackOptions() from GBA/DS.
- * PC options sound is also routed through the cross-platform
- sound manager.
- * PC: lj.ini uses fourCCs as names for easier saving and loading.
- * PC: Switching between windowed and full screen in Options
- no longer needs the user to restart the program.
- * PC: Skin controls window width and height (requested by
- Bloodstar).
- * PC: LJVorbis doesn't crash if polled while the music is stopped.
- This can happen when cross-platform code plays sound effects
- during debrief.
- * PC: Skin sets screen resolution (bug 0017).
- * PC/DS: Displays a description of some option values in addition
- to descriptions of options themselves.
- * GBA/DS: Options disabled on the PC are disabled here.
- * GBA: Menus are faster now that part of the text engine has been
- moved to fast RAM.
- * DS: Plays sound for game over (bug 0064).
- * DS: Options displayed on touch screen for future touch operation.
- * DS: Displays debrief after game ends (bug 0031).
- _____________________________________________________________________
- 0.41 (2007-12-18)
- * Piece set and randomizer are decoupled (requested by Lardarse
- and Dood77).
- * New piece set: iCheat(tm) deals only I tetrominoes, like an
- infamous cheat code for some other game (requested by DIGITAL).
- * New garbage style "Preload zigzag", which preloads a zigzag
- pattern of holes.
- * At debrief time, if at least two rows of the zigzag pattern
- or at least four rows of a rectum (1-block-wide opening) are
- formed, shows a secret grade based on the number of pattern
- rows instead of the number of blocks left in the playfield.
- * Debrief options section sorted by position in options menu.
- * Debrief allows for multiple pages of reports.
- _____________________________________________________________________
- 0.40a (2007-11-30)
- * Does not attempt to create a ghost piece before the first
- falling piece. This may fix a crash on some systems if the
- first game played during a session has deep drop turned on
- (reported by Rich Nagel on Windows 98 Second Edition).
- * Deep drop ghost piece code stops checking at the ceiling.
- _____________________________________________________________________
- 0.40 (2007-11-27)
- * Split out speed curves and randomizers to separate files called
- speed.c and random.c.
- * Adjusted master delays to be closer to TAP; 600-999 no longer
- overlap Death 000-399.
- * Displays short description of each option (requested by AXYPB).
- * Drill gimmick is back, with the new goal of clearing the bottom
- row (requested by DIGITAL).
- * Begin to add code for explosive line clear gimmick; not yet
- integrated (requested by Joshua).
- * Debrief shows number of floor kicks.
- * Bottom blocks is called Deep drop to match recent Multiblocks.
- * PC: Close box works in Options and Game Keys.
- * PC: Does not redraw title screen if close box is clicked.
- * PC: If skin sets transparentPF=1, hotlines and line clear
- animations are drawn transparent (requested by Rich Nagel).
- * GBA/DS: Can quit game from pause screen (requested by AXYPB).
- * GBA/DS: Copyright notice and options screen drawn with
- proportional font for readability.
- * GBA/DS: Menu uses the same sound manager that the game play
- uses, not the platform-specific sound manager.
- * GBA: Sound for end of game (requested by Lardarse).
- * DS: Closing the lid pauses the game and turns off the screens
- (requested by AXYPB).
- * DS: Unavailable hold piece is really grayed out.
- * DS: Real music and sound effects engine (requested by
- bob_fossil).
- _____________________________________________________________________
- 0.39 (2007-10-24)
- * Does not double line clear delay (unknown regression).
- * Source code includes new files options.h and old_pc_options.c
- which were mistakenly left out of 0.38 (reported by tr3).
- * Draws "hotline" symbol on lines being cleared (requested by
- Rosti LFC and kiwibonga).
- * Debrief no longer counts a zero line T-spin as a home run
- (0.28 regression; reported by Lardarse).
- * New randomizer 7+1-piece Bag adds one randomly selected
- tetromino to each bag (requested by colour_thief).
- * Refactored speed curve state information for pseudo-OO
- refactoring.
- * New option: Bottom blocks allows the falling piece to fall past
- blocks into an appropriately shaped hole (requested by mar).
- * Added bottom blocks and well size to debrief.
- * New gluing options Sticky and Sticky by color.
- * PC: Skin specifies the loop point and whether the music starts
- before or after the "Ready, Go" animation.
- * PC: Skin specifies music volume (requested by DIGITAL).
- * PC: Fixed off-by-one in sideways delay (reported by Lardarse).
- * PC: Fields with blkH > 24, especially blkH == 48 and Well height
- 10, are more likely to fit on screen (reported by Needle).
- _____________________________________________________________________
- 0.38 (2007-09-11)
- * Plays a .ljm specified at the command line (requested by
- Rich Nagel).
- * More refactoring for multiplayer.
- * Added wall kick opcode SKIP_IF3, similar to SKIP_IF except it
- also checks the two cells above the specified cell.
- * L, J, and T in Arika use SKIP_IF3 to check the entire center
- column when rotating to vertical (requested by edo).
- * Moves new tetrominoes to be between the walls (fixing Tengen in
- width 4) and, if "Enter above playfield" is off, down far enough
- so that they're within the playfield (requested by Caithness).
- * New rotation system: Climbing, based on Tetris DX. (No, you
- can't wall-climb yet because the sub-block behavior differs.)
- * Option "4x4 squares" is called "Gluing". Other gluing options
- are planned.
- * In Square gluing, formation of a square adds a delay
- equal to line clear delay.
- * PC: Refactored to share some of the GBA/DS options logic.
- * PC: Moved most sound effect code into pcsound.c.
- * PC: Sound for 4x4 square formation (cribbed from TOD).
- * PC: Reloads the default skin's configuration before loading
- the skin, so that skins always inherit from the default skin
- and not the last chosen skin (requested by Rich Nagel).
- * GBA: Uses duration as priority for square wave sound effects,
- which should prevent the section up sound from getting
- interrupted as often.
- * GBA/DS: Draws real-time speedometer.
- _____________________________________________________________________
- 0.37 (2007-07-09)
- * Requires "Up" and "Alt firm drop" to be pressed again when
- lock delay is turned off or less than DAS delay
- (requested by reivilo).
- * Keypress count is reset to 0 even in "Play .ljm" (reported by
- jujube).
- * Playing a broken .ljm from the gimmick menu gives an informative
- error message instead of crashing (0.32a regression; reported by
- Rosti LFC).
- * Rhythm section-up logic waits for 64 beats at L bpm, not L+1 bpm.
- * Fixed a potential buffer overflow in shuffleColumns (the "banana"
- item), brought on by the expansion of the playfield to 12 columns
- (0.33 regression).
- * Better comments in source code about wall kick entry macros
- WK(x, y), WKX(wk), WKY(wk) in lj.h (requested by Lardarse).
- * PC: Reinstate Bach music while investing a trademark claim.
- * PC: Separate music for Rhythm speed curves.
- * PC: Does not use stretch blitter when drawing the blocks of
- sprite pieces at full size (e.g. falling piece).
- * PC: blitField() blits adjacent rows in one call, which is
- faster on slow machines (requested by Matthew).
- * PC: Size of hold piece respects blkW and blkH.
- * README describes build instructions for GBA and DS.
- * For user convenience, the Allegro DLL is included with the
- executable, and the source code is in a separate archive.
- _____________________________________________________________________
- 0.36 (2007-05-21)
- * Allows DAS delay up to 400 ms (requested by Rich Nagel).
- * Option for entry within or above ceiling (requested by DIGITAL
- and Cubicz).
- * Option for hold piece behavior (requested by Lardarse).
- * PC: User can change individual game keys, like in StepMania
- (requested by DIGITAL and Rosti LFC).
- * PC: Minor changes to included background music.
- * PC: Option for playing a scale during sideways motion
- (requested by herc).
- * PC: Selecting a skin saves options (reported by Rich Nagel).
- * PC: When loading saved options, treats 16 ms DAS delay as valid
- (reported by jujube).
- * PC: Skin setting for a transparent background (requested by
- cdsboy and Bloodstar).
- * PC: Demo recording uses "Rec" and "Play" in addition to icons.
- * PC: Reallocates back buffer after each skin switch, avoiding
- problems related to changes in blkW and blkH (reported by
- Rich Nagel).
- * GBA/DS: Fixed line clear options (0.34 regression).
- * GBA/DS: Press Start after lose, rather than timing out to options
- (requested by Webby).
- * "Default" means not to pay back a loan. Manual uses "initial"
- or "preset" instead (requested by Bruce Tognazzini).
- _____________________________________________________________________
- 0.35 (2007-04-25)
- * New speed curve Game Boy Heart.
- * New speed curve Death 300+, which starts three sections into
- Death just like cgwg's cheat for TAP (requested by Amnesia).
- * New randomizer 10-piece Memoryless.
- * First garbage line takes into account well width (reported by
- Lardarse).
- * Displays section number for NES, Game Boy, and Game Boy Heart
- speed curves (requested by Rich Nagel).
- * Debrief displays Quadra-style pieces per active minute
- (requested by Cubicz).
- * Debrief calls pieces "pieces" instead of "tetrominoes" in
- 10-piece randomizers because I2, I3, L3 are not tetrominoes.
- * PC: Gimmick and level are displayed in skin foreground color
- (missed in 0.30; reported by Rich Nagel).
- * PC: Skin file name suffix is now .skin not .ini, so that skin.ini
- cannot be confused with lj.ini. The default skin is called
- default.skin not skin.ini.
- * PC: Title screen has option to select skin (requested by
- cdsboy).
- * PC: Block size is no longer hard-coded at 24x24 pixels.
- The new .skin commands blkW= and blkH= control their size
- (requested by Bloodstar).
- * PC: Source code comes with new installation guide written by
- Lardarse in "docs/Compiling_on_Windows.txt".
- _____________________________________________________________________
- 0.34a (2007-03-27)
- * PC: Fixed hidden level in Next at right mode (0.33 regression).
- * DS: Fixed hidden sprites due to bug in devkitARM R20 libnds
- (0.34 regression).
- * DS: New touch screen code should eliminate erroneous low notes
- played upon pen-up.
- _____________________________________________________________________
- 0.34 (2007-03-23)
- * Fixed Move to Back piece set (0.14 regression: dang!).
- * Separate options for number of previewed pieces above shadow and
- outside field (requested by kiwibonga, caffeine, and Cubicz).
- * Option to disable IRS (requested by DIGITAL).
- * Garbage gimmicks (vs., drill 40, hr derby) replaced with new
- garbage option (requested by Cubicz).
- * In garbage style "Vs.", player can choose difficulty 1 through 4
- (requested by Caithness).
- * Option for line clear delay, independent of entry delay
- (requested by kiwibonga).
- * Garbage style Drill no longer automatically tops out on
- short playfields.
- * Garbage style Vs. generates garbage with SZSZ randomizer.
- * Frequency of Vs. w/Items bananas is independent of randomizer.
- * Fixed self-clearing garbage (0.33 regression).
- * GBA/DS: Fixed pause button hiding left and right walls
- (0.33 regression).
- * GBA/DS: R button also works as hold piece (requested by
- PetitPrince).
- _____________________________________________________________________
- 0.33 (2007-03-08)
- * New speed curve Rhythm Zero is identical to Rhythm except it
- operates at 0G instead of 20G (requested by Cubicz and caffeine).
- * Speed curves that do not use level reset level to 0.
- Therefore, playing a game of Death then a game of Exponential
- on GBA/DS no longer shows the level that the player finished
- Death on as the level during Exponential.
- * Maximum well width increased to 12 (requested by Zed0).
- * Hold piece does not reset floor kicks, lock delay time in entry
- reset, or Rhythm's placement timer.
- * GBA/DS: More shared code moved to file "ljgbads.inc".
- * PC: Stops end-of-section sound when game is over
- (requested by Bloodstar).
- _____________________________________________________________________
- 0.32a (2007-02-25)
- * PC: Fixed demo recording (0.32 regression; reported by Rosti LFC)
- * PC: Option to record all games from the start
- (requested by cdsboy, DIGITAL, Cubicz, and colour_thief).
- * PC: Added Play .ljm gimmick:
- Allegro file selector pops up, and the player can choose the
- filename of a demo to play back (requested by Lardarse).
- _____________________________________________________________________
- 0.32 (2007-02-13)
- * Changed a CPU yield behavior that was affecting battery
- efficiency on the GBA and DS front ends (reported by Mighty Max).
- * Removed Low Rider gimmick in favor of option for well height
- (requested by Matthew).
- * Option for well width, like Shimizu's Tetris Semipro-68k.
- Combine this with a low well height to simulate BIG mode of
- TGM and Heboris (requested by Matthew).
- * Options for entry delay and sideways delay have "max" added to
- their description to clarify things (requested by kotetsu213 and
- Ezzelin).
- * All speed options given in Hz or G are given in both.
- * PC: Next above shadow works in all playfield positions (reported
- by caffeine).
- * GBA/DS: Added option for soft drop speed (requested by Ezzelin).
- * GBA/DS: Some shared code moved to file "ljgbads.inc".
- * GBA: Unavailable hold piece is grayed out.
- * GBA/DS: Lock delay = no lock works (reported by Ezzelin).
- * GBA/DS: Fixed frames/ms display of delays (reported by Ezzelin).
- _____________________________________________________________________
- 0.31 (2007-02-03)
- * Draws the score and next pieces before blitting the playfield
- in case a front-end draws the score or next pieces inside the
- playfield.
- * In Baboo!, speed curve Zero sets the level to the number of
- keypresses so far.
- * PC, GBA: Plays sound effect for end of section in speed curves
- that use sections (Master, Death, NES, Game Boy).
- * PC: Option to draw next pieces inside the playfield, above the
- shadow (requested by caffeine, cdsboy, and Cubicz).
- * GBA, DS: Blocks within a piece are drawn connected once they lock
- (TOD parity, requested by Lardarse and Bloodstar).
- * GBA, DS: Baboo! no longer double-counts console buttons passed
- through the joypad reading code.
- * README: "color=image" clone-and-hack error fixed (reported by
- Bloodstar).
- * README: Explains black rectangle in upper left corner as an
- icon for stop (requested by herc).
- * README: Explains controls on GBA and DS.
- _____________________________________________________________________
- 0.30 (2007-02-01)
- * Fixed ARE display in debrief, which could cause a crash in some
- situations (0.26 regression?).
- * Garbage no longer self-clears in Cascade gravity (reported by
- Bloodstar).
- * In high gravity, land a T with one block over an overhang and
- rotate it once so that it falls and clears a line. This is no
- longer counted as a T-spin.
- * During a replay, counts keypresses by the replay player.
- * PC: Scales undersized background images to the size of the window
- (requested by Bloodstar).
- * PC: If a piece enters during a skipped frame, a second upward
- trail is no longer drawn (reported by Bloodstar and caffeine).
- * PC: "Next at top" layout draws speedometer (requested by
- matt_hatter83).
- * PC: Trails option is saved properly (reported by caffeine).
- * PC: User can customize the game's text and background colors
- using skin.ini (requested by Bloodstar).
- * Added rudimentary port to Nintendo DS for people with MAX Media
- Dock, M3 Pro, SuperCard Rumble, or SLOT-1 cards, which can run
- DS homebrew but not GBA homebrew.
- * Moscow Nights removed from lj-contrib due to research into the
- copyright term extensions enacted by Russian Federation during
- the 1990s.
- _____________________________________________________________________
- 0.29 (2007-01-17)
- * TDS scoring recognizes chains properly (reported by Lardarse).
- * TDS scoring section factor stops increasing after 190 lines.
- * Added NES scoring method.
- * Added scoring for soft and hard drops to options and debrief.
- * Cascade no longer deletes the bottom row when lines high on the
- playfield are cleared (reported by Lardarse).
- * PC: Draws trails when a tetromino goes up or down rapidly.
- (Option to turn them off.)
- * PC: Handles dirty rectangles for next pieces and score
- separately.
- * Scoring section of README describes all scoring methods.
- _____________________________________________________________________
- 0.28 (2007-01-04)
- * Added Cascade gravity, as seen in Quadra, Tetris Worlds Cascade,
- and Tetris DS Touch.
- * Master/Death: Level starts at -1, so that the first piece is
- played at level 0 (requested by Lardarse).
- * Changed T-spin detection to save whether or not a rotation
- involved a kick (0: move; 1: rotate; 2: rotate with kick) so
- that scoring methods such as TDS can score T-spins with and
- without kicks differently.
- * Added TDS scoring method (line clears only).
- * New, more general, possibly easier to understand reshuffle code
- in bag randomizer (requested by Lardarse)
- * GBA: Gold and silver square colors added (requested by Lardarse).
- * PC: Game over in low ceiling no longer fades the area outside the
- playfield (reported by Lardarse).
- * PC: Close box interrupts starting and game over animations.
- * README warns that 4x4 squares mode needs ljconn.
- _____________________________________________________________________
- 0.27 (2006-12-20)
- * GBA version includes a valid header (requested by Ezzelin).
- * Fixed incorrect spawn orientations for Game Boy rotation system
- (0.25? regression, reported by Lardarse).
- * Fixed incorrect win/loss sound early in 180 seconds (0.25
- regression).
- * New randomizer 10-piece Bag, including the domino and both
- trominoes.
- * GBA version now reports entry and lock delays in both frames
- and milliseconds.
- * Possibly fixed off-by-one in Game Boy speed curve section
- computation, which caused an incorrect slowdown in 210-219
- section (reported by Ezzelin).
- _____________________________________________________________________
- 0.26 (2006-12-15)
- * Option to allow game to proceed in the background (requested by
- Ezzelin). However, Windows doesn't appear to pass joystick
- presses to the game running in the background. FCE Ultra has
- what appears to be exactly the same problem.
- * Added Game Boy and NES speed curves.
- * Options and Game Keys are accessed through title screen, not
- gimmick selection.
- * Option to hide playfield without changing the skin.
- * Rearranged rules section of options to correspond more closely to
- the sequence of operations for each tetromino.
- * Soft or hard drop set to "lock on release" no longer produces
- double locks at 20G.
- * Disable initial hard drop when set to "lock" and entry delay is
- greater than 0 but less than DAS delay.
- * Checks for 4x4 squares top to bottom per comparison with The New
- Tetris (N64).
- * Finer grained selections in entry delay (requested by
- matt_hatter83) and lock delay (requested by caffeine).
- They now are at 50ms increments at the low end.
- * Expanded TGM speed curve to 12 sections. One comparatively slow
- section at 20G was added to Master before Death-equivalent starts
- (now Death 0 is equivalent to Master 600, not 500), and one
- faster section was added to the end of Death based on info posted
- to wiki by colour_thief.
- * Added H.R. Derby gimmick:
- Like Marathon, but every line you clear other than with a
- home run or a T-spin gives you garbage.
- * Ready Go animation is 1.2 seconds, not 2.0 seconds.
- * Preliminary support for Game Boy Advance, with experimental
- paged options replacing scrolling options.
- _____________________________________________________________________
- 0.25 (2006-11-28)
- * Fixed History 6 Rolls deciding between the first piece algorithm
- and the subsequent pieces algorithm (reported by Lardarse).
- * Fixed a signedness issue that broke 180 seconds gimmick in the
- case that a tetromino was kept active between 3:00 and 3:01 (0.24
- regression; reported by caffeine).
- * Allows ending the game with a piece in mid-air (0.24 regression).
- * Removed Arika and renamed Arika+TI to Arika. For the old
- Arika behavior, set Options:Floor kicks to 0.
- * Options screen allows DAS, allowing future versions to make more
- options and more values for each option available in a less
- cumbersome way.
- _____________________________________________________________________
- 0.24 (2006-11-16)
- * Added Score style to options and debrief.
- * Choice of LJ or TNT64 scoring is based on chosen score style, not
- whether 4x4 squares are turned on.
- * Added Hotline scoring method, where only lines cleared on
- specific rows count toward scoring. When enabled, draws white
- lines through empty spaces in these rows.
- * New soft drop and hard drop lock setting: Lock on release. It's
- a spring-loaded system: When you press the button, it doesn't
- lock, but when you let go, it locks (requested by colour_thief).
- * Option to override lock delay time (requested by caffeine).
- * Option to limit upward kicks (requested by Needle). This may
- obviate the difference between Arika and Arika+TI.
- * Sped up line clear in Master 300-499 to make less of a jarring
- transition to "death" style timings.
- * LJM loading fails even more gracefully on wrong format version,
- properly treating an LJM of the wrong version as not existing.
- * Fixed bug in 0.23's application switch pausing where switching
- away while already paused would require two Esc presses to
- continue (reported by caffeine).
- * Does not stop play until after the line clear animation finishes.
- This allows the game to properly update the single, double,
- triple, etc. counts for the last line that completes the goal
- (0.19 scoring regression?; reported by caffeine).
- * Refactored duplicated option loading code.
- * Options: Ditched parallel struct and array in favor of a
- single list of named indices.
- * Corrected Moscow Nights and Kalinka in lj-contrib for greater
- compatibility with obscure s3m players that can't handle odd
- numbers of channels (requested by Lardarse).
- _____________________________________________________________________
- 0.23 (2006-11-04)
- * Fixed S and Z in Sega 1988.
- * DUMB has been wrapped in a library called LJMusic and can be
- turned off at compile time (edit ljmusic.c and makefile) if you
- don't want to install DUMB.
- * Added support for Xiph.org's OggVorbis codec to LJMusic
- (requested by Needle).
- * Option to ignore sideways movement on first frame (like TGM
- series) (requested by Needle, seconded by caffeine).
- * Properly pauses the game when the player switches away from the
- window (requested by Lardarse).
- * Fails gracefully (does nothing) instead of crashing when loading
- replay files of a different format version.
- * Moved as much as possible below setting display mode so that
- people porting LJ to other platforms can toss up working alert()
- boxes earlier (requested by cdsboy).
- _____________________________________________________________________
- 0.22 (2006-10-23)
- * Fixed color system change after reloading (0.20 regression?,
- reported by lardarse). Should always unpack options just before
- loading skin.
- * All numbers in saved states are stored big-endian, making movies
- compatible between 0.22 for Windows and Intel Mac and 0.22 for
- PowerPC Mac (requested by cdsboy).
- * Sega rotation systems renamed to Arika for less confusion with
- the rotation systems in Sega's Tetris games from 1988 and 1998
- (requested by Needle).
- * Added Sega 1988 rotation system (like Arika without wall kicks).
- * Preliminary Vorbis playback code is included in the source code
- distribution but has not been activated in the program.
- (The keys to compiling OggVorbis on MinGW+MSYS are 1. set the
- prefix to match the MINGDIR you used to build Allegro, and
- 2. disable creation of the shared library.)
- _____________________________________________________________________
- 0.21 (2006-10-21)
- * Added new T-spin detection rule "3-corner T no kick", identical
- to 3-corner T except that a wallkick is not counted as a rotation
- (requested by kotetsu213).
- * Options that don't apply because of how another option is set
- are grayed out with an explanation (requested by Needle).
- * Debrief tells number of blocks left in the playfield and whether
- saved state was used (requested by caffeine).
- * Debrief tells what level the player stopped on.
- * Added support for saving input stream ("demo" or "movie") to file
- "demo.ljm". Press [ to start/stop recording and ] to start/stop
- playback (requested by caffeine).
- * Pieces are actually random again (0.20 regression).
- * New lockdown mode: Entry reset. Instead of resetting, the lock
- timer pauses while the piece is falling (requested by caffeine).
- * No +20 for banking more than 5 beats (requested by caffeine).
- * 250 ms entry delay option (requested by matt_hatter83).
- * Entry and sideways delays in Master and Death use the shorter of
- the speed curve's delay and the user's delay.
- * Added soft drop speed to options.
- * Added settings 8.6 Hz through 6.7 Hz to Sideways speed.
- _____________________________________________________________________
- 0.20 (2006-10-15)
- * Fixed color system change after options (0.19 regression).
- * Restored ability to hold first piece (0.17 regression?).
- * Requires down to be re-pressed only when entry delay is less
- than sideways delay.
- * In modes with ARE, allow initial hard drop even on first piece
- (requested by caffeine).
- * Visual refresh in Game Keys.
- * Game Keys ignores keypresses for 1/4 second after each key is
- set, which should fix problems with GameCube to USB adapters
- (requested by Caithness).
- * All platforms use a single randomizer, whose state is associated
- with the playfield.
- * ARE is a binary option again, as several speed curves ignored the
- old version's difference between constant and decreasing.
- * Moved version display to title screen.
- * Sound effect for win differs from that for game over.
- * Sound effect for rotating a piece on its first active frame.
- * Begun to add assertions, causing game over if they fail.
- * Added support for saving the state of the playfield.
- Press [ to save or ] to load. Movies might be next.
- _____________________________________________________________________
- 0.19 (2006-09-28):
- * Use of SRS or Sega colors is determined by a flag set for each
- rotation system. The rule is that rotation systems that use
- bounding box rotation should use SRS colors.
- * Added TOD M4 rotation system (face up entry + bounding box
- rotation + roughly TGM style compensation).
- * List items in Options flicker much less.
- * Beginning of an actual title screen.
- * Removed Rhythm gimmick in favor of speed curve option.
- * Added Master and Death speed curves (requested by Needle).
- Death hasn't been tested thoroughly because the developer
- sucks at death.
- * Blits only those playfield rows that have changed, making
- animation smoother on old, cheap, or mobile video cards
- (requested by cosmonaut).
- * Rhythm speed curve no longer has what feels like a big elbow
- (requested by caffeine). Specifically it gives 20 points
- instead of banking more than 5 pieces' worth of time.
- * Doesn't draw the state after the tetromino spawns but before
- initial rotation has taken effect (requested by Needle).
- * Added sound effect for hold piece (requested by Needle).
- * Land and lock sound much better (requested by Needle).
- * Shuffle columns (seen only in Vs. w/ Items) correctly disconnects
- blocks horizontally.
- * In Square mode, T-spins cause avalanches.
- * In Square mode, lines containing a piece of a 4x4 block are worth
- more, and homers are worth less.
- * Fixed ignoring diagonal presses (0.17 regression).
- * Created a new struct "LJPrefs" to hold preferences set by the
- player in the Options menu separately from the parameters
- that the game actually uses. This allows gimmicks to override
- preferences more cleanly.
- * Added support for future scoring methods where the score per line
- at a given point in the chain is based on a formula.
- * Created a union that combines the new struct with the array that
- the Options menu edits to improve maintainability of Options.
- _____________________________________________________________________
- 0.18 (2006-09-16):
- * Fixed Classic lock reset (unknown regression).
- * Fixed misbehavior when hold is pressed after a piece
- lands but before it locks (0.17 regression).
- * Shadow is drawn using the piece's color, at 25% opacity,
- from rows 4 and 5 of ljblocks.
- * Fixed shadow option saving (0.17a regression).
- * Added option to hide shadow color or change shadow opacity.
- * Split Sega rotation system into one with and one without
- TGM3's upward kicks.
- * Added NES and Game Boy rotation systems.
- * README: Illustration of game play has an image map. The reader
- can select (hover over) a region of the screenshot, and the
- browser will show the title of the region as a tooltip.
- * BPM is now called speed level in preparation for other
- speed curves (including TGM and TA Death).
- _____________________________________________________________________
- 0.17 (2006-09-13):
- * Option for sticky gravity per color, as seen in The Next Tetris.
- * "Ready, Go" is centered, even in low ceiling gimmicks.
- * Added TGM3's upward kick to Sega T rotations.
- * Added Tengen rotation system.
- * Removed TGM gimmick in favor of entry delay option.
- * Initial hold works at any time. The key can be pressed and
- released during entry delay or even during line clear delay.
- * Initial actions do not inflate keypress count
- (helpful in Baboo! with entry delay).
- * Draws hold piece in garbage colors when it is not available.
- * Options scroll.
- * Option to draw next pieces to right in constant size or above.
- * Better looking scroll bar in options.
- * Debrief: In naive gravity, reports T-spin singles, doubles,
- and triples separately from non-T-spins. In other line
- clear gravity modes, "home run" is now called "quad".
- * Fixed a buffer overflow bug in sticky: fillCLoop() no longer
- treats the right side of one row and the left side of the
- row above it as one region.
- * Clarified manual as to the purpose of the Vs. gimmicks.
- * Separated platform specific stuff into a separate struct.
- * Refactored scoring into a separate function for future movement
- to gimmick and option control.
- * Debrief formats the report into a string and then writes it
- to a file and the screen all at once.
- * Refactored play() to move everything in the game loop that is
- not platform specific out of ljpc.c into new file ljplay.c.
- * Wall kick table is no longer flipped, making it easier to add
- new rotation systems.
- * Unified counterclockwise and clockwise rotation code.
- _____________________________________________________________________
- 0.16 (2006-09-03):
- * Fixed instant sideways speed (0.15 regression).
- * In countdown modes, debrief screen displays whether clear was
- successful.
- * 6-piece Bag no longer makes Vs. ridiculously easy.
- * Counts score and garbage separately for future shift to
- gimmick-controlled scoring.
- * Displays score instead of garbage on the play screen.
- * Counts singles, doubles, triples, and homers, and displays them
- in debrief.
- * Option to hide falling piece in addition to shadow.
- * Can load mod, xm, or it music in addition to s3m.
- * Moved skin description from lj.ini to skin.ini, and the name of
- this skin description file name can be changed with the Skin=
- command in lj.ini.
- * Closes lj.ini when reading it.
- * All vkey->action game key handling code moved to macro.c for
- future refactoring.
- * Build process uses automatic generation of C files' dependencies
- for future refactoring of header files.
- * Added two versions of NES-style blocks to lj-contrib:
- one by tepples and one by deepdorp.
- _____________________________________________________________________
- 0.15 (2006-08-27):
- * Options for DAS delay, number of next pieces, and window vs.
- full screen.
- * Options scrolling doesn't cause the dialog's title and
- instructions to flicker.
- * Small font's 5 glyph is the same width as other digits.
- * Fixed O shape table.
- * Macros (vkey->action mappings past the first 8) are in a
- lookup table in the new file macro.c. This paves the way
- for a future macro editor.
- * Added macros Alt. Firm Drop and Alt. Hold.
- * Game Keys displays names for all keys, not just printable keys.
- * In Sega rotation mode, reads block images from ljblocks-sega.bmp
- and ljconn-sega.bmp if available.
- * If ljbg.jpg is not available, uses a plain white backdrop.
- * Reads file names for block images, background image, and music
- from lj.ini, which the player can edit with a text editor.
- * New "6-piece Bag" randomizer is one stick short of a bundle.
- * Added an arrangement of the minuet from JS Bach's French Suite
- in B minor (BWV 814) to lj-contrib.
- _____________________________________________________________________
- 0.14 (2006-08-18):
- * pause() renamed to pauseGame() to fix namespace collision on
- platforms with unistd.h (Linux, BSD, Mac).
- * Gimmick settings for initial gravity, ARE, and ceiling height
- are initialized from a lookup table.
- * History 6 Rolls randomizer uses correct initial history (ZSZS)
- and correct selection for the first piece (I, J, L, or T).
- * Blocks are drawn connected within each tetromino if ljconn.bmp
- is present.
- * Corrected connection table for O tetromino.
- * Rhythm's BPM counter increases after every 64 beats, not every
- 64 tetrominoes.
- * Added Low Vs. gimmick:
- Like Vs. CPU with a low ceiling.
- _____________________________________________________________________
- 0.13 (2006-08-15):
- * Hard drop lock option "Zangi" renamed to "Slide".
- * Added soft drop lock option.
- * Ignores diagonal presses differently: instead of pretending the
- keys are up, it pretends that they haven't changed from the last
- frame. UP, UP+RIGHT, UP no longer makes a double hard drop.
- * Esc pauses the game and music instead of immediately quitting.
- * Added contributions from cdsboy to lj-contrib.
- _____________________________________________________________________
- 0.12 (2006-08-13):
- * Creates lj.ini if it doesn't exist, instead of crashing on
- startup.
- * Added half-size Aver16 font.
- * Zero gravity (as in Baboo!) + Zangi hard drop = land and lock,
- instead of just sit there
- * Option to use classic (Game Boy style) or step-reset (TGM style)
- lockdown instead of move-reset (SRS style) lockdown.
- * Contains connection tables for all pieces. Not used yet,
- but will be used for Cascade (where gravity is based on shapes
- of pieces), Square (which forms big squares only out of whole
- tetrominoes), and Bombliss (which doesn't place a bomb in a block
- that has blocks on opposite sides of it within the piece, such as
- the middle of an I, J, L, or T).
- * Pieces can carry bomb blocks within them. Not used yet,
- but will be used for Bombliss.
- * Option for sticky gravity. This will also be used for Bombliss.
- * Options rearranged: game on top, control in middle,
- view on bottom.
- * Options menu uses a smaller font and scrolls if necessary (but
- it's not necessary just yet).
- * Zero isn't wider than other digits in the large or small font.
- * Split debrief screen into debrief.c.
- * Debrief displays lockdown and line clear gravity type.
- * List of options in debrief is written with smaller font.
- * Config screen does a better job of ignoring simultaneous presses
- on USB joystick adapters that map the Control Pad to both axes
- and buttons (such as EMS USB2).
- * Main menu and options always respond to the arrow keys (in
- addition to the keys set in Game Keys), allowing players to
- reset Game Keys even when the keys have become corrupted.
- _____________________________________________________________________
- 0.11 (2006-08-01):
- * Added Instant, 20 Hz, 15 Hz, and 12 Hz sideways speeds.
- * Added randomizer History 6 Rolls, very similar to Move to Back
- but sometimes repeating recent tetrominoes.
- * Allows separate wall kick tables for clockwise and anticlockwise
- rotation.
- * New "theta=default" in piece->block expansion reflects the
- rotation system's initial orientations for new pieces, next
- pieces, and the hold piece.
- * Option to use Sega rotations instead of SRS rotations.
- * Option for ignoring diagonal presses.
- * Option for locking or not when using hard drop (Up).
- * Option to turn off smooth gravity animation.
- * Option to use TNT style T-spin detection instead of TDS style.
- * Debrief displays rotation system and T-spin detection.
- * Saves options to lj.ini.
- * Split options screen and wall kick table into separate source
- code files.
- * Plays music in stereo.
- * Site distributes contributed graphics and music files to
- replace the defaults.
- _____________________________________________________________________
- 0.10 (2006-07-27):
- * Set default full screen color depth to 16-bit which may be more
- compatible than 15-bit.
- * Press Print Screen to save the current screen as ljsnap.bmp.
- * Plays next piece sound whenever the next column moves up.
- 0.08-0.09 didn't do so for the first hold in a game.
- * No longer tries rotating right when rotating left fails.
- * Handles DirectDraw amnesia (screen corruption in Alt+Tab)
- correctly in menu, game play, and debrief screens.
- * Asset and video buffer cleanup consolidated into one function.
- * Gravity speeds up 50% faster.
- * Added options menu for selecting sideways movement speed and
- randomizer.
- * Added more randomizers: 14-piece bag, move-to-back (TGM style),
- memoryless (classic), and SZSZ (used in the well-known proof
- that memoryless cannot be played indefinitely).
- * Debrief screen displays date and time of report generation as
- well as randomizer and sideways speed, and logs what it displays
- to lj-scores.txt.
- * Moved all gimmick-specific code from lj.c to new file gimmicks.c.
- * Built against Allegro 4.2.0. (Users of previous versions will
- need the new DLL.)
- * Countdown based gimmicks (40 lines, 180 seconds, Baboo!,
- TGM World, Drill 40) use the same countdown variable for
- end state detection that they had used for countdown sound.
- * Support for tracked music using DUMB.
- * Manual is HTML.
- _____________________________________________________________________
- 0.09 (2006-07-16):
- * Reverted sideways kicks of I tetromino rotating from horizontal
- to vertical based on testing I-I interactions in Tetris DS.
- * Key pretending is more consistent.
- * TGM World stops at 290 lines, more like Tetris The Grand Master.
- * In gimmicks with ARE (currently TGM World), allows initial
- hard drop.
- * Licensed as free software under GNU General Public License.
- * Fixed incomplete first bag (0.08 regression).
- * Has its own icon instead of the wall kick editor's icon.
- * No double initial rotation when using initial hold in TGM World.
- * Input actions are a 32-bit record for future recording.
- * Hidden next piece is a separate variable, which next piece
- sound also respects, fixing Items.
- _____________________________________________________________________
- 0.08 (2006-07-08):
- * Plays sounds for the next piece like TGM.
- * No longer allows 800x552 window now that 0.08 displays the
- gimmick name.
- * Supports spawn delay and line delay.
- * Supports initial hold and rotation.
- * Supports variable garbage randomness.
- * Begun to move gimmick code out of core.
- * Added TGM World gimmick:
- Standard S.M.G., except there's a half-second delay before each
- tetromino, and a half-second delay after each tetromino that
- forms at least one line. So if you want fast play, make more
- lines at once.
- * Added Drill 40 gimmick:
- Like 40 lines, but the screen starts with 18 rows of garbage.
- Be prepared to rely on SRS infinite spin for the first few
- lines until your skill improves.
- _____________________________________________________________________
- 0.07 (2006-06-30):
- * Added Baboo gimmick:
- Standard S.M.G., except there is no gravity, and the game
- ends after 300 keypresses.
- * Cleaned up the font a bit.
- * Corrected wall kicks for I tetromino to match an updated
- description provided by nicholas. Specifically, I tetromino
- prefers kick-down to kick-up.
- * Removed sound-not-found debug message.
- * Plays "ready, go!" like TGM.
- * Bigger font for lines and time.
- _____________________________________________________________________
- 0.06 (2006-06-25):
- * Gimmicks are sorted into columns.
- * Debrief responds to controller mapping.
- * Debrief shows keypresses per tetromino and garbage per minute.
- * Loads/saves vkey configuration from/to disk instead of
- prompting the user every time the program starts.
- * Build system switched to GNU Make.
- * Terminal window ("DOS box") hidden.
- * Responds to window system's close button.
- * Counts down 5-4-3-2-1 in line or time limited gimmicks.
- * Icon in the top left corner of the window is customized.
- * Displays ljbg.jpg in the window's blank space.
- * Displays blocks from ljblocks.bmp.
- * Releases the CPU for 5ms per frame when possible, so that
- background tasks such as a music player can keep up.
- * Increased sound effects' volume so that music players do not
- completely overpower them.
- * Added macros for rotate twice, move far left, and move far right.
- * Corrected fix to alternation between falling and landed states
- that occurred especially when sliding a tetromino to the right
- under high gravity.
- * Added Items gimmick:
- Standard S.M.G., except after the first 7 pieces you get
- random starting orientations, no rotation, and hidden next
- pieces, and the speed goes to 1G. Every time you are given an
- I piece, either you get 2 lines of garbage or the columns of
- blocks in the well are shuffled.
- * Fixed scoring tables in README.txt.
- _____________________________________________________________________
- 0.05 (2006-06-23):
- * Included readme.txt.
- * Debrief report shows more decimal places in time and PPM.
- * Game over plays a simple animation and sound.
- * Playfield can be resized (with a recompile).
- * Removed hardcoded key binding help text.
- * Window is bigger in preparation for wallpaper.
- * Display mode is 15/16/24/32-bit in preparation for wallpaper.
- * Added Low Rider gimmick:
- Standard S.M.G. with an 8-block-tall visible playfield.
- _____________________________________________________________________
- 0.04 (2006-06-22):
- * Uses an OS-native bitmap rather than an Allegro bitmap,
- which may allow faster drawing with some video cards.
- * Allows play from a keyboard or a joystick.
- * Presents a key configuration screen when the program starts.
- * A 500ms delay after the game ends. Drama will come soon to this
- space.
- _____________________________________________________________________
- 0.03 (2006-06-21):
- * Debriefing responds only to Esc, Enter, and keypad Enter.
- * Compensates for refresh rates other than 60 Hz.
- * Change log included with program.
- * Plays sound effects for shift, rotate, land, lock, line, b2b.
- * Bigger text using the "Aver" font.
- * Lock delay in Marathon decreases gradually after gravity
- surpasses 20G.
- * Reads keys through a bitfield, allowing for custom key->vkey
- bindings to be implemented in the future.
- * (Internal) Does not alternate between "falling" and "landed"
- states when resetting lock delay on slide.
- _____________________________________________________________________
- 0.02 (2006-06-19):
- * Speed level progresses 1/3 as fast.
- * Added menu for selecting a gimmick (game mode) to play.
- * Added Marathon gimmick:
- Like Vs. but no garbage.
- * Added 40 lines gimmick:
- Like Marathon but ends after 40 lines.
- * Added 3 minutes gimmick (like Marathon but ends after 10800
- frames).
- * Added Rhythm gimmick:
- 20G, and if you fall below the minimum PPM, it automatically
- locks the tetromino, and the minimum PPM increases by 10 every
- 64 tetrominoes.
- * Debriefing computes PPM and score.
- * Debriefing returns to gimmick selection instead of exiting
- the program.
- _____________________________________________________________________
- 0.01 (2006-06-14):
- * initial release
- * full SRS implemented
- * 7-piece bag randomizer
- * 1G DAS
- * smooth falling animation
- * playfield size: 10w x 24h; pieces start above row 20
- * 8 next pieces and 1 hold piece
- * Vs. gimmick:
- Standard S.M.G., except before every I tetromino after the first,
- you get 4 garbage lines.
|