_________ __                 __
        /   _____//  |_____________ _/  |______     ____  __ __  ______
        \_____  \\   __\_  __ \__  \\   __\__  \   / ___\|  |  \/  ___/
        /        \|  |  |  | \// __ \|  |  / __ \_/ /_/  >  |  /\___ \
       /_______  /|__|  |__|  (____  /__| (____  /\___  /|____//____  >
               \/                  \/          \//_____/            \/
    ______________________                           ______________________
                          T H E   W A R   B E G I N S
                   Stratagus - A free fantasy real time strategy game engine

Stratagus Documentation

Introduction

Welcome to the source code documentation of the Stratagus engine. Extract the source documentation with doxygen (http://www.doxygen.org) tool.

Any help to improve this documention is welcome. If you didn't understand something or you found an error or a wrong spelling or wrong grammar please write an email (including a patch :).

Information

Visit the https://github.com/Wargus/stratagus web page for the latest news and Stratagus Info for other documentation.

Modules

This are the main modules of the Stratagus engine.

Map

Handles the map. A map is made from tiles.

See also
map.h
map.cpp
tileset.h
tileset.cpp

Unit

Handles units. Units are ships, flyers, buildings, creatures, machines.

See also
unit.h
unit.cpp
unittype.h
unittype.cpp

Missile

Handles missiles. Missiles are all other sprites on map which are no unit.

See also
missile.h
missile.cpp

Player

Handles players, all units are owned by a player. A player could be controlled by a human or a computer.

See also
player.h
player.cpp
CPlayer

Sound

Handles the high and low level of the sound. There are the background music support, voices and sound effects. Following low level backends are supported: OSS and SDL.

Todo:

adpcm file format support for sound effects

better separation of low and high level, assembler mixing support.

Streaming support of ogg/mp3 files.

See also
sound.h
sound.cpp
script_sound.cpp
sound_id.cpp
sound_server.cpp
unitsound.cpp
sdl_audio.cpp
ogg.cpp
wav.cpp

Video

Handles the high and low level of the graphics. This also contains the sprite and linedrawing routines.

See page Module - Video for more information upon supported features and video platforms.

See also
video.h
video.cpp

Network

Handles the high and low level of the network protocol. The network protocol is needed for multiplayer games.

See page Module - Network for more information upon supported features and API.

See also
network.h
network.cpp

Pathfinder

See also
pathfinder.h
pathfinder.cpp

AI

There are currently two AI's. The old one is very hardcoded, but does things like placing buildings better than the new. The old AI shouldn't be used. The new is very flexible, but very basic. It includes none optimations.

See page Module - AI for more information upon supported features and API.

See also
ai_local.h
ai.h
ai.cpp

CCL

CCL is Craft Configuration Language, which is used to configure and customize Stratagus.

See also
script.h
script.cpp

Icon

See also
icons.h
icons.cpp

Editor

This is the integrated editor, it shouldn't be a perfect editor. It is used to test new features of the engine.

See page Module - Editor for more information upon supported features and API.

See also
editor.h
editor.cpp
(C) Copyright 1998-2012 by The Stratagus Project under the GNU General Public License.
All trademarks and copyrights on this page are owned by their respective owners.