※Blktoolは海外では非推奨とされています。
bliteかBlocktool Super Deluxeを使いましょう。
※海外では2017年頃より既にBlocktool系統はレガシーソフト扱いです。Gopher Popcorn Stew(GPS)の使用が推奨されています。Cのブロックも基本的にGPSの使用が前提です。使用方法についてはhttps://www.smwcentral.net/?p=viewthread&t=88423などを参照にするとよいでしょう。
bliteかBlocktool Super Deluxeを使いましょう。
※海外では2017年頃より既にBlocktool系統はレガシーソフト扱いです。Gopher Popcorn Stew(GPS)の使用が推奨されています。Cのブロックも基本的にGPSの使用が前提です。使用方法についてはhttps://www.smwcentral.net/?p=viewthread&t=88423などを参照にするとよいでしょう。
はじめに
配布されている改造マリオの中には、スーパーマリオブラザーズのレンガブロック、取ると時間が増えるアイテム、ファイアボールでしか壊せないブロックなど、通常のマリオワールドにはないオリジナルのブロックがあります。
ここではオリジナルとまではいかないが、既存オブジェクトの見た目と効果を変える方法を伝授。
ここではオリジナルとまではいかないが、既存オブジェクトの見た目と効果を変える方法を伝授。
タイルの設定変更
パレットの変更
1.16x16タイルマップエディタ画面を出す
2.8x8で変更したい場合はをクリックして8x8モードにする。
3.パレットを変更したいタイルを左クリック
4.Paletteのプルダウンボックスから自分が使いたいパレットを選ぶ
2.8x8で変更したい場合はをクリックして8x8モードにする。
3.パレットを変更したいタイルを左クリック
4.Paletteのプルダウンボックスから自分が使いたいパレットを選ぶ
反転
1.16x16タイルマップエディタ画面を出す
2.8x8で変更したい場合はをクリックして8x8モードにする。
3.反転させたいタイルを左クリック
4.FlipX,FlipYを押す(FlipXが左右、FlipYが上下反転である)
2.8x8で変更したい場合はをクリックして8x8モードにする。
3.反転させたいタイルを左クリック
4.FlipX,FlipYを押す(FlipXが左右、FlipYが上下反転である)
キノコオンリーの?ブロック
改造マップの性質上、フラワーやマントマリオでプレイされると困る場面が出てくると思います。
だからフラワーや羽根の?ブロックは置けないし、黄色!ブロックはスイッチ押さなきゃダメだからちょっと融通きかないし見た目もちょっとアレだ…
でも透明キノコやそのまんまキノコを置いとくのも味気ない…というあなたへ、タイトル通り、キノコしか出ない?ブロックの作成方法を説明します。
だからフラワーや羽根の?ブロックは置けないし、黄色!ブロックはスイッチ押さなきゃダメだからちょっと融通きかないし見た目もちょっとアレだ…
でも透明キノコやそのまんまキノコを置いとくのも味気ない…というあなたへ、タイトル通り、キノコしか出ない?ブロックの作成方法を説明します。
- 16x16タイルマップを開く。
- キーボード上下のキーでページ移動し?ブロック(どれでもいい)を見つけたら左クリック。
- またキーボード上下のキーで下のステータスバーに「page 0x3」と表示される所までページ移動
- どこでもいいが、とりあえず左上「300」にマウスのカーソルを乗せて右クリック。
- タイルの効果の番号(Act as)の欄に、黄色!ブロックと同じ効果の「16B」を入力する。これでキノコしか出ない?ブロックになる。
- 16x16タイルマップエディタ内のをクリックして保存。
- オブジェクトデータを開き、下のリストから「Direct Map16 Access(Lunar Magic)」を選んでさらに「Map16 Tiles Page 3...」を選ぶと左上に作成した?ブロックがあるのでそれを選択。
- あとは貼り付けてテストプレイしてみよう
16x16タイルマップ画面で、いろんなタイルを選択すると、そのタイルの効果番号を見ることができるので、上記手順を応用すればさまざまなブロックを作ることができます。
また、上書きすることで既存のタイル効果を変えることもできるのでアイテムが出ない黄/緑(アイテムが出る青/赤)!ブロックなども作ることが可能です。
また、上書きすることで既存のタイル効果を変えることもできるのでアイテムが出ない黄/緑(アイテムが出る青/赤)!ブロックなども作ることが可能です。
改造ブロックを作ろう
では、次に色々なブロックを作ってみましょう。と、その前にここからの作業にはBlock Inserter(blktool)というソフトが必要になります。
blktoolより機能が追加されたbliteまたはBlocktool Super Deluxeの使用をおすすめします。
blktoolより機能が追加されたbliteまたはBlocktool Super Deluxeの使用をおすすめします。
今回は、Blktoolのプリセットから左側から通り抜けられないブロックを作ってみましょう。
- Blktoolを起動し、smcファイルを開きます。
- Add Blockを押し、1-way Block Leftを選択します。Block numberの欄に「3」という数字がでましたよね?
- Map Numberに、16×16マップエディタの位置(16進数)を10進数に直した値を入れます。前回は300の位置ににキノコブロックを作ったので、今回は301にしましょう。
301(16進数)を10進数にすると769になります(この計算は、Windowsであれば電卓でも可能です)。Map Numberに769と入れましょう。
Block Number | Map 16 Number | |
> | 3 | 769 |
こんな感じになりましたね?
それでは保存しましょう。
それでは保存しましょう。
- Luna Magicを起動して(すでに起動していた場合は再起動してください)、オブジェクトデータを開いて下さい。
先ほどの301の位置にフォーカスを与えると英文の説明が出てくるはずです。
- 前項目の要領で、グラフィックを変更し、ブロックの効果は25に設定してください。25というのは透明なブロックを指定します。
設定が終わったら16x16タイルマップエディタ内のをクリックして保存。…
でもそれだけじゃ重くなるのでSlowdownFixでもパッチしちゃってください。そしてReadMe見てがんばってバイナリ編集してください。
でもそれだけじゃ重くなるのでSlowdownFixでもパッチしちゃってください。そしてReadMe見てがんばってバイナリ編集してください。
- 実際に配置して思い通り動くか確認してください。左側からは通り抜けられませんね?
基本的な操作は以上です。尚、ブロックの詳細設定を確認するには、BlktoolからBlockを選択するか、View Detailsを押してください。
特にブロックの効果を何番にするかは重要なのできちんと確認してください。他にも色々なプリセットが用意されているので目を通しておくとよいでしょう。
特にブロックの効果を何番にするかは重要なのできちんと確認してください。他にも色々なプリセットが用意されているので目を通しておくとよいでしょう。
- ここで保存できず、「Lunar Magic ASM hacks not installed, please save at least one level in LM.」
というエラーが出たらLunarMagicを起動し、ステージなどを少しいじってみると保存できます。
いじっても保存できない時は、blktoolのブロックファイル(bin)の中に異常に大きいファイルが無いか、チェックするといいでしょう。
ブロックを挿入する前にsmcファイルを開かないとこのエラーが出ます。うっかり開いてないときはまずこれを疑ってください。
いじっても保存できない時は、blktoolのブロックファイル(bin)の中に異常に大きいファイルが無いか、チェックするといいでしょう。
ブロックを挿入する前にsmcファイルを開かないとこのエラーが出ます。うっかり開いてないときはまずこれを疑ってください。
- オリジナルのブロックを作りたい!という人は、65816ASMの知識が必要になってきます。
ここでは説明しないので、
などのサイトを参考に作ってください。
- blktoolでブロックを加えまくると重くなるようですが、それを回避するためのソフトがあります。これです。
- blktoolには、デフォルトで350ものブロックが搭載されている。以下に全てを記載。尚、ここに書かれているものは、ブロック説明文日本語化に全て載っている。
- 使い方がよく分からないものとかは何回も試行錯誤を固めて使うこと。
- 縦面で使用できない(正常に動作しない)ブロックもあるので注意してください。
ここを参照block.txt;
※ Smashable Brickの効果番号は132にする必要がある。
※ 触れているだけというのはマリオ以外のスプライトであることが必要である。
また、タイル番号が3Fや25のとき(これについては後述)スプライトが動いていないと作動しない。
※ 三角ブロックにより壁を駆け上っている間、カスタムブロックに触れても作動しない。
※ Smashable Brickの効果番号は132にする必要がある。
※ 触れているだけというのはマリオ以外のスプライトであることが必要である。
また、タイル番号が3Fや25のとき(これについては後述)スプライトが動いていないと作動しない。
※ 三角ブロックにより壁を駆け上っている間、カスタムブロックに触れても作動しない。
重い重いおm(ryと重ったときは
以下のいずれかをしよう!
オリジナルブロックと効果番号の関係
オリジナルブロックをおいたMAP16タイルの上にカーソルを置くと説明が出てきますよね
その説明はタイルに設定してあるタイルの効果番号(以後タイ番)にかかわらず常にオリジナルブロックの説明が出ます
しかし、「じゃあタイ番なんて気にしなくてもいいんじゃね?」と思ってはアカンアカン
タイ番設定を間違えると思うように動作しないことがありますので、簡単に説明しよう
その説明はタイルに設定してあるタイルの効果番号(以後タイ番)にかかわらず常にオリジナルブロックの説明が出ます
しかし、「じゃあタイ番なんて気にしなくてもいいんじゃね?」と思ってはアカンアカン
タイ番設定を間違えると思うように動作しないことがありますので、簡単に説明しよう
ここではわかりやすくするため
124(コインINの?ブロック)
130(セメントブロック)
3F(マリオが歩けない(すり抜ける)地面)
25(上と同じ)
を使って説明しマフ
124(コインINの?ブロック)
130(セメントブロック)
3F(マリオが歩けない(すり抜ける)地面)
25(上と同じ)
を使って説明しマフ
失敗例
まずBlktoolを使い、例えば「ONのときに通れOFFで通れないブロック」を作りました
グラフィックを用意しちゃんとステージに配置してタイ番は124のままでいいか
さあテストプレーーーーーーええええええええあれ?たたくとコインが出る上にONになっても通れないよ?
まずBlktoolを使い、例えば「ONのときに通れOFFで通れないブロック」を作りました
グラフィックを用意しちゃんとステージに配置してタイ番は124のままでいいか
さあテストプレーーーーーーええええええええあれ?たたくとコインが出る上にONになっても通れないよ?
解りましたか?タイ番を124にするとどのブロックであっても叩くとコインが出てしまうのです
じゃあ130番にしよう。タイ番を124から130に変えて保存!!
さあテスt(ryえええああれええええ?コインは出なくなったがONでも通れん!!
さあテスt(ryえええああれええええ?コインは出なくなったがONでも通れん!!
130番にすると叩いても反応がないが通り抜ける系はできないのだ
ええいもうやけだ!!3F(25)にしてやらあ!さa(ryおおおおおおおおおおおおおおおおおおおお
ついに 念願の ブロックが 完成したぞ
ついに 念願の ブロックが 完成したぞ
はいもう勘のいい人はわかったかも試練が「特定条件で通り抜けられるブロック」は3F(25)じゃないと正常に動作しないのです
以上のを踏まえるとオリジナr(ryの効果とともにタイ番の効果も反映させると言うわけ
応用
これを応用すれば
これを応用すれば
- 下から叩くと動きを止められるベルトコンベア(タイ番129)
- ファイアーで壊せるが下から叩くとファイアフラワー(またはキノコ)が出るブロック(タイ番11F)
- 流れる水(Movement系に水のタイル番号 +アニメーション)
なんかも作れます
解りにくかったらすむません
解りにくかったらすむません
自分も解説をしてみる、ただし余計に混乱してしまう恐れがあるので
気をつけてください
ONのときに通れOFFで通れないブロックは
OFFのとき130(セメントブロック)をロードすると言う
命令をしていて逆にONの時は設定したタイル番号をロードしているので(本当は違うかもしれないがたとえと言うことで)
130(セメントブロック)にタイル番号を設定している場合は
OFFのときは130(セメントブロック)をロードして
ONの時は設定したタイル番号130(セメントブロック)をロードしている
つまりONOFFでも関係なく触れられてしまうということです
なのでもともと触れられないタイル番号25
に設定している場合は
OFFのときは130(セメントブロック)をロードして
ONの時はタイル番号25(空白)をロードする
なのでONの時は触れられないのです
分かりずらいですねスイマセン
気をつけてください
ONのときに通れOFFで通れないブロックは
OFFのとき130(セメントブロック)をロードすると言う
命令をしていて逆にONの時は設定したタイル番号をロードしているので(本当は違うかもしれないがたとえと言うことで)
130(セメントブロック)にタイル番号を設定している場合は
OFFのときは130(セメントブロック)をロードして
ONの時は設定したタイル番号130(セメントブロック)をロードしている
つまりONOFFでも関係なく触れられてしまうということです
なのでもともと触れられないタイル番号25
に設定している場合は
OFFのときは130(セメントブロック)をロードして
ONの時はタイル番号25(空白)をロードする
なのでONの時は触れられないのです
分かりずらいですねスイマセン
補足、出来なかった人用
「blktoolのダウンロード、解凍」までは、誰でもさほど苦労せずできるはずだと思います。
その後が問題ですね。
その後が問題ですね。
blktoolでROMを開き、ブロックを追加する。
これは簡単です。ROMを開き、追加を押してブロックを追加します。
その際に、左には「自分の追加したいブロックの番号」を書きます。
右には「16進法での300、10進法でいう768」を書きます。
ただし既に768を使ってブロックを追加しているなら、
それより1多い769と書く必要があります。
単純にブロック用の場所だと考えて下さい。
「なぜ768という数字なのか」に関してですが、
もちろんこれには理由があります。次項で説明しましょう。
そして保存して下さい。
その際に、左には「自分の追加したいブロックの番号」を書きます。
右には「16進法での300、10進法でいう768」を書きます。
ただし既に768を使ってブロックを追加しているなら、
それより1多い769と書く必要があります。
単純にブロック用の場所だと考えて下さい。
「なぜ768という数字なのか」に関してですが、
もちろんこれには理由があります。次項で説明しましょう。
そして保存して下さい。
LunarMagicで、blktoolで追加したブロックを実際に使えるようにする。
さてLunarMagicは改造用のツールです。blktoolはブロックを追加するためのものです。
しかし、ここまで試行錯誤を重ねて来られたなら、何やらまだ手間が掛かることはご存知でしょう。今度はLunarMagicで、blktoolを使った同じROMを開きます。
ブロックを追加して既に開いていれば、開きなおす必要があります。
そしてを押し、出た画面で「標準オブジェクト」となっている所を変えて、
一番下の「MAP16に直にアクセス(英語だとDirect Accessとか何とか)」
を選び、上から4つ目の「Map16 Page 3...」が選択された状態にして、マウスカーソルを一番左上に合わせます。
つまり0x300番(0xは16進数の意味、10進数で768番)の所にカーソルを合わせます。
自分が設定したとおりの効果が表示されていれば、ここまでは上手く行っています。
要するに、『768は0x300なので、768番にしておけば、16進数での300番にブロックを作ることになり、
それだと「オブジェクトデータ」の「Map16に直にアクセス」を開いてブロックを置く時に、見つけやすいから』
「まっさらな場所の左上にくるので、見やすいから」
というのが、768という謎の数字の理由でした。
そのウインドウはそのままでいいので、
4つ右の「16×16タイルマップエディタ画面を開く」
をクリックし、「自分の設定したいグラフィックの場所」をクリックして下さい。
この時(タイルマップからグラフィックを選ぶ時)選ぶ場所はどこでも構いません。;
好きなグラフィックにすることが出来ます。;
選んだら、Act asに、適切な番号を入力します。
この番号は、あなたがblktoolで指定した「ブロックの効果の番号」と同じにすればいいというわけではありません。;
あなたが使いたいブロックの種類に応じて、適切な値を設定する必要があります。;
しかし、ここまで試行錯誤を重ねて来られたなら、何やらまだ手間が掛かることはご存知でしょう。今度はLunarMagicで、blktoolを使った同じROMを開きます。
ブロックを追加して既に開いていれば、開きなおす必要があります。
そしてを押し、出た画面で「標準オブジェクト」となっている所を変えて、
一番下の「MAP16に直にアクセス(英語だとDirect Accessとか何とか)」
を選び、上から4つ目の「Map16 Page 3...」が選択された状態にして、マウスカーソルを一番左上に合わせます。
つまり0x300番(0xは16進数の意味、10進数で768番)の所にカーソルを合わせます。
自分が設定したとおりの効果が表示されていれば、ここまでは上手く行っています。
要するに、『768は0x300なので、768番にしておけば、16進数での300番にブロックを作ることになり、
それだと「オブジェクトデータ」の「Map16に直にアクセス」を開いてブロックを置く時に、見つけやすいから』
「まっさらな場所の左上にくるので、見やすいから」
というのが、768という謎の数字の理由でした。
そのウインドウはそのままでいいので、
4つ右の「16×16タイルマップエディタ画面を開く」
をクリックし、「自分の設定したいグラフィックの場所」をクリックして下さい。
この時(タイルマップからグラフィックを選ぶ時)選ぶ場所はどこでも構いません。;
好きなグラフィックにすることが出来ます。;
選んだら、Act asに、適切な番号を入力します。
この番号は、あなたがblktoolで指定した「ブロックの効果の番号」と同じにすればいいというわけではありません。;
あなたが使いたいブロックの種類に応じて、適切な値を設定する必要があります。;
ブロックの挙動(間違えやすい……要注意!!)
「このタイルの効果番号」で入力した値の効果(25なら何もなし、2Bならコインといったもの、全て16進数)と、blktoolで指定した効果の複合したものが、ブロックの効果となります。;
例:「このタイルの効果番号」に雲と同じ106を選び、
blktoolで3(右→左以外の方向から通り抜け可能)を選ぶと・・・
→上と右からは通れず、下からまたは左からなら通れるブロックになる
2つの番号、効果を選ぶ際に変な組み合わせにすると、上手く行きません。
上記でも同様の説明がありますが、
blktoolでは下から以外は通れる効果を選択しているのに、
「このタイルの効果番号」に、叩くとコインの出るブロックの効果番号(多分124)を
選んでしまっていたとしたら・・・試していませんが、通れないでしょうし、
下から叩いてもコインも出ないと思います。出るかもしれませんが、意図した通りになりません。
一方通行など通過出来たり出来なかったりするブロックで、思った通りにならない場合、
上記の説明にある通り、25(元々は空間を埋めるためのものらしい)を「このタイルの効果番号」に設定すれば、上手く行くはずです。
例:「このタイルの効果番号」に雲と同じ106を選び、
blktoolで3(右→左以外の方向から通り抜け可能)を選ぶと・・・
→上と右からは通れず、下からまたは左からなら通れるブロックになる
2つの番号、効果を選ぶ際に変な組み合わせにすると、上手く行きません。
上記でも同様の説明がありますが、
blktoolでは下から以外は通れる効果を選択しているのに、
「このタイルの効果番号」に、叩くとコインの出るブロックの効果番号(多分124)を
選んでしまっていたとしたら・・・試していませんが、通れないでしょうし、
下から叩いてもコインも出ないと思います。出るかもしれませんが、意図した通りになりません。
一方通行など通過出来たり出来なかったりするブロックで、思った通りにならない場合、
上記の説明にある通り、25(元々は空間を埋めるためのものらしい)を「このタイルの効果番号」に設定すれば、上手く行くはずです。
ブロックの完成
まだ説明が途中でしたので、完成というか、ブロックを設置出来るようにするための、
残りの手順を説明していきましょう。
好きなグラフィックを左クリックします。
を押すと出る「MAP16に直にアクセス」の画面は
下にある「Map16のタイル 0x何とか〜0x何とか」をクリックすれば、好きな場所を見ることが出来ます。
しかし「16×16タイルマップエディタ」の方はそんな物が付いてません。
そこでどうするかというと、矢印キーを押すか、Pageの右に指定のページ番号を入力してPageをクリックすれば。後ろを見れます。
今00からFFまでの256個のタイルが表示されています。
矢印キーの下を押すと、100〜1FFに表示が変わります。
さらにもう一度押すと、使われていないので何もグラフィックのない
256個が表示されたはずです。200〜2FFがそれです。
もう一度下を押すと、300〜3FFが表示されます。
そこの一番左上が、先程blktoolで効果を設定した300(10進数で768)の場所です。
そうしたら後は、その300番の場所にマウスカーソルを合わせ、右クリックします。
300番の場所が、先程選んだグラフィックに変化すれば成功です。Act asに適切な数字を入れましょう。
今作業をした、300番の場所は、はじめにblktoolで設定した効果と、「このタイルの効果番号」で設定した番号の効果を
あわせ持つ、表示されたグラフィックで実際に表示されるブロック
になりました。
グラフィックはおいとくにしても、もし「Act as」に適切な値を設定していなかったら、意図した通りのブロックの振る舞いは期待できません。;
逆に言えば、もしコインのグラフィックを選び、適当な場所に右クリックしてAct asを130(セメントブロックの効果)にすれば、コインのように見えるが通れないセメントブロックを作れますし、特殊な効果が不要なら、blktoolなしで出来ます。
忘れてましたが、LunarMagicでこの作業をしたら、16x16タイルマップエディタ内のをクリックして保存して下さい。;
残りの手順を説明していきましょう。
好きなグラフィックを左クリックします。
を押すと出る「MAP16に直にアクセス」の画面は
下にある「Map16のタイル 0x何とか〜0x何とか」をクリックすれば、好きな場所を見ることが出来ます。
しかし「16×16タイルマップエディタ」の方はそんな物が付いてません。
そこでどうするかというと、矢印キーを押すか、Pageの右に指定のページ番号を入力してPageをクリックすれば。後ろを見れます。
今00からFFまでの256個のタイルが表示されています。
矢印キーの下を押すと、100〜1FFに表示が変わります。
さらにもう一度押すと、使われていないので何もグラフィックのない
256個が表示されたはずです。200〜2FFがそれです。
もう一度下を押すと、300〜3FFが表示されます。
そこの一番左上が、先程blktoolで効果を設定した300(10進数で768)の場所です。
そうしたら後は、その300番の場所にマウスカーソルを合わせ、右クリックします。
300番の場所が、先程選んだグラフィックに変化すれば成功です。Act asに適切な数字を入れましょう。
今作業をした、300番の場所は、はじめにblktoolで設定した効果と、「このタイルの効果番号」で設定した番号の効果を
あわせ持つ、表示されたグラフィックで実際に表示されるブロック
になりました。
グラフィックはおいとくにしても、もし「Act as」に適切な値を設定していなかったら、意図した通りのブロックの振る舞いは期待できません。;
逆に言えば、もしコインのグラフィックを選び、適当な場所に右クリックしてAct asを130(セメントブロックの効果)にすれば、コインのように見えるが通れないセメントブロックを作れますし、特殊な効果が不要なら、blktoolなしで出来ます。
忘れてましたが、LunarMagicでこの作業をしたら、16x16タイルマップエディタ内のをクリックして保存して下さい。;
「タイルの効果番号」の調べ方
特殊な、元々存在しない効果のブロックを設置するために作る場合、
「このタイルの効果番号」には、blktoolで設定する効果と干渉しない
適切な番号を設定してやる必要があることは、既に述べた通りです。
しかし、適切な番号は、初めテキトウに設定し、テストプレイをして、思い通りの挙動が実現するまで、何度も番号を変えてテストプレイを繰り返すことで見つける・・・
というのでは、途方もない時間がかかります。
ご心配なく。「オブジェクトデータを開く」「オブジェクトデータ」の画面の「MAP16に直にアクセス」から、元々のゲームにあるブロックの数々を見ることが出来ますね。
これは既に述べた通りですが、それぞれのブロックのグラフィックにカーソルを
合わせると、効果が表示されます。同時に16進数で3桁の数が表示されます。
それが、そのブロックの効果番号とやらです。これを見れば、全ての番号について、
その効果がどのようなものか、たちどころに判りますし、特殊な方の効果(実際のゲームにはなかった、blktoolで追加できる効果)と干渉しないためには、何番の「このタイルの効果番号」を設定すればいいかも判るはずです。
後はちょっと頭をひねって、どの効果番号がいいか考えて下さい。
「このタイルの効果番号」には、blktoolで設定する効果と干渉しない
適切な番号を設定してやる必要があることは、既に述べた通りです。
しかし、適切な番号は、初めテキトウに設定し、テストプレイをして、思い通りの挙動が実現するまで、何度も番号を変えてテストプレイを繰り返すことで見つける・・・
というのでは、途方もない時間がかかります。
ご心配なく。「オブジェクトデータを開く」「オブジェクトデータ」の画面の「MAP16に直にアクセス」から、元々のゲームにあるブロックの数々を見ることが出来ますね。
これは既に述べた通りですが、それぞれのブロックのグラフィックにカーソルを
合わせると、効果が表示されます。同時に16進数で3桁の数が表示されます。
それが、そのブロックの効果番号とやらです。これを見れば、全ての番号について、
その効果がどのようなものか、たちどころに判りますし、特殊な方の効果(実際のゲームにはなかった、blktoolで追加できる効果)と干渉しないためには、何番の「このタイルの効果番号」を設定すればいいかも判るはずです。
後はちょっと頭をひねって、どの効果番号がいいか考えて下さい。
ブロックの設置方法
を押して「MAP16に直にアクセス」を選び、作ったブロックの場所である
0x300(768個目)の場所を表示し、普通にブロックを設置するときのように
左クリックして、起きたい場所で右クリックすれば置けると思います。
置けないなら、オブジェクトが置けるようになっているか(緑の甲羅でなく
黄色いクルクルブロックのボタンを選択しているか)確認した上で、
0x300番を何度も執拗に左クリックし、その後もう一度置きたい場所で
右クリックすることを試して下さい。
置けたけど、効果が意図した通りにならないなら、多分「このタイルの効果番号」を
適切に設定していないことが原因です。そこが一番間違えやすいので・・・
0x300(768個目)の場所を表示し、普通にブロックを設置するときのように
左クリックして、起きたい場所で右クリックすれば置けると思います。
置けないなら、オブジェクトが置けるようになっているか(緑の甲羅でなく
黄色いクルクルブロックのボタンを選択しているか)確認した上で、
0x300番を何度も執拗に左クリックし、その後もう一度置きたい場所で
右クリックすることを試して下さい。
置けたけど、効果が意図した通りにならないなら、多分「このタイルの効果番号」を
適切に設定していないことが原因です。そこが一番間違えやすいので・・・
blktoolで出るエラー
なお上記と重複しますが、blktoolでの保存の際に「Lunar Magic ASM hacks not installed, please save at least one level in LM.」
とエラーが出た場合、LunarMagicで編集していないことなどが原因です。詳細は上記の説明をどうぞ。
とエラーが出た場合、LunarMagicで編集していないことなどが原因です。詳細は上記の説明をどうぞ。
ON/OFFで効果の変わるブロック
準備
まずbinファイルを新規作成して、適当に名前をつけ、バイナリエディタで開きます。
AD AF 14 C9 00 D0 xx と書きます。(xxは後でいれる)
この先にONの時こうこうこういう効果にしたいって書いていくのですが、
知識が無いからできないので、blocktoolの既成のbinからパクることにしましょう。
AD AF 14 C9 00 D0 xx と書きます。(xxは後でいれる)
この先にONの時こうこうこういう効果にしたいって書いていくのですが、
知識が無いからできないので、blocktoolの既成のbinからパクることにしましょう。
まずONの時の処理を設定
では、ためしにMOVE1.binでも開いて、そこに書いてあることをコピー。
さっきのファイルに貼り付けし、そのプログラムの長さを数えましょう。16進数で。
(数字2文字で1つと数える)そしてxxに入れましょう。
さっきのファイルに貼り付けし、そのプログラムの長さを数えましょう。16進数で。
(数字2文字で1つと数える)そしてxxに入れましょう。
OFFの時の処理を設定
ではまた、別のbinファイルのプログラムをその先に貼り付けましょう。試しにMOVE5.binでも。
そして保存し、blocktoolで挿入。
そして保存し、blocktoolで挿入。
動作テスト
適当に画面全体に設置した後、ステージの上のほうにONOFFブロックを2個置いてその間に
青ノコノコ(中身)に甲羅でも蹴ってもらいましょう。
OH,風が左右に吹き荒れる!てかこれしか使い道なかったりして。
(じつはカスタムスプライト方が風には適していたりする)
ちなみに、「AF 14」の所は、ON OFFフラグを表しています
青ノコノコ(中身)に甲羅でも蹴ってもらいましょう。
OH,風が左右に吹き荒れる!てかこれしか使い道なかったりして。
(じつはカスタムスプライト方が風には適していたりする)
ちなみに、「AF 14」の所は、ON OFFフラグを表しています
ASMからblktool用のbinを作る
参考に カスタムブロックのうんちく
1.自作物展示場からこれを取ってくる。
2.LhaPlusなどで解凍し出てきたTRASM_bにBlktool用asmをD&D
3.binがでてくる。
4.Below,Above,Sides Offsetを0にしあと全部-1にして追加する。
5.ROMにブチ込む。
6.(゚д゚)ウマー
1.自作物展示場からこれを取ってくる。
2.LhaPlusなどで解凍し出てきたTRASM_bにBlktool用asmをD&D
3.binがでてくる。
4.Below,Above,Sides Offsetを0にしあと全部-1にして追加する。
5.ROMにブチ込む。
6.(゚д゚)ウマー
blktoolとbliteについての考察
自分なりの考察を
blktool
利点
- 分かりやすい(個人的に)
- Reloc Offsetの設定が簡単
欠点
- 重い(パッチである程度改善可能)
- 挿入時16進数が使えない
blite
利点
- 軽い
- 挿入時16進数が使える
欠点
- Reloc Offsetの設定が面倒(uo版で改善)
- 説明が不十分で分かりにくい部分がある
最終的にはbliteを使った方がいいのは確実
ただReloc Offsetの設定が面倒なのが・・・
という訳で低スペックでもない限り初めはblktoolで慣れてきたらbliteをお勧めします
bliteがcorner対応、xkas対応したようです。
ただReloc Offsetの設定が面倒なのが・・・
という訳で低スペックでもない限り初めはblktoolで慣れてきたらbliteをお勧めします
bliteがcorner対応、xkas対応したようです。
ブロックをフォルダに分けて使用する
blktoolだとbinファイルをフォルダ分けできないからごちゃごちゃするとか言われているけど、ちょっと工夫すればちゃんとbinファイルをフォルダ毎に管理することができます。
例えば、blktoolフォルダ以下に"bin"というフォルダを作り、そこにブロックを保存した場合は、ブロックデータ設定のファイル名の所に
例えば、blktoolフォルダ以下に"bin"というフォルダを作り、そこにブロックを保存した場合は、ブロックデータ設定のファイル名の所に
bin\<ブロック名>
と書くことでbinフォルダ中のブロックを参照することができます。
Q&A
質問するときは、ここに掲載されてないか確認しましょう。
Q 質問 | A 回答 |
Q.改造ブロックを作ろうの手順4で英文が表示されない。 | A.16x16エディタで見ていませんか?&br;ROM.smcと同じ階層にROM.dscというファイルがあればその内容が表示されるはずです。&br;ちなみにフォーカスを与えるとは、そのオブジェクトにカーソルをあわせるということです。 |
Q.導入に成功したけどグラフィックはー? | A.自分で作りましょう。普通はExGFXでグラフィックを作ります。 |
Q.on/offまたは青・銀Pで効果の変わるブロックのグラフィックが意味不明 | A.アニメーションタイルを用います。&br;EXGFXを使ってのグラフィック変更を参照してください。 |
Q.なんかエラーが・・・ | A.ちゃんと一回でも弄ったROMを使っていますか?そもそもROMを開いていますか? |
Q.成功になったけど効果があらわれない。 | A.たぶんこれのどれかです。&br;1.10,16進数が間違っている。&br;2.オフセットが指定されていない。&br;3.自作の場合binファイルが間違ってたりいる。&br4.縦面で使っている。&br;5.そもそも導入に失敗している。&br;…あらゆる可能性を疑いましょう。 |
Q.自作でブロックを作ったけどオフセットは? | A.自分で決めます。普通は処理の始めのアドレスにします。 |
Q.blktoolに無いブロックを作りたい。 | A.普通ASMから作ります。ASMの知識が必要なので、少し上級です。 |
Q.とにかくエラーが… | A.ROMは一度でも編集した?ブロックツールのあるフォルダのパスに漢字やひらがなが入ってない? |
Q.○○のブロック、タイル番号XXXじゃ動かないんだけど… | A.変えてみよう!たとえば25がダメなら130とかに… |
Q.ブロック入れたけど説明が変わらない・・・ | A.同階層にsmcファイルと同名のdscファイルはありますか?また、導入は出来ているかの確認もしてから聞いてください |
Q.導入できん! | A.OSとの相性もあるらしい。Blite使うといいかも。 |
Q.Bliteが起動しないぞ | A.mscoree.dllが必要、ただしOSとの相性がある |
Q.縦面にしたら使えなくなった | A.縦面ではほぼ使えなくなる。ただし縦面でしか使えないブロックもある |
Q.類似になるブロックに触れたら操作できなくなった | A.2P設定をしてみよう |
Q.16xエディタの内容って移せる? | A.つF2~F8 |
Q.16xエディタで0x2ページ目を使ってはいけない理由って? | A.使ってもいいけどオブジェクトのインデックスで別々のグラフィックが指定できるので注意は必要。なおグラフィックは別々に指定できても効果は同じ |
Q.Lockd doorってどうやって使うの? | A.keyを130,ドアを25にして鍵は運ぶんじゃなくて触ってフラグを立てる物だと思われる |
Q.Locked doorの置き方がわかんね | A.上は普通のドアで下がLocked doorでOK |
Q.タイ番を何にしたらいいのか分からない | A.もうこんな質問はやめてね。blktoolで入れた効果+SMW本来のブロックの効果(タイ番)というのがカスタムブロック。あとは察して |
Q.bliteの挙動が変 | A.FastROMパッチを当ててるとだめらしい bliteの後に当てよう |