DB変換
CWC変換
POPS(アーカイブス)変換
PCの鶴での入力注意事項
ARMAXUIバグ一覧
ARMAXDB対応ツール一覧
ARMAXDBの構造
ARMAXDBチェックサム計算(PAPARXは不明)
#DB変換
DATEL 公式からDBをダウンロードする。
tempar(CFW用アクションリプレイ互換チートプラグイン,v1.63以前)の中のpspar.exeにDLしたDBをドラッグアンドドロップする
一瞬でtxt形式に変換されます。pspar.exe他(下記参照)でも出来ますが、TXT化するなら一番早いです。
リネーム用のバッチファイルをつくる
code.ar(自分で足したいコード)と変換したdbを同じ場所においてa.batを実行する,codeM.arができる
pspulityを起動しPSPARCODEMANGERを選択,loadCheatsをクリック。
プレイアーツ製のほうでもできますがバグがあり正常なBINができないことありますのであんまり推奨してません。
コードを足しているとアーツ製で作ったDBはAR.EXEではTXTに戻せないDBがでてくるはず。
>アーツばぐ追記;↓のNULLCODEとGAMEID文字列10たらずが主な原因っぽい原因,
あと鶴自体のバグでコード数が255あっても無理、こーどが300あるとすると(300-255)コードしか表示されない
codeM.arを選択する。AR専用の.bin形式でも直接読めます。
コードが読まれる。
savecheatsを選択してa を入力して保存する。拡張子を省略すると自動的に.bin形式になりますがTXT形式で保存したい場合は(db名).dbにしてください。
a.binをリネームするためa.batを再度実行する。
codelist.binがMAX2/ツールバッテリー用,pspar_code9.binがツールバッテリー版のアップデートファイルになります。
あとはメモリースティックのMAX2のフォルダにコピーして完成、ツールバッテリー版の場合は/PSPAR/フォルダです。pspar_code9.binを使う場合は/PSP/common/フォルダです。
あとはアクションリプレイを起動してちゃんとコードが読めていたら成功です
#CWCコード変換
cwcwikiからキーボードのCTRL+Aで全部選択,CTRT+Cでコピーする
余計なスペースが混ざっていることがあるので拙作REMOVERで消去する、上のフォームでCTRL+V(貼りつけ) converボタンを押す,下のフォームをCTRL+A(全選択)→CTRL+C(コピー)。
wikiには_C0 がたまに抜けているやつがあり前の_C0にコードが統合されてしまうので注意してください。くわしくはwikiのQ&A参照
_C0に日本語名が混ざっている場合はkakasiを使ってください。cheat.dbが変換される前のtxtファイル,cheat1.dbが変換後のtxtファイル。
PMETAN(IEブラウザ必要)の中に入ってるコード変換をつかいACTIONREPLARYように変換する。
あとは変換したコードをcode.arに追加するだけです。ARMAX2ではコード名(_C)の後ARコード(_M)が1つもないとフリーズするようなのでダミーの_M 0xCFをかならずたしてください
またゲーム名が同じものが入っているとフリーズするので絶対にやらないでください。
1コードあたりのコード行数が117(ARのメニューで075)こえるとDBがおかしくなる可能性があるので100行ぐらいにかならず分解してください。
くわしくはUI入力バグ参照,a href="#BIN">BIN構造参照
//フリーズ修正
_S ここが10文字ぴったりじゃない奴,9文字以下でも11文字以上でもダメ,TEMPARの鶴使うなら自動修正されるので不要,アーツ鶴を使う場合修正必須
↓
_S 10MOJIPITA
_C0 ABC _Cが連続しているNULLCODE※例外あり
_C0 DFG
_M 0xC0DEC0DE 0xC0DEC0DE
↓
_C0 ABC
_M 0xCF000000 0x00000000
_C0 DFG
_M 0xC0DEC0DE 0xC0DEC0DE
_C0 ABC _AR未変換のcwccheat(_L)が混ざっている,_M以外は無視されるのでコード無しになる
_L 0xCCCCCCCC 0xCCCCCCCC
_C0 DFG
_M 0xC0DEC0DE 0xC0DEC0DE
↓
_C0 ABC
_M 0x(AR変換済コード) 0x(AR変換済コード)
_C0 DFG
_M 0xC0DEC0DE 0xC0DEC0DE
_S ULJS-00374
_G CHIKYUU BOUEIGUN 2 PORTABLE
_S ULJS-00374
_G CHIKYUU BOUEIGUN 2 PORTABLE
↓
_S ULJS-00374
_G CHIKYUU BOUEIGUN 2 PORTABLE
_S ULJS-00374
_G CHIKYUU BOUEIGUN 2 PORTABLE_1
※例外,下のようにCF~1になっているものは一括コメントとして処理されるため修正は不要です。直さなくてもフリーズしません
CF~0やCF~2の場合当然フリーズします。
_C0 コメントCF~1 2は_Mより下の_Cの個数
_M 0xCF000001 0x00000002
_C0 BBBB
_C0 CCCC
#POPS(ゲームアーカイブス)変換
TEMPARのやり方とほぼ同じです、BLOGにもまとめてありますがだいた_C0たすぐらいしかやることはないです。
//ARMAX2UIの入力バグ一欄、これらの操作をやるとDBが破壊される可能性有り
名前を目一杯入力し、コード行を075(118行)以上にして保存する。次回起動時DBがおかしくなる。下のDB構造が名前+コード内容が1バイトで表現しきれなくなるのが原因。外人がMAX2リリース初期に報告済みだが未だに改善されることなく、ぶっこわれる。
公式配信のサモンナイト3の"ブキ x99"でも発生したらしい。
L+下でなぜか128行以降スクロールでき、ABCDEFのとこできーをガチャガチャするとフリーズしてします。
地域アメリカ/ヨーロッパにして新規ゲーム"ア"追加するとフリーズ
地域;アメリカにして"1"で追加するとアメリカDBと日本dbが2重になって表示される
//AR.BIN対応状況 ◎はPAPARX(on/offとかのフラグ情報)対応
bin読み込み | bin保存 | BINをtxt化 | PAPARX01(コードフラグ)対応 | |
ACTIONREPLAYTOOLBATTERY(PSP) | ◎ | ◎ | X | ○ |
ACTIONREPLAYMAX(PSP) | X | X | X | ○ |
ACTIONREPLAYMAX2(PSP) | ◎ | ◎ | X | ○ |
PLAYARTS CODEMANAGER(java) | X | ○ | X | X |
DATEL'S CODE SITE(javascript) | X | ○ | X | X |
raing3's tempar(PSP) | ○ | X | ○ | X |
raing3's psputilities(java) | ○ | ○ | ○ | X |
raing3's pspar generator(PHP) | X | ○ | X | X |
raing3's ar.exe(C) | ○ | X | ○ | X |
raing3's PSPARconver(PSP) | ○ | X | ○ | X |
CDEMOD(VB.net) | ○ | ○ | ○ | △(実行フラグのみ対応) |
#おまけARバイナリ構成,VB用NETA対応SRC
//バイナリヘッダ部
ファイルヘッダ、28byte固定 | 役割 | 構成 |
4byte | PAPARXの各ブロック長の2倍 | 32bitリトルエンディアン |
8byte | PSPARC01の文字 | ASCIIX8 |
4byte | 0xC~0x1Bまで※ハッシュ | 32bitリトルエンディアン |
4byte | コードブロック全体(0x1C~コード最後まで)のハッシュ※ | 32bitリトルエンディアン |
4byte | コードブロック全体のサイズ=ファイル全体-28 | 32bitリトルエンディアン |
4byte | PAPARX01の各ブロックのハッシュの合計(HASH_HIDDEN+HASH_TOGGLE+HASH_FOLDER) | 32bitリトルエンディアン |
コードヘッダ | 役割 | 構成 |
可変長(=コード行数*8) | アドレス/値のセットが行数分続く | 32bitリトルエンディアンX? |
2byte | 次のコードブロックへのオフセット1/4,最後の場合0 | 16bitリトルエンディアン |
2byte | 前のコードブロックへのオフセット1/4 | 16bitリトルエンディアン |
1byte | コードヘッダ開始箇所からコード名ヘッダへのオフセット | 8bit |
2byte | ブロック内のコード数,プレイアーツではなぜか1byteになってるので255以上表示できない | 16bitリトルエンディアン |
10byte | ゲームID | ASCIIX10 |
1byte | NULL | NULL |
可変長 | ゲーム名 | ASCIIX? |
可変長(1~4byte) | ゲーム名のNULLバイトアライン | NULLX? |
1byte | コード名ヘッダ開始,コード行数 | 8bit |
1byte | コード名の長さ+1 | 8bit |
1byte | コード内容のへのオフセット1/4 | 8bit |
1byte | 次コード名ヘッダのへのオフセット1/4、最後の場合0 | 8bit |
可変長 | コード名 | ASCII*コード名の長さ |
可変長(1~4byte) | コード名のNULLバイトアライン | NULLX? |
PAPAR01ヘッダ | 内容 | 構成 |
8byte | PAPARX01の署名 | ASCIIX8 |
4byte | NULL!? | NULL |
4byte | PAPARX01各フラグの長さ(以下paplen),ARMAX2のみ新規コード追加用にダミーが1byte追加されている | 32bitリトルエンディアン |
paplen | 隠し状態のフラグ,bool =1 でON,bool=0 でOFF | byte*paplen |
paplen_2 | コード実行状態のフラグ,bool =1 でOFF,bool=0 でON | byte*paplen |
paplen_3 | 隠しフォルダのフラグ,bool =1 でON,bool=0 でOFF | byte*paplen |