@echo off
@setlocal enabledelayedexpansion

::----------------------------------------------------
::makingフォルダのもののみ更新するやつ
::----------------------------------------------------

set j=0
::フォルダ数カウント変数

set cd_path=%cd:\=/%
::makeobj用にカレントフォルダパスを処理したもの


set start_cd=%cd%
::処理後に戻るために覚えておく

::過去にビルドしたpakをリセット
rmdir /s /q "%cd%/pak_temp/"
mkdir "%cd%/pak_temp/"
type nul > "%cd%/pak_temp/paktemp.txt"

::フォルダ一覧を取得
echo フォルダ一覧

for /d /r %cd% %%A in (*) do (
    echo "%%A" | find ".git" > nul
    if errorlevel 1 (
        echo %%A
        set path[!j!]=%%A
        set /a j+=1
    )
)

echo;

set i=0
:loop
::ここからフォルダpathを読んでビルド

::ファイルパスのフォーマット変換

call set fileserch_path=%%path[%i%]%%

call set path_name=%%path[%i%]:\=/%%

echo fileserch_path=%fileserch_path%


::読み込んだフォルダの種類を調べて処理

::64makingフォルダ
if exist %fileserch_path%\64making.txt (
    ::ビルドしてtempへ
    cd "%path_name%"
    makeobj pak "%cd_path%/pak_temp/" "./"
    goto build_end
)

::128makingフォルダ
if exist %fileserch_path%\128making.txt (
    ::ビルドしてtempへ
    cd "%path_name%"
    makeobj pak128 "%cd_path%/pak_temp/" "./"
    goto build_end
)

::192makingフォルダ
if exist %fileserch_path%\192making.txt (
    ::ビルドしてtempへ
    cd "%path_name%"
    makeobj pak192 "%cd_path%/pak_temp/" "./"
    goto build_end
)

::64完成品フォルダ
if exist %fileserch_path%\64source.txt (
    ::すでにpaklibにビルド済のものがあるのでなにもしない
    goto build_end
    rem
    
)

::128完成品フォルダ
if exist %fileserch_path%\128source.txt (
    ::すでにpaklibにビルド済のものがあるのでなにもしない
    goto build_end
    rem
)

::192完成品フォルダ
if exist %fileserch_path%\192source.txt (
    ::すでにpaklibにビルド済のものがあるのでなにもしない
    goto build_end
    rem
)

::paklibフォルダ
if exist %fileserch_path%\paklib.txt (
    ::後でリンクするので覚えておく
    set paklib=%fileserch_path%
    goto build_end
)

::paktempフォルダ
if exist %fileserch_path%\paklib.txt (
    ::なにもしない
    goto build_end
    rem
)

:build_end

set /a i+=1

::すべてのフォルダを処理したらループ終了
if %i% lss %j% goto loop

cd %start_cd%

::paklibがあればコピー
if defined paklib (
    copy "paklib\*.pak" "%cd%/pak_temp/"
)

::マージしてインストール用pakを生成
makeobj merge "%cd_path%\pak\ropeway.pak" "./pak_temp/*.pak"

::ここでアドオンフォルダにコピー
copy "%cd%\pak\ropeway.pak" "..\..\..\..\..\..\OneDrive\ドキュメント\Simutrans\addons\pak"

::ja.tabを更新
copy "%cd%\ja_ropeway.tab" "C:\Program Files (x86)\Simutrans\pak\text"

pause

::OTRP起動
"C:\Program Files (x86)\Simutrans\sim-WinGDI64-OTRPv35_2_1.exe"