zkn_commnet_make.plの使い方


■概要
図鑑で使用する下記データを生成する。
・説明文(comment)(ホワイト版、ブラック版あり)
・種族名(type)
・フォルム名(form)
・形番号(style)
・次のフォルムデータの位置を参照できるファイル(next_form_pos)


■場所
resource\zukan_data\zkn_comment_make.pl


■必要な入力ファイル
(1) personal_wb.csv
ShiftJIS
引数で渡す。
FileMakerから出力したファイル。

(2) zukan.csv
ShiftJIS
カレントディレクトリに置いておく。
FileMakerから出力したファイル。

(3) header.file
UTF8
カレントディレクトリに置いておく。
gmmのヘッダーとしてそのままコピーして使う。

(4) footer.file
UTF8
カレントディレクトリに置いておく。
gmmのヘッダーとしてそのままコピーして使う。


■必要なツール
なし


■使い方
下記のどれか。

(1) perl zkn_comment_make.pl personal_wb.csv zukan.csv w
ホワイト版のcommentデータと
両版共通のtype, form, style, next_form_posデータを生成する。

(2) perl zkn_comment_make.pl personal_wb.csv zukan.csv b
ブラック版のcommentデータと
両版共通のtype, form, style, next_form_posデータを生成する。

(3) perl zkn_comment_make.pl personal_wb.csv zukan.csv wb
ホワイト版、ブラック版のcommentデータと
両版共通のtype, form, style, next_form_posデータを生成する。


■出力ファイル
(1) zkn_comment_??.gmm

zkn_comment_00.gmm
ホワイト版説明文
[例]
しっぽで　たいようを　あびて
こうごうせいを　する。げんきを
なくすと　しっぽが　たれさがる。

zkn_comment_01.gmm
ブラック版説明文
[例]
ちのうが　たかく　とても　れいせい。
たいようの　ひかりを　たっぷり
あびると　うごきが　するどくなる。

monsno順
monsno 0番あり(半角スペース)
0<= <=MONSNO_END(ゲノセクト)の合計(MONSNO_END+1)個のデータ

(2) zkn_type.gmm
種族名
[例]
くさへびポケモン

monsno順
monsno 0番あり(？？？？？ポケモン(？は全角))
0<= <=MONSNO_END(ゲノセクト)の合計(MONSNO_END+1)個のデータ

(3) zkn_form.gmm
フォルム名
[例]
はるのすがた

monsno順にフォルム0番だけまず出力し、その後フォルムが複数存在するものについて残りのフォルムを出力する。
zkn_next_form_pos.datを使って次のフォルムデータの位置を得る。
monsno 0番あり(半角スペース)
オスメスもなく別フォルムもないポケモン(例 ミュウ)、
オスメスの区別があるポケモン(例 ツタージャ)は、
フォルム名がないので半角スペース。

(4) zkn_style.dat
形番号
[例]
4のバイナリ値(四足型の番号)

monsno順にフォルム0番だけまず出力し、その後フォルムが複数存在するものについて残りのフォルムを出力する。
zkn_next_form_pos.datを使って次のフォルムデータの位置を得る。
monsno 0番あり(0にしてある)
u8(u8だからリトルエンディアンとかない)

%style_enum =
(
  "丸型"=>0,
  "脚型"=>1,
  "魚型"=>2,
  "昆虫型"=>3,
  "四足型"=>4,
  "四枚羽型"=>5,
  "集合型"=>6,
  "多足型"=>7,
  "直立胴型"=>8,
  "二足尻尾型"=>9,
  "二足人型"=>10,
  "二枚羽型"=>11,
  "腹這脚無型"=>12,
  "腕型"=>13,
);
$style_enum_empty   = 14;  # 入力されていないとき
$style_enum_unknown = 15;  # %style_enumに列挙されていない形のとき

(5) zkn_next_form_pos.dat
次のフォルムデータの位置を参照できるファイル
[例]
651のバイナリ値(アンノーンの1番目(0始まり)のフォルムデータの位置)

monsno順にフォルム0番だけまず出力し、その後フォルムが複数存在するものについて残りのフォルムを出力する。
monsno 0番あり(0にしてある)
リトルエンディアンのu16

0          ・・・次のフォルムなし
0より大の値・・・次のフォルムのデータの位置(先頭を0とする)


■改善の必要がある点
(1) C言語プログラムで使用できる形番号を定義したファイルを出力したほうがいい
zkn_style.datと値が変わらないようにするため。

以上。
