Olympia Mapviewer

Olympia Mapviewer is graphical user interface tool, used for Olympia PBEM game related instances, openlly available to any player who wishes to use it.

Main features include a graphical representation of the game map using several views that range from political to other game related aspects. It allows report parsing as well as other data related functionalities like: Alliance management; Search game actions; Manage character stances; Garrison control and others.

The tool uses a custom developed data model stored in XML and contains a set of XML based export and import data fucntions, providing ways of sharing game related information in a non intrusive way.

The Mapviewer is developed using C# by Pedro Ribeiro (Halivon)

The underlying code is not publically available yet, but there are plans to make it so.

History
The first installment of the Mapviewer was developed in 1998 using Visual Basic, as far as it is known, it was used only by 2 players other than the author.

With the start of Olympia 3rd age, the author took on himself to rewrite the application, using some of the concepts but upgrading to another programming language building MapViewer2 (as in version 2) for the first time around October 2010.

The new version was used extensively by several players, and as one of the alliance support tools for Free Lords of Clearhaven (FLOC) during the third instalment of Olympia.

The tool has been adjusted to accommodate the 4th instalment of the game Olympia 4th age

TAG: The Age of Gods
Although not fully supported, the tool handles most of the basic The Age of Gods game format.

Linux versions
Several attempts to create Linux based version have been done with very few success levels, but the author has not yet given up on it.

Disclaimer
The author has included the following

Aknowledgements
Special thanks for helping testing and providing suggestions: @ Stefan (G3 - Jerrek Carnelian) @ Chris (G3 - Ferrous) Babcock (Linux MONO line testing) @ Jorge López (G3 - F. Peluche) @ Pedro (G3 - Viriatus) Almeida @ Tom (G3 - Bokor) Droeshout @ Stephen (G4Test and G4) Baillie

Retired contributors @ Alexandre (G3 - Zoni, Retired/Absent) @ Chris (G3 - Lady Velvet, Retired) Conley

Development log
V 2.08.0000/1 - Stripped decorative aspects of the code, contributing to reduced the executable signature size. - Added G4 template file

V 2.07.0001/2/3/4/5/6 - Added markers to user notes a) Activate markers using the "Show tooltip" function (options + icon)       b) Corrected bugs when parsing gates and circle of stones c) Corrected offworld window map functions for faery, hades and subworld       d) Corrected multiple bugs related to connector and locations display on map and offworld - Fixed "chamber" detection when they are found and before they apear in the terrain sections of the report e) Added data patch for special connectors available (automatic update on map loading)       f) Corrected the "sell" and "buy" market lines in the map view market option

V 2.07.0000 - Fixed the "date of last use" database ordering in the database load screen - Major revamp on the Map builder tool a) Added creation of Main map       b) Added creation of Faery map c) Added creation of Cloudlands map       d) Added creation of Hades map - Added concept of Regions in maps (groups continents per region) - Revamped the main screen menu a) The sub menu "manage" has been moved to the "tools" menu       b) The menu entry "about" has been moved to the top of the "Actions" menu - Added new functionality "pin" inner location type in the main map window a) Right click to access context menu and use Pin/Unpin to show ro hide selected inner location types

V 2.06.0006 - Added load and save functions to the combat simulator a) Using a text format, allowing anyone to build stack files manually       b) Fixed "chamber" parsing (these are special inner locations that share directions with provinces) b.I.) Expect holes in the underground map for these, while a final solution can be found

V 2.06.0001/2/3/4/5 - Separated the main map and turn builder windows threads, they can now live independently. a) Means you can now use the map viewer main window with the turn builder window active.       - Added "Uncontrolled units" to turn builder tool        - Added "non natural" storms to "view storms" map option        a) Ued to add orders for units you do not yet control - Fixed problem importing province data - Corrected handling of the turn builder when leaving the tool with unsaved changes - Turned on error handling that should help identify parts in the report where parsing breaks - Added ruller color to province editor (right click over a province to enable)

