日記(924)

<前 次>

ふにゃさんと同じく

Bomber丸WorldのBGMシステムを作り始めました。
とりあえずふにゃさんのを参考に、と思ったらふにゃさんのほうではBGM再生にyaneSDKを改変して使っていたんですね…。
忘れていました。
そんなわけで、今回もふにゃさんと同じくDirectMusic7(というか6.1)でやっていこうと思います。
だから、一応動作環境にはWindows95も入るはずです。

チューニング中

LuaそのものをBomber丸World用にチューニングしてました。
Bomber丸Worldで使われると困る標準関数を削除したり、ゲーム上でうまく動かない関数の仕様を変更したり、紛らわしい名前の関数をリネームしたり。
で、削除しまくってたらライブラリのサイズが400KBから300KBまで大幅に落ちました。
まあ、どっちみち使ってないものはリリースコンパイルで消えるはずだから直接的なサイズ削減効果はないかもしれませんが。

lua_dumpは遅いのか!?

コンパイル済みのデータを保持するクラスを作り始めたのですが、どうにもバイナリ出力するlua_dumpはコードの細切れごとにwriterを呼び出すようで、予め全体の大きさがわからないし断片ごとに何度も書き込まれるのでまとめて書き込んで高速化というのができないし、ということで、バイナリを保持しておいて高速化というのは、最初のコストや後で再利用される割合などを考えるとどうにも割に合わないようです。
そんなわけで、もっと単純でリスクの少ない方法を考えることにします。

luaU_dump

ウィンドウシステムの相対座標での描画も出来上がったのでWikiにアップしておきました。
そして、BGMシステムを作ることにしたのですが、その前にもう一度Luaの見直しを行っておこうということで、CBWLuaを改造中です。
BGMスクリプトとか、マップイベントとかで、同じスクリプトを繰り返し何度も読み込むことがありうるので、auto_resourceが使えるかもしれないと思い、auto_resourceで使いまわすためのコンパイル済みチャンクを作るためのクラスをluacを参考に作っているところです。

新ウィンドウシステム

Bomber丸Worldのウィンドウシステムの見直しをしてました。
兎にも角にも新しいウィンドウを作るのが面倒すぎるので、その点の改善です。
以前のバージョンではまずウィンドウアイテムクラスを構築してそれをウィンドウクラスに登録する必要があったのですが、それをウィンドウ上に直接構築する形にしました。
あと、相対座標の導入で、ウィンドウを気分的に後ろの画面から独立させてます。

CBWLua

LuaのBomber丸World用カスタマイズ版ができたのでアップしました。
本当は5.1.2の日本語対応版を作りたかったんですが、やはりというか日本語化パッチは5.1.2には対応していなかったようで。
そんなわけで、ちょっと古いかもしれませんが5.1の日本語対応版を使うことになりました。
変数名には日本語は使えませんよ!

卒業写真撮影日

もう分子模型は学校に持っていきました。
Bomber丸Worldのほうは、HTML表示をちょっとだけ改良しました。
文字列の設定が若干手軽になった程度ではありますが。

<前 次>