-*- mode: text -*-

The files of the Freedroid Project
-----------------------------------

Directory structure:
--------------------
./
./src/
./map/
./sound/
./graphics/

Text Files containing descriptions:
-----------------------------------

FILES		: This file.
TASK_CHART	: Who does what?
TODO		: What is left to do? mainly for BUGS

The configure-script
--------------------
configure	: a shell script that analyses some of the host's
		parameters and settings, and produces the appropriate
		Makefiles and the include-file config.h

Various header files:
---------------------
colodefs.h	: This contains only some color definitions.
		  Relatively unimportant.
defs.h		: This is a most important header file.  All
		  preprocessor directives, definitions and enumerations 
		  that are needed in various files simultaneously are
		  contained in here. 
global.h	: This is also a most important header file.  All
		  global variabled, that are needed in several 
                  different .c files need to have an extern/not extern
		  line here. 
proto.h		: This is a most important header file.  All
		  functions, that are of imortance (i.e. are called) from 
		  various different .c files must have an external/not
		  external line here.  This file must be included 
		  in order to gain access to such functions in other .c files.
struct.h	: This is a most important header file.  All data
		  structure types, that are special to the project 
                  are contained herein.  Most .c-files will include this.

takeover.h	: Header file for the Takeover-Game
map.h		: Header file for the map functions
text.h		: Header file for the text functions
ship.h		: Header file for the ship functions

vars.h		: 'Header' file, containing initialized variables of
		  importance to the whole game, that are declared 
		  als external in global.h

The C program code files:
-------------------------
blocks.c	: contains block operating functions, that is when you
		  want to put something on the visible screen 
		  of the paradroid, DO NOT DO IT YOURSELF!  Use one of
		  the functions in here, e.g. DisplayBlock(..),
		  DisplayMergeBlock(..), CopyMergeBlock(...),.. . 
		  These functions already take into acount the
		  position of the paradoid, so you do not have to
		  worry about where to put anything, and only have to
		  supply map coordinates.  Very handy. 

bullet.c	: all Bullet AND Blast - related functions.  

enemy.c		: All enemy - realted functions.  This includes their
		  whole behaviour, healing, initialization, shuffling
		  them around after evevator-transitions of the
		  paradroid, deleting them, collisions of enemys among
		  themselves, their fireing, animation and such. 

graphics.c	: Graphics primitived, such as functions to load LBM
		  or PCX images, to change the vga color table, to
		  activate or deachtivate monitor signal, to set video
		  modes etc. 

influ.c		: all features, movement, fireing, collision and
		  extras of the influencer are done in here. 

map.c		: All map-related functions, which also includes
		  loading of decks and whole ships, starting the
		  elevators and consoles if close to the paradroid,
		  refreshes as well as determining the map brick that
		  contains specified coordinates are done in this
		  file. 

misc.c		: This file shall contain miscellaneous helpful
		  functions for paraplus, that do not belong elsewhere 

main.c		: This is the main program file.  Is should preferably
		  only contain main and some definitions 

init.c		  : This file contains functions to initialize the game
		  procedure, e.g. Title, InitNewGame, InitParaplus. 

text.c		  : contains all functions dealing with the HUGE, BIG
		  font used for the top status line, the score and
		  the text displayed during briefing and highscore
		  inverview.  This has NOTHING to do with the fonts 
		  of the SVGALIB or the fonts used for the horizontal
		  srolling message line! 

rahmen.c	: contains functions to update and draw the top status
		  line with score and status etc.. 

sound.c		: all functions dealing with sound are contained in this file.

ship.c		: the console and elevator functions

takeover.c	: Everything that has to do with the takeover game of
		  Paradroid is contained in this file. 

view.c		: all the functions managing the things one gets to
		  see.  That includes assembling of enemys, assembling
		  the currently relevant porting of the map (the
		  bricks I mean), drawing all visible elements like
		  bullets, blasts, enemys or influencer in a
		  nonvisible place in memory at first,  and finally
		  drawing them to the visible screen for the user. 

keyboard.c	: This file contains functions to make keyboard access
		  via svgalib somewhat easyer.  Very simple. 

The executable:
---------------
freedroid	: This shall start the actual game.  At the moment you
		  must be root in order to have sufficient IO
		  privileges needed by the currently inevitable
		  svgalib. 


