SFCGENEditor 1.0.0リリース

久しぶりのバージョンアップです。例によって「ダウンロード」ページにうpしてあります。今回は色々と変更をしているので、キリがいいのでバージョンを1.0.0にしました。変更内容は以下のとおり。

  1. メモリ量を減らすような内部構造の見直し
  2. データ部分の定義をプログラム上でできるようにする
  3. チェックサムの計算、自動変更
  4. アイコンの変更
  5. 対応する.NET Frameworkの変更(2.0→3.5)

  • メモリ消費量を減らすような内部構造の見直し

内部構造について見直しをして、余計なメモリを使わないような構造にしています(その分スピードが犠牲になる可能性があります)。DQ3用のRommap.xmlでは画像の表示のために、レコード数の多いマップパーツ1,2、グラフィック読み込み位置、パレット関係のデータを事前に読み込んでいましたが、これが不要になります。さらに、他のテーブルで使用されるテーブル(アイテム基本データ、モンスター基本データなど)も事前ロードを不要にしたため、事実上事前ロードされるのは文字列関係のテーブルのみ、ということになりました。ただ、環境によっては(関係するのは主にCPUの速さ?)、速度の低下が発生する可能性があります。その場合は従来通り関連するテーブルを事前読み込みするように設定を変えたほうがいいでしょう。個人的な意見としては常に使うわけではない画像関係のデータをメモリ中に展開するよりは必要に応じて必要なレコードだけ解釈するほうがいいとは思いますが。

  • データ部分の定義をプログラム上でできるようにする

長らく放置していましたが、機能として片手落ちだったので、今回一気に時間をかけて実装してしまいました*1。プログラム部分の定義は定義情報自体が比較的シンプルなため随分前からできるようにしていましたが、データ部分の定義はツリー構造が複雑だったり、データの種類にいろいろバリエーションがあるため面倒くさかったので未着手でした。一応これですべての定義をプログラム上で行えるようになったはずでXMLを直接いじる必要は(ほぼ)なくなったはずです。ちょうどこの機能の実装が終わったことでツールとしての機能がようやくひと通りそろったということもあり、バージョン番号を1.0.0にしました。細かい機能追加についてはおいおいやっていくつもりです。この機能を使ってDQ6用のRommap.xmlを141氏作のRommap.xmlレベルまで作業していくことで機能の確認、足りない部分の補充をしていくつもりです。

  • チェックサムの計算、自動変更

チェックサムの計算方法がようやくわかったので実装しました。4MB未満のROMのチェックサムの計算方法はわかっていたのですが、4MB以上になるとマッチしなかったので公開していませんでした。わかってしまえばなんという事もなく、4MB未満は1バイトずつ足すだけ、4MB以上は2倍して1バイトずつ足すだけです。一応SNES9Xで表示されるチェックサムと一致するようになったので多分OKなはず。

  • アイコンの変更

プログラムのアイコンをアイコンの部屋様から拝借しました(まだエミュのアイコンと見間違える…)。ぱっと見て違いがわかるようにプラグイン中にもアイコン情報を持てるようにしてプラグインロード時にそのアイコンに差し替える、という機能も実装しています(よさげなアイコンがなかったのでDQ3, DQ6のプラグインには何もアイコンを含めていませんが)。

  • 対応する.NET Frameworkの変更(2.0→3.5)

長らく.NET Framework 2.0を対応プラットフォームとしていましたが、Windows2000の正式サポートも終わって久しいので3.5にしてみました。本当は4.0にしたかったのですが、DQ3,6プラグインのスプライトアニメーションのプレビューで使用しているManaged DirectXがそのまま使えなかったので、とりあえず3.5で止めています。

(2012-09-20追記)
本体がバグっていたので本体だけ更新しました(v1.0.1)。

(2012-09-20 18:00追記)
本体がバグっていたのでまた更新しました(v1.0.2)。しばらくは狼少年のような更新になるかも。

(2012-09-23追記)
SR解釈時に引数が4から始まるという指摘がありました。次回リリースで修正します。

*1:パッチの作成作業が一段落したというのもあったので

コメント

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