# Lowmoor 日本語化パッチ — 復元スクリプト（app.asar.en.bak を書き戻す）
#
# 退避ファイルが見つからない場合は、Steam の
# 「ゲームのプロパティ」→「インストール済みファイル」→「ゲームファイルの整合性を確認」
# でも英語版に戻せます。セーブデータは失われません。

$ErrorActionPreference = 'Stop'
$GAME_DIR_NAME = "Lowmoor Idle RPG An Adventurer's Chronicle"

function Say($msg, $color = 'Gray') { Write-Host $msg -ForegroundColor $color }
function Die($msg) { Write-Host ''; Write-Host "[中止] $msg" -ForegroundColor Red; Write-Host ''; Read-Host '  Enter キーで閉じます' | Out-Null; exit 1 }

function Find-SteamLibraries {
  $libs = @(); $steam = $null
  foreach ($key in @('HKCU:\Software\Valve\Steam', 'HKLM:\SOFTWARE\WOW6432Node\Valve\Steam')) {
    try {
      $p = (Get-ItemProperty -Path $key -ErrorAction Stop)
      if ($p.SteamPath) { $steam = $p.SteamPath } elseif ($p.InstallPath) { $steam = $p.InstallPath }
      if ($steam) { break }
    } catch { }
  }
  if (-not $steam) { return $libs }
  $steam = $steam -replace '/', '\'
  $libs += $steam
  $vdf = Join-Path $steam 'steamapps\libraryfolders.vdf'
  if (Test-Path $vdf) {
    foreach ($line in (Get-Content $vdf)) {
      if ($line -match '"path"\s*"([^"]+)"') { $libs += ($matches[1] -replace '\\\\', '\') }
    }
  }
  return ($libs | Select-Object -Unique)
}

$game = $null
foreach ($lib in (Find-SteamLibraries)) {
  $candidate = Join-Path $lib "steamapps\common\$GAME_DIR_NAME"
  if (Test-Path (Join-Path $candidate 'resources\app.asar')) { $game = $candidate; break }
}
if (-not $game) {
  Say 'Steam のライブラリから Lowmoor を見つけられませんでした。' Yellow
  $typed = Read-Host '  ゲームフォルダを貼り付けてください'
  if (-not $typed) { Die 'ゲームフォルダが指定されませんでした。' }
  $game = $typed.Trim('"').Trim()
}

$res    = Join-Path $game 'resources'
$target = Join-Path $res 'app.asar'
$backup = Join-Path $res 'app.asar.en.bak'

if (Get-Process -Name 'Lowmoor' -ErrorAction SilentlyContinue) {
  Die 'Lowmoor.exe が起動中です。終了してから実行してください。'
}
if (-not (Test-Path $backup)) {
  Die "退避ファイルがありません: $backup`n  Steam の「ゲームファイルの整合性を確認」で復元してください。"
}

Copy-Item $backup $target -Force
Remove-Item $backup
Say ''
Say '英語版に戻しました。' Green
Say ''
Read-Host '  Enter キーで閉じます' | Out-Null
