@ECHO OFF
SETLOCAL
SET BATDIR=%~dp0

REM //==========================================================================
REM // * Tue Aug 01 23:53:04 JST 2017 Naoyuki Sawa
REM // - 1st リリース。
REM //   2016/01/11以前の、/clip/test.pce/snd/MkSndH.batを元にして作成しました。
REM // - 当ファイルを作成した目的は、/clip/test.pce/Makefileの同日のコメントを参照して下さい。
REM // * Fri Aug 25 23:07:18 JST 2017 Naoyuki Sawa
REM // - 常にリソースを使用するように変更しました。
REM //   詳細は、/clip/test.pce/Makefileの同日のコメントを参照して下さい。
REM // * Sat Aug 26 23:54:22 JST 2017 Naoyuki Sawa
REM // - 各種定義ヘッダをP/ECE専用の形式から汎用形式への切り替えを行いました。
REM //   詳細は、/clip/test.pce/Makefileの同日のコメントを参照して下さい。
REM //==========================================================================

REM //{{2017/08/25変更:常にリソースを使用するように変更しました。
REM //
REM //REM //Makefileで'USE_RESOURCE=〜'が定義されていたら、リソース使用と判断します。
REM //grep.exe -q "^USE_RESOURCE=" %BATDIR%..\Makefile
REM //
REM //REM //リソース使用であるがMusicはリソースに含めず直接リンクする場合は、下記の一行を有効にしてください。
REM //REM //ERRORLEVELを明示的にSETすることは御法度なのですが、(本当のERRORLEVELが隠されてしまうから)
REM //REM //SETLOCALの効果によりバッチファイル内に限定されるので、このケースでは大丈夫です。
REM //REM SET ERRORLEVEL=1
REM //
REM //REM //リソース使用(0)か直接リンク(1)かによって、適切な定義ファイルを生成します。
REM //DIR /B %BATDIR%*.mml | gawk.exe -f %BATDIR%MkMusH.awk %ERRORLEVEL% > %BATDIR%..\music.h
REM //
REM //↓2017/08/25変更:常にリソースを使用するように変更しました。
REM //
REM //DIR /B %BATDIR%*.mml ^
REM // | onigsed.exe -e "s/^\(.\+\)\.mml$/MUSIC_RESOURCE_(\U\1\E,\x22\1.pmd\x22)/i" ^
REM // > %BATDIR%..\music.h
REM //
REM //↓2017/08/26変更:各種定義ヘッダをP/ECE専用の形式から汎用形式への切り替えを行いました。

DIR /B %BATDIR%*.mml ^
 | natsort.exe ^
 | nl.exe ^
 | onigsed.exe -e "1i MusNo" ^
               -e "s/^[[:blank:]]*\([[:digit:]]\+\)[[:blank:]]\+\(.\+\)\.mml[[:blank:]]*$/\t\U\2\E\t\1/i" ^
               -e "$a end" ^
 | TabAlign.exe ^
 > EnmMusDef.txt

DIR /B %BATDIR%*.mml ^
 | natsort.exe ^
 | nl.exe ^
 | onigsed.exe -e "1i MusDef" ^
               -e "s/^[[:blank:]]*\([[:digit:]]\+\)[[:blank:]]\+\(.\+\)\.mml[[:blank:]]*$/\t\1\n\t\tPath\t= \x22\2.pmd\x22\n\tend/i" ^
               -e "$a end" ^
 | TabAlign.exe ^
 > RegMusDef.txt

REM //}}2017/08/26変更:各種定義ヘッダをP/ECE専用の形式から汎用形式への切り替えを行いました。
