+うまくいけばsim.exeができる。名前:名無しさん@お腹いっぱい。名前:名無しさん@お腹いっぱい。起動時には、pakセット、言語などをコマンドラインから指定する必要があります。-lwsock32」が不足しているようです。STD_LIBSに追加したら成功しました。[#wa3b14bd]-makeobjディレクトリにある-pngライブラリが必要→どこから入手?--必要なソースはOpenTTD用のライブラリに含まれているのでこちらを流用する。libpngのライブラリからでは、必要なソースを確保するためにlibpng自体のビルドが必要(また、これだけでは確保できないソースが存在する)。//こちらから入手可能//http://sourceforge.net/projects/libpng/-リリース版では、simutransのビルドと競合するので、/utils/log.dと/utils/log.oとを削除しておく。[#a9f8b600]+まずソースコードを入手しますが、SourceForgeからダウンロードした安定板のソースコードだとVC++用プロジェクトファイルが付いてこないので、SVNかGitHubからダウンロードします。&br;リビジョンが合っていればsourceforgeからダウンロードしたものにsvnやgitからダウンロードしたプロジェクトファイルを組み合わせても大丈夫です。必要なファイルはSimutrans.sln,Simutrans.vcxproj,rivision.jse,simres.rcです。//&br;VS10用のプロジェクトファイルはバグがあるので注意、VS10使用時でも通常版を読み込みましょう。最近のリビジョンでは削除されました。+[[英語フォーラム:652]]からlibbz2.zipとbzlib.hがダウンロードできるので、適当なフォルダに保存します。libbz2.zipは展開しておきます。+[[OpenTTD用のライブラリ:http://binaries.openttd.org/extra/openttd-useful/]]をダウンロードします。ダウンロードするファイルは、最新バージョンのディレクトリを選び、その中の末尾が"-win.zip"のファイルです。sourceやsumではありません。こちらも適当な場所に展開します。(追記)私の環境では6.0では上手くいかず、少し古めのもの(4.0)で試してみたら成功しました。+[[pthreadsのライブラリ:http://sourceware.org/pthreads-win32/]]をftpからダウンロードします。dll-latestの下のinclude,lib,dll内のファイルをすべて保存します。+ソースフォルダ内のソリューションファイル(Simutrans.sln)かプロジェクトファイル(Simutrans.vcxproj)を開きます。+ソリューションエクスプローラからプロジェクトのプロパティを開き、構成プロパティのVC++ディレクトリを選択します。+インクルードディレクトリに保存しておいたhファイルの入ったディレクトリを追加します。OpenTTD用ライブラリの物は"展開したフォルダ\shared\include"にあります。+ライブラリディレクトリに保存しておいたlibファイル,aファイル,dllファイルの入ったディレクトリを指定します。OpenTTD用ライブラリの物は"展開したフォルダ\win32\library"にあります。+(120.1.1以降)プロジェクトのプロパティを開き、リンカー→入力の中の追加の依存ファイルを選択しimm32.libを追記します。+(120.1.1以降)マニフェストツール→入出力で埋め込みマニフェストをいいえにします。+プロジェクトをビルドします。上手くいけばソースフォルダ内のDebugフォルダにSimutrans.exeが出来ています。&br;Debug版だとデバッグ用の表示が追加されているので、Release版に変更してビルドすると無くなります。Debug版とは別にもう一度構成プロパティの変更が必要なので注意。-revision.hが存在しないと言われてビルドが失敗する場合があります。これは本家のSVNを用いてソースコードをダウンロードしなかった場合(SourceforgeやTurtoiseSVN)に起こるエラーです。revision.hを自分で作るか、プリプロセッサでリビジョンを定義してやる必要があります。~プリプロセッサに定義する場合は、プロジェクトの構成プロパティでC/C++→プリプロセッサを開きます。プリプロセッサの定義の末尾に、「REVISION=(リビジョン番号)」を付けたして下さい。~revision.hを自作する場合は、次のように書いてrevision.hとして保存してください。保存後はプロジェクトにヘッダファイルとして追加する必要があります。C++用の動的リンクライブラリ(dll)が必要になります。本体を動作させるフォルダに、Simutransのデフォルトで付いてくるpthreadGC2.dllの代わりに、準備でダウンロードしたpthreadVC2.dllを置いてやります。[#da6325af]simutrans本体の改変版は、実行ファイル形式で配布することも多いですが、ソースコードの差分を記述したパッチという形式で配布される場合が多々あります(拡張子は.patchか.diff)。小規模な変更の場合はパッチファイルのみ配布されることが多いです。パッチファイルはあくまでもソースコードの差分を記述したファイルなので、ソースコードにパッチを当ててからビルドし実行ファイルを作ることでパッチの機能が付与されたsimutrans本体が出来上がります。パッチファイルを当てる方法は大きく分けて2種類あり、1つはコマンドライン上からpatchというコマンドを実行する方法です。Windowsのコマンドプロンプトにはpatchコマンドが付いてこないので、MinGWやCygwinを用いるかWindows移植版のpatch.exeをダウンロードしpathを通します。<パッチファイル名」と行えば大丈夫です。詳しい使い方は[[MANを参照:http://linuxjm.sourceforge.jp/html/GNU_patch/man1/patch.1.html]]。1つはGUIの付いたアプリケーションを使って当てる方法です。筆者は[[TurtoiseSVN:http://tortoisesvn.net/]]というアプリケーションを用いています。(SVNからソースコードを入手したりするのにも便利)インストール方法は省略。simutransのソースコードの入ったフォルダを右クリックし、「パッチを適用」を選択しパッチファイルを開くとパッチ処理が行われます。height(従来の1/2の高さのタイル)が導入されました。height対応pak128は、2013/8/19現在調べた限り存在しないので、ソースから作る必要があります。「対応している」と言っても一部の地面パーツなどに限られるので、例えば1/2スロープに鉄道を敷いても従来のスロープ軌道が表示されるので、あくまでも一応動くよ、という程度です。軌道類はここのWikiを参考に自分でアドオンとして用意する必要があります。heightに対応するsimutrans本体(nightlyビルド版など)を用意する必要があります。[#fcd6d33c]ここではコマンドプロンプトでの作業を例にしていますが、もちろんTortoiseSVNやexplorerで操作してもかまいません。heightに対応したmakeobjをダウンロードしてパスの通っているところに置く(普段使ってるmakeobjと別の名前にしておくと使いわけやすいのでオススメ。simutransのディレクトリにコピー。コピーの際にpak128.newlandscapeみたいにフォルダ名を変更しておくと従来のpak128と区別しやすくなるので後々便利です。heightに関係あるものを除いて、対応するアドオンフォルダを作れば全てそのまま使えます。heightが関係してくるアドオンは、画像とdatを修正しないと見た目がおかしくなります(が、おそらく動作はするでしょう)。