2007-07-01から1ヶ月間の記事一覧

c_dfDIJoystick2

Linux版の実装は後で考えることにして、とりあえずHamigaki.Inputという名前でDirectInputのラッパーを追加しました。 今日の差分 まだ、ジョイスティックだけで、かつ未テストです。 さて、DirectXの基盤技術であるCOMではインタフェースやクラスの識別にGU…

ゲームコントローラ

昨日のDirectInputのコードをライブラリに移そうと思って、今日はLinuxでの実装を検討していました。 VMware上のFedora7で試しているんですが、手元にあるゲームコントローラ(360のやつ)はドライバがないみたいで、認識されません。 う〜ん、困りましたね。

oggとvorbisのビルド

libpngと同じようにliboggとlibvorbisのビルド用Jamfileも用意しました。 今日の差分 BBv1の頃のようにOGG_SOURCEとVORBIS_SOURCEを定義すればソースからビルドするようになります。 Windowsのvorbis.dllだけvorbisenc.cを含んでいるのがトリッキーです。

DirectInputデバイスの列挙

PNGを表示できたので次は移動です。 ゲームパッドで操作できるようにしようと思い、DirectInputのラッパーを書き始めました。 とりあえず、Hamigaki.Coroutineを使ってデバイスの列挙をしてみました。 // 反復子の要素型 typedef ::DIDEVICEINSTANCEA device…

Hamigaki.Png

GILでlibpngを使っているんですが、libpngをJamfileでどう扱うべきかという問題に直面しました。 libpngはzlibに依存していて、これをBoost.IostreamsのJamfileでビルドしている場合、ビルドバリアント毎に別名のzlibができます。 そうすると、libpngも同じ…

GILでPNGの読み込み

ショボイ原因も分かったところで、Boost.GILでのPNGの読み込み解説です。 #include "png_loader.hpp" #include <boost/gil/extension/io/png_io.hpp> #include <boost/gil/image_view_factory.hpp> namespace gil = boost::gil; direct3d_texture9 create_png_texture(direct3d_device9& device, const std::string& filename) { //</boost/gil/image_view_factory.hpp></boost/gil/extension/io/png_io.hpp>…

PNG読み込み実装中

とりあえず、PNGを表示してみようと思い、yotto-kさんのエントリを参考に、Boost.GILを使ってロードするコードを書いてみました。 今日の差分 ただし、pngとzlibのヘッダでコンパイルエラーになっていて、プリプロセッサの出力を追っている段階です。 という…

ADSL直ったかも

ADSLの調子が悪かった件ですが、モジュラーケーブルを変えたら直ったっぽいです。 もう、Bフレッツ申し込んじゃいましたけど。

action_game