V 2.06.0000 - Added parsing of character events a) Skills learned       b) Troops trained and beasts produced c) Expenses paid       d) Surviving wounds e) Quests and other encounters       f) Change on loyalty bounds g) Garrison state change       h) Trade actions i) Vision and Scry atempts       - Added character event grid to data study (allow browse over events recorded)        - Added Vision/Scry listing to data tree        - Added keyword search on the province detail text box on main screen        a) Select a keyword (highlight) b) Click Right mouse button       c) Select "find in map" entry - Added patch entry for "ring of stones" to automatic patch apply in "Manage/Fix Base Data" - Added patch entry for "ring of stones" to "Manage/Data Center" on request - Corrected special connectors display (Ring of stones and gates) - Corrected minnor data display issues - Changed the way the information tabs apear in the info pannel according to the relevance of each item - Added new map type: Sea chater a) Shows port cities available       b) Shows last seen ships in provinces c) Hides other map details       - Added new map option: Weather (features to be added soon)        - Fixed a bug where the configuration settings would be lost from the settigns file        - Fixed the cleaning fo inner locations that no longer exist (raze or colapse)        a) NOTE to this last one: This is tricky, tested and hopefully will not cause data to become inconsistant with reports parsed

V 2.05.0000/0001 - Removed VB powerPack from setup dependencies as its not used anymore - Added clickable shortcut icons for map modes and actions - Added a map builder tool in the "Manage" menu (work in progress) a) Auto map generation (using land fill and distribution options)       b) Cities and location random generation c) Manual map update       - Added Character (Nobles) information option on "Tools" menu        - Added recent files form        - Added skills to the context help (F1 anywhere in the aplication)        a) Display your used file names ordered by your latest to your oldest b) New option on the actions\file menu       - Added manual data editing        a) Right click on the province intended b) NOTE: Proceed with extreme caution to avoid unexpected results       - Revamped the configuration file section        a) Now handles multiple faction owners in the map b) Changed the "last files" feature (moved out of the local settings and into the configuration settings file)       c) Prompts for last used files at the start of the application (optional selection) - Added new "save defaults" features to the entry (now in the "Tools" menu) a) Save application window size       b) Save application screen splitter position c) Save default zoom level       d) Save default map type e) Save map option defaults       - Added user notes        a) Stored in the local configuration file and never shared with anyone b) Notes are saved at "\Map\Owner Faction*\province" level       c) Reminder flag defines what can be set as a reminder when a map is loaded d) Added new map entry "Tools\User Notes" notes management functionality       - Added extra information on configuration entries for "last used" for future use        - Corrected multiple small issues with parsing and information on the display        - Corrected garrisons recording for TAG reports (not the same structure as G games)        - Corrected mine shaft view details for TAG maps        - Improved validations on the Turn builder module preventing it from breaking out in several circumstances        - Applied several small fixes to the combat simulator

V 2.04.0002/3 - Added recording of inner location per faction a) should result in showing "UNKNOWN" if the location is not yet discovered by the user faction       - Fixed a bug related to showing impassable passages from cities as open        - Fixed a bug related to showing incorrect details in the activity boxes        - Fixed a bugs when parsing TAG reports        a) Added recording of unknown continents b) Added recording of unknown Y coordinates       - Added new menu entry (actions\display options\show all stance units)        - Added new menu entry (actions\display options\show tooltips on mouse over province)        a) Will show short province summary of information when overing a known square - Added error handling to the report parser

V 2.04.0001 - Some bugs and inconsistencies fixed - Added expired market transactions information to Market pannel (over 30 turns)

V 2.04.0000 (minnor release) - Changed mountain terrain texture (clearer image) - Added context (Items, skills, characters, locations) colour coding on the information boxes a) Province information box       b) Location information box c) Market information box       d) All activity boxes

