2.cfgファイルの設定
Sprite Tool用のスプライトデータファイルは、cfgファイルのみ、
あるいはcfgファイルとasmファイルのセットから成り立っています。
cfgファイルではスプライトの基本的な設定を行っています。
asmファイルにはアセンブリ言語で、その他様々な処理について書かれています。
cfgファイルをテキストエディタで開いてみると、以下のように書かれています。

1
36
0 0 0 0 0 0
0 0
test_1.asm
test_1.cfg


このままではそれぞれの値が何を意味するか分かりにくいですが、
Sprite Toolに同封されてるcfg editorを使えば分かり易く設定・変更を行えます。
test_1.cfgを.cfg editorで開いたものが下です。
それぞれの設定項目について順に見ていきましょう。

@Sprite Tool Info AExtra Info BTweaker1(1656)  CTweaker2(1662) 
DTweaker4(167A) ETweaker5(1686)  FTweaker3(166E) GTweaker6(190F)


cfg editor

@Sprite Tool Info
Tweak or Custom
Tweakを選択した場合、既存のスプライトをベースに一部設定を変更したものを挿入します。
この場合asmファイルは必要ありません。踏むと死ぬクリボンや、ファイアで死なないノコノコなどを挿入したい場合に用います。
Customを選択した場合、asmファイルによる全く新規のスプライトを挿入します。
Acts like
上でTweakを選択した場合、ここに入力した番号のスプライトをベースにします。
Customを選択した場合、ここの値が$9E,xに代入されますが、適当な値を入れればいいです。
ASM file
上でCustomを選択した場合、asmファイルを指定します。

AExtra Info
asmファイル内であるパラメータを設定し、それをcfgファイルから操作したいときに用います。
基本的に無視すればいいです。

BTweaker1(1656)
Object Clipping, table offset
オブジェクトに対する当たり判定の位置を指定します。 マリオとの当たり判定とは独立しています。
オブジェクトに対する当たり判定は常に1タイル分の大きさで、0の場合はスプライトの位置と当たり判定の位置は一緒となります。
1の場合は下方向に1マスずれます。値と当たり判定の位置との関係については、Tweakerで既存のスプライトを調べてみて下さい。
Can be jumped on
チェックを入れると、踏むと別のスプライト/状態に変化し、スピンで踏むと消滅するようになります。
チェックを入れないとトゲゾーのように、普通に踏むとダメージ、スピンで踏むと跳ね返されるようになります。
Dies when jumped on
Can be jumped onにチェックが入ってる場合、踏むと潰れて死ぬようになります。
Hop in/kick shells
チェックを入れると、甲羅などを見つけた場合、蹴ったり中に入ったりします。
が、その処理もソース内に書く必要があるので、Sprite Tool InfoでTweakを選択し、 甲羅を無視する裸ガメを作る時に使う程度です。多分
Disappear in cloud of smoke
チェックを入れると、マントやスターなどで殺される時、吹き飛ばずに煙となって消滅するようになります。

CTweaker2(1662)
Sprite Clipping, table offset
マリオに対する当たり判定の大きさを指定します。 オブジェクトとの当たり判定とは独立しています。
0だと1マス分の大きさの当たり判定になります。 07だと4×4マス分の大きさの当たり判定になります。
値と当たり判定の大きさの関係は、Tweakerで既存のスプライトを調べてみて下さい。
Use shell as death frame
チェックを入れると、死ぬときに甲羅状態になります。
が、その処理もソース内に書く必要があるので、Sprite Tool InfoでTweakを選択し、
そのままひっくり返って死ぬノコノコを作る時に使う程度です。多分
Fall straight down when killed
Can be jumped onにチェックが入っており、かつDies when jumped onにチェックが入ってない場合、
踏むと落下して死にます。

DTweaker4(167A)
Don't disable clipping when killed with star
チェックが入ってると、死ぬときにグラフィックが変化しなくなります。
Invisible to star/cape/fire/bounding bricks
チェックを入れると各種攻撃に対して無敵になります。
またこの時、ヨッシーに乗っているとダメージを受けなくなるます。
ダメージを与えたい場合はソース内でその処理を書いてやる必要があります。
逆にチェックをしていないと、マリオに対する当たり判定を持っていなくても、
ヨッシーが触れると逃げ出してしまいます。
Process when off screen
画面外でも消えなくなります。
Don't change into a shell when stunned
Sprite Tool InfoでTweakを選択し、ノコノコ以外の持てるキャラをベースにした場合
チェックが入ってないとグラフィックがおかしくなります。
Can't be kicked like a shell
気絶状態の時に触れても滑っていかなくなります。
Process interaction with Mario every frame
正直よく分かりません。誰か教えてちょ
Gives power-up when eaten by Yoshi
Sprite Tool InfoでTweakを選択し、アイテムをベースにした場合、
チェックが入ってないとヨッシーが食べてもパワーアップしなくなります。
Don't use default interaction with Mario
チェックが入ってないと、マリオに触れたときの反応はTweaker1(1656)などで設定した通りになります。
チェックを入れた場合、触れたときの処理をソース内に書くことで、多様な反応が可能となります。

ETweaker5(1686)
Inedible
ヨッシーで食べられなくなります。
Stay in Yoshi's mouth
喰ったときにすぐには消化されなくなります。
Weird ground behaivor 4
オブジェクトを通過して動けるようになります。
ただし、オブジェクトの効果は受けます。
Don't interact with other sprites
他のスプライトと反応しなくなります。
Don't change direction if touched
マリオと触れても向きが変わらなくなります。
Unkown Bit 6
特殊なルーチンで使う。
Spawns a new sprite
Sprite Tool InfoでTweakを選択し、パタパタなどをベースにした場合、
チェックが入ってないと踏んでもノコノコなどに変わらなくなります。
Don't interact with objects
オブジェクトと一切反応しなくなります。

FTweaker3(166E)
Use second graphic page
SP3-SP4のグラフィックタイルを使う場合はチェックして下さい。
Disable fireball killing
ファイア耐性を持ちます。
Disable cape killing
マント耐性を持ちます。
Don't change direction if touched
マリオと触れても向きが変わらなくなります。
Unkown Bit A
特殊なルーチンで使う。
Unkown Bit B
特殊なルーチンで使う。

GTweaker6(190F)
Make platform passable
リフト系のスプライトの場合、下からすり抜けられるようになります。
Unkown Bit 8
特殊なルーチンで使う。
Can't be killed by silding
スライディングが効かなくなります。
Takes 5 fireballs to kill
Disable fireball killingにチェックを入れた場合、
ファイアを当てる度に$1528,xの値が増え、4の時に当てると死にます。
Unknown Bit 11
特殊なルーチンで使う。
Death frame 2 tiles high
Don't disable clipping when killed with starにチェックを入れてない場合、
死亡時のグラフィックが縦2タイル分になります。
Don't turn into a coin with silver POW
銀Pでコインに変わらなくなります。…かと思いきや?
Don't get stuck in walls(carryable sprites)
持てるスプライトを壁に埋めた場合、その場で留まるようになります。