Menu

Tree [4aba98] default tip /
 History

Read Only access


File Date Author Commit
 data 2013-09-23 Daniel Mlot Daniel Mlot [7c836c] First working version of lap trace annotations.
 laptrace-old 2014-02-23 Daniel Mlot Daniel Mlot [cb7986] Cleanup of old bash scripts.
 repldump 2014-02-23 Daniel Mlot Daniel Mlot [1d9887] The repldump batch script should overwrite temp...
 src 2015-08-14 Daniel Mlot Daniel Mlot [4d2d1a] Isolating the Cairo.Text-based hacks in a separ...
 wwwroot 2014-02-23 Daniel Mlot Daniel Mlot [f26261] Loading CSS and JavaScript files through tpCust...
 .hgignore 2015-07-27 Daniel Mlot Daniel Mlot [3eb07c] Migration to stack.
 .hgtags 2015-02-16 Daniel Mlot Daniel Mlot [294821] Added tag 0.4.0.2 for changeset ca2637a92ecf
 LICENSE 2013-08-25 Daniel Mlot Daniel Mlot [0ba292] Tidying: project info.
 README.md 2014-02-22 Daniel Mlot Daniel Mlot [fcb210] Switching text docs to DOS line endings. Bumpin...
 Setup.hs 2013-08-25 Daniel Mlot Daniel Mlot [1b9f4d] Tidying: uncluttering the tree a bit with some ...
 WINDOWS.txt 2014-02-23 Daniel Mlot Daniel Mlot [a89beb] Zip entry names should always use '/' rather th...
 stack.yaml 2015-07-27 Daniel Mlot Daniel Mlot [3eb07c] Migration to stack.
 stunts-cartography.cabal 2015-08-14 Daniel Mlot Daniel Mlot [4aba98] Adding missing modules to the cabal file.
 test-build.sh 2015-07-27 Daniel Mlot Daniel Mlot [3eb07c] Migration to stack.

Read Me

Stunts Cartography

Power tools for track map rendering and analysis for the classic racing game
Stunts. Powered by
Diagrams
(vectorial rendering backend) and
Threepenny
(browser-hosted frontend).

This suite currently is comprised by a fully funcional track viewer and
repldump2carto, an auxiliary tool for generation of lap traces.

Suite components

Track Viewer

  • Executable: sc-trk-viewer
  • Starting it: launch it in a console window and navigate in a web browser to
    http://localhost:10000 .
  • Command line options: -d sets the initially selected directory. If you keep
    the program somewhere other than in a subdirectory of your Stunts folder, it
    may be useful to create a link/shortcut with a more convenient initial
    directory set. -p changes the port used by the application from the default
    (10000), which might be necessary in case there is a conflict with some
    other application.
  • To generate a track map, fill both path fields as appropriate (the base path
    is prepended to the TRK or RPL file path, so that relative paths can be used
    during a session) and optionally change the rendering parameters. Then, click
    one of the buttons at the top to generate PNG or SVG output.
  • Picking an inexistent file or a TRK with size different from 1802 bytes (the
    expected .TRK file size) will suspend the rendering. Invalid parameter
    values, or values out of the ranges presented at the interface, will be
    replaced by the respective default values.
  • Copies of both the track file and a bare terrain TRK are created as temporary
    files, and can be saved elsewhere through the links on the side bar. That
    allows for extracting tracks from replays. For that purpose, both replay
    formats of Stunts are accepted.
  • To save the track map, right click the image and choose "Save image as...",
    as it would be done in any regular web page.
  • The interface background colour changes according to the horizon of the track
    being displayed.
  • The annotations box allows users to add some kinds of annotations to the maps
    by specifying them with a simple syntax, described in the help page linked
    from the program interface, without needing to use an image editor. It is
    specially convenient for preparing race analysis maps.
  • The flipbook box instructs the program to generate, in addition to the track
    map, animation frames created by overlaying annotations over the path of a
    replay. Once the rendering is complete, which typically takes a few minutes,
    the resulting images are packaged into a zip archive and made available
    through the flipbook download link, next to the track and replay ones. The
    syntax for describing flipbooks, as explained in the annotations help page,
    is mostly the same one used for regular annotations. The flipbook
    functionality is meant to be used in conjunction with the auxiliary
    repldump2carto tool, which generates lap traces from raw simulation ouput.

repldump2carto

  • Executable: repldump2carto
  • A tool which bridges the gap between dstien's repldump, a DOS tool for
    extraction of raw data from the game engine, and the Stunts Cartography
    track viewer. It generates lap traces for consumption of the flipbook
    functionality of the latter from the binary data files produced by the
    former.
  • Usage: in the command line, repldump2carto [FILE]..., where [FILE]...
    stands for one or more files produced by repldump.
  • For extra information, see the REPLDUMP.md file (in the repository, it is
    located at the repldump directory).

Repository content highlights

Modules

  • Track.hs: track data processing functions and an extensive data type ontology
    of tiles and track elements (extensive but not exhaustive, as terrain and
    element connectivities are not covered yet).
  • Pics.hs: the Diagrams backend for rendering the track tiles. Drawing
    proportions ara parameterized via Reader monad.
  • Composition.hs: assembly of tiles to compose the full map and rendering of
    extra diagrams such as grid lines.
  • Output.hs: carries out the IO rendering for the track viewer, bridging
    backend and frontend.
  • Viewer.hs: the Threepenny frontend of the track viewer. Communicates with the
    Diagrams code through the Output module.

Subdirectories

  • data: contains sample Stunts tracks (the .TRK files) and driving paths
    extracted from game data to be used for lap trace annotations (the .dat
    files). The paths are meant to be overlaid on the track which shares part of
    their file name.
  • repldump: source tree and additional documentation on repldump2carto and the
    procedures needed to generate a lap trace from a Stunts replay.
  • wwwroot: HTML, CSS, images and other files used to compose the interface.
    Includes some in-program documenation, such as the annotation syntax
    description.

In closing...

Developed by Daniel Mlot, also known as Duplode. You might want to visit
The Southern Cross Stunts Trophy, my site dedicated to
this most wonderful of racing games.