Copyright 1997, Paul McCarthy. HISTORY.txt Release: 1.1, v10, next-ftp.peak.org, 12/10/1997 (including 1.1 for OpenStep & Rhapsody) 1.0, v09, next-ftp.peak.org, 11/13/1997 ------- HISTORY ------------------ *** RELEASE 1.1 *** v10 Wed Dec 10 04:16:43 EST 1997 sunshine Fixed wording in info panel: "brings up panel" --> "brings up a panel". Added "Feedback" section to info panel. Fixed wording on main menu: "Games" --> "Game". Fixed bug: "Save As..." menu item was malformatted as "SaveAs...". Fixed bug: +[SokoBoard nextMaze] was neglecting to call -makeKeyWindow: after opening the maze on behalf of SokoApp. Fixed bug: "New Score" panel allowed resizing in both dimensions even though it only makes sense to resize horizontally. Fixed bug: When opening a saved game with a deferred game window, the Slider didn't get drawn. SokoBoard was incorrectly & unnecessarily calling -sizeToFit on the slider. For some reason on deferred windows this has the side-effect of setting the slider's frame size to (0,0). Fixed bug: SokoBoard was freeing the shared Save Panel. Fixed bug: New and Open panels failed to restrict allowed types to .sokomaze and .sokosave, respectively. The problem was that they were using the inherited -setRequiredFileType: method which seems to be ineffectual in OpenPanel. They now specify the types explicitly via -runModalForDirectory:file:types:. Fixed bug: Opening a saved game with no history resulted in a "corrupt moves/pushes" error message. The problem was that an earlier fscanf() format string was eating the blank line which represented the empty history in the save-file. Fixed bug: When opening a saved game with no history, was calling malloc(0). Fixed bug: Opening a saved game could report "corrupt recorded values" in the following case: 1) solve and save game, 2) undo two or more times, 3) make a move which is *not* in the history, 4) save game, 5) close game, 6) re-open game. The problem was that at step 3, the history was truncated. Yet the load function was asserting that the "recorded" moves & pushes were less than the history-length; but after the truncation, this assertion was no longer valid. The preference panel now has a field to allow resetting the Level. The Cancel button on the preference panel now reverts the fields to their saved values. The Okay button on the preference panel now dismisses the panel. The preference panel now gets marked dirty when edits are made and prompts the user if dirty and the window's close button is pressed. Added option to preference panel to allow user to toggle automatic saving of game when it's solved. Preferences panel now saves its position on-screen. Removed an unnecesary #include from SokoEncode.cc. The README file is now included in the application wrapper. Removed the "Insert Entry Here" items from the Help index. Folded in Pawl's new SCORES file. Changed Files: * Makefile * PB.project * README * README_ABOUT_SOURCE_CODE * SCORES * SokoApp.M * SokoBoard.{h|M|nib} * SokoDefs.h * SokoEncode.cc * SokoInfo.nib * SokoPref.{h|M|nib} * SokoSave.nib * SokoScore.{M|nib} *** RELEASE 1.0 *** v9 Thu Nov 13 03:09:40 EST 1997 zarnuk Grabbed virgin makefiles. New default save directory: ~/Library/SokoSave Fixed bug: table scroll was not resized when a new entry was added. Changed Files: * Makefile.{pre|post}amble * SokoBoard.M * SokoDefs.h * SokoFiles.{h|M} * SokoInfo.nib * SokoScore.M + trim_scores.sh v8 Tue Nov 4 01:28:15 EST 1997 zarnuk Suppresses "next" maze when launched with a file. Reset save file version to "1". Added keyboard interface. Shuffled order of images in some tiff files so that they all print with the monochrome versions. Apparently, Previewer.app, or whatever software is involved in the pipeline was choosing the first image in the file, instead of using the standard rules to choose the best image. Changed Files: * FILE_SYNTAX.txt * SokoApp.M * SokoBoard.{h|M|nib} * SokoMatrix.M * CrateSafe.tiff * Player.tiff - Lightning.tiff v7 Mon Nov 3 00:41:14 EST 1997 zarnuk Made SCORE file parsing and user-input handling more robust. No longer screws up the file if the user enters spaces, tabs, newlines in the name and notes fields on the new score panel. Fixed springy-ness, min size on NewScore panel. Reduced min size on Scores window. Now saves/restores table scroll defaults. Now writes the SCORES file in sorted order. Made the Moves and Pushes columns right-aligned. Added a small border around the table scroll. Implemented printing for info, boards and scores. Changed Files: * SokoBoard.M * SokoInfo.{h|M|nib} * SokoSave.nib * SokoScore.{M|nib} * FILE_SYNTAX.txt v6 Sun Nov 2 17:31:24 EST 1997 zarnuk New SCORES file layout. Now uses table-scroll This also fixes bug with old scores file compaction code. Scores are no longer trimmed at all. Plugged memory leak in -[SokoBoard free]. Fixed bug: Save As... when the history was empty used to crash. Changed Files: * Makefile * PB.project * SokoBoard.M * SokoEncode.cc * SokoFiles.{M|h} * SokoScore.{h|M|nib} v5 Sun Nov 2 00:11:31 EST 1997 zarnuk Implemented open-file stuff. Now catches powerOff to save defaults when user logs out while app is running. Consolidated the code for the diagonal movement. Updated copyright notices: *.[chmM]* Switching to C++... *.m --> *.M *.c --> *.cc Now stores compressed maze in save file. Now uses collapsed filenames with save files. Changed Files: * SokoApp.{h|M} * SokoBoard.{h|M} * SokoFiles.{cc|h} * SokoUtil.{cc|h} v4 Wed Oct 29 12:51:20 EST 1997 zarnuk Touched up the info nib a little. Implemented work-around for the AppKit window positioning bug. Changed Files: + FILE_SYNTAX.txt * Makefile * PB.project * SokoBoard.{h|m} * SokoInfo.{m|nib} > SokoUtil.c --> SokoUtil.cc * SokoUtil.{cc|h} v3 Wed Oct 29 03:15:19 EST 1997 zarnuk More scores. Documented right mouse button. Added standard NeXT help. Displays the version on the info panel. Changed Files: - English.lproj/SokoSave.nib * Save/SCORES * SokoInfo.{h|m|nib} + SokoMerge.cc v2 Tue Oct 28 23:27:49 EST 1997 zarnuk Changed Files: * Makefile * PB.project v1 Mar 22 1994 Changed Files: * SokoApp.{h|m} * SokoBoard.{h|m} * SokoEncode.{c|h} * SokoFiles.m * SokoInfo.{h|m} * SokoMatrix.h * SokoPref.{h|m} * SokoPref.m * SokoScore.{h|m} * SokoUtil.c v0 Mar 12 1994