以前、レトロフリークのコードフリーク機能をマークIIIのソフトでも実行する方法という記事で、レトロフリークの秘技コードファイルとRetroN5のファイルの差し替えについて書きましたが、今回は結合について。

トロフリーク用の秘技コードは、月に何回か更新されていますが、(レトロフリーク バージョンアップ履歴(本体関連&秘技コード)参照)、現時点のレトロフリークの秘技コードと、RetroN 5の最新版の対応タイトル数とコード数を比べてみるとこんな感じです。
cheatcode
(7/8時点。同一タイトルの別バージョン・国違いは1タイトルで集計)

文字通りRetroN 5の方が桁違いで対応本数が多いので、レトロフリーク側のコードが多少増えたところで、Retron5のだけでも十分といえば十分ですし、必要となればレトロフリークの大当たり<スクリーンショット編>のときのように、ピンポイントで作ってしまえばいいだけです。

とはいえ、RetroN5用のチートDBに無いものも対応されていたりするので、いざというときのために、ファイルを結合しておいたほうがいいかなと。(いざという場面は多分ない・・。)

で、複数のXMLファイルの結合や編集にはそこそこ手間がかかるわけで、これを簡単にやる方法を考えてみました。

慣れるとダウンロードから更新まで1分足らずでできるようになります。

(いろいろ制限ありますが・・。)

以下、そのやり方です。


<環境>
Windows 10(またはWMF5.0インストール済みの環境)

<準備>
1.Windows上に1個適当な作業用フォルダを作成します。

2.サイバーガジェットおよびHyperkinから配布されている、以下の各チートコードをダウンロードして、先ほど作成した作業用フォルダに保存します。(解凍はしない)
・レトロフリークの秘技コードファイル (retrofreak_code.zip)
・RetroN 5用のCheatDB (RetronCheats-v1.2.zip

3.拙作バッチファイル「CheatMerge.zip」をダウンロードし、解凍してできたCheatMerge.batを作業用フォルダに入れます。

4.株式会社ドリームハイブが提供しているフリーソフト、Grep Replace(ZIPファイル版)をダウンロードし、作業フォルダに解凍する。

ここまでで準備は完了です。作業フォルダの中はこんな感じになります。
cheat01junbi


<結合作業>
1.作業フォルダにある、CheatMerge.batを実行します。RetroFreakというフォルダが作成され、その中にcheatフォルダ、および各ファイルが作成されます。
cheat02

2.grepreplaceのフォルダの中にある、GrepReplace.exeを実行します。
cheat03grep

以下の条件を設定します。

・左上にある、参照を押して、作業フォルダの中の、\RetroFreak\cheats のフォルダを選択します。
・フィルタに、*.*と入力します。
・置換前の文字列欄に、以下の文字列を入力します。

(SFC以外の場合)
</database><?xml version='1.0' encoding='UTF-8'?>
<database fmtver="1.0">

(SFCの場合)
</database>


<?xml version='1.0' encoding='UTF-8'?>
<database fmtver="1.0">



「検索実行」ボタンを押すと、該当のXMLファイルが検索されます。
(SFC以外の場合5件該当)
notsfc


(SFCの場合、1件該当)
sfc

(※秘技コードの作りによって、実施方法等が異なる可能性があります。最新の状況はコメント欄を参照してください)


「置換実行」
ボタンを押すと、確認のポップアップが開くので、削除を選択します。
置換が終了しましたというメッセージが出たらOKボタンを押します。

作業フォルダにある、RetroFreak\cheatフォルダの中に、結合後の秘技ファイルが作成されます。
RetroFreakフォルダをレトロフリークで使用するmicroSDカードのルートにコピーして完了です。

レトロフリークでの使い方は、公式サイトか以下の過去記事を参照してください。
・サイバーガジェット:コードフリーク
レトロフリークのコードフリーク機能をマークIIIのソフトでも実行する方法

で、この出来上がった各コードですが、1つ大きな問題があって、RetroN 5用とレトロフリーク用のそれぞれに同一タイトル(CRC)の秘技コードがあった場合、レトロフリーク側しか表示されません。(作り方を変えるとRetroN5優先にもできますが。)どちらか一方のみのデータであれば問題なく表示されます。

左が現実(レトロフリーク優先)、右が理想(レトロフリーク+RetroN 5)。
cheat04risou
とはいえ、RetroN 5のみのコードも相当数あるので、やらないよりはやった方がいいかなと思います。

データの構成上、今回の方法では解決できなかったのですが、この問題の解決法や、あと、フリーソフトを使わないやりかたがあったら教えていただきたいです。


#元データ(特にRetroN5側)の中身見ると分かるのですが、実際やってみると本当やっかいなんですよね・・。
#いずれは完全統合もやってみたいところですが、なかなかいい方法が見つからずといった状況です。