Building Bitfighter

From Bitfighter
Revision as of 07:46, 5 January 2010 by 97.120.105.92 (Talk)

Windows

Bitfighter can be built with MS Visual C++ 2005 Express Edition, a free download from Microsoft. Game builds with VC++ 2008, but causes odd runtime error when exiting. Public compiled versions of the game will continue to be compiled on VC++ 2005 until that issue is worked out.

Currently investigating porting of Win compilation with MinGW, to make cross-platform maintenance easier.

MinGW progress:

Install mingw

Edit various makefiles and ensure that compiler options are correct (i.e. comment/uncomment makefile lines according to the comments)

use c:\MinGW\bin\mingw32-make

  • libtomcrypt builds
  • tnl builds
  • master builds

The game itself is not compiling with MinGW, though the problem seems to be the new Lua support. I'm going to migrate from using Luna to LuaPlus, and see if that helps things. I'll update this page as appropriate.

Linux

Bitfighter should build on any major flavor of Linux. It has been tested and is known to work on Ubuntu and Centos.

The Bitfighter client depends on Freeglut and the Lua development libraries. Freeglut is not needed to build a Bitfighter dedicated server (whithout client portions).

Bitfighter must be compile with the g++ compiler, which is not included in many Linux distributions. SVN is required to obtain the source code.

To get the Bitfighter source, use SVN (check the repository for the latest version):

svn co https://zap.svn.sourceforge.net/svnroot/zap/release-012a bitfighter


Building full game client on a clean install of Ubuntu sudo apt-get update sudo apt-get install subversion sudo apt-get install g++ sudo apt-get intall freeglut-dev sudo apt-get liblua5.1-0

  1. Build the dedicated server (called bitfighterd)

cd bitfighter make # Standard build options should work

  1. Copy required files into exe folder:

cd exe cp -r ../installer/levels . cp -r ../installer/robots .


Building a dedicated server on a clean ServerHitch virtual server instance yum -y --disableplugin=fastestmirror update yum -y --disableplugin=fastestmirror install subversion yum -y --disableplugin=fastestmirror install gcc yum -y --disableplugin=fastestmirror install gcc-c++ yum -y --disableplugin=fastestmirror install zip # For archiving purposes

  1. Special steps are needed to get Lua:
  2. From http://wiki.centos.org/AdditionalResources/Repositories/RPMForge?action=show&redirect=Repositories%2FRPMForge

yum -y --disableplugin=fastestmirror install yum-priorities cd ~ wget http://apt.sw.be/redhat/el5/en/i386/RPMS.dag/rpmforge-release-0.3.6-1.el5.rf.i386.rpm rpm -i rpmforge-release-0.3.6-1.el5.rf.*.rpm

yum -y --disableplugin=fastestmirror install lua-devel

  1. Get the source code

svn co https://zap.svn.sourceforge.net/svnroot/zap/release-012a bitfighter

  1. Build the dedicated server (called bitfighterd)

cd bitfighter make dedicated LUALIB=/usr/lib/liblua.a # Lua libs are given non-standard name


  1. Copy required files into exe folder:

cd exe cp -r ../installer/levels . cp -r ../installer/robots .

OS X

Version 009 builds on OS X. Subsequent work (Lua integration) may have broken this, needs further testing.