UnrealEngine2OnWin64

HomePage | RecentChanges | Preferences

Install win64. You can build a 64-bit version on 32-bit WinXP?, but you'll have to test it somewhere, so at least put a box aside somewhere with a 64-bit install on it. The rest of these instructions can be done on either win32 or win64 unless otherwise noted.

Install UT2004 from the retail discs. The 32-bit installer on the discs can be used on Win64. Install it in C:\UT2004, which is the default location. After installation, delete all the .DLL and .EXE files from C:\UT2004\System.

Install the latest Platform SDK. This is different from Visual Studio.NET and can be installed along side it. In fact, we won't be using VS.NET for this at all. The Platform SDK is a free download from Microsoft. The only thing you really need to install in the PSDK is the AMD64 build environment..."Intel 64-bit" means "Itanium"...the new 64-bit Intel chips (EMT64) use the AMD64 instruction set. Everything else, like the IIS SDK and such can be flushed, but it doesn't hurt to just install everything if you want. We'll assume for this document that you installed it in C:\PSDK (the default is actually C:\Program Files\Microsoft Platform SDK, which is fine, but for these examples, that's messy to read).

Get the latest UT2004 source code. This is to make sure the build environment (and eventually, the source code you'll be merging against your project) are sane. You can put the source anywhere, but it might be best to avoid pathnames with spaces, just in case. For this document, we'll put it at C:\UT2-Code.

Since, at the time of this writing, Visual Studio doesn't support Win64 (at least, the "Visual" part doesn't), your build environment is the command line. Fire up a terminal with the Start Menu...All Programs...Accessories...Command Prompt.

You need to set up this terminal to use the Platform SDK, targeted at Win64. Punch this in:

  C:\PSDK\SetEnv.Cmd /XP64 /RETAIL
You should see "Targeting Windows XP X64 RETAIL" as a result. Now this command prompt window is configured to build programs for Win64 with the Platform SDK.

Since we also need some extra tools that Unreal requires, you'll need to set this terminal's PATH, too:

  set PATH=C:\UT2-Code\unxutils\usr\local\wbin;%PATH%

...this won't output anything by itself, so you can test it by typing "id" and hitting enter. If this says something like:

  uid=0(user) gid=0(group)

...then it worked. If it says something like:

  'id' is not recognized as an internal or external command,
  operable program or batch file.

...then you did something wrong.

It would be wise to automate this set up so you don't have to reconfigure the terminal every time you open a new window. This is left as an exercise to the reader. At this point, though, your basic build environment is set up.

You need to tweak some basic stuff in UT2004. Go open makefile-header in the root of the source tree. This is a text file used by the Unix and Mac targets, but since Visual Studio doesn't have Win64 support built-in at the time of this writing, we refactored the Unix build system to also work with Windows (which explains all this fighting with terminals and cryptic command lines). Fire it up in Notepad or whatnot. At the top of the file are a bunch of configuration variables, in the form VARNAME = value. Most you can (and should!) leave alone. Please be careful not to add extra space at the end of the line when changing variables, as it can cause problems. The variables you should change are:

Obviously, this only needs to be done once. Save the file.

Now try to build UT2004 and see what happens. Enter "make clean" to make sure the build is in a sane state, then run the command "make" by itself:

  make clean
  make

If all went well, this will start compiling UT2004. This will take a long time, since there is no precompiled header support (buggy at the time of this writing) and no means to compile on multiple CPUs/cores/hyperthreads simultaneously (but a better version of "make" would fix that). If this fails for any non-obvious reason, it's possible that either the codedrop is broken, or a more recent Platform SDK has broken the build. Do your best to resolve it, but don't be afraid to ask on unprog for help at this point.

When you are done building, you'll have UT2004.exe and a bunch of .DLL files in the source tree's "System" dir. Take these and drop them into a working copy of ut2004 and run the game as usual, but now 64-bit.

...more to come...


HomePage | RecentChanges | Preferences
Edit text of this page | View other revisions
Last edited April 7, 2005 2:01 pm by Icculus (diff)
Search: