in Work - Older Versions

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]

  • First public release