Add checkPaths to find BG3 when registry fails

This commit is contained in:
lordwelch 2021-02-14 13:34:53 -08:00
parent 2e6c882ca9
commit 9442d5993d

View File

@ -53,7 +53,7 @@ func locateLSLIB() string {
folderName := "ExportTool-*" folderName := "ExportTool-*"
if runtime.GOOS == "windows" { if runtime.GOOS == "windows" {
for _, v := range "cdefgh" { for _, v := range "cdefgh" {
for _, vv := range []string{`:\Program Files*\*\`, `:\Program Files*\*\`, `:\app*\`, `:\`} { for _, vv := range []string{`:\Program Files*\*\`, `:\app*\`, `:\`} {
paths, err := filepath.Glob(filepath.Join(string(v)+vv, folderName)) paths, err := filepath.Glob(filepath.Join(string(v)+vv, folderName))
if err != nil { if err != nil {
panic(err) panic(err)
@ -73,11 +73,32 @@ func locateLSLIB() string {
return divine return divine
} }
func checkPaths() string {
var searchPath []string
folderName := `Baldurs Gate 3\bin\`
if runtime.GOOS == "windows" {
for _, v := range "cdefgh" {
for _, vv := range []string{`:\Program Files*\*\`, `:\Program Files*\GOG Galaxy\Games\`, `:\GOG Galaxy\Games\`, `:\GOG Games\`, `:\app*\`, `:\`} {
paths, err := filepath.Glob(filepath.Join(string(v)+vv, folderName))
if err != nil {
panic(err)
}
searchPath = append(searchPath, paths...)
}
}
}
bg3, _ := ie.LookPath("bg3.exe", strings.Join(searchPath, string(os.PathListSeparator)))
return strings.TrimSuffix(bg3, `\bin\bg3.exe`)
}
func locateBG3() string { func locateBG3() string {
installPath := initFlags.BG3Path installPath := initFlags.BG3Path
if installPath == "" { if installPath == "" {
installPath = checkRegistry() installPath = checkRegistry()
} }
if installPath == "" {
installPath = checkPaths()
}
return installPath return installPath
} }