sarbian

[1.8.x] Module Manager 4.1.0 (October 16th 2019) - Right To Ludicrous Speed

Recommended Posts

Heya!

Got another few questions regarding MM syntax:

How far can one go with *wildcards and partnames in general?

Can I use a @PART[part1;part2;...] to apply the exact same patches to a set of specific parts? (Changing textures for example)

Or can I use a @PART[*decal*] to include all parts that are, for example named "Flat Decal", "Decal Curved" and "Funny Decal Of Fun"? Are two wildcards allowed?

I believe I'm getting more and more a hand on MM, I really start to like it a lot :)

Share this post


Link to post
Share on other sites
9 hours ago, blowfish said:

Welcome to the forums, and thanks for providing logs!

The crash is likely the result of a module on the part BDArmory/Parts/AmmoBox/BDAcUniversalAmmoBox/UniversalAmmoBoxBDA .  Could you verify that all the plugins you have installed are for at least KSP 1.3.0?  These days, that is usually the cause of this sort of crash.

Alright, all are for 1.3.0 at least. Here is another crash log; I uninstalled BD armory and yet it crashed on this mod

Moar logs: https://drive.google.com/open?id=0Bz9EqChWXJTfTUVza2l1SkJ4T2M

Share this post


Link to post
Share on other sites
2 hours ago, h0yer said:

Can I use a @PART[part1;part2;...] to apply the exact same patches to a set of specific parts? (Changing textures for example)

The syntax is @PART[part1|part2|part3] using the vertical bar symbol to mean "OR"

2 hours ago, h0yer said:

Or can I use a @PART[*decal*] to include all parts that are, for example named "Flat Decal", "Decal Curved" and "Funny Decal Of Fun"? Are two wildcards allowed?

Yes multiple wildcards are allowed. MM is case sensitive so "decal" and "Decal" are two different values (but "*ecal" or "?ecal" will match either). ? matches a single character and * multiple characters.

The @PART[X] syntax matches against the internal part names (i.e. the name = X line in the config). If you want to match against one of the other lines then you can use @PART[*]:HAS[#key[value]] to look for parts with a key = value line. NOTE: the #key filter does not work with | for OR searches but will work with wildcards.

Edited by Aelfhe1m

Share this post


Link to post
Share on other sites
1 minute ago, Aelfhe1m said:

The syntax is @PART[part1|part2|part3] using the vertical bar symbol to mean "OR"

Yes multiple wildcards are allowed. MM is case sensitive so "decal" and "Decal" are two different values (but "*ecal" or "?ecal" will match either).

The @PART[X] syntax matches against the internal part names (i.e. the name = X line in the config). If you want to match against one of the other lines then you can use @PART[*]:HAS[#key[value]] to look for parts with a key = value line. NOTE: the #key filter does not work with | for OR searches but will work with wildcards.

Many, MANY thanks :)

Share this post


Link to post
Share on other sites
3 hours ago, Blyad Cat said:

Alright, all are for 1.3.0 at least. Here is another crash log; I uninstalled BD armory and yet it crashed on this mod

Moar logs: https://drive.google.com/open?id=0Bz9EqChWXJTfTUVza2l1SkJ4T2M

In that log the crash is actually happening with KAX:

Quote

PartLoader: Compiling Part 'KAX/Parts/KAX_electricProp/KAX_electricProp/KAXelectricprop'
 
(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 42)

Crash!!!

Are you using SpannerMonkey's 1.3.1 beta version?

Share this post


Link to post
Share on other sites

Me again, with another question^^

How do I treat partnames that have spaces? The same way as mod dependecies, removing the spaces?

I've tried an @PART[Flat Decal|Decal curved] as well as an @PART[Flatdecal|Decalcurved] but neither seems to work.

I'm trying to fiddle around with "NEBULA Decals", which essentially works the same way like the "Decal Stickers" mod, by using firespitter, and with DecalStickers I already was successful, but its partnames have no spaces, NEBULA's partnames somehow have.

Share this post


Link to post
Share on other sites
7 minutes ago, h0yer said:

How do I treat partnames that have spaces?

use the wildcard character ?

@PART[that?part]
{
	// targets "that part"
}

 

Share this post


Link to post
Share on other sites
Just now, Sigma88 said:

use the wildcard character ?


@PART[that?part]
{
	// targets "that part"
}

 

Thanks a lot :)

Share this post


Link to post
Share on other sites
15 hours ago, Blyad Cat said:

Alright, all are for 1.3.0 at least. Here is another crash log; I uninstalled BD armory and yet it crashed on this mod

