Visual C++ 2008 EE で SDL + OpenGL その3
なんかいろいろ遊んでたら酷いことになった。
起動するとメカ千早(拾い物)と社長(自筆)の一枚板が表示されるぞ!:
画面をクリックするとパワーを充填だ! 右のゲージが上がるぞ:
ゲージが赤になったらパワー充填完了だ!クリックしているボタンを離すと…:
…………。
何がやりたかったかと言うと
今となっては誰も分からない。
アホみたいに見えるけど結構凝っているんです
ちょっと遊ぶだけにしようと思ったのに、性格が災いしてか結構凝ってしまいました。
付加部分は簡単に切り離せるように extra01.cpp の中に全部入っています。
弾の状態遷移を書く場所を変えた方がスッキリ見やすかったかも。
あとパワーを充填しているときと、弾が社長に当たったとき、当たり終わったときの社長の台詞で
wav ファイルを再生しているのですが、せっかくなので SDL_mixer ではなくて OpenAL を使っています。
そのため、OpenAL を使うためのクラスを作成して使用しています。
OpenAL は構造や文法が OpenGL と同じなので、OpenGL を知っていれば書きやすいと思いますが
なにせ情報が少ないので、書き方が分かっていても何を書いたらよいのかを調べるのが大変です。
それで OpenAL は OpenGL みたいに 3次元で音を聞くことができます。
動かして聞いてみると分かるんですが、ちゃんとステレオして音が音源から発生しているように聞こえます。
RTS みたいに音源が移動すると分かりやすいんですけれど。
OpenAL のとっかかりとしても若干参考になるのではないでしょうか。
というか自分が後で参考にするために書いただけだったり。
Visual C++ 2008 EE で SDL + OpenGL その2
明けましておめでとうございます。本年も宜しくお願い申し上げます。
さて、以前作った自作ライブラリを使用して、Metasequoia 独自形式の
意味不明のモデルを読み込んで表示しました。ちなみに何も動きませんし、動かせません。
まだまだ自作ライブラリはリファクタリングが足りないです。リファクタリングだーいすき!
そんなことはおいておいて、モーションをつけるにあたってはここからが本番なので、
しばらくリバースエンジニアリングにいそしみたいと思います。
Visual C++ 2008 EE で SDL + OpenGL
たまには C++ でも良いじゃない。
ってことで、Visual C++ 2008 EE で SDL OpenGL を記憶を掘り起こしながらやります。
あ、作りかけのものを止めるってことじゃないですよ。ぐるっと回って一週したらまたやります。
po01_01.zip
なんで po かって?そりゃローポリのポです。ro でもいいんだけど。
SDL は C:\devs\sdl の中に include と lib を展開しています。
Escape を押すと終了します。
描画は行っていないので、画面には何も表示されないどころか更新すらしません。
Windows の IDE の開発ってここまでの敷居が高いんですよねえ。
cygwin とかで環境を整えるほうがずっと簡単なんですけど、
ここまで出来ちゃえばあとは cygwin で make する開発環境よりずっと速いし簡単だと思います。
モバイル BSD の夢、潰えたり (OpenBSD/Zaurus)
Planex の GW-CF11H が届いたので早速使ってみたが、
wi0: init failed wi0: failed to allocate 1594 bytes on NIC wi0: tx buffer allocation failed wi0: failed to allocate 1594 byted on NIC wi0: mgmt. buffer allocation failed wi0: wi_cmd failed with 60
などというメッセージが表示され、使えなかった。
家の近くにある FON サーバは一回掴んだことがあったが、すぐに切れてしまった。
これが使えなければモバイルサーバとしては実質的に使えない。
サスペンドから復帰できなくなることがある問題も再現したため、常用するのは諦めざるを得ない。
OpenBSD/Zaurus 4.4
Zaurus を遊ばせておくのももったいないなーと思って、また OpenBSD を入れた。今度は 4.4。
サスペンドから復帰できないときがある問題が直っていたら嬉しいなあ。
入れる度に思うんだけど、手のひらに乗る Unix マシン (特に *BSD) は良い。
dmesg
インストールは特に問題なし。前回と同じ方法。
一回失敗して NAND フラッシュを入れ直したら HDD1, HDD2 の中身が吹っ飛んで焦ったけど
ネット上に中身が落ちていたので助かった。
これでどんな状況からでも購入時の状態に戻せる技を身につけた。
ちなみにマイクロドライブはコンパクトフラッシュに置き換えた。
駆動部分が無くなったので耐久性がかなり上がった。
前回は無線 LAN が動かず、ネットワークに繋がるのにアンビリカルケーブルが必要だった。
今回はどうかと試してみたところ、GW-CF54G は同じく駄目だったが
USB タイプの WLI-U2-KG54 と GW-US54Mini2B は動くことを確認できた。
できたというか、こちらをみたら、中段に
ural0: could not read MAC register: IOERROR
という前回失敗したときのメッセージが書いてあって、その原因は電力不足だそうで
同じようにセルフパワーの USB ハブに繋げたら動いたんで、もしかしたら 4.0 のときでも
セルフパワーの USB ハブに繋げたら動いたかもしれない。まさか電力が足りなかったとは…。
それでしばらく動かしてみたところ、WLI-U2-KG54 はしばらくすると必ず接続できなくなってしまった。
リンクは切れていないようだがパケットが出ていないような感じがする。
復旧は一回引っこ抜いて差し直すしかなかった。
GW-US54Mini2B のほうは WLI-U2-KG54 の接続が切れる時間になっても切れず、今のところ安定している。
WLI-U2-KG54
port 2 "Buffalo WLI-U2-KG54" rev 2.00/0.01 addr 3 ural0: MAC/BBP RT2571 (rev 0x05), RF RT2526, address 00:16:XX:XX:XX:XX
GW-US54Mini2B
port 2 "Abocom 802.11 bg WLAN" rev 2.00/0.01 addr 3 rum0: MAC/BBP RT2573 (rev 0x2573a), RF RT2528, address 00:90:XX:XX:XX:XX
しかしながら結局アンビリカルなので、不便さに変わりはない。
結局、動きそうな CF タイプの GW-CF11H を購入した。届き次第検証したい。
追記
GW-US54Mini2B も接続できなくなる現象が発生した。
一回繋がったらずーっと ping していれば回避できそうだが、サーバ用途としては使い物にならないな。
やはり CF タイプのものに希望を託すか。