Project Altris Notes


Title: ALTRIS
Author: David A. Bagley, bagleyd AT verizon.net
Copyright: BSD
Description: Altered Tetri

Contents

Things To Do...
JavaScript - Latest Tweaks...
Android Latest Tweaks...
Java - Latest Tweaks...
Java - Older Releases
X and Windows - Latest Tweaks...
X and Windows - Older Releases

Things To Do...

  1. Android Tetris/Welltris: add features to new Android App version. Just plays no score or change of speed yet. Drawing using bitmap code from Tetris at bottom of well not working on Welltris.
  2. Scaling problems for Applets in resizable windows.
  3. Boxtris.
  4. Playing is not paused at all when going to next game in X version.

JavaScript Things To Do...

  1. Bitmaps

JavaScript - Latest Tweaks...

  8.3.9:
    Removed keyCode and which which were deprecated.
  8.2.7:
    Added "Show Next".
    Changed defaults to be sudden appear (if not welltris).
    NumLock keys should now work.
    Mixed added.  Access to change mixed and diagonal (or corners for
       hextris) added.
    Fixed line removal shading for tertris.
    Bonus added.
  8.2.5:
    Fixed level where it was not increasing after 41 rows.
  8.1.7:
    Implemented Tertris and Hextris.
    Scores are now persistent using cookies (that is all I use them for)
    More kinds of polyominoes added.
    Implemented Welltris.
    Implemented Tetris.

Android - Latest Tweaks...

  8.2.7:
    Fixed look of pieces at bottom of well in Welltris.
    Changed defaults to be ccw and sudden appear (if not welltris).
  8.0.1:
    Old website http://www.tux.org/~bagleyd died, shifted code base to
      new website http://www.sillycycle.com
  8.0.0:
    Tetris: Android App version.
    Welltris: Android App version.

