Logo Search packages:      
Sourcecode: freecraft version File versions  Download package

freecraft Documentation

1:1.18-2.3

Introduction

Welcome to the source code documentation of the FreeCraft engine. For an open source project it is very important to have a good source code documentation, I have tried to do this with the help of doxygen (http://www.doxygen.org) or doc++ (http://www.zib.de/Visual/software/doc++/index.html). Please read the documentation of this nice open source programs, to see how this all works.

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

Informations

Visit the http://FreeCraft.Org web page for the latest news and ../doc/readme.html for other documentations.

Modules

This are the main modules of the FreeCraft engine.

Map

Handles the map. A map is made from tiles.

See also:
map.h

map.c

tileset.h

tileset.c

Unit

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

See also:
unit.h

unit.c

unittype.h

unittype.c

Missile

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

See also:
missile.h

missile.c

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.c

Player

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
Todo:
better separation of low and high level, assembler mixing support.
Todo:
Streaming support of ogg/mp3 files.
See also:
sound.h

sound.c

ccl_sound.c

sound_id.c

sound_server.c

unitsound.c

oss_audio.c

sdl_audio.c

mad.c

ogg.c

flac.c

wav.c

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.c

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.c

Pathfinder

See also:
pathfinder.h

pathfinder.c

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 AiModule for more information upon supported features and API.

See also:
new_ai.c ai_local.h

ai.h

ai.c

CCL

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

See also:
ccl.h

ccl.c

Icon

See also:
icons.h

icons.c

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.c


Generated by  Doxygen 1.6.0   Back to index