1. 指定方法の変更
  2.  
  3. 添え字指定
  4.  
  5. 群設定指定
  6.  
  7. unitdata.dat / producttype.dat



バイナリ形式のファイル(unitdata.dat,producttype.datなど)を扱うMODを作るための処理パネルです。
注意:特にプログラムをやっている人は誤解しやすいかと思うのですが、インデックスは1から始まります。0からではありません。

0、指定方法の変更

2つの条件・操作の指定方法が実装されています。変更はパネル上部の上のチェックボックスでできます。群設定指定を使いたい場合には"群設定"にチェックし、添え字指定を使いたい場合チェックしないでください。
また、その横のヘッダ、1群のバイト、と左に書かれたテキストフィールドの説明はのちほど、群設定指定の説明の時にします。


1、インデックス指定
バイナリファイルのデータを最初から順に1バイトずつ、"1、2、3、4、5、6、7、……"と番号を振っていって、その番号の部分のデータを変更する、というものです。

条件部 各処理パネル左側の領域です。"AならばBをする"という処理の"A"の部分を設定します。

この場合の設定は赤線を引いたコンボボックスで指定したいインデックス(添え字)を設定するだけです。また、直接行数字を入力することもできます。

操作部
右側の領域です。"AならばBをする"という処理の"B"の部分を設定します。

変更した後のデータを入力するだけです。データは16進数でお願いします。



2、群設定指定
ただ数字が並んでいるだけのバイナリファイルのデータをいくつかごとに区切って、その区切りを用いてテキストファイルの行・列と同じようにデータを扱う指定方法です。そして、僕がプログラムを作るときに区切られたデータの事を"群"と呼んで考えていたので、"群設定指定"という名前となっています。
例えば、1、9、7、6、8、5、2、3、4、…というデータがあったとして、これを3つに区切ると、"1、9、7"、"6、8、5"、2、3、4"という3つの群に分けられることとなります。

群設定方法

上画像では"群設定"チェックが押されてませんが、これを押すと右2つのテキストフィールドが入力可能な状態となります。そうしたら2つに数値を入れて群の分け方を設定できます。
まず、左の"ファイルヘッダバイト"の方は、そのままファイルヘッダが何バイトかを書きます。ファイルヘッダとは、ファイルの一番最初にあるそのファイルの内容を示すようなデータです。これを群の中に組み込んでしまうとデータが変なことになるので群設定からぬかす必要があります。
右の"1群のバイト"の方もそのまま、1群が何バイトで構成されているかを書きます。例えば、3と指定するとファイルヘッダを除く全データを3つずつ分けることとなります。

条件部
左側の領域です。
テキストファイルの条件指定と同じように、1つ1つが"○○番目が××ならば"、を表しており、それをAND(かつ)、OR(または)でつなぐことで1つの条件分岐を設定します。
1つ1つの要素が持つ意味は、
A:〜群の○○番目、に当たる部分。添え字数指定でのインデックスと同じように指定します。オフセットインデックスとは(群の中で)○○番目、という事を表す言葉です(ここではそうしました)。
B:"A"番目のデータとCで指定されるデータの関係性を指定します。例えば"="ならば"A"番目のデータとCで指定したデータが同じならば条件を満たした、と判断され、"≠"ならば違うならば条件を満たした、と判断されます。
C:"A"番目のデータと比較するデータを書きます。smodファイルがCSV形式をとるため","は使用できません。もとよりバイナリファイルに","使う事はないと思いますが。
D:この条件を削除する時に使うボタンです。
E:AND(かつ)、OR(または)を指定する部分です。

また、分かるとは思いますが、条件を新しく追加したい時は下の"新条件追加"ボタンを押してください。

操作部
右側の領域です。
CSV形式と同じように操作内容コンボボックスを作ってありますが、今のところ実装されている操作は"入れ替え"だけです。この場合でもデータは16進数でお願いします。
入れ替え、操作の設定方法は、入れ替えする列とデータを書いて終わりです。例えば、左の画像の上の場合、(条件部で指定した条件を満たす群の)1番目を"0F"に変更します。

条件の方と同じく、新しく操作内容を追加したい時は下の"新操作追加"を押してください。



3、unitdata.dat(DSP3.0) / producttype.dat(DSP3.0)

バイナリファイルMODの特殊な形です。
unitdata.dat(DSP3.0)はDSP3.0のrf\unitdata.dat(リアルファイトデータを格納)の編集がやりやすいようにオフセットインデックスのリストを変更してあります。
producttype.dat(DSP3.0)は同じようにDSP3.0のproducttype.dat(生産タイプデータを格納)の編集がやりやすいようにオフセットインデックスのリストを変更してあります。



トップへ