manual_text_make.plの使い方


■概要
ゲーム内マニュアルで使用する下記データを生成する。
・カテゴリ名、タイトル名、説明などのテキスト(text)(ホワイト版、ブラック版あり)
・オープンフラグ番号(open_flag)
・定義番号(data_def)(ホワイト版、ブラック版あり)
・タイトル(data_title)(ホワイト版、ブラック版あり)
・タイトル開始場所(data_title_ref)(ホワイト版、ブラック版あり)
・カテゴリ(data_cate)(ホワイト版、ブラック版あり)
・カテゴリ開始場所(data_cate_ref)(ホワイト版、ブラック版あり)
・画像ファイルのリスト(image)(ホワイト版、ブラック版あり)


■場所
resource\manual\manual_text_make.pl


■必要な入力ファイル
(1) manual.xls
引数で渡す。

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

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


■必要なツール
(1) ExcelSeetConv.exe
/tools/exceltool/ExcelSeetConv.exe
Excelコンバータ


■使い方
下記のどれか。

(1) perl manual_text_make.pl manual.xls w
ホワイト版のデータを生成する。

(2) perl manual_text_make.pl manual.xls b
ブラック版のデータを生成する。


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

manual_text_w.gmm
ホワイト版カテゴリ名、タイトル名、説明などのテキスト

manual_text_b.gmm
ブラック版カテゴリ名、タイトル名、説明などのテキスト

********  gmmファイル中の並び  ********

カテゴリ番号1のカテゴリ名(man_txt_cate_no_001)
カテゴリ番号2のカテゴリ名(man_txt_cate_no_002)
...
カテゴリ番号Nのカテゴリ名(man_txt_cate_no_N)

タイトル番号1-1のタイトル名(カテゴリ番号-カテゴリ内タイトル番号)(man_txt_title_no_001_001)
タイトル番号1-2のタイトル名(カテゴリ番号-カテゴリ内タイトル番号)(man_txt_title_no_001_002)
...
タイトル番号2-1のタイトル名(カテゴリ番号-カテゴリ内タイトル番号)(man_txt_title_no_002_001)

タイトル番号1-1の説明1ページ目(man_txt_page_no_001_001_001)
タイトル番号1-1の説明2ページ目(man_txt_page_no_001_001_002)
...
タイトル番号1-1の説明Nページ目(man_txt_page_no_001_001_N)

タイトル番号1-2の説明1ページ目(man_txt_page_no_001_002_001)
タイトル番号1-2の説明2ページ目(man_txt_page_no_001_002_002)
...
タイトル番号1-2の説明Nページ目(man_txt_page_no_001_002_N)

タイトル番号2-1の説明1ページ目(man_txt_page_no_002_001_001)
タイトル番号2-1の説明2ページ目(man_txt_page_no_002_001_002)
...
タイトル番号2-1の説明Nページ目(man_txt_page_no_002_001_N)

********  ********


(2) manual_open_flag.h
オープンフラグ番号
インクルードして使う。
タイトルがオープンになる条件のフラグ番号が定義してある。


(3) manual_data_def_?.h

manual_data_def_w.h
ホワイト版定義番号

manual_data_def_b.h
ブラック版定義番号

インクルードして使う。
特別な番号が定義してある。


(4) manual_data_title_?.dat

manual_data_title_w.dat
ホワイト版タイトル

manual_data_title_b.dat
ブラック版タイトル

u16のデータはリトルエンディアン

********  タイトルファイルの中身  ********

↓をタイトル数だけ用意しておく
↓は通し番号順に並んでいる
{
  カテゴリ番号(u16)
  タイトル番号(u16)
  通し番号(u16)
  タイトルのgmmのID(u16)
  オープンフラグ番号(u16)
  リードフラグ番号(u16)
  ページ数(u16)
  ページ0のgmmのID(u16)←ページ数分だけしか用意しないようにするので、
  ページ0の画像のID(u16)←タイトルごとに1塊のサイズが異なることになる。
  ページ1のgmmのID(u16)
  ページ1の画像のID(u16)
  ページ2のgmmのID(u16)
  ページ2の画像のID(u16)
  ページ3のgmmのID(u16)
  ページ3の画像のID(u16)
  ページ4のgmmのID(u16)
  ページ4の画像のID(u16)
  ページ5のgmmのID(u16)
  ページ5の画像のID(u16)
  ページ6のgmmのID(u16)
  ページ6の画像のID(u16)
  ページ7のgmmのID(u16)
  ページ7の画像のID(u16)
  ページ8のgmmのID(u16)
  ページ8の画像のID(u16)
}
{
  ...
}
{
  ...
}

********  ********


(5) manual_data_title_ref_?.dat

manual_data_title_ref_w.dat
ホワイト版タイトル開始場所

manual_data_title_ref_b.dat
ブラック版タイトル開始場所

u16のデータはリトルエンディアン

********  タイトル開始場所ファイルの中身  ********

総タイトル数(u16)
タイトル0の開始位置(u16)←タイトルファイルのバイト位置
タイトル1の開始位置(u16)
...
タイトル[総タイトル数-1]の開始位置(u16)

********  ********


(6) manual_data_cate_?.dat

manual_data_cate_w.dat
ホワイト版カテゴリ

manual_data_cate_b.dat
ブラック版カテゴリ

u16のデータはリトルエンディアン

********  カテゴリファイルの中身  ********

↓をカテゴリ数だけ用意しておく
↓はカテゴリ番号順に並んでいる
{
  カテゴリ番号(u16)
  カテゴリのgmmのID(u16)
  タイトル数(u16)
  タイトルのインデックス(u16)←タイトル開始場所ファイルから参照すれば、タイトルへ到達できるように
  タイトルのインデックス(u16)←タイトル数分だけしか用意しないようにするので、
  タイトルのインデックス(u16)←カテゴリごとに1塊のサイズが異なることになる。
  ...
  タイトルのインデックス(u16)
}
{
  ...
}
{
  ...
}

********  ********


(7) manual_data_cate_ref_?.dat

manual_data_cate_ref_w.dat
ホワイト版カテゴリ開始場所

manual_data_cate_ref_b.dat
ブラック版カテゴリ開始場所

u16のデータはリトルエンディアン

********  カテゴリ開始場所ファイルの中身  ********

総カテゴリ数(u16)
カテゴリ0の開始位置(u16)←カテゴリファイルのバイト位置
カテゴリ1の開始位置(u16)
...
カテゴリ[総カテゴリ数-1]の開始位置(u16)

********  ********


(8) manual_image_

manual_image_src_w.lst(使用しない)
manual_image_conv_w.bat
manual_image_comp_w.bat
manual_image_w.lst
ホワイト版画像ファイルのリスト

manual_image_src_b.lst(使用しない)
manual_image_conv_b.bat
manual_image_comp_b.bat
manual_image_b.lst
ブラック版画像ファイルのリスト

bmp画像をコンバート、圧縮するためのbatファイル、
それらの処理後の名前のリスト。


■改善の必要がある点
(1) 使用していない項目があるので、使っていると思われないように削除しておいたほうがいい
「manual.xls」の「serial_no」を使っていない。
開発当初はこの「serial_no」の番号順に並べようかと思っていたが、
「manual.xls」の並びのままでいくことにしたので、「serial_no」は使用されなくなった。


以上。
