Engine

準備 | ビルド

Mix をビルドするには、いくつかのライブラリ、ソフトウェアが必要になります。
ダウンロード、インストールを以下に説明します。
DirectX SDK

Microsoft のホームページから "DXSDK_Jun10.exe" をダウンロードしてください。
エンジンは Windows SDK をベースにしているため、インストールの必要はありませんが、
Windows SDK に入っている XAudio2 X3DAudio は Windows 8 以降にしか対応していないため、Windows 7 ではビルドが失敗します。
この問題を解消するため XAduio2 X3DAudio に関しては DirectX SDK のものを使用します。
また、シェーダーのコンパイラとして "fxc.exe" も使用します。
ただし、ツールは DirectX SDK をベースにしているため、ビルドするには DirectX SDK をインストールする必要があります。
"DXSDK_Jun10.exe" を適当なアーカイブツールで開き、以下のファイルを "Vecdor\DirectX\" 以降の対応するディレクトリにコピーします。
"Include\audiodefs.h"
"Include\comdecl.h"
"Include\X3DAudio.h"
"Include\XAudio2.h"
"Include\xma2defs.h"
"Utilities\bin\x64\fxc.exe"
"Utilities\bin\x86\fxc.exe"
また、必要になるランタイムライブラリのリリース版は、再頒布パッケージとして "Redist\" ディレクトリに、デバッグ版は "Developer Runtime\" ディレクトリに入っています。
これらのランタイムライブラリは OS が最新の状態であればインストールされているはずです。 ( デバッグ版を除く )
XAudio2

リリース ( "XAudio2_7.dll" )

"Redist\Jun2010_XAudio_x86.cab" ( 32 Bit )
"Redist\Jun2010_XAudio_x64.cab" ( 64 Bit )

デバッグ

"Developer Runtime\x86\XAudioD2_7.dll" ( 32 Bit )
"Developer Runtime\x64\XAudioD2_7.dll" ( 64 Bit )

X3DAudio

リリース ( "X3DAudio1_7.dll" )

"Redist\Feb2010_X3DAudio_x86.cab" ( 32 Bit )
"Redist\Feb2010_X3DAudio_x64.cab" ( 64 Bit )

デバッグ

"Developer Runtime\x86\X3DAudioD1_7.dll" ( 32 Bit )
"Developer Runtime\x64\X3DAudioD1_7.dll" ( 64 Bit )

Bullet Physics Library

ランタイム、ツールの両方で使用している物理演算ライブラリです。
1. 公式サイト "Real-Time Physics Simulation ( bulletphysics.org )" から "bullet-2.82-r2704.zip" をダウンロードし、解凍します。
2. 解凍したファイルの "bullet-2.82-r2704\src\" ディレクトリにある以下のディレクトリとファイルを "Vendor\Bullet\Source\" ディレクトリにコピーします。
"BulletCollision\"
"BulletDynamics\"
"LinearMath\"
"BulletMultiThreaded\"
"LinearMath\"
"vectormath\"
"btBulletCollisionCommon.h"
"btBulletDynamicsCommon.h"
"Bullet-C-Api.h"
3. "bullet-2.82-r2704\Extras\Serialize\" ディレクトリ内にある以下のディレクトリを "Vendor\Bullet\Source\Extras\Serialize\" ディレクトリにコピーします。
"BulletFileLoader\"
"BulletWorldImporter\"
4. "BulletMultiThreaded\PlatformDefinitions.h" の 44行目を以下のようにを書き換えます。
typedef unsigned long int uint64_t;
↓
#ifndef _WINDOWS
typedef unsigned long int uint64_t;
#endif //_WINDOWS
5. "Vendor\Bullet\Solutions\" ディレクトリにある対応するソリューションをビルドします。

SIMD-oriented Fast Mersenne Twister ( SFMT )

ランタイムで使用している乱数生成ライブラリです。
1. 公式サイト "SIMD-oriented Fast Mersenne Twister" から "SFMT-src-1.4.1.zip" をダウンロードし、解凍します。
2. 解凍したファイルの "SFMT-src-1.4.1\" ディレクトリにあるソースファイル ( *.c *.h ) を "Vendor\SFMT\Source\" ディレクトリにコピーします。
3. "Vendor\SFMT\Solutions\" ディレクトリにある対応するソリューションをビルドします。

