==============================================================================
Changes in v3.56
Updated version (3.56) and build number (8501) for production release.
==============================================================================
Changes in v3.55
A handful of Alt-A bugs were reported in the newsgroup. Among those fixed:
* Monsters no longer enter "force - any" tiles.
* Monsters no longer enter clone block tiles.
==============================================================================
Changes in v3.54
A problem was reported where CHIPEDIT crashed when it encountered a
level with invalid data in its map section.
When tiles are read from an encoded source, such as when the level is
initially decoded upon entry to the level, or when the level is decoded
from the paste buffer, it checks to make sure that tiles are valid (in the
range 0 to 0x6F).
* If "check" is enabled, an error is reported. This may or may not
be an error with the editor.
* THE TILE IS CHANGED TO 0x70, even if the file is "read only".
* THE MODIFIIED FLAG IS NOT SET.
* THE CODE "0xFF" is permitted in certain contexts as the indicator
for a repeated sequence of tiles.
When a tile is encoded from the map to an encoded source, such as
happens when you exit to a new level or cut or copy a map section to
the clipboard, the same check occurs.
When information is displayed in the "info" window about the tile
underneath the mouse, the top and bottom tiles are checked and an
error is reported if "check" is enabled. The map is not changed,
but the tile will be displayed as "0x70" in the info window.
If CHIPEDIT reads a corrupted file, or receives corrupted data from
the clipboard, it is possible that the file generated by a SAVE operation
will be corrupt.
I am interested in knowing if CHIPEDIT itself "generates" invalid tiles.
That is, if a sequence of operations starting with "Create New Level
File" and which does not involve pasting clipboard data provided by
external sources, please report such sequence of steps. Clipboard
operations between CHIPEDIT (even in different processes) should work
and can be reported. Clipboard operations between other programs
SHOULD work provided that the data posted to the clipboard is valid.
Please make sure you report the version of CHIPEDIT and your operating
system.
Versions of CHIPEDIT prior to 3.28 contain a known bug which can
generate tiles which would raise this error.
==============================================================================
Changes in v3.53
If the LEVEL value read from CHIPEDIT.INI exceeded the number of levels
in the file name given by CHIPEDIT.INI, debug versions of the program
would "assert". This has been fixed so that in these situations, the
editor simply jumps to the last level, or "level 0" if the data file
has no levels.
When the user presses the mouse button in the map window and lets it go
out of the map window, the map window doesn't get the event. When the
mouse returns to the map window, "repeatable" tiles will continue to be
placed. This has been changed. When the mouse moves, no tile will be
placed if the mouse button is up. The mouse down event must occur
within the map window.
==============================================================================
Changes in v3.52
It was possible (1 out of 32768 times) to generate a password character
which is invalid, resulting in a program "ASSERT" in debug versions and
in an unusable password in release versions. This has been fixed.
Added the option parameter MAX_LEVELS, which replaces the fixed MAX_LEVELS
limit. Users can create level sets with more than 256 levels. The default
is 999, which is the maximum value which CHIPS.EXE can display in the level
window. CHIPS.EXE seems capable of handling more levels ignoring the
3-digit level window display issue. The value read from the ini file
is unchecked.
Added the option parameter TILE_IMAGE, which is not implemented.
The file read routine was altered to provide an error message describing
read failures; callers have been modified to include the message in
error dialogs they post as a result of read failures.
==============================================================================
Changes in v3.51
When a map section is pasted to a section of the map which extends beyond
the "end of the world", any monsters or connections to tiles which are
"clipped" are still added to the movable monsters or the button connection
lists. This has been fixed. Now, when pasting, any monsters which are
"clipped" will not be added to the movable monster list. If one or both
parts of a clone or trap connection are clipped, the entry will not be
added to the button lists. This bug goes all the way back to version
3.00.
If the editor reads a file in which there are connections or monsters
outside the valid range, these entries are *NOT* removed. I'm not sure
if I should add a warning about it, or an option to strip these entries,
but I am against having the editor make "corrections". While it is
probably safer than having the editor "correct" invalid top/bottom tile
combinations by removing them, it could ultimately be discovered that
this capability exposes unique functionality in the game
It IS possible to "correct" levels which contain invalid connections or
monsters by selecting the entire level and choosing "cut" (or copy).
Delete the level and insert a new level. Then paste the clipboard level
on the new level. The invalid monsters or connections will not be
added to the lists of the empty level set.
==============================================================================
Changes in v3.29 (released following beta testing as 3.5)
Right mouse button down causes tile preview: Info window shows clicked tile,
but on right button up or any mouse movement, the info window is restored.
Done in lieu of tile tags, which (for now) seem a bit of a pain.
Apparent interaction between CHECK option and Last Piece placement SHOULD
be taken care of. (i.e., a right-button down click does not bring up a
dialog.) A right click between a trap and trap button placement does not
interfere with linkage. Notation made as a reminder for future changes.
==============================================================================
Changes in v3.28
Added confirm dialog to REVERT if the CONFIRM_REVERT is 1 (it is by
default; see below). REVERT will pop up a dialog asking the user to
confirm the operation.
Added CONFIRM_REVERT option to .ini file. It defaults to 1, meaning
that "REVERT" will pop up a dialog. If 0, REVERT will just do it
without asking.
If the last change is undone, UNDO is disabled.
If UNDO is used to UNDO a REVERT, REVERT is re-enabled. REVERT
itself is undo-able. Previously UNDO was undo-able, but this
was inadvertently changed by the implementation of other changes.
Now, the change is acknowledged and (at least for the time being)
shall be deemed to be "correct behavior".
Closed a hole which extends the clickable portion of the palette
window below the actual palette, making it possible to enter tiles
beyond the valid range into the grid.
==============================================================================
Changes in v3.26 (released as 3.27)
Added Monster Order dialog. A bit rudimentary, but it should close
a gap in functionality. Opens a listbox highlighting monsters;
selected item highlights on map, can move it up or down in monster
list. Should be undoable. Help not written, not enabled.
==============================================================================
Changes in v3.25
Fixed spelling of option; now BKGPALETTE.
BKG* and SIGNATURE options are now written to .ini file in hex.
==============================================================================
Changes in v3.24 (5618)
*** IMPORTANT: Compiled with VC6.0 - may not work with Windows 3.1
Modified Properties dialog to display number of chips available on
the current level.
Option CHECK added to .ini file. Default is 1, 0 disabled check.
Added due to user request.
Option SIGNATURE added to .ini file. Regardless of how they are read,
all data files written by the editor will start with the 4 bytes specified
in SIGNATURE. THIS INCLUDES FILES WRITTEN FOR PLAYTESTING. Emulators
are being written which may modify their behavior depending on the signature.
The default signature is 0x0002AAAC, the only one CHIPS.EXE will accept. If
CHIPS.EXE sees a different signature, it will report "Corrupt or inaccessible
CHIPS.DAT". SIGNATURE can be specified in hex starting with 0x.
Renamed some tiles according to the help file, per suggestion from the CC
newsgroup (Dale Bryan, Anders K). Some liberty has been taken to keep the
names short, since the area in which the name must fit is small. The
original names were modified from Greg Heier's description of how to
decode the level file; despite departing from those names I still think
it is a remarkable work (and in some cases the name is an improvement).
(For those interested in decoding the level file, Richard Field still
has a version on his site.)
SWITCH - OPEN => TOGGLE - CLOSED
SWITCH - CLOSED => TOGGLE - OPEN
These two were inadvertently reversed. They will make sense now. (This
really was a bug; my intent was the same as what everyone else thinks
is "normal".)
GHOST => GLIDER
FROG => TEETH
DUMBBELL => WALKER
CENTIPEDE => PARAMECIUM
FLAME => FIREBALL
DROWN CHIP => SPLASH
FORCE - ANY => FORCE - RANDOM
BLOCKED -
=> PANEL -
INV WALL-STAY => INV WALL
INV WALL-SEE => HIDDEN WALL
BLUE => FLOOR => 'FAKE' WALL
BLUE => WALL => 'REAL' WALL
PASS ONCE => RECESSED WALL
NOT USED (0x20) => ! Don't ask me what it does.
I have chosen to retain the following names despite a (reasonable) suggestion
for a different name:
PASS ONCE instead of RECESSED WALL, since it more clearly cues the
level designer as to its effect on the maze
THIEF instead of SPY, since I think it is a more accurate
description
DOOR TOGGLE instead of TOGGLE BUTTON. Although the toggles are not
called doors in any of the documentation, I chose
to keep the name for Level 24 ("OORTO GELD"), named
for its feature, "DOOR TOGGLE" (placing the "D" on
the end - don't know whether GLED morphed to
GELD inadvertently or for pronouncability).
Added MAXIMIZE and MAXIMIZE_ALWAYS options to the .ini file. MAXIMIZE is
the remembered state of the ChipEdit window - full screen or normal. The
editor will attempt to restart in the state it was when it last exitted.
MAXIMIZE_ALWAYS will cause the editor to always start maximized regardless
or the state the editor last exitted. Both values default to 0. MAXIMIZE
will be written to the .ini file if the window is maximized. Users who
wish the editor to start in full screen mode must manually add (and remove)
the option from CHIPEDIT.INI using the editor of their choice.
==============================================================================
Changes in v3.23
Added .ini file options and implemented them (not documented yet):
PALWIDTH - specifies the width of the palette/info window. Not slidable,
though I received a suggestion and think its a good idea. Units is pixels.
Added due to user request.
BKGMAP, BKGINFO, BKGPALLETTE - specifies the background color for these
windows. Specify as an "RGB" color value, that is 8 bits for Blue,
then 8 bits for Green, then 8 bits for Red. Easiest to specify in HEX using
C syntax, that is, 0x00112233 specifies HEX 11 for Blue, HEX 22 for Green,
and HEX 33 for RED. Range is 00 to FF. The defaults are the same as they
used to be. (0x0000FF for the map window, RED).
Alas for those trying to figure it out, the number is written back to
the ini file in decimal.
I received an e-mail complaining about the choice of RED, and it was
always intended to be configurable; now it is. It is not settable
from within the editor. Common colors (full shade):
WHITE: 0x00FFFFFF
RED: 0x000000FF
BLUE: 0x00FF0000
YELLOW: 0x0000FFFF
PURPLE: 0x00FF00FF
GREEN: 0x0000FF00
PINK: 0x008080FF
< NOTE: Change records for intervening versions were lost. The changes
dealt primarily with improvements to monster animation. >
==============================================================================
Changes in v3.12
Added options for .INI file for testing
MOVE_MS - the number of milliseconds for a "standard" move
SPEED_FRAC - the number of moves a monster makes on ice or a force floor
for each "standard" move
Code relies on the fact that buttons cannot effectively be placed on or
under ice or force floors, because there cannot be a button, force floor
or ice, and a monster all on the same square. With checking disabled,
you can try to do this, but the game engine will probably not handle it
the way you like.
==============================================================================
Changes in v3.11 (1822)
Animated monsters can pass over keys and the hint square. I checked;
monsters will not pass over the tools (flipper, skate, etc.) or the
thief.
Implemented frog monster movement; favors moving toward Chip as fast as
possible; favors vertical over horizontal movement in case of a "tie".
Known discrepancies in animation:
* If a monster starts in a given direction on a force floor of a different
direction, the monster direction "wins" on the first move. i.e., a South
facing roller will be able to get off an east-facing force floor if the
south exit is unblocked. The editor applies force-floor rules to the
first movement.
* If a monster starts on a force floor and its exit direction is blocked,
its first movement will be according to the monster-movement rules rather
than the force-floor movement rules. i.e., a west-facing shark on a
west-facing force floor whose exit is blocked, would normally not be able
to move. The game engine exits the shark to the south (left turn, i.e.,
normal shark movement) although after the first move the shark would be
"stuck".
* The special timings of force floors, ice fields, and some special points
such as teleports is not implemented.
==============================================================================
Changes in v3.10
The backspace key (or Ctrl/H) now removes the tile(s) under the cursor,
replacing them with floor. Multiple such replacements are grouped and
can be undone as though they were one change. Help has not yet been
completed for the new feature.
UNDO is no longer enabled when you first enter a level.
The page up/page down vertical scroll feature of the map window used
the horizontal window size to determine the adjustment, resulting in
odd scrolling behavior if the map window was not square. The other
scrolling mechanisms in vertical scrolling worked properly. This
has been corrected; scrolling behavior SHOULD scroll one "screenful"
minus one line. i.e., on a scroll down, the bottom line will normally
become the top line; this "overlap" is intended to provide a visual cue
to your relative movement. (Thanks for your persistence, Don.)
Scrolling *generally* snaps the map so that the top left corner is on
a square corner boundary. Situations where this does not happen is
when you scroll to right or bottom edge, or where the map window is
smaller than one tile in width or height.
Tiles "Gravel" and "Dirt" can be buried, so that Chip may be placed
on top of them to start.
==============================================================================
Changes in v3.03
Added prompt for certain accelerators missing from the menus.
Added missing accelerators to the Help file
"About" in version 3.02 reported 3.00(1726).
Most recent change did not survive Playtest for Undo.
Added information about teleports to the FAQ.
==============================================================================
Changes in v3.02
Certain tile checks were incorrect. In particular, the editor would not
permit you to:
* bury the exit square
* bury the floor tiles which is blocked "SE".
* bury blue floor tiles
* bury water tiles
* bury ice tiles
* conceal non-floor tiles under Chip.
You could work around this by turning off CHECK, but the Information Window
still reported these combinations as "INVALID".
Extension .DAT defaulted in File/Open and File/Save dialog. The
Open/Save dialog handles the error without ending if an invalid path
is specified.
Alt-P accelerator was fixed to invoke Playtest.
==============================================================================
Changes in v3.01
Corrected Options menu item listing: '1' and '2' were reversed. To preserve
order of numbers, menu items were also switched.
"Cancel" in the Confirm/Lose Changes dialog (which appears during an Exit,
Open, or New when the current file has been changed) caused the current level
to be erased due to an interaction with code under development. This has
been fixed.
==============================================================================
Changes in v3.00
Added Scroll bars to the Map Window.
Added Scroll bars to the Palette Window and permit dynamic rescaling
with '(' and ')'. (No, I didn't add Scroll bars to the Info window!)
Added items to the Edit menu:
Renamed UNDO to REVERT: Still reverts to the way the level was when it was
last entered and it still has the same restrictions.
Added UNDO; most of the ways a level can be changed provide for a copy of
the level to be saved as editted before the change is made; UNDO restores
the level to the saved copy. UNDO only works 1 back 1 step; multiple UNDO
is not supported. The following operations can be undone: tile placement
(single mouse click or mouse sweep count as one placement); Connect,
Disconnect, Cut Map Section, Paste Map Section, Erase, Fill, Properties.
Undo, Order, New Level, Delete Levels, Cut This Level, Cut Multiple Levels,
and Paste Levels cannot be undone.
Added SELECT to select a map section for Cut, Copy, Erase, and Fill
Implemented CUT to cut a map section selected with SELECT. Moving monsters
and trap and clone machine connections completely contained within a selection
are included in the CUT. CUT tiles are replaced with empty floor tiles.
Implemented COPY identical to CUT except selected tiles are not replaced with
empty floor.
Added CLEAR to replace tiles in a map section, selected with SELECT, with
empty floor tiles.
Added FILL to replace tiles in a map section, selected with SELECT, with the
currently selected tile.
Added Cut This Level to copy the entire level to the clipboard and delete it.
Added Copy This Level to copy the entire level to the clipboard.
Added Cut Levels to raise a dialog with a listbox of all the levels (similar
to order). Multiple levels can be selected; all the levels are posted to the
clipboard and then they are deleted.
Added Copy Levels identical to Cut Levels except the levels are not deleted.
Added Paste. Paste is enabled either when the clipboard contains a map
section (Paste Map Section) or one or more complete levels (Paste Levels).
The various Cut and Paste operations and Erase and Fill are disabled when
the file is READONLY.
.INI file option CB_NEWPASS=0 to paste levels without changing the password.
Changed some accelerators so ^C (formerly Connect), ^X (formerly Exit), and
^V conform to Copy/Cut/Paste of other Windows applications; Connect changed
to Alt-C and Disconnect to Alt-D.
CHIPEDIT no longer disables Help for Windows. A Win32S help engine is
available off the Internet; search for "PW1118.EXE". The HTM file will
no longer be released with CHIPEDIT.
Modified map window display further: a bitmap is maintained the same size
as the map window, to which redraw operations are performed. Then the
backup bitmap is rendered to the map window in one fell swoop - this
makes the redraw appear more smooth.
Corrected the spelling of PALETTE throughout the code; the PALETTE_SCALE
option is now (correctly) spelled PALETTE_SCALE.
Added Select All and Unselect All buttons to the Select Levels dialog.
Process the system CLOSE messages so that clicking on the X, selecting Close
from the system menu, or pressing Alt-F4 will raise a dialog allowing you to
save changes before exitting.
==============================================================================
Changes in v2.25 (not released)
New and Delete level menu items now affect the changed flag; if you
exit after using these options you will be prompted to save unsaved
changes.
Fixed color printing. (For those who are interested, the problem was that
while a black-and-white bitmap is compatible with most printers, the bitmap
used to draw on a color printer must be created by (to be compatible with)
the printer (device context). All printing (color and BW) will not work if
the printer's device driver does not support StretchBlt (as reported by
Windows' GetDeviceCaps function).
Fixed a scaling problem: at larger scales, if the Top Left Corner was
away from 0, 0, then when you scale down the top left corner doesn't change
and even though the map fits, the same few squares are displayed even though
there may be plenty of room for the whole map. Now, as you reduce scale,
the top left corner is moved if there is room for more squares.
Modified tile display algorithms to substantially reduce overhead; this
is not noticeable in screen printing but made a dramatic difference in
color printing at higher resolutions.
==============================================================================
Changes in v2.24
Removed piece number from information window, since some vital piece
information (monster direction) doesn't fit. Need to revisit this
with a smaller or selectable font.
Allowed CHIP - X (where X is any direction) to be placed on the map
without error checking disabled. One CHIP of any direction is required,
but it turns out that a piece other than CHIP - S can be used to start a
level.
Fixed two bugs in Summary generation: The title of the dialog box is
"Summary" instead of "Save As", and the summary subroutine no longer
clears the Changed flag (as it shouldn't). Unfortunately, this was
found by someone who inadvertently clicked SUMMARY instead of SAVE AS.
Since the CHANGED flag was cleared the editor allowed the user to exit
without having saved his data file.
Lowered the default Autosave count from 1000 to 100.
==============================================================================
Changes in v2.23
Some of the tile names had incorrect directional suffixes. Fixed force field
and clone movable block names.
Information window displays (current) hex piece number as well as piece name.
Hex piece number corresponds to position in palette grid. With the new piece
dialog it's not terribly useful to most users, but may at the very least help
catch additional piece name errors.
If a filename was specified on the command line, and the filename included
either a "\" or ":" character (drive or path specifier), then CHIPEDIT.INI
would not be able to find the .INI file. This has been fixed. (Use
GetModuleFileName instead of GetCommandLine.)
==============================================================================
Changes in v2.22
If neither CHIPSEXE_FILE nor OS was specified in the CHIPEDIT.INI file, then
the default value for CHIPSEXE_FILE was computed before the operating system
was established. This caused a program assertion to fail, so that CHIPEDIT
would start with an "abort/retry/ignore" dialog. The error was ignorable, but
this has now been fixed.
Used SHELLEXECUTE to start Playtest session in Windows 3.1.
Renamed Chip Editor menu from CHIPMENU to CHIPEDITMENU.
==============================================================================
Changes in v2.21
Disabled BACKUP after first playtest.
If ENTPKINI_BACKUP starts with other than A: or B:, do not prompt for
a floppy in Drive A.
Fixed sense of PLAYTEST_WARN test in Playtest() function; it was
reversed.
==============================================================================
Changes in v2.20
After discovering that "_spawnl" does not work on Windows 3.1, it was
changed back to "_system". Then it was discovered that "system"
doesn't "wait" for the Chip's Challenge game to end before the
Playtest routine resumes, restoring ENTPACK.INI and risking user data
loss.
The following was added:
* OS - parameter to specify an operating system, so different code
paths could be specified (WinNT works, why make it worse for the
user?)
* ENTPKINI_BACKUP - file to back ENTPACK.INI to
* Menu options to explicitly create and restore a backup of
ENTPACK.INI * Moved Playtest to same Menu Bar menu as these options
* Require backup on Win95 and Win3.1. Let user restore prior to exit.
* Use _system to spawn test process on Win95, _spawnl on Win3.1 and
WinNT.
* PLAYTEST_WARN defined to defeat warnings. Someone doing a lot of
playtesting (like ME, during testing) will not want to see the
warnings every time, if they know they have a good backup.
==============================================================================
Changes in v2.10
If CHIPEDIT.INI does not set CHIPSEXE_FILE, it automatically searches
for C:\WEP, D:\WEP, and E:\WEP in that order upon startup. If
CHIPEDIT.INI does not set ENTPKINI_FILE, it automatically searches
%SystemRoot%. Assumed values are not saved. Users who accept
standard setup parameters when installing software need not set up
playtesting.
Debug version no longer automatically opens CHIPEDIT.LOG on startup;
waits until first write, in case there are none.
Fixed bug generating name of .INI file from 2.02.
Used _spawnl instead of system RTL function to invoke Chip's
Challenge subprocess during playtest. This gets rid of the
unnecessary DOS box which system generates to "type" the Chip's
command.
CHIPSEXE_FILE is a required CHIPEDIT.INI file parameter. It
specifies where CHIPS.EXE lives. It is no longer necessary to copy
CHIPS.EXE (or the WEP Utility DLLs) to the Playtest directory.
Now that the editor uses %TEMP%, the editor will overwrite CHIPS.DAT
without warning. If the user installed the Windows Entertainment
Pack in his %TEMP% directory then losing CHIPS.DAT will be the least
of his problems. HOWEVER: The editor does currently delete CHIPS.DAT
from the temporary directory when it is done. It could leave it in
case the user fails to save his changes; or, leaving stuff in the
temp directory is considered bad programming practice. There are
enough safeguards in place that the user's changes are not likely to
be lost unless he wants them to.
PLAYTEST_DIR is now obsolete. The previous change left the temporary
copy of CHIPS.DAT as the sole file in the Playtest directory, so it
is simply saved in the directory referred to by the environment
variable %TEMP%. This is a system variable, but if it is not
specified then %TMP% is used. If %TMP% is not specified then
Playtesting will fail.
If PLAYTEST_DIR is specified, an informational message appears
alerting the user that PLAYTEST_DIR is being removed from the .INI
file (it will simply not be written when the editor exits). The user
may delete the directory if he created a temporary playtest directory
for a previous version.
Instead of raising a fatal error, Playtest will ask the user if it
may overwrite a CHIPS.DAT or ENTPACK.CED file it has found. The
default is NO (the safer reply); but the user can choose YES and
allow playtest to continue.
==============================================================================
Changes in v2.02
.INI file read from CHIPEDIT.EXE directory rather than working directory.
==============================================================================
Changes in v2.01
Added HELP buttons to the dialogs. (HELP button not seen in NT 3.51,
not sure about Win95). On all platforms, F1 now works to bring up
context-specific help.
==============================================================================
Changes in v2.00
Dialog to allow you to re-arrange levels. Includes Insert Level,
Delete Level, and Properties, as well as Clone and Renumber. You can
back out of ALL changes made during the Order dialog with Escape -
including those made in the Properties subdialog. [7]
Make RENUMBER adjust level names of the form "Level ###" to correspond
to the actual number of the level.
Properties dialog: Generate random passwords for new levels. [37]
Added documentation of .INI file switches to the help file.
File Menu: Generate summary files. [36]
File Menu: NEW prompts for a number of new levels to create. [4]
Properties dialog: Generate LEVEL ## names for new levels. [38]
Open File: Read READONLY attribute from file [30]
Piece Dialog: The Select Piece dialog would not permit you to set a
piece number higher than the current level. The Set Scale dialog
behaved the same way. Alternative methods to adjust these values did
exist. These problems have been fixed. The Select Piece dialog has,
however, been superseded by a dialog which allows you to select a
piece by name. [31]
Piece Dialog: Displays selected piece bitmap along with name in dialog.
Open/Save File: Added status checks to I/O operations in Open and Save
routines. Previously the only type of file read or save error had
been a bad file name or directory. [32]
An error message is generated when a file read or file save fails. [33]
Level Menu: The Level Menu options are grayed:
1) NEW is grayed when there are MAX_LEVELS (currently 256) levels present
2) DELETE is grayed when there are 0 levels present
3) NEXT is grayed when the current level is the last level (unchanged)
4) PREV is grayed when the current level is the first level (unchanged)
5) GOTO is grayed when there is less than 2 levels.
6) PROPERTIES is grayed when there are 0 levels present.
7) ORDER is always enabled (since you can create levels in this dialog
8) PLAYTEST is enabled when there is at least 1 level.
[34]
.INI File: The readonly status of a file is now saved in the .INI file.
If the file is protected (has read permission but not write permission)
it will be treated as read-only but this status will not be recorded
in the .INI file. If a file is specified on the command line it is
assumed to be writable. [39]
Levels Menu: The PLAYTEST feature was written. [41]
File Menu: The SAVE menu item is grayed (disabled) when a file is
READONLY. The SAVE AS option can still be used. [35]
The SAVE AS dialog has a readonly option which is ignored. When
SAVE AS is used, the readonly status of the file is changed to the
value of the check box in the SAVE AS dialog. SAVE AS can be used
to save a read only file to a new file name, thereby enabling
edits. [40]
NEW:
Implemented autosave.
The current piece is saved in the .INI file.
Options Menu: Added READONLY to the options menu, allowing you to
begin (or stop) changing a read-only file. The SAVE menu item is
disabled while a read-only file edit is in progress, even if the user
unchecks the read-only menu item. This forces the user to use SAVE AS
to specify a filename.
Dialogs (general): Added HELP buttons to most of the dialogs.
Exit: SAVE AS dialog appears if the file was marked READ ONLY and you
choose YES when, on exit, the dialog to Save Changes appears. If you
cancel from that dialog or if the SAVE fails, you do not exit.
Properties dialog: Implemented NEW (Password) button.
Properties/Order dialogs: Disabled OK for read-only files.
There is currently no way to add a level after the last level. [15]
If an editting session is ended while viewing a read-only file, the
next session will start with the same file but it will not be marked
as read-only. [6]
READONLY attribute is not working on level menu options.
RENUMBER button in order dialog should only be enabled when changes
have been made since the last renumber. Properties changes do not
enable RENUMBER because it does not change the order of the underlying
levels. [28]
==============================================================================
Changes in v1.04
Fixed crash when a monster was replaced on a level with >64 monsters. [42]
Reset limits for monsters to 255/2, traps to 255/10, and clones to 255/8,
the architectural limits of the data file. Limits were 128 for each, this
caused ASSERT and corrupt data files. [43]
==============================================================================
Changes in v1.03
The release version no longer creates a file called CHIPEDIT.LOG. [27]
The information window is now updated when accelerators or keystroke-
mouse commands were used to change levels. (i.e., a mouse movement
event did not occur). [26]
DELETE_LEVEL caused an assert if you tried to delete a level after all
the levels had been deleted. If you tried again it crashed. For now,
DELETE_LEVEL will not operate if there are 0 levels; in the future
DELETE_LEVEL will be disabled when there are 0 levels and INSERT_LEVEL
will be disabled when there are MAX_LEVELS (currently 256 - I have not
investigated what the game engine does with a dat file with more than
150 levels.) [23]
When an .INI file containing a filename with embedded spaces was read
(i.e., "C:\My Documents\Chips.Dat"), it truncated the filename at the
space character and would not open the file. Then, when CHIPEDIT exitted,
it wrote a new .INI file with "C:\My" as the filename. This has been
fixed. [5]
The "Print To File" checkbox in the Print dialog had no effect.
It has been fixed so that the system will prompt you to for a filename
(i.e., fixed rather than disabled). [21]
The information window is now updated when a Connect is completed. [25]
The caption of the SELECT PIECE dialog was corrected. [19]
Labelled the current coordinates and added Top Left Corner to the Info
display. Also, the current piece has a text label for its name. The
arrangement of the items was adjusted to accomodate the new fields. [22]
Added an option PALLETTE_SCALE to the .INI file configuration items, and
a corresponding field to the options structure. The Information Window
will print the bitmap to this scale; users can set the value down if
the image will not fit on their screen. [20]
When "-" is used to shrink the scale, previous versions left remnants
of the larger scale bitmap when the map shrunk so that its bottom or
right edge fit within the map window. This has been fixed. [18]
==============================================================================
Changes in v1.02
The editor now writes CHIPEDIT.INI to the initial working directory
(working directory at program start), even if the actual working
directory changes due to activity in the Windows Open File or Save
File dialogs. [16]
The editor does not read filenames with embedded space characters
from CHIPEDIT.INI. [5?]
Added filters (*.dat, *.*) to the Open and Save File dialogs. [14]
The arrow keys now are repeatable. [process keydown messages
instead of keyup messages for arrow keys]. [8]
When scrolling occurs, the current coordinates displayed in the
info window are now updated to reflect the fact that the map has moved
underneath the mouse. This also happens when the scale is changed with
'+' and '-'. [13]
The password edit control converts all characters to uppercase
as they are typed. This should avoid assertions for entering lower
case letters. Deleted code for fix for bug 10. [11]
The Properties dialog does not accept titles or hints longer than
255 characters. You will not be able to press OK if the hint or title
is too long. Note that these limits are absolute limits due to the
layout of the data file; the practical limits are actually much lower. [12]
The command line was not being read properly. Now when a file
name is specified on the command line, it is accepted and the filename
and level specified in the CHIPEDIT.INI file is ignored. [14]
The password edit control converts all characters to uppercase
when the dialog is dismissed with OK. [10]
Thanks to Brandon Kirsch and Steven Renich for their help catching the
bugs in the early released. Steven has also submitted suggestions
for future improvements.
==============================================================================
Changes in v1.01
The about box identifies the version number, so that (with more
than one version now floating around) I can identify whether a problem
has been fixed or go back to a particular version to confirm a
problem. [1]
The "current piece" remains displayed in the information window even
when the mouse is not over a map tile.
FILE/NEW now automatically creates the first level for you. [4]
There was a problem with FILE/NEW and FILE/OPEN in that it
disabled the menu commands which make changes when the file was
write-enabled and enabled the menu commands when the file was
read-only. For changing existing files, you could save the file and
re-start, since CHIPEDIT reloads the file you last worked on but does
not restore the READONLY bit. The menu commands are now correctly
grayed when a file is read-only; the read-only bit is still not
restored when a session is restarted. (It's nice to have a workaround
when one is necessary.) [3]
The sequence of steps to connect a trap button to a trap was not
working after the trap button was selected. [2]
The Piece menu commands have been assigned keyboard accelerators:
Connect=CTRL-C, Disconnect=CTRL-D, Select Tile=CTRL-T.