westamastaflash Posted December 4, 2017 Share Posted December 4, 2017 Thanks so much @sarbian and @blowfish Excellent work! Quote Link to comment Share on other sites More sharing options...
Sigma88 Posted December 4, 2017 Share Posted December 4, 2017 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 Quote Link to comment Share on other sites More sharing options...
westamastaflash Posted December 4, 2017 Share Posted December 4, 2017 (edited) 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 December 4, 2017 by westamastaflash Quote Link to comment Share on other sites More sharing options...
Sigma88 Posted December 4, 2017 Share Posted December 4, 2017 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 here's a guide on how to report, just in case Quote Link to comment Share on other sites More sharing options...
westamastaflash Posted December 4, 2017 Share Posted December 4, 2017 (edited) 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 December 4, 2017 by westamastaflash Quote Link to comment Share on other sites More sharing options...
Sigma88 Posted December 4, 2017 Share Posted December 4, 2017 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 Quote Link to comment Share on other sites More sharing options...
DiscoveryPlanet Posted December 4, 2017 Share Posted December 4, 2017 1 hour ago, Sigma88 said: if you report these errors to the devs of the respective mods it might help speeding up the process how sir ? just screenshot or send log? Quote Link to comment Share on other sites More sharing options...
westamastaflash Posted December 4, 2017 Share Posted December 4, 2017 (edited) @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 December 4, 2017 by westamastaflash Quote Link to comment Share on other sites More sharing options...
Sigma88 Posted December 4, 2017 Share Posted December 4, 2017 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 Quote Link to comment Share on other sites More sharing options...
westamastaflash Posted December 4, 2017 Share Posted December 4, 2017 3 minutes ago, Sigma88 said: once applied a patch was removed from the list of patches to make sure the same patch wasn't applied twice Got it. Thanks. There's a lot of 'zzz' and 'zzzzz' stuff out there... Would be nice if we didn't have to do things like that. Quote Link to comment Share on other sites More sharing options...
Sigma88 Posted December 4, 2017 Share Posted December 4, 2017 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 Quote Link to comment Share on other sites More sharing options...
sarbian Posted December 4, 2017 Author Share Posted December 4, 2017 Unity mono culture is fixed (or was the last time I checked), no worries on that end. Quote Link to comment Share on other sites More sharing options...
westamastaflash Posted December 4, 2017 Share Posted December 4, 2017 (edited) 5 minutes ago, sarbian said: Unity mono culture is fixed (or was the last time I checked), no worries on that end. Excellent. Mind if I add a page to the modulemanager wiki with my basic post above describing the patch order? Edited December 4, 2017 by westamastaflash Quote Link to comment Share on other sites More sharing options...
sarbian Posted December 4, 2017 Author Share Posted December 4, 2017 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 Quote Link to comment Share on other sites More sharing options...
blowfish Posted December 4, 2017 Share Posted December 4, 2017 (edited) 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 December 4, 2017 by blowfish Quote Link to comment Share on other sites More sharing options...
Cratzz Posted December 4, 2017 Share Posted December 4, 2017 Faster loading here too, much abliged! Got some error messages related to Real Plume, but already fixed by @Nhawks17 - RealPlume Quote Link to comment Share on other sites More sharing options...
westamastaflash Posted December 4, 2017 Share Posted December 4, 2017 2 hours ago, sarbian said: Please do. More doc can only help Please review. https://github.com/sarbian/ModuleManager/wiki/Patch-Ordering I tried to give some examples too. Quote Link to comment Share on other sites More sharing options...
MaxwellsDemon Posted December 4, 2017 Share Posted December 4, 2017 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. Quote Link to comment Share on other sites More sharing options...
Rafael acevedo Posted December 4, 2017 Share Posted December 4, 2017 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 Quote Link to comment Share on other sites More sharing options...
Rastan9 Posted December 4, 2017 Share Posted December 4, 2017 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. Quote Link to comment Share on other sites More sharing options...
TranceaddicT Posted December 5, 2017 Share Posted December 5, 2017 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? Quote Link to comment Share on other sites More sharing options...
Sigma88 Posted December 5, 2017 Share Posted December 5, 2017 (edited) 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 December 5, 2017 by Sigma88 Quote Link to comment Share on other sites More sharing options...
linuxgurugamer Posted December 5, 2017 Share Posted December 5, 2017 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 Quote Link to comment Share on other sites More sharing options...
linuxgurugamer Posted December 5, 2017 Share Posted December 5, 2017 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: Contact the authors of the mods Include a link to the output_log.txt (if Windows), or KSP.log (if Mac or Linux) Quote Link to comment Share on other sites More sharing options...
blowfish Posted December 5, 2017 Share Posted December 5, 2017 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 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.