Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: Multiple mod versions #824

Open
wants to merge 42 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
42 commits
Select commit Hold shift + click to select a range
080e1bd
refactor: use new function names
Alystrasz Jul 28, 2024
eb6ba6f
refactor: use NSGetModsInformation to reduce number of native calls i…
Alystrasz Jul 29, 2024
fb5f74e
Merge branch 'main' into fix/multiple-mod-versions
Alystrasz Jul 29, 2024
676b4c1
Merge branch 'R2Northstar:main' into fix/multiple-mod-versions
Alystrasz Jul 30, 2024
9d96ffa
feat: add modVersion parameter to NSSetModEnabled function
Alystrasz Jul 30, 2024
e994cd2
feat: add modVersion parameter to NSIsModEnabled function
Alystrasz Jul 30, 2024
9ac22a5
refactor: remove useless NSGetModNamesAndVersions function
Alystrasz Jul 30, 2024
0cb86a7
refactor: remove NSIsModRequiredOnClient calls where it's not needed
Alystrasz Jul 30, 2024
c24e1ed
feat: add modVersion parameter to NSIsModRequiredOnClient function
Alystrasz Jul 30, 2024
0b2cfd7
refactor: remove FormatModDescription useless parameter
Alystrasz Jul 30, 2024
6797581
refactor: put mod description in NSGetModsInformation results and rem…
Alystrasz Jul 30, 2024
d82f5d1
refactor: remove NSGetModDownloadLinkByModName calls since download l…
Alystrasz Jul 30, 2024
1a157b8
build: remove NSGetModLoadPriority signature from CI configuration si…
Alystrasz Jul 30, 2024
8fa8ae9
build: remove NSGetModConvarsByModName signature from CI configuratio…
Alystrasz Jul 31, 2024
69fb41f
refactor: replace NSGetModVersionByModName function with NSGetModVers…
Alystrasz Jul 31, 2024
81734dc
Merge branch 'main' into fix/multiple-mod-versions
Alystrasz Jul 31, 2024
d55c1b1
build: add NSGetModsInformation signature to CI configuration
Alystrasz Jul 31, 2024
dfc6cf6
fix: check targetServer type (must be ServerInfo instance)
Alystrasz Jul 31, 2024
d59fc1a
fix: reload mods when disabling/enabling two versions of a mod at the…
Alystrasz Aug 4, 2024
5b47e98
Merge branch 'main' into fix/multiple-mod-versions
Alystrasz Aug 9, 2024
c8d155b
refactor: extract core mod test into a dedicated function
Alystrasz Aug 9, 2024
0fa9b70
refactor: use a mod list to define if a mod is a core mod
Alystrasz Aug 9, 2024
516c6e5
Merge branch 'main' into fix/multiple-mod-versions
Alystrasz Aug 29, 2024
fa7b782
refactor: add ModInfo.isRemote member
Alystrasz Aug 29, 2024
60ee024
fix: tolerate Northstar.Custom version differences (with server version)
Alystrasz Aug 30, 2024
2eb5abd
Merge branch 'main' into fix/multiple-mod-versions
Alystrasz Aug 30, 2024
1d408ad
Merge branch 'main' into fix/multiple-mod-versions
Alystrasz Aug 30, 2024
b606248
fix: enable Northstar.Custom mod if it is disabled
Alystrasz Aug 30, 2024
9b00cff
Merge branch 'fix/multiple-mod-versions' of github.com:Alystrasz/Nort…
Alystrasz Aug 30, 2024
da1a915
feat: complete log messages
Alystrasz Aug 30, 2024
f377942
refactor: remove (pseudo) semver check
Alystrasz Aug 30, 2024
6216e0a
fix: only enable core mod if it currently is disabled
Alystrasz Aug 30, 2024
0242997
Merge branch 'main' into fix/multiple-mod-versions
Alystrasz Aug 31, 2024
829559d
Merge branch 'main' into fix/multiple-mod-versions
Alystrasz Sep 2, 2024
b512aca
Merge branch 'main' into fix/multiple-mod-versions
Alystrasz Sep 3, 2024
5e1fbc1
Merge branch 'R2Northstar:main' into fix/multiple-mod-versions
Alystrasz Sep 3, 2024
2bd36f2
Merge branch 'main' into fix/multiple-mod-versions
Alystrasz Sep 7, 2024
dc62123
Merge branch 'main' into fix/multiple-mod-versions
Alystrasz Sep 7, 2024
24cfc95
Merge branch 'main' into fix/multiple-mod-versions
Alystrasz Sep 11, 2024
6198365
Merge branch 'main' into fix/multiple-mod-versions
Alystrasz Sep 12, 2024
56db820
Merge branch 'main' into fix/multiple-mod-versions
Alystrasz Sep 14, 2024
27575b3
Merge branch 'main' into fix/multiple-mod-versions
Alystrasz Sep 19, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
138 changes: 33 additions & 105 deletions .github/nativefuncs.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,58 +7,34 @@
"argTypes":""
},
{
"name":"NSIsModEnabled",
"helpText":"",
"returnTypeString":"bool",
"argTypes":"string modName"
},
{
"name":"NSSetModEnabled",
"name":"NSGetModsInformation",
"helpText":"",
"returnTypeString":"void",
"argTypes":"string modName, bool enabled"
"returnTypeString":"array<ModInfo>",
"argTypes":""
},
{
"name":"NSIsModRemote",
"name":"NSIsModEnabled",
"helpText":"",
"returnTypeString":"bool",
"argTypes":"string modName"
"argTypes":"string modName, string modVersion"
},
{
"name":"NSGetModDescriptionByModName",
"helpText":"",
"returnTypeString":"string",
"argTypes":"string modName"
},
{
"name":"NSGetModVersionByModName",
"helpText":"",
"returnTypeString":"string",
"argTypes":"string modName"
},
{
"name":"NSGetModDownloadLinkByModName",
"name":"NSSetModEnabled",
"helpText":"",
"returnTypeString":"string",
"argTypes":"string modName"
"returnTypeString":"void",
"argTypes":"string modName, string modVersion, bool enabled"
},
{
"name":"NSGetModLoadPriority",
"name":"NSGetModVersions",
"helpText":"",
"returnTypeString":"int",
"returnTypeString":"array<string>",
"argTypes":"string modName"
},
{
"name":"NSIsModRequiredOnClient",
"helpText":"",
"returnTypeString":"bool",
"argTypes":"string modName"
},
{
"name":"NSGetModConvarsByModName",
"helpText":"",
"returnTypeString":"array<string>",
"argTypes":"string modName"
"argTypes":"string modName, string modVersion"
},
{
"name":"DecodeJSON",
Expand Down Expand Up @@ -261,58 +237,34 @@
"argTypes":""
},
{
"name":"NSIsModEnabled",
"name":"NSGetModsInformation",
"helpText":"",
"returnTypeString":"bool",
"argTypes":"string modName"
},
{
"name":"NSSetModEnabled",
"helpText":"",
"returnTypeString":"void",
"argTypes":"string modName, bool enabled"
"returnTypeString":"array<ModInfo>",
"argTypes":""
},
{
"name":"NSIsModRemote",
"name":"NSIsModEnabled",
"helpText":"",
"returnTypeString":"bool",
"argTypes":"string modName"
"argTypes":"string modName, string modVersion"
},
{
"name":"NSGetModDescriptionByModName",
"helpText":"",
"returnTypeString":"string",
"argTypes":"string modName"
},
{
"name":"NSGetModVersionByModName",
"helpText":"",
"returnTypeString":"string",
"argTypes":"string modName"
},
{
"name":"NSGetModDownloadLinkByModName",
"name":"NSSetModEnabled",
"helpText":"",
"returnTypeString":"string",
"argTypes":"string modName"
"returnTypeString":"void",
"argTypes":"string modName, string modVersion, bool enabled"
},
{
"name":"NSGetModLoadPriority",
"name":"NSGetModVersions",
"helpText":"",
"returnTypeString":"int",
"returnTypeString":"array<string>",
"argTypes":"string modName"
},
{
"name":"NSIsModRequiredOnClient",
"helpText":"",
"returnTypeString":"bool",
"argTypes":"string modName"
},
{
"name":"NSGetModConvarsByModName",
"helpText":"",
"returnTypeString":"array<string>",
"argTypes":"string modName"
"argTypes":"string modName, string modVersion"
},
{
"name":"DecodeJSON",
Expand Down Expand Up @@ -467,58 +419,34 @@
"argTypes":""
},
{
"name":"NSIsModEnabled",
"helpText":"",
"returnTypeString":"bool",
"argTypes":"string modName"
},
{
"name":"NSSetModEnabled",
"name":"NSGetModsInformation",
"helpText":"",
"returnTypeString":"void",
"argTypes":"string modName, bool enabled"
"returnTypeString":"array<ModInfo>",
"argTypes":""
},
{
"name":"NSIsModRemote",
"name":"NSIsModEnabled",
"helpText":"",
"returnTypeString":"bool",
"argTypes":"string modName"
},
{
"name":"NSGetModDescriptionByModName",
"helpText":"",
"returnTypeString":"string",
"argTypes":"string modName"
},
{
"name":"NSGetModVersionByModName",
"helpText":"",
"returnTypeString":"string",
"argTypes":"string modName"
"argTypes":"string modName, string modVersion"
},
{
"name":"NSGetModDownloadLinkByModName",
"name":"NSSetModEnabled",
"helpText":"",
"returnTypeString":"string",
"argTypes":"string modName"
"returnTypeString":"void",
"argTypes":"string modName, string modVersion, bool enabled"
},
{
"name":"NSGetModLoadPriority",
"name":"NSGetModVersions",
"helpText":"",
"returnTypeString":"int",
"returnTypeString":"array<string>",
"argTypes":"string modName"
},
{
"name":"NSIsModRequiredOnClient",
"helpText":"",
"returnTypeString":"bool",
"argTypes":"string modName"
},
{
"name":"NSGetModConvarsByModName",
"helpText":"",
"returnTypeString":"array<string>",
"argTypes":"string modName"
"argTypes":"string modName, string modVersion"
},
{
"name": "NSFetchVerifiedModsManifesto",
Expand Down
13 changes: 13 additions & 0 deletions Northstar.Client/mod/scripts/vscripts/cl_northstar_client_init.nut
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,19 @@ global struct UIPresenceStruct {
int gameState
}

global struct ModInfo
{
string name = ""
string description = ""
string version = ""
string downloadLink = ""
int loadPriority = 0
bool enabled = false
bool requiredOnClient = false
bool isRemote
array<string> conVars = []
}

global struct RequiredModInfo
{
string name
Expand Down
Loading
Loading