-
Notifications
You must be signed in to change notification settings - Fork 3
/
conf.go
93 lines (83 loc) · 1.89 KB
/
conf.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
// QCLauncher by syncore <[email protected]> 2017
// https://github.com/syncore/qclauncher
package qclauncher
import (
"fmt"
"path/filepath"
)
const (
LogFile = "qclauncher.log"
DataFile = "data.qcl"
LockFile = "qcl.lock"
ShowMainWindowFlag = "show"
XAppDefVer = "1.43.3"
XLibDefVer = "1.43.3"
XSrcFpDef = ""
bDefBase = "buildinfo.cdp.bethesda.net"
sDefBase = "api.bethesda.net"
defTimeout = 10
version = 1.06
)
var (
ConfLocal bool
ConfDebug bool
ConfAppendCustomArgs string
ConfLocalAddr string
ConfXAppVer string
ConfXLibVer string
ConfXSrcFp string
ConfUpdateInterval int64
ConfSkipUpdates bool
ConfEnforceHash bool
ConfMaxFPS int
ConfBaseSvc string
ConfBaseBi string
ConfShowMainWindow bool
ConfUseEntitlementAPI bool
Lock *Single
)
func Setup() {
setLogger()
setLock()
setBaseAddr()
setVersionInfo()
}
func GetDataFilePath() string {
return filepath.Join(getExecutingPath(), DataFile)
}
func setBaseAddr() {
if ConfLocal {
addr := fmt.Sprintf("http://%s", ConfLocalAddr)
ConfBaseBi, ConfBaseSvc = addr, addr
} else {
ConfBaseBi, ConfBaseSvc = fmt.Sprintf("https://%s", bDefBase), fmt.Sprintf("https://%s", sDefBase)
}
}
func setLock() {
if Lock == nil {
Lock = NewSingle(LockFile)
}
}
func setVersionInfo() {
if ConfXAppVer != XAppDefVer && ConfXLibVer != XLibDefVer {
return
}
lc := newLauncherClient(7)
uinfo, err := lc.getQCUpdateInfo()
if err != nil {
return
}
cachedQCUpdateInfo = uinfo
if uinfo.BVer == "" {
return
}
if ConfXAppVer == XAppDefVer {
ConfXAppVer = uinfo.BVer
}
if ConfXLibVer == XLibDefVer {
ConfXLibVer = uinfo.BVer
}
}
func getLogFilePath() string {
return filepath.Join(getExecutingPath(), LogFile)
}