プログラミング

GDI+SDLがおしゃれなんですよ(違

STATUS: 故障中 いま作っているゲームは、グラフィックはGDI+DIBでやってます。 DIBSectionなので、メモリを直接操作出来るし、GDIの描画APIも使えるしで楽ちん。 でも、ぜんぶソフト処理になっちゃうので速度的にはちょっと不利。 といっても一番処理に時間…

SDL_ConvertSurfaceとかしてみたが

STATUS: 故障中 SDLオフ会で、表示が遅い〜と相談したら SDL_ConvertSurface してサーフェイスのフォーマットを合わせないと毎回変換がかかって遅くなるという話でした(FAQだって)。 SDL_ConvertSurfaceなんてやってかなったよ〜。 というわけで、対応してみ…

Boost本を買いに行かねば

STATUS: 故障中 今日は「Boost C++ Libraryプログラミング 」が発売になっているはず。 ・参考URL 『Boost C++ Library プログラミング』サポートページ Let's boost (著者による boost紹介ページ) コメント

SDLオフ会のネタ作成中

STATUS: 故障中 SDLオフ会のネタ作成中。 今日の12:00集合だから、あと9時間くらいしかないよ〜 で、いま必要なライブラリが揃ったという感じ、ゲームはこれから作るのだ。きっと開発効率が最強に強まったライブラリ群をバリバリ使ってあっという間に完成で…

SDL_Mixerって楽ちんすぎ

STATUS: 故障中 ゲームのBGM・効果音をどうしようかと思ったんだけど、SDL_Mixer使ってみたらとても簡単でびっくり。 効果音の同時再生も何も考えずにサポートされる。(同時再生数は指定可能) BGMのフェードイン・フェードアウトも簡単。コールバックを書…

Lua操作クラスが出来てきた

STATUS: 故障中 ● FTEzLua利用サンプルイメージ /* 開発中の Lua 操作クラス「FTEzLua」の使用例 けっこうMFCべったり */ #include "stdafx.h" #include "FTEzLua.h" class MyClass { public: // テスト用関数 void Start() { FTEzLua lua; // Luaクラスイン…

LuaのVC用libファイルはCaLuaからGET? (2)もうひと手間かけろよ編

STATUS: 故障中 CaLuaライブラリのアーカイブに含まれている Lua フォルダ内のプロジェクトをVC6でビルドしたらそのまま使えました。なんだ〜 Luaフォルダ内の、lua50.dsp と lualib.dsp をVC6の DeveloperStudio にドロップして、それぞれビルドすると、VC6…

LuaのVC用libファイルはCaLuaからGET?

STATUS: 故障中 / 0.884 [fslasht kg] (この日記の結論:VC6ではこのままでは駄目、VC7では多分大丈夫そう) LuaのVisualC++用のlibファイルは公式サイトに置いてないので、以前の日記に書いたように「VisualCから使う方法 」 (みはえる氏のwiki)のページから…

DeveloperStudioをマクロで自動化

STATUS: 故障中 DeveloperStudioでのいろんな操作をマクロで自動化しようと思いました。 とりあえず、マクロのサンプルを求めてはてなで質問。 VisualC++6.0のDeveloperStudioのマクロを公開しているサイトを教えてください。 以下のような機能のマクロが欲…

[lua] C++メンバ関数をコールバック関数とする場合の妄想的改善案 (2)

STATUS: 故障中 前回いろいろ考えましたが、やねうBBSで聞いてみたらそんなものはとっくにあるとのこと。...rz boost::bindとかを使うといいそうです。 【参考URL】 Boost: bind.hpp documentation [cppll:10102] コールバックオブジェクト Windowsプロフェ…

C++メンバ関数をコールバック関数とする場合の妄想的改善案

STATUS: 故障中 C++のクラスのメンバ関数をコールバック関数とする場合、そのメンバ関数をstatic関数にして、コールバック時にthisポインタを渡してもらいます。 【参考URL】 コールバック関数をクラスのメンバとするには? MFC でコールバック関数を使う さ…

SDL 2004年ゴールデンウイークOFF(関東)に参加しますよ

STATUS: 故障中 SDL 2004年ゴールデンウイークOFFに参加表明してきました。 僕は、5/9の関東OFFの方に参加します。(5/2に関西OFFもある) ほとんどのメンバーがノートPCを持ち込んで、その場でソフトを動かしながらお話をするという攻撃的(?なOFF会です。…

ターゲットマシンで劇遅

STATUS: 故障中 この前作ったテストプログラム(DDB版)を実際に使うマシンで実行してみました。 ● 結果 ・Celeron 2.0GHz + チップセット内蔵グラフィック XGA(16bit色) 3fps …3? はひ? チップセットはIntel865GMなんだけど、なんでそんなに遅いんだろう。…

リンクしているライブラリによって条件コンパイルしたい

STATUS: 故障中 汎用のライブラリを作っているとき、利用されるプロジェクトにリンクされているライブラリによって、条件コンパイル出来たら便利かなと思いました。 特定のライブラリがリンクされていたら、それに関連する機能が有効になるとか。 もちろん、…

DDBにしたら劇速に

STATUS: 故障中 DDBでサーフェイスを作るモードを追加してみました。 ● 結果 ・Pentium4 3.06GHz + GeForceTI4200 XGA(16bit色) 790fps VGA(16bit色) 1950fps XGA(32bit色) 330fps VGA(32bit色) 860fps …劇速です。DIBSectionのときの10倍以上の速度になりま…

思ったほどパフォーマンスでないな

STATUS: 故障中 いま作っているBitmap(というかDIBSection)管理クラスの速度試験をしてみました。 画面一面にBitbltでイメージを敷き詰めてスクロールさせるというもの。画面のサーフェイス、イメージともにDIBSectionです。 ● 結果 ・Pentium4 3.06GHz + Ge…

カルマシステム (2)

STATUS: 故障中 オリジナルのイメージの生成、ファイルからのロードを行うとm_nAkarmaをインクリメント、明示的・暗黙的ともにオブジェクトのコピーが行われると、m_nVikarma をインクリメントするようにした。 ASSERT( m_nAkarma >= m_nVikarma ) …これは戒…

カルマシステム

STATUS: 故障中 オブジェクトのコピーとかコストがかかりそうな処理を行った場合、staticメンバ変数 m_nKarma をデクリメントすることにした。 動かしてみて、あまりにもカルマが減り過ぎるようだったら考え直そう。 コメント

参照カウンタの実装で悩み中

STATUS: 故障中 Bitmapハンドルを管理するクラスを作ってるとこです(楽しい車輪の再発明)。 class MyBitmap { HBITMAP m_hbitmap; int m_nRefCount; // これは、ちゃんと動作しないだろう MyBitmap() { m_hbitmap = NULL; m_nRefCount = 0; } virtual ~MyB…

DPOF情報

STATUS: 故障中 デジカメで撮影したメディアからDPOF情報を取得する必要があったので調べ物してました。 ExifのつもりでJpegファイルの中にあるんだろと思っていたら、別ファイルに纏まって入っているのね。 \MISC\AUTPRINT.MAK ←場所はココ固定です。 この…

水流シミュレーション改良

STATUS: 故障中 水流シミュレーションの水の流れを改良しました。 また、セーブ・ロードなど追加してみました。 →ダウンロード (Windows用) 【マニュアル書いてみました】 ---------------------------------------------- 「水流シミュレーション」(testWat…

foolproofなマクロ作れないかな(C++)

STATUS: 故障中 int nResult = GetObject()->DoSomeThing(); GetObjectメソッドで取って来たオブジェクトのDoSomeThingメソッドを呼び出しているわけですが、オブジェクトがNULLの場合、例外が発生してしまいます。(catchしろよという話はこの際おいとく) …

水流シミュレーションみたいなの作ってみた

STATUS: 故障中 ゲームに使おうとおもって、水が流れ落ちるシミュレーション(いんちき)を作ってみました。 適当に作った割にはそれっぽく動いているように見えます(いんちきだけど)。 マウスで水路作ったりいろいろ試せるようにしてみました。 よかった…

new/deleteのコストは目をつぶろうか

STATUS: 故障中 void SomeStringFunc( CString &str ); C++でこういう関数に、CStringクラス(MFCの文字列クラス)のインスタンスの参照を渡したい。 そのとき数値を文字列に変換して渡したい。 そういうとき数値→文字列関数を作るとすると 【案1】 1: CString…

3分ゲーコンテスト応募完了

STATUS: 故障中 3分ゲーコンテストに作品の応募を完了しました。 締め切りが3月29日(月)0時で、かなりぎりぎりのタイミングで応募しましたが、さきほど受理された旨のメールが届いてほっとしているところです。 今回は、「赤く塗れ」にあたらなゲームモード…

混沌のBITMAP操作クラス

STATUS: 故障中 BITMAP操作は大昔に作ったクラスを使いまわしているのですが、どれもこれも中途半端な仕様で困りものです。 いいかげん統合しようとソースみたらHBITMAPとDIBとかの扱いとか忘れてて混乱してしまいました。ロストテクノロジーか? リハビリし…

発光ぽいエフェクト(赤く塗れ)

STATUS: 故障中 「赤く塗れ」を発光ぽいエフェクトをかけて表示するよう改造してみました。 赤く塗れ kiraki (Windows用) めまいがするような手抜きプログラムなので遅い(1GHzくらいのCPU要ると思う)ですが、発光という雰囲気は伝わるかなあ。 コメント

「赤く塗れ」にlua言語を組み込んでみました

STATUS: 故障中 luaだいぶわかってきましたよ。 以前作ったゲーム赤く塗れにlua言語を組み込んでみました。 lua test with Akakunure (Windows用) プログラムを起動すると、同じディレクトリにある luaスクリプトファイル「test.lua」を読み込んで実行します…

memo

STATUS: 故障中 マニュアル読みながら luaいじってました。 以下メモ。 lua_pushstring(L, "foobar"); lua_gettable(L, LUA_GLOBALSINDEX); と lua_getglobal(L,"foobar"); は等価。lua_getglobalは、マクロ。 lua_getglobalの処理は、スタックトップにある…

[lua] 参考サイト追加 (I-Saint氏のサイト)

STATUS: 故障中 さっきluaの環境構築について日記に描きましたが、shinichiro.h氏からコメントをいただいていました。 I-Saint氏のチュートリアルがすばらしいとのこと 2004/2/19の日記 (I-Saint氏) このページもためになりますね。詳細なコメントで理解しや…