___________ _________ _____ __ \_ _____/______ ____ ____ \_ ___ \____________ _/ ____\/ |_ | __) \_ __ \_/ __ \_/ __ \/ \ \/\_ __ \__ \\ __\\ __| | \ | | \/\ ___/\ ___/\ \____| | \// __ \| | | | \___ / |__| \___ >\___ >\______ /|__| (____ /__| |__| \/ \/ \/ \/ \/ ______________________ ______________________ T H E W A R B E G I N S FreeCraft - A free fantasy real time strategy game engine
(C) Copyright 1998-2003 by The FreeCraft Project. Distributed under the "GNU General Public License"
If you make bigger changes please always extend the copyright with your name.
FreeCraft development Archives
Subscribe FreeCraft development
FreeCraft real-time strategy game engine - Tracker - Bugs
And the planned tasks here:
FreeCraft real-time strategy game engine - Tasks
Before doing some work, please ask on the mailing list, whether anybody else is doing the same thing and write what you plan to do to avoid that someone else starts the same work.
You find all information about CVS on SourceForge.
CVS on SF - rookie should read it. General, should read it, *too*.
A "quick & dirty" guide
Read after the Win32 Guide & Howto
There's a tool to help
Install CVS, CVS-BOOK, and if you like, a CVS GUI.
In Debian: apt-get install cvs; apt-get install cvsbook; apt-get install lincvs
All you need to use with the original WC2 CD. The sources is licenced under the terms of the GPL (GNU General Public License). This module is needed for development.
This module will be removed.
A collection of free sounds and music, GPL (GNU General Public License) prefered. But each file can have its own license, so please read.
This module will be removed.
A collection of free graphics, animations and models, GPL (GNU General Public License) prefered. But each file can have its own license, so please read.
This will be the replacement of FcSP and FcGP.
A collection of free media (free sounds, music, videos, graphics, animations and models), GPL (GNU General Public License) prefered. But each file can have its own license, so please read.
A map editor for FreeCraft. This project has just started and also needs more developers.
Make somewhere a directory FreeCraft. Enter this directory.
cvs -d:pserver:anonymous@cvs.freecraft.sourceforge.net:/cvsroot/freecraft login
"When prompted for a password for anonymous, simply press the Enter key."
cvs -z3 -d:pserver:anonymous@cvs.freecraft.sourceforge.net:/cvsroot/freecraft co freecraft
cvs -z3 -d:pserver:anonymous@cvs.freecraft.sourceforge.net:/cvsroot/freecraft co crafted
cvs -z3 -d:pserver:anonymous@cvs.freecraft.sourceforge.net:/cvsroot/freecraft co fcgp
cvs -z3 -d:pserver:anonymous@cvs.freecraft.sourceforge.net:/cvsroot/freecraft co fcsp
You will now have the directories freecraft, crafted, fcpg and fcsp.
In the future, only go into any directory and enter "cvs -q update -d" to update to the latest version.
export CVS_RSH=ssh
cvs -z3 -d:ext:developername@cvs.freecraft.sourceforge.net:/cvsroot/freecraft co freecraft
cvs -z3 -d:ext:developername@cvs.freecraft.sourceforge.net:/cvsroot/freecraft co crafted
cvs -z3 -d:ext:developername@cvs.freecraft.sourceforge.net:/cvsroot/freecraft co fcgp
cvs -z3 -d:ext:developername@cvs.freecraft.sourceforge.net:/cvsroot/freecraft co fcsp
You will now have the directories freecraft, crafted, fcpg and fcsp.
In the future only go into any directory and enter "cvs -q update -d" to get the latest version. You'll be prompted to enter your ssh password.
gcc-2.95 preferred. Old gcc 2.96 can't compile FreeCraft. gcc 3.0 produce many wrong! warnings.
Contains the symlinks, headers, and object files needed to compile and link programs which use the standard C library.
libpng is a library implementing an interface for reading and writing PNG (Portable Network Graphics) format files.
zlib is a library implementing the deflate compression method found in gzip and pkzip. This package includes the development support files.
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.
Very simply, SDL is a library that allows you portable low level access to a video framebuffer, audio output, mouse, and keyboard.
This package contains the files needed to compile and link programs which use SDL.
If not included in your distribution you can get it here.
gcc-2.95 preferred. Old gcc 2.96 can't compile FreeCraft. gcc 3.0 produce many wrong! warnings.
libpng is a library implementing an interface for reading and writing PNG (Portable Network Graphics) format files.
zlib is a library implementing the deflate compression method found in gzip and pkzip. This package includes the development support files.
Very simply, SDL is a library that allows you portable low level access to a video framebuffer, audio output, mouse, and keyboard.
This package contains the files needed to compile and link programs which use SDL.
If not included in your distribution you can get it here.
In order to compile FreeCraft with VC++ follow these instructions:
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.
MinGW is a collection of header files and import libraries that allow one to use GCC and produce native Win32 programs that do not rely on any 3rd-party DLLs.
Informations how to use MingGW and libSDL for cross development and native development.
Compiler package for Windows, built by Sam Lantinga.
My build is based on the above. Contains SDL 1.2.4, libpng, zlib. libbz2 and libzzip. Install this, download the newest FreeCraft source and start FreeCraft development under Windows. Come on!
If unclear, please download only this.
You can download or order it here.
This isn't supported yet. If you know the links and how to use, please publish this.
Required, you can download a ready and compiled development version here: lpngce108a.zip or author site
Required, you can download a ready and compiled development version here: zlibce12.zip or author site
Required, or you should write a new WinCE hardware driver for FreeCraft. You will find information about SDL on the libSDL home and you can download it here and workbench and project.
Not required and no WinCE version found.
Not required and no WinCE version found.
With the sources from CVS, you can continue working.
Note: WinCE isn't supported yet.
Type 'make help' to get an overview what all could be made.
'make depend'
and then
'make'
is all you need, most times.
I have prepared some extra documentation:
/** ... */
Multi line source code documentation.
/// ...
Single line source code documentation.
//@{ or /*@{*/
Start grouping.
//@} or /*@}*/
End grouping.
Please read the documentation of the programs.
// ___________ _________ _____ __ // \_ _____/______ ____ ____ \_ ___ \____________ _/ ____\/ |_ // | __) \_ __ \_/ __ \_/ __ \/ \ \/\_ __ \__ \\ __\\ __| // | \ | | \/\ ___/\ ___/\ \____| | \// __ \| | | | // \___ / |__| \___ >\___ >\______ /|__| (____ /__| |__| // \/ \/ \/ \/ \/ // ______________________ ______________________ // 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} */ // // (c) Copyright 2003 by {insert your name here} // // 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; only version 2 of the License. // // 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. // // $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. //@}
I suggest: (Linux kernel coding style)
Follow the following steps:
./autogen.sh
make
./src/crafted
Note: the first time you must enter your path to the FcMP/original data directory. For more documentation please look into the docs directory.
./configure
make
./src/crafted
Note: the first time you must enter your path to the FcMP/original data directory. For more documentation please look into the docs directory.