はじめに

Windows 上で Visual Studio 2017 を利用して ONScripter の 64bit 版をビルドする方法について説明します。他のバージョンの Visual Studio でもビルドできると思います。

関連ライブラリのビルド

ここで説明する方法では、c:\src 以下にソースファイルを配置します。あらかじめ c:\src, c:\src\lib のディレクトリを作成しておいてください。

SDL-1.2.5

  1. SDL version 1.2.15 (historic) から SDL-devel-1.2.15-VC.zip をダウンロードして、c:\src 以下に展開します。
  2. 以下のファイルを c:\src\lib 以下にコピーします。
    • C:\src\SDL-1.2.15\lib\x64\SDL.dll

SDL_image-1.2.12

  1. SDL_image 1.2 から SDL_image-devel-1.2.12-VC.zip をダウンロードして、c:\src 以下に展開します。
  2. 以下のファイルを c:\src\lib 以下にコピーします。
    • c:\src\SDL_image-1.2.12\lib\x64\libjpeg-8.dll
    • c:\src\SDL_image-1.2.12\lib\x64\libpng15-15.dll
    • c:\src\SDL_image-1.2.12\lib\x64\libtiff-5.dll
    • c:\src\SDL_image-1.2.12\lib\x64\libwebp-2.dll
    • c:\src\SDL_image-1.2.12\lib\x64\SDL_image.dll
    • c:\src\SDL_image-1.2.12\lib\x64\zlib1.dll

SDL_mixer-1.2.12

  1. SDL_mixer 1.2 から SDL_mixer-devel-1.2.12-VC.zip をダウンロードして、c:\src 以下に展開します。
  2. 以下のファイルを c:\src\lib 以下にコピーします。なお、ここにある smpeg.dll は libstdc++-6.dll に依存していて使えないため、コピーせずに別途作成します。
    • c:\src\SDL_mixer-1.2.12\lib\x64\libFLAC-8.dll
    • c:\src\SDL_mixer-1.2.12\lib\x64\libmikmod-2.dll
    • c:\src\SDL_mixer-1.2.12\lib\x64\libogg-0.dll
    • c:\src\SDL_mixer-1.2.12\lib\x64\libvorbis-0.dll
    • c:\src\SDL_mixer-1.2.12\lib\x64\libvorbisfile-3.dll
    • c:\src\SDL_mixer-1.2.12\lib\x64\SDL_mixer.dll