V 2.03.0000 (major release) - Added G2 menu entry (place holder for now, still no map available) - Corrected some bugs related to function calls before opening a database - Added find and center map tool (sign icon next to zoom tool bellow the main map) a) Finds provinces and centers map around       b) Finds locations and centers map around c) Finds inner locations and centers map around       - Added turn builder tool (Tools\Turn Builder)        d) Basic location identification and free order constructor by entity e) Permits order editing and saving to file       f) Allows order validation (still restricted to a few commands) - (Skip version 2.02.5009::release became obsolete) g) Offworlds :: Shows nobles with/without stance defined for the last turn updated          i) Garrison entities are excluded for higher clarity ii) Shows nobles with stance definition (Red:hostile stance)          iii) Shows nobles with stance definition (Green:friendly stance) iv) Shows nobles with stance definition (Yellow:neutra stance)          v) Shows nobles with stance definition (Blue:no stance) h) All tabs across the solution placed horizontally for OS compatibility reasons               i) Added Report parser log (Tools\Report parser log) - Only reports parsed after this version wil leb recorded

V 2.02.5008 - Adjusted activity center to report more lines around found events when showing results found - Added display option to display units with defined stance a) For last turn loaded (current facts)       b) For the latest turn reported on the province (last heard of) - Added action history description boxes to the province and location panels a) Reports previous turns actions for all factions known       - Added resizing splitters to the province and location info panels        - Added Cartoon(ish) graphics map type        - Added turn number used to fill information to the location "seen here" sections       V 2.02.5007        - Added Character Stance managing tool to the Tools menu        a) Shows nobles with no stance definition for the last turn updated in the province (Blue:undefined stance) i) Garrison entities are excluded for higher clarity       b) Shows nobles with stance definition (Red:hostile stance) c) Shows nobles with stance definition (Green:friendly stance)       c) Shows nobles with stance definition (Yellow:neutral stance) - Enabled copy (right click) of selected data entry from the data treeview V 2.02.5004/5/6 - Added "White Cross" drawing for province where a temple exists inside a city (location) - Added main map right click option to center miniMap on the selected province - Added castle directory tab to the garrison stock control screen - Added main form resizing and splitting support for the main screen a) allow minimize and maximize as well as free resizing          - Added "Save screen default size" option to the actions\file menu, saves default size settings        b) Smaller minimap with improved clarity - Corrected a query bug in the "Garrison log" tree section of the Data Manarer tab - Corrected clearing of razed locations extended to data import functions

V 2.02.5003 - Fixed a bug related with parsing province activity information (point of view of the garrison) - Fixed parsing of province info to record proper barriers and impassable connections - Correct some inconsistencies of the routes leaving section when clicking in a province - Made test primes form available from Tools menu (one prime example added, other will follow)

V 2.02.5002 - Small bugs and corrections a) related to the export and import functions       b) related to the province and location description boxes d) Garrison stock control now ignores duplicate entries for a given month based on the owner faction info       - Added new connection "Faery access" related to a location available in 2 provinces at the same time        - Added combat simulator (WIP)        - Extended province, location and inner location scrying parsing

V 2.02.5001 - Fixed and extended "Data manager" tab a) Added factions e-mail view       b) Entries with data problems - Added G3 Map in the tools menu (Tools\G3 Map) showing a continent overview - Added direct control to Province/Garrison stock tool from a province in the main map (right click menu) - Fixed several issues with province and location details window a) Units seen inside structures now respect order and identation       b) Units inside ships are properly displayed - Added export option for activity restricted to last turn only - Improved borders map (helps keep track of history) a) Garrisons info updated on the last turn apear as painted squares       b) Garrisons info from old turns apear as painted triangles with black trim c) Garrisons info regarding old ruler information apear as painted triangles with black trim      V 2.02.5000 (Major Version)        - As requested, Reduced screen size to fit lower resolution screens

V 2.02.4003 - Fixed identification of inner locations in progress - Fixed section "Seen Here" to include units inside inner locations

V 2.02.4002 - Fixed display info for several functions a) Hades, underground and faery       b) Offer to sell and buy rare goods by the default city trader

V 2.02.4001 - Fixed market transaction information to exclude characters selling

V 2.02.4000 - Added rare items market connections map option a) Actions\Display Options\Show rare goods in markets       1. Assuming latest turn at market buying for routes	        b) Rare goods selling and for sale c) Trade routes running       d) New market summary text box in legend area

