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
andPosition.ProvinceData
classes - Province class API changes
- Improved
Path.getMinPath()
algorithm Phase
class API changes to supportYearType
YearType
class added toPhase
(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 formatdip.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
, akaCoast.TOUCHING
) added Coast.TOUCHING
(Coast.WING
) created automatically from adjacency graphCoast.TOUCHING
used for forPath.getMinPath()
andProvince.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 definedRuleOptions
- 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 toJudgeOrderParser
dip.order.Orderable
interface createddip.order.Order
implementsOrderable
interfaceOrder
subclasses have better method abstraction- renamed
Order
methodgetSourceUnit()
togetSourceUnitType()
dip.gui.order
package created for GUI Order input and order drawingOrderFactory
is now a true Factory. All orders must be created through anOrderFactory
.OrderParser
now performsOrder
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
andMap.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 systemGUI 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]
- First public release
PREVIOUSVersion 1.0