SFCGENEditor 1.4.1リリース


↑セリアちゃんお色直し直前の図。

久しぶりの更新となりました。例によって「ダウンロード」ページにうpしてあります。メインはDQ3,6プラグインの「キャラグラの差し替え機能」です。DQ3 K.Mixを8MB化してから機能としてつけるべきかなーとは思っていたものの、誰にも言われなかったので「まあいいか」と先延ばしにしていたら、とうとう言われてしまったのでようやくつけた、という経緯です。ちょうど呪術師のグラをいただいたので実験台にしました。DQ3 K.Mix 1.9.6で差し替えた呪術師のグラはこの機能を使って差し替えています。売りは「SFCGENEditor上でキャラグラが正しく表示されていれば実体の画像データがどこにあろうが簡単に差し替えできる」というものです。その代わり前提条件として、

  1. 既存キャラの差し替えのみ対応
  2. プレイヤーキャラの差し替えのみ対象
  3. ビットマップ中のキャラグラの色は背景色以外実際にゲーム中のものと一致している必要がある(パレットの順番は自動調整するので同じでなくていい)

があり、基本的にプレイヤーキャラのキャラグラを変えて遊びたいというプレイヤー向けの機能です。それ以外の需要まず無いだろうからこれで大多数の要望には応えられるだろうという見込みです。基本的にはキャラグラ系のパッチに付属しているビットマップファイルを読み込ませればできるんじゃね?という割と雑な仕様になっています。

2の「プレイヤーキャラの差し替えのみ対象」と言うのは厳密には「使用画像数48のキャラのみ対応」という意味です。使用画像数48と言うのは、反転などを使わずにキャラグラを構成していることを意味します(6×8パターン)。DQ3 K.Mixでは過去テドンイベント時に見た目が兵士に変わりますが、オリジナルに存在する兵士のキャラグラにすると見た目がバグります。理屈は不明ですが、この兵士のキャラグラは左右反転を使って使用するSNES4BPP画像数を抑えており、そのせいのようです。

兵士の服を使ったときのキャラグラを元から存在する兵士のキャラグラに設定したときの図。周りの兵士は普通に描画されていますが真ん中の勇者のキャラグラは崩れています。というわけで、兵士の服を着たときのキャラグラは別途別領域を使っています。

3はキャラグラをつくる人にとっては当たり前なのかもしれませんが、パレットインデックスの自動調整機能を実装した都合でこうなりました。背景色は各キャラグラ(128×24)の一番左上のピクセルを背景色として判定します。

SFCGENEditorのマニュアルに丁寧な手順を書こうと思ったのですが時間がかかりそうなので、とりあえずここに使い方を書いておきます。

  1. ROMファイルを読み込んだ後、「キャラクターグラフィック画像」ノードに飛ぶ(Ctrl + Fで「キャラクターグラフィック画像」で検索すると簡単)
  2. 「編集」メニューの「キャラグラ差し替え」を選び、差し替えたいビットマップファイルを選ぶ
  3. 差し替えたいキャラグラを「インデックス」に数字を入れて探す
  4. 差し替えたいキャラグラを選ぶ(2で複数キャラグラを含むビットマップファイルを選んだ場合)
  5. ゲーム中で使うパレットを「ROM中キャラグラパレット1or2」から選ぶ
  6. 「差し替え実行」ボタンを押す
  7. 「キャラグラ差し替え」フォームを閉じ、「ファイル」メニューの「ROMを保存」で変更したROMを保存する

で終わりです。差し替え実行後、左側の「差し替え元キャラグラ」が変わっていればOKです。

ちゃんと変わってますね。

ビットマップファイルは複数のキャラグラを含んでいてもOKです。「インポートビットマップ画像」をクリックして差し替えたいキャラグラを選んでください。

2パターンのパレットを含んでいるビットマップ画像にも対応しています(そもそもの要望の画像)。

