#! /bin/tcsh
# -*- mode: perl; -*-
####################################################################
#	"動物の森"用文字列データ変換
#	$Id: convert.sh,v 1.3 1999-12-02 16:37:22+09 komatu Exp $
####################################################################

#####使用するファイル名
set data_file_bmp="string_data.bmp"
set data_file_c="string_data.c"
set tmp_data_file_c="tmp_string_data.c"
set table_file_bmp="string_data_table.bmp"
set table_file_c="string_data_table.c"
set tmp_table_file_c="tmp_string_data_table.c"
set enum_file="string_data_enum.h"
set temp_enum_file="string_data_enum.tmp"
set temp2_enum_file="string_data_enum.tmp2"
set decl_file="convert.decl"
set decl_string_euc_unix_file=$decl_file.string.euc.unix


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


#####手紙リストファイルの作成
\rm -f $decl_string_euc_unix_file
foreach label (`\cat $decl_file`)
    echo "$label.string.euc.unix" >>$decl_string_euc_unix_file
end


#####メッセージデータを"UNIXコード"かつ"EUCコード"に変換したテンポラリーファイルの作成
foreach label (`\cat $decl_file`)
    nkf -e $label.string | to_unix >$label.string.euc.unix
end


#####メッセージデータの変換
forest_m -b -e -n $data_file_bmp $table_file_bmp $temp_enum_file $decl_string_euc_unix_file


echo '#include "m_basic.h"' > $tmp_data_file_c
echo "\n" >> $tmp_data_file_c
echo "const unsigned char STRING_data[] = {" >> $tmp_data_file_c
echo -n "@ " >> $tmp_data_file_c
bintoc $data_file_bmp >> $tmp_data_file_c

echo '#include "m_basic.h"' > $tmp_table_file_c
echo "\n" >> $tmp_table_file_c
echo "const unsigned char STRING_TABLE_data[] = {" >> $tmp_table_file_c
echo -n "@ " >> $tmp_table_file_c
bintoc $table_file_bmp >> $tmp_table_file_c

# (@行を削除)
sed '/^@/d' $tmp_data_file_c > $data_file_c
sed '/^@/d' $tmp_table_file_c > $table_file_c

sed 's/MSG_DATA_NUMBER_/M_STRING_NUMBER_/g' $temp_enum_file > $temp2_enum_file

# enum から define へ 変換 (コンパイル時間短縮のため)
ToStringDataEnum.pl $temp2_enum_file > $enum_file

#####テンポラリーファイルの削除
\rm -f $tmp_data_file_c
\rm -f $tmp_table_file_c
\rm -f $decl_string_euc_unix_file
\rm -f $temp_enum_file
\rm -f $temp2_enum_file
foreach label (`\cat $decl_file`)
    \rm -f $label.string.euc.unix
end

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