============================================================================== 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.