2021-11-15 - 3.0 RC1 (2.99.0)
~~~~~~~~~~
Features:
  * CC2Edit: Add buttons for adding/moving/deleting individual layers in the
    Tile Inspector (Thanks @TheGLander).
  * CC2Edit: Add additional tiles for multi-direction wire tunnels to the
    tile picker widgets.
  * CC2Edit: Show the .c2g filename in addition to the name set by its script.
  * CC2Edit: Allow ',' and '.' keys to also cycle through Glyphs, to match
    CC2's built-in editor.
  * CC2Edit: When drawing glyph tiles, the keyboard can be used to pick a
    glyph value directly (this matches CC2's built-in editor).
  * CC2Edit: Add syntax highlighting for [COM] sections in the Notes field.
  * CCEdit: Add support for an Author field as field ID 9.  This matches the
    implementation already used in SuperCC and Lexy's Labyrinth.
  * CCEdit: Support reading and writing tile id 0xFF (255).

Bugfixes:
  * CC2Edit/CCEdit: Fix tileset scale setting being ignored when switching
    tilesets within the application.
  * CC2Edit/CCEdit: Fix tab widgets incorrectly rendering '&' characters as
    keyboard shortcuts.
  * CC2Edit: Drawing with a normal floor tile now pops the top layer instead
    of replacing the whole tile (this matches CCEdit's behavior).
  * CC2Edit: Don't erase clue text when drawing over clue tiles.
  * CC2Edit: Fix issue with rendering blocks under (X-rayed) canopies.
  * CC2Edit: Further improve tile layer render order, to fix some incorrectly
    drawn combinations from previous builds.
  * CC2Edit: Fix missing '_' from the Glyph tiles in both tile selectors.
  * CC2Edit: Improve default layer combination/replacement logic to avoid some
    invalid combinations and allow some valid ones which were previously
    disallowed in the default drawing mode.
  * CC2Edit: Fix regression when replacing a non-wired tile with a wire tunnel.
  * CC2Edit: Properly validate file headers before trying to load the rest
    of its content.
  * CCEdit: Fix some valid tile combos being rendered as invalid (Thanks
    @TheGLander).
  * CCEdit: Fix monster path visualization incorrectly treating boots as
    non-blocking tiles.
  * CCEdit: Support reading fields 1 (alternate time limit), 2 (alternate
    chip counter), and 8 (plain text password) from CC1 data files.
  * Tilesets: Fix incorrect Teeth graphic in CC2 tileset.
  * Windows Installer: Optionally allow associating CCEdit with .dat files.


2020-12-21 - 3.0 BETA 3 (2.97.0)
~~~~~~~~~~
Features:
  * CC2Edit/CCEdit: Add playtest support for Lexy's Labyrinth
  * CC2Edit/CCEdit: Add menu items for 150% and 200% zoom.
  * CC2Edit/CCEdit: Add a global tileset scale option (original or 2X) to the
    tileset menu for high DPI displays.
  * CC2Edit/CCEdit: Add a Rectangle drawing tool.
  * CC2Edit/CCEdit: Use a custom cursor when modal tools (button connector,
    tile inspector, hint editor, wire tool) are active.
  * CC2Edit/CCEdit: Change Ctrl+W to close only the current tab, and remap
    "Close levelset" / "Close game" to Ctrl+Shift+W.
  * CC2Edit/CCEdit: Add a Recent Files list to the File menu.  Somehow this
    got missed in the original rewrite from 1.x to 2.0...

Tilesets:
  * Add a 48x48 TileWorld tileset
  * Add a 32x32 Lexy's Labyrinth tileset (Thanks @eevee!)
  * Extend the WEP tileset with CC2 (CC2Edit) support

Bugfixes:
  * CC2Edit: Always combine thin walls and canopies with existing tiles.
    (previously, CC2Edit would only combine with non-terrain tiles).
  * CC2Edit: Don't erase wires when replacing a wired tile with another
    wire-able tile (e.g. floor -> steel wall).
  * CC2Edit: Fix playtesting compatibility with old (1.x) versions of CC2.
  * CC2Edit: Fix for mobs unable to move when starting on train tracks.
  * CC2Edit: Copying and pasting hint tiles now also copies and pastes the
    associated hint texts from the Note field.
  * CCEdit: Mark keys and boots on top of elemental tiles (ice, fire, force
    floors, water) as invalid, and don't combine them automatically.
  * CCHack: Don't export section padding bytes from bitmap resources.
  * CC2 Tileset: Use "CC1" chip label for CCEdit tileset variant.


2020-11-30 - 3.0 BETA 2 (2.96.0)
~~~~~~~~~~
Features
  * CC2Edit: Implement HTML Report generation.
  * CC2Edit: Add some advanced (non-standard) tiles to the tile selectors.
  * CC2Edit: Add hotkeys (',' and '.') for rotate actions.
  * CC2Edit: Implement monster path drawing.

Bugfixes
  * CC2Edit: Fix crash when modifying map properties.
  * CC2Edit: Don't keep showing the Save As dialog when saving new files after
    they have been saved the first time.
  * CC2Edit: Create the saves directory if it doesn't already exist when
    playtesting, instead of throwing an error and failing.
  * CC2Edit: Tiles are now rendered in the correct layer order to match CC2.
  * CC2Edit: Don't let x2 flags overflow in the point counter (large
    multipliers are now shown in exponential format instead).
  * CC2Edit: Fix the hint editor tool not correctly saving changes.
  * CC2Edit: Drawing and erasing hint tiles now correctly updates the NOTE
    field to keep hints in place.  Text before and after the hints in the
    NOTE field are also correctly preserved now.
  * CC2Edit: The "File->Exit" menu item actually works now...
  * CCEdit/CC2Edit: Don't show duplicate tilesets on Linux.
  * CCEdit: Additional fixes for monster path drawing on ice and force floors.
  * CCEdit/CCPlay: Fix relative .ini path in MSCC play(test)ing when using
    WineVDM.


2020-11-18 - 3.0 BETA 1 (2.95.0)
~~~~~~~~~~
New Tool: CC2Edit
  * Features:
    * Editing of maps (.c2m) and game scripts (.c2g) for Chip's Challenge 2
      (and the Steam version of CC1, which is based on the CC2 code base).
    * Playtesting of maps in Steam CC1 and CC2 (requires Steam to be running
      and logged in, due to restrictions in the game itself).
    * Many basic editing tools ported from CCEdit, including new features
      listed below.
    * Tile Inspector allows you to craft any combination of tiles, beyond
      those available via normal editing.  NOTE: Creating invalid tiles may
      cause unexpected behavior or crashes within the game.
    * Hint Inspector allows you to directly edit hint tiles without needing
      to count and manually modify the NOTE field.
    * Import (Lynx-compatible) levels from CC1 levelsets (.dat or .ccl).
      Imported levels can optionally be auto-resized to fit their content.
  * Still missing some key features; work ongoing to complete these before the
    final release of 3.0.
    * Drawing hint tiles doesn't update the hint order in the NOTE field.
      [FIXED: Beta 2]
    * Tile errors and monster paths are not currently rendered. [FIXED: Beta 2]
    * Tiles are not rendered in the same layer order as CC2 in some cases.
      [FIXED: Beta 2]
    * Teleport destination highlight doesn't respect wires yet. [GH #8]
    * HTML Report generation is not yet implemented. [FIXED: Beta 2]

CCEdit Changes:
  * It is now possible to playtest in MSCC from 64-bit Windows using WineVDM
    (https://github.com/otya128/winevdm).
  * Tab management is reworked for better usability (modeled after various
    code editors, such as vscode):
    - Loading a level already open in another tab will focus that tab, rather
      than opening a duplicate tab of the same level.
    - Opening a level not already open will open a "floating" tab (indicated
      with an italic title). This tab will be reused when switching to
      other levels not already open in a non-floating tab.
    - Making changes to a level, or double-clicking on the level or
      floating tab will cause the level to be opened in a non-floating
      mode, which means it will stay open until explicitly closed.
    - You can now middle-click anywhere on a tab to close it, in addition
      to the usual close button on the tab.
  * The Level Manager and the two Tiles pages now live in their own dockable
    widgets, and as such can be attached, detached, moved, and even hidden
    independently of each other.
  * Undo and Redo actions are now global to the entire levelset, not just
    the currently open level. This means you can undo changes even after
    closing a level's tab.
  * It is now possible to undo and redo changes to the levelset itself,
    such as adding/deleting/reordering levels and changing level properties.
  * Holding SHIFT (used for drawing directly on the lower layer) will now
    also reveal the lower layer by drawing the upper layer very faintly
    above it.
  * Copying a selection will now also copy a graphic of the selected tiles.
  * Add a flood-fill drawing tool.
  * Add a tile inspector tool, which can set any valid or invalid tile.
  * Fixed a crash when dragging levels in the Levelset Organizer dialog.
  * Fixed a crash when using Pedantic mode in the Error Checker.
  * Fixed a crash when rendering levels that have tiles outside of the
    normal 00-6f range.
  * Fix: Monster paths now consider tanks switching direction, and account
    for things that manipulate monster direction such as force floors and
    ice corners.
  * Fixed some minor issues with HTML report generation.
  * Fix: Level numbers are no longer incorrect in the Level Manager after
    deleting levels from the Levelset Organizer.
  * Fix: Drawing tools no longer get "stuck" when CCEdit loses focus while
    the mouse is pressed.

CCPlay Changes:
  * It is now possible to play in MSCC from 64-bit Windows using WineVDM
    (https://github.com/otya128/winevdm).
  * CCPlay can now launch arbitrary Java-based tools (assuming the java
    executable is in your system PATH). This enables better support for
    tools like SuperCC and CCCreator.
  * The "Edit" button in CCPlay is now renamed "Open", and the list of
    Editors in the settings is now a list of Tools, to more clearly
    indicate that it can be used for more than just editors.
  * Levelsets are now sorted case-insensitively.
  * Fix: Don't throw an error trying to read an invalid .dat file (e.g.
    the unins000.dat that various setup programs create).
  * Fix: CCPlay no longer crashes when failing to parse levelset data in
    some more exotic levelsets.
  * Fix: Opening tools with a specific level selected now actually works.
  * Fix: Level names are now correctly interpreted as Latin-1.

CCHack Changes:
  * CCHack is back -- ported to Qt5 with a completely new UI. This means
    it is now usable on non-Windows platforms without Wine.
  * Add support for applying and removing code patches:
    - Always grant First Try bonus
    - ccpatch (fixes crash related to two masked tiles in the same space)
    - fullsec (always enable full first second)
    - pgchips (adds ice block support)
  * Extend menu editing to cover full Menu (and Accelerator) resource
    editing / replacement, rather than just modifying strings.
  * Fix: CCHack properly updates the "real" and "fake" last levels in multiple
    places in the code, rather than just one check.
  * Fix: CCHack no longer pollutes your current working directory with
    extracted bitmaps every time you load an existing executable.
  * NOTE: CCHack 3.0 *should* be able to read CCHack 1.2 patches (.ccp files),
    but newly created patch files are are not backwards compatible with
    CCHack 1.2. This is intentional, since the old patch format was actually
    somewhat broken, and we now store replaced bitmaps directly in the patch
    as well for easier distribution.


2013-01-21 - 2.0.1 RELEASE (2.0.1)
~~~~~~~~~~
New Features
  * Package CCHack 1.2a with the Windows installer, since I haven't had time
    to work on CCHack 2.0 in a while.

Update 2020-07-10
  * Added a portable .zip file distribution for Windows for those who don't
    need/want the full installer.


2011-05-17 - 2.0 RELEASE (2.0.0)
~~~~~~~~~~
New Features
  * Mac version is now distributed as a .pkg file which puts the tilesets
    in a more standard/usable location.


2011-02-02 - 2.0 BETA 1 (1.99.0)
~~~~~~~~~~
New Features
  * Added Author info (from .ccx file) to CCPlay's GUI
  * Generate HTML reports in CCEdit
  * Add more error checking in the Check for Errors dialog
  * Show a visual marker for invalid tile combinations

Bugfixes
  * Updated auto layer placement logic to correctly handle most cases
  * Zoom factor wasn't getting set correctly after re-starting CCEdit


2010-12-12 - 2.0 ALPHA (1.94.0)
~~~~~~~~~~
New Features
  * Use specialized tile widget for "all tiles" view, so all tiles are shown
    at the same time, instead of in a list widget.
  * Fit-to-view zoom support
  * Drag-and-drop level organizer with level previews and level copy/paste
  * Show button / monster movement status in a tooltip on the editor
  * Extended auto-placement drawing mode (NOTE: For regular top/bottom layer
    drawing, use Ctrl+draw or Shift+draw respectively)

Bugfixes
  * Find more levelsets on case-sensitive filesystems
  * Don't prompt to save if a levelset hasn't been modified
  * Remember previous save/load dialog location


2010-11-12 - 2.0 ALPHA (1.93.0)
~~~~~~~~~~
New Features
  * Added monster path tracing
  * Added tool to toggle all green toggle floors/walls
  * Added a game-sized (9x9) box around the cursor
  * Error checking dialog for checking levels and levelsets for common
    design errors and compatibility (incomplete)
  * The button connector and path maker tools can now be toggled on/off like
    the selection tool

Bugfixes
  * Add names to toolbars in the toolbar context menu
  * Launch MSCC and TWorld asynchronously so they don't block the CCEdit
    GUI while playtesting
  * Fix rounding errors with mouse positioning when using zoom


2010-09-11 - 2.0 ALPHA (1.92.1)
~~~~~~~~~~
Bugfix release
  * Actually save hint text in CCEdit
  * Update current and highest level from MSCC in CCPlay
  * Switch to Cocoa build of Qt4 on OSX, so 64-bit Snow Leopard works.
    Note that this means Tiger is no longer supported though (except in source)


2010-09-08 - 2.0 ALPHA (1.92.0)
~~~~~~~~~~
CCPlay ALPHA released
  * New GUI (vs CCLM) -- shows list integrated with score info
  * Allows (unlimited) custom editors
  * Can extract TWorld scores as well as MSCC scores
  * Configurable MSCC hacks, including ignoring passwords and always granting
    First Try score bonuses.
  * Support for CCPatch and PGChips

New CCEdit Features
  * Zoom support in editor
  * Support for PGChip patching and the Ice Block tile


2010-08-13 - 2.0 ALPHA (1.91.0)
~~~~~~~~~~
New Features
  * Playtesting for MSCC, TWorld (MSCC) and TWorld (Lynx)
  * Use WINE to run MSCC on Linux / OSX / etc. platforms
  * Support 'make install' on source builds

Bugfix
  * Clicking the Select button/menu item would change the GUI state but
    would not actually exit select mode


2010-08-09 - 2.0 ALPHA (1.90.2)
~~~~~~~~~~
Bugfix release
  * Fix segfault when drawing outside level boundaries
  * Allow middle-click mouse selection (a la ChipW)
  * Only obey the first mouse button that was pressed if others are pressed
    while drawing


2010-08-07 - 2.0 ALPHA (1.90.1)
~~~~~~~~~~
Bugfix release
  * Fixed Mac OSX build to work with Leopard (and possibly Tiger)


2010-08-06 - 2.0 ALPHA (1.90.0)
~~~~~~~~~~
Initial ALPHA release of CCEdit 2.0
  * Everything CCEdit 1.2b could do EXCEPT level testing and zoom
  * Line and box draw modes
  * Native DAC file support (open/save it as a normal levelset, use levelset
    properties to modify)
  * Multiple tilesets (TWorld 32x32 and MSCC tilesets included)
