Skip to content

Conversation

@Rosalie241
Copy link
Member

@Rosalie241 Rosalie241 commented Jan 31, 2026

This PR adds support for a depends and dependsVersions attribute, both which allow for mods to depend on other mods alongside minimum specified versions, the list is seperated with a question mark to keep it consistent in the XML format.

it's meant to be used as such in a ModInfo.xml:

<mod displayName="SporeFixOnline" 
	version="1.0.0.0"
	unique="SporeFixOnline" 
	depends="RattlerSPORE?SporeAutoSave"
	dependsVersions="1.0.0.0?1.0.0.0"
	description="This is a Spore mod which allows connecting to the servers again" 
	installerSystemVersion="1.0.1.3" 
	dllsBuild="2.5.20">
	<prerequisite>SporeFixOnline.dll</prerequisite>
</mod>

This PR also adds a version attribute for mods, I know Spore-Mod-Manager already supported a modVersion attribute but personally I don't think having the mod in the attribute name makes much sense, and due to the low amount of Spore-Mod-Manager users I think it should be fine to simplify the name, but this can be changed if desired.

The uninstaller also supports showing the version attribute now with these changes:
image

The installer dependency resolver is currently very simple and will error out when a user doesn't have the required dependencies installed:
image

I'd like to improve that in the future to ensure it doesn't error out when installing both the dependency and mod which depends on it at the same time.

The uninstaller has a slightly better resolver, it takes into account what the user is uninstalling, but it also shows an error when trying to uninstall a mod which is a dependency for another mod which currently isn't being uninstalled, like so:
image

All the features added in this PR are locked behind the installerSystemVersion version 1.0.1.3

@Rosalie241
Copy link
Member Author

Thank you for looking at and approving this @Zarklord, I really appreciate it!

I'll merge this when I'm done with my SporeModLoader implementation of these features so there'll be a release of both the launcher kit & SporeModLoader at the same time.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

3 participants