Moar logs: https://drive.google.com/open?id=0Bz9EqChWXJTfTUVza2l1SkJ4T2M

It looks like you might have an outdated version of the Firespitter plugin.  Could you try reinstalling that?

Share this post


Link to post
Share on other sites

Hi folks,

I'm trying my hand at writing a ModuleManager patch to replace the stock part descriptions and stock tech tree node descriptions with my own versions. @Snark and @5thHorseman have been kind enough to get me started with some code snippets but I'm not having much luck getting ModuleManager to load my patches.

Basic details

OS X 10.10.5 (Yosemite)
KSP version ID: 1804
ModuleManager version 2.8.1

Screenshot of my GameData folder

P3Caeqc.png

KISPartDes.cfg and KISTechtree.cfg are my alleged patches.

I'm not much of a mod user (never mind a modder :) ), so my best guess is that I'm doing something basically dumb. If anyone could help me get up and running that would be much appreciated!

Thanks,

KSK.

Share this post


Link to post
Share on other sites

@KSK, The .cfg files can be anywhere in GameData so that looks good. But, the Module Manager .dll itself should probably be in GameData, not in a folder (I'm not sure if this is actually a problem).

To be safe, make sure to unzip the module manager download and place the modulemanager.2.8.1.dll in gamedata, not the whole download folder.

If that doesn't help, you can post your config, or an example. Otherwise you can open your KSP.log with any basic text editor and search the file for "error" and Module Manager may have left you a clue as to what isn't working. 

Share this post


Link to post
Share on other sites
17 hours ago, Nightside said:

@KSK, The .cfg files can be anywhere in GameData so that looks good. But, the Module Manager .dll itself should probably be in GameData, not in a folder (I'm not sure if this is actually a problem).

To be safe, make sure to unzip the module manager download and place the modulemanager.2.8.1.dll in gamedata, not the whole download folder.

If that doesn't help, you can post your config, or an example. Otherwise you can open your KSP.log with any basic text editor and search the file for "error" and Module Manager may have left you a clue as to what isn't working. 

Hi @Nightside,

Thanks for the helpful advice! I've tried putting the ModuleManager dll into the main GameData folder rather than a subfolder and it doesn't seem to make much difference either way. Or at least, when I start the game, I get the same message that ModuleManager hasn't loaded any patches.

Never thought of checking KSP.log (which is exactly how much of a noob I am at this :) ) - will have a dig around in there and see if I can work out what's going on. Otherwise, I'll do as suggested and post my config here for troubleshooting.

Thanks again,

KSK.

Edited by KSK

Share this post


Link to post
Share on other sites

@KSK, just remember when hunting through the log, "CTRL-F" is your best friend.

you can search for whatever you called your .cfg file

Share this post


Link to post
Share on other sites

Okay,

I'm getting the following error message in the log:

Config in file '/Applications/Games/KSP_osx/GameData/KISPartDes.cfg' contains an unnamed node. Skipping.

From which, I'm guessing that my patch isn't parsing correctly for whatever reason, and isn't being applied. I'm using the following code - the text is just a placeholder and will be replaced by something better once this is working.

Quote

@PART[mk1Pod]
{
    @description = The Mk1 or “Moho” command module was an evolution of the earlier “Kerbal” crewed pod.
}


Any help appreciated.

Thanks.

KSK.

Share this post


Link to post
Share on other sites
31 minutes ago, KSK said:

Okay,

I'm getting the following error message in the log:

Config in file '/Applications/Games/KSP_osx/GameData/KISPartDes.cfg' contains an unnamed node. Skipping.

From which, I'm guessing that my patch isn't parsing correctly for whatever reason, and isn't being applied. I'm using the following code - the text is just a placeholder and will be replaced by something better once this is working.


Any help appreciated.

Thanks.

KSK.

Nothing seems immediately wrong.  Could you maybe upload that .cfg file somewhere as opposed to posting the content?  Might be something subtile about the formatting.

Share this post


Link to post
Share on other sites
18 minutes ago, blowfish said:

Nothing seems immediately wrong.  Could you maybe upload that .cfg file somewhere as opposed to posting the content?  Might be something subtile about the formatting.

Will do, but that gives me an idea. I copied and pasted the code from a forum post - I wonder if there are any hidden control characters lurking in there somewhere and mucking things up?

I'll try rewriting the patch from scratch and save it as a .txt file, rather than a .rtf file, before changing the file extension.

Cheers.

Edited by KSK

Share this post


Link to post
Share on other sites
Just now, KSK said:

Will do, but that gives me an idea. I copied and pasted the code from a forum post - I wonder if there are any control characters lurking in there somewhere and mucking things up?

I'll try rewriting the patch from scratch and save it as a .txt file, rather than a .rtf file, before changing the file extension.

Cheers.

Well now that you mention it, saving as rtf would probably mess things up a bit...

Share this post


Link to post
Share on other sites
41 minutes ago, KSK said:

Will do, but that gives me an idea. I copied and pasted the code from a forum post - I wonder if there are any hidden control characters lurking in there somewhere and mucking things up?

I'll try rewriting the patch from scratch and save it as a .txt file, rather than a .rtf file, before changing the file extension.

Cheers.

Anytime I copy a patch from a forum post I always paste it into notepad first, then copy from notepad into wherever else I'm putting it. This eliminates any possibility of funny characters showing up.

 

Share this post


Link to post
Share on other sites
1 hour ago, linuxgurugamer said:

Anytime I copy a patch from a forum post I always paste it into notepad first, then copy from notepad into wherever else I'm putting it. This eliminates any possibility of funny characters showing up.

Based on the filename this is OSX, and probably would have gone through TextEdit (OSX's appropriately named basic text editor).  But TextEdit does have limited rich text functionality including the ability to save as RTF, you just have to know to save as plain text.

Share this post


Link to post
Share on other sites

Attention Modders

I have been working for a while on some changes to ModuleManager (with sarbian's knowledge)

The Good News

  • Patch loading (without cache) is faster.  About 10-30% depending on the number and composition of mods involved.
  • Code changes made here will make it much easier to add new features in the future.
  • Many tests have been added which can be run after ModuleManager is compiled.  This will help ensure that future changes don't break existing functionality.

The Less Awesome Bit

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]).

So I'm posting a test build so that y'all can identify if any of your mods might have this error before ModuleManager is released and users start reporting this.  If you search for "error" in the logs you should be able to find them pretty quickly.

I've already identified a few mods that have this issue (so no need to report them):

E: Dev build removed, changes have been included in MM 3.0.0

Let me know if you have any questions or concerns.

Edited by blowfish

Share this post


Link to post
Share on other sites

Quick question...  I get the syntax.

I'm unclear on: 

  1. Presumably we save a text file with a ".cfg" format?
  2. Are there any other filename or extension requirements to flag it as a MM.cfg file?
  3. Where does it go?  I suspect just in my custom mod folder?  ...any special directory I have to create within my folder?

I realize this may be common knowledge to some, but a little aggravating that this info is not listed in the root post.  My searches have turned up lots of syntax examples but nothing so simple as "Here's how you name your MM script.  ...and it goes here."

Just looking to make a little mm patch to "unfix" the recent 1.3.1 Goliath/Wheesley engine "fix"

Edited by XLjedi

Share this post


Link to post
Share on other sites
13 hours ago, blowfish said:

The Less Awesome Bit

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]).

So I'm posting a test build so that y'all can identify if any of your mods might have this error before ModuleManager is released and users start reporting this.  If you search for "error" in the logs you should be able to find them pretty quickly.

I've already identified a few mods that have this issue (so no need to report them):

Here is the build.  Source can be found here.  It should work with KSP 1.3.0 and 1.3.1

Heads up, that someone tests it. My install of 70+ mods (Near Future, USI etc.) is without mentioned errors.

Share this post


Link to post
Share on other sites
16 hours ago, blowfish said:

Most of them have to do with patches that have more than one pass specified (e.g. :FOR[xxx]:AFTER[yyy]).

Let me know if you have any questions or concerns.

SO... for patches that need multiple passes, how should we get around this issue?

Share this post


Link to post
Share on other sites
10 hours ago, XLjedi said:

Quick question...  I get the syntax.

I'm unclear on: 

  1. Presumably we save a text file with a ".cfg" format?
  2. Are there any other filename or extension requirements to flag it as a MM.cfg file?
  3. Where does it go?  I suspect just in my custom mod folder?  ...any special directory I have to create within my folder?

I realize this may be common knowledge to some, but a little aggravating that this info is not listed in the root post.  My searches have turned up lots of syntax examples but nothing so simple as "Here's how you name your MM script.  ...and it goes here."

Just looking to make a little mm patch to "unfix" the recent 1.3.1 Goliath/Wheesley engine "fix"

1. Yes

2. No

3. I put mine in a folder I made called 'MyCustomPatches', for example: \GameData\MyCustomPatches\MyCustomPatchFile.cfg

I like to make a separate CFG file for each mod. Exmaples: NearFutureSpacecraft.cfg, KWRocketry.cfg, Squad.cfg, etc

Edited by Gorby1

Share this post


Link to post
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.