To install from the CVS (advanced users only):
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
If you are a coder type:
export CVS_RSH=ssh
cvs -z3 -d:ext:(USER)@cvs.fp.princed.com.ar:/cvsroot/freeprince co FP
If you aren't just type:
cvs -z3 -d:pserver:anonymous@cvs.fp.princed.com.ar:/cvsroot/freeprince co FP
When the download is finished, you'll get the whole repository.
To make the game for the first time type:
cd FP/src
make install
The dat files will be downloaded (about 200kb), after that the
configuration will be processed and the source compiled.
The CVS code isn't a binary distribution and it needs to be compiled,
some packets are required in both cases (coders and anonymous).
Minimum requiered packages needed for a succesful source build:
awk gcc make libsdl1.2-dev
Packages needed if you want to do a "make install"
wget tar bzip2
Recomended packages
gqview bash vim cvs mawk/gawk dosbox
For the moment the only supported platform is x86. This is because of the
endian registers in the processors. We are working to finish the porting of our
abstraction disk library.
Installation (make install) is not needed if you want to build the sources,
but will download the data files needed by the game to be ran.
If you are using debian you can install the packages just typing:
apt-get install wget gcc make libsdl1.2-dev bzip2 tar
Make options:
- make compiles only the latest modified sources.
- make build compiles all the sources.
- make install downloads dat files and compiles the game.
- make checks checks for the programs needed to perform a right compilation.
- make clean deletes all the files that are generated by make
except the ones that have been downloaded.
Note that this is not dangerous at all because make build
will regenerate them.
- make download downloads the dat files.
- make headers parses the configuration files and builds the headers.
This uses all the awk stuff and is very useful to make a
package for other machines without awk installed (e.g.
machines running Windows systems). See make package.
- make it does all the necesary stuff to run the game and runs it.
- make run runs a compiled game.
- make build FS='' rebuilds the game in a non-fullscreen mode.
- make package creates a tar bz2 package with the generated headers and the
source to distribute it to systems without awk.
CVS nightly tarballs:
~~~~~~~~~~~~~~~~~~~~
Is just the last CVS stuff compressed. To install it just uncompress it and
follow the CVS installation steps (except for the cvs command).
To install from the binary distribution files:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
There isn't any distribution yet :(
Note:
~~~~
The program is very unestable, don't expect to see the original game, because we
need a lot of time more to reach something similar. Please be patient. Current
CVS distributions are just for developers or to show the improvements.
Ports:
~~~~~
Dependencies:
There are 3 dependencies:
- getopt parsing module
- dirent structure
- sdl library
Architectures:
32 bits architectures are fully supported.
64 bits architectures needs a lot of testing, bacause there are some crashes in the
state mapping module.
We need to check out the problem in Big Endian architectures, the images aren't
uncompressed properly causing Segmentation faults and SDL parachute deployment.
Operating Systems:
GNU/Linux: Fully supported
Install libsdl1.2-dev package to fix the sdl dependency.
getopt is provided by the GNU library.
Since linux is POSIX dirent is supported.
GCC Compile line:
make
Windows: Fully supported
Install the windows sdl1.2 developer package to fix the sdl dependency.
sdl.dll must be in the same directory where freeprince.exe is
getopt must be compiled also, but the port is included in the source.
Since windows is not POSIX dirent structure will be compiled also.
LCC Compile line:
make -f makefile.lcc
FreeBSD: Fully supported
Install libsdl1.2-dev package to fix the sdl dependency.
getopt must be compiled also, but the port is included in the source;
you will have to manually enable the getopt compiling adding the parameters
to the make line.
Since the OS is POSIX dirent is supported.
GCC Compile line:
make GETOPTSRC='getopt.o getopt1.o' GETOPTENABLED='-DENABLE_GETOPT'
IRIX: Partially supported
Nekoware SDL port should work as the sdl dependency.
remeber to make sdl-config accesible to the path (export PATH=$PATH:/usr/nekoware/bin)
and to make the proper symlinks for libSDL-1.2.so.1.
getopt must be compiled also, but the port is included in the source;
you will have to manually enable the getopt compiling adding the parameters
to the make line.
Dirent is supported.
GCC Compile line:
make GETOPTSRC='getopt.o getopt1.o' GETOPTENABLED='-DENABLE_GETOPT'
Note: Please read the 64 bits architectures problem above.
Mac OS X: Partially supported
Install libsdl1.2-dev package to fix the sdl dependency.
getopt must be compiled also, but the port is included in the source;
you will have to manually enable the getopt compiling adding the parameters
to the make line.
Since the OS is POSIX dirent is supported.
GCC Compile line:
make GETOPTSRC='getopt.o getopt1.o' GETOPTENABLED='-DENABLE_GETOPT'
Note: Please read the big endian architectures problem above.
Other *BSD and SunOS: Not yet supported
On the way.