BACK

★☆ キャラ制作奮闘記 ☆★


(2004.12.18)
Win版時代のSFF構築術 〜sprmaker活用法〜

※本記事執筆後、新たに判明した内容や、訂正事項が発生しています。
 最新の内容としては、こちら(SFFデコーダ説明書の2頁目以降)を参照願います。(^-^;

 

さてさて。
本当にもう、何を今更的なネタで申し訳ないんですが、今回のお題はSFFです。
「Win版時代の」なんてご大層な修飾子までつけちゃってますが、 まぁ、くだんの色化け対策を考慮した、管理しやすいSFF構築術を 考えてみようと、まぁ、その程度の気分です、ハイ。

今回のお題の前提条件として、以前書いた色化け対策の内容をご理解頂いているものとして、 話を進めて参ります。
まだ読んでおられない方は、ご一読をお願いします。

で、まずは必要な道具です。

・mcm (バージョンは問いません。ご自分の使いやすいものでOKです。)
・sprmaker (故elecbyte製公式ツール:no limit mugen のフル版にも収録されています。)
・テキストエディタ (メモ帳でも秀丸でも何でも可)

Win版での色化けを回避するためには、独自パレットを持った画像をSFFの後ろへ配置してやる必要がありました。
独自パレット画像が1枚や2枚なら、共通パレット画像の追加が発生しても、独自パレット画像も削除→再登録してやれば 良いってなもんですが、これが拙作リョウサカみたいに山ほど独自パレット画像が登録されていたりすると、エライ事です。^-^;
殆どSFFの作り直しに近い作業を強いられることとなるでしょう。

察しの良い方ならピンと来ているかもしれませんが。
それならってんで、「手間をかけずにSFFを再構築する」方法を考えてみようってのが、今回の趣旨な訳です、ハイ。(笑)
いわゆる逆転の発想って奴ですね。
・・・発想の逆転、だっけ?

mcmは非常に優れたGUIを持ったツールです。
1枚1枚画像を登録していくには、これ以上はないって位でしょう。
反面、バッチ的に、一度に大量の画像を登録するには、なかなかに大変な労力を要すことになります。
今回のお題の様に、SFFの再構築(全画像の再登録)を行うのは、ちょっと勘弁して欲しいですよね。
そこで登場するのが sprmaker という訳。

はぁ? ってな方も多いですよね?
順を追って説明いたしますね。^-^;

sprmaker は、sndmaker 同様DOSアプリです。
mcmの様なグラフィカルなユーザーインターフェースGUIは 持っていません。

ここで思い出して頂きたいのが、以前書いた「SNDファイルを作ってみよう」です。
コマンドプロンプトのリダイレクト機能を利用した、SNDファイル構築法です。
あれは勿論、sprmaker に対しても有効なのです。
あの方法は、バッチ的に大量のファイルを処理するには非常に有効な手段でした。
SFFの再構築に、これほど適した方法はないでしょ?

具体的な手順としては、およそ次の通り。

まず、mcmを使って「登録するべき画像」を試験的に登録します。
ここで、基準点のx、y座標を確認しておきます。

次に、mcmで得た情報を用いて、リダイレクト用のテキストファイルを作成します。
内容の記述法については後述しますね。
で、このテキストファイルを仮に「SPRmake.txt」とします。
別にファイル名は何でも構わないのですが、ここでは説明用にこのファイル名を使用します。
異なるファイル名にされる場合は、以後の記事を読み替えて下さいね。

SPRmake.txt に全ての画像について記述できたら、SFFファイルを作成します。
まず、SFFに登録する全ての画像と SPRmake.txt 、それに sprmaker.exe を全て同じフォルダに配置します。
この例では分かりやすく、Cドライブの「SFF」フォルダ(C:\SFF)に配置するものとします。
以後の記述は、実際の環境に合わせて読み替えて下さいね。

コマンドプロンプトを開き、C:\SFF へ位置づけます。


---------------------------[COMMAND PROMPT EXSAMPLE]---------------------------
 
 Microsoft Windows XP [Version 5.1.2600]        
 (C) Copyright 1985-2001 Microsoft Corp.        
 
 C:\Documents and Settings\USER1>C:             ←まず、Cドライブに切り替えます。
 C:\Documents and Settings\USER1>CD C:\SFF      ←次に、「SFF」フォルダへ移動します。
 C:\SFF>                                        ←C:\SFF に位置付いた状態。
 
-------------------------------------------------------------------------------

因みに上の例では、元々がCドライブに位置付いているので、実はわざわざCに切り替える必要はなかったりします。^-^;
環境によっては、コマンドプロンプトを開いた直後に、必ずしもCドライブに位置付いているとは限りませんので、 この様に説明しています。
次に sprmaker を実行し、リダイレクト機能を使用して SPRMake.txt からパラメータを渡してやります。


---------------------------[COMMAND PROMPT EXSAMPLE]---------------------------
 
 C:\SFF>                                        
 C:\SFF>sprmaker < SPRMake.txt
 
-------------------------------------------------------------------------------

これで、目的のSFFファイルが作成されます。
ここで重要となるのが、 SPRMake.txt の記述です。
もしも記述ミスがあると、SFFファイルが不正となりますので、記述には十分な注意が必要です。
以下、 SPRMake.txt の記述内容について解説します。
・・・の前に、コマンドプロンプトにて sprmaker.exe を動かした場合、どんなパラメータを要求されるのかを 先に示しておきますね。^-^;
要は、ここで入力しているパラメータを、テキストファイルにまとめる訳ですので。


---------------------------[COMMAND PROMPT EXSAMPLE]---------------------------
 
 C:\SFF>sprmaker
 SprMaker ver 0.97     (06-17-2000)                                Elecbyte 2000
 Enter name of new or existing SFF file:  #     ←SFFファイル名を聞かれますが、ここでは
 Options:                                         オプション指定を意味する「#」を入力します。
 1. Palette type
   Choose: 1                                    ←SFF全体としてのパレット指定を行うことを
 Palette type:                                    宣言します。
 1. Individual palette
 2. Shared palette
   Choose: 2                                    ←「原則、共通パレットを使用する」事を指定
 test.sff                                       ←オプション指定後、SFFファイル名を指定
                                                ※ここからは、PCXの登録です。
 Opening new file...                              まずは共通パレット分を登録します。
 Enter name of graphic file:  ffspRyo_0_0.pcx   ←PCXファイル名を指定
 Group no:  0                                   ←グループb指定
 Image no:  0                                   ←アイテムb指定
 X axis:  30                                    ←基準点のx座標を指定
 Y axis:  110                                   ←基準点のy座標を指定
                                                ※以下、登録するPCX分繰り返します。
 Enter name of graphic file:  ffspRyo_0_1.pcx
 Group no:  0
 Image no:  1
 X axis:  30
 Y axis:  110
                                                ※ここからは、独自パレット分の登録例です。
 Enter name of graphic file:  #                 ←オプション指定を宣言
 Options:
 1. Palette type
 2. Override duplicate file linking              パレットタイプを指定することを
   Choose: 1                                    ←宣言します。
 Palette type:
 1. Individual palette
 2. Use previous sprite's palette
   Choose(was 2): 1                             ←独自パレットを指定
 ffspRyo_10000_0.pcx                            ←PCXファイル名を指定
 Group no:  10000                               ←グループb指定
 Image no:  0                                   ←アイテムb指定
 X axis:  31                                    ←基準点のx座標を指定
 Y axis:  107                                   ←基準点のy座標を指定
 
 Enter name of graphic file:                    ←Enter押下、処理終了
 
 Summary:                                       ←処理結果が表示されます。
 Total number of groups:  x
 Total number of images:  x
 Total number of unique images:  x
 Total number of unique palettes:  x
 Palette type: shared
 Bytes total:  xxxxx   (0 saved by optimization)
 Estimated memory usage:  at least xxxxx bytes
 
 C:\SFF>

-------------------------------------------------------------------------------

上記の例を解説しますと。

sprmaker 起動直後に、通常は作成するSFFファイル名の入力を求められます。
ここで「#」を入力することで、SFF全体に関わるオプションを指定できます。
例ではいきなりオプションを指定していますが、実はこれをやっておかないと、 登録画像が上手く共通パレットを使ってくれなかったりします。
なので、ここではおまじないだと思って、最初に全体のパレットモードを指定しておきます
で、最後に(本来入力するはずだった)SFFファイル名を指定します。

以下、画像(PCX)の登録指定となります。
最初にSFF全体のパレットモードを指定済(共通パレット使用)ですので、 共通パレットを使用する画像については、特にオプション指定の必要はありません。
sprmaker に求められるまま、PCXファイル名、登録するグループkyびアイテムaA基準点の xおよびy座標を、順次登録していきます。
これを繰り返し、共通パレットを使用する画像を全て登録してしまいます。
上記の例では、2枚のPCXを登録しています。

次に、独自パレット画像を登録していきます。
といっても、上の例では1枚しか登録していませんが。^-^;
共通パレット画像の場合と同様、最初にPCXファイル名をきかれます。
ここでは、独自パレットを使用するように指定する必要がありますので、 「#」を入力してオプション指定を行っています。
後は、見たまんまです。
もし、独自パレット画像を引き続き登録する場合、1枚目と同様オプションの指定から行います。
登録する画像枚数分だけ、これを繰り返すことになります。
PCXファイル名の入力待ち状態で、何も入力せずにENTERを押下すると、処理終了となり、SFFファイルが作成されます。

さて、sprmaker の動きが分かったところで、上記の例を「SPRmake.txt」にしてみましょう。


----------------------------[SPRmake.txt  EXSAMPLE]----------------------------

 #
 1
 2
 test.sff
 ffspRyo_0_0.pcx
 0   
 0   
 30  
 110 
 ffspRyo_0_1.pcx
 0
 1
 30
 110
 #
 1
 1
 ffspRyo_10000_0.pcx
 10000              
 0                  
 31                 
 107                
                      ←Enter押下で処理終了なので、空改行を入れておく

-------------------------------------------------------------------------------

はい、要するに、例で示した黄色の部分(実際に画面から入力する部分)のみを ファイル化する訳です。
何も難しいことはありませんよね。

このようなテキストファイルを作ってSFFを作成するようにしておけば、300枚近い画像を登録してSFFを 作成してあって、しかも内100枚が独自パレットであり、共通パレットを使用する画像を追加しなければ ならい場面になったとしても、テキストファイルに記述を追加すれば SFF が簡単に再作成できちゃうって寸法です。
おまけにmcmでは難しい、画像ファイルの物理登録順の変更だって、簡単にできてしまいます。
テキストファイルに記述された順番を変更すれば良いのですから。
更に。
mcmでコピー削除を繰り返すとSFFが壊れた、なんて話をよく耳にしますが。
そんな時にもこの方法を用いていれば、あっという間にSFFを再構築できちゃいますしね。

独自パレットを使用する画像を多用するキャラを作成されるなら、是非お試しください。
きっと、「やっててよかった」と思える瞬間があることでしょう。

てなところで、今回はこれにて。


BACK