mirror of
https://github.com/DrBeef/Raze.git
synced 2024-12-14 22:51:42 +00:00
142 lines
5 KiB
Text
142 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.
|
|||
|
|