libraries query

Freeform discussion about anything related to modding Transcendence.
Post Reply
relanat
Militia Captain
Militia Captain
Posts: 817
Joined: Tue Nov 05, 2013 9:56 am

Sat Apr 20, 2019 10:52 am

I'm in the process of uploading the Director's Cut adventure to the Multiverse. There is a requirement to list all libraries that the mod uses.
The mod is a copy of SOTP with about twice as many systems. So it needs access to everything that SOTP uses. The code defined/referred to inside the SOTP adventure has been copied into the mod so that is accessable from there. All that is needed is to access everything else via libraries.

Ever since I started modding I have bulk copy/pasted all or most of the following code into mods. This includes the Director's Cut mod.

Code: Select all

<Library unid="&unidCompatibilityLibrary;"/>
<Library unid="&unidGalaxyLibrary;"/>
<Library unid="&unidHumanSpaceLibrary;"/>
<Library unid="&unidCoreTypesLibrary;"/>
<Library unid="&unidRPGLibrary;"/>
I did this because I didn't know what I was doing but it did produce a working mod. And it works in this mod.

However I would like to take a more technically correct approach with any mods on the Multiverse.

I did think all that was needed would be these two:

Code: Select all

<Library unid="&unidCompatibilityLibrary;"/>
<Library unid="&unidHumanSpaceLibrary;"/>
But looking at the Compatibility library, perhaps that is all that is needed?

Code: Select all

<TranscendenceLibrary
		UNID=		"&unidCompatibilityLibrary;"
		name=	"Transcendence Compatibility Library" 
		release=	"1"
		>

	<Library unid="&unidCoreTypesLibrary;"/>
	<Library unid="&unidRPGLibrary;"/>
	<Library unid="&unidHumanSpaceLibrary;"/>
		
	<Module filename="Compatibility10.xml"/>
	<Module filename="PlayerShips.xml"/>

</TranscendenceLibrary>
The Human Space library already contains/inherits/refers to the CoreTypes, RPG and Galaxy libraries and the module Playerships.xml is included which is required to use the SOTP playerships. That seems to be everything that is needed.

Although I will obviously check the mod before upload after any code changes, I don't want to spend another week playtesting it to make sure it has everything it needs.
Can someone who knows how this works have a quick think and work out what is needed? Or should I just include all the libraries as a tertiary (and more) backup?
Thanks.
Attachments
DC for MV.zip
(598.01 KiB) Downloaded 15 times
Stupid code. Do what I want, not what I typed in!

User avatar
Xephyr
Militia Captain
Militia Captain
Posts: 855
Joined: Fri Dec 14, 2007 1:52 am
Location: Orion Arm, Milky Way
Contact:

Sat Apr 20, 2019 3:59 pm

You can include all the vanilla libraries without any issues, even if there are recursions within them. Specifying libraries is more important for keeping certain content out of your extension - For example, Vault of the Galaxy does not include the human space library, because otherwise human stations and items would spawn in level 10 systems.
Project Renegade (Beta) : "The Poor Man's Corporate Command!"
Real programmers count from 0. And sometimes I do, too.

Post Reply