<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang="en">
<head>
	<meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8">
	<link rel="stylesheet" type="text/css" href="main.css">
	<TITLE>Project::OSiRiON - Installation Instructions</TITLE>
</head>

<body>
<div class="banner">
	<img src="images/banner.png" ALT="Project::OSiRiON">
	<br>
	Installation Instructions
</div>

<div class="text">
<p>
	<b>This document has been replaced by the information on the osirion wiki and will no longer be updated.</b>
</p>
<p>
	<a href="http://osirion.org/wiki/index.php/Installation_instructions">http://osirion.org/wiki/index.php/Installation_instructions</a>
</p>
</div>

<div class="text">
<p>
	There are two ways to install the program and the game data. You can
	either download a package from the website, or you
	can obtain the source code and compile it yourself.
<ul>
	<li><a href="#system_requirements">System Requirements</a>
	<li><a href="#packages">Using packages</a>
	<li><a href="#building_from_source">Building from source code</a>
	<li><a href="#gtkradiant">GtkRadiant 1.5.0 support files (optional)</a>
	<li><a href="#source_data">Source data (optional)</a>
</ul>
</div>

<div id="system_requirements" class="title">
	System Requirements
</div>
<div class="text">
<p>
	Before you can run the game, you must have working OpenGL libraries.
	These are usually installed by the driver package for your videocard.
</p><p>
	As for system specifications, I get around 40fps on an 
	AMD Athlon 1.4Ghz, 512Mb PC133 SDRAM, ATI Radeon 9700 Pro.
</p>
</div>
<div id="packages" class="title">
	Using packages
</div>
<div class="text">
<p>
	You can find the latest version in the downloads section of the website:<br>
	<a href="http://osirion.org/index.php?page=downloads">http://osirion.org</a>
</p>
</div>

<div class="subtitle">
	Windows
</div>

<div class="text">
<p>
	Download for 32-bit windows<br>
	<a href="http://osirion.org/files/osirion-latest-win32.zip">osirion-latest-win32.zip</a> (32-bit)<br>
	This package should work on most windows systems.
</p>
	Download for 64-bit windows<br>
	<a href="http://osirion.org/files/osirion-latest-win64.zip">osirion-latest-win64.zip</a> (64-bit)<br>
</p>
<p>
	Dowload the game data package:<br>
	<a href="http://osirion.org/files/osirion-latest-data.zip">osirion-latest-data.zip</a><br>
</p>
<p>
	Unzip the executables package to an approriate directory. Unzip the game data package
	in the new directory. For example, if the game was unzipped to 
	<span class="fixed">D:\Osirion</span> then there should be 
	a directory <span class="fixed">D:\Osirion\data\base</span> containing the game data.
</p>
<p>
	Open the game directory in explorer and click on <span class="fixed">osirion.exe</span> to start the client.
</div>

<div class="subtitle">
	Linux
</div>

<div class="text">
<p>
	Requirements:<br>
	To run the client, tour system will need to have the following packages installed: libSDL, libjpeg, libpng and libz.
	To run the dedicated server you need libz and ncurses. These are common packages and most systems will already have them installed.
	You do not need to have the bullet libraries installed. 
</p>
<p>
	Linux download:<br>
	<a href="http://osirion.org/files/osirion-latest-linux.tar.bz2">osirion-latest-linux.tar.bz2</a> (32- and 64-bit)<br>
	This package contains the linux version of the client and the server.
</p>
<p>
	Extract the package, a new subdirectory will be created. The actual directory name will depend on
	the version number. Enter the new subdirectory.
</p>
<div class="code">
tar jxvf osirion-latest-linux.tar.bz2<br>
cd osirion-linux-875
</div>
<p>
	Dowload the game data package:<br>
	<a href="http://osirion.org/files/osirion-latest-data.zip">osirion-latest-data.zip</a><br>
</p>
<p>
	Unzip it:
</p>
<div class="code">
unzip ../osirion-latest-data.zip
</div>
<p>
	 To run the 32 bit client:
</p>
<div class="code">
./osirion.x86
</div>
<p>
	 To run the 64 bit client:
</p>
<div class="code">
./osirion.x86_64
</div>
</div>

<div id="building_from_source" class="title">
	Building from source code
</div>

<div class="text">
<p>
	To build The Osirion Project from source code you will need to have
	the following libraries and development packages installed on your system.
</p>
</div>
<div class="subtitle">
      Requirements
</div>

<div class="text">
<p>

	To build the client or the dedicated server:
	<ul>
		<li>zlib
		<li><a href="http://www.bulletphysics.com/">Bullet Physics Library</a>
	</ul>
