Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Currently, to retrieve mod information from launcher, Squirrel VM must summon methods such as
NSGetModDescriptionByModName
,NSGetModDownloadLinkByModName
,NSGetModLoadPriority
etc, which all loop over the list of mods until they find the correct one (using mod name as key), which is highly ineffective: this means we need as many iterations over mods list as we need information about the mod.To solve this problem, this PR introduces a
NSGetModsInformation
, which exposes all mod information to Squirrel VM at once, using a newModInfo
structure.This is meant to make reviewing #758 and R2Northstar/NorthstarMods#824 easier.
(I highly discourage you to look at the github diff, which is fucked up, and suggest rather looking at the changes commit per commit!)
Don't merge without mods counterpart: R2Northstar/NorthstarMods#899
Testing