正直日記



2008/01/07

_ SpriteStudioまで行かなくても
一枚絵から矩形パターンを切り出して、
そのパターンを複数並べてフレームをつくり、
更にそれらのフレームからアニメーションを作り、
あと、フレーム内でコリジョンも複数設定出来たりしちゃって、
最終的にXMLとかYAMLで出力する。
(更にXMLとかYAMLを、CLIツールで処理してソースにする)

みたいなツールが欲しいですヨ!オイラは。
_ ポインタテーブルのポインタテーブルを参照する
ポインタの配列が

 int *hoge[];

なら、ポインタの配列のポインタの配列は

 int *(*fuga[])[];

になると思うんだけど……。で、それを外から参照していくと

 fuga[]            // ポインタの配列のポインタ
 *(fuga[])         // ポインタの配列
 *(fuga[])[]       // ポインタ
  *(*(fuga[])[])  // 実体

になるよなぁ。

ここまで考えたところで脳がショートしたため、ポインタテーブルのポインタテー
ブルを作るのを諦め、ダサいけどコードに直接ポインタを記述することにしたよ。
_ スプライトが欠かせない話
スプライトが横並びしまくって欠ける現象が起こりまくってるのでなんとかする。
具体的にはレーザーを間引きして……ううぅ。それでも足りなかったので、スプ
ライトサイズを調整。今まで全て16x16で表示していたのを、8x8で収められる物
はそのようにアトリビュートとパターンを変更するようにした。

あれ、でも 16*64 = 1,024 < 1,210 だから欠けるはず無いよな……と思ったら、
いつの間にか DISP_HBLANK_OAM_FREE を立ててた。そりゃ上限954なら欠けるわ。
きっちり70ドット分消えてたわよ。


※ DISP_HBLANK_OAM_FREE: REG_DISPCNT の bit5
                          libgbaでは定義されてないので勝手に名づけました

最新
2010 | 01 04
2009 | 01 02 03 04 05 06 07 09 10 11 12
2008 | 01 02 03 04 05 06 07 08 09 10 11 12
2007 | 02 03 04 05 06 07 08 10 11 12
2006 | 01 02 03 04 05 06 07 08 09 10 11 12
2005 | 01 02 03 04 05 06 07 08 09 10 11 12