This is a guide from my recent experience with compiling Simutrans Extended. This is a snapshot of Dec 2014 on Windows 7 and your configuration may differ.
1. Install Microsoft Visual Studio 2012 (e.g. from here
or any other place you like). Update the program to Update 4
2. Get the sources from GitHub: here
. You can download the whole folder as a zip file on the right side of the page or sign up and fork your own branch. Extract it somewhere memorable (like "D:\Programming").
3. Download the precompiled libraries from OpenTTD here
. Choose the highest version and download the openttd-useful-*.*-win.zip. Open this zip and extract the folders into a folder that is easily accessed and remembered. These folders (win32,shared) are the folders we base the steps up to 5b on.
4. Now we get the header and library files: here
. The .h file goes to shared/include and .lib to win32/library.
5. Next are the pthread files, here
. Select the latest/highest "prebuilt-dll-..-..-..-release".
5a In the subfolders "/lib/x86/" you'll find the .lib files. Put these into your \win32\library\ folder.
5b In the include folder, you'll find pthread.h, sched.h and semaphore.h. Put these into shared\include\.
5c In the subfolders "/dll/x86/" you'll find pthreadVC2.dll and pthreadVCE2.dll. Download these, but don't move them into your headers/libraries folder. These files will go into the same folder as your final Simutrans.exe as they're needed to run Simutrans Extended.
6. Start MSVC 2012 Update 4 and open Simutrans-Extended.vcxproj. Now click on Project -> Simutrans-Extended Properties... -> Configuration Properties -> VC++ Directories. Click on "Include Directories" once and then on the right of the field you'll see some paths listed. Next to that is a down arrow. Click that and click on <Edit...> in the resulting dropdown. On the top left of the window appearing you can add folders to the list. Add both \win32\library and \shared\include\ to this list. Things should be looking like this
7. Still in the Properties Window, select: Configuration Properties -> VC++ Directories -> Linker. In "Additional Library Directories" add the same folders as in step 6.
8. Now your build should compile.
9. Move the Created Simutrans.exe into a fresh folder.
10. Add the files from this
.rar document to the folder.
11. Run your own compiled Simutrans!
Note: If you get an error with loadsave_t::start_tag(), delete or rename your Simutrans folder in My Documents.
This is a short guide to compiling your own pakset, specifically Pak128.Britain-Ex. I wrote this without going through it again, so I devised it from memory. If there are issues, let me know.
- Install Python from here, I would go for 2.7.10 but this is open to your preference.
- Install the MakeObject Script Engine from here.
- Download a fresh copy of PakBritain from GitHub, the branch (above the file list) is currently "half-heights" as of May 2015. Extract this to a folder like in step 2 above.
- Download the Extended Makeobj.exe from here. You will only need makeobj.exe and can move it into the PakBritain folder.
- Find "makeALL.mos" in the main folder and edit the file with Notepad or similar. Replace config config "makeobj=%makeobj%" with "makeobj=makeobj.exe".
- Run "makeALL.mos".
- Wait for the script to complete, which usually takes a few minutes. While it does that, download the folders for inside the completed pak from here.
- When the script has finished, copy/move the "Pak128.Britain-Ex-0.9.X", from within original folder you extracted the GitHub sources in, to your previously compiled Simutrans Extended game folder.
- Extract the folders for inside the completed pak from two steps ago into the "Pak128.Britain-Ex-0.9.X" folder.
- Start Simutrans.exe to check whether the pak runs.
Thank you to jamespetts, VS, and all others in the project.Moderator note: References to "Simutrans-Experimental" changed to "Simutrans-Extended" 13 February 2017.