ftp.nice.ch/Attic/openStep/games/SokoSave.1.1.mw.s.tgz#/SokoSave/OPENSTEP-HISTORY.txt

This is OPENSTEP-HISTORY.txt in view mode; [Download] [Up]

//-----------------------------------------------------------------------------
// SokoSave OPENSTEP HISTORY
// $Id: OPENSTEP-HISTORY.txt,v 1.1 97/12/10 07:19:56 sunshine Exp $
//-----------------------------------------------------------------------------
Release:
1.1, v10.1, next-ftp.peak.org, 12/10/1997 (including 1.1 for NextStep)

*** RELEASE 1.1 ***
v10.1 12/10/1997 06:40 EST sunshine
    Ported SokoSave v10 for NEXTSTEP 3.3 to OPENSTEP 4.1 & 4.2 for Mach,
	OPENSTEP 4.2 for NT, and Rhapsody Developer Release (RDR) for Mach
	and NT.
    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
	NSSlider 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: 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 NSOpenPanel.  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, and after
	the truncation, this assertion was no longer valid.
    Added a Rhapsody-specific main menu.
    Added a Windows-specific main menu.
    Under Windows, the automatic launching of the "default" maze is no longer
	deferred.  This was incompatible with the Windows UI where an
	application must have at least one window on-screen on account of the
	fact that the main menu is attached to the window rather than stand-
	alone.  The automatic launch is still deferred on the other platforms.
    Under Windows, had to account for failure to load the "default" maze 
	since this would leave the application dangling without a window 
	on-screen.  Now, if the "default" maze fails to load, then it tries 
	loading maze #1.  If that fails, then it presents the user with an 
	open panel from which they can choose a new game or a saved game.  If 
	the user aborts the open panel, or if the chosen game fails to load, 
	then the application terminates.  
    Under Windows, PSadjustcursor() had no effect.  This is used by the 
	click-crate-to-move feature to move the mouse pointer along with the 
	crate.  Apparently PSadjustcursor() is a no-op under Windows.  Ended 
	up having to make native Windows calls in order to emulate this 
	behavior.  Unfortunately the Objective-C++ compiler can *not* import 
	Windows header files without barfing up hundreds of errors, so I had 
	to move the mouse-positioning code into its own Objective-C file, 
	SokoMouse.m.
    Under Windows, the Scores panel incorrectly contained an application menu.
    Under Windows, the information panel was not displaying the application
	icon.  I fixed this by explicitly using the name "SokoSave" for the
	image rather than "NSApplicationIcon".
    Under Windows, SokoFile's mkdirs() couldn't properly handle Universal 
	Naming Convention (UNC) paths (of the form \\wowbagger\sunshine).  
	Had to rewrite it to visit the directories bottom-up rather than 
	top-down.  
    SokoBoard now implements -validateMenuItem: to properly enable and disable
	the Undo, Redo, and Save menu items.
    SokoApp now implements -validateMenuItem: to properly enable and disable
	the Save All menu item.
    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.
    Preference panel now saves its position.
    Worked around OPENSTEP 4.1 & 4.2 makefile bugs.  SRCFILES didn't include
	any of the C++ sources.  OFILES didn't include any of the C++ object
	files.
    Unified the color depth of all the LargeArrow tiffs.  Gave them all
	transparency rather than having opaque light-gray backgrounds so that
	they look correct on all platforms.  (Not all platforms use light-gray
	as the background for the button.)  Also they look better this way
	when disabled.
    Removed an unnecesary #include <assert.h> from SokoEncode.cc.
    The README files are now included in the application wrapper.

    Changed Files:
    - Help
    * LargeArrow{Down|Left|Right|Up}.tiff
    * LargeArrowDown{Left|Right}.tiff
    * LargeArrowUp{Left|Right}.tiff
    * Makefile
    * Makefile.{preamble|postamble}
    * pack.sh
    - PB.gdbinit
    * PB.project
    - README
    + README_{OPENSTEP|RHAPSODY}
    * README_ABOUT_SOURCE_CODE
    * SokoApp.{h|M}
    * SokoBoard.{h|M|nib}
    * SokoDefs.h
    * SokoEncode.cc
    * SokoFiles.{h|M}
    * SokoInfo.{h|M|nib}
    * SokoMatrix.{h|M}
    + SokoMouse.{h|m} (yes 'm', not 'M')
    * SokoPref.{h|M|nib}
    + SokoSave.ico
    * SokoSave.iconheader
    * SokoSave.nib
    + SokoSave-{macintosh|windows}.nib
    > SokoSave_main.M --> SokoSave_main.m
    * SokoSave_main.m
    * SokoScore.{h|M|nib}
    - SokoUtil.{h|cc}

These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.