V 2.02.3000 - Added text format for province extended info export method a) Released the excel macro tool at this time         1. Export provinces with inner, loc or special connection info only          2. Export template based RGB colors        - Added garrison stock manager tool        a) Shows transactions received and taken from garrisons - Fixed bug with duplication of special connections from recent turns

V 2.02.2005 - Added Civilization map (color coded for scales of civilization levels) - Corrected bugs in the province control (ruller) export functions - Corrected bugs in the data import tool for ruller information

V 2.02.2004 - Added parsing of Scry locations (cities) - Fixed "out of bounds" bug with import data (new location types)

V 2.02.2003 (minnor revision) - Added "Chamber" loc type

V 2.02.2002 (minnor revision) - Added "Secret pass" connection type

V 2.02.2001 (minnor revision) - Reduced screen size to fit smaller screen resolutions

V 2.02.2000 (Hades milestone revision) - Updated the quest location list to match the new G3 rules - Added new inner locations a) "Circle of stones" (yet to confirm if it maps to ring of stones)       b) "Circle of trees" c) "Faery hill"       - Fixed parsing of inner locations inside locations        a) Directions "up" and "down" - Fixed import of data to consider connections a) "up"       b) "down" - Added connection type a) "underground"       - Fixed continent parsing info        - Improved alternative worlds map

V 2.02.1000 (Major revision) - MONO version for Linux branched out of (2.01.1008/9) - Added data center - Added new display option (Actions\Display Options) a) Quest locations       - Added connection from current province (new icons on province description)        a) Paths up (Faery + Cloudlands) b) Paths down (hades + undercity)       - Reworked province control and inferred Garrison control history        - Added "seen here" section to the parsing        - Added "seen here" section to the activity center        - Added "seen here" section to the province and location info boxes        - Added new filter option to the Activity center        a) Include "seen here" sections - Added error handling on several functions

V 2.01.1007 - Added travel time to inner locations - Added "Select all" right click menu to the parse text box to allow copy to clipboard - Removed report saving into the database a) Included patch to correct Skills parsed from reports (Data options menu)

V 2.01.1006 - Added display options (Actions\Display Options) a) Nothing to display       b) Noble positions (requires setting owner faction in config section) c) City positions       d) Unvisited land (based on not having civ information) - Corrected defect related to importing data with proprierties missing a) Provices without continent info       b) Inner locations where province info is unknown (caves and sewers) - Changed activity center to show all entries for the same day of the selection

V 2.01.1004-5 - Added tooltips to continent map a) continent names       b) Continent land statistics - Added castles and cities icons to continent map - Added garrison structues and log of actions taken with garrisons - Added border control map type (Actions\Menu) - Added PRG map type (Actions\Menu) - Added Color surface map type (Actions\Menu) - Changed geographic map type to use terrain texture - Corrected bugs and broken functionalities in version 2.01.1003 a) Character information parsing       b) Local and Inner Local information parsed - fixed a problem with the release of the screen after loading a previsously saved map - Implemented data cleaning procedures a) Inner locations razed, collapsed or that simply disapear are removed if no longer show on the report       b) valid only for Castles, Inns, Temples, Towers and Mines

V 2.01.1003 - Corrected export data to include geo info correctly - Corrected import data to handle new market items correctly - Improved useability for the HTML map generated

V 2.01.1002 - Removed continent placer info from the Geographic export definition - Added skills directory to the data tree - Added parsing support to "Old Road" connections to inner locals + description boxes - Added parsing support to "Secret passage" connections to provinces + description boxes - Extended data model to include multiple up/down connections from one province - Added connections up/down to the province and location description boxes - Added data directories to the data tree a) Inner locations by type/continent       b) Locals by type/continent c) Items being sold on locals/turn       d) Skills being taught by local/continent - Added parsing province control and ruller support - Added Castle control directory - Added model for garrisons (not being displayed yet)

V 2.01.1001 - Corrected defects related the activity list a) When multiple entries from multiple factions is available       B) when the keys for province/location is 0 (first parsed)

