<!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"> <meta name="keywords" content="osirion, free, game, space, trade, combat, freelancer, privateer, opengl, radiant, gpl, creative commons"> <link rel="stylesheet" type="text/css" href="osirion.css"> <link rel="icon" type="image/png" href="http://osirion.org/icon.png"> <title>Project::OSiRiON - Building the development version</title> </head> <body> <div id="page"> <!-- header and menu ======================================= --> <table class = "osirionmenu" width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <td> <a href="http://osirion.org"><img class="osirionmenu" src="images/banner.png" alt="Project::OSiRiON"></a> </td> </tr><tr> <td class="osirionmenu"> <a class="osirionmenu" href="http://osirion.org/">News</a> . <a class="osirioncurrent" href="index.html">Documentation</a> . <a class="osirionmenu" href="http://osirion.org/index.php?page=screenshots">Screenshots</a> . <a class="osirionmenu" href="http://osirion.org/index.php?page=downloads">Downloads</a> . <a class="osirionmenu" href="http://osirion.org/forum/">Forum</a> . <a class="osirionmenu" href="http://osirion.org/wiki/">Wiki</a> . <a class="osirionmenu" href="http://osirion.org/tracker/">Tracker</a> </td> </tr> </table> <div id="pagecontent"> <!-- Building the development version ====================== --> <div class="content"> <h1 class="content">Building the development version</h1> <p class="content"> The latest release is usually lagging behind current development. If you want to check the latest developments for yourself, you can get the most recent source code and game data from the subversion repository. </p> <p class="content"> Building the development version is very similar to <a href="installation_source.html">building from source code</a>. The system requirements still apply. Additionally you will need a subversion client. </p> <ul class="content"> <li class="content"><a href="#download_source">Obtaining the source code</a> <li class="content"><a href="#download_data">Obtaining the game data</a> <li class="content"><a href="#configure">Configuring the source code</a> <li class="content"><a href="#building">Building the binaries</a> <li class="content"><a href="#running">Running</a> <li class="content"><a href="#updating">Updating</a> <li class="content"><a href="#source_data">Source data</a> <span class="superscript">optional</span> <li class="content"><a href="#radiant_support">Radiant support files</a> <span class="superscript">optional</span> <li class="content"><a href="#organization">Organization of the distribution</a> </ul> <p></p> </div> <!-- class="content" --> <!-- Obtaining the source code ===================================== --> <div class="content"> <h2 class="content" id="download_source">Obtaining the source code</h2> <p class="content"> 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="fixed"> svn checkout svn://osirion.org/osirion osirion </div> <p class="content"> On windows, you can use the Turtoisesvn SubVersion client to access the SVN repositories. You can download it here: </p> <ul class="content"> <li class="content"><a href="http://tortoisesvn.tigris.org">http://tortoisesvn.tigris.org</a> </ul> <p class="content"> Enter the new directory: </p> <div class="fixed"> cd osirion </div> <p class="content"></p> </div> <!-- class="content" --> <!-- Obtaining the game data ======================================= --> <div class="content"> <h2 class="content" id="download_data">Obtaining the game data</h2> <p class="content"> 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 class="content"> <li class="content"><a href="svn://osirion.org/osirion-data">svn://osirion.org/osirion-data</a> </ul> </p> <p class="content"> 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="fixed"> svn checkout svn://osirion.org/osirion-data data </div> <p class="content"></p> </div> <!-- class="content" --> <!-- Configuring the source code =================================== --> <div class="content"> <h2 class="content" id="configure">Configuring the source code</h2> <p class="content"> Create the configure script: </p> <div class="fixed"> autoreconf -i </div> <p class="content"> Create a build directory, If something goes wrong, or building doesn't work any more after updating, you can just delete the build directory and start over without destorying the working copy. Enter the build directory and configure the source code: </p> <div class="fixed"> mkdir build<br> cd build<br> ../configure --with-bullet=/usr/local --enable-static-bullet </div> <p class="content"> Use the <span class="fixed">--help</span> option to get a list of all available options: </p> <div class="fixed"> ../configure --help </div> <p class="content"> If you want to use clang, you'll need pass the <fixed>-Wno-overloaded-virtual</fixed> switch to the compiler, to prevent the build from failing with a warning on the bullet header files: </p> <div class="fixed"> CC=clang CXX=clang++ CXXFLAGS="-Wno-overloaded-virtual" ../configure </div> <p class="content"></p> </div> <!-- class="content" --> <!-- Building the binaries ========================================== --> <div class="content"> <h2 class="content" id="building">Building the binaries</h2> <p class="content"> Compile the source code: </p> <div class="fixed"> make -j2 </div> <p class="content"> The <span class="fixed">-j2</span> options tells make to use two threads while building, if you have a quad-core cpu, you can use <span class="fixed">-j4</span>. </p> <p class="content"> The binaries will be built in the <span class="fixed">src/</span> subdirectory of the build directory. </p> <p class="content"> <b>Important</b>:<br> <span class="fixed">make install</span> is not supported. Results are unpredictable. </p> <p class="content"> Leave the build directory: </p> <div class="fixed"> cd .. </div> <p class="content"></p> </div> <!-- class="content" --> <!-- Running ======================================================= --> <div class="content"> <h2 class="content" id="running">Running</h2> <p class="content"> 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 class="content"> To start the client: </p> <div class="fixed"> ./build/src/osirion </div> <p class="content"> 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 class="content"> To start the dedicated server: </p> <div class="fixed"> ./build/src/osiriond </div> <p class="content"> 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> <!-- class="content" --> <!-- Updating ====================================================== --> <Div class="content"> <h2 class="content" id="updating">Updating</h2> <p class="content"> Once you downloaded the source code and the game data from 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> <p class="content"> Update the source code: </p> <div class="fixed"> cd osirion<br> cd build<br> make clean<br> cd ..<br> svn update </div> <p class="content"> Update the game data: </p> <div class="fixed"> cd data<br> svn update<br> cd .. </div> <p class="content"> Rebuild the binaries: </p> <div class="fixed"> autoreconf<br> cd build<br> ../configure --with-bullet=/usr/local --enable-static-bullet<br> make -j2<br> cd .. </div> <p class="content"></p> </div> <!-- class="content" --> <!-- Source data =================================================== --> <div class="content"> <h2 class="content" id="source_data">Source data (optional)</h1> <p class="content"> 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 class="content"> To download the source data from the subversion repository: </p> <div class="fixed"> svn checkout svn://osirion.org/osirion-data-src data-src </div> <p class="content"></p> </div> <!-- class="content" --> <!-- Radiant support files ========================================= --> <div class="content"> <h2 class="content" id="radiant_support">Radiant support files (optional)</h1> <p class="content"> You can skip this section if you do not intent to create models with netradiant or gtkradiant 1.5. These files probably won't work with other versions. You can find precompiled netradiant packages here: <ul class="content"> <li class="content"><a href="http://ingar.satgnu.net/gtkradiant">http://ingar.satgnu.net/gtkradiant</a> </ul> <p class="content"> 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 class="content"> Copy the support files to the gtkradiant folder: </p> <div class="fixed"> cd data<br> cd gtkradiant<br> cp -vr * /usr/local/games/netradiant </div> <p class="content"> 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="fixed"> enginepath_linux= </div> <p class="content"> 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="fixed"> enginepath_linux="/home/user/osirion/data" </div> <p class="content"> Save the changes. </p> </div> <!-- class="content" --> <!-- Organization of the distribution ============================== --> <Div class="content"> <h2 class="content" id="organization">Organization of the distribution</h1> <pre> /doc Documentation index.html Documentation content attributions.html List of game data attributions installation_release.html Installing the latest release installation_source.html Building from source code installation_develop.html Building the development version (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 .obj format) /particles particle definitions /textures game world textures /gtkradiant radiant support files </pre> </div> <!-- div content --> <!-- footer ================================================ --> </div> <!-- div pagecontent --> <div id="pagefooter"> <div class="floatright"> <a href="http://validator.w3.org/check?uri=referer"> <img src="http://www.w3.org/Icons/valid-html401" alt="Valid HTML 4.01 Strict" height="31" width="88"> </a> </div> <p> Copyright © 2007-2012 Project::OSiRiON </p> </div> </div> </body> </html>