Skip to content

Commit 8507484

Browse files
committed
check dependencies also with factorio version && revert some changes, that mod dependencies also can be chacked by Version.Compatible
1 parent 90d27a1 commit 8507484

File tree

2 files changed

+7
-9
lines changed

2 files changed

+7
-9
lines changed

src/factorio/mod_modInfo.go

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -110,11 +110,10 @@ func (modInfoList *ModInfoList) listInstalledMods() error {
110110

111111
server := GetFactorioServer()
112112

113-
if !base.Equals(NilVersion) {
113+
// check both the factorio-version and the base mod dependency
114+
modInfo.Compatibility = server.Version.GreaterC(modInfo.FactorioVersion)
115+
if modInfo.Compatibility && !base.Equals(NilVersion) {
114116
modInfo.Compatibility = server.Version.Compatible(base, op)
115-
} else {
116-
log.Println("error finding basemodDependency. Using FactorioVersion...")
117-
modInfo.Compatibility = server.Version.GreaterC(modInfo.FactorioVersion)
118117
}
119118

120119
modInfoList.Mods = append(modInfoList.Mods, modInfo)

src/factorio/version.go

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -73,9 +73,8 @@ func (v *Version) GreaterC(b Version) bool {
7373
return (v[0] == b[0] && v[1] == b[1] && (v[2] > b[2] || (v[2] == b[2] && v[3] > b[3]))) || (v[0] == 1 && b[0] == 0 && v[1] == 0 && b[1] == 18)
7474
}
7575

76-
func (v Version) ge(b Version) bool { return v.Equals(b) || v.Greater(b) }
77-
func (v Version) geC(b Version) bool { return v.Equals(b) || v.GreaterC(b) }
78-
func (v Version) le(b Version) bool { return v.Equals(b) || v.Less(b) }
76+
func (v Version) ge(b Version) bool { return v.Equals(b) || v.Greater(b) }
77+
func (v Version) le(b Version) bool { return v.Equals(b) || v.Less(b) }
7978

8079
// Compatible returns true if the comparison between the two version operands is valid.
8180
// Supported ops are: ==, !=, >, <, >=, <=
@@ -86,11 +85,11 @@ func (v Version) Compatible(b Version, op string) bool {
8685
case "!=":
8786
return !v.Equals(b)
8887
case ">":
89-
return v.GreaterC(b)
88+
return v.Greater(b)
9089
case "<":
9190
return v.Less(b)
9291
case ">=":
93-
return v.geC(b)
92+
return v.ge(b)
9493
case "<=":
9594
return v.le(b)
9695
default:

0 commit comments

Comments
 (0)