久しぶりの更新になりました。パッチ同様今回からは「ダウンロード」ページにうpになります。さて、今回はいろいろ変えてあります。
- プラグイン化の導入。DQ3固有部分をプラグイン部分に移動し別DLLとした。DQ6用プラグインも追加(一部移動中メッセージ用文字列テーブルがDQ3のまま)。これに伴い、本体exeファイル名をSFCGENEditor(SFC Generic Editor)に変更。
- “Lite”モードの導入。プログラム部分の変更をしない人用のために、起動オプションでプログラム部分の解釈を一切行わないモードを追加した。プログラム部分の定義を含んだRommapを使っていてもRommapを自分で編集する必要はない。モードの切り替えは起動オプション(/L)で行う。
- プログラム編集部分にジャンプ先チェック機能を追加。意図しないバグを防止するのが目的。
後でいろいろ説明を追記します。とりあえずお知らせまで。
(2/5追記)
1に関しては前々から懸案だった「DQ3固有部分の実装を書く際に感じていた汎用性から離れていくジレンマ」から開放されるので個人的には大きな点です。これで心置きなく固有部分のコードを追加できます。理屈ではFFだろうがTOだろうが何でも来い、という感じです(SFC限定ですがw)。
2に関しては思いつきで追加したようなもんです。これで少しでも使ってくれる人が増えるといいな、と思ったので。「自分はプログラムはいじらん!」という人はショートカットを作って起動オプションに /Lを追加したものをおいておけば起動の手間が省けると思います。
3に関しては自分専用みたいなもんです(このツール使ってプログラム部分の修正やってる人がどれだけいるか不明ですが)。この機能をとっととつけていればDQ3SFC K.Mixのあんなバグやこんなバグは事前に見つかっていたのに、と今更感がありありですが、ないよりはましです。将来このツールを使ってプログラム改造もやってくれる人のために役に立てばうれしいですね。
このバージョンをあと2週間くらい早く出せば141氏のDQ6用Rommap作成がもうちょっと楽になったんだろうなーと思ったのですが(固定文字列のデコード機能があればモンスター名やアイテム名をいちいち書かないで済んだはず)、DQ6は鍛冶屋システムのせいで「同じ名前なのに性能が異なるアイテム」が複数あります(例:#$40:ラミアスの剣、#$41:ラミアスの剣、#$42:ラミアスの剣)。アイテム名称として固定文字列を使用すると、見出しはどちらも同じアイテム名になってしまい、この列を別テーブルからコンボボックスの選択肢として使用した場合、どちらを指定したのか区別がつかないようで、結果として意図した選択結果が設定されない、という潜在的なバグがあります。なので、現状の実装では141氏の設定ファイルによって正しい値が反映されるわけで、この点は何とかしないといかんなとは思っています(列の値の一意性を確保するようにしないといけない)。
あと、いんちきながらLoROM?のアドレス変換も各所を見ながら実装しました。一応永久UnderConstructionで紹介されているTOの逆汗結果と同じ結果が出たので、大丈夫そうです。
コメント
乙でした。早速使わせていただきます。
このページには何度か訪れていたのですが、今の今まで492氏のものと気付けませんでした(笑)。
今後はイチ名無しとして影ながら応援する所存です。製作活動頑張ってくださいませ。
DQ6用のRommapの作成乙でした。これでまた使ってくれる人が増えればいいんですが…。活動してる人が少ないので141氏にも期待しちゃいますよ。