#! /bin/tcsh
# -*- mode: perl; -*-
####################################################################
#	動物の森 ランダム手紙データ変換
####################################################################

##### 使用するファイル名
## set data_file_bmp="mail_data.bmp"
#### set data_file_c="mail_data.c"
#### set table_file_bmp="mail_data_table.bmp"
## set table_file_c="mail_data_table.c"
#### set temp_enum_file="mail_data_enum.tmp"
## set temp2_enum_file="mail_data_enum.tmp2"
## set enum_file="mail_data_enum.h"
#### set decl_file="convert.decl"
#### set decl_mail_euc_unix_file=$decl_file.mail.euc.unix

set decl_file="convert.decl"
set data_handbillz_file_c="handbillz_data.c"
set tmp_data_handbillz_file_c="tmp_handbillz_data.c"
set tmp_table_handbillz_file_c="tmp_handbillz_table.c"
set table_handbillz_file_c="handbillz_table.c"
set tmp1_enum_file="handbillz_data_enum.tmp1"
set tmp2_enum_file="handbillz_data_enum.tmp2"
set enum_file="handbillz_data_enum.h"

set decl_maila_euc_unix_file=$decl_file.maila.euc.unix
set decl_mailb_euc_unix_file=$decl_file.mailb.euc.unix
set decl_mailc_euc_unix_file=$decl_file.mailc.euc.unix
set decl_psz_euc_unix_file=$decl_file.psz.euc.unix
set decl_superz_euc_unix_file=$decl_file.superz.euc.unix

set data_maila_file_bmp="maila_data.bmp"
set data_mailb_file_bmp="mailb_data.bmp"
set data_mailc_file_bmp="mailc_data.bmp"
set data_psz_file_bmp="psz_data.bmp"
set data_superz_file_bmp="superz_data.bmp"

set table_maila_file_bmp="maila_table.bmp"
set table_mailb_file_bmp="mailb_table.bmp"
set table_mailc_file_bmp="mailc_table.bmp"
set table_psz_file_bmp="psz_table.bmp"
set table_superz_file_bmp="superz_table.bmp"

set enum_maila_file_tmp="maila_enum.tmp"
set enum_mailb_file_tmp="mailb_enum.tmp"
set enum_mailc_file_tmp="mailc_enum.tmp"
set enum_psz_file_tmp="psz_enum.tmp"
set enum_superz_file_tmp="superz_enum.tmp"


##### 定義ファイルのチェック
cd $FOREST_ROOT/data/shape/MESSAGE/JPN/HANDBILLZ/conv/

if(!(-f $decl_file)) then
    echo "定義ファイルがオープン出来ません $decl_file"
    exit 1
endif

##### euc unix 形式の名前一覧ファイル生成
\rm -f maila/$decl_maila_euc_unix_file
\rm -f mailb/$decl_mailb_euc_unix_file
\rm -f mailc/$decl_mailc_euc_unix_file
\rm -f psz/$decl_psz_euc_unix_file
\rm -f superz/$decl_superz_euc_unix_file
foreach label (`\cat $decl_file`)
    echo "$label.maila.euc.unix" >> maila/$decl_maila_euc_unix_file
    echo "$label.mailb.euc.unix" >> mailb/$decl_mailb_euc_unix_file
    echo "$label.mailc.euc.unix" >> mailc/$decl_mailc_euc_unix_file
    echo "$label.psz.euc.unix" >> psz/$decl_psz_euc_unix_file
    echo "$label.superz.euc.unix" >> superz/$decl_superz_euc_unix_file
end


##### 全てのデータを euc unix 形式 に変換
cd $FOREST_ROOT/data/shape/MESSAGE/JPN/HANDBILLZ/conv/maila/
foreach label (`\cat ../$decl_file`)
    nkf -e $label.maila | to_unix > $label.maila.euc.unix
end

cd $FOREST_ROOT/data/shape/MESSAGE/JPN/HANDBILLZ/conv/mailb/
foreach label (`\cat ../$decl_file`)
    nkf -e $label.mailb | to_unix > $label.mailb.euc.unix
end

cd $FOREST_ROOT/data/shape/MESSAGE/JPN/HANDBILLZ/conv/mailc/
foreach label (`\cat ../$decl_file`)
    nkf -e $label.mailc | to_unix > $label.mailc.euc.unix
