@ECHO OFF
SETLOCAL
SET BATDIR=%~dp0
REM //4諧調以外のスプライトシートを生成する場合は、以下の定義をひとつ有効にして下さい。
REM //どれも有効にしないか,又は,LDIRECT=2を有効にすると、4諧調のスプライトシートを生成します。(デフォルト)
REM	SET LDIRECT=1
REM	SET LDIRECT=2
REM	SET LDIRECT=4

REM //--------------------------------------------------------------------------
REM // * Mon Mar 14 21:59:15 JST 2016 Naoyuki Sawa
REM // - 1st リリース。
REM //   これまで使っていた、MkTexH.batとMkTexH.awkを置き換える、バッチスクリプトです。
REM //   MkTexH.batとMkTexH.awkは残していません。参照する必要がある場合は、前回までのアーカイブを参照して下さい。
REM // - スプライトシートを利用して、TexDef.txtとSprDef.txtを生成する場合は、当バッチスクリプトを実行して下さい。
REM //   画像ファイル名には、'-2m'等のサフィックスを付けない方が良いと思います。
REM //   スプライトシートに纏めるので、個々の形式は関係無くなり、スプライトシート全体を2m,又は,4mにするからです。
REM //   画像ファイル名に'-2m'等のサフィックスを付けても動作はしますが、スプライト名にも余分なサフィックスが付いてしまう問題が生じます。
REM // * Wed Mar 30 21:41:00 JST 2016 Naoyuki Sawa
REM // - スプライトシートの元素材を、これまではgrpフォルダ直下に置いていましたが、grp/sozaiフォルダに置くように変更しました。
REM //   grpフォルダ直下に置くと、Makefileによって自動的に取り込まれてしまい、スプライトシートと元素材が重複して含まれてしまうからです。
REM // - 当バッチスクリプトの先頭でLDIRECTを定義する事によって、スプライトシートの諧調数を選択出来るようにしました。
REM //   詳細は、/clip/tool/dpsprsht/app.c の同日のコメントの、'-p1','-p2','-p4'オプションの説明を参照して下さい。
REM // * Sun Apr 17 18:12:58 JST 2016 Naoyuki Sawa
REM // - dpsprsht.exeに'-f'オプションを追加した事に伴い、当バッチスクリプトも修正しました。
REM // * Tue Aug 01 23:04:57 JST 2017 Naoyuki Sawa
REM // - 「srfファイルリンクリソース」に対応した事に伴い、リソース使用の判断を変更しました。
REM //   詳細は、/clip/test.pce/Makefileの、'Tue Aug 01 23:04:57 JST 2017 Naoyuki Sawa'のコメントを参照して下さい。
REM // * Fri Aug 25 23:07:18 JST 2017 Naoyuki Sawa
REM // - 常にリソースを使用するように変更しました。
REM //   詳細は、/clip/test.pce/Makefileの同日のコメントを参照して下さい。

REM //スプライトシートが作成されていたら、確実に削除します。
IF EXIST SprSht*.bmp DEL SprSht*.bmp

REM //スプライトシートを作成します。
REM // - MkTexNo.batを使う場合と違って、*.bmpだけでなく、*.gif,*.jpg,*.pngも使用出来ます。
DIR /B /S sozai\*.bmp sozai\*.gif sozai\*.jpg sozai\*.png > SprSht.txt
IF ERRORLEVEL 1 GOTO L_ERR
dpsprsht.exe -p%LDIRECT% -sSprDef.txt -fSprSht.txt
IF ERRORLEVEL 1 GOTO L_ERR
DEL SprSht.txt

REM //{{2017/08/25変更:常にリソースを使用するように変更しました。
REM //
REM //REM //{{2017/08/01変更:「srfファイルリンクリソース」に対応した事に伴い、リソース使用の判断を変更しました。
REM //REM //REM //Makefileで'USE_RESOURCE=1'が定義されていたら、リソース使用と判断します。
REM //REM //grep.exe -q "^USE_RESOURCE=1" ..\Makefile
REM //REM //↓2017/08/01変更:「srfファイルリンクリソース」に対応した事に伴い、リソース使用の判断を変更しました。
REM //REM //Makefileで'USE_RESOURCE=〜'が定義されていたら、リソース使用と判断します。
REM //grep.exe -q "^USE_RESOURCE=" ..\Makefile
REM //REM //}}2017/08/01変更:「srfファイルリンクリソース」に対応した事に伴い、リソース使用の判断を変更しました。
REM //
REM //REM //リソース使用であるがTextureはリソースに含めず直接リンクする場合は、下記の一行を有効にしてください。
REM //REM //ERRORLEVELを明示的にSETすることは御法度なのですが、(本当のERRORLEVELが隠されてしまうから)
REM //REM //SETLOCALの効果によりバッチファイル内に限定されるので、このケースでは大丈夫です。
REM //REM	SET ERRORLEVEL=1
REM //
REM //REM //リソース使用(0)か直接リンク(1)かによって、適切なTexDef.txtを生成します。
REM //IF ERRORLEVEL 1 (
REM //  DIR /B SprSht*.bmp | onigsed.exe -e "s/.*/\x22&\x22/"           > TexDef.txt
REM //) ELSE (
REM //  DIR /B SprSht*.bmp | onigsed.exe -e "s/.*/\x22&\x22\tresource/" > TexDef.txt
REM //)
REM //
REM //↓2017/08/25変更:常にリソースを使用するように変更しました。

DIR /B %BATDIR%SprSht*.bmp ^
 | onigsed.exe -e "s/.*/\x22&\x22/" ^
 > %BATDIR%TexDef.txt

REM //}}2017/08/25変更:常にリソースを使用するように変更しました。

REM //--------------------------------------------------------------------------
	ECHO 完了しました。
	TIMEOUT /T 3 /NOBREAK
EXIT /B

REM //--------------------------------------------------------------------------
:L_ERR
REM //□不完全な最終出力ファイルを確実に削除します。
IF EXIST SprDef.txt DEL SprDef.txt
IF EXIST TexDef.txt DEL TexDef.txt
ECHO ###エラーが発生しました。
	PAUSE
EXIT /B 1
