@ECHO OFF
SETLOCAL ENABLEDELAYEDEXPANSION
SET BATDIR=%~dp0

REM // * Sat Sep 10 21:46:35 JST 2016 Naoyuki Sawa
REM // - まだ作成途中です。
REM //   以下のようなフォルダ構成を想定しています。
REM //   ┬00_sozai	入力フォルダ
REM //   ├yml		出力フォルダ
REM //   ├png		出力フォルダ
REM //   └usm		出力フォルダ
REM // * Sat Apr 07 23:59:59 JST 2018 Naoyuki Sawa
REM // - ファイル名に空白を含むファイルも変換出来るようにしました。
REM //   これまでは、ファイル名に空白が含まれていると間違って分割してしまっており、正しく変換出来ていませんでした。
REM //   ファイル名に空白が含まれている可能性が有る場合は、'delims='の指定が必要でした。
REM //   □参照資料:「Programming Field」(https://www.pg-fl.jp/)さんの、『DOS コマンド一覧 - For』(https://www.pg-fl.jp/program/dos/doscmd/for.htm)の記事より引用:
REM //   │delimitersを記述しない空の「delims=」指定と、「delims」指定そのものを省略した構文とでは、区切り文字に関する意味が異なります。
REM //   │区切り文字で分割せずに行全体を変数に与えたい場合は、明示的に「delims=」と指定を入れる必要があります(さらにスペースが区切り文字として扱われないように、必ず最後の指定にする必要があります)。

REM //--------------------------------------------------------------------------
IF EXIST	yml\*.yml	DEL	yml\*.yml
IF EXIST	png\*.png	DEL	png\*.png
IF EXIST	usm\*.usm	DEL	usm\*.usm

REM //--------------------------------------------------------------------------
REM //{{2018/04/07変更:ファイル名に空白を含むファイルも変換出来るようにしました。
REM //FOR /F "usebackq" %%i IN (`DIR /B /S 00_sozai\font_*.yml`) DO (
REM //↓2018/04/07変更:ファイル名に空白を含むファイルも変換出来るようにしました。
FOR /F "usebackq delims=" %%i IN (`DIR /B /S 00_sozai\font_*.yml`) DO (
REM //}}2018/04/07変更:ファイル名に空白を含むファイルも変換出来るようにしました。
  ECHO %%i
  TYPE %%i ^
    | onigsed.exe -e "s/\(SprNo:[[:blank:]]\+\)\([_[:alnum:]]\)/\1G_\2/" ^
    >> yml\\SpriteFont.yml
  IF ERRORLEVEL 1 GOTO L_ERR
)

REM //--------------------------------------------------------------------------
REM //{{2018/04/07変更:ファイル名に空白を含むファイルも変換出来るようにしました。
REM //FOR /F "usebackq" %%i IN (`DIR /B /S 00_sozai\*.png`) DO (
REM //↓2018/04/07変更:ファイル名に空白を含むファイルも変換出来るようにしました。
FOR /F "usebackq delims=" %%i IN (`DIR /B /S 00_sozai\*.png`) DO (
REM //}}2018/04/07変更:ファイル名に空白を含むファイルも変換出来るようにしました。
  ECHO %%i
  COPY %%i png\\g_%%~nxi
  IF ERRORLEVEL 1 GOTO L_ERR
)

REM //--------------------------------------------------------------------------
REM //{{2018/04/07変更:ファイル名に空白を含むファイルも変換出来るようにしました。
REM //FOR /F "usebackq" %%i IN (`DIR /B /S 00_sozai\*.avi`) DO (
REM //↓2018/04/07変更:ファイル名に空白を含むファイルも変換出来るようにしました。
FOR /F "usebackq delims=" %%i IN (`DIR /B /S 00_sozai\*.avi`) DO (
REM //}}2018/04/07変更:ファイル名に空白を含むファイルも変換出来るようにしました。
  ECHO %%i
  SET SCALE=
  SET QUALITY=-q"-bitrate=0 -br_range=0,0 -qmf_range=0.0,2.5 -alpha_quality=0"
  SET name=%%~ni
  SET name=!name:~-3!
  IF /I "!name!" EQU "-1x" SET SCALE=-s1/1
  IF /I "!name!" EQU "-2x" SET SCALE=-s1/2
  IF /I "!name!" EQU "-3x" SET SCALE=-s1/3
  IF /I "!name!" EQU "-4x" SET SCALE=-s1/4
  IF /I "!name!" EQU "-5x" SET SCALE=-s1/5
  IF /I "!name!" EQU "-6x" SET SCALE=-s1/6
  IF /I "!name!" EQU "-7x" SET SCALE=-s1/7
  IF /I "!name!" EQU "-8x" SET SCALE=-s1/8
  IF /I "!name!" EQU "-9x" SET SCALE=-s1/9
  Sofdec2EncHelper.exe !SCALE! !QUALITY! -o usm\m_%%~ni.usm %%i
  IF ERRORLEVEL 1 GOTO L_ERR
)

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

REM //--------------------------------------------------------------------------
:L_ERR
ECHO ###エラーが発生しました。
	PAUSE
EXIT /B 1