Java - Latest Tweaks...

  8.2.7:
    Fixed mixed to use diagonal pieces if chosen.
    Fixed to ignore certain modes if not relevant.
    Changed defaults to be ccw and sudden appear (if not welltris).
    Added more keypad access.
    Fix sound for OpenJDK.
    Fixed mixed mode when using xml file.
    Fixed line removal shading for tertris.
  8.2.5:
    Took out synchronized for run, it was causing deadlock on Linux.
  8.2.4:
    Updated references to website to https.  https://www.sillycycle.com
  8.2.3:
    Fixed centering of field.
    Fix for frame icon broken previously.
  8.2.2:
    Dropped support for applets :(.  This was dropped because applets are
      deprecated and for security.  Now only runs as a application.  (Some
      puzzles are available in HTML5 and JavaScript to run directly from
      web.  Let me know if some favorite feature or puzzle not available
      on HTML5 version  and I will see if I can remedy.)
    Added support for more icon sizes.
  8.1.7:
    Changed slider to spinner as it takes up less room.
    Fixed level as changing it was causing a deadlock.
  8.0.0:
    Falling things now in an xml with a fallback if it can not be found.
    Old website http://www.tux.org/~bagleyd died, shifted code base to
      new website http://www.sillycycle.com
  7.7.5:
    Applet: added handling when writing score so does not crash if fails.
    Separate util directory.
  7.7.3:
    Reorganized icons directory.
  7.7.1:
    Dialogs now use swing.
  7.7.0:
    Game canvas now has default focus when applet comes up.  Seems like
      this is now necessary for game to work.
  7.6.2:
    Took out JPopup and put in JMenu stuff from application.  Would have
      done before but did not realize Applet needs to be JApplet for this
      to work.
    Added border for htmls thanks to
      http://www.squidoo.com/html-backgrounds-
    Added Attach/Detach thanks to code snippet Code Ranch and JavaKB by
      Brian Pipa.
    Also found something in stackoverflow from Alex for resizing JFrame.
    Now have sound initialization only run on first try to make a sound as
      I found sound initialization hangs on one of my systems.
  7.6.1:
    Added extra keys F12 for rotate and F11 for reflection.
  7.5:
    Cleaned up menu look.

Java - Older Releases

  7.4.2:
    Panel info length was trying to be 4 times bigger than it should be.
  7.4:
    Leading function names in lowercase.
    findbugs and pmd changes.
  7.3.4:
    Added new scaling for altris applets.
    Cursor changed to crosshair pointer.
    Added javadoc info.
  7.3.3:
    Skipped to resync puzzle releases.
  7.3.2:
    Tertris: Fixed size 7 where it thought there were more polyiamonds.
    Constants changed.
    Added 3D look to frame.
    gcj warning cleanups.
  7.3.1:
    Updated action codes and synchronized Java and C code.
  7.3:
    Better keyboard interface code.
  7.2.5:
    New bump.au sound and db lowered, thanks to
      http://audacity.sourceforge.net to help clean the sound up.
  7.2.4:
    Welltris: images sometimes should no longer erase grid.
    Implemented JavaScript applet quit option.
    Use generic names in code where possible.
    Now use http://netpbm.sourceforge.net to generate images from xpm.
  7.2.3:
    Fixed problems with initialization.
    Fixed level and fill bounding problems.
    Made more configurable at start up.
    Check for noninteger parameter input.
  7.2.2:
    Line feed fixes.
    Cookies more readable.
    JavaScript/Cookie code back in.
    Ant build now fully supported.
    variable size for Application.
    Jar files now have a MANIFEST so they can run as a an application if
      downloaded.
  7.2.1:
    Started fixing up help and keyboard options between X/Window and Java.
    Added pause key '|'.
    welltris:
      Corner split neighbor aware, ie. when split by a corner have end
        pieces join up, the result is a more of a rubbery effect.
      Implemented 2nd order neighbor awareness on sides of well, it used to
        use a 4 bit algorithm now its at 16 just like the bottom of well.
  7.2:
    AWT to Swing... (I kind of liked AWT... but won over to get Mnemonics
      to look right).
    hextris and tertris:
      fixed Next drawing, was inside-out
  7.1.5:
    Level 20 slowdown fix
    welltris:
      better graphics for pieces on the side of the well
  7.1.4:
    build.xml
    Sound
    Fill option added for welltris
    New pieces to depend on neighbors for tertris and hextris,
      also when a row is deleted a reformat takes place
    Hextris made the edges softer in corners mode
    welltris & tetris rerun dynamic bitmaps for rescale and next
    welltris now unfreezes when game finished

  7.1.3 and older
    Dynamic bitmaps.
    Got rid of some deprecations and Xlints
    tetris: prefill bug, flash bug, 3d upside-down
    welltris: 3d upside-down
    tertris: multiline complete bug, checkLines()
    hextris: drawThing & drawThingDiff check for j >= 0
    Esc key to hide
    Initial conversion from C to Java by Sarat Chandran
      

X and Windows - Latest Tweaks...

  [Aug 30, 2023]  V8.7.1:
    Fixing configure to not use -std=c89 as it may not always work with
      installed includes.
  [Dec 14, 2022]  V8.6.1:
    Updating Athena libs as seen in xterm build and adding XawPlus.
    Fixing up and down bitmaps.
  [Dec 09, 2022]  V8.6.0:
    Redesign gui parts as getting too unwieldy.  Ripping out xgui.h
      xgui.c from main file.
    Athena: Adding new spinner, updating old slider and toggle.
    tertris: Fix some screen dust for point of triangle.
  [Oct 31, 2022]  V8.5.6:
    Updating for Xaw3dxft and neXtaw.
  [Oct 04, 2022]  V8.5.4:
    Windows: ShowNext was not default, plainPiece was not changing in
      ShowNext, fix initial ShowNext, and in welltris fixed drawing of
      frozen walls.
    Motif/Athena: Updated menus and popup titles.
  [Sep 01, 2022]  V8.5.3:
    Updated to use XtAppInitialize from XtInitialize.  This helped fix
      Athena issue when killing dialog by window exit and bringing
      down application (WM_PROTOCOLS nonsense).
    Athena: popup window title bar close handled better.
    Athena: added scroll bar dialog box for features.
    Athena: initialize to synchronize with handle command line options.
    Athena: setup menu added.
  [Jul 30, 2022]  V8.5.2:
    Athena scrolling fix and partial menus added.
  [Jul 11, 2022]  V8.5.1:
    Cleanup and configuration updates.
  [Jul 07, 2022]  V8.5.0:
    Athena version, because I got complaints about Motif being old.
  [May 25, 2020]  V8.2.7:
    Fixed mixed to use diagonal pieces if chosen.
    Fixed to ignore certain modes if not relevant.
    Changed defaults to be ccw and sudden appear (if not welltris).
    Fixing a few buffer overflows from latest gcc.
  [Apr 04, 2020]  V8.2.6:
    Lots of spelling errors fixed due to codespell
      https://manpages.debian.org/testing/codespell/codespell.1.en.html
    Updated references to website to https.  https://www.sillycycle.com
  [Feb 15, 2019]  V8.2.1:
    Fixed spinner to not wrap.
  [Oct 02, 2018]  V8.2.0:
    Removing strcpy and strcat calls by migrating to strncpy and strncat.
      Added HAVE_SNPRINTF compile-time option.
  [Jul 21, 2018]  V8.1.8:
    Fixing sound installation.
  [Apr 03, 2018]  V8.1.7:
    Updated to use spinner (using latest Motif  ;) ).
  [Oct 15, 2017]  V8.1.4:
    Removed gcc-7 warnings.
  [Oct 01, 2017]  V8.1.3:
    Updates for 64 bit compilation in Windows.
  [Aug 01, 2017]  V8.1.1:
    Valgrind helped find some definite memory leaks.
  [Jul 17, 2017]  V8.1.0:
    Updated sound configuration for X version.  Uses a simple included
      script play.sh, that is now used by default.
  [Sep 13, 2016]  V8.0.1:
    Old website http://www.tux.org/~bagleyd died, shifted code base to
      new website http://www.sillycycle.com
  [Feb 24, 2015]  V8.0.0:
    Sound and install fixes.
  [Jan 20, 2014]  V7.7.3:
    Reorganized pixmap directory.
  [Jan 10, 2013]  V7.7.1:
    Added scroll to feature help dialog.
    New bold fontlist in resource file, so things are easier to read.
  [Jun 29, 2010]  V7.6.1:
    Added extra keys F12 for rotate and F11 for reflection.
  [Jan 21, 2010]  V7.6:
    Version handling changed to a single version.h (and man page).
    Sound fixed for esound.
  [Nov 10, 2009]  V7.5.1:
    Windows version: added accelerator for references.
  [Jun 05, 2009]  V7.5:
    Cleaned up menu look.
    Fixed again for NAS sound.

