Atlantis Little Helper
Contents:
Introduction
Installation and configuration
Unit properties
Features and Playing
Downloads and contacts
Inroduction
Atlantis Little Helper (ALH) is a client application for Atlantis PBEM
game. It is simple and it is intended to be as much compatible with
different varieties of Atlantis 4 as possible.
There were two design goals for ALH - simplicity and compatibility.
ALH is not overloaded with controls, it parses reports as little as
possible and it is not pretending to know everything about Atlantis
ruleset. So new items, skills and such would not cause it to crash.
ALH is an Open Source project. It is cross-platform (Windows/Unix/Mac),
at least it was tested on Linux and Windows.
ALH is available as source code and as compiled Windows binaries.
Installation and configuration
Compiling the sources
ALH has been succesfully compiled on win32 and Linux GTK platforms.
Install wxWindows toolkit. If it is not in you distribution,
download from http://www.wxwindows.org. Version 2.2.9 works fine.
For win32 platform, set WX2 evironment variable to the path you
have installed wxWindows into. Then use ah.dsp file for VC++ compiler.
There is also a project file for Dev-C++, but it was contributed to me
and the latest files are missing from it. If you are using it, include all the missing files.
On all other platforms just run make.
Installation
ALH uses current directory for storing configuration and history
files. So, you will need a separate directory for every game you
are playing. And that directory must be a current directory when
you are starting ALH.
Just copy ALH executable to some directory on the path and run it
from the game directory.
Installation on Windows
ALH uses current directory for storing configuration and history
files. So, you will need a separate directory for every game you
are playing. And that directory must be a current directory when
you are starting ALH.
The simplest way to do it is just to copy ah.exe in every game
directory. Or desktop shortcut may be created for each game,
starting directory set to point to your game directory. And so on.
Windows file extension association may be created, so you will
just have to click on a report file to run ALH.
If you placed ALH into, say, d:\bin, then use the next line for
"Application used to perform action" when creating an association:
d:\bin\ah.exe "%1"
This is yet another way to handle the current directory
requirement.
Configuration
ALH stores configuration data in two files:
ah.cfg contains client configuration, such as windows positions and sizes.
ah.st.cfg contains game specific data, such as item descriptions or report file names.
There are user interfaces for the most common configuration tasks. For example, fonts and colors can
be changed from Menu/View/Options. Column sets in the unit lists can be modified from Menu/Windows/List Columns/...
Config files can be modified manually as well.
Config file sections of interest are:
[ALIASES] - In this section aliases must be in underscored
form, like Horse_Training. In orders both forms
are valid, so it ok to write "Horse Training"
as well.
format:
alias = name
[COMMON] - common settings
values:
HEX_SIZE_LIST - comma separated list of hex sizes
MEN_THRESHOLD - if number of your men in a hex is bigger then
this number, thick bullet will be displayed on
the map.
REPORT_CACHE_MAX - how many reports to keep in memory.
BRIGHTNESS_DELTA - difference in brightnes between normal and
read-only edit panes.
DECORATE_ORDERS - add some comments to the generated order file.
[LIST_COL_UNIT_<set name>] - set of columns to be diplayed in the unit list
format:
sequence = width, flags, property, column_name
sequence - order in which columns will appear in the unit list
width - column width, easily changed with a mouse :)
flags - 0 for left alignment, 1 for right alignment
property - property name, alias or group name
column_name - display name for the column
[UNIT_PROPERTY_GROUPS] - unit property groups which can be displayed
in the unit list as columns
format:
group_name = comma_separated_list_of_property_names
values:
junk_items - items you do not need, used for popup menu action
discarding junk items.
trade_items - used to calc trade points for buying them.
[PANE_MAP] - settings for the map panel
values:
DASH_BAD_ROADS - show bad roads by dashes or by color
WALL_WIDTH - line thickness for drawing walls.
FLAG_WIDTH - line thickness for drawing flags.
ROAD_WIDTH - line thickness for drawing roads.
Unit properties
Units have properties. Every item unit posess or skill it has is a property.
Short form of an item/skill name is a property name. Undescore is appended
to a skill name to distinguish it from an item name.
For example, HORS property specifies how many horses unit has and
HORS_ specifies unit's skill level in horse training.
Unit properties are used to display units in the lists and process
orders.
Underscores are only used for unit's skill properties, in orders
skill names are used as usual!
Built-in unit properties are:
id - unit id
name - unit name
description - full unit description
factionid - faction id
faction - faction name
landid - id of region the unit is in
structid - id of a structure the unit is inside
structowner - is unit an owner of a structure?
structname - name of a structure the unit is inside
comments - the first comment line of default orders/comments
pane (the first character of a comment line is ';')
orders - orders
teaching - shows how many students per teacher this unit is
teaching (rounded up), or how many days of
teaching the unit receives (rounded down).
weight - unit's weight.
movement - movement mode.
sequence - report's order of units.
It is possible to assign an alias to a property name. Default
aliases are defined based on 4.0.4 source code. Aliases are not
deducted from the report, they are read from the config file!
Properties can be combined into groups in the [UNIT_PROPERTY_GROUPS]
section.
When defining a group, only property names can be used. Aliases and
groups are disabled here since they slow down display significantly.
Features and Playing
ALH accepts report file name as a command line parameter.
ALH processes GIVE, BUY, SELL, FORM, STUDY, TEACH, CLAIM, LEAVE,
ENTER, PROMOTE, MOVE, SAIL, ADVANCE, TURN/ENDTURN, ATTACK,
ASSASSINATE, STEAL orders.
Try right-clicking and double-clicking everywhere! There are many actions
performed this way. For example, double-clicking in the Errors and Messages window
will select a corresponding unit and/or hex.
ALH may become confused when a new plane appears in a report.
In this case just click a couple of times on plane
switching/centering buttons and everything will be back to normal.
In the reports regions' X and Y coordinates must be in the range [-2048 .. 2047],
maximum number of planes is 256.
Map Legend
There is a number of icons which could be displayed in the map:
'$' specifies taxed regions.
'P' specifies regions with production activities.
Pyramid represents a generic object.
Inverted Pyramid is a ship.
Ladder is a shaft.
A square with hole in it is a gate.
Line is a road. A bad road is dashed line or thin line. Dashing does not work on Windows.
Alliance support
Allies' reports can be joined to the player's report. It will combine visibility of units,
hexes and such.
Allies' units can be given orders just like player's units.
Joining can be done through Menu/File/Join or all the reports can be given in the command line.
Map fragments can be joined as well. Of course, map fragments must be in the natural format,
the one used in the reports!
Map fragments can be exported as well. It is possible to drag mouse on the map selecting an area,
and then export that area.
Downloads and contacts
The latest version of Atlantis Little Helper is available for
download from www.geocities.com/pbemah.
ALH was designed and developed by Max Shariy,
some valuable contributions received from Sh'Arcashmo.