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

Starfield Updates: Shattered Space & Blueprint Support #2131

Merged
merged 5 commits into from
Oct 3, 2024

Conversation

Silarn
Copy link
Member

@Silarn Silarn commented Oct 1, 2024

This is a suite of updates both to support the latest Shattered Space core plugins and load order mechanics as well as adding 'blueprint flag' support to MO2.

Related PRs:
ModOrganizer2/modorganizer-uibase#162
ModOrganizer2/modorganizer-esptk#14
ModOrganizer2/modorganizer-game_starfield#32
ModOrganizer2/modorganizer-game_gamebryo#59
ModOrganizer2/modorganizer-plugin_python#136

Silarn added 2 commits October 1, 2024 02:38
- Add detection, info, custom display elements
- Rework plugin sorting
  - BP plugins always sort to the bottom
  - BP plugins load in order they would load normally
  - Do not load before non-BP masters
@Silarn Silarn requested a review from Holt59 October 1, 2024 15:49
@Silarn Silarn marked this pull request as draft October 1, 2024 20:44
@Silarn
Copy link
Member Author

Silarn commented Oct 2, 2024

Brief explanation about the sorting changes:

The blueprint flag has been in effect since the rover update to Starfield. This is currently set on the BlueprintShips-Starfield.esm. It seems to only affect master-flagged (or via extension) plugins. These plugins are forcibly moved to load after every non-blueprint plugin.

Otherwise they still follow the same basic load order rules. Core plugins > CCC plugins > plugins.txt plugins with improperly ordered masters being moved above their dependents.

@Silarn
Copy link
Member Author

Silarn commented Oct 2, 2024

Addendum: A blueprint plugin set as a master to a non-blueprint plugin is largely meaningless. It may force the blueprint plugin to load earlier in the order but it will still be in the blueprint plugin grouping at the bottom of the load order. It will NOT be hoisted above a non-blueprint plugin.

@Holt59 Holt59 marked this pull request as ready for review October 3, 2024 07:45
@Holt59
Copy link
Member

Holt59 commented Oct 3, 2024

Merging this to move forward. At some point we might think about using some kind of enumeration and more generic stuff for all these plugin flags.

@Holt59 Holt59 merged commit 19fae10 into master Oct 3, 2024
3 checks passed
@Holt59 Holt59 deleted the dev/blueprint_support branch October 3, 2024 07:46
@Silarn
Copy link
Member Author

Silarn commented Oct 3, 2024

Merging this to move forward. At some point we might think about using some kind of enumeration and more generic stuff for all these plugin flags.

I want to get Starfield support out the door but my not-so-long term plan is to rip the guts out of IPluginList and implement plugin parsing and sorting in the game plugin.

That should allow us to implement BGS plugin-like mods for other games. For example, BG3 PAK files.

@Silarn
Copy link
Member Author

Silarn commented Oct 3, 2024

That would include the plugin counter as well, I suppose.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants