
↑セリアちゃんお色直し直前の図。
久しぶりの更新となりました。例によって「ダウンロード」ページにうpしてあります。メインはDQ3,6プラグインの「キャラグラの差し替え機能」です。DQ3 K.Mixを8MB化してから機能としてつけるべきかなーとは思っていたものの、誰にも言われなかったので「まあいいか」と先延ばしにしていたら、とうとう言われてしまったのでようやくつけた、という経緯です。ちょうど呪術師のグラをいただいたので実験台にしました。DQ3 K.Mix 1.9.6で差し替えた呪術師のグラはこの機能を使って差し替えています。売りは「SFCGENEditor上でキャラグラが正しく表示されていれば実体の画像データがどこにあろうが簡単に差し替えできる」というものです。その代わり前提条件として、
- 既存キャラの差し替えのみ対応
- プレイヤーキャラの差し替えのみ対象
- ビットマップ中のキャラグラの色は背景色以外実際にゲーム中のものと一致している必要がある(パレットの順番は自動調整するので同じでなくていい)
があり、基本的にプレイヤーキャラのキャラグラを変えて遊びたいというプレイヤー向けの機能です。それ以外の需要まず無いだろうからこれで大多数の要望には応えられるだろうという見込みです。基本的にはキャラグラ系のパッチに付属しているビットマップファイルを読み込ませればできるんじゃね?という割と雑な仕様になっています。
2の「プレイヤーキャラの差し替えのみ対象」と言うのは厳密には「使用画像数48のキャラのみ対応」という意味です。使用画像数48と言うのは、反転などを使わずにキャラグラを構成していることを意味します(6×8パターン)。DQ3 K.Mixでは過去テドンイベント時に見た目が兵士に変わりますが、オリジナルに存在する兵士のキャラグラにすると見た目がバグります。理屈は不明ですが、この兵士のキャラグラは左右反転を使って使用するSNES4BPP画像数を抑えており、そのせいのようです。
兵士の服を使ったときのキャラグラを元から存在する兵士のキャラグラに設定したときの図。周りの兵士は普通に描画されていますが真ん中の勇者のキャラグラは崩れています。というわけで、兵士の服を着たときのキャラグラは別途別領域を使っています。
3はキャラグラをつくる人にとっては当たり前なのかもしれませんが、パレットインデックスの自動調整機能を実装した都合でこうなりました。背景色は各キャラグラ(128×24)の一番左上のピクセルを背景色として判定します。
SFCGENEditorのマニュアルに丁寧な手順を書こうと思ったのですが時間がかかりそうなので、とりあえずここに使い方を書いておきます。
- ROMファイルを読み込んだ後、「キャラクターグラフィック画像」ノードに飛ぶ(Ctrl + Fで「キャラクターグラフィック画像」で検索すると簡単)
- 「編集」メニューの「キャラグラ差し替え」を選び、差し替えたいビットマップファイルを選ぶ
- 差し替えたいキャラグラを「インデックス」に数字を入れて探す
- 差し替えたいキャラグラを選ぶ(2で複数キャラグラを含むビットマップファイルを選んだ場合)
- ゲーム中で使うパレットを「ROM中キャラグラパレット1or2」から選ぶ
- 「差し替え実行」ボタンを押す
- 「キャラグラ差し替え」フォームを閉じ、「ファイル」メニューの「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の差分をパッチ化して手元に持っておけば楽です。くどいようですが追加のパッチ適用は自己責任でお願いします。単に画像を差し替えているだけなので画像データの位置が変わっていなければ問題は起きないと思いますが。
コメント
この機能を使えばエミュでROM起動時に表示される文字が黄色くならない…のでしょうか?
Snes9xでROMロード時に文字が黄色くなるのはROM内のチェックサムと実チェックサムが乖離しているからです。チェックサムを調整しない限り黄色くなりますが、実害はありません。今回の機能とは関係ない話です。