2001-05-30 08:20:03 -06:00
|
|
|
<HTML><HEAD>
|
2000-03-25 15:38:54 -07:00
|
|
|
<!--
|
|
|
|
---- $Id$
|
2001-05-30 08:20:03 -06:00
|
|
|
|
2002-01-09 10:33:51 -07:00
|
|
|
---- (c) Copyright 2001,2002 by Lutz Sammer
|
2001-05-30 08:20:03 -06:00
|
|
|
|
|
|
|
---- FreeCraft is free software; you can redistribute it and/or modify
|
|
|
|
---- it under the terms of the GNU General Public License as published by
|
|
|
|
---- the Free Software Foundation; either version 2 of the License, or
|
|
|
|
---- (at your option) any later version.
|
|
|
|
|
|
|
|
---- FreeCraft is distributed in the hope that it will be useful,
|
|
|
|
---- but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
---- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
---- GNU General Public License for more details.
|
2000-03-25 15:38:54 -07:00
|
|
|
-->
|
2000-04-03 16:57:37 -06:00
|
|
|
<TITLE>Development for FreeCraft Version 1.17</TITLE>
|
2000-03-25 15:38:54 -07:00
|
|
|
</HEAD>
|
|
|
|
<BODY>
|
2000-04-03 16:57:37 -06:00
|
|
|
<H1>Development for FreeCraft Version 1.17</H1>
|
2000-03-25 15:38:54 -07:00
|
|
|
<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>
|
2002-01-09 10:33:51 -07:00
|
|
|
<P><B>(C) Copyright 1998-2002 by The FreeCraft Project. Distributed under the
|
2001-05-30 08:20:03 -06:00
|
|
|
<A HREF="gpl.html">"GNU General Public License"</A></B>
|
2000-03-25 15:38:54 -07:00
|
|
|
<HR>
|
|
|
|
|
2001-05-30 08:20:03 -06:00
|
|
|
This file should give you some information to help to develop FreeCraft.<P>
|
|
|
|
If you make bigger changes please always extend the copyright with your name.<P>
|
|
|
|
|
|
|
|
<H2>Mailing list</H2>
|
|
|
|
|
|
|
|
If you want to develop for FreeCraft you should join the development mailing
|
|
|
|
list.<P>
|
|
|
|
|
|
|
|
<A HREF="http://www.geocrawler.com/redir-sf.php3?list=freecraft-hackers">FreeCraft development Archives</A><P>
|
|
|
|
<A HREF="http://lists.sourceforge.net/mailman/listinfo/freecraft-hackers">Subscribe FreeCraft development</A><P>
|
|
|
|
|
2001-07-25 15:58:52 -06:00
|
|
|
<H2>IRC - Internet Relay Chat</H2>
|
|
|
|
|
2002-03-01 18:30:59 -07:00
|
|
|
You can try to meet other FreeCraft developers and users on IRC:
|
|
|
|
<A HREF="http://www.openprojects.net/">OPN</A> OpenProjects Network, channel
|
2001-07-25 15:58:52 -06:00
|
|
|
#FreeCraft.
|
|
|
|
|
2001-05-30 08:20:03 -06:00
|
|
|
<H2>Bugs and tasks</H2>
|
|
|
|
|
2001-06-18 09:17:13 -06:00
|
|
|
You can find known bugs here:<P>
|
2001-05-30 08:20:03 -06:00
|
|
|
|
|
|
|
<A HREF="http://sourceforge.net/tracker/?group_id=1965&atid=101965">FreeCraft real-time strategy game engine - Tracker - Bugs</A><P>
|
|
|
|
|
|
|
|
And the planned tasks here:<P>
|
|
|
|
|
|
|
|
<A HREF="http://sourceforge.net/pm/task.php?group_project_id=1539&group_id=1965&func=browse">FreeCraft real-time strategy game engine - Tasks</A><P>
|
|
|
|
|
2001-07-27 13:03:39 -06:00
|
|
|
Before doing some work, please ask on the mailing list, whether anybody else is
|
2001-07-21 10:10:25 -06:00
|
|
|
doing the same thing and write what you plan to do to avoid that someone else
|
2001-06-18 09:17:13 -06:00
|
|
|
starts the same work.
|
2000-03-25 15:38:54 -07:00
|
|
|
|
2001-07-21 10:10:25 -06:00
|
|
|
<H2>Compiling, tools, and libraries</H2>
|
2001-06-18 08:20:24 -06:00
|
|
|
|
|
|
|
<H3>Installing CVS client</H3>
|
|
|
|
|
2001-07-21 10:10:25 -06:00
|
|
|
If you want to help develop, it is the best that you use CVS. To do so, first you
|
2001-06-18 08:20:24 -06:00
|
|
|
need CVS for your system.<P>
|
|
|
|
|
2001-07-21 10:10:25 -06:00
|
|
|
You find all information about CVS on <A HREF="http://www.sourceforge.net/">
|
2001-06-18 08:20:24 -06:00
|
|
|
SourceForge</A>.<P>
|
|
|
|
|
|
|
|
<UL>
|
|
|
|
<LI><A HREF="http://sourceforge.net/docman/display_doc.php?docid=763&group_id=1">
|
|
|
|
Sourceforge: CVS HOWTO</A><P>
|
|
|
|
CVS on SF - rookie should read it. General, should read it, *too*.
|
|
|
|
<LI><A HREF="http://sourceforge.net/docman/display_doc.php?docid=767&group_id=1">
|
|
|
|
Win32/CVS/SSH HowTo</A><P>
|
|
|
|
A "quick & dirty" guide
|
|
|
|
<LI><A HREF="http://sourceforge.net/docman/display_doc.php?docid=769&group_id=1">
|
|
|
|
Win32/CVS/SSH addendum for WinCVS</A><P>
|
|
|
|
Read after the Win32 Guide & Howto
|
|
|
|
<LI><A HREF="http://sourceforge.net/docman/display_doc.php?docid=770&group_id=1">
|
|
|
|
SourceForge setup tool for CVS/SSH/Win32</A><P>
|
|
|
|
There's a tool to help
|
|
|
|
<LI>Linux<P>
|
2002-03-01 18:30:59 -07:00
|
|
|
Install CVS, CVS-BOOK, and if you like, a CVS GUI.
|
2001-06-18 08:20:24 -06:00
|
|
|
<P>
|
2002-03-01 18:30:59 -07:00
|
|
|
In Debian: apt-get install cvs; apt-get install cvsbook; apt-get install lincvs
|
2001-06-18 08:20:24 -06:00
|
|
|
</UL>
|
|
|
|
|
|
|
|
<H3>Getting FreeCraft from CVS</H3>
|
|
|
|
|
2001-07-21 10:10:25 -06:00
|
|
|
<H4>There are four modules in CVS repository.</H4>
|
2001-06-18 08:20:24 -06:00
|
|
|
|
|
|
|
<UL>
|
|
|
|
<LI>freecraft - The FreeCraft engine source<P>
|
2001-06-18 09:17:13 -06:00
|
|
|
All you need to use with the original WC2 CD. The sources is licenced
|
|
|
|
under the terms of the GPL (GNU General Public License).
|
2001-07-21 10:10:25 -06:00
|
|
|
<B>This module is needed for development.</B>
|
2001-06-18 08:20:24 -06:00
|
|
|
|
|
|
|
<LI>fcsp - The FreeCraft Sound Project<P>
|
|
|
|
A collection of free sounds and music, GPL (GNU General Public License)
|
2002-03-01 18:30:59 -07:00
|
|
|
prefered. But each file can have its own license, so please read.
|
2001-06-18 08:20:24 -06:00
|
|
|
|
|
|
|
<LI>fcgp - The FreeCraft Graphic Project<P>
|
|
|
|
A collection of free graphics, animations and models, GPL
|
|
|
|
(GNU General Public License) prefered. But each file can have its own
|
2002-03-01 18:30:59 -07:00
|
|
|
license, so please read.
|
2001-06-18 08:20:24 -06:00
|
|
|
|
|
|
|
<LI>crafted - The FreeCraft Map Editor<P>
|
2001-07-21 10:10:25 -06:00
|
|
|
A map editor for FreeCraft. This project has just started and also needs
|
|
|
|
more developers.
|
2001-06-18 08:20:24 -06:00
|
|
|
</UL>
|
|
|
|
|
2002-03-01 18:30:59 -07:00
|
|
|
<H4>How do I access to these modules?</H4>
|
2001-06-18 08:20:24 -06:00
|
|
|
|
|
|
|
<H5>Anonymous CVS Access</H5>
|
|
|
|
|
2002-03-01 18:30:59 -07:00
|
|
|
This is for all user/developer/designer without account on SourceForge.<P>
|
2001-06-18 08:20:24 -06:00
|
|
|
|
|
|
|
Make somewhere a directory FreeCraft. Enter this directory.<P>
|
|
|
|
|
|
|
|
cvs -d:pserver:anonymous@cvs.freecraft.sourceforge.net:/cvsroot/freecraft login<BR>
|
|
|
|
<I>"When prompted for a password for anonymous, simply press the Enter key."</I><BR>
|
|
|
|
cvs -z3 -d:pserver:anonymous@cvs.freecraft.sourceforge.net:/cvsroot/freecraft co freecraft<BR>
|
|
|
|
cvs -z3 -d:pserver:anonymous@cvs.freecraft.sourceforge.net:/cvsroot/freecraft co crafted<BR>
|
|
|
|
cvs -z3 -d:pserver:anonymous@cvs.freecraft.sourceforge.net:/cvsroot/freecraft co fcgp<BR>
|
|
|
|
cvs -z3 -d:pserver:anonymous@cvs.freecraft.sourceforge.net:/cvsroot/freecraft co fcsp<P>
|
|
|
|
|
|
|
|
You will now have the directories freecraft, crafted, fcpg and fcsp.<P>
|
|
|
|
|
2002-03-01 18:30:59 -07:00
|
|
|
In the future, only go into any directory and enter "cvs -q update -d" to update to
|
2001-06-18 08:20:24 -06:00
|
|
|
the latest version.<P>
|
|
|
|
|
|
|
|
<H5>Developer CVS Access via SSH</H5>
|
|
|
|
|
|
|
|
Only project developers can access the CVS tree via this method. Substitute
|
|
|
|
<I>developername</I> with the proper values. Enter your site password when
|
|
|
|
prompted.<P>
|
|
|
|
|
|
|
|
export CVS_RSH=ssh<BR>
|
|
|
|
cvs -z3 -d:ext:<I>developername</I>@cvs.freecraft.sourceforge.net:/cvsroot/freecraft co freecraft<BR>
|
|
|
|
cvs -z3 -d:ext:<I>developername</I>@cvs.freecraft.sourceforge.net:/cvsroot/freecraft co crafted<BR>
|
|
|
|
cvs -z3 -d:ext:<I>developername</I>@cvs.freecraft.sourceforge.net:/cvsroot/freecraft co fcgp<BR>
|
|
|
|
cvs -z3 -d:ext:<I>developername</I>@cvs.freecraft.sourceforge.net:/cvsroot/freecraft co fcsp<P>
|
|
|
|
|
|
|
|
You will now have the directories freecraft, crafted, fcpg and fcsp.<P>
|
|
|
|
|
|
|
|
In the future only go into any directory and enter "cvs -q update -d" to get
|
2002-03-01 18:30:59 -07:00
|
|
|
the latest version. You'll be prompted to enter your ssh password.<P>
|
2001-06-18 08:20:24 -06:00
|
|
|
|
2001-07-25 15:58:52 -06:00
|
|
|
<H3>Getting FreeCraft without CVS</H3>
|
|
|
|
|
|
|
|
Please note CVS is always a little newer and it is easier for you to keep
|
|
|
|
up to date. But you find regular snapshots of the FreeCraft source here:
|
|
|
|
|
|
|
|
<UL>
|
2001-09-28 07:55:18 -06:00
|
|
|
<LI>FTP is no longer available
|
2001-07-25 15:58:52 -06:00
|
|
|
<LI><A HREF="http://freecraft.sourceforge.net/snapshots/">HTTP</A>
|
|
|
|
<LI><A HREF="http://freecraft.net/snapshots/">HTTP</A>
|
|
|
|
</UL>
|
|
|
|
|
2001-06-18 08:20:24 -06:00
|
|
|
<H3>Linux(tm)</H3>
|
|
|
|
|
2002-03-01 18:30:59 -07:00
|
|
|
To build Freecraft with Linux you will need the following packages. The
|
|
|
|
following list refers mainly to Debian packages. You'll have to figure out
|
|
|
|
the corresponding packages in your particular distribution.
|
2001-06-18 08:20:24 -06:00
|
|
|
<UL>
|
|
|
|
<LI>gcc - The GNU C compiler<P>
|
2002-03-01 18:30:59 -07:00
|
|
|
gcc-2.95 preferred.
|
2001-06-18 08:20:24 -06:00
|
|
|
<LI>libc6-dev - GNU C Library: Development Libraries and Header Files<P>
|
|
|
|
Contains the symlinks, headers, and object files needed to compile and link
|
|
|
|
programs which use the standard C library.
|
|
|
|
<LI>libpng2-dev - PNG library - development<P>
|
|
|
|
libpng is a library implementing an interface for reading and writing PNG
|
|
|
|
(Portable Network Graphics) format files.
|
|
|
|
<LI>zlib-dev - compression library - development<P>
|
|
|
|
zlib is a library implementing the deflate compression method found in gzip
|
|
|
|
and pkzip. This package includes the development support files.
|
|
|
|
<LI>xlibs-dev - X Window System client library development files<P>
|
|
|
|
xlibs-dev provides static versions of the libraries provided in xlibs, as
|
|
|
|
well as several libraries that do not exist in shared object form for
|
|
|
|
various reasons (such as the fact that their API's have not stabilized, or
|
|
|
|
that they are deprecated). Include files and manual pages are also
|
|
|
|
provided.
|
|
|
|
<LI>libsdl1.2-dev - Development files for Simple DirectMedia Layer<P>
|
|
|
|
Very simply, SDL is a library that allows you portable low level access to
|
|
|
|
a video framebuffer, audio output, mouse, and keyboard.<P>
|
|
|
|
This package contains the files needed to compile and link programs which
|
|
|
|
use SDL.<P>
|
|
|
|
If not included in your distribution you can get it
|
|
|
|
<A HREF="http://www.libsdl.org">here</A>.
|
|
|
|
</UL>
|
|
|
|
|
|
|
|
<H3>Windows(tm)</H3>
|
|
|
|
|
2002-03-01 18:30:59 -07:00
|
|
|
You need a C compiler for Windows. Get <B>one</B> of the following.
|
2001-06-18 08:20:24 -06:00
|
|
|
<UL>
|
|
|
|
<LI>VC or VC++<P>
|
2002-01-09 10:33:51 -07:00
|
|
|
This isn't supported by the FreeCraft team (nobody owns a VC++ kit).
|
2002-03-01 18:30:59 -07:00
|
|
|
FreeCraft should compile without errors, if you follow these instructions:
|
2001-12-08 15:03:43 -07:00
|
|
|
<UL>
|
2002-03-01 18:30:59 -07:00
|
|
|
<LI>Of course, you must buy or own a VC/VC++ 6 development kit.
|
2001-12-08 15:03:43 -07:00
|
|
|
<LI>You need <A HREF="http://www.libsdl.org">SDL</A> for VC++ (
|
|
|
|
<A HREF="http://www.libsdl.org/release/SDL-devel-1.2.3-VC6.zip">
|
|
|
|
SDL-devel-1.2.3-VC6.zip</A>.
|
|
|
|
<LI><A HREF="http;//www.libpng.org">libpng</A> for win32 and VC++.
|
2002-03-01 18:30:59 -07:00
|
|
|
Sorry, no direct download link.
|
2001-12-08 15:03:43 -07:00
|
|
|
<LI><A HREF="http;//www.zlib.org">zlib</A> for win32 and VC++.
|
2002-03-01 18:30:59 -07:00
|
|
|
Sorry, no direct download link.
|
2001-12-08 15:03:43 -07:00
|
|
|
<LI>VC++ <A HREF="http://freecraft.sourceforge.net/snapshots/fc.dsp">
|
|
|
|
workbench</A> and
|
|
|
|
<A HREF="http://freecraft.sourceforge.net/snapshots/fc.dsw">project</A>.
|
|
|
|
</UL>
|
2002-03-01 18:30:59 -07:00
|
|
|
To use the project without changes, setup your includes like the following:
|
2001-12-08 15:03:43 -07:00
|
|
|
<UL>
|
|
|
|
<LI>C:\SDL-1.2.2\include
|
|
|
|
<LI>C:\FC-010802-VC\SRC\INCLUDE
|
|
|
|
<LI>C:\LPNG120
|
|
|
|
<LI>C:\ZLIB
|
|
|
|
<LI>C:\PROGRAM FILES\MICROSOFT VISUAL STUDIO\VC98\INCLUDE
|
|
|
|
</UL>
|
2002-03-01 18:30:59 -07:00
|
|
|
If you have other versions or patches, please correct this in the project
|
2002-01-09 10:33:51 -07:00
|
|
|
settings and the libs like following:
|
2001-12-08 15:03:43 -07:00
|
|
|
<UL>
|
|
|
|
<LI>C:\LPNG120\PROJECTS\MSVC\WIN32\LIBPNG\LIB_DBG
|
|
|
|
<LI>C:\Program Files\Microsoft Visual Studio\VC98\LIB
|
|
|
|
</UL>
|
|
|
|
and add the lib files in the project:
|
2002-01-09 11:06:50 -07:00
|
|
|
<UL>
|
2001-12-08 15:03:43 -07:00
|
|
|
<LI>libpng.lib
|
|
|
|
<LI>SDLmain.lib
|
|
|
|
<LI>SDL.lib
|
|
|
|
<LI>WS2_32.lib
|
|
|
|
</UL>
|
2002-01-09 10:33:51 -07:00
|
|
|
FreeCraft should now compile with VC++ and work correct (untested!).<P>
|
2002-03-01 18:30:59 -07:00
|
|
|
<B>Please send me corrections and improvements for this, we can't test this.
|
2001-12-08 15:03:43 -07:00
|
|
|
</B>
|
|
|
|
|
|
|
|
<P><LI><A HREF="http://sources.redhat.com/cygwin/">cygwin</A><P>
|
2001-06-18 08:20:24 -06:00
|
|
|
The Cygwin tools are ports of the popular GNU development tools and
|
|
|
|
utilities for Windows. They function by using the Cygwin library which
|
|
|
|
provides a UNIX-like API on top of the Win32 API.
|
2001-12-08 15:03:43 -07:00
|
|
|
<P><LI><A HREF="http://www.mingw.org">MinGW</A><P>
|
2001-06-18 08:20:24 -06:00
|
|
|
MinGW is a collection of header files and import libraries that allow one
|
2002-03-01 18:30:59 -07:00
|
|
|
to use GCC and produce native Win32 programs that do not rely on any
|
2001-06-18 08:20:24 -06:00
|
|
|
3rd-party DLLs.<P>
|
|
|
|
|
|
|
|
<UL>
|
2002-01-09 10:33:51 -07:00
|
|
|
<LI><B>CROSSCOMPILE ONLY</B>: <A HREF="http://www.libsdl.org/Xmingw32/">
|
2001-06-18 08:20:24 -06:00
|
|
|
http://www.libsdl.org/Xmingw32/</A><P>
|
|
|
|
Informations how to use MingGW and libSDL for cross development and
|
|
|
|
native development.<P>
|
|
|
|
<LI><A HREF="http://www.libsdl.org/Xmingw32/mingw32.zip">
|
|
|
|
http://www.libsdl.org/Xmingw32/mingw32.zip</A><P>
|
2002-03-01 18:30:59 -07:00
|
|
|
Compiler package for Windows, built by Sam Lantinga.<P>
|
2001-06-18 08:20:24 -06:00
|
|
|
|
2001-08-08 12:05:52 -06:00
|
|
|
<LI><A HREF="http://prdownloads.sourceforge.net/freecraft/mingw-fc-native-010701.zip">
|
|
|
|
http://prdownloads.sourceforge.net/freecraft/mingw-fc-native-010701.zip</A><P>
|
2001-06-18 08:20:24 -06:00
|
|
|
|
2002-03-01 18:30:59 -07:00
|
|
|
My build is based on the above. Contains SDL 1.2.1, libpng, zlib.
|
|
|
|
libbz2 and libzzip. Install this, download the newest FreeCraft
|
|
|
|
source and start FreeCraft development under Windows. Come on!<P>
|
2002-01-09 10:33:51 -07:00
|
|
|
<B>If unclear, please download only this.</B>
|
2001-11-24 13:34:52 -07:00
|
|
|
</UL><P>
|
|
|
|
You can get the missing headerfile stdint.h from <A
|
|
|
|
HREF="http://freecraft.net/snapshots/stdint.h"
|
2002-01-09 10:33:51 -07:00
|
|
|
>http://freecraft.net/snapshots/stdint.h</A>, than change the line
|
|
|
|
"RULESFILE ?= Rules.make" in src/Makefile to "RULESFILE = Rules.make"
|
|
|
|
and you should copy \bin\sh.exe to \bin\bash.exe before running setup.
|
2001-09-28 07:55:18 -06:00
|
|
|
</UL>
|
|
|
|
|
2002-03-01 18:30:59 -07:00
|
|
|
<H3>Windows CE(tm) / PocketPc(tm)</H3>
|
2001-09-28 07:55:18 -06:00
|
|
|
|
|
|
|
You need a C compiler for this platform.<P>
|
|
|
|
<UL>
|
|
|
|
<LI>eMbedded Visual C++ 3.0<P>
|
|
|
|
You can download or order it <A HREF="http://www.microsoft.com/mobile/downloads/emvt30.asp">
|
|
|
|
here</A>.
|
|
|
|
<LI>CE support for Visual C++ or Visual Studio<P>
|
|
|
|
This isn't supported yet. If you know the links and how to use, please publish this.
|
|
|
|
</UL>
|
|
|
|
|
2002-03-01 18:30:59 -07:00
|
|
|
You need the following libs for WinCE.
|
2001-09-28 07:55:18 -06:00
|
|
|
<UL>
|
|
|
|
<LI>libpng<P>
|
2002-03-01 18:30:59 -07:00
|
|
|
Required, you can download a ready and compiled development version here:
|
2001-09-28 07:55:18 -06:00
|
|
|
<A HREF="http://freecraft.net/snapshots/lpngce108a.zip">lpngce108a.zip</A>
|
|
|
|
or <A HREF="http://www.tenik.co.jp/~adachi/wince/index.htm">author site</A>
|
|
|
|
<LI>zlib<P>
|
2002-03-01 18:30:59 -07:00
|
|
|
Required, you can download a ready and compiled development version here:
|
2001-09-28 07:55:18 -06:00
|
|
|
<A HREF="http://freecraft.net/snapshots/zlibce12.zip">zlibce12.zip</A>
|
|
|
|
or <A HREF="http://www.tenik.co.jp/~adachi/wince/index.htm">author site</A>
|
|
|
|
<LI>libsdl<P>
|
2002-03-01 18:30:59 -07:00
|
|
|
Required, or you should write a new WinCE hardware driver for FreeCraft. You
|
|
|
|
will find information about SDL on the
|
2001-09-28 07:55:18 -06:00
|
|
|
<A HREF="http://www.libsdl.org">libSDL home</A> and you can download it
|
|
|
|
<A HREF="http://www.libsdl.org/download-1.2.html">here</A> and
|
|
|
|
<A HREF="http://www.libsdl.org/cvs/WinCE-SDL.zip">workbench and project</A>.
|
|
|
|
<LI>bz2lib<P>
|
|
|
|
Not required and no WinCE version found.
|
|
|
|
<LI>zziplib<P>
|
|
|
|
Not required and no WinCE version found.
|
|
|
|
</UL>
|
|
|
|
|
|
|
|
Now you need the
|
|
|
|
<A HREF="http://freecraft.sourceforge.net/snapshots/FreeCraft%20CE.vcp.gz">
|
|
|
|
emVC++ project</A> and
|
|
|
|
<A HREF="http://freecraft.sourceforge.net/snapshots/FreeCraft%20CE.vcw.gz">
|
|
|
|
emVC++ workbench</A> for FreeCraft.<P>
|
|
|
|
|
|
|
|
With the sources from CVS, you can continue working.<BR>
|
|
|
|
<B>Note: WinCE isn't supported yet.</B>
|
2001-06-18 08:20:24 -06:00
|
|
|
|
2000-03-25 15:38:54 -07:00
|
|
|
<H2>Make and makefiles</H2>
|
|
|
|
|
2001-06-18 08:20:24 -06:00
|
|
|
<I>Remember the first time you must start ./setup or copy Rules.make.orig to
|
|
|
|
Rules.make and edit it.</I><P>
|
|
|
|
|
2000-03-25 15:38:54 -07:00
|
|
|
Type 'make help' to get an overview what all could be made.<P>
|
|
|
|
|
2001-05-30 08:20:03 -06:00
|
|
|
'make depend'<P>
|
|
|
|
|
2002-03-01 18:30:59 -07:00
|
|
|
and then<P>
|
2001-05-30 08:20:03 -06:00
|
|
|
|
|
|
|
'make'<P>
|
|
|
|
|
|
|
|
is all you need, most times.<P>
|
|
|
|
|
2001-03-10 16:25:40 -07:00
|
|
|
<H2>C code documentation</H2>
|
|
|
|
|
|
|
|
See below: you can use always the source code documentation.<P>
|
|
|
|
|
2002-03-01 18:30:59 -07:00
|
|
|
I have prepared some extra documentation:<P>
|
2001-03-10 16:25:40 -07:00
|
|
|
|
|
|
|
<UL>
|
|
|
|
<LI><A HREF="datadir.html">FreeCraft data file description.</A>
|
|
|
|
</UL>
|
|
|
|
|
2000-03-25 15:38:54 -07:00
|
|
|
<H2>Source code documentation</H2>
|
|
|
|
|
2002-03-01 18:30:59 -07:00
|
|
|
Valery Shchedrin has introduced tagged source documentation. I continue to
|
2000-03-25 15:38:54 -07:00
|
|
|
use them.<P>
|
|
|
|
|
|
|
|
<H3>This programs are required</H3>
|
|
|
|
|
2002-03-01 18:30:59 -07:00
|
|
|
You need one these programs to generate source code documentation.
|
2000-03-25 15:38:54 -07:00
|
|
|
<UL>
|
|
|
|
<LI><A HREF="http://www.stack.nl/~dimitri/doxygen/download.html">DoxyGen</A>
|
2001-03-13 09:44:22 -07:00
|
|
|
or <A HREF="http://www.doxygen.org">DoxyGen</A>
|
2000-03-25 15:38:54 -07:00
|
|
|
<LI><A HREF="http://www.zib.de/Visual/software/doc++/index.html">DOC++</A>
|
|
|
|
</UL>
|
|
|
|
|
|
|
|
<H3>Generate documentation from source code</H3>
|
|
|
|
|
|
|
|
Please compile and install one of the above programs.
|
2002-03-01 18:30:59 -07:00
|
|
|
With these commands you produce the documentation:
|
2000-03-25 15:38:54 -07:00
|
|
|
<UL>
|
|
|
|
<LI><EM>make doc</EM> If you use DoxyGen.
|
|
|
|
<LI><EM>make doc++</EM> If you use DOC++.
|
|
|
|
</UL>
|
|
|
|
|
|
|
|
<H3>Tags used in source code</H3>
|
|
|
|
|
|
|
|
I use the doc++ tags:<P>
|
|
|
|
|
|
|
|
/** ... */<P>
|
|
|
|
Multi line source code documentation.<P>
|
|
|
|
/// ... <P>
|
|
|
|
Single line source code documentation.<P>
|
|
|
|
//@{ or /*@{*/<P>
|
2001-05-30 08:20:03 -06:00
|
|
|
Start grouping.<P>
|
2000-03-25 15:38:54 -07:00
|
|
|
//@} or /*@}*/<P>
|
2001-05-30 08:20:03 -06:00
|
|
|
End grouping.<P>
|
2000-03-25 15:38:54 -07:00
|
|
|
|
|
|
|
<UL>
|
|
|
|
<LI>@name
|
|
|
|
<BR>Name of file or group.
|
|
|
|
<LI>@param
|
|
|
|
<BR>Describes function/macro parameter
|
|
|
|
<LI>@return
|
|
|
|
<BR>Describes function return
|
|
|
|
<LI>@see
|
|
|
|
<BR>Links to other section
|
|
|
|
</UL>
|
2001-06-18 09:17:13 -06:00
|
|
|
<P>
|
2000-03-25 15:38:54 -07:00
|
|
|
Please read the documentation of the programs.
|
|
|
|
|
2001-03-10 16:25:40 -07:00
|
|
|
<H2>Empty C prototype file</H2>
|
|
|
|
|
|
|
|
<PRE>
|
|
|
|
// ___________ _________ _____ __
|
|
|
|
// \_ _____/______ ____ ____ \_ ___ \____________ _/ ____\/ |_
|
|
|
|
// | __) \_ __ \_/ __ \_/ __ \/ \ \/\_ __ \__ \\ __\\ __\
|
|
|
|
// | \ | | \/\ ___/\ ___/\ \____| | \// __ \| | | |
|
|
|
|
// \___ / |__| \___ >\___ >\______ /|__| (____ /__| |__|
|
|
|
|
// \/ \/ \/ \/ \/
|
|
|
|
// ______________________ ______________________
|
|
|
|
// T H E W A R B E G I N S
|
|
|
|
// FreeCraft - A free fantasy real time strategy game engine
|
|
|
|
//
|
|
|
|
/**@name {filename}.c - {One line description of this file} */
|
|
|
|
//
|
2002-01-09 10:33:51 -07:00
|
|
|
// (c) Copyright 2002 by {insert your name here}
|
2001-03-10 16:25:40 -07:00
|
|
|
//
|
2001-05-30 08:20:03 -06:00
|
|
|
// FreeCraft is free software; you can redistribute it and/or modify
|
|
|
|
// it under the terms of the GNU General Public License as published
|
|
|
|
// by the Free Software Foundation; either version 2 of the License,
|
|
|
|
// or (at your option) any later version.
|
|
|
|
//
|
|
|
|
// FreeCraft is distributed in the hope that it will be useful,
|
|
|
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
// GNU General Public License for more details.
|
|
|
|
//
|
2001-03-10 16:25:40 -07:00
|
|
|
// $Id$
|
|
|
|
|
|
|
|
//@{
|
|
|
|
|
|
|
|
/*----------------------------------------------------------------------------
|
|
|
|
-- Includes
|
|
|
|
----------------------------------------------------------------------------*/
|
|
|
|
|
|
|
|
#include <stdio.h>
|
|
|
|
|
|
|
|
#include "freecraft.h"
|
|
|
|
|
|
|
|
// More game includes.
|
|
|
|
|
|
|
|
/*----------------------------------------------------------------------------
|
|
|
|
-- Variables
|
|
|
|
----------------------------------------------------------------------------*/
|
|
|
|
|
|
|
|
// Global and local variables of this module.
|
|
|
|
|
|
|
|
/*----------------------------------------------------------------------------
|
|
|
|
-- Functions
|
|
|
|
----------------------------------------------------------------------------*/
|
|
|
|
|
|
|
|
// Local and global functions of this module.
|
|
|
|
|
|
|
|
//@}
|
|
|
|
</PRE>
|
|
|
|
|
2000-03-25 15:38:54 -07:00
|
|
|
<H2>Coding style</H2>
|
|
|
|
|
|
|
|
You can use your own coding style in your own modules.
|
|
|
|
If you fix in other modules, please imitate the coding style of the old coder.
|
|
|
|
|
|
|
|
<P>I suggest: <A HREF="/usr/src/linux/Documentation/CodingStyle">
|
|
|
|
(Linux kernel coding style) </A>
|
|
|
|
<UL>
|
|
|
|
<LI>Write ANSI C.
|
|
|
|
<LI>Use 8 spaces tabulators.
|
2001-03-10 16:25:40 -07:00
|
|
|
<LI>Use 4 spaces indentation levels.
|
2001-05-30 08:20:03 -06:00
|
|
|
<LI>No line should be longer than 78 characters.
|
2000-03-25 15:38:54 -07:00
|
|
|
<LI>Use C++ comments for to end of line comments.
|
|
|
|
<LI>Use { } also for one statement blocks.
|
|
|
|
</UL>
|
|
|
|
|
2001-06-18 08:20:24 -06:00
|
|
|
<H2>Sending a patch</H2>
|
|
|
|
|
2002-03-01 18:30:59 -07:00
|
|
|
Now you made something, how this should be included into the main distribution?
|
2001-06-18 08:20:24 -06:00
|
|
|
<P>
|
|
|
|
|
2002-03-01 18:30:59 -07:00
|
|
|
Follow the following steps:<P>
|
2001-06-18 08:20:24 -06:00
|
|
|
|
|
|
|
<UL>
|
|
|
|
<LI>cvs -q update -d
|
|
|
|
<LI>cvs -q diff -u > your-nickname.diff
|
|
|
|
<LI>send the patch to <A HREF="mailto:aleclone@freecraft.org">aleclone@freecraft.org</A>
|
|
|
|
<LI>or upload it to <A HREF="http://sourceforge.net/tracker/?func=add&group_id=1965&atid=301965">patch tracker on sourceforge</A>
|
|
|
|
</UL>
|
|
|
|
|
2001-08-06 12:35:59 -06:00
|
|
|
<H2>Building FcGP</H2>
|
|
|
|
|
2002-03-01 18:30:59 -07:00
|
|
|
You always need the newest tarball from FcGP, because not all files are already
|
2001-08-06 12:35:59 -06:00
|
|
|
imported into CVS.<P>
|
|
|
|
<UL>
|
|
|
|
<LI>Download the fcgp tarball from <A HREF="http://FreeCraft.Net/snapshots/">snapshots</A>.
|
|
|
|
<LI>Get module from CVS. See above for instructions.
|
|
|
|
<LI>Unpack fcgp tarball. <I>tar vxzf fcgp-010801.tar.gz</I>
|
|
|
|
<LI>Move data directory into FcGP-CVS directory. <I>mv fcgp-010801 fcgp</I>
|
|
|
|
<LI>Enter CVS directory. <I>cd fcgp</I>
|
|
|
|
<LI>Update data tree. <I>make</I>
|
|
|
|
<LI>Test it. <I>../freecraft/freecraft</I>
|
|
|
|
</UL>
|
|
|
|
|
|
|
|
<H2>Building FcSP</H2>
|
|
|
|
|
|
|
|
You need FcGP, without this FcSP can't be used. Follow the above instructions.
|
|
|
|
<P>
|
|
|
|
<UL>
|
|
|
|
<LI>Get module from CVS. See above for instructions.
|
|
|
|
<LI>Link data directory from FcSP to FcGP. <I>ln -s fcgp/data fcsp/data</I>
|
2001-08-11 13:06:19 -06:00
|
|
|
<LI>Enter CVS directory. <I>cd fcgp</I>
|
2001-08-06 12:35:59 -06:00
|
|
|
<LI>Build data tree. <I>make</I>
|
|
|
|
<LI>Test it. <I>../freecraft/freecraft</I>
|
|
|
|
</UL>
|
|
|
|
|
|
|
|
<H2>Building CraftED from CVS</H2>
|
|
|
|
|
2001-08-11 13:06:19 -06:00
|
|
|
CraftED uses autoconf and configure. To build from CVS use.<P>
|
2001-08-06 12:35:59 -06:00
|
|
|
|
2002-01-09 10:33:51 -07:00
|
|
|
./autogen.sh --enable-new-names<BR>
|
2001-08-06 12:35:59 -06:00
|
|
|
make<BR>
|
|
|
|
./src/crafted<P>
|
|
|
|
|
|
|
|
<H2>Building CraftED from tarball</H2>
|
|
|
|
|
2001-08-11 13:06:19 -06:00
|
|
|
CraftED uses autoconf and configure. To build from tarball distribution use.<P>
|
2001-08-06 12:35:59 -06:00
|
|
|
|
2002-01-09 10:33:51 -07:00
|
|
|
./configure --enable-new-names<BR>
|
2001-08-06 12:35:59 -06:00
|
|
|
make<BR>
|
|
|
|
./src/crafted<P>
|
|
|
|
|
2000-03-25 15:38:54 -07:00
|
|
|
<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>
|