X and Windows - Older Releases

  [Dec 14, 2008]  V7.4.3:
    Fixed for NAS sound.
  [Jul 21, 2008]  V7.4.1:
    Strange character at end of help title removed.
    Pause menu selection now works.
  [Jul 11, 2008]  V7.4:
    Leading function names in lowercase.
  [Dec 24, 2007]  V7.3.2:
    Tertris: Fixed size 7 where it thought there were more polyiamonds.
    Constants changed.
    Added 3D look to frame.
    Pause now checked to see if score should be added like Java version.
    Windows error for changing plainPiece.
  [Nov 27, 2007]  V7.3.1:
    Sound updates.
    Updated action codes and synchronized Java and C code.
    Various small changes.
  [Feb 23, 2007]  V7.3:
    Html no longer corrupted.
    reverseVideo update.
  [Jan 08, 2007]  V7.2.5:
    New bump.au sound, db lowered, and bumpdat.au removed, thanks to
      http://audacity.sourceforge.net to help clean the sound up.
  [Dec 12, 2006]  V7.2.4:
    Now use http://netpbm.sourceforge.net to generate images from xpm.
  [Nov 23, 2006]  V7.2.3:
    Fixed level and fill bounding problems.
  [Jul 21, 2006]  V7.2.2:
    Fixed assorted memory leaks and uninitialized memory access reads.
    hextris: fixed a core dump on Linux.
  [May 05, 2006]  V7.2.1:
    Fixed slider goof.
    Added pause key '|'.
    MS Window fix for tetris and welltris: fixed Plain Piece toggle
    welltris:
      Corner split neighbor aware, ie. when split by a corner have end
        pieces join up, the result is a more of a rubbery effect.
      Implemented 2nd order neighbor awareness on sides of well, it used to
        use a 4 bit algorithm now its at 16 just like the bottom of well.
  [Apr 01, 2006]  V7.2:
    Made usage string compatible with versions of Motif and screen.
    More defensive code in case getlogin fails.
  [Nov 01, 2005]  V7.1.6:
    Level 20 slowdown fix
    MS Window fixes:
      show next in wrong window!
      plainPiece should redraw all
      fill 0-10 invisible
      changing columns on the fly
      # for grid does not blank (no grid on tetris)
    welltris:
      better graphics for pieces on the side of the well
      corners of well now sharper
  [Oct 05, 2005]  V7.1.5
    scoreFile and userName fixes
    scores fix
    Welltris gc error when inverting wall (last minute change... oops)
  [Sep 22, 2005]  V7.1.4 Xt/Motif/Windows version
    Much code rewritten.
    -version added
    Common option help for X and X-Motif
    pieceColor changed to borderColor, -frame added
    Top line cleared in checkLines
    Fill option added for welltris
    Simulate Xor walls in Windows for welltris
    Simulate Xor flashing in Windows for tertris and hextris
    Configure pieces to depend on neighbors for tertris and hextris,
      also when a row is deleted a reformat takes place
    Hextris made the edges softer in corners mode
    Hextris redraw all when transition from corners to no corners and
      vice-versa
  Some older versions (before syncing with xpuzzle numbering) used X
    (1.x), see individual README files of each package for a more
    complete listing.