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.

