詳しい方がおられましたら、どんどん補足、修正をお願いします。
WSLでのコンパイル方法わかる方いらっしゃいましたら追記をお願いします.
リリース版のソースはSourceForgeにある。
開発中のソースは個人のSVNサーバーで管理されているので、そこから入手可能。
svnサーバー | svn://servers.simutrans.org/simutrans |
ユーザー名 | anon |
パスワード | (空白) |
開発トランクはGitHubでもミラーされている。http://github.com/aburch/simutransからも入手可能。
yes | pacman -Syu最後に以下のようなメッセージが表示されるので,MSYS2の画面の閉じるボタンを押して一度MSYS2を終了し,もう一度MSYS2の32bit版を起動する.
警告: terminate MSYS2 without returning to shell and check for updates again 警告: for example close your terminal window instead of calling exit
pacman -S git make mingw-w64-i686-toolchain mingw-w64-i686-zlib mingw-w64-i686-bzip2 mingw-w64-i686-libpng
BACKEND = gdi COLOUR_DEPTH = 16 OSTYPE = mingw OPTIMISE = 1 STATIC = 1 MULTI_THREAD = 1
config.defaultの
WIN32_CONSOLE = 1
が,コマンドプロンプトを開くかどうかのフラグです.1にすればSimutransはコマンドプロンプトを開いて起動します.
config.defaultで、「BACKEND = posix」、「COLOUR_DEPTH = 0」に設定します。
起動時には、pakセット、言語などをコマンドラインから指定する必要があります。
(例)「-objects pak -lang ja」
Makefileで「 -lwsock32」が不足しているようです。STD_LIBSに追加したら成功しました。
開発トランクのmakeobjソースコードは仕様が確定していないため、これで作成したpakは将来使用できなくなる可能性があります
わかる方,更新お願いします.
プリプロセッサに定義する場合は、プロジェクトの構成プロパティでC/C++→プリプロセッサを開きます。プリプロセッサの定義の末尾に、「REVISION=(リビジョン番号)」を付けたして下さい。
revision.hを自作する場合は、次のように書いてrevision.hとして保存してください。もちろん保存後はプロジェクトにヘッダファイルとして追加する必要があります。
#ifndef _revision_h #define _revision_h #define REVISION (リビジョン番号) #endif
なお、MSVC++を用いてビルドした場合、動作にpthreadのVisual C++用の動的リンクライブラリ(dll)が必要になります。本体を動作させるフォルダに、Simutransのデフォルトで付いてくるpthreadGC2.dllの代わりに、準備でダウンロードしたpthreadVC2.dllを置いてやります。
参考リンク:
brew install sdl2 libpng miniupnpc freetype
BACKEND = sdl2 COLOUR_DEPTH = 16 OSTYPE = mac OPTIMISE = 1 AV_FOUNDATION = 1 MULTI_THREAD = 1
※Ubuntuでのビルドを想定しています.
sudo apt install make gcc gdb git zlib1g-dev libbz2-dev libpng-dev libsdl2-dev libminiupnpc-dev libfreetype6
BACKEND = sdl2 COLOUR_DEPTH = 16 OSTYPE = linux OPTIMISE = 1 MULTI_THREAD = 1
※Ubuntuでのビルドを想定、本体バージョンは編集時点の最新(124.2.2)を使用しています。
wget https://sourceforge.net/projects/simutrans/files/simutrans/(ver名)/simutrans-src-(ver名).zip/download unzip download
sudo apt install autoconf make gcc g++ zlib1g-dev libbz2-dev libpng-dev
cp config.template config.default
BACKEND := posix OSTYPE := linux OPTIMISE := 1 MULTI_THREAD := 1
autoconf ./configure make -j $(nproc)
実際にサーバーとして使用する場合はサーバーを建てる(linux版)も参照。
参考リンク:
simutrans本体の改変版は、実行ファイル形式で配布することも多いですが、ソースコードの差分を記述したパッチという形式で配布される場合が多々あります(拡張子は.patchか.diff)。小規模な変更の場合はパッチファイルのみ配布されることが多いです。
パッチファイルはあくまでもソースコードの差分を記述したファイルなので、ソースコードにパッチを当ててからビルドし実行ファイルを作ることでパッチの機能が付与されたsimutrans本体が出来上がります。
パッチファイルを当てる方法は大きく分けて2種類あり、1つはコマンドライン上からpatchというコマンドを実行する方法です。
Windowsのコマンドプロンプトにはpatchコマンドが付いてこないので、MinGWやCygwinを用いるかWindows移植版のpatch.exeをダウンロードしpathを通します。
基本的にはsimutransのソースコードが入っているディレクトリで「patch -p0 <パッチファイル名」と行えば大丈夫です。詳しい使い方はMANを参照。
もう1つはGUIの付いたアプリケーションを使って当てる方法です。筆者はTurtoiseSVNというアプリケーションを用いています。(SVNからソースコードを入手したりするのにも便利)
インストール方法は省略。simutransのソースコードの入ったフォルダを右クリックし、「パッチを適用」を選択しパッチファイルを開くとパッチ処理が行われます。