FBX SDK

ツールの ModelEditor で使用しているFBX形式の3Dデータを扱うためのライブラリです。
Autodesk のホームページから、"FBX(R) 2015.1 SDK" をダウンロードしてインストールしてください。
また、環境変数に FBXSDK_2015_1_DIR としてインストール先のパスをとおしておいてください。
(例)
変数 FBXSDK_2015_1_DIR
値 C:\Program Files\Autodesk\FBX\FBX SDK\2015.1\

libjpeg

プラグインのテクスチャローダーで使用している JPEG ファイルフォーマットを扱うためのライブラリです。
1. 公式サイト libjpeg から "jpegsr9a.zip" をダウンロードし、解凍します。
2. 解凍したファイルの "jpeg-9a\" ディレクトリにあるソースファイル ( *.c *.h ) と、"jconfig.vc" を "Vendor\libjpeg\Source\" ディレクトリにコピーします。
3. "Vendor\libjpeg\Source\" ディレクトリにあるファイル "jconfig.vc" を "jconfig.h" にリネームします。
4. "Vendor\libjpeg\Solutions\" ディレクトリにある対応するソリューションをビルドします。

libpng

プラグインのテクスチャローダーで使用している PNG ファイルフォーマットを扱うためのライブラリです。
1. "zlib 1.2.8" と "libpng 1.6.17" をダウンロードし、解凍します。
2. 解凍したファイル "zlib 1.2.8" の "zlib-1.2.8\" ディレクトリにあるソースファイル ( *.c *.h ) を "Vendor\libpng\Source\zlib128\" ディレクトリにコピーします。
3. 解凍したファイル "libpng 1.6.17" の "lpng1617\" ディレクトリにあるソースファイル ( *.c *.h ) を "Vendor\libpng\Source\lpng1617\" ディレクトリにコピーします。
4. "Vendor\libpng\Solutions\" ディレクトリにある対応するソリューションをビルドします。

libvorbisfile

プラグインのサウンドデコーダーで使用している Vorbis 形式の音声ファイルを扱うためのライブラリです。
1 公式サイト xiph ( www.xiph.org ) から "libogg-1.3.1.zip" "libvorbis-1.3.3.zip" をダウンロードし、解凍します。
2. 解凍したファイル "libogg-1.3.1.zip" の "libogg-1.3.1\include\ogg\" ディレクトリにあるソースファイル ( *.c *.h ) を "Vendor\libvorbisfile\Include\ogg\" ディレクトリにコピーします。
3. 解凍したファイル "libogg-1.3.1.zip" の "libogg-1.3.1\src\" ディレクトリにあるソースファイル ( *.c *.h ) を "Vendor\libvorbisfile\Source\ogg\" ディレクトリにコピーします。
4. 解凍したファイル "libvorbis-1.3.3.zip" の "libvorbis-1.3.3\include\vorbis\" ディレクトリにある ソースファイル ( *.c *.h ) を "Vendor\libvorbisfile\Include\vorbis\" ディレクトリにコピーします。
5. 解凍したファイル "libvorbis-1.3.3.zip" の "libvorbis-1.3.3\lib\" ディレクトリにある全てのディレクトリとファイルを "Vendor\libvorbisfile\Source\vorbis\" ディレクトリにコピーします。
6. "Vendor\libvorbisfile\Solutions\" ディレクトリにあるソリューションをビルドします。

Doxygen

C++ のソースファイルからドキュメントを生成するために使用します。
公式サイト "Doxygen" から "doxygen-****-setup.exe" をダウンロードし、インストールしてください。
※ **** はバージョンになります。

Graphviz

Doxygen によるドキュメント生成で使用します。
公式サイト "www.graphviz.org" からダウンロードしてインストールしてください。
また Doxygen GUI → Expert → Dot にある DOT_PATH を環境に合わせて変更してください。