Build Source Port by Jonathon Fowler

ReadMe Information


First Source Release: 9 March 2003
This Release:         25 May 2003



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).


Additions to GAME.EXE
---------------------
	To implement extra features I have added to the port there are
a couple of extra keys you can use:

*	The Numlock key now shows the new onscreen display (aka console)
In KenBuild it is a read-only thing but other games may choose to take
advantage of the command execution and variable setting facilities it
provides.
*	The F4 key will cycle through available video modes just like
Ken's original GAME.EXE does, but holding down either Shift key while
pressing F4 will toggle between fullscreen and windowed mode.


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. Details of the configuration options may be found in the
supplied copies of build.cfg and game.cfg.


Building the Source
-------------------
	I build the Windows binaries using the following tools and libraries:
	 * GCC 2.95.3-8 MinGW port (http://www.mingw.org)
	 * NASM 0.98.34 (http://nasm.sourceforge.net/)
	 * Binutils 2.13.90 MinGW port (http://www.mingw.org)
	 * MinGW Runtime 2.2 (http://www.mingw.org)
	 * W32API 2.0 (http://www.mingw.org)
	 * DirectX 6 headers and import libraries
	   (http://www.libsdl.org/extras/win32/common/directx-devel.tar.gz)
	 * SDL 1.2.3 (http://www.libsdl.org)
	   SDL is only used for the SDL interface layer and may be
	   omitted if building the DirectX version.
	 * FMOD 3.60 (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/

	I built an older version of this source on RedHat Linux 7.0 a
while ago and it ran but displayed no video. Linux support will be fixed
and improved Real-Soon-Now.
	I have also tried compiling the source with GCC 3.x but it failed
horribly. Until I feel compelled to modify whatever is neccessary to make
it work with GCC 3 then GCC 2.95 will be the supported compiler. This
certainly won't build on MSVC without a lot of work.
	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.


Things Missing
--------------
	So far the only thing missing is networking code. I'm working on
that. It's coming Real-Soon-Now.


Bugs and Whatnot
----------------
	A detail of the bugs fixed in this release can be found by looking
in the ChangeLog file.
	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.edgenetwk.com/buildport where the latest binaries and source
may be found. You can contact me via email at jonof@edgenetwk.com


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.


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


