日記(957)

<前 次>

山の音楽家

CharaBoxに音楽や動画などのデータを画像の代わりに使えるようにしようと考えてました。
でも、やめました。
DirectShowを使って途中まで作っていたのですが、やめました。
画像との共存が面倒というのもあったのですが、キャラと音楽とか、キャラと動画とか、関わりが薄そうだな、と思いまして。

Bomber丸Worldに使うBGMの一つを作っていました。
6拍子で何かが混じってる曲です。
とりあえず全体的な雰囲気をつかむためにStringsだけで作ってみたもので、まだまだ本格的に作り出すのはこれからになりますが、今の段階でも結構問題が多そうです。
とにかく、いかにも急いで作ったような雰囲気が前面に出ているのを何とかしなければ。

1162046970.mid

トップページも更新

そんなわけで冷めないうちにプログラミングのところを更新してきました。
今回は1回分開いたので一度に2ページ更新です。
今度からはいよいよ長い長い前置きを終えて本番のスクリプト開発に入りますよ!!

そしてついでにトップページも更新。
コンテンツ名を見ればわかるような説明は省き、もっと内容を簡潔にわかりやすく、興味を持てるように書き換えました。
そして説明一つ一つの行数を必ず2行以内に収め、あまり使わないパーツを目立たないところに移動したりもしました。
そういえばずっと前からタグ名を間違っている部分があったのに今日初めて気が付いてしまいました。
その部分は丸ごと消すつもりの部分だったので今更気付いても意味が無かったのですが…。

爆ボンのブラックシティのページも更新しました。
やっぱりどきどきモードだとハートの制限が厳しいです。
そしてごうかくタイムもフルパワーであってさえ余裕が無い。
そんなこんなで後はレインボーパレスに突入するだけのようです。
これが済んだらいよいよ最速攻略のページなんかも作り始めますよ。

スライムが10匹

auto_resourceができたのでそれ前提で作る予定のスクリプト作成も始められそうです。
木構造を作ったら後は実行すれば終わりですが、同じスクリプトをいろんな場所で使いまわす場合、実行するごとに結果の変わらない木構造を何度も使用するごとに毎回解析するのはばかばかしいので、実行環境(要するにスクリプト内で使われる変数の情報など)だけを個別に用意して木構造は既に解析済みのものを使いまわそうという魂胆です。
まあ要するに、スライムが10匹現れた場合行動パターンはみんな同じだからHPとかのパラメータだけ個別に持たせておいて行動パターンは一つで充分でしょって話です。

インプット

なんかCBWInputが使い勝手が悪いと思って変更を加えていたんですが、ものの見事に失敗しました。
CBWInputを使うときはInitとUpdateとQuitは必ず使う必要があるのですが、そのうちInitとQuitを不要にしたかったのです。
しかし、Initの時点ではCBWDrawや他のもっと低レベルな部分の初期化が済んでいないといけなくて、Quitは逆にそれらの終了処理は始まるまでに呼ばなくちゃいけなくて、それぞれコンストラクタとデストラクタに任せておくことができなくて、断念することになりました。
本当はやろうと思えばできなくもなかったのですが、改変したところで大して手間は軽減されないし、これに依存しているCBWWindowまで道連れで変更になっちゃったりして、仕様変更によって起こる面倒ごとのほうがずっと多かったのです。
ともかくソースの過去ログ残しておいて助かりました。
それと、Quitが実は省略可能じゃなかったのでドキュメントもこっそり修正しました。

auto_resourceも細かい部分で少し修正です。
リソース本体を格納しているautoobjectはコピーが作られるとポインタや参照カウントの関係上色々まずいことが起こるので、コピーコンストラスタや代入が行われるコードを書いた場合はエラーが起こるようにしたのです。

auto_resource動作チェック

auto_resourceの動作チェックも完了しました。
auto_resourceはその特性上結構アバウトなメモリ管理をしているので許容量を超えてもメモリ解放されず、結果として許容量を超えるリソースが残ったりすることもあります。
このあたりは、小さなファイルを大量に読み込むことを想定して作ったということもあり、そもそも厳密にしたところで別の場所でメモリを湯水のように使ったりしてるはずなので、ここら辺は結構アバウトでもよいかと思われます。
ま、これは無難バージョンを使った場合のことなので厳密にやろうと思えば場合によっては最善バージョンを使えばいいだけの話ですが。

1161700387.png

auto_resourceメモリ解放

auto_resourceのリソースのメモリ解放もとりあえずできました。
あとは動作チェックと更なる改良だけですね。

auto_resourceメモリ確保

auto_resourceのリソースのメモリ確保のほうは大方できました。
あとはメモリ解放のほうですね。

<前 次>