end

cd $FOREST_ROOT/data/shape/MESSAGE/JPN/HANDBILLZ/conv/psz/
foreach label (`\cat ../$decl_file`)
    nkf -e $label.psz | to_unix > $label.psz.euc.unix
end

cd $FOREST_ROOT/data/shape/MESSAGE/JPN/HANDBILLZ/conv/superz/
foreach label (`\cat ../$decl_file`)
    nkf -e $label.superz | to_unix > $label.superz.euc.unix
end

##### データの変換
cd $FOREST_ROOT/data/shape/MESSAGE/JPN/HANDBILLZ/conv/maila/
## forest_m -b -e -m -l10000 $data_maila_file_bmp $table_maila_file_bmp $enum_maila_file_tmp $decl_maila_euc_unix_file
forest_m -b -e -l10000 $data_maila_file_bmp $table_maila_file_bmp $enum_maila_file_tmp $decl_maila_euc_unix_file

cd $FOREST_ROOT/data/shape/MESSAGE/JPN/HANDBILLZ/conv/mailb/
## forest_m -b -e -m -l10000 $data_mailb_file_bmp $table_mailb_file_bmp $enum_mailb_file_tmp $decl_mailb_euc_unix_file
forest_m -b -e -l10000 $data_mailb_file_bmp $table_mailb_file_bmp $enum_mailb_file_tmp $decl_mailb_euc_unix_file

cd $FOREST_ROOT/data/shape/MESSAGE/JPN/HANDBILLZ/conv/mailc/
## forest_m -b -e -m -l10000 $data_mailc_file_bmp $table_mailc_file_bmp $enum_mailc_file_tmp $decl_mailc_euc_unix_file
forest_m -b -e -l10000 $data_mailc_file_bmp $table_mailc_file_bmp $enum_mailc_file_tmp $decl_mailc_euc_unix_file

## (26 = 16 + 10(pf?展開size))
cd $FOREST_ROOT/data/shape/MESSAGE/JPN/HANDBILLZ/conv/psz/
forest_m -b -e -l26 $data_psz_file_bmp $table_psz_file_bmp $enum_psz_file_tmp $decl_psz_euc_unix_file

## (21 = 10 + 1(return) + 10(pf? 展開size))
cd $FOREST_ROOT/data/shape/MESSAGE/JPN/HANDBILLZ/conv/superz/
forest_m -b -e -l21 $data_superz_file_bmp $table_superz_file_bmp $enum_superz_file_tmp $decl_superz_euc_unix_file

#### enum ファイル比較
cmp -s maila/maila_enum.tmp mailb/mailb_enum.tmp
if (!($status)) then
    echo "maila と mailb の enum が違うかも"
    echo $status
endif
cmp -s maila/maila_enum.tmp mailb/mailc_enum.tmp
if (!($status)) then
    echo "maila と mailc の enum が違うかも"
endif
cmp -s maila/maila_enum.tmp mailb/psz_enum.tmp
if (!($status)) then
    echo "maila と psz の enum が違うかも"
endif
cmp -s maila/maila_enum.tmp mailb/superz_enum.tmp
if (!($status)) then
    echo "maila と superz の enum が違うかも"
endif

#### (.c) の生成 (２バイトバウンダリは保たれているハズ)
cd $FOREST_ROOT/data/shape/MESSAGE/JPN/HANDBILLZ/conv/

## (data)
echo '#include "m_basic.h"' > $tmp_data_handbillz_file_c
echo "\n" >> $tmp_data_handbillz_file_c
echo "const unsigned char handbillz_maila_data[] = {" >> $tmp_data_handbillz_file_c
echo -n "@ " >> $tmp_data_handbillz_file_c
bintoc maila/$data_maila_file_bmp >> $tmp_data_handbillz_file_c

echo "\n" >> $tmp_data_handbillz_file_c
echo "const unsigned char handbillz_mailb_data[] = {" >> $tmp_data_handbillz_file_c
echo -n "@ " >> $tmp_data_handbillz_file_c
bintoc mailb/$data_mailb_file_bmp >> $tmp_data_handbillz_file_c

echo "\n" >> $tmp_data_handbillz_file_c
echo "const unsigned char handbillz_mailc_data[] = {" >> $tmp_data_handbillz_file_c
echo -n "@ " >> $tmp_data_handbillz_file_c
bintoc mailc/$data_mailc_file_bmp >> $tmp_data_handbillz_file_c

