ToME: the Tales of Maj'Eyal

Everything about ToME
It is currently Sat Jan 16, 2021 8:26 am

All times are UTC

Post new topic Reply to topic  [ 2 posts ] 
Author Message
PostPosted: Mon May 25, 2015 4:11 pm 

Joined: Sun Aug 16, 2009 4:40 pm
Posts: 33
All credit goes to Reaten for this list, he doesn't even play the game but still put in the work to get this to compile.

How to build Tome2.exe in Windows 7

install mingw-get-setup.exe from ... urce=files to C:\MinGW
run the setup.exe
in InstallationManager
mark mingw32-base and mingw32-gcc-g++ for installation
From Installation menu at the top, choose Apply Changes
Click Apply

add C:\MinGW\bin\ to system path

download ...
extract \bin\pkg-config.exe to C:\MinGW\bin

download ...
extract 7 files from \bin into C:\MinGW\bin

download ...
extract \bin\intl.dll from \bin into C:\MinGW\bin

download ...
extract \bin files to C:\Program Files (x86)\CMake
add C:\Program Files (x86)\CMake\bin to system path

reboot to make sure system path changes take (optional)

extract zip into C:\MinGW\jansson-master

edit file C:\MinGW\jansson-master\CMakeLists.txt, comment out line 116 by changing to:

open CMake gui (in the Start Menu)

Click "Browse Source..." and set it to C:\MinGW\jansson-master.

Click "Browse Build..." and set it to C:\MinGW\jansson-master\build (make a new folder).

Click "Configure", click yes to make directory if it asks

Choose "MinGW Makefiles" and "Use default native compilers" and click Finish. Ignore the "Sphinx not found" warning.

In the middle area (red background where you edit variables with Name and Value columns)
change CMAKE_INSTALL_PREFIX to C:\MinGW\jansson-master\install (make a new folder).
go to windows explorer and make the C:\MinGW\jansson-master\install folder

Click "Configure" again, then click "Generate" and close CMake.

Open the command prompt (cmd.exe) and type the following to compile Jansson:
cd C:\MinGW\jansson-master\build
mingw32-make install

edit the file C:\MinGW\jansson-master\install\lib\pkgconfig\jansson.pc line 3, change to:

copy all files from C:\MinGW\jansson-master\install\lib into C:\MinGW\lib
copy all files from C:\MinGW\jansson-master\install\include into C:\MinGW\include

install git for windows from

clone to a new directory

1. Right click somewhere in windows explorer and choose Git Gui

2. Choose Clone existing repository

3. Source location =
(or mirror at
Target directory = c:\tome2

edit two tome2\src files that don't work

- c:\tome2\src\config.h
- scroll down till you see the "where to put the user's files"-section, line 160, change to:

#if defined(MACH_O_CARBON)
#define PRIVATE_USER_PATH "~/Library/Application Support/ToME"
#elif defined(WIN32)
#define PRIVATE_USER_PATH "~/.tome"

- c:\tome2\src\modules.c
- add the following snippet right after the line saying: #include "angband.h", line 14

#include <sys/stat.h>
bool_ private_check_user_directory(cptr dirpath)
struct stat stat_buf;
int ret;
ret = stat(dirpath, &stat_buf);
if (ret == 0)
if ((stat_buf.st_mode & S_IFMT) == S_IFDIR) return (TRUE);
return (FALSE);
ret = mkdir(dirpath);
if (ret == -1) return (FALSE);
return (TRUE);

Open cmake gui from start menu

Where is the source code = c:\tome2
Where to build the binaries = c:\tome2\build

Click Configure
Click Finish

Change CMAKE_INSTALL_PREFIX to c:\tome2\install
in windows explorer create the c:\tome2\install directory

Click Configure again

Click Generate

go to command prompt in target directory and run mingw32 make install
run cmd.exe
cd c:\tome2\build
mingw32-make install

copy c:\Tome2\tome.ini to c:\Tome2\install\bin\
copy c:\Tome2\lib folder into c:\Tome2\install\bin\
create a directory C:\Tome2\install\bin\2.4
create a directory C:\Tome2\install\bin\2.4\save

Run C:\Tome2\install\bin\tome.exe

It's just that easy!!!


version 2.3.x of Tome2
version 2.7 of Jansson

REFERENCES: ... in-windows ... ... e-compiler

Thanks again Reaten, and Anonymous Hero for a few tips as well. Hopefully someone else finds this useful and ends up enjoying the game as much as I have over the years.

PostPosted: Sat May 30, 2015 10:32 am 

Joined: Sat Mar 18, 2006 12:48 pm
Posts: 482
Wow, really sad that 3rd part dependencies are such a pain on Windows... I guess I should look for a header-only JSON implementation in C++ and use that instead. I'll put that on my TODO-list. (As usual no guarantees about when I might get to it, though!)

EDIT: Btw, could you perhaps post diffs of what you've changed in the T2 source? I'd like to incorporate everything I can upstream.

Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 2 posts ] 

All times are UTC

Who is online

Users browsing this forum: No registered users and 1 guest

You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group