raze-gles/polymer/eduke32/build
terminx 5be3b76e85 git-svn-id: https://svn.eduke32.com/eduke32@1125 1a8010ca-5511-0410-912e-c29ae57300e0 2008-11-11 13:45:12 +00:00
..
doc Moved build to a subdir underneath the eduke32 dir to avoid people trying to compile from the build src dir by mistake 2008-10-20 03:09:19 +00:00
include Enet networking patch from a random dude on IRC, with the addition of my own port of the "unstable" networking code from duke3d_w32 (which is what is actually used in Internet play) 2008-11-11 13:24:05 +00:00
obj.gnu Moved build to a subdir underneath the eduke32 dir to avoid people trying to compile from the build src dir by mistake 2008-10-20 03:09:19 +00:00
obj.msc Moved build to a subdir underneath the eduke32 dir to avoid people trying to compile from the build src dir by mistake 2008-10-20 03:09:19 +00:00
obj.watcom Moved build to a subdir underneath the eduke32 dir to avoid people trying to compile from the build src dir by mistake 2008-10-20 03:09:19 +00:00
rsrc Moved build to a subdir underneath the eduke32 dir to avoid people trying to compile from the build src dir by mistake 2008-10-20 03:09:19 +00:00
src git-svn-id: https://svn.eduke32.com/eduke32@1125 1a8010ca-5511-0410-912e-c29ae57300e0 2008-11-11 13:45:12 +00:00
ChangeLog Moved build to a subdir underneath the eduke32 dir to avoid people trying to compile from the build src dir by mistake 2008-10-20 03:09:19 +00:00
LICENSE Moved build to a subdir underneath the eduke32 dir to avoid people trying to compile from the build src dir by mistake 2008-10-20 03:09:19 +00:00
MakeDistributions Moved build to a subdir underneath the eduke32 dir to avoid people trying to compile from the build src dir by mistake 2008-10-20 03:09:19 +00:00
Makefile Enet networking patch from a random dude on IRC, with the addition of my own port of the "unstable" networking code from duke3d_w32 (which is what is actually used in Internet play) 2008-11-11 13:24:05 +00:00
Makefile.deps Enet networking patch from a random dude on IRC, with the addition of my own port of the "unstable" networking code from duke3d_w32 (which is what is actually used in Internet play) 2008-11-11 13:24:05 +00:00
Makefile.msvc git-svn-id: https://svn.eduke32.com/eduke32@1122 1a8010ca-5511-0410-912e-c29ae57300e0 2008-11-09 11:09:42 +00:00
Makefile.shared Enet networking patch from a random dude on IRC, with the addition of my own port of the "unstable" networking code from duke3d_w32 (which is what is actually used in Internet play) 2008-11-11 13:24:05 +00:00
Makefile.watcom Moved build to a subdir underneath the eduke32 dir to avoid people trying to compile from the build src dir by mistake 2008-10-20 03:09:19 +00:00
NAMES.H Moved build to a subdir underneath the eduke32 dir to avoid people trying to compile from the build src dir by mistake 2008-10-20 03:09:19 +00:00
README Moved build to a subdir underneath the eduke32 dir to avoid people trying to compile from the build src dir by mistake 2008-10-20 03:09:19 +00:00
buildlic.txt Moved build to a subdir underneath the eduke32 dir to avoid people trying to compile from the build src dir by mistake 2008-10-20 03:09:19 +00:00
makegnu.bat Moved build to a subdir underneath the eduke32 dir to avoid people trying to compile from the build src dir by mistake 2008-10-20 03:09:19 +00:00
makemsc.bat Moved build to a subdir underneath the eduke32 dir to avoid people trying to compile from the build src dir by mistake 2008-10-20 03:09:19 +00:00
makew.bat Moved build to a subdir underneath the eduke32 dir to avoid people trying to compile from the build src dir by mistake 2008-10-20 03:09:19 +00:00

README

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.