echo "\n" >> $tmp_data_handbillz_file_c
echo "const unsigned char handbillz_psz_data[] = {" >> $tmp_data_handbillz_file_c
echo -n "@ " >> $tmp_data_handbillz_file_c
bintoc psz/$data_psz_file_bmp >> $tmp_data_handbillz_file_c

echo "\n" >> $tmp_data_handbillz_file_c
echo "const unsigned char handbillz_superz_data[] = {" >> $tmp_data_handbillz_file_c
echo -n "@ " >> $tmp_data_handbillz_file_c
bintoc superz/$data_superz_file_bmp >> $tmp_data_handbillz_file_c

## (table)
echo "\n\n\n" >> $tmp_data_handbillz_file_c
echo "const unsigned char handbillz_maila_table[] = {" >> $tmp_data_handbillz_file_c
echo -n "@ " >> $tmp_data_handbillz_file_c
bintoc maila/$table_maila_file_bmp >> $tmp_data_handbillz_file_c

echo "\n" >> $tmp_data_handbillz_file_c
echo "const unsigned char handbillz_mailb_table[] = {" >> $tmp_data_handbillz_file_c
echo -n "@ " >> $tmp_data_handbillz_file_c
bintoc mailb/$table_mailb_file_bmp >> $tmp_data_handbillz_file_c

echo "\n" >> $tmp_data_handbillz_file_c
echo "const unsigned char handbillz_mailc_table[] = {" >> $tmp_data_handbillz_file_c
echo -n "@ " >> $tmp_data_handbillz_file_c
bintoc mailc/$table_mailc_file_bmp >> $tmp_data_handbillz_file_c

echo "\n" >> $tmp_data_handbillz_file_c
echo "const unsigned char handbillz_psz_table[] = {" >> $tmp_data_handbillz_file_c
echo -n "@ " >> $tmp_data_handbillz_file_c
bintoc psz/$table_psz_file_bmp >> $tmp_data_handbillz_file_c

echo "\n" >> $tmp_data_handbillz_file_c
echo "const unsigned char handbillz_superz_table[] = {" >> $tmp_data_handbillz_file_c
echo -n "@ " >> $tmp_data_handbillz_file_c
bintoc superz/$table_superz_file_bmp >> $tmp_data_handbillz_file_c

## (@行を削除)
sed '/^@/d' $tmp_data_handbillz_file_c > $data_handbillz_file_c


#### ラベル生成 (maila が代表して)
cd $FOREST_ROOT/data/shape/MESSAGE/JPN/HANDBILLZ/conv/
\cp maila/$enum_maila_file_tmp $tmp1_enum_file
sed 's/MSG_DATA_NUMBER_/M_HANDBILLZ_NUMBER_/g' $tmp1_enum_file > $tmp2_enum_file

## (enum から define へ 変換)
ToMailDataEnum.pl $tmp2_enum_file > $enum_file

#####テンポラリーファイルの削除
cd $FOREST_ROOT/data/shape/MESSAGE/JPN/HANDBILLZ/conv/

\rm -f $tmp_data_handbillz_file_c

\rm -f maila/$enum_maila_file_tmp
\rm -f mailb/$enum_mailb_file_tmp
\rm -f mailc/$enum_mailc_file_tmp
\rm -f psz/$enum_psz_file_tmp
\rm -f superz/$enum_superz_file_tmp

\rm -f maila/$decl_maila_euc_unix_file
\rm -f mailb/$decl_mailb_euc_unix_file
\rm -f mailc/$decl_mailc_euc_unix_file
\rm -f psz/$decl_psz_euc_unix_file
\rm -f superz/$decl_superz_euc_unix_file


\rm -f $tmp2_enum_file $tmp1_enum_file

foreach label (`\cat $decl_file`)
    \rm -f maila/$label.maila.euc.unix
    \rm -f mailb/$label.mailb.euc.unix
    \rm -f mailc/$label.mailc.euc.unix
    \rm -f psz/$label.psz.euc.unix
    \rm -f superz/$label.superz.euc.unix
end


##### ＨＰ更新
# rcp $enum_file forest@srd-server:/home/forest/public_html/programmer/doc
