mirror of
https://github.com/DrBeef/Raze.git
synced 2024-12-15 07:01:21 +00:00
09f0c239b6
git-svn-id: https://svn.eduke32.com/eduke32@5 1a8010ca-5511-0410-912e-c29ae57300e0
141 lines
5 KiB
Text
141 lines
5 KiB
Text
Build Source Port by Jonathon Fowler
|
||
With contributions by Ken Silverman
|
||
|
||
ReadMe Information
|
||
|
||
|
||
First Source Release: 9 March 2003
|
||
This Release: 9 October 2005
|
||
|
||
|
||
|
||
A Few Notes and Words
|
||
---------------------
|
||
This is a release of the source code to my port of Ken
|
||
Silverman's Build game engine [1]. The port intends to bring the engine
|
||
source up to speed so that it may be used more easily with modern
|
||
operating systems on the x86 platform, like Microsoft Windows and *nix-
|
||
like ones such as Linux and BSD.
|
||
WinBuild is the name I give to the Windows target of this port.
|
||
It uses native Windows APIs like DirectX and the GDI to provide close
|
||
interaction with Windows for the sake of performance.
|
||
I have also developed a more platform-independant layer for
|
||
use on systems other than Windows by way of the Simple Direct-media
|
||
Layer (SDL) [2]. This layer should assist as a basis for further system
|
||
ports or for easier implementation on the platforms SDL supports.
|
||
Work on this port is a continuing process. I welcome the
|
||
contributions of programmers who have something they'd like to add (or
|
||
fix).
|
||
|
||
|
||
Configuration
|
||
-------------
|
||
Runtime settings for BUILD.EXE and GAME.EXE are set in build.cfg
|
||
and game.cfg respectively. These files are normal text files. The
|
||
original SETUP.DAT that is used in Ken's original code is not used in
|
||
this port. The config files are automatically created on the first run of
|
||
the game or editor.
|
||
|
||
|
||
Building the Source
|
||
-------------------
|
||
I build the Windows binaries using the following tools and libraries:
|
||
* MSYS ('Current' version) (http://www.mingw.org)
|
||
* MinGW ('Current' version) (http://www.mingw.org)
|
||
* NASM (http://nasm.sourceforge.net/)
|
||
* DirectX 6 or above headers and import libraries
|
||
DX6: (http://www.libsdl.org/extras/win32/common/directx-devel.tar.gz)
|
||
DX9: (http://www.microsoft.com/downloads/details.aspx?FamilyID=afc15f29-d7c9-4cf7-a8d5-8ab81f14ae1b&DisplayLang=en)
|
||
* SDL 1.2 (http://www.libsdl.org/download-1.2.php)
|
||
SDL is only used for the SDL interface layer and may be
|
||
omitted if building the DirectX version.
|
||
* FMOD (http://www.fmod.org)
|
||
|
||
Some good MinGW guides and whatnot:
|
||
- http://www.libsdl.org/extras/win32/mingw32/README.txt
|
||
- http://www.spacejack.org/games/mingw/
|
||
|
||
The engine compiles under Linux, FreeBSD, and NetBSD with minimal/no
|
||
modification.
|
||
|
||
Building the source involves just typing "make" in the directory
|
||
where you have unpacked the source. Windows users should make sure the
|
||
directory structure in the ZIP is maintained on extraction. The default
|
||
interface layer on Windows is the DirectX interface. This can be overriden
|
||
to the SDL one by using the command "make RENDERTYPE=SDL" instead. Linux
|
||
builds will always use SDL.
|
||
|
||
For compilation on other operating systems, see the addendum "Other OSes".
|
||
|
||
|
||
Things Missing
|
||
--------------
|
||
Nothing much is missing anymore. Networking is being improved as
|
||
time passes.
|
||
|
||
|
||
Bugs and Whatnot
|
||
----------------
|
||
I'm sure during my hacking I've perhaps introduced a bug here or
|
||
there. I want to try and nail these as I can. If you think you've found
|
||
a bug I would certainly like to hear about it. If you get it to crash,
|
||
a crash dump would be extremely helpful. Contact me using the details
|
||
found below.
|
||
|
||
|
||
Points of Contact
|
||
-----------------
|
||
The official location for this port on the WWW is at
|
||
http://jonof.edgenetwork.org/?p=jfbuild where the latest binaries and
|
||
source may be found. You can contact me via email at jonof@edgenetwork.org
|
||
|
||
|
||
Credits and Thanks
|
||
------------------
|
||
* Ken Silverman for his patience, help, and guidance in this. I
|
||
realise my rambling is taxing but your wisdom is invaluable.
|
||
* The folks at icculus.org for inspiring me to try and equal their
|
||
work done in the first public port of the engine.
|
||
* Do I dare mention myself?
|
||
* Pimping the edgenetwork (http://www.edgenetwk.com) who host my
|
||
site wouldn't go astray.
|
||
* P<>r Karlsson for his contributions
|
||
|
||
|
||
Can't think of anything else at the moment, so, enjoy!
|
||
|
||
Jonathon Fowler
|
||
|
||
|
||
[1] http://www.advsys.net/ken/buildsrc
|
||
[2] http://www.libsdl.org
|
||
|
||
|
||
Addendum: Other OSes
|
||
--------------------
|
||
|
||
QNX 6.2.1:
|
||
I got the engine compiling and running on QNX 6.2.1 on the
|
||
23rd November 2005. The QNX 6.2.1 Non-commercial CDROM includes
|
||
the GCC 2.95-series compiler (though you do have to install the
|
||
package), and the only extra library you need to obtain and
|
||
install (probably from source like I did) is SDL 1.2.9 or newer.
|
||
You also have to disable linking to fmod and use the
|
||
sound_stub.$o in the Makefile.
|
||
|
||
SkyOS 5 beta 8.5:
|
||
Disabling fmod and using sound_stub.$o in the Makefile will get
|
||
it running.
|
||
|
||
Solaris 9:
|
||
Because of how Solaris seems to set itself up, you need to:
|
||
1. Edit Makefile and change AR to be 'gar' and RANLIB to be
|
||
'granlib'
|
||
2. Edit Makefile.shared and add (I think) /opt/sfw/bin/
|
||
to the start of SDLCONFIG's value
|
||
3. Disable fmod and use sound_stub.$o in Makefile
|
||
|
||
BSD:
|
||
Disable fmod and use sound_stub.$o in the Makefile. Use 'gmake'
|
||
to build.
|
||
|