jDip version 0.95 [May 2003]
- New Features:
+ Drag-and-Drop can be used to enter orders (Colin Jacobs)
+ Edit mode improvements (Colin Jacobs)
+ Animate mode allows turn-by-turn animation of the map
+ Influence setting in View menu shows all occupied/last-occupied
provinces by power
+ Order format (e.g., abbreviations of provinces, coasts, etc.) can be
set and adjusted in Preferences
+ Help System added (F1 to get help generally, or about specific windows).
Note that Help text is not yet complete, and not all windows
have specific help.
+ New variants (with complete, detailed maps)
+ SailHo! Crowded
+ Hundred3.1 [H31]
+ Hundred3.2 [H32]
+ New variants (with very spartan grid-maps) added:
+ Asia
+ Modern (with and without Wing units)
+ A new type of unit, the Wing unit, is now optionally available for
any variant.
+ Games now saved as compressed XML, and incompatible with previous
versions (sorry!)
+ Improved order parsing
+ Some common misspellings added
+ Even more variations of orders are now legally accepted
+ improved command-line parsing and new command-line options (such
as enabling logging, getting the version, and setting the variant
plugin path)
+ Java Webstart is now supported
+ Waive orders are no longer supported.
+ Better support for Mac OS X-specific features, which have not yet
been tested. These may be disabled via the "-noosx" command
line parameter. Comments from Mac users are very much desired!
+ Save Game and Variant file format documentation
+ Started scattered localization in French.
- GUI changes / improvements:
+ "Reports" menu added; report items were previously under "View" menu.
+ Removed "Validate XML files" from preferences (could cause buggy behavior
when enabled); it is now a command-line option instead.
+ Improved text rendering quality in many places.
+ Improved error dialogs (text and formatting)
+ Shortcut changes (control R = resolve, control E = results)
+ New startup splash screen (Joeri Clayes)
- Bug Fixes:
+ Fixed: TestSuite now uses "variant" directory, so it actually works
+ Fixed: Remove orders drawn in wrong area
+ Fixed: Retreat orders drawn in wrong area
+ Fixed: No text displayed in game-end dialog
+ Fixed: Formatting and display issues in Status report
+ Fixed: Remove order results displayed negative units to remove
+ Fixed: View settings (e.g., Show Units) were not disabled during
map loading, and could result in an inconsistent menu / actual
drawing state if selected.
+ Fixed: If a required variant was missing, there was a program
error. Now, an informative error message is displayed.
+ Fixed: Handling of uncaught AWT exceptions, for easier end-user debugging
+ Fixed: 1898 now starts in Spring, 1898 with fixed positions
+ Fixed: SVG private XML namespace well-formedness issues
+ Fixed: If no move orders (or no units), adjudicator would emit paradox
messages (although no paradox existed).
+ Fixed: supply center for Portugal wasn't drawn on topological map
+ Fixed: Confusing error message about DefineState orders
+ Fixed: Creating a Dislodged unit on the first turn caused an exception
+ Fixed: Occasional display bugs when entering/exiting Highlight Unordered
units mode
- Core changes:
+ Multiple Performance enhancements to core adjudication routines,
for optimal speed in automated adjudicators. This results
in a 15-30% performance increase from version 0.85, the
previously fastest version. This release will now become
the new baseline performance release.
+ JUnit tests added for non-GUI code (Mike Rosseel)
+ Much faster Position class, and position class API changes
+ New field and changes to Position and Position.ProvinceData classes
+ Province class API changes
+ Improved Path.getMinPath() algorithm
+ Phase class API changes to support YearType
+ YearType class added to Phase (to support negative, or "BC", years)
+ Reduced adjudicator String creation
+ Improved API documentation
+ Assertions enabled in ANT "Run" target
+ dip.misc.Convert to help convert Judge files to jDip XML adjacency format
+ dip.misc.Log class can now log to a file in addition to stdout
+ jcmdline (jcmdline.sf.net) is now used to parse command line options
+ New Coast constant (Coast.WING, aka Coast.TOUCHING) added
+ Coast.TOUCHING (Coast.WING) created automatically from adjacency graph
+ Coast.TOUCHING used for for Path.getMinPath() and Province.isTouching()
+ New Unit.Type: WING
+ New validation tests added (wing.txt, 19 cases) for Wing units
+ New validation test harness for OrderParser created
+ Utils.SimpleFileFilter is now in its own class (dip.misc.SimpleFileFilter)
+ CSS stylesheets can be--and now are--used in JEditorPane instances
+ Many new ANT targets: webstart, test, performance, and junit targets
- Miscellaneous:
+ File-format incompatibility with all prevous versions. Games are now
saved as gzip compressed XML, instead of a proprietary binary format.
All future versions will also save files as compressed XML, and
cross-version compatibility should be considerably improved.
jDip version 0.90 [February 2003]
- New features:
+ Rudimentary order drawing!
+ Persistent Undo/Redo! All orders, edits, and resolves may be undone,
even across multiple saves.
+ Orders can now be hidden on a per-power basis
+ New view option: Highlight units without orders (not all maps support
this feature)
+ Small drags (< 5 pixels) are now interpreted as clicks; this
improves perceived responsiveness
+ Splash screen at startup
+ Support for convoyable coasts (used in Ancient Med variant)
+ Concept of 'borders' added, which can enhance/restrict/condition
orders and allow more variant support
+ Added 2 new variants: "Crowded 1898" and "Shift Around".
+ Support (using a non-topological grid map) for Ancient Med and Loeb9
variants. Note that Loeb9 is not fully supported in this release.
- GUI changes / improvements:
+ GUI order input now respects order checking options settings
This enables/disables real-time checking of order legality
+ GUI order input now respects convoyable coasts
+ GUI order input now has better checking of support orders
+ GUI order input now respects Borders (if applicable)
+ Improved text formatting in order list
+ Full internationalization support for status bar text
+ Faster open/save dialog performance
+ Custom cursor used for bad order input; now consistent across platforms
+ Filenames are suggested when saving and exporting
+ ESC key will always abort the GUI entry of an order
+ Improved ability to cancel orders with mouse
+ Improved order status and prompting in statusbar messages
+ Improved traditional map thumbnail image
+ Improved show/hide supply centers option
+ New error messsage indicating if there is a version incompatibility
when opening save game (.jdip) files.
+ Property table in Help|About now non-focusable
+ Game & Player info moved to View menu, and dialog made larger.
+ Standard variant is now the default in the New Game dialog
+ Multiple-Order input now properly handles pasted orders with (* *)
style Judge order notes
+ Status, Results, and Info dialogs now non-modal
+ Improved Results and Status dialog content formatting
+ Misc. dialog size adjustments
+ Renamed "Order Validation" to "Order Checking" in menus and dialogs
+ During render (drawing) events, the right-corner of the Status bar
will display "Rendering"
- Bug fixes:
+ Fixed: TestSuite was not using defined RuleOptions
+ Fixed: Armies occasionally had coastal destinations in the order list
+ Fixed: Orders are now rechecked when Order Checking Options have changed.
+ Fixed: Supply center / Order highlighting display bugs
+ Fixed: Game Web Address not being saved in Game & Player Info dialog
+ Fixed: Directories were not shown in Open & Save dialogs
+ Fixed: Most-recently-used file list bugs
+ Fixed: Accelerator/shortcut key issues
+ Fixed: Galicia not clickable on detailed Standard map
+ Fixed: Select All in some dialogs didn't always highlight
+ Fixed: Many scrolling bugs
- Core changes:
+ Private XML namespace added to variant SVG files for more
sensible customization
+ API Documentation improvements and updates
+ Build.xml "Clean" and "Install" targets added (Mike Rosseel).
"Install" target requires downloading the IzPack installer
+ DATC test case maps now are in a separate variant file (testVariants.zip)
+ Significant refactoring
- judge.parser.OrderParser renamed to JudgeOrderParser
- dip.order.Orderable interface created
- dip.order.Order implements Orderable interface
- Order subclasses have better method abstraction
- renamed Order method getSourceUnit() to getSourceUnitType()
- dip.gui.order package created for GUI Order input and order drawing
- OrderFactory is now a true Factory. All orders must be created
through an OrderFactory.
- OrderParser now performs Order parsing.
- Miscellaneous:
+ Test cases added for Ice variant (DATC secion 12)
+ Test cases added for Convoyable coasts (DATC section 13)
+ Test cases added for Chaos variant (DATC section 15)
+ Test cases added for 1898 variant (DATC section 16)
+ Saved games are not compatible with previous version (version 0.86).
+ Order drawing will continue to improve throughout subsequent versions,
both in style and in speed.
+ Difficult passable borders, used in some variants (e.g., Loeb9) are
not yet supported.
+ For those requiring rapid adjudication (no GUI), please note that
version 0.85 remains the baseline perfomance release. This version has an
approximately 7-8% performance deficit compared to version
0.85. Performance optimizations will be addressed in future versions.
jDip version 0.86 [November 2002]
- Core changes:
+ Tightened specs/implementation for Coast.normalize()
+ Parser can now accommodate power names with hyphens
+ Subtle i18n ResourceBundle loading bug fixed
+ Updated build.xml
+ StatusBar now has an optional ProgressBar
+ Significant changes to GUI classes for mode (e.g., edit, review) handling
+ RuleOptions serialization bug fix
- GUI changes / improvements:
+ "Revert" is now "Best Fit".
+ "Best Fit" to window automatically occurs when map is loaded
+ Map Info changed to Variant Info in menu
+ Improved text/layout in New Game dialog
+ Changing & loading maps no longer causes window resizing
+ Size of order-entry panel now constant
+ Convoyed-move validation option off by default
+ Progress Bar now shown when loading maps
+ Faster open/save file dialog performance
+ User is now clearly informed when victory conditions have been met
- Bug fixes:
+ Parser fix with coasts and hyphenated Move orders
+ Parenthetical coast parsing bug fix
+ Fixed two ^S menu options
+ Fixed Baltic Sea unit placement on Detailed map
+ Fixed bug with victory conditions during move phase
- New features:
+ New vector-based map ("Traditional") (Joe Campbell)
+ SailHo! (version 2) Variant added
+ Pure Variant added
+ Chaos Variant added
+ Rule Options tab in New Game dialog
+ "Build" Rule option (e.g., chaos rules, etc).
+ Rule options displayed in Variant info.
+ Dutch translation started (Mike Rosseel)
- Miscellaneous:
+ N/A
jDip version 0.85 [October 2002]
- Core changes:
+ Performance & style optimizations to non-GUI core classes
+ Added versioning to some classes which were forgotten about previously....
+ Considerable adjudicator/adjudicator core classes performance optimizations
+ Assertions now used in many core classes: enable assertions when debugging!
+ Tool plugin management via dip.tool package
+ Core changes in SVG DOM render classes
+ Simplified SVG Map format, especially positioning metadata
+ SVG metadata parsing code now simpler and more robust
+ SVG settings can allow supply centers symbols to change colors
with changed ownership
+ SVG maps can specify zoom amount and min/max zoom limits
+ Reorganized resources to better support internationalization
+ More internationalization support
+ Build.xml updates, auto-build of variant file packs. ANT 1.5 or
later is now required.
+ Variant packs may end with "Variant.zip" as well as "Variants.zip"
(and .jar or .zip is acceptable)
+ Added RuleOptions class to enable future rule options
- GUI changes / improvements:
+ View previous turn results menu shortcut is ^T
+ Improved Save Changes dialog
+ "Gentler" zoom/pan; now defaults to 20% increments
+ Topological map has improved simple units
+ Improved Topological Map layout
+ "Selected Orders Only" menu option removed from View
+ Considerably improved mouse support in GUI map
+ Scrollbars added to metadata notes
+ Improved status/ajudication result dialog titles
+ Adjustments and Dislodged units now reported in Turn Status summary
- Bug fixes:
+ Revalidate order menu shortcut is now ^D instead of ^R (conflicted with
Results menu item)
+ Fixed multiple-order-entry dialog result text message
+ Fixed debug text written to stdout for convoy orders entered via GUI
+ Fixed TestSuite memory leak
+ Fixed map XML validation issues
+ Fixed New Game dialog map selection thumbnail list and scrolling problems
+ Fixed il8n resource localization bugs
+ Fixed order entry bug using "->" for moves without whitespace before
the "->"
+ Fixed history-menu update bug post edit mode
+ Fixed all known adjudicator bugs
- New features:
+ TestSuite now supports variants.
+ Drag-and-Drop support: drag files (.jdip or judge files) to be opened
+ Plugin interface for add-on tools [that can do almost anything!]
now supported
+ Ability to change map view (View | Select Map) [if multiple maps are
available]
+ Key shortcuts for View and Order mode; (but not edit mode), when
mouse is over map
+ New Map: "Simple" Standard map [Vector based]
+ New Map: "Detailed" Standard map [Bitmap & Vector based]
- Miscellaneous:
+ Users that need rapid (tens of thousands of orders per second)
adjudication (for use in, say, developing computer "AI" opponents)
will see a tremendous performance improvement in this release.
+ Saved games from version 0.83 should be compatible with this release.
+ An early vector-based version of the SailHo! variant is now available
as a separate download
+ Targetted Future Features: Order Drawing, New Variants, Renderer
speed improvements
+ Only the Windows installer has been tested; please let me know how
the installer works on other platforms
jDip version 0.83 [September 2002]
- Core changes:
+ Revised core Undo/Redo support manager
+ il8n support of undo/redo menu text
+ New result type: TimeResult (a time-stamped, time-localized text
result message)
+ New result type: DislodgedResult (for creating dislodged results
w/defined retreat locations)
+ Changed how order resolution is flagged in TurnState
+ Batik 1.5b4b libraries included
+ Serializable object versioning added for *all* serialized objects
and subclasses
+ Updated code documentation in several places
+ Core Judge input parsing modules complete.
- GUI changes / improvements:
+ If a file in the most-recently-used file list does not exist,
it is now grayed out.
+ Dislodged checkbox in Edit mode now disabled if Supply center selected.
+ View Result menu item disabled when no adjudication results are available.
+ Order sorting buttons have an improved layout, and toggle indication.
+ Order list is now always sorted
+ Edit mode improved: better visual indication and revalidation of
orders with each edit
+ Edit/Review/Game End indicator now on status bar for less visual
disruption between modes
+ Edit mode: must first remove an existing unit before a new unit
can be placed in the same province
- Bug fixes:
+ 1898 variant XML configuration file fixed; now identical to Ken Lowe
judge 1898 variant.
+ Fixed XML variant parser bug involving supply center ownership/
home-power-ownership.
+ Adjudication during adjustment phase with no orders for any power
resulted in no result creation, and subsequent GUI confusion with
respect to resolution status
+ Fixed bug in Phase.java, leading to incorrect phase advancement
in saved games.
+ Fixed bug in Position.java leading to incorrect power elimination
+ Fixed bugs w/parsing in Coast.java and Map.java; Map.parseLocation()
is now more robust
+ Fixed rapid clicking in edit mode created improper/duplicate edits
+ Fixed World.java getPreviousTurnState() & getNextTurnState() bugs
+ Fixed subtle bug in Location.java and updated documentation
+ Fixed filename / gamename titlebar display bugs
- New features:
+ Support for reading Judge History files, and creating an entire
game and game history
+ Support for reading Judge Game Listing files (creates a starting phase)
+ Advanced Undo/Redo: all orders, edit mode changes, and adjudication
(order resolution) changes are undoable
+ Clear most-recently-used file list option in preferences.
+ "Save Copy As..." command added (saves game to another file, without
changing currently open file).
+ If a power does not use all available builds, unused builds are noted
in the adjustment adjudication results.
+ "View | Previous Turn Results" allows viewing adjudication results
from previous turn, if available.
+ Adjudication Complete timestamp now created
- Miscellaneous:
+ Saved games from 0.80 are not compatible. However, the file format
should now be stable and quite future-proof from this version on,
barring any major changes to the save game format. Older files will
be automagically upgraded when read in by future versions.
+ Mouse Clicking: if experiencing trouble registering mouse clicks, make
sure that the mouse is not moving (at all!) when clicking; all
moves-with-clicks are interpreted as a Drag and not a Click. An attempt
to fix this will be made in a future version. Drag-and-drop of units
may also be supported in a more distant future version.
jDip version 0.80 [August 2002]
- Core changes:
+ Improved XML Variant and Adjacency format
+ New Variant plugin system, that actually works
+ ANT build file included
+ Support for game Metadata
+ Batik 1.5b3 included
+ TestSuite uses new Variant plugin system
- GUI changes / improvements:
+ Larger status bar
+ Larger adjudication results window
+ Added Credits panel in About dialog
+ Adjudication results brought up by default
+ Menu cleanup
+ Game Name / Filename frame title display changes
+ System properties in About dialog are now sorted alphabetically
+ New Game dialog fixes/improvements
- Bug fixes:
+ Edit mode menu item remains checked if new game started/loaded while
in edit mode
+ Fixed unit placement for Galicia & Prussia on topological map
- New features:
+ Game/Player metadata editor (Edit | Game & Player Info...)
- Miscellaneous:
+ Started Judge History/Game information parsing; much code has
been written & tested; estimate this feature is 75-80% complete.
+ Adjudicator errors noticed; this is due to a code regression;
this will be remedied in the next release. The same error exists
in the released 0.75 version as well. This should only affect
adjudication in unusual situations.
+ WARNING: Old save games are not compatible with this version.
Save game format will freeze nearer to the 1.0 release.
Version 0.75 [June 2002]