' UBHA.vbs
Option Explicit

Dim fso, sh, base, jar, exe, cmd, args, debugMode
Set fso = CreateObject("Scripting.FileSystemObject")
Set sh  = CreateObject("WScript.Shell")

' この .vbs のあるフォルダ
base = fso.GetParentFolderName(WScript.ScriptFullName)
sh.CurrentDirectory = base

' 引数 /debug でデバッグ起動（黒窓＆ログ採取）
debugMode = False
Set args = WScript.Arguments
If args.Count > 0 Then
  If LCase(args(0)) = "/debug" Then debugMode = True
End If

' 起動対象のJAR
If fso.FileExists(base & "\UnifiedHost-1.19.1.1.jar") Then
  jar = base & "\UnifiedHost-1.19.1.1.jar"
Else
  MsgBox "起動対象のJARが見つかりません。" & vbCrLf & base, 16, "UBHA 起動エラー"
  WScript.Quit 1
End If

' 同梱JRE（JavaFX入り）を確認
If debugMode Then
  exe = base & "\jre_32\bin\java.exe"   ' デバッグは console 版で
Else
  exe = base & "\jre_32\bin\javaw.exe"  ' 本番は黒窓なし
End If
If Not fso.FileExists(exe) Then
  MsgBox "同梱JREが見つかりません: " & exe, 16, "FWupdater 起動エラー"
  WScript.Quit 1
End If

' 補助フォルダ（一時/設定）を用意
On Error Resume Next
If Not fso.FolderExists(base & "\tmp") Then fso.CreateFolder(base & "\tmp")
If Not fso.FolderExists(base & "\prefs_user") Then fso.CreateFolder(base & "\prefs_user")
If Not fso.FolderExists(base & "\prefs_sys") Then fso.CreateFolder(base & "\prefs_sys")
On Error GoTo 0

' JVM オプション（環境差の地雷よけ）
Dim opts
opts = " -Dprism.order=sw" & _
       " -Djava.net.preferIPv4Stack=true" & _
       " -Djava.io.tmpdir=""" & base & "\tmp""" & _
       " -Djava.util.prefs.userRoot=""" & base & "\prefs_user""" & _
       " -Djava.util.prefs.systemRoot=""" & base & "\prefs_sys"""

cmd = """" & exe & """" & opts & " -jar " & """" & jar & """"

If debugMode Then
  ' --- デバッグ：コンソールで実行し、ログ採取 ---
  Dim p, out, er, log
  Set p = sh.Exec(cmd)
  Do While p.Status = 0
    WScript.Sleep 100
  Loop
  out = p.StdOut.ReadAll
  er  = p.StdErr.ReadAll
  Set log = fso.CreateTextFile(base & "\ubha_vbs_log.txt", True, True) ' Unicode で保存
  log.WriteLine "CMD: " & cmd
  log.WriteLine "--- STDOUT ---" : log.Write out
  log.WriteLine "--- STDERR ---" : log.Write er
  log.Close
  If er <> "" Then
    MsgBox "起動に失敗しました。ログ: ubha_vbs_log.txt", 16, "UBHA 起動エラー"
  End If
Else
  ' --- 本番：黒窓なしで静かに起動 ---
  sh.Run cmd, 1, False
End If
