[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

Re: New graphics engine for crimson



Ok, here it is.

Prerequisites are:
 - ImageMagick and the C++ Interface libMagick++
 - SDL including SLD_gfx and SDL_ttf

To compile the demonstrator please change into directory
crimson_gfx2_demo/src and call ./make. This will create
the demonstrator called "demo".

Directory structure:
  |- gfx
  |  |- structures      Tiles for roads, rails, etc. Everything
  |  |  |               that can be build and possibly destroyed.
  |  |  '- default      Default structure tileset
  |  |- terrain         Tile for terrain graphics
  |  |  '- default      Default terrain tileset
  |  |- vehicles        Tiles for vehicles
  |  :  '- default      Default vehicle tileset
  |- missions           Mission files 
  |- tests              Test code for the classes. Not necessary for the game

Each tileset is described by a default.tset file. This file contains
all attributes of the tiles. Important is the "gfxid". It is the unique
reference to this single tile. The tileset file is loaded at run time.

The gfx directory contains also the mask files which defines the available
zoom levels. Create a new mask will add a new zoom level to the game. This
step is necessary to get sharp edges of a tile without gaps. Therefore it
is not necessary to make hexagon tiles. They should be square shaped and 
will be cropped within the game to a hexagon shape.

The mission file contains the map and any other information to form a
mission. Currently it contains only references to used tilesets and
the map description. Any gfxid described in a referenced tileset may be
used in a map line. If a gfxid is not found the map will be loaded anyway
but the missing tiles will be displayed as black hexagons. Maps should have
a border of one tile width for display reasons. It is used to get rid of
the hexagon edge of the battlefield and display it smoothly within a 
top level GUI.

The route finder to place the next road/rail tile uses any tiles available
(described in the structure tileset) and chooses most useful solutions. The
reason why not any road/rail gets connected is that some road/rails tiles
are still missing.

A class documentation could be created by calling doxygen in the main dir.

Questions, comments and help are welcome

 Best Regards
   Matthias




Attachment: crimson_gfx2_demo.tgz
Description: GNU Unix tar archive