Top > C++ > オープンソースライブラリゲームプログラミング

* オープンソースライブラリゲームプログラミング [#j55707cc]
#contents

** オープンソースライブラリゲームプログラミングとは [#c08a53be]
遊びで作っているゲームプログラミングフレームワーク。
SDL+OpenGL+OpenALWithOggVorbisで
WinでもMacでも動くものを作ろうというもの。

** ソース [#hc6cff44]
http://www.10106.net/~hoboaki/view/gamesln
(毎朝、最新のものに更新されます)

** 使用ライブラリ [#bdfbdd62]
- Windowsはvc10-x86。
- MacOSXはgcc4.0-SDK10.4u(i386,ppc)。

|名前|説明|用途|バージョン|h
|OpenGL|グラフィックスライブラリ|2D,3D描画|Win(付属) Mac(付属)|
|OpenAL|オーディオライブラリ|2D,3Dサウンド|Win(1.1) Mac(付属)|
|SDL|マルチプラットフォームなものを色々を提供|スレッド・イベント・入力インターフェース・ウインドウ作成|1.2.11|
|libogg|Oggデータデコーダ|BGM・SEの再生|1.2.2|
|libvorbis|Oggデータデコーダ|BGM・SEの再生|1.3.2|
|GLEW|OpenGL Extension Wrangler,OpenGLの拡張機能のラッパー|Windowsでのみ使用|1.5.8|
|pthreads|zthreadがバグバグだったのでこっちを試しに使ってみることに|スレッド||
|boost|C++拡張ライブラリ|色々|1.45|
|angelscript|ゲームの挙動実装|スクリプト|2.18.1|
** コンパイルマクロ [#ub082ba6]

自分で設定したもの
|名前|説明|h
|USE_DEBUG_UTIL|1のとき,開発補助コード(ex.printf)が有効になる|
|USE_ASSERT|1のとき,アサートが有効になる|
|USE_OPENGL_ERROR_CHECK|1のときかつUSE_ASSERT=1のとき、OpenGLのエラーチェックが有効になる|

システムから要求されるもの
|名前|値|説明|h
|GLEW_STATIC|空|GLEWを使用するのに使用|
|_DEBUG|空|VC8.0,デバッグビルドするのに定義|
|NDEBUG|空|VC8.0,デバッグビルドしないときに定義|

Winのみ
|名前|値|説明|h
|PTW32_STATIC_LIB|空|pthreads win32|
** 無視する警告 [#x4990479]
VC8.0
|番号|説明|h
|4127|条件式に定数を使用している。|
|4351|配列のメンバ初期化|
|4355|コンストラクタのメンバ初期化でthisポインタを使用している。|
|4481|言語拡張使用を使用している。|
** ビルド方法 [#u385b9c5]
- 事前に[[開発環境>./開発環境]]を整備しておく必要あり。
*** WindowsXP [#r4b5abfa]
+GameProject.vcxprojを開いてビルド。
*** MacOSX [#n21875ab]
+チェックアウトしたディレクトリ/GameProject/MacOSXのディレクトリでMake

** その他コンテンツ [#y6389235]
#ls2();
** todo [#m0953b43]
- [Done] Win版をビルド&実行できるようにする。
-- %%Pathでコンパイルエラー発生中。%%
-- %%毎回ビルドしてしまう問題の調査。%%
-- %%謎の.libリンクコマンドの調査。%%
- コードの整理
-- コード規約そろえる。
--- %%メンバ変数をm始まりに。%%
--- %%static変数をs始まりに。 %%
--- %%static関数を大文字始まりに。%%
--- PodF32 -> f32。
--- PodF32 -> F32POD。
--- using namespace撲滅。hppのusing撲滅。
--- Vector3類をvector3と分離。xyzは変数直接アクセス形式に。
-- UTF8(BOMなし)/CRLFにそろえる。
- リポジトリ・ディレクトリの整理。
- Mac版をビルド&実行できるようにする。
-- コンパイラとSDKを決める。(10.4u-gcc4.0 or 10.6-LLVMgcc?)
-- 各ライブラリ・フレームワークのコンパイラ・SDKのバージョンをそろえる。

- ディレクトリ構成メモ
-- ファイルはキャメル方式。
-- ディレクトリは原則小文字アンダーバー方式。ただしプロジェクトフォルダや名前空間フォルダなどは例外。
-- ただし,framework直下のディレクトリはキャメル方式。
 crossframework
 + file
 + svn
   + framework/trunk
     + ParamEditor
       + ParamEditor.exe
       + Readme.html
     + CommandLineTool
       + doc
         + XDataConverter.html
       + bin
         + XDataConverter.exe
     + Tool
       + XTool.sln
       + ParamEditor/ParamEditor.vsxproj
       + XDataConverter/XDataConverter.vsxproj
     + Library
       + man
         + index.html // ここも大文字にしたい。Readme.htmlにする?
       + include
         + XBase
           + Vec3.hpp
         + XData
         + XG3D
       + src
         + XBase
           + Vec3.cpp
         + XG3d
       + build
         + win
           + XLibrary.sln
           + XBase.vcxproj
           + XG3d.vcxproj
         + macosx
           + XBase.xcodeproj
         + doxygen
           + Doxyfile
       + lib
         + win_sdk70a_vc100
           + debug
           + release
           + final
             + LibXBase_x86.lib
             + XBase_x86.dll
             + XBase_x86.lib
         + macosx_sdk106_llvm20

    ホーム 一覧 検索 最終更新 バックアップ リンク元   ヘルプ   最終更新のRSS