注意
現在はspritetoolを使った挿入方法は主流じゃありません。
pixiの使い方(仮)を参照することをおすすめします。
目次
…何これ
mikeyk氏が開発した、実に201もの新スプライトを挿入できるツールです。
現在主流では無く、海外ではSA-1対応などが成されたPIXIというツールの方がメジャーになっています。
PIXIはドラッグアンドドロップで基本操作は完了しますが、両者のスプライトにはあまり互換性が無いので、今からCのスプライトを使おうと思う人はPIXIの使用をお勧めいたします。(現在Romi時代のデータの殆どはPIXI化されて使えなくなっている)
入手
・Romi氏作Spirit Tool
http://www.smwcentral.net/?p=section&a=details&id=13053
・SMRAR氏作Spirit Tool日本語バージョン(sprite_toolのヴァージョンが古いので注意)
spirit_tool_jp.zip
・PIXI(現在主流のスプライト挿入ツール)
https://www.smwcentral.net/?p=section&a=details&id=17869
・もっと新しいバージョンはこのスレで見つかるかも@Acmlm's Board
http://acmlm.kafuka.org/board/thread.php?id=2064
使い方
- 必ず下の注意を読んでから実行してください。
-
上記より入手したアーカイブを解凍。
解凍先の絶対パスに空白や2バイト文字が含まれないように。 - Lunar Magicで一度でも編集しているROMを用意、sprite_tool.exeと同じフォルダに入れる。
-
同封のsprite.txtを参考に、追加したいスプライトのリストファイルを作成。
具体的には、1行ごとに、”割り当てたいスプライト番号[半角空白]スプライト名.cfg”とします。
例:斜めキラーを入れたい場合は
C4 diag_bill.cfgといれます
標準スプライトは0〜BF
シューター用スプライトはC0〜CF
ジェネレータ用スプライトはD0〜DFです。
- sprite_tool.exeをコマンドラインまたはエクスプローラから起動します。
- enter rom filename: と聞かれるので、ROMのファイル名を入力
- enter sprite list filename: と聞かれるので、3で作成したリストのファイル名を入力(例:ファイル名がtestの場合test.txtと入れます。)
- Sprites inserted successfullyと出たら成功です。おめでとう^^
注意
- 使用OSによっては成功しない場合もあります。
- ブーメランブロス(boomerang_bro)を追加する場合、必ず次のスプライト番号にブーメラン(boomerang)を追加してください。たとえばスプライト番号20にブーメランブロスを追加した場合は、スプライト番号21にブーメランを追加する必要があります。
- 毒キノコ(poison)を追加する場合、そのスプライト番号の元々のスプライトを上書きしてしまいます。未使用スプライト番号を使いましょう。
- 2バイト文字(カナや漢字)やスペースを含むフォルダの下にツールを置いているとうまく動かない可能性が高いです。フォルダ名を変えるか、ルートに近い部分で実行するようにした方がいいと思われます。これは、海外物のツール全般に言えることですが。
- 00〜BFは通常スプライト、C0〜CFはシューター、D0〜DFからジェネレータです。
起動するごとにROM名とリストのファイル名を入力するのマンドクセ
- sprite_tool.exeを右クリックして、「ショートカットの作成」を選びます。
- 出来たショートカットを右クリックして、「プロパティ」を選びます。
-
「リンク先」の中にある文字列の後ろに「ROMファイル名」、「半角スペース」、「リストのファイル名」を追加します。
[例] ROMファイル名が「smw.smc」、リストのファイル名が「list.txt」の場合 C:\SMW\st133\sprite_tool.exe smw.smc list.txt
- ショートカットをダブルクリック
- (゚д゚)ウマー
スプライトの配置
- Lunar Magicで、新スプライトを追加したROMを開きます。
- 新スプライトを配置したい場合は、スプライト編集モード)で、編集→マニュアル挿入を選択します。(Insertキー押してもおk)
- 「コマンド」のところに、新スプライトに割り当てたスプライト番号を入力します。
- 「特別な情報」のところに、2か3を入力します。0だとその番号の元々のスプライトになります。2を入力するのか3を入力するのかは、下の”その他”を見てください。
- 画面上にスプライトが現れるので、配置したい場所まで動かしてください。
-
スプライトの画像が違っていても(例えばハンマーブロスを読み込んだけど
灯油バッテン(×)の画像が出た)
問題ありません気にせず配置してください。エミュで読み込むとちゃんとした画像になってます。
※どうしても気になるなら.cfgファイルをCfg Editorかなんかで弄ってLMで表示させる画像を設定し、.jsonファイルで保存してPIXIとかで挿入しましょう。 - グラフィックは自分で用意してください。ただし一部のスプライトに関してはtilemapフォルダに同封されてます。
その他
-
スプライト挿入時の「特別な情報」で入力する2と3の違いについて
-
そのスプライトの.asmファイルを開き、はじめの方に書いてあるUses first extra bit:の所を見てください。
ここがNOなら「特別な情報」には2を入力してください。
YESの場合、そのスプライトにはオプショナルな動作が用意されてます。Uses first extra bit:YESの直後に説明が書かれてます。
この場合、3を入力するとfirst extra bitがセットされオプショナルな動作が行われ、2を入力するとセットされません。
書いてない場合、特に指定する必要はほぼ無いので、2を入力してください。
-
そのスプライトの.asmファイルを開き、はじめの方に書いてあるUses first extra bit:の所を見てください。
同梱スプライト
ファイル名(番号はall.txtの物) | 機能 |
.... albatoss.cfg | USAのトンドル、ボム兵を落とす |
.... albatoss_bomber.cfg | USAのトンドル、次のスプライト番号を落とす |
.... anti_boo.cfg | アンチテレサ |
01 beezo.cfg | USAのトンダリヤ |
02 beezo_rideable.cfg | 乗れるトンダリヤ |
03 beezo_rideable_spin_kill.cfg | 乗れるトンダリヤ、スピンジャンプで死ぬ |
04 birdo.cfg | USAのキャサリン |
.... bomb.cfg | トンドルが落とすミサイル |
.... bomb_bro.cfg | ボムブロス |
.... bomb_koopa.cfg | ランドのノコボン |
05 boomerang_bro.cfg | 3のブーメランブロス |
06 boomerang.cfg | ブーメランブロス用ブーメラン |
.... bowser.cfg | 1、2のクッパ |
07 classic_goomba.cfg | クリボー |
08 crab.cfg | カニ。ドラポンに似てる |
09 dino_rhino.cfg | 炎を吐くライタ |
.... electricity.cfg | 左右or上下に移動し、壁で引き返す。ゴルドーみたいな感じ |
10 phanto.cfg | USAのカメーン。鍵を持つと、襲いかかってくる。 |
.... friendly_megamole.cfg | 触ってもダメージが無いインディ |
.... frost_goomba.cfg | スピンジャンプで倒せるクリボー |
11 giant_goomba.cfg | 3の巨大クリボー |
12 giant_piranha.cfg | 3の巨大パックン |
13 giant_spiny.cfg | 巨大トゲゾー |
.... ground_pound_koopa.cfg | なんかバッタンの逆バージョンみたいなの |
14 hammer_bro.cfg | ハンマーブロス |
.... hungry_nipper.cfg | ファイアフラワーに触れるとファイアパックンになるプチパックン |
15 key_gen.cfg | 画面内の敵が全て消えると鍵/鍵穴を生成 |
16 level_ender.cfg | 画面内の敵が全て消えるとコースクリア |
17 missile_bill.cfg | 3のUターンキラー |
.... nipper_yi.cfg | ヨッシーアイランド風プチパックン |
19 piranha_sideways.cfg | 3の横向きパックン |
20 para_beetle.cfg | 3のパタメット |
21 roto_disc.cfg | 3のクッキー |
22 roto_disc2.cfg | 半径を調節できるクッキー |
25 shyguy_blue.cfg | USAの青ヘイホー(段差で折り返す) |
26 shyguy_red.cfg | USAの赤ヘイホー(直進する) |
27 shyguy_rideable_blue.cfg | 乗れる青ヘイホー |
28 shyguy_rideable_red.cfg | 乗れる赤ヘイホー |
29 shyguy_rideable_spin_kill_blue.cfg | スピンで殺せる乗れる青ヘイホー |
30 shyguy_rideable_spin_kill_red.cfg | スピンで殺せる乗れる赤ヘイホー |
31 sledge.cfg | 3の肥満ブロス |
32 snift_blue.cfg | USAの青ムーチョ。段差で折り返す。正しいスペルはSnifit |
33 snift_red.cfg | 赤ムーチョ。直進する |
34 snift_rideable_blue.cfg | 乗れる青ムーチョ |
35 snift_rideable_red.cfg | 乗れる赤ムーチョ |
36 snift_rideable_spin_kill_blue.cfg | スピンで倒せる乗れる青ムーチョ |
37 snift_rideable_spin_kill_red.cfg | スピンで倒せる乗れる赤ムーチョ |
38 squash.cfg | 単に踏むと倒せるクリボン |
39 venus.cfg | 3のファイアパックン |
40 venus_upsidedown.cfg | 下向きファイアパックン |
41 birdo_w_rideable_egg.cfg | タマゴ吐くキャサリン |
42 egg.cfg | キャサリンのタマゴ |
43 elevator.cfg | 十時キー上下で操作できるエレベータ |
44 firebar.cfg | 1・2のファイアバー |
45 thwomp_left.cfg | 左向きドッスン |
46 thwomp_right.cfg | 右向きドッスン |
.... power_thwomp.cfg | 着地時の振動でマリオの足がしびれるドッスン(動きは通常) |
47 tweeter.cfg | USAのリートン |
48 tweeter_rideable.cfg | 乗れるリートン |
49 tweeter_rideable_spinkill.cfg | スピンで倒せる乗れるリートン |
.... shell_bro.cfg | シェルブロス |
.... spicky_ball_hurt_both.cfg | 動きは斜めバブルと同じだが、スプライトも倒れる |
.... spicky_ball_hurt_mario.cfg | 斜めバブルと全く同じ(?) |
.... spicky_ball_hurt_sprites.cfg | 動きは斜めバブルと同じだが、スプライトだけ倒れる |
85 poison.cfg | 毒キノコ(オリジナルを上書き) |
85 donut_lift.cfg | 3のちくわリフト |
86 elevator_dir.cfg | 3の矢印リフト |
C0 diag_bill.cfg | 各種キラー砲台 |
.... diag_bill_down.cfg | 斜めキラー砲台の下向き、特殊な情報2で左下、3で右下に撃つ |
.... diag_bill_up.cfg | 斜めキラー砲台の上向き、特殊な情報2で左上、3で右上に撃つ |
D0 generic.cfg | 各種ジェネレータ |
最近のSprite toolはヤリホーとか色々追加されてる模様。
SMWCで配布されているスプライト
ファイル名(並びはSMWCのABCの順番) | 機能 |
Door Generator | 画面内の敵を全員倒したらドアが出現する(注:スプライト番号はジェネレータではなく通常スプライト番号です。) |
Elevator 2.0 | Tool同梱と機能は同じ。見た目がカービィDXっぽい。 |
Lightning Generator | クッパ戦みたいにピカピカ空を光らせる。 |
Separate bullet bill shooters | Sprite toolにない真上真下キラーはこちらに。 |
Bullet Bros. | キラーブロス。色は灰色。といってもcfgエディタで変えられますが。 |
SMB3 Chain Chomp (v1.1). | 3のワンワン |
SMWCには修正パッチなどもあります。
カスタムスプライトを少し弄りたい
- スプライトのプログラムはasmファイルとcfgファイルで構成されています。
- asmファイルにはなにやらゴチャゴチャしたプログラムが入っています。スプライトの動作です。
- cfgファイルにはいくらかの数字と、「使用するasmファイル」が入っています。
- スプライトツールはcfgファイルを指定して実行します。
-
cfgファイルの数字は、SMW上で、実際に触れたらどうなるか、攻撃を当てたらどうなるか等の属性的なものを表しています。
-cfgファイルはcfg_editor.exeで簡単にいじることが出来ます。
英語ですが中学を卒業してるならなんとなくわかるようなものが多いです。
辞書かExcite翻訳かなんかを武器にいろいろ設定してみましょう。
これで踏めない追尾キラーとかが作れます。 - asmファイルは初心者にはいじるのが難しそうですが、わりと説明が多いので値($00こんなの)ぐらいは弄れるかもしれません。X_SPEEDとかY_SPEEDとかはわかりやすい。
- バックアップは取りましょう。もしくは,,,,,,,で囲まれた部分に元の値を羅列させておきましょう。
普通のスプライトを少し弄りたい
-
例えば、ヨッシーは画面の外に出ても消えてくれません。
ヨッシーから降りて進むという場合、遥か遠くにいるヨッシーのせいで
同時に出せるスプライトの数が減ってしまうということが起こります。
そこで画面外に出たら消えるヨッシーを作りたい!ということになります。 - 当たり判定とか、画面外に出たときの処理とかは、cfgファイルで設定してあります。
- cfgeditorを使えば、そういった設定を変えた普通スプライトを、カスタムスプライトとして挿入することができます。
- cfgeditorを開いてみましょう。左上にtweakやcustomとかいうのがあります。
- tweakにして、弄りたいスプライト番号を入力します。
- あとは他の部分で当たり判定等の設定を弄りましょう。
-
ところで、もともとどういう設定だったのかわからないことがあります。
そういう時はtweakerというソフトで調べることができます。 -
あとは普通のカスタムスプライトと同じようにSprite Toolで挿入して使いましょう。
ちくわブロック追加法
なんとなくやってたらできたので書きます。
1.スプライトナンバー85にSprite Toolでdonut_lift.cfgを入れる。
2.Tile 0x534にちくわブロックの絵を書き込む。
3.Sprite Tool→blocksの中にある「DONUTBLK.bin」をBlock Toolに入れる。
4.「DONUTBLK.txt」を参考に、「DONUTBLK」を追加する。(Whole Pageというチェックボックスがどっかにあるから、それもOFF)
5.Tile 0x534にBlock Toolで「DONUTBLK」を入れる。
終わり
設置するときは、「オブジェクトデータ画面」→「MAP16に直にアクセス」→「MAP16のタイル534」のタイルを置きたいところに置く。
因みに
DONUT_MAP16_NUM = $0534 ; map16 value of the donut block in hex
ここの値を変更する事でちくわブロックに使用するタイルを変更する事ができます。
毒キノコの使い方
-
まず85番に毒キノコを挿入する
?ブロックから出なくてもいいならここまででおk
野放し設置の方法はスプライトを呼び出すを使ってスプライトナンバー85,特別な情報を0にして設置してください -
?ブロックから出てくるようにする方法は2つあります。
こちらは緑甲羅ブロックを潰さずに済みますが、叩いた時のスプライトが表示されません。
-
バイナリエディタで緑甲羅ブロック(Map16タイル127,128)を潰して使う
こちらは叩いた時のスプライトが表示されますが、バイナリエディタを使う必要があるので面倒です。
変えるPCアドレスは10AB0と10AC1です。
この2つのPCアドレスの値を$85に変えれば毒キノコが出るはずです。
カスタムスプライトの8×8タイルの位置を変えたい時は asmファイルをテキストエディタで開き、以下のような部分を改変して使用するグラフィックの位置を調整できる。
例:para_beetle(パタメット)のasmファイルTILEMAP dcb $E4,$E6
TILEMAPの横の16進数で8×8タイルの位置を指定。 大抵のasmファイル内はTILEMAPで検索すればどこに記述があるかすぐわかるはず。 使用タイルの位置を変える時はLunar Magic上で8×8タイルエディタを見ると下二桁が同じなので、それを参考に。 例えばグラフィックをノコノコの甲羅の位置に変えたい場合は$8Dと$8Eにすればおk。 (ノコノコの甲羅タイルにカーソルを合わせて下部の表示を参考に)
使用タイルのページ番号(0x2E4や0x3E8等の2や3の部分)を変えるには、 cfg editerでcfgファイルを開き、「Use second graphics page」のチェックを外せば0x200に、 チェックを入れれば0x300になる。
最新版でカスタムシューターを使うには
$009E,yを
PHX TYX STA $7FAB9E,x PLX
に置き換えましょう。 あと,JSL $07F7D2の下に
JSL $0187A7
を加えればおkっぽいです
Q&A
質問する前に読んでおきましょう。
Q.敵の体力はcfgとasmどっちのどこを弄ればいいんですか? Q.なんとか動き方は作れたが当たり判定の書き方がわかりません Q.甲羅を〜回ぶつけると死ぬはasmのどこにどう書けばいいですか? |
A.基本的にasmですが、SMWには基本的にはHPという概念がありませんので、 cfg_editorでDon't use default〜にチェックを入れ、全部自力でASMに書いてください |
Q.スプライトを設置したけど色が変 | A.カスタムパレットを使って自分で変えましょう。 |
Q.毒キノコのパレットはどうやって変えるんですか? | A.「tweaker12」を使えば出来ます。 |
Q.albatoss.cfgとか(番号のないもの)はどこで手に入るのですか? | A.最初から入っています。 |
Q.アンチテレサってどういう効果なのですか? | A.テレサとは逆で、背を向けると止まる。 |
Q.Sprite Toolに同梱されているTRASM.EXEって何ですか? |
A.SNESアセンブラです。Sprite Toolが内部で使ってます。 大昔に作られた16bitの古いプログラムなのでWindows上ではエミュレーションで動作します。 自作物展示場にあるTRASM Win32版に入れ替えると動作速度が早くなります。 |
Q.D0 generic.cfg 各種ジェネレータとは? | A.ジェネレータ、生成装置。画面右端にどんどんスプライトを設置します。 |
Q.○○シューター、○○ジェネレータとは? |
A.カスタム〜…カスタムスプライトを生成します。 ノーマル〜…SMWオリジナルのスプライトを生成します。 (スプライト名)〜…そのスプライトを生成します。 |
Q.必ずgeneratorの場所でフリーズします。 | A.ジェネレータが使えるスプライト番号はD0〜DF |
Q.Door Generatorの使い方を教えてください | A.「特別な情報」で入力する2と3でドアの上下が決ります。 |
Q.カスタムスプライトで、強制スクロールを操作するには? |
A1.スクロールの許可は$1411、$1412の値を変更するだけですが スクロール→停止は簡単ですが、停止→スクロールは、実用性あるものは難しいです。 A2.画面の中央に強制移動させてスクロールを再開すればいいようです。 ~自作物展示場にサンプルがあるようです。 |
Q.カスタムスプライトで、強制的にルーム移動させるには? |
A1.ルーム移動はテレポートブロックでも逆汗して下さい A2.自作物展示場にサンプルがあるようです。 |
Q.33KBのsmcファイルがあります。 | A.それはSMWにカスタムスプライトを挿入するための一時ファイルです。 |
Q.Shooter系を追加しても表示されません。どうしてでしょうか? | A.Shooter系は全部C0〜CF専用です。 |
Q.elevatorなどのスプライトを設置するとどうしても半マスズレてしまうのですがASMファイルをどう修正すればいいのですか? | A.鬼畜王氏の改造マリオのページにカスタムスプライト講座があるのでそれを見ると良いでしょう。 |
Q.スプライト導入に成功したのは良いのですが、グラ化けします。 | A.Sprite_tool同封のtilemapsフォルダのGFXを適応して下さい。 |
Q.毒キノコを違うところに入れてしまった | A.backupって重要だね! |
Q.SMWCカスタムスプライトがあるのでそれらの説明も載せてほしい。 Q.ERROR「couldn't open cfgfire .sprites○○」と出てきた Warning: RATS tag extending past bank endと出てきた |
A.英語くらい読め |
Q.ROMアドレスってなんぞや | A.PCアドレス (=バイナリエディタのアドレス) |
Q.bowser.cfgを入れたらクッパの体が黒くて、甲羅が緑に・・・ | A.カスタムパレットで色を変えよう |
Q.Uses first extra bit:がない | A.ないものもある。とりあえず3にしてみて、どうなるか見ればいいと思います。 |
Q.ROM名を入力したらエラーになる。 Q.TXT名を入力したらエラーになる。 |
A.ROM名の最後に[.smc]、TXT名の最後に[.txt]を入れましょう。 |
Q.Cでワンワンが見つからない | A.chomperっていうんですよ |
Q.Cでゲッソーが見つからない | A.blooperっていうんですよ |
Q. Door Generatorを設置してもドアが出てこない | A.画面内の敵を倒しましょう |
Q.入れたあといろいろな挙動が変 | A.33kbのsmcファイルを消してやり直そう |
Q.巨大なノコノコってありますか? | A.Cにあったはず |
Q.上に移動するドッスンってありますか? | A.Cにあったはず |