LittleWays Expert for Windows 9x/NT/2000/XP

LittleWays Expert Version 1.11

THIS SOFTWARE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. THE AUTHOR DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES.

Contents
Author
History

Author
Harald-René Flasch
harald-rene.flasch@gmx.at
http://www.geocities.com/hfrweb

History

Version | Description
1.0 | * first release on http://www.geocities.com/hfrweb
1.01 | * improved Start/ End dialog * improved help
1.02 | * fixed spin control bug * added English version * internal improvements
1.04 | * improved help * MSI installer * fixed some little bugs
1.05 | * improved "Edit map entries" (resize-able dialog, additional features like "Add node", "Goto", "Cursor" etc.) * fixed bug: Access violation when exiting LWE * fixed bug: Endless loop when start station = end station * fixed bug in calculation: "Route Max" is considered correctly now * display hourglass during calculation * additional map: Mannheim.lwm (renamed Vienna maps) * improved help
1.05 SP1 | * fixed problems under Windows 9x/Me (this Service Pack only exists for 9x/Me)
1.1 | * improved LWM file format (2.0) (added style bits for centered text and bottom aligned text; added FileAuthorInfo= key which is displayed via Tools|Map info) * fixed bug: now the "hidden bit" can be used with other bits * added "Style builder" for stations (you do not have to calculate the bits) * now you can use left mouse button + shift key in map to move to the corresponding station in the "Edit map entries" dialog which makes it easier to find the station in the list you want to edit * added file info dialog (Tools| Map info) * added map Wiener Neustadt.lwm * improved all other maps using the LWM file format 2.0 * improved drawing performance (compiled LWM, see Tools|Core settings) * improved calculation performance (compiled LWM, see Tools|Core settings)
1.11 | * fixed bug in calculation (sometimes wrong direction info; it's highly recommended do not use Version 1.1 for route calculations, use Version 1.11) * fixed some other bugs
 | Suggested improvements for future versions: * LWM Compiler * additional maps * zoom * quick search for stations * info about exits at stations * enable/disable particular tracks


Menu

LittleWays Expert has an extended Menu, for creating, editing and saving LWM files. Menus market with "P" are available in LittleWays Pocket; Menus market with "E" are available in LittleWays Expert.

File | E, P | Open, Close, Save etc. LWM files.
New | E | Creates a new LWM file.
Open | E, P | Opens an existing LWM map (LWM file).
Close | E | Closes current map.
Save | E | Saves current map.
Save as | E | Saves current map using a new name.
Exit | E, P | Closes LittleWays. Using the Expert version the application asks for saving the LWM file if it has changed.
Edit |  |
Edit entries | E | Opens an dialog for editing the current LWM file. Since Version 1.1 this menu item is only available when "compiled LWM maps" are not used. Use Tools|Core settings to turn on or off "compiled LWM maps".
Refresh | E, P | Redraws the entire map. This menu item has low priority in the pocket version of LittleWays.
Calculate route | E, P | Calculates a route. This menu item is only available if a map is loaded.
View | E, P | The name of this menu item is "LW" in the pocket version of Little Ways.
Toolbar | E | Displays or hides the toolbar. In the Pocket version this menu item is Tools|Toolbar.
Status line | E | Displays or hides the status line. In the Pocket version this menu item is Tools|Status line.
Map | E, P | Toggles between Source and Map mode. Source mode: Map (LWM file) is displayed as raw text. Map mode: Map is displayed.
Full screen | E | Shows the entire map and stretches it if necessary. In this case the map is not displayed with the original dimensions. This mode has low priority.
Center Lines | E, P | Displays two totted diagonal lines indicating the center of the map. You can use View|Center point or LW|Center point to move to the center-point of the map.
Raster | E, P | Toggles the raster for the map mode. This menu item is very useful for editing LWM maps in the Expert version. You can use Extras|Map to determine the size of the raster.
Route | E, P | Displays a calculated route in the map. You can calculate a route with Edit|Calculate route. The calculated route is displayed as a red line.
Route details | E, P | Shows detailed information about a calculated route. These information contains the name of stations where you have to change a line and the direction where you have to go in order to reach your destination.
Center point | E, P | Moves the map to the center-point. Use View|Center Lines or LW|Center Lines to display the center-point.
Start station | E, P | Moves to the start station from a calculated route. Using the pocket version this is done automatically. In the expert version the whole route is displayed if possible.
End station | E, P | Moves to the end station from a calculated route.
Next station | E, P | Moves to the next station or corner from a calculated route.
Previous station | E, P | Moves to the previous station or corner from a calculated route.
Window | E | Common menu for arranging, separating etc. windows.
(no Help) | E | No help.
Tools | E, P | Configures LittleWays.
Map | E, P | Map and raster settings etc.
Map info | E, P | Displays information (versions, author and description) about current map.
Calculation | E, P | Basic settings for calculating routes.
Core settings | E, P | Using this menu item you can configure the basic behavior of LittleWays. You can setup whether using so called "compiled LWM maps". For the Pocket version this is the recommended setting because "compiled LWM maps" increases performance. In the Expert version you can only use "compiled LWM maps" if you not editing the current map using "Edit|Edit entries" menu item.
Toolbar | P | Displays or hides the toolbar. In the Expert version this menu item is View|Toolbar.
Status line | P | Displays or hides the status line. In the Expert version this menu item is View|Status line.
? | E, P | Help menu.
Index | E, P | Help index. LittleWays Expert has a user and developer help.
About LittleWays Expert | E | Common information about LittleWays Expert (information about the author, copyright, version, ...)
About LittleWays Pocket | P | Common information about LittleWays Pocket (information about the author, copyright, version, ...)


Features

The following list shows you the possibilities you have with LittleWays:

LittleWays supports Windows NT 4.0, Windows 2000, Windows XP, Windows 9x, Windows Me, Windows CE 2.11 and Windows CE 3.0
LittleWaysPocket supports Palm-size PC: MIPS and SH3; Pocket PC: MIPS, ARM and SH3; H/PC Pro: MIPS, SH3, SH4 and ARM
Source/Map Mode (File View, Map View)
Route Calculation
Route Details (Change Line, Direction)
Easy Map Navigation
Route Browsing (browsing calculated routes)
Design Mode (Editing/Developing LWM Files)
"Easy to Understand" file format (if you would like to create/develop your own LWM Maps)


Tips & Tricks

Calculation 1
Obsolete since version 1.1 when using "Compiled LWM". If the start station has more than one line (e.g. LinesVienna.lwm: Karlsplatz: U1, U2, U4 etc.) be aware that you use the correct line.
The various exits maybe located far away from each other (e.g. they are separated by a escalator. If you use a "wrong" start station this may cause a longer distance to travel
Example: "Karlsplatz, U4" ==> "Meidling/Philadelphiabrücke, U6" causes a better result than "Karlsplatz, U1" ==> "Meidling/Philadelphiabrücke, U6"

Calculation 2
Obsolete since version 1.1 when using "Compiled LWM". First fill out the "End" station and then the "Start" station. So you can see if your destination has more than one line (exits) and decide which exit you like to use.
Example: Your desired route: "Längenfeldgasse" ==> "Karlsplatz"
You Select "Karlsplatz, U4" for the "End" station. When you select "Längenfeldgasse" for "Start" station you discover that this station has the following lines: U4 and U6. Of course you select "Längenfeldgasse, U4" for your "Start" station.

Map Drawing
Using LittleWays Pocket it is a good choice to turn off the raster in order to increase drawing speed.

Crosshairs
Using Crosshairs in LittleWays Expert you can use additional 45° Crosshairs. This makes it easier to draw lines. Menu: Extras|Map.

Creating LWM maps 1
If you create your own LWM maps it makes sense to use the raster and position stations, lines etc. onto raster points.

Creating LWM maps 2
Obsolete since version 1.1 because the LW Map editor was improved. Sometimes it is useful to use an normal text editor to edit LWM files (e.g. if you just input names of stations etc.).

Creating LWM maps 3
In "Edit MAP Entries" dialog press Ctrl+letter in order to scroll between sections (e.g. section [U1.Stations]: press Ctrl+U).

Creating LWM maps 4
Since Version 1.1 you can use Shift+Left mouse button in the map view to navigate to the corresponding station in the "Edit MAP Entries" dialog.

Creating LWM maps 5
Try calculation with each new line in order to detect errors as soon as possible. Test all new nodes between existing and your new line.

Creating LWM maps 6
When designing your maps try to use only horizontal, vertical and 45° lines.

Creating LWM maps 7
Vertical and horizontal space between parallel lines should always be 5 pixels.


Maps

The following list shows currently available maps:

Map | Version | Available | Description
Vienna.lwm | 2.0 | 1.0 | This file contains the whole Vienna subway. Renamed in Version 1.05 from LinesVienna.lwm to Vienna.lwm.
Vienna2.lwm | 2.0 | 1.0 | This file contains the whole Vienna subway plus the "Badner Bahn". Renamed in Version 1.05 from LinesViennaExt.lwm to Vienna2.lwm.
Vienna3.lwm | 2.0 | 1.0 | Contains additionally local trains ("S-Bahn"). Renamed in Version 1.05 from LinesViennaExt2.lwm to Vienna3.lwm. The following lines are not included: S15, S45, S60 and S65.
Mannheim.lwm | 1.0 | 1.05 | Contains Mannheim's public lines 1 though 7.
Wiener Neustadt.lwm | 1.0 | 1.1 | Bus lines in Wiener Neustadt

Legend:
 Version
 This is the version of the map file.

Available
This is the LittleWays product version since the map is available.


Map edit entries dialog

Edit LittleWays maps

This topic describes how you can create/edit your own LittleWays maps. Since LittleWays Expert Version 1.05 this is very easy.

Since Version 1.1 it is possible to use left mouse button + shift key in the map to move to the corresponding station in the "Edit map entries" dialog which makes it easier to find the station in the list you want to edit

Info

If you have developed or if you want to develop your own LWM Maps don't hesitate to write me an E-Mail: harald-rene.flasch@gmx.at. If you like to publish your LWM Maps you can send me them and I will publish them on my web site. Author information etc. will be not changed/removed.

Tips

Stages of creating a LWM Map:

Create a new map using File|New menu
Open Edit map entries dialog using Edit|Edit entries menu
Fill out header information like comments, FileVersion= etc.
Replace the '?' with the name of your first line you like to add
Add points to [?.Track] section
Add stations to [?.Stations] section
All other new lines can be added by '>> | Add Line'
If a station has more than one line use '>> | Add Node' to create necessary nodes entries

You should build complete line after complete line where a complete line is a line including all tracks, all stations and all nodes.

Buttons

Edit

This is a generic edit button which you can use to edit each type of line. You are responsible to enter only valid lines. If you have to add lines, add nodes etc. you should use the specialized button >> and menu items.

Station XY

Using this button you can select the coordinates for the currently selected station. It is recommended to turn on the raster (in order to easily specify the coordinates) when using this button.

Track XY

Used to add an point for the currently selected track entry. See 'Station XY' above for more information.

Insert

This button can be used to insert a line. You are responsible to enter only valid lines. See 'Edit' above for more information.

Remove

Removes the currently selected line.

Goto

Using this button you can move to the currently selected item (track point or station). The current item is selected in the map (map mode only). You can use the 'Auto' checkbox in order to automatically move to the current item in the map when an item is selected. This only works for track entries and stations. If another item is selected, nothing is selected in the map.

>>

Using this button you can use one of the following menu items:

Style

Since Version 1.1 you can use this button to chance the style bits for the currently selected station

Add Line

Used to add a new line to your map. You are asked to enter a name for the new line. This menu item inserts all necessary entries ([?.Track], [?.Stations] and [?.Nodes]) which are needed for a line. The '?' stands for the name you have entered.
CAUTION: You have manually to add an entry to the [Lines] section at the top of an LWM file so that LittleWays recognizes the new line.

Add Station

Using this menu item you can add a new entry to a [Stations] section. The current line must be empty and the previous line has to be an stations entry.

Add Track

Used to add a new entry to a [Track] section. See also 'Add Station'.

Add Node

Used to add a new node [Nodes] section. The current line must be a station for which you like to add the necessary nodes entries.
CAUTION:
1. The station names for a station (when two ore more lines have the same station) must be exactly the same so that this feature can work correctly.
2. The affected [Nodes] sections must have one or more entries. Otherwise no node entries are added. If a nodes section has no entry you have to add one: N01=. After you have done this you can use 'Add Node'. After nodes where inserted you can remove your dummy entry N01= and renumber the entries:

Sample:
"Insert dummy line N01=":
[Xy.Nodes]
N01=
"Use menu item 'Add Node'":
[Xy.Nodes]
N01=
N02=P12:Ab:P07
"Remove dummy line and renumber entries":
[Xy.Nodes]
N01=P12:Ab:P07

INFO: If you used ">> | Add Line" to insert the new line the dummy entry N01= is inserted automatically.


The LWM file format

The LWM file format is just a text file with a special syntax. The syntax is similar to a Windows INI file. A LWM file is separated into so called sections which handle tasks according to their section. The section names are quoted using "[" and "]".

The term "LWM" stands for "Little Ways Map".

LitteWays Expert provides the possibility to edit LWM files in a comfort way.

LWM section

Section: [LWM]

Contains common information about a LWM file.

FileVersion=versionnumber
LWM file version number as hex number with C syntax.

FileFormatVersion=versionnumber
Version number indicating the LWM file format with C syntax. The current version is 1.0 (0x0100).

FileDescription=text
Short, textual description e.g. "Vienna Subway".

Lines section

Section: [Lines]

Contains a list of all lines. If you develop your own LWM files you should consider that the name of start stations are always bottom aligned end stations are top aligned. (e.g.: U1------U1).

Syntax: L??=name

L??
The ?? stands for a two-digit number 00 up to 99.

name
Name of the line or track.

Track section

Section: [linename.Track]

This section contains the track coordinates. linename is the name of the line which was also provided in the Lines section. You are responsible for providing only valid coordinates. You have to provide the coordinates according to the coordinates in the Station section.

Syntax: T??=x:y:style

linename
Name of the line. See also Lines section.

T??
The ?? stands for a two-digit number 00 up to 99.

x, y
Coordinates. The mapping mode MM_TEXT is used for this coordinates. The x coordinates grow from left to right, y coordinates grow from top to bottom.

style
Bit 0 (1): Determines if the line name (e.g. U1, U2 etc.) at the start and end of a line is displayed or not. If this bit is not set the name of the station is displayed. This bit has only an effect on the first and the last station on a line.

Stations section

Section: [linename.Stations]

List of all stations from a line. You are responsible for providing only valid coordinates. You have to provide the coordinates according to the coordinates in the Track section. If two ore more lines cross each other you can use style to determine that the station name is drawn only one time. This increases performance. CAUTION: For "hidden" station names you also have to provide valid coordinates in order LittleWays is able to display calculated routes correctly!

Syntax: P??=x:y:style:name

P??
The ?? stands for a two-digit number 00 up to 99.

x, y
Coordinates. The mapping mode MM_TEXT is used for this coordinates. The x coordinates grow from left to right, y coordinates grow from top to bottom.

style
Bit 0 (1): 45° text (if you develop the LWM file for use with Windows CE devices you should seldom use this style)
Bit 1 (2): right aligned text
Bit 2 (4): hidden text (also provide valid coordinates!)
Bit 3 (8): draw symbol for station even if text is hidden (only for use with Bit 2).
Bit 4 (16): bottom aligned text (can also be used with other bits)
Bit 5 (32): centered text

name
Name of the station

Nodes section

Section: [linename.Nodes]

Using this section you can define nodes between lines. Nodes are points where lines meets other lines. You are responsible for providing only valid values. Invalid values causes incorrect calculated routes. It makes sense to write the station name as an comment after each line. This makes LWM files easier to read and easier to understand.

Syntax: N??=P??:linename:P?? ; comment

N??
The ?? stands for a two-digit number 00 up to 99.

P??
The station id from the line which is provided in this section ([linename.Nodes]).

linename
Name from another line.

P??
Station id from the other line.

Info1: A nodes entry must always have opposites in other nodes sections.
Invalid or missing nodes entries causes wrong or missing results in Route Calculations!
Info2: Since LittleWays Expert 1.05 you can use '>> | Add Node' (Edit map entries dialog) to easily add nodes.


LWM file format history

The following list gives you an overview which LittleWays version supports which file format version.

LittleWays Version | File format (Code) | Description
1.0 - 1.05 (including 1.05 SP1) | 1.0 (0x0100) | * first released version of the LittleWays file format.
1.1 | 2.0 (0x0200) | * added key FileAuthorInfo= to [LWM] section * added Bit 4 ("bottom aligned") for stations style * added Bit 5 ("centered text") for stations style

INFO: When displaying LWM 2.0 files with LittleWays 1.0x some stations may not be displayed. You should use LittleWays 1.1 or later to display LWM 2.0 files! Calculation also works for 2.0 files.