DIF/GTKRadiant

From TDN

Contents

This page is a Work In Progress.


Initial Tools

Before we get to GTKRadiant, you will need to install a few tools. Download Subversion 1.3.0 and python2.3 bindings

  http://subversion.tigris.org/files/documents/15/29065/svn-1.3.0-setup.exe
  http://subversion.tigris.org/files/documents/15/29045/svn-win32-1.3.0_py.zip

Download Python 2.3, NOTE You must use 2.3 and not version 2.4. This is because the Subversion python bindings for python 2.4 do not exist yet. Read the subversion website if you're curious as to why.

http://www.python.org/ftp/python/2.3.5/Python-2.3.5.exe

Install subversion 1.3 and python2.3 into default locations.

Extract python2.3 subversion bindings and move the "libsvn" and "svn" folders into the

c:\python23\lib\site-packages\ folder

Check that the Python shell can load the SVN bindings:

Launch C:\PythonNN\Python.exe
enter "import svn.repos": it should not give any error message 
(- CTRL-Z and Enter to exit Python shell)

Since subversion recently updated to db43 you will probably find you're missing the lib. If you get an error about libdb42.dll not been found, then you'll need to download this dll. It can be found in an earlier version of the svn install (or via google). Copy it into either you site-packages/libsvn folder or into the subversion/bin folder.

GTKRadiant Building

Create a folder to store GTKRadiant and all the extra packages we'll need to download eg "C:\GTKStuff"

Download the latest GTKRadiant from svn (tortoiseSVN is highly recommended!) or you can use svn commandline: (Include text after line break for both commands!)

  svn checkout https://zerowing.idsoftware.com/svn/radiant/GtkRadiant/trunk/ 
./GtkRadiant
  svn checkout https://zerowing.idsoftware.com/svn/radiant.gamepacks/Q3Pack/trunk/ 
./GtkRadiant/games/Q3Pack

Review the "COMPILING" file in ./GtkRadiant folder. This will detail any additional steps you need to perform (I've duplicated those steps below, but check the file anyway incase things have changed since this article was written)


Download and extra the following to the directory above "GtkRadiant.sln"</P>

  - http://zerowing.idsoftware.com/files/radiant/developer/1.5/gtk2-2.4.14.zip 
  - http://zerowing.idsoftware.com/files/radiant/developer/1.5/libxml2-2.6.2.zip
  - http://zerowing.idsoftware.com/files/radiant/developer/1.5/STLport-4.6.2.zip
  - http://zerowing.idsoftware.com/files/radiant/developer/1.5/zlib1-1.2.1.zip 
  - http://zerowing.idsoftware.com/files/radiant/developer/1.5/libpng-1.2.5.zip
  - http://zerowing.idsoftware.com/files/radiant/developer/1.5/mhash-0.9.1.zip 
  - http://zerowing.idsoftware.com/files/radiant/developer/1.5/msvc_redist.zip 

If you have everything downloaded and installed correctly, you should have a folder structure similar to this:

  C:\Program Files\Subversion  <- subversion install
  c:\Python23\  <- python install
  C:\Python23\Lib\site-packages\libsvn <- svn bindings
  C:\Python23\Lib\site-packages\svn  <- svn bindings
  C:\GTKStuff\GTKRadiant <- source obtained via svn
  C:\GTKStuff\gtk2-2.4
  C:\GTKStuff\libpng-1.2
  C:\GTKStuff\libxml2-2.6
  C:\GTKStuff\mhash-0.9
  C:\GTKStuff\msvc_redist
  C:\GTKStuff\STLport-4.6
  C:\GTKStuff\zlib1-1.2

Open GtkRadiant.sln. In tools > options > projects > VC++ Directories > executables, add the paths to python.exe

(e.g. c:\python23\) and svn.exe (e.g. c:\svn\ or c:\program file\Subversion\bin depending on where you installed)

Hit 'Build > Build Solution' (F7) You should see "Build: 29 succeeded, 0 failed, 0 skipped" if all is well.

The chances are, all is not well. For whatever reason, the makeversion.py script is still failing to run, giving the error:

    File "makeversion.py", line 97, in ?
    radiant_makeversion(None)
    File "makeversion.py", line 85, in radiant_makeversion
    line = "Custom build based on revision " + str(svn.getRevision(os.getcwd()))
    AttributeError: 'module' object has no attribute 'getRevision'

However despite this it generated the version.h file, so for now we'll ignore this. If for any reason your version.h file has not been auto generated by pythons makeversion.py script then create the following file:


C:\GTKStuff\GtkRadiant\include\version.h

  // generated header, see makeversion.py
  #define RADIANT_VERSION "1.5.0"
  #define RADIANT_MINOR_VERSION "0"
  #define RADIANT_MAJOR_VERSION "5"

The second error you may encounter is that the "aboutmsg.h" file appears to be missing. So we need to manually create the missing file:

C:\GTKStuff\GtkRadiant\include\aboutmsg.h

   // generated header, see makeversion.sh
   #define RADIANT_ABOUTMSG "dummy about message. TDN Rocks." 

Now rebuild the solution, you may want to do a "Clean Solution" to be on the safe side.


Installation

Open a shell (cygwin if you use it, if not a command prompt will do :P) and run python.exe on install.py

  cd c:\GTKStuff\GTKRadiant\
  c:\Python32\python.exe  install.py

The c:\GTKStuff\GTKRadiant\install folder should now contain your own version of GTKRadiant.


Happy map editing.

If anyone creates a guide to configuring GTKRadiant for use with TGE please link this article to it.

- Gary Preston

We suggest that you check out DIF/GTKRadiantSetup next.