SFXVI開発講座グラフィック編(平成6年霜月号掲載)

第一回

 〆切まで時間がないので順番が前後してしまいますが、今回はスプライトエディタで DSPデータを作成し、それをCBに登録する方法について解説したいと思います。
 DSP制作の基本事項については次回以降で触れることになると思います。

 DSPデータは「キャラクタビルダ」(以下CB)で制作することが出来ますが、 そのエディタとしての機能は、専用のエディタに比べれば非常に貧弱であるといわざるをえません。 しかし、これはCBの役割を考えればごく当然なことです。

 そこで、DSPのエディットはスプライトエディタで行い、 そのデータをCBで利用するというように、分業制にした方が効率があがることになるでしょう。

 CBが起動時に読み込むDSPデータはプロジェクトディレクトリ内に存在する、 「DSP.LST」というファイルに記述されています。この中身を覗いてみると

================= DSP.LST ==================
直立1,3,6;
直立2,3,6;
直立3,3,6;
直立4,3,6;
歩行1,3,6;
歩行2,3,6;
歩行3,3,6;
歩行4,4,6;
しゃがみ1,3,5;
しゃがみ2,3,4;
...
...
============================================

と、このように書かれていることがわかります。これは各行がそれぞれDSPデータの 情報を意味しており、(拡張子を除く)DSPファイル名,X方向のスプライト数, Y方向のスプライト数を表しています。

 これを書き換えれば任意のデータを読み込むことが可能になります。 例えば、ファイル名「崩拳1.dsp」、Xサイズ5、Yサイズ6というデータを追加する時、 任意の位置に
崩拳1,5,6;
という行を追加します。このとき注意しなければならないのは各データの区切りに空白などを 入れないことや、行末にセミコロン「;」を忘れないことです。


 これで、あらかじめ用意しておいたDSPデータをCBで扱えるようになります。

 次にDSPデータをスプライトエディタで作成する方法です。DSPデータを作成するには、 スプライトエディタやキャラクタエディタ、あるいはグラフィックエディタなどを使います。 SMやEELが多くの人に使われているようです。

 SMは「Oh!X」の付録ディスクに掲載された横内威至氏制作のスプライトエディタです。 EELはパソコン通信などで入手可能なGORRY氏制作のキャラクタエディタです。 入手法や今後のサポートを考えるとEELの方が安心出来そうですが、 SMには根強い支持者もいます。好みにあわせてどちらを使うか選びましょう。

 DSPデータは無圧縮のスプライトデータです。 サンプルで用意されているDSPデータをエディタで読み込んでみると、 どうなっているかわかると思います。

 試しに読み込んでみましょう。SM,EELどちらでも同じく「SP LOAD」を選びます。 サンプルに付属のDSPデータを適当に選びロードします。 するとスプライトが横に並べられた形で表示されたでしょう。
 つまり、DSPデータはSP形式のデータであるということです。

 EELは範囲を指定してSP形式でセーブすることが出来ないので、 SMでデータをセーブすることになります。 EELからデータを持ってくるにはフルサイズでデータをSPセーブすれば、 SMで、同じデータを読み込めます。
 SMはセーブデータの拡張子が決められているので、 セーブしたあとでリネームする必要があります。


 CBで使う場合、DSPデータは横4、縦6といったように並べられるはずですが、 エディタでロードすると横一列に並べられてしまいます。 これはSP形式のデータがサイズなどの情報を一切持たないからです。

 これはつまり、DSPデータはエディタで再編集するのに向いていないということを意味しています。

 編集に向いたセーブ形式は、EELならSP形式、SMならフルサイズのSP形式かPAT形式です。 よって、普段のエディット時にはこれらの形式を使い、DSPデータを作成する時に範囲指定のSP形式セーブを使う、 というのがよいと思われます。


 フルサイズのSP、PATデータは256*256ドット、 つまり16*16個のスプライトの大きさになります。 このサイズにDSPデータをひとつしか置かないのはもったいないので、 普通、複数のDSPデータでひとつのSPデータファイルをつくります。 このほうがグラフィックを描くにも、管理の点からも便利ですから。


 では、ここでDSPデータ制作の流れをまとめてみましょう。

EELの場合
スプライトデータを作成しSP形式でセーブする     ↓ SMでデータをSPLOADする   ↓ 必要な部分をSPSAVEする   ←┐   ↓               │ 拡張子を.SP→.DSPにリネームする   │   ↓               │ 必要なだけ繰り返す─────────┘   ↓ DSP.LSTを書き換える   ↓ CB起動
SMの場合
スプライトデータを作成する   ↓ 必要な部分をSPSAVEする   ←┐   ↓               │ 拡張子を.SP→.DSPにリネームする   │   ↓               │ 必要なだけ繰り返す─────────┘   ↓ DSP.LSTを書き換える   ↓ CB起動

 さて、DSPデータを作成する上でEELとSMの不便な点は 「EELは範囲指定のSP SAVEが出来ない」「SMは.DSPという拡張子でSP SAVEが出来ない」 ということです。また、範囲を指定してセーブするのも数が多くなると面倒な作業になります。

 そこで、DSP制作支援ツールがいくつか発表されています。 私の制作した「SPtoDSP」「PAT2DSP」を用いた場合、 SP及びPATファイルから自動的にDSPファイルを作成することが出来ます。 makeとあわせて使えば、さらにDSP.LSTまで自動で制作が可能になります。 DSPデータ制作の流れは
フルサイズでSPSAVE(EEL,SM)
  ↓
SPtoDSP & make
  ↓
CB起動


任意サイズでPATSAVE(SM)
  ↓
PAT2DSP & make
  ↓
CB起動

と、ここまで簡略化されます。うまく使って効率をアップさせましょう。

 どうにも時間におされた関係で、中途半端な内容になってしまったような気がします。 いやはや、もうしわけないことです。こんな文章でも参考になれば幸いです。

 さて、次は・・・次って誰が書くんでしょうか?

ひとつ前にもどるトップページにもどる