V 2.01.1000 - Performed a slight menu and graphics revamp - Added continent place holders in the map and applied it to: a) Mini map       b) Main Map c) Exported HTML format file       d) Export data (Geography option) - Introduced the concept of map type (Actions\Menu) a) Geographic       b) Continent - Replaced Component MACTrackBar with a built in MS track bar (one less dependency) - Corrected a bug parsing runored city for provinces not yet parsed - Added option to the parser to treat special reports with 1 extra line per good line - Completed parsing of nobel skill information - Corrected several bugs related to parsing - Tests performed: Executed the parsing of 320 G2 reports, several issues detected, mostly related to inconsistencies of the report (extra lines, lines breaking sooner          than they should leading to incomplete information)

V 2.01.0000 - Corrected issues with XML local and language settings - Corrected issues related to importing data from previsous version - Corrected parsing of Market info - Corrected incorrect use of constrains - Extended database to include all faction properties a) Noble points available         b) Fast study Days remaining c) Next nobles to form       - Extended database to include all Noble properties          a) Banner b) Breakpoint, Combat and Health          c) Location d) Loyalty          e) Current and Max aura f) Pledged to and by         g) Stacked h) Vision imunity         i) Concealing self status - Rearranged data tree for consistency purposes a) Reflect database structures         b) Distinguish the owner faction and character from the remaining data - Activated 2 test methods for help (chm format at the moment) a) Pressing help icon (control box) and pressing the main map         b) Pressing help icon and pressing the mini map

V 2.00.5014 - Corrected issues with special characters in parsed strings - Corrected issues found due to the framework change from OleDB to XML based - Added save database to other sources of information, i.e. Import Data

V 2.00.5013 - Major revamp to remove OleDB dependencies in the tool

V 2.00.5012 - New Mapviewer database version 1.3 - Added history checking on parsing (retains most up-to-date report info) - Added activity detected on the click info pannels a) In provinces         b) In locals c) In inner locations       - Added save picture snapshot (right menu click on map to save visible map)                - Added progress bar step-by-step on report parsing        - Added HTML map export facility (visible map)        - Added Activity center to allow global search        - Corrected issues related to the import and export features          a) export is intended to include the visible part of the map only - Corrected faction and noble parsing for multiple reports

V 2.00.5011 - Added Local Market information to the local description - Separated saving of reports from parsing a) User can choose not to save report       - Added a visual mark to the inner locations inside provinces         - Added a special visual mark to temples inside provinces         - Changed map drawing to a more persistent method        - Corrected issues with routes Down and Up          a) From and into provinces b) From and into inner locations       - Added common config support (Actions\Config)        - Added parsing of inner locals hidden property        - Corrected province impassable property        - Added multiple files parsing support

V 2.00.5001 - Added Map Data Import/Export options a) Geography only (Provinces, Locals and inner locals)         b) Geography and factions (as above plus faction and nobles information) c) Markets (Provinces, Locals, Inner Locals and Market information)       - Corrected several parsing special cases        - Added error handling to load map functions        - Extended Data tree tab (Nobles and Units)        - Added Template database for 2002/3 office        - Changed lists into multiline text boxes (allows copy data)        - Changed once again the most recent file list        - Changed version and revision numbers to the format "9.99.9999"       V 2.00.4        - Corrected routes leaving province information        - Split inner locations between 'fixed' and ships        - Added known local information for provinces [unknown]        - Corrected a click province bug when data is inconsistent        - Added underground and hades support             a) requires database terrain refresh b) requires database available cells[Y] refresh       - Corrected parsing locals and inner locals        - Corrected parsing 'routes leaving' section of the report       V 2.00.3        - Added new players information        - Added Inner location information        - Added Data view section        - Added config file support       V 2.00.2        - Added report parser functions        - Added province information        - Added routes leaving information        - Added location information        - Added location skill information        - Added nobles section to the data manager       V 2.00.1        - Added map viewer functions        - Added database handling functions        - Added mini map (zoom)