</p>
<p>
	To build the client:
	<ul>
		<li>libSDL 1.2
		<li>libpng
		<li>libjpeg
		<li>OpenGL
		<li><a href="http://connect.creativelabs.com/openal/Downloads/Forms/AllItems.aspx">OpenAL</a>
			or <a href="http://kcat.strangesoft.net/openal.html">OpenAL Soft</a>
	</ul>
</p>
<p>
	You will also need a recent version of gcc, GNU make, automake and libtool.
</p>
</div>

<div class="subtitle">
	Building on windows
</div>
<div class="text">
<p>
	You can build the source on windows using a MinGW/MSYS environment. You can use
	the instructions in <a href="http://ingar.satgnu.net/devenv/mingw32/">this document</a>
	to create a complete environment, capable of building the Project::OSiRiON source code.
	You need to install the base system described in part one, and the following packages described
	in part two: pkg-config, DirectX development files, zlib, SDL, libpng, libjpeg, OpenAL Soft, pdcurses and bullet.
</p>
</div>

<div class="subtitle">
	Building the Bullet physics library
</div>

<div class="text">
<p>
	The engine uses the <a href="http://www.bulletphysics.com/">Bullet Physics Library</a>
	for physics support. You can download the bullet source code here:
	<ul>
		<li><a href="http://code.google.com/p/bullet/downloads/list">http://code.google.com/p/bullet/downloads/list</a>
	</ul>
</p>
<p>
	To download and install the library:
</p>
<div class="code">
wget http://bullet.googlecode.com/files/bullet-2.77.tgz<br>
tar zxvf bullet-2.77.tgz<br>
cd bullet-2.77<br>
./autogen.sh<br>
./configure --prefix=/usr/local<br>
make<br>
sudo make install<br>
</div>
<p>
	I recommend you use this specific version of the library, physics behaviour could be different in other versions.
</p>
</div>

<div class="subtitle">
      Obtaining the source code
</div>
<div class="text">
<p>
	You can get the osirion project source code from the subversion repository:
	<ul>
	<li><a href="svn://osirion.org/osirion">svn://osirion.org/osirion</a>
	</ul>
</p>
<p>
	On linux, you can use the Subversion command line client tool. The following 
	command will create a new subdirectory <span class="fixed">osirion</span> and download the source code into it.
</p>
<div class="code">
svn co svn://osirion.org/osirion osirion
</div>
<p>
	On windows, you can use the Turtoisesvn SubVersion client to access the
	SVN repositories. You can download it here:
	<ul>
	<li><a href="http://tortoisesvn.tigris.org">http://tortoisesvn.tigris.org</a>
	</ul>
</p>
<p>
	You can also download the source package from the website:<br>
	<ul>
	<li><a href="http://osirion.org/files/osirion-latest-src.tar.bz2">osirion-latest-src.tar.bz2</a>
	<ul>
</p>
</div>

<div class="subtitle">
      Compiling the source code
</div>
<div class="text">
<p>
	Enter the new directory and configure the source code:
<div class="code">
cd osirion<br>
autoreconf -fi<br>
./configure<br>
</div>

<p>
	Configure will automaticly detect the bullet library if it was installed in 
	<span class=fixed>/usr</span>.
	If it was installed somewhere else you will have to pass the <span class="fixed">--with-bullet=prefix</span> option
	to configure. For example, <span class="fixed">--with-bullet=/usr/local</span> will use the bullet libraries installed in
	<span class="fixed">/usr/local/lib</span> and the includes in <span class="fixed">/usr/local/include/bullet</span>.
	 
</p>
<div class="code">
./configure --with-bullet=/usr/local
</div>
<p>
	If you add the <span class=fixed>--enable-static-bullet</span> option, the resulting binary will be staticly
	linked with the bullet libraries. They will work on systems that do not have bullet installed.
</p>
<div class="code">
./configure --with-bullet=/usr/local --enable-static-bullet
</div>
<p>
	If you do not need the client and want to build the dedicated server only
	you can pass the <span class="fixed">--without-client</span> option to <span class="fixed">configure</span>:
</p>
<div class="code">
./configure --without-client
</div>
<p>
	If <span class="fixed">configure</span> finds ncurses or pdcurses, the dedicated server will use this
	library and a have a curses console. To disable curses detection, pass the
	<span class="fixed">--without-curses</span> option to <span class="fixed">configure</span>.
</p>
<div class="code">
./configure --without-client --without-curses
</div>
<p>
	Compile the source code:
</p>
<div class="code">
make
</div>
<p>
	The binaries will be build in the <span class="fixed">src</span> subdirectory of the main distribution.
</p>
<p>
	<b>Important</b>: <span class="fixed">make install</span> is not supported. Results are unpredictable.
</p>

</div>

<div class="subtitle">
      Obtaining the game data 