エラークラスの準備ができたことですし、次のお題に行きます。 Hamigaki.AudioとHamigaki.Coroutineの使い勝手を上げることも兼ねて、今度は簡単なゲームでも作ってみようかと思っています。 ジャンルは2Dジャンプアクションです。(海外では"Platform game"…

Boost 1.34.1リリース

なんだか存在が空気なBoost 1.34.1がリリースされました。 MLでもRC1〜RC3の頃からほとんど反応ないです。 とりあえずダウンロードしましたが、以後の作業は1.35向けのHEADで行うことにします。 まぁ、もうすぐSVNに移行するんでしょうけど。

directx9_error

posix_errorとwindows_errorの実装がほとんど同じなので、実装だけ共通化しました。 名前はsystem_error。まるで元に戻ったみたいですね。 今日の差分 使い方は、次の形式の特徴クラスを用意してクラステンプレートsystem_errorをインスタンス化します。 str…

Hamigaki.System

とりあえず、Hamigakiライブラリ版system_errorを実装しました。 今日の差分 よく考えたらsystem_errorは既にC++0xのドラフトに入っていて、what()の実装例がBoostのそれとほぼ同じになっていました。 なので、データの持ち方としてはこの方法を採用しました…

system_error

C++

次のネタの準備として、C++TR2候補のsystem_errorもどきを実装しています。 ↓system_errorの定義はこれです。 http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n2066.html ↓Boostでの実装はこちら http://boost.cvs.sourceforge.net/boost/boost/b…

Hamigaki 0.40.0 リリース

Hamigaki C++ Libraries 0.40.0をリリースしました。 http://sourceforge.jp/projects/hamigaki/files/ SourceForge.jpを使うようになってから初のリリースです。 アップ直後はログインしていないとパッケージが見えなくて変だなぁと思っていたら、プロジェ…

Hamigaki.Bjamのドキュメント追加

あまり役に立つとも思えませんが、Hamigaki.Bjamのドキュメントを追加しました。 http://hamigaki.sourceforge.jp/doc/html/bjam.html 書いているうちに段々面倒になってきて、後で書いた箇所はプロトタイプしかありません。 クラスが多くて、実りがない割り…

テストとかドキュメントとかいろいろ

改造版compiler_statusの動作確認も兼ねてLinuxでのテストをしました。 http://hamigaki.sourceforge.jp/status/ たくさんある警告は全部Boost.Test内部の未使用変数が原因です。 (0:28追記) ↓せっかくログもSVNに入れたのでこっちにもリンクを張っておきま…

Hamigaki.Processのドキュメント追加

Hamigaki.Processに環境変数の処理を追加して、ドキュメントも書きました。 差分 環境変数はWindows(ヌル区切り)とPOSIX(char*const[])で受け渡しの形式が違うのですが、POSIX形式はWindows形式の各要素へのポインタを配列にしただけなので、Windows形式を中…

compiler_statusのcharset

随分前からRegression Testsのログのcharsetが環境ごとに違うのが気になっていたのですが、ログをSVNに追加したついでにcharsetを推測して設定するようcompiler_statusを改造しました。 差分 POSIX&gccの環境では、エラーメッセージはLC_MESSAGESに依存しま…

Hamigaki.Checksumのドキュメント追加

今日はHamigaki.Checksumのドキュメントを追加しました。 http://hamigaki.sourceforge.jp/doc/html/checksum.html MD5やSHA-1で最終的なハッシュ値を求める処理はコンテキストを更新してしまうので、これまではメンバ関数checksum()を非constにしていました…

Hamigaki.Integerのドキュメント追加

Hamigaki.Integerのドキュメントがなかったので、リファレンスだけ書きました。 http://hamigaki.sourceforge.jp/doc/html/integer.html あと、Vistaだとcygwinのテストができないので、いまさらながらVMware上にテスト環境を構築しました。 ↓Regression Tes…

bjamの文法解説 その6

標準モジュール(のいくつか)、コンフィグファイル、.ENVIRONモジュールの説明を書きました。 http://hamigaki.sourceforge.jp/doc/html/bbv2.html これでbjamの説明はひとまず終了です。 あとは思いついたことをその都度書き足していきます。 かなり端折った…

bjamの文法解説 その5

条件式と制御文、組み込みルール(一部)の説明を書きました。 http://hamigaki.sourceforge.jp/doc/html/bbv2.html TODO: 標準モジュール site-config.jamとuser-config.jam

Hamigaki.Audio for BBv2

BBv2の解説が途中ですが、S.F.さんからの指摘を受けて先にHamigaki.Audioのビルド手順を改善しました。 http://hamigaki.sourceforge.jp/doc/html/audio/installation.html 結果、設定はこれだけで済むようになりました。 # グローバル変数を設定するため、…

xreflabel

BoostBookというよりDocBookの話なんですが、 <section id="bbv2.targets.common"> <title>共通構文</title> </section> という要素に<xref linkend="bbv2.targets.common"/>でクロスリンクを張ると、リンク元のテキストが「共通構文項」のようになってカッコ悪く、結局<link>を使ったりしていました。 ドキュメントをよく読んだら、xreflabelという属性があることに</link></xref>…

bjamの文法解説 その4

プロパティ、プロジェクト、ターゲットの説明を書きました。 http://hamigaki.sourceforge.jp/doc/html/bbv2.html 残りは条件式と制御文とよく使うルールの説明ぐらいです。

bjamの文法解説 その3

モジュールの説明を追加、ターゲットの説明を書き始めました。 http://hamigaki.sourceforge.jp/doc/html/bbv2.html user-config.jamを書くのにクラスは使わないと思うので、クラスの説明は省略しています。 それ以前に条件式と制御文の説明がないですね。

はてなへぇ

はてなスターのせいではてなダイアリーが重いですね。 よく分からないコメント機能を外して、ただのへぇボタンでいいのかも。 スターだと数が気になるでしょうが、へぇなら「まぁ、へぇだし」と思えるような気がします。

bjamの文法解説 その2

変数展開とルールの説明を追加しました。 http://hamigaki.sourceforge.jp/doc/html/bbv2.html Hamigaki.Bjamとファイル名が重複するため、ファイル名を変更しています。 DocBookに<appendix>という要素があったので、<chapter>の代わりに使ってみました。 また、<fomalpara>を<section>に変えたので</section></fomalpara></chapter></appendix>…

bjamの文法解説

ドキュメントにシステム要件が書いてなかったので追加しました。 http://hamigaki.sourceforge.jp/doc/html/requirements.html また、ビルドの説明の中でbjamの解説していると読みにくいので、付録として簡易リファレンスを付けることにしました。 http://ha…

インストール方法のドキュメント

次のテーマに移る前にここらで一旦パッケージをリリースしておこうと思って、ドキュメントの整備を始めました。 実際にドキュメントを書いてみると、ビルドするだけでも設定項目が多く、bjamの知識も要求されてしまうため、もう少し簡単にしてみました。 一…