SDL_ttf-1.2.12

  1. SDL_ttf 2.0 から SDL_ttf-2.0.11.zip をダウンロードして、c:\src 以下に展開します。
  2. c:\src\SDL_ttf-2.0.11\SDL_ttf.c の750行目を以下の赤字のように修正します。
        for ( row = 0; row < glyph->pixmap.rows; ++row ) {
    
  3. Visual Studio 2017 で C:\src\SDL_ttf-2.0.11\VisualC\SDL_ttf.sln を開きます。
  4. ソリューション構成を Release に、ソリューションプラットフォームを x64 に変更します。
  5. 「デバッグ」→「SDL_ttf のプロパティ」→「構成プロパティ」→「VC++ディレクトリ」→「インクルードディレクトリ」に以下の内容を追加します。
    C:\src\SDL-1.2.15\include
    
  6. 「デバッグ」→「SDL_ttf のプロパティ」→「構成プロパティ」→「VC++ディレクトリ」→「ライブラリディレクトリ」に以下の内容を追加します。
    C:\src\SDL-1.2.15\lib\x64
    
  7. 「ビルド」→「ソリューションのビルド」を選択してビルドします。glfont と showfont のビルドには失敗しますが、SDL_ttf のビルドには成功しているはずなので無視します。
  8. 以下のファイルを c:\src\lib 以下にコピーします。
    • c:\src\SDL_ttf-2.0.11\VisualC\x64\Release\SDL_ttf.dll
    • c:\src\SDL_ttf-2.0.11\VisualC\external\lib\x64\libfreetype-6.dll

smpeg-0.4.5

  1. Debian Sid smpeg (0.4.5+cvs20030824-8) から smpeg_0.4.5+cvs20030824.orig.tar.gz をダウンロードして、c:\src 以下に展開します。
  2. c:\src\smpeg-0.4.5+cvs20030824.orig\VisualC.zip を同じ場所に展開します。
  3. Visual Studio 2017 で c:\src\smpeg-0.4.5+cvs20030824.orig\VisualC\smpeg.dsw を開きます。
  4. ソリューション構成を Release に、ソリューションプラットフォームを x64 に変更します。ソリューションプラットフォームを x64 にするには、ソリューションプラットフォームをクリックして、「構成マネージャー」から smpeg の プラットフォーム Win32 をクリックし、新規作成で新しいプラットフォームを x64 にしてください。
  5. ソリューションエクスプローラーの smpeg を右クリックし、「プロパティ」→「構成プロパティ」→「VC++ディレクトリ」→「インクルードディレクトリ」に以下の内容を追加します。
    C:\src\SDL-1.2.15\include
    
  6. ソリューションエクスプローラーの smpeg を右クリックし、「プロパティ」→「構成プロパティ」→「VC++ディレクトリ」→「ライブラリディレクトリ」に以下の内容を追加します。
    C:\src\SDL-1.2.15\lib\x64
    
  7. ソリューションエクスプローラーの smpeg の左側にある三角印を左クリックしてファイル一覧を表示し、SDL.lib を削除してください。
  8. 「ビルド」→「ソリューションのビルド」を選択してビルドします。
  9. 以下のファイルを c:\src\lib 以下にコピーします。
    • c:\src\smpeg-0.4.5+cvs20030824.orig\VisualC\Release\smpeg.dll

Lua-5.1.5

  1. Lua Download Area から lua-5.1.5.tar.gz をダウンロードして、c:\src 以下に展開します。Lua 5.2.x 以降とは互換性がないので、Lua 5.1.x を使用してください。
  2. Visual Studio 2017 の x64 Native Tools コマンドプロンプトを起動し、以下のコマンドを実行します。
    cd c:\src\lua-5.1.5\src
    cl /MD /O2 /c /DLUA_BUILD_AS_DLL *.c
    ren lua.obj lua.o
    ren luac.obj luac.o
    lib /OUT:lua5.1.5-static.lib *.obj
    

bzip2-1.0.6

  1. Web archive の bzip2 Downloads から bzip2-1.0.6.tar.gz をダウンロードして、c:\src 以下に展開します。
  2. Visual Studio 2017 で C:\src\bzip2-1.0.6\libbz2.dsp を開きます。
  3. ソリューション構成を Release に、ソリューションプラットフォームを x64 に変更します。ソリューションプラットフォームを x64 にするには、ソリューションプラットフォームをクリックして、「構成マネージャー」から libbz2 の プラットフォーム Win32 をクリックし、新規作成で新しいプラットフォームを x64 にしてください。
  4. 「ビルド」→「ソリューションのビルド」を選択してビルドします。
  5. 以下のファイルを c:\src\lib 以下にコピーします。
    • c:\src\bzip2-1.0.6\libbz2.dll

ONScripter のビルド

  1. ONScripter のページから最新の ONScripter をダウンロードして c:\src\ に展開します。
  2. Visual Studio 2017 で c:\src\onscripter-xxxxxxxx\ONScripter.sln を開きます(xxxxxxxx にはバージョン番号が入ります)。
  3. ソリューション構成を Release に変更してください。
  4. 「ビルド」→「ソリューションのビルド」を選択してビルドします。

ONScripter の実行

Visual Studio の IDE から実行する場合

Visual Studio の IDE から実行するには、以下のようにしてください。

  1. 「デバッグ」→「ONScripter のプロパティ」→「構成プロパティ」→「デバッグ」→「コマンド引数」に -r オプションでゲームデータの場所を指定してください。
  2. 「デバッグ」→「ONScripter のプロパティ」→「構成プロパティ」→「デバッグ」→「環境」に以下のように指定してください。
    PATH=c:\src\lib;%PATH%
    
  3. 「デバッグ」→「デバッグの開始」で ONScripter を実行します。

実行ファイルを直接実行する場合

実行ファイルは以下の場所に生成されます。あらかじめ環境変数の PATH に c:\src\lib を追加してから、適切にオプションを指定して実行してください。

C:\src\onscripter-xxxxxxxx\x64\Release\ONScripter.exe