</div>
<div class="text">
<p>
	The game data should be located in the <span class="fixed">data</span> subdirectory of the main distribution.
	You can use the game data package from the website or get it from the osirion-data subversion repository:
	<ul>
	<li><a href="svn://osirion.org/osirion-data">svn://osirion.org/osirion-data</a>
	</ul>
</p>
<p>
	Run the following command from within the main distribution directory to download
	the game data into the <span class="fixed">data</span> subdirectory:
</p>
<div class="code">
svn checkout svn://osirion.org/osirion-data data
</div>

</div>

<div class="subtitle">
      Executing
</div>
<div class="text">
<p>
	The client and the dedicated server will look for game data in the <span class="fixed">data</span> subdirectory 
	of the current working directory. Since the binaries are build in the <span class="fixed">src</span> you will
	have start them with the <span class="fixed">src/</span> prefix.
</p>
<p>
	To start the client:
</p>
<div class="code">
src/osirion
</div>
<p>
	If the client opens a new window and immediatly close it again, it probably could not find
	the game data and exited. Check your installation.
</p>
<p>
	To start the dedicated server:
</p>
<div class="code">
src/osiriond
</div>
<p>
	If you are using windows, the binaries will be called <span class="fixed">osirion.exe</span> and <span class="fixed">osiriond.exe</span>.
</p>
</div>

<div class="subtitle">
	Updating
</div>
<div class="text">
<p>
	If you downloaded and compiled the game and the game data fomr the subversion repository,
	there is no need to re-download the entire distribution when there are updates available.
	You can update your local copy and rebuild it.
<p>
	Update the source code:
<div class="code">
cd osirion<br>
make clean<br>
svn update
</div>
<p>
	Update the game data:
</p>
<div class="code">
cd data<br>
svn update<br>
cd ..
</div>
<p>
	Rebuild the binaries:
<div class="code">
autoreconf<br>
./configure<br>
make
</div>
</div>

<div id="gtkradiant" class="title">
	NetRadiant/GtkRadiant 1.5.0 support files (optional)
</div>
<div class="text">
<p>
	You can skip this section if you do not intent to create to create models with netradiant or
	gtkradiant 1.5.	Note that these files probably won't work with other versions. You can find precompiled
	netradiant packages here:
	<ul>
	<li><a href="http://ingar.satgnu.net/gtkradiant">http://ingar.satgnu.net/gtkradiant</a>
	</ul>
<p>
	These instructions assume gtkradiant is installed in the directory
	<span class="fixed">/usr/local/games/netradiant</span>. If it is installed in a different 
	directory on your system, edit these instructions accordingly.
<p>
	Copy the support files to the gtkradiant folder:
</p>
<div class="code">
cd data<br>
cd gtkradiant<br>
cp -vr * /usr/local/games/netradiant
</div>
<p>
	Open the file <span class="fixed">/usr/local/games/netradiant/games/osirion.game</span> in 
	your favourite editor. Look for a line that begins with:
</p>
<div class="code">
enginepath_linux=
</div>
<p>
	Make sure it points to your osirion data directory. For example,
	if you checked out the source code into <span class="fixed">/home/user/osirion</span>, 
	then the data will be in <span class="fixed">/home/user/osirion/data</span> and 
	the line should look like this:
</p>
<div class="code">
enginepath_linux="/home/user/osirion/data"
</div>
<p>
	Save the changes.
</p>
</div>

<div id="source_data" class="title">
	Source data (optional)
</div>
<div class="text">
<p>
	There is a seperate repository for files that are used to
	create the game data, like blender, gimp or vector graphics files.
	It is not necessary to download these files to play the game,
	but if you are interested in contributing to the game you
	might want to get them.
</p>
<p>
	To download the source data from the subversion repository:
</p>
<div class="code">
svn checkout svn://osirion.org/osirion-data-src data-src
</div>
</div>

<div class="title">
Organization of the distribution
</div>
<div class="text">
<pre>
/developer
	Developer documentation

/doc 	User documentation

	index.html		Documentation content
	installation.html	Installation instructions (this file)
	guide.html		Player guide
	manual.html		User manual

/src 	C++ source code

	/audio			audio library
	/auxiliary		auxiliary functions
	/client			osirion client
	/core			game-independent core library
	/dedicated		osiriond dedicated server
	/filesystem		filesystem library
	/game			game-specific functions 
		/base		base game module
		/example	example game module
		/intro		intro game module
	/math			mathematical classes and functions
	/sys			low-level system functions
	/render			render library
	/ui			user interface library

/data	Data files

	/base			game data files
		/bitmaps	essential textures
		/ini		game world definitions
		/maps		3D models (.map format)
		/materials	material definitions
		/models		3D models (.ase and other formats)
		/particles	particle definitions
		/textures	game world textures

	/gtkradiant		radiant support files
</pre>
</div>

</body>
</html>