Jump to content

[1.8.x-1.12.x] Module Manager 4.2.3 (July 03th 2023) - Fireworks season


sarbian

Recommended Posts

37 minutes ago, DiscoveryPlanet said:

WHOOOOA this update make my loading game more faster, but got 14 error massage when in loading, yet when get into the game, there are no something wrong happen, what is going on?

7 minutes ago, MaxwellsDemon said:

I'm getting some too, but I think they're likely because the individual mods need to be updated to the new Module Manager.  I'm sure that will happen soon.

if you report these errors to the devs of the respective mods it might help speeding up the process :)

 

Link to comment
Share on other sites

5 minutes ago, Sigma88 said:

if you report these errors to the devs of the respective mods it might help speeding up the process :)

 

It seems that some of it stems from a misunderstanding of how the BEFORE/FOR/AFTER work (there can be only one!), compared to how NEEDS/HAS works. 

Edited by westamastaflash
Link to comment
Share on other sites

1 minute ago, westamastaflash said:

It seems that some of it stems from a misunderstanding of how the BEFORE/FOR/AFTER work (there can be only one!), compared to how NEEDS/HAS works.

yes as far as I know that's the only difference between the old MM and the new one.

 

still, a quick report to the developers can save them a lot of time testing their mods (expecially if they have a lot of them)

 

make sure you make a clean bug report so that the developer doesn't have to waste more time trying to understand your problem that what it would take to look for the bug without reports :D

here's a guide on how to report, just in case

 

Link to comment
Share on other sites

Oh agreed. MM has always been incompatible with multiple pass definitions, It finally took me actually looking at the MM code to understand exactly what was happening because I wanted to make a complex set of realfuels engine patches - it appears to have just took one of them and run with it (not throwing an error, but really not 'correct' behavior). 

42 minutes ago, Sigma88 said:

still, a quick report to the developers can save them a lot of time testing their mods (expecially if they have a lot of them)

Edited by westamastaflash
Link to comment
Share on other sites

38 minutes ago, westamastaflash said:

MM has always been incompatible with multiple pass definitions

this is not true

in the past it used to apply the patch at the first valid pass definition

this is a new requirement introduced by 3.0.0

 

still, there is little use for multiple pass specifiers so they were rarely used for a purpose. it was more a result of misunderstanding of how MM works or lazyness while updating cfgs

Link to comment
Share on other sites

@Sigma88I think that's what I meant (it picked one and went with it without throwing an error).

My understanding is that patch ordering goes like this (and still does in v3). Is this correct?

  • Any patches with :NEEDS are processed and deleted if NEEDS is not satisfied
  • All patches with :FIRST are applied
    • In order of the GameDatabase.Instance.root.AllConfigs list stored in memory (load order I believe?)
  • All patches without :FIRST, :BEFORE, :FOR, :AFTER, :LAST, :FINAL are applied
    • In order of the GameDatabase.Instance.root.AllConfigs list stored in memory (load order I believe?)
  • For each mod and/or FOR[xxx] definiton, sort in mono default List<T>.Sort() order (mono fixed-culture ordering, so basically unicode character code order). For each of these items in the modlist, apply patches in this order:
    • Perform all BEFORE patches
    • Perform all FOR patches
    • Perform all AFTER patches
  • Finally, perform all :FINAL patches
    • In order of the GameDatabase.Instance.root.AllConfigs list stored in memory (load order I believe?)

 

Edited by westamastaflash
Link to comment
Share on other sites

6 minutes ago, westamastaflash said:

(it picked one and went with it without throwing an error).

what you explained is mostly correct, not sure if the order is culture specific or not

except that when there were multiple pass specifiers, mm didn't just "pick one".

MM went through all mods BEFORE/FOR/AFTER, and as soon as a patch matched that pass specifier it was applied

once applied a patch was removed from the list of patches to make sure the same patch wasn't applied twice

Link to comment
Share on other sites

Just now, westamastaflash said:

There's a lot of 'zzz' and 'zzzzz' stuff out there... Would be nice if we didn't have to do things like that.

that "trick" is to avoid the use of ":FINAL" which is supposed to be a final user pass specifier

Link to comment
Share on other sites

3 minutes ago, westamastaflash said:

Excellent. Mind if I add a page to the modulemanager wiki with my basic post above describing the patch order?

Please do. More doc can only help :)

Link to comment
Share on other sites

17 hours ago, Rastan9 said:

I'm having a problem with a simple cfg not working with 3.0.0 that was fine with 2.8.1


@EXPERIMENT_DEFINITION[*]
{
	%baseValue = #$scienceCap$
}

In 2.8.1 it applies 12 patches and recovered science always gives 100% of the reward.

In 3.0.0 it applies 0 patches and of course does nothing in game.

output logs from both 2.8.1 and 3.0.0 are at https://www.dropbox.com/s/ye7wh8p9c71ov7b/output_logs.zip

 

