Project Perfect Mod Forums
:: Home :: Get Hosted :: PPM FAQ :: Forum FAQ :: Privacy Policy :: Search :: Memberlist :: Usergroups :: Register :: Profile :: Log in to check your private messages :: Log in ::


The time now is Thu Apr 18, 2024 10:54 pm
All times are UTC + 0
Composition-based modding
Moderators: Global Moderators
Post new topic   Reply to topic Page 1 of 1 [5 Posts] Mark the topic unread ::  View previous topic :: View next topic
Author Message
niflthaena
Civilian


Joined: 12 Jun 2020

PostPosted: Fri Jun 12, 2020 7:25 pm    Post subject:  Composition-based modding
Subject description: Should it exist? Can it exist?
Reply with quote  Mark this post and the followings unread

I've been working for a bit on some polish features - audio cues, mainly - but the more I dig into the game, the more I'm struck by how little support there appears to be for mixing multiple mods.

The main codebase, obviously, is uniquely loaded. One DLL at a time.

Units and structures have lots of hardcoded references in that codebase, so unit mods are also uniquely loaded.

Data loaders - the XML that holds metadata, references to outside assets - these also seem to be unique. A modded copy of, say, SFXEventFiles.xml must include all the standard entries in the file, or the game crashes - which also means only one active mod may modify SFX.
This one is particularly unusual - considering the engine already includes load orders on mods, it would be no more difficult to simply load each mod's data loaders in sequence (and the base game) rather than only loading one of them.


All of this leads mods to override each other. Only one can typically be active at a time, and as a result, composition-based modding ranges from difficult to impossible. Even simple content or polish changes conflict with seemingly unrelated Quality of Life updates.


But EA/Petro supplied a menu and integration with a service that both allow multiple registration and activation - as though they wanted users to enable multiple mods at once.


Does anyone have some insight here? If composition is relevant, it's possible to write solutions for content - runtime registration, and composition rules over a rules.ini-like structure - but I don't see good solutions for the core code. And it's rather demoralizing to have the mods I want to write be simply incompatible with mods that add basic QoL.

Back to top
View user's profile Send private message
Nyerguds
General


Joined: 24 May 2004
Location: Flanders (Be) Posts:300000001

PostPosted: Mon Jun 15, 2020 12:59 pm    Post subject: Reply with quote  Mark this post and the followings unread

Assets-only mods do not require a dll. While you can have only one core gameplay DLL, many asset mods can be stacked together without any issue.

_________________

Back to top
View user's profile Send private message Visit poster's website Skype Account
niflthaena
Civilian


Joined: 12 Jun 2020

PostPosted: Mon Jun 15, 2020 2:31 pm    Post subject: Reply with quote  Mark this post and the followings unread

May I ask how? While the individual assets are in unique files, their references seem to be either aggregated into single huge files, or split into smaller files which are only loaded by a single core file. And those referencing files can conflict.

From my experimentation, a mod that extends one of the base asset XMLs (but doesn't change the XML list file) would be compatible with a mod that changes the list to add a new base asset XML, but at that point neither of them could load with any additional mods that affect the same system - there don't seem to be any more ways to get file references into the game.

Am I misunderstanding the XML loading process?

Back to top
View user's profile Send private message
johnnyjigglez
Civilian


Joined: 20 Feb 2017

PostPosted: Sat Jul 17, 2021 2:43 am    Post subject: Reply with quote  Mark this post and the followings unread

I'm not up to snuff YET on my own knowledge of the DLL relationships.... but it is my vague understanding that the game.dll we can now upload as a mod can invoke other mods that is other dlls...  Or is my understanding incorrect?

Back to top
View user's profile Send private message
Nyerguds
General


Joined: 24 May 2004
Location: Flanders (Be) Posts:300000001

PostPosted: Wed Oct 27, 2021 11:13 am    Post subject: Reply with quote  Mark this post and the followings unread

niflthaena wrote:
Am I misunderstanding the XML loading process?

I wasn't talking about the XML loading. I was just making a note on how the combining mods feature is still useful despite the issues you mentioned, for lower-scope mods that just replace game assets. There are mods out there that only tweak graphics and sounds, and those can be combined without any problems as long as they don't replace the same things, and even then, one will simply have priority depending on the mod loading order.

for xml files and dlls this is obviously different; they affect large parts of the game from a single file. So no, in general more complex mods that change the same xml files will not be combinable with each other.

_________________

Back to top
View user's profile Send private message Visit poster's website Skype Account
Display posts from previous:   
Post new topic   Reply to topic Page 1 of 1 [5 Posts] Mark the topic unread ::  View previous topic :: View next topic
 
Share on TwitterShare on FacebookShare on Google+Share on DiggShare on RedditShare on PInterestShare on Del.icio.usShare on Stumble Upon
Quick Reply
Username:


If you are visually impaired or cannot otherwise answer the challenges below please contact the Administrator for help.


Write only two of the following words separated by a sharp: Brotherhood, unity, peace! 

 
You can post new topics in this forum
You can reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Powered by phpBB © phpBB Group

[ Time: 0.1871s ][ Queries: 11 (0.0077s) ][ Debug on ]