と、ここまで書いて、上記1の手順がわかりにくいと言われそうなので、「キャラグラ変更専用のSettingsフォルダ」を用意することにしました。キャラグラ表示に必要な定義のみ残し、さらに左側のツリーには「キャラクターグラフィック画像」ノードしかない状態にしたので迷いようがないでしょう。Rommap.xmlのサイズも小さくなり、不要なプログラム解釈もないのですぐに起動します。キャラグラ専用の設定は

  • オリジナルのDQ3用
  • DQ3 Extended用
  • オリジナルのDQ6用
  • DQ3 K.Mix用

を用意しています。上3つはSFCGENEditorのzipに同梱し、DQ3 K.Mix用の設定はDQ3 K.Mix用の定義ファイルに入れてあります。今回オリジナルDQ3用、DQ3 K.Mix用の定義ファイルのフォルダ名を変えました。

この作業を毎回やるのが面倒くさいという人は、変更後のROMと変更前のROMの差分をパッチ化して手元に持っておけば楽です。くどいようですが追加のパッチ適用は自己責任でお願いします。単に画像を差し替えているだけなので画像データの位置が変わっていなければ問題は起きないと思いますが。

コメント

  1. 匿名 より:

    この機能を使えばエミュでROM起動時に表示される文字が黄色くならない…のでしょうか?

    管理者より返信:

    Snes9xでROMロード時に文字が黄色くなるのはROM内のチェックサムと実チェックサムが乖離しているからです。チェックサムを調整しない限り黄色くなりますが、実害はありません。今回の機能とは関係ない話です。

  2. 匿名 より:

    グラフィックの話ではなくて申し訳ございません。
    各呪文の消費MPはSFCGENEditorでどこを参照すればよろしいでしょうか?

    管理者より返信:

    「戦闘行動」を見てください。

  3. 匿名 より:

    ありがとうございます。
    すみません、ものすごく分かりやすい項目を見逃してました 。(/ω\)

  4. わらべ より:

    いつもお疲れ様&いつもお世話になっております。久々にダウンロードさせて頂きました。

    前バージョンでは「モンスター画像」でモンスターの画像&アニメーションが見れましたが、今バージョンでは見れなくなったようです。

    何か仕様が変わりましたかね?それともうちのPCと相性が悪いのかな?

    管理者より返信:

    とりあえず手元でDQ3, DQ6の素ROMで確認しましたが、問題なく見ることができました。見れないのはどの定義ファイルを使用した場合でしょうか?

  5. わらべ より:

    一番最初に出てくる「Settings」の奴ですよね?勿論DQ3の時は無改造のDQ3を、DQ6の時は無改造のDQ6を開いてます。

    …あらら、そちらでは普通に見れますか…なんでだろ?まぁひとつ前のバージョンでは普通に見れるので、どうしても直して欲しいという訳では無いのですが…

  6. わらべ より:

    念の為にもう一度ダウンロードし直しましたが、結果は変わりませんでした。
    気になったのはダウンロードした直後に起動した時に出てきたメッセージ。「詳細情報」で「実行する」を選ぶと起動するので気にしなかったのですが…
    https://dotup.org/uploda/dotup.org2887813.png

    そして「モンスター画像」以外でも、選択するとエラーメッセージが出てくる項目がいくつかチラホラ
    https://dotup.org/uploda/dotup.org2887805.png

    …多分ダウンロード時にウイルスバスターか何かが悪さしてる可能性が…。とりあえずうちのパソコン側の問題だと思われますので、前バージョンが普通に動いてるのでとりあえず私はそれで問題ないので、これ以上ご迷惑をおかけする訳にはいかないので、今回の話はこれで終了します。お騒がせして申し訳ないです。

    管理者より返信:

    zipファイルをDLした際に「ブロックの解除」をしているでしょうか(「ダウンロード」ページに解除するべき画面のイメージを表示しています)?とりあえず思いつくのはそれくらいしかありません。

  7. 匿名 より:

    私の方でも画像全般を参照しようとするとエラーが出て見れません
    新しくDLし直し、全ての定義ファイルで試しましたが結果は同様でした
    ver1.4.1で初めて利用させて頂いたので、以前のバージョンで正しく動くかも分かりません
    (古いバージョンをダウンロードして試そうと思いましたが、ダウンロードページに見当たりませんでした)
    DLする時にウイルスソフトに邪魔された訳でもなく、zipファイルをDL後にブロックの解除をしてもダメでした

    画像データノードで参照ボタンを押すと以下のエラーメッセージが出てきます

    Imgur
    Imgur: The magic of the Internet

    また上下左右のボタンを押すと以下のエラーメッセージが出ます

    Imgur
    Discover the magic of the internet at Imgur, a community powered entertainment destination. Lift your spirits with funny...

    以下は実行環境です
    ・OS:Windows10 pro
    ・.NET Frameworkのバージョン:4.8
    ・開いたROMはいずれもヘッダーカット済み

    ちなみに新機能のキャラグラ差し替えは問題なくできました

    管理者より返信:

    全くSFCGENEditorを実行したことのない環境でDLしたzipファイルに対して「ブロックを解除」、SFCGENEditor.exeを実行した際のWindows Defenderによる警告を無視して実行することでモンスター画像の参照ができました。

    uploadされたエラーは左のエディットボックスに参照したいモンスターIDを指定していないからエラーが表示されます。1を入れて参照ボタンを押せばスライムが表示されるはずです。

  8. わらべ より:

    おお、ようやく見れました。前回の「「ダウンロード」ページに画面のイメージを表示しています」の一文を、質問と勝手に勘違いして「う~ん良くわからん・・・」と考え込んでいましたw難しく考えすぎてたようです。

    うちのPCはZIPファイルが解凍する必要なく開ける為、「何かあればエラーが出る(=エラーが出なければ問題ない)」と思い込んでた所があり、今回のような事態になっていたようです。色々ありがとうございました。

    管理者より返信:

    見れたようで良かったです。

  9. 匿名 より:

    回答ありがとうございます
    画像データノードで一番左のエディットボックスにIDを入れたら無事に表示されました
    私の方はウイルスソフトに関係なく、単にツールの使い方を理解できていないだけでした…
    余計な混乱をさせてしまい申し訳ありませんでした

  10. 匿名 より:

    データテーブルのデータ型が仮想文字列の行が消えるバグに遭遇したので報告します
    以下の手順で再現しました
    ①既存データ定義変更で、型が仮想文字列のデータの右にある詳細ボタンを押す
    ②仮想文字列設定ウィンドウを閉じる(ここでの入力内容は関係ない?)
    ③既存データ定義変更ウィンドウをキャンセルボタンで閉じる

    こうするといつの間にか仮想文字列型のデータが行ごとデータテーブルから失くなります
    この状態でRomMapを保存せずにSFCGENEditorを閉じれば元に戻りますが、
    保存すると行が消えたまま更新されてしまいます

    ご確認お願い致します

    管理者より返信:

    現象確認しました。次回リリースで修正します。ご指摘ありがとうございました。

  11. 匿名 より:

    いつもありがたく利用させていただいています。

    SR編集画面からSR定義情報の削除(いいえで定義のみ削除)をしようとしたところ、
    「SRの定義(6B, 60)と実装が異なっています(定義:6B 実装:60)。SRの定義を変更しますか?」
    というSR定義不一致検知ウィンドウが無限に出続けて操作不能になるというバグが発生しました。

    そのウィンドウで選択肢を連打していたらツールが落ちてしまい、
    もう一度起動したら最初のSettingフォルダ選択画面が出なくなりました…。
    新しくDLしたSFCGENEditorからSFCGENEditor.iniをコピーして上書きしたら、
    幸いSettingフォルダ選択画面が出ない問題は解消されました。(解決方法はこれで良かったのでしょうか…?)

    ROMはDQ3_Extended_ver1444で削除したSRは$03BA05です。
    他のリターン命令の定義と実装が異なっているSRでも同様のバグが起きました。
    さらにSR定義情報の削除ウィンドウでの「はい」と「いいえ」の選択
    →SR定義不一致検知ウィンドウでの「はい」と「いいえ」の選択の計4つの組み合わせによって結果が変わるようです。

    どうやら結果には下記の3パターンがあるようですが、詳しい発生条件を特定することはできませんでした。
    1.正常に削除可能
     ($03BA05ではSR定義情報の削除ウィンドウで「はい」→SR定義不一致検知ウィンドウで「いいえ」)
    2.上記のバグが起こる
     ($03BA05ではSR定義情報の削除ウィンドウで「いいえ」→SR定義不一致検知ウィンドウで「いいえ」)
    3.「オブジェクト参照がオブジェクト インスタンスに設定されていません。」というエラーウィンドウが出るも、続行ボタンを押せば正常に削除可能
     ($03BA05ではSR定義情報の削除ウィンドウはどちらでも→SR定義不一致検知ウィンドウで「はい」)

    ROM索引からSRを削除すれば発生せず回避は可能なので、お時間があるときに確認していただければ幸いです。

    管理者より返信:

    SR削除時には不一致検出ウィンドウを表示させないのが正しい動作でしょうね。これから定義を消すわけだから不一致の検出は不要なわけなので。

  12. ポコニャン より:

    キャラグラ系のパッチに付属しているビットマップファイルを読み込ませればできるんじゃね?のノリでやってみたのですがビットマップを表示できませんでした
    16色に変えてみたところ今度はキャラグラ使用パレットの色がゲーム中パレットと一致していない。となってしまします
    解決策はありますでしょうか?

    管理者より返信:

    現物がないとどっちが悪いかすらわからないのでなんとも言えません。

  13. ポコニャン より:

    ROMはドラクエ3のオリジナルROMにkmixさんのパッチを当てたDQ3kimxROMです。

    キャラグラはDQバイナリ改造 @Wikiの558氏のExtra2のおまけのドラクエ.dotのキャラグラgifを使用させていただきました。
    BMPファイルに変換後に試してみましたが先ほどコメントさせていただいた症状になります。

    的外れな質問でしたら申し訳ありません。よろしくお願いします。

    管理者より返信:

    gifからの変換だとパレットが1対1対応したものができないからちゃんと動かないんじゃないんですかね。むしろパッチを当てたROMをSFCGENEditorに読み込ませてそこからBMPを採取してそれを読み込ませたほうがうまくいくのではと思います。

  14. ポコニャン より:

    ありがとうございます!パッチを当てたROMをSFCGENEditorに読み込ませて編集からBMPを採取してそれを読み込ませてみたのですがサイズが合わないので幅128高さ24に変換すると今度はキャラグラ使用パレットの色がゲーム中パレットと一致していないになってしまいます。変換の仕方が原因でしょうか いろいろとすみません。

    管理者より返信:

    BMPに保存するときに拡大して保存していないですか?雑にしか確認していませんが、等倍ならDQ3の男商人をBMPで保存して勇者と差し替えたら普通に差し替えできました。それでできないのであればちょっとこれ以上はわかりません。

  15. ポコニャン より:

    ありがとうございますKMIX内でのキャラの差し替えはできました!
    KMIXにドラクエ32等のキャラグラを差し替えることは可能でしょうか?

    管理者より返信:

    パレットが同じならできるのでは。やったことがないのでわかりません。

  16. ポコニャン2 より:

    解決しました!
    extendの項目がありましたのでextend系列からBMP引っ張ってきたらいけました!
    ありがとうございました!

タイトルとURLをコピーしました