Hopefully this is the right place to ask for assistance, thanks.

Hmm, this was not an intentional change, I'll look into it.

I mean, it kind of makes sense as the thing in the brackets is supposed to stand in for a name value, but still.

4 hours ago, DiscoveryPlanet said:

WHOOOOA this update make my loading game more faster, but got 14 error massage when in loading, yet when get into the game, there are no something wrong happen, what is going on?

 

3 hours ago, MaxwellsDemon said:

I'm getting some too, but I think they're likely because the individual mods need to be updated to the new Module Manager.  I'm sure that will happen soon.

If you upload your log I can take a look and see what mods these patches might belong to.

Edited by blowfish
Link to comment
Share on other sites

1 hour ago, blowfish said:

If you upload your log I can take a look and see what mods these patches might belong to.

Oh, I can tell you right off, since it's popping up in the loading screen.  Indicator Lights appears to be throwing one error, and the FAR motors portion of SXT is accounting for seven or so errors.  I'm away from my system right now, but I can get the specific items when I'm back to it.

Link to comment
Share on other sites

2 hours ago, blowfish said:

Hmm, this was not an intentional change, I'll look into it.

I mean, it kind of makes sense as the thing in the brackets is supposed to stand in for a name value, but still.

Hopefully my finding this ends up being useful.  Thanks for looking into it.

 

I've taken a look through the _MMCfgOutput for both 2.8.1 and 3.0.0 and isolated the files that were found to be different via Beyond Compare.  Some of it seems like the @EXPERIMENT_DEFINITION[*] issue from Full-Science-reward, some of it looks like not loading patches that require certain mods to be installed that I don't have installed, sometimes there won't actually be a change but a line will be in a different spot, it also looks like there is something related to Surface Experiments Pack adding experiments to Outer Planets Mod.  Another weirdness is that the differences found don't seem to account for everything.  I've attached a link to both my output_logs and _MMCfgOutput for both 2.8.1 and 3.0.0.  I've only included the _MMCfgOutput files that were shown to be different.

https://www.dropbox.com/s/i9ccfrbx738b295/_MMCfgOutput.zip

https://www.dropbox.com/s/xsyap8f2umbf4xe/output_logs fully modded.zip

Any help figuring this out is appreciated.

Link to comment
Share on other sites

On 12/2/2017 at 3:00 AM, sarbian said:

 

  • Some errors which were previously silent will now cause loud failures (error messages in the loading screen and cache will not be generated).  Most of them have to do with patches that have more than one pass specified (e.g. :FOR[xxx]:AFTER[yyy]).
2

If this is true (which I don't doubt), what did this do prior to update:

@PART[*]:HAS[~name[RetroMk1inline],@MODULE[ModuleCommand],#CrewCapacity[*],~CrewCapacity[0],~author[*RoverDude*]]:NEEDS[TacLifeSupport]:AFTER[TacLifeSupport]:AFTER[SETIrebalance]
{
    @RESOURCE[ElectricCharge]
    {
        @maxAmount = 205
        @maxAmount *= #$/CrewCapacity$
        @maxAmount += 310
        @amount = #$maxAmount$
    }
}

Does/Should it be split into multiple passes for each :AFTER?

 

Link to comment
Share on other sites

7 minutes ago, TranceaddicT said:

Does/Should it be split into multiple passes for each :AFTER?

just remove the :AFTER[SETIrebalance] and you will restore the old functionality completely  close enough

Edited by Sigma88
Link to comment
Share on other sites

22 hours ago, MaxwellsDemon said:

Oh, I can tell you right off, since it's popping up in the loading screen.  Indicator Lights appears to be throwing one error, and the FAR motors portion of SXT is accounting for seven or so errors.  I'm away from my system right now, but I can get the specific items when I'm back to it.

Oh yuck.

I'll have to take a look at SXT this weekend

On 12/4/2017 at 10:15 AM, DiscoveryPlanet said:

how sir ? just screenshot or send log?

Log file, description

Link to comment
Share on other sites

20 hours ago, Rafael acevedo said:

Sarbian

I am attaching a link to the ksp.log. currently loading with 16 errors. 8 related to sxt and 8 planetarybaseinc. Happy holidays

https://db.tt/Ad4VJ1qQIx

rafael

Would be best to do the following:

  1. Contact the authors of the mods
  2. Include a link to the output_log.txt (if Windows), or KSP.log (if Mac or Linux)

 

Link to comment
Share on other sites

20 hours ago, Rafael acevedo said:

Sarbian

I am attaching a link to the ksp.log. currently loading with 16 errors. 8 related to sxt and 8 planetarybaseinc. Happy holidays

https://db.tt/Ad4VJ1qQIx

rafael

The planetarybaseinc is a different bug actually, but thanks for finding it.  It turns out I broke :NEEDS checking on subnodes/values if the root node also has :NEEDS

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...