Skip to content

Commit

Permalink
feat: Add mod support for Battlefield 2
Browse files Browse the repository at this point in the history
  • Loading branch information
cetteup committed Apr 23, 2022
1 parent d8370ca commit 01052ec
Showing 1 changed file with 20 additions and 2 deletions.
22 changes: 20 additions & 2 deletions game/titles/t_bf2.go
Original file line number Diff line number Diff line change
@@ -1,14 +1,19 @@
package titles

import (
"fmt"
"github.com/cetteup/joinme.click-launcher/game/finder"
"github.com/cetteup/joinme.click-launcher/game/launcher"
"github.com/cetteup/joinme.click-launcher/game/title"
"net/url"
)

const (
ProfileFolder = "Battlefield 2"
bf2ProfileFolder = "Battlefield 2"
bf2ModBasePath = "mods"
bf2ModSpecialForces = "xpack"
bf2ModAIX2 = "AIX2"
bf2ModPirates = "bfp2"
)

var Bf2 = title.GameTitle{
Expand All @@ -33,7 +38,7 @@ var Bf2 = title.GameTitle{
}

var bf2CmdBuilder launcher.CommandBuilder = func(installPath string, scheme string, host string, port string, u *url.URL) ([]string, error) {
profileCon, err := GetDefaultUserProfileCon(ProfileFolder)
profileCon, err := GetDefaultUserProfileCon(bf2ProfileFolder)
if err != nil {
return nil, err
}
Expand All @@ -52,6 +57,19 @@ var bf2CmdBuilder launcher.CommandBuilder = func(installPath string, scheme stri
"+playerPassword", password,
}

query := u.Query()
if query != nil && query.Has(UrlQueryKeyMod) {
mod, err := getValidMod(installPath, bf2ModBasePath, query.Get(UrlQueryKeyMod), bf2ModSpecialForces, bf2ModAIX2, bf2ModPirates)
if err != nil {
return nil, err
}

args = append(args,
"+modPath", fmt.Sprintf("mods/%s", mod),
"+ignoreAsserts", "1",
)
}

return args, nil
}

Expand Down

0 comments on commit 01052ec

Please sign in to comment.