*Windowsのコンパイル環境の作成 [#k73ee87c]
サンプルのシューティング(バイザライザー)を動かして動作確認をします。
その後、ガンハウンドのソースのコンパイルと実行の手順を説明します。

・インストール方法
・トラブル対応
・その他

ライブラリの調査、研究報告など
http://dragon.suplex.net/

*手順1.インストール [#z34a7445]
VC2015を用意します。VC2013を使用する場合は「トラブル」の項目を参考にvcxprojファイルの一部を書き換えると動作させることができます。

gitリポジトリよりソース一式をダウンロード
[[https://bitbucket.org/garuruLabs/gxlib/downloads>https://bitbucket.org/garuruLabs/gxlib/downloads]]
-ダウンロード > 「リポジトリをダウンロードする」をクリック

ダウンロードしてきたZIPファイルを都合のいいディレクトリに展開します

**各種ライブラリをインストールする [#p801f767]

***DirectX SDKを用意する [#o3f7d637]
Windows環境ではOpenGL環境とDirectX環境を選択できます。DirectX版を使用する際はDirectX9のSDKを用意してください。
既に環境がある場合には「手順.2」に進んでください。

[手順]
[[DirectXSDK(Microsoft DirectX SDK (August 2009))のダウンロード>https://www.microsoft.com/en-us/download/details.aspx?id=23549]]

ダウンロード後、インストールを行いインストールしたSDKのincludeとLibフォルダにパスを設定するか
もしくは、インストール後のファイルをgxLibの以下のフォルダへコピーします。

 Microsoft DirectX SDK (August 2009)/Include/*.*
  ↓ ここにコピーする
 gxLib/platform/Windows/Include/directx9/*.*
 
 Microsoft DirectX SDK (August 2009)/Lib/*.*
  ↓ ここにコピーする
 gxLib/platform/Windows/lib/directx9/*.*
※上記のフォルダにはgxLibのプロジェクト設定(*.vcxproj)で最初からパスを通しています。

フォルダ構成はこうなります。
 gxLib/platform/Windows/include/directx9/audiodefs.h
  ~
 gxLib/platform/Windows/include/directx9/xnamathvector.inl

 gxLib/platform/Windows/lib/directx9/x64
 gxLib/platform/Windows/lib/directx9/x86

***OpenCV [#n9585f73]
http://opencv.org/wp-content/themes/opencv/images/logo.png
Windows環境で動画の再生に「OpenCV」を利用します。以下よりver3.1以降を取得してください。(2.4.x系は未検証)

[[http://opencv.org/>http://opencv.org/]]
※DOWNLOADS > VERSION 3.1 > OpenCV for Windows

openCVのヘッダーファイル群を以下に配置します
※platform/windows/include/フォルダも作成してください
 platform/windows/include/openCV/opencv
 platform/windows/include/openCV/opencv2

***oggVorbis [#a3437411]
http://xiph.org/images/logos/fish_xiph_org.png
Windows環境で圧縮音楽の再生に「ogg Vorvis」を使用します

[[http://xiph.org/downloads/>http://xiph.org/downloads/]]から以下のファイルをダウンロードして下さい。

libogg(1.3.2)    libogg-1.3.2.zip
libvorbis(1.3.5) libvorbis-1.3.5.zip




***freeGlut [#u31ebd6b]
http://freeglut.sourceforge.net/images/opengl.png
OpenGLを使用する場合はfreeGlutを使用します


[[http://freeglut.sourceforge.net/>http://freeglut.sourceforge.net/]] > Downloadから「Freeglut 3.0.0」をダウンロードします。

**手順2.コンパイルして実行する [#u9f691b0]
gxLib.slnファイルからプロジェクトを起動する

F5キーで実行し、VISORISERが起動することを確認してください

&ref("./visor.png",100%");

**手順3.ガンハウンドのソースをコンパイルして実行する [#u9f691b0]
-ガンハウンドのソースをダウンロード
ダウンロードしてきたgunhoundフォルダを配置します
 src/gunhound
 src/gunvalken.h

-プロジェクトへ追加
 src/gunhound、src/gunvalken.hをVCのソリューションエクスプローラーのSource Filesにドラッグ&ドロップして登録してください
#ref("./vc01.png",50%);

-ライブラリにhitManagerの機能を追加します
ファイルをソリューションエクスプローラーに追加してください
 gxLib/util/hitManager/CCollisionManager.h
 gxLib/util/hitManager/CCollisionManager.cpp

#ref("./vc02.png",50%);

-ゲームプログラムの呼び出し
src/gameMain.cpp
 gxBool GameMain()
 {
 	gxBool GunHoundMain(gxBool bReset);
 	GunHoundMain( gxFalse );
 }

gxLib.h 29行目

 #define WINDOW_W (480)
 #define WINDOW_H (272)

*トラブル対応 [#h7dd7e0f]
***OpenGLに切り替えるには? [#q6970f24]
以下の定義を切り替えます。
gxLib.h
 #define PLATFORM_WIN32_DIRECTX9
 //#define PLATFORM_WIN32_OPENGL
  ↓
 //#define PLATFORM_WIN32_DIRECTX9
 #define PLATFORM_WIN32_OPENGL

実行時に必要になるopenCVのDLLを以下にコピーしてください。
 run/opencv_ffmpeg310_64.dll
 run/opencv_world310.dll
 run/opencv_world310d.dll

***vorbis/vorbisfile.h No such file or directry [#hb3286bb]
ogg vorbisのヘッダーファイルが見つかっていません。ヘッダーファイルを格納した場所へのパス設定を見なおしてみてください。gxLibのデフォルトでは下記の2箇所に格納されれば自動的に認識します
 platform/windows/include/ogg/
 platform/windows/include/vorbis/

***opencv/opencv.hpp No such file or directry [#y081ccd0]
同じくopencvのヘッダーが見つかっていません。「platform/windows/include/openCV/」に以下の2つのフォルダを配置してください。
 platform/windows/include/openCV/opencv
 platform/windows/include/openCV/opencv2

*** 構文エラー : 識別子 'D3DMULTISAMPLE_TYPE [#u32e131d]
DirectXのSDKが入っていないか、SDKのフォルダへパスが通ってない可能性があります
gxLibでは以下に配置すると自動的にコンパイル対象に追加されます
 platform/windows/include/openCV/directx9


***VC2013を使ってコンパイルする [#fece13c9]
SDKのバージョン番号が異なる場合コンパイル時にエラーが出力されるので適切なバージョン番号に設定してください。

platform/Windows/DirectX.vcxproj
platform/Windows/OpenGL.vcxproj
 <PlatformToolset>v140</PlatformToolset>
  ↓
 <PlatformToolset>v120</PlatformToolset>


*その他 [#sd67a4eb]

***LUAを利用する [#z7a9dba5]

***Cocos2Dxを利用する [#o2b27621]

***zLibを利用したpngファイルの使用 [#u2f40b6f]