Sophie

Sophie

distrib > Mandriva > 8.2 > i586 > media > contrib > by-pkgid > 875525e8228ccb9231e71b8d7ba27544 > files > 17

freecraft-1.17-3mdk.i586.rpm

<!--
----	$Id: freecraft.html,v 1.64 2001/04/23 22:12:49 johns Exp $
-->
<HTML><HEAD>
    <TITLE>The FreeCraft (fka ALE Clone) Version 1.17</TITLE>
</HEAD>
<BODY>
    <H1>FreeCraft (fka ALE Clone) Version 1.17</H1>
<HR><PRE WIDTH=80>
     ___________		     _________		      _____  __
     \_	  _____/______   ____   ____ \_   ___ \____________ _/ ____\/  |_
      |    __) \_  __ \_/ __ \_/ __ \/    \  \/\_  __ \__  \\   __\\   __\ 
      |     \   |  | \/\  ___/\  ___/\     \____|  | \// __ \|  |   |  |
      \___  /   |__|    \___  >\___  >\______  /|__|  (____  /__|   |__|
	  \/		    \/	   \/	     \/		   \/
    ______________________                           ______________________
			  T H E   W A R   B E G I N S
	   FreeCraft - A free fantasy real time strategy game engine
</PRE>
<P><B>(C) Copyright 1998-2001 by The FreeCraft Project. Distributed under the
<A HREF="artistic-license.html">"Artistic License"</A></B>
<HR>

<A HREF="#contents">Contents</A>

    <H2><A NAME="copyright">Copyrights</A></H2>

    Please refer to the <A HREF="artistic-license.html">LICENSE</A>
    document provided with this distribution. To proceed beyond this point,
    is to agree with the license agreement.

    <P>The self extracting archive contains ZIP code, read the
    <A HREF="ZIP-LICENSE">ZIP-LICENSE</A>.
    <P>The binaries could contain SDL code, read the 
    <A HREF="../README-SDL.txt">README-SDL.txt</A> and the
    <A HREF="http://www.gnu.org/copyleft/lesser.html"> GNU LGPL license.</A>
    <P>The source and binaries contains SIOD code, read 
    <A HREF="../src/siod/siod.html"> siod.html</A> for copyright and
    informations.

    <H2><A NAME="disclaimer">DISCLAIMER</A></H2>

    This software is provided as-is.  The author(s) can not be held liable for
    any damage that might arise from the use of this software.<P>

    <B>Use it at your own risk</B>.

    <H2><A NAME="introduction">Introduction</A></H2>

    Read this for the introduction:
    <A HREF="readme.html">readme.html</A>

    <H2><A NAME="install">Install</A></H2>

    Read this how to install FreeCraft:
    <A HREF="install.html">install.html</A>

    <H2><A NAME="upgrade">Upgrade</A></H2>

    If you upgrade from an older beta version to a new one, please
    <B>always</B> run build.sh.  Some graphics or formats may have been
    changed.  <B>Don't forget</B> to backup your modified files.<P>

    Read this how to upgrade FreeCraft:
    <A HREF="install.html">install.html</A>

    <H2><A NAME="changes">Changes</A></H2>

    Read this for the history of FreeCraft:
    <A HREF="ChangeLog.html">ChangeLog.html</A>

    <H2><A NAME="todo">To-do and known bugs</A></H2>

    This file contains the known bugs and what we plan in the future:
    <A HREF="todo.html">todo.html</A>
    <P>A more up to date list of known bugs are here:
    <A HREF="http://sourceforge.net/tracker/?group_id=1965&atid=101965">
    SourceForge: FreeCraft real-time strategy game engine - Tracker - Bugs</A>
    <P>A more up to date list of planned tasks are here:
    <A HREF="http://sourceforge.net/pm/?group_id=1965">
    SourceForge: FreeCraft real-time strategy game engine - Tasks</A>

    <H2><A NAME="faq">Problems</A></H2>

    Read this, if you have problems compiling, installing or playing FreeCraft
    <A HREF="faq.html">faq.html</A>

    <H2><A NAME="features">Features</A></H2>

<UL>
<LI>Health and mana could be shown on the map.
<LI>Better path finder routines.
<LI>Loading of compressed (gzip) puds.
<LI>Configuration language.
<LI>Easy replace of unit graphics and sounds.
<LI>64 times greater maps.
<LI>Training queues.
<LI>Way-points.
<LI>Correct fog of war (terrain changes are not shown).
<LI>Nice looking fog of war (alpha-gray-scale)
<LI>More resolutions 640x480, 800x600, 1024x768 and 1600x1200.
<LI>Scripting language.
<LI>Support for up to 6 resources.
<LI>Internet play.
</UL>

    <H2><A NAME="open-projects">Open projects</A></H2>

    Following projects are not assigned: (Please ask before start working)

<UL>
<LI>Write a map editor. (with support of greater maps)
<LI>Write a AI editor.
<LI>Write front end to FreeCraft. (Scenarios, puds, videos...)
<LI>Write a video player. (fli or own format)
<LI>Create own tilesets and unit graphics.
<LI>Create own sounds, voices, videos and campaigns.
<LI>Create an icon for window-manager.
<LI>Create a jingle for startup and home-page.
<LI>Write better documentation. (correct my English :-)
<LI>Improved network support (viewer, proxy, automatic lag detection)
<LI>Write better sound routines. (with mp3 or ogg and midi or xmi support)
<LI>Write "build.sh" for demo-version.
<LI>Port to X11 8bpp or 32bpp, full-screen and DGA support.
<LI>Port to ggi.
<LI>Port to msdos/djgpp.
<LI>Write clone of the new game from the same company.
    (Graphic and sound formats are mostly the same.)
<LI>Multi-language support
<LI>And any other help is welcome.
</UL>

If you want to help, please join the FreeCraft mailing list and check
if not already somebody is working on your project. Than tell what you
want to make.

    <H2><A NAME="documentation">Documentation</A></H2>

    Look into the original game documentation for playing instructions.
    Look into the sources for more informations.

<H3><A NAME="commandline">Command line options</A></H3>

freecraft [OPTIONS] [map.pud|map.pud.gz]

<UL>
<LI>OPTIONS<BR>
    You can currently give following command line options. Use "freecraft -h" to
    get an up to date information.
    <UL>
    <LI>-c "file.ccl"<BR>
	Load FreeCraft config file <VAR>"file.ccl"</VAR> instead of the default
	"<VAR>librarypath/</VAR>ccl/freecraft.ccl".
    <LI>-d "path"<BR>
	Change the FreeCraft library path to <VAR>"path"</VAR> instead of the
	default "./data" or "/usr/share/games/freecraft/default".
    <LI>-f factor<BR>
	Adjust the build costs of units for the computer players by factor.
    <LI>-h<BR>
	Show command line help.
    <LI>-l<BR>
	Enable command log to <VAR>"command.log"</VAR>
    <LI>-p players<BR>
	Number of network <VAR>players</VAR> to connect. This computer be
	comes the game server.
    <LI>-n [localport:]serverhost[:port]<BR>
	Connect to FreeCraft server <VAR>serverhost</VAR>.
	<VAR>serverhost</VAR> is the name of the server like "freecraft.org"
	or the IP number like "192.168.1.1". <VAR>localport</VAR>
	is the port number on the local computer, <VAR>port</VAR> is the 
	port on the game server. The default ports are 6660. If you have a
	firewall please let the port 6660/UDP through.
    <LI>-s frames<BR>
	The AI sleeps 'frames' before it starts working.
    <LI>-t factor<BR>
	Adjust the build time of units for the computer players by factor.
    <LI>-D<BR>
	Video depth = pixel pro point. Only useful if not automatic
	detected.
    <LI>-F<BR>
	Full-screen video-mode.
    <LI>-W<BR>
	Windowed video-mode.
    </UL>
<LI>map.pud<BR>
    Load the map "map.pud" instead of the default
    "<VAR>librarypath/</VAR>default.cm".
<LI>map.pud.gz<BR>
    Load the compressed map "map.pud.gz" instead of the default
    "<VAR>librarypath/</VAR>default.cm".
<LI>map.cm<BR>
    Load the FreeCraft map "map.cm" instead of the default.
<LI>map.cm.gz<BR>
    Load the compressed FreeCraft map "map.cm.gz" instead of the default.
<LI><BR>
    If no file is given the default map
    "<VAR>librarypath/</VAR>default.cm" will be loaded.
</UL>

<H3>Keyboard commands</H3>

<UL>
<LI><KBD>cursor-left</KBD><BR>
    Scroll map left. With control scroll faster.
<LI><KBD>cursor-right</KBD><BR>
    Scroll map right. With control scroll faster.
<LI><KBD>cursor-up</KBD><BR>
    Scroll map up. With control scroll faster.
<LI><KBD>cursor-down</KBD><BR>
    Scroll map down. With control scroll faster.
<LI><KBD>RETURN</KBD><BR>
    Enter command line.
<LI><KBD>TAB</KBD><BR>
    Toggle mini-map mode, with/without terrain.
<LI><KBD>+</KBD><BR>
    Increase game speed.
<LI><KBD>-</KBD><BR>
    Decrease game speed.
<LI><KBD>ALT+C, CTRL+C, c (if unused)</KBD><BR>
    Center on selected units.
<LI><KBD>ALT+X, CTRL+X</KBD><BR>
    Exit program.
<LI><KBD>ALT+Q, CTRL+Q</KBD><BR>
    Quit level.
<LI><KBD>^</KBD><BR>
    Unselect all units.
<LI><KBD># (1-9,0)</KBD><BR>
    Recall unit group. All units in the group becomes the current selection. 
    If unit group is already selected, center on group.
<LI><KBD>SHIFT + # (1-9,0)</KBD><BR>
    Add the units of the group to the current selection.
<LI><KBD>CTRL + # (1-9,0)</KBD><BR>
    Define unit group. All currently selected units become the new group.
<LI><KBD>SHIFT+CTRL + # (1-9,0)</KBD><BR>
    Add to unit group. All currently selected units are added to the group.
<LI><KBD>ALT + # (1-9,0)</KBD><BR>
    Alternate unit group. All currently selected units are also added to the
    new group.
<LI><KBD>SHIFT+ALT + # (1-9,0)</KBD><BR>
    Add to alternate unit group. All currently selected units are also added to
    the group.
<LI><KBD>F1,F2,F3,F4</KBD><BR>
    Recall saved map position.
<LI><KBD>SHIFT+F1,SHIFT+F2,SHIFT+F3,SHIFT+F4</KBD><BR>
    Save current map position for later recall.
<LI><KBD>ALT+G, CTRL+G</KBD><BR>
    Toggle mouse grab mode.
<LI><KBD>ALT+F, CTRL+F</KBD><BR>
    Toggle fullscreen mode. (only with SDL supported)
<LI><KBD>ALT+P, CTRL+P</KBD> or <KBD>pause</KBD><BR>
    Toggle pause mode.
<LI><KBD>CTRL+S</KBD><BR>
    Toggle sound on/off.
<LI><KBD>ALT+S, F11</KBD><BR>
    Save complete state.
<LI><KBD>ALT+L, F12</KBD><BR>
    Load complete state.
<LI><KBD>ALT+M, F10</KBD><BR>
    Enter game menu.
<LI><KBD>SPACE</KBD><BR>
    Center on last message.
</UL>

<H3>Mouse commands</H3>

<H4>Clicking on minimap</H4>

<H4>Clicking on map</H4>

<UL>
<LI>Single click with left mouse button<BR>
<LI>SHIFT Single click with left mouse button<BR>
<LI>CTRL Single click with left mouse button<BR>
<LI>ALT Single click with left mouse button<BR>
<LI>Double click with left mouse button<BR>
<LI>Click & Hold with left mouse button<BR>
</UL>

    <H2><A NAME="ccl">CCL: FreeCraft Configuration Language</A></H2>

    The CCL is scheme. I use SIOD for this.
    (The most recent release is available from
    <a href="http://people.delphi.com/gjc/siod.html">this web page</a>)
    .<P> You can also enter CCL commands at the message prompt. Each
    line starting with "(" is taken as CCL command.

<H3>New documentation</H3>

<A HREF="ccl/ccl.html"> Here I have started a new documentation. </A> <P>

Please help me writing it.

<H3>Files</H3>

<UL>
<LI><VAR>librarypath</VAR>/ccl/freecraft.ccl is loaded before any initialization.
Contains general configuration.
<LI><VAR>librarypath</VAR>/ccl/missile.ccl is loaded from freecraft.ccl.
Contains missile configuration.
<LI><VAR></VAR>/ccl/sound.ccl is loaded from freecraft.ccl.
Contains sound configuration.
<LI><VAR>librarypath</VAR>/ccl/tilesets.ccl is loaded from freecraft.ccl.
Contains tileset configuration.
<LI><VAR>librarypath</VAR>/ccl/units.ccl is loaded from freecraft.ccl.
Contains units configuration.
</UL>

<H3>Functions</H3>

Without any order:

<H2>Map CCL functions/variables</H2>

<DL>
<DT><VAR>reveal-map</VAR>
<DD>Reveal the complete map.

<DT><VAR>set-fog-of-war!</VAR><BR>
<DD>Enable or disable the fog of war.

<DT><VAR>fog-of-war</VAR><BR>
<DD>Enable the fog of war.

<DT><VAR>no-fog-of-war</VAR><BR>
<DD>Disable the fog of war.

<DT><VAR>minimap-terrain</VAR><BR>
<DD>Enable display of terrain in the minimap window.

<DT><VAR>no-minimap-terrain</VAR><BR>
<DD>Disable display of terrain in the minimap window.

<DT><VAR>original-fog-of-war</VAR>
<DD>Enable original like fog of war style.

<DT><VAR>gray-fog-of-war</VAR>
<DD>Enable gray fog of war style.

<DT><VAR>fog-of-war-contrast contrast</VAR>
<DD>Set the gray style fog of war contrast.
    Contrast could be from 0 to OO.
    A contrast of 100 didn't change anything.

<DT><VAR>fog-of-war-brightness brightness</VAR>
<DD>Set the gray style fog of war brightness.
    Brightness could be from -100 to 100.
    A brightness of 0 didn't change anything.

<DT><VAR>fog-of-war-saturation saturation</VAR>
<DD>Set the gray style fog of war saturation.
    Saturation could be from -100 to 200.
    A saturation of 100 didn't change anything.

</DL>

<H2>Unsorted CCL functions/variables</H2>

<UL>
<LI><VAR>title-screen</VAR><BR>
    Change the default title screen ("graphics/ui/title.png").<P>
    (title-screen title)<P>
    <UL>
    <LI>title<BR>
	The title graphic file.
    </UL>
    <H4>Example:</H4>
	(title-screen "graphics/ui/ale-title.png")<P>
    Change the title to "graphics/ui/ale-title.png".<P>

<LI><VAR>show-health-bar</VAR><BR>
    Show the health as bar on the map.<P>

<LI><VAR>show-health-dot</VAR><BR>
    Show the health as dot on the map.<P>

<LI><VAR>show-mana-bar</VAR><BR>
    Show the mana as bar on the map.<P>

<LI><VAR>show-mana-dot</VAR><BR>
    Show the mana as dot on the map.<P>

<LI><VAR>show-full</VAR><BR>
    Show full health or mana on the map.<P>

<LI><VAR>show-no-full</VAR><BR>
    Show no full health or mana on the map.<P>

<LI><VAR>show-sight-range</VAR><BR>
    Show the sight range of the selected unit on map.<P>

<LI><VAR>show-react-range</VAR><BR>
    Show the react range of the selected unit on map.<P>

<LI><VAR>show-attack-range</VAR><BR>
    Show the attack range of the selected unit on map.<P>

<LI><VAR>speed-mine</VAR><BR>
    Decrease the mining time by this factor.

<LI><VAR>speed-gold</VAR><BR>
    Decrease the time in a gold deposit by this factor.

<LI><VAR>speed-chop</VAR><BR>
    Decrease the time for chopping a tree by this factor.

<LI><VAR>speed-wood</VAR><BR>
    Decrease the time in a wood deposit by this factor.

<LI><VAR>speed-haul</VAR><BR>
    Decrease the time for haul oil by this factor.

<LI><VAR>speed-oil</VAR><BR>
    Decrease the time in an oil deposit by this factor.

<LI><VAR>speed-build</VAR><BR>
    Decrease the time to build a unit by this factor.

<LI><VAR>speed-train</VAR><BR>
    Decrease the time to train a unit by this factor.

<LI><VAR>speed-upgrade</VAR><BR>
    Decrease the time to upgrade a unit by this factor.

<LI><VAR>speed-research</VAR><BR>
    Decrease the time to research by this factor.

<LI><VAR>speeds</VAR><BR>
    Decrease the time off all by this factor.

<LI><VAR>tileset</VAR><BR>
    Defines a tileset.<P>
    (tileset slot-name name file table)<P>
    <UL>
    <LI>slot-name<BR>
	The tileset slot name.
    <LI>name<BR>
	The tileset name.
    <LI>file<BR>
	The tileset graphic file.
    <LI>table<BR>
	The conversion table from pud tile number (0 - 0x9DF) into internal
	tile number.
    </UL>
    <H4>Example:</H4>
	(tileset 'tileset-summer "summer" "summer.png" #( ... ) )<P>
	Define the tileset slot 0 as summer with the graphics in summer.png.
	#( ... ) is the conversion table of 2528 entries.

<LI><VAR>missile-type</VAR><BR>
    Defines the missile types.<P>
    (missile-type slot name file width height)<P>
    <UL>
    <LI>slot<BR>
	The missile slot number.
    <LI>name<BR>
	The missile name.
    <LI>file<BR>
	The graphic sprites file.
    <LI>width<BR>
	The width of a sprite.
    <LI>height<BR>
	The height of a sprite.
    </UL>
    <H4>Example:</H4>
	(missile-type MissileLightning "Lightning" "lightning.png" 32 32)<P>
	Define the missile slot 0 as "Lightning".<P>

<LI><VAR>define-unit-type</VAR><BR>
    <A HREF="ccl/unittype.html">unittype.html</A>

<LI><VAR>print-unit-type-table</VAR><BR>
    <A HREF="ccl/unittype.html">unittype.html</A>

<LI><VAR>unit-type</VAR><BR>
    Get the pointer to the unit type structure.<P>
    (unit-type ident)
    <DL>
    <DT>ident</DT>
    <DD>The unit-type unique identifier.</DD>
    </DL>
    <P>
    <H4>Example:</H4>
    (unit-type "unit-peon")<P>
    Get the unit type structure of the peon. #<UnitType 0x80ac350 unit-peon><P>

<LI><VAR>unit-type-array</VAR><BR>
    Get an array of all currently defined unit type structures.<P>
    (unit-type-array)
    <P>

<LI><VAR>get-unit-type-ident</VAR><BR>
    Get the unique identifier of the unit type structure.<P>
    (get-unit-type-ident type)
    <DL>
    <DT>type</DT>
    <DD>Unit type pointer</DD>
    </DL>
    <P>
    <H4>Example:</H4>
    (get-unit-type-ident (unit-type "unit-peon"))<P>
    Get the identifier of the unit type peon.<P>

<LI><VAR>define-map</VAR><BR>
    Define the size of a new map.<P>
    (define-map width height)
    <UL>
    <LI>width<BR>
	The width of the new map.
    <LI>height<BR>
	The height of the new map.
    </UL>

    <H4>Example:</H4>
	(define-map 256 256)
	Define a new map of the size 256 x 256.<P>

<LI><VAR>load-pud</VAR><BR>
    Load a map in pud format.<P>
    (load-pud name)
    <UL>
    <LI>name<BR>
	The file name.
    </UL>

    <H4>Example:</H4>
	(load-pud "data/default.pud.gz")
	Load "default.pud.gz".<P>

<LI><VAR>freecraft-map</VAR><BR>
    Define a map in FreeCraft own format.<P>
    (freecraft-map ...)

    <P>FIXME: Must write docu<P>

<LI><VAR>key-scroll-speed</VAR><BR>
    Set the speed of keyboard scrolling. <P>
    (key-scroll-speed speed)
    <UL>
    <LI>speed<BR>
	Number frames to wait between scrolls.
    </UL>

    <H4>Example:</H4>
	(key-scroll-speed 1)
	Sets keyboard scrolling speed to fastest.<P>

<LI><VAR>mouse-scroll-speed</VAR><BR>
    Set the speed of mouse scrolling. <P>
    (mouse-scroll-speed speed)
    <UL>
    <LI>speed<BR>
	Number frames to wait between scrolls.
    </UL>

    <H4>Example:</H4>
	(mouse-scroll-speed 10)
	Sets mouse scrolling speed to pretty slow ( 3 times / second.)<P>


<LI>Sound part
<UL>

<LI><VAR>sound-thread</VAR><BR>
    Tells FreeCraft engine to use a threaded sound server. MUST be used in the
    sound.ccl file, BEFORE the game fully starts. As no effect during the
    game. 

<LI><VAR>sound-volume</VAR><BR>
    Set global volume.<P>
    (set-sound-volume volume)<P>
    <UL>
    <LI>volume<BR>
	The volume from 0 (min=quiet) to 255 (max).
    </UL>
    <H4>Example:</H4>
	(set-sound-volume 128)<p>
	Set volume to 1/2.

<LI><VAR>sound-off</VAR><BR>
    Turn sound off. Can be later turned on by sound-on.

<LI><VAR>sound-on</VAR><BR>
    Turn sound on.

<LI><VAR>sound-for-name</VAR><BR>
    Return a SIOD sound id to be used in other functions.<P>
    (sound-for-name name)<p>
    <UL>
    <LI>name<BR>
	The name of the sound (a string). 
    </UL>
    <H4>Example:</H4>
	(sound-for-name "tree chopping")<p>
	Returns the sound id of the tree chopping sound.


<LI><VAR>set-global-sound-range</VAR><BR>
    Set the cut off distance.<P>
    (set-global-sound-range distance)<p>
    <UL>
    <LI>distance<BR>
	The maximum range of a sound in tiles.
    </UL>
    <H4>Example:</H4>
	(set-global-sound-range 64)<p>
	Set the maximal sound range to 64 tiles. Sound events happening more
	than 64 tiles away from the viewpoint won't be eared.

<LI><VAR>set-sound-range</VAR><BR>
    Set the cut off distance for a given sound.<P>
    (set-sound-range sound ratio)<p>
    <UL>
    <LI>sound<BR>
    The sound either described by its name (a string) or by its SIOD sound
    id. 
    <LI>ratio<BR>
    This value (between 0 and 255) allows to compute the range of the
    sound. 255 means an infinite range. Any number strictly below 255 is a
    coefficient that will be applied to the cut off distance: the cut off
    distance for this sound is ratio/254*cut off distance.
    </UL>
    <H4>Example:</H4>
	(set-sound-range "tree chopping" 50)<p>
	Set the sound range for "tree chopping" to 50/254 times the cut off
	distance. 


<LI><VAR>define-game-sounds</VAR><BR>
    Allows to define what sounds are going to be used for some game level
    events (such as the click sound).

    <P>FIXME: Must write docu<P>

<LI><VAR>display-sounds</VAR><BR>
    Test function. Dump on stdio all the client side mappings between sound
    names and sound ids.

<LI><VAR>map-sound</VAR><BR>
    Defines a new mapping between a sound name (a string) and a sound id.

    <P>FIXME: Must write docu<P>

<LI><VAR>make-sound</VAR><BR>
   Ask the sound server to register a new sound. Ask the sound client to store
   the mapping between the obtained sound id and the given sound name.

    <P>FIXME: Must write docu<P>

<LI><VAR>play-sound</VAR><BR>
   Ask the sound server to play a sound.

    <P>FIXME: Must write docu<P>
</UL>

<UL>
</UL>

</UL>

    <H2><A NAME="internal">Internal Formats</A></H2>

<H3><A NAME="internal-tileset">Tileset</A></H3>

    The tileset graphic is loaded from 'png'-files. Only files with 256
    indexed colors are currently supported.<P>
    The format of the tileset graphic is:<P>

    32x32 pixels of a tile.<P>

    16 tiles are stored per row.<P>

    The pixels (7,6),(7,14),(7,22),(7,30), (15,6),(15,14),(15,22),(15,30), 
    (23,6),(23,14),(23,22),(23,30) and (31,6),(31,14),(31,22),(31,30) 
    are used for the minimap picture. For a 32x32 map all 16 Pixels are used.
    For a 128x128 map only the first one.<P>

    The colors of the palette reserved for the tileset:<BR>
	HELPME: I don't know!<P> 

    The conversion table from pud file to the internal format could be
    changed with ccl.

    <A HREF="graphic/tileset.html">More tileset informations</A>

<H3><A NAME="internal-ui">User Interface</A></H3>

    <A HREF="graphic/ui.html">More user interface informations</A>

<H3><A NAME="internal-sprites">Sprites</A></H3>

    The graphics are loaded from 'png'-files. Only files with 256 indexed
    colors are currently supported.<P>
    The format of an unit sprite is:<P>

    FIXME: more to come

<H3><A NAME="internal-palette">Palette</A></H3>

    Look into tileset documentation, what I have found.

<H3><A NAME="internal-sounds">Sounds</A></H3>

    The sounds are loaded from 'wav'-files.  Files with 8 or 16 bit, mono and
    11025hz sample frequency are currently supported.<P>

    <H3><A NAME="utilities">Utilities</A></H3>

    <H4>extract</H4>
	Extract a compressed entry out of the original game data file.<P>

	Read the knowledge bases which entry contains what.

    <H5>Usage: extract data-file entry output</H5>
    <UL>
    <LI>data-file<BR>
	Compressed input data file. (normally maindat.war)
    <LI>entry<BR>
	Entry number of the data-file.
    <LI>output<BR>
	Output file for the uncompressed entry.
    </UL>

    <H4>gfx2png</H4>
	Convert compressed graphic (unit sprites) to png graphic file.

    <H5>Usage: gfx2png palette file.gfx</H5>
    <UL>
    <LI>palette<BR>
	Use palette in png file. "palette" is a raw file containing 768
	bytes for 256 colors of r g b.
    <LI>file.gfx<BR>
	File.gfx contains the graphics of the sprites. The output file is
	file.png.
    </UL>

    <H4>gfu2png</H4>
	FIXME: must write docu.

    <H4>img2png</H4>
	FIXME: must write docu.

    <H4>cur2png</H4>
	FIXME: must write docu.

    <H4>fnt2png</H4>
	FIXME: must write docu.

    <H4>tile2png</H4>
	FIXME: must write docu.

    <H4>aledoc</H4>
	FIXME: must write docu.

    <H2><A NAME="arts">Arts</A></H2>

    Following things are used from other peoples. If not other mentioned,
    protected by the following license <A HREF="opl.html">"OpenContent License"
    </A></B>

    <DL>
    <DT>cross.png, health.png, mana.png.
    <DD>(c) Copyright 1998-2001 by Johns.
    <DT>food.png
    <DD>Food resource icon (c) Copyright 2000 by the Guardian.
    <DT>score.png
    <DD>Score icon in resource (c) Copyright 2000 by the Guardian.
    <DT>ore,stone,coal.png
    <DD>Orc, Stone and coal icon in resource (c) Copyright 2000 by the Guardian.
    <DT>freecraft.bmp, freecraft.ico
    <DD>The FreeCraft icon (c) Copyright 2000 by Kyle.
    </DL>

    <H2><A NAME="thanks">Thanks</A></H2>

    Thanks to following people for helping me develop FreeCraft:
    <UL>
    <LI>Ari
    <LI>Edgar
    <LI>Valery Shchedrin
    <LI>Iftikhar Rathore
    <LI>Charles K Hardin
    <LI>Fabrice Rossi
    <LI>DigiCat
    <LI>Josh Cogliati
    <LI>Patrick Mullen
    <LI>Vladi Shabanski
    <LI>Cris Daniluk
    <LI>Patrice Fortier
    <LI>FT Rathore
    <LI>Trent Piepho
    <LI>Josh Cogliati
    <LI>Jon Gabrielson
    <LI>Lukas Hejtmanek
    <LI>Steinar Hamre
    <LI>Ian Farmer
    <LI>Sebastian Drews
    <LI>Jarek Sobieszek
    <LI>Anthony Towns
    <LI>Stefan Dirsch
    <LI>Al Koskelin
    <LI>George J. Carrette
    <LI>Guardian
    <LI>Michael O'Reilly
    <LI>Dan Hensley
    <LI>Sean McMillian
    <LI>Mike Earl
    <LI>Ian Turner
    <LI>David Slimp
    <LI>Iuri Fiedoruk
    <LI>Luke Mauldin
    <LI>Natan Adams
    <LI>Stephan Rasenbergver
    <LI>Dave Reed
    <LI>Josef Spillner
    <LI>James Dessart
    <LI>Jimmy Salmon
    <LI>Jan Uerpmann
    <LI>Aaron Berger
    <LI>Latimerius
    </UL>
    <P><EM>And to all I have forgot to write up!</EM><BR>
    Please drop me an email, if I forgot you.

    <H2><A NAME="contents">Contents</A></H2>

<UL>
    <LI><A HREF="#copyright">Copyright</A>
    <LI><A HREF="#disclaimer">Disclaimer</A>
    <LI><A HREF="#introduction">Introduction</A>
    <LI><A HREF="#install">Install</A>
    <LI><A HREF="#upgrade">Upgrade</A>
    <LI><A HREF="#changes">Changes</A>
    <LI><A HREF="#todo">To-do</A>
    <LI><A HREF="#faq">FAQ</A>
    <LI><A HREF="#features">Features</A>
    <LI><A HREF="#open-projects">Open projects</A>
    <LI><A HREF="#documentation">Documentation</A>
    <UL>
	<LI><A HREF="#commandline">Command line options</A>
	<LI><A HREF="#ccl">CCL: FreeCraft Configuration language</A>
	<LI><A HREF="#internal">Internal Formats</A>
	<UL>
	    <LI><A HREF="#internal-tileset">Tileset</A>
	    <LI><A HREF="#internal-ui">User interface</A>
	    <LI><A HREF="#internal-sprites">Sprites</A>
	    <LI><A HREF="#internal-sounds">Sounds</A>
	    <LI><A HREF="#internal-palette">Palette</A>
	</UL>
    </UL>
    <LI><A HREF="#utilities">Utilities</A>
    <UL>
    </UL>
    <LI><A HREF="#arts">Arts</A>
    <LI><A HREF="#thanks">Thanks</A>
    <LI><A HREF="#contents">Contents</A>
</UL>

<HR>
All trademarks and copyrights on this page are owned by their respective owners.
<ADDRESS><A HREF="mailto:aleclone@FreeCraft.org">The FreeCraft Project</A>
</ADDRESS></BODY></HTML>