* オープンソースライブラリゲームプログラミング [#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 |