Jump to content

[1.8.1-1] [PLEASE FORK ME] Kopernicus & KittopiaTech


Thomas P.

Recommended Posts

1 minute ago, RentedTritium said:

Ok, cool. That's all I meant. I looked around and couldn't find any planet packs that did that, which made me suspicious that I was missing something and it wasn't possible.

I believe OPM does this with two of the moons orbiting Urlum.

Link to comment
Share on other sites

1 minute ago, RentedTritium said:

Ok, cool. That's all I meant. I looked around and couldn't find any planet packs that did that, which made me suspicious that I was missing something and it wasn't possible.

Kerbol Plus Remade adds Havet as a trojan dwarf to Kerbin (interesting since it means there are no such thing as transfer windows between it and Kerbin), and Outer Planets Mod has Priax as a trojan companion to Polta, both orbiting Urlum.

Link to comment
Share on other sites

12 minutes ago, RentedTritium said:

I'm even playing OPM! How did I not spot that?

Well, both Priax and Polta are pretty small, and since their orbit lines overlap, it's not inconceivable that you'd not notice two little blips on that line.

Link to comment
Share on other sites

Kopernicus 1.2.2-1 is on Github. It contains no config or feature related changes, but the API has changed, if you interact with it through code.

I moved the parsing and attribution library out of Kopernicus, because I really love how it works, and maybe someone wants to use it in a non-Kopernicus project: https://github.com/Kopernicus/config-parser
Following my tradition: This change broke @Sigma88s mods. :P But tbh I think future updates wont break them again.

Link to comment
Share on other sites

49 minutes ago, Thomas P. said:

Kopernicus 1.2.2-1 is on Github. It contains no config or feature related changes, but the API has changed, if you interact with it through code.

I moved the parsing and attribution library out of Kopernicus, because I really love how it works, and maybe someone wants to use it in a non-Kopernicus project: https://github.com/Kopernicus/config-parser
Following my tradition: This change broke @Sigma88s mods. :P But tbh I think future updates wont break them again.

I use SVT+jool rings  before, but new version of kopernicus disable game loading - black infinite loading screen (game works only if i delete this new kopernicus version). Maybe this also SVT issue but who knows?

Edit! no this is real kopernicus issue:

I delete SVT folder jool_rings and svekopernicus, but with kopernicus folder in gamedata i look into infinite loadscreen

fad258d7ce00.png

then i delete kopernicus... and game load is ok

7c469434a083.png

 

Edited by *MajorTom*
Link to comment
Share on other sites

Just now, The White Guardian said:

@Thomas P. does this version also include @blackrack's amazing ring shader? Or will that be a Scatterer feature?

Sorry, it just looks so amazing that I can't wait to play with it. :D

I recieved nothing from blackrack, so no it is not included. And I think he mentioned that he wants to put it into Kopernicus, but I am not sure

Link to comment
Share on other sites

17 minutes ago, The White Guardian said:

@Thomas P. does this version also include @blackrack's amazing ring shader? Or will that be a Scatterer feature?

Sorry, it just looks so amazing that I can't wait to play with it. :D

It's not done yet.

 

16 minutes ago, Thomas P. said:

I recieved nothing from blackrack, so no it is not included. And I think he mentioned that he wants to put it into Kopernicus, but I am not sure

It's going in Kopernicus, the only thing that will require scatterer is the ring shadows on the planet/atmosphere (since it's too much of a hassle to do otherwise)

Link to comment
Share on other sites

I'm having the same issue as @*MajorTom*. An infinite black screen upon loading a save game, that disappears when I remove the updated version of Kopernicus. I can see Kerbal Alarm Clock, Toolbar and any mod buttons on it, but nothing else appears. The issue is not exclusive to that one save and persists across multiple different saves. The only mod I'm using that relies upon Kopernicus is Outer Planets.

Let me know if there's any more info I can give.

Edited by Rekthor
Link to comment
Share on other sites

1 minute ago, Rekthor said:

I'm having the same issue as @*MajorTom*. An infinite black screen upon loading a save game, that disappears when I remove the updated version of Kopernicus. I can see Kerbal Alarm Clock, Toolbar and any mod buttons on it, but nothing else appears. The issue is not exclusive to that one save and persists across multiple different saves. The only mod I'm using that relies upon Kopernicus is Outer Planets.

Let me know if there's any more info I can give.

click on the nyan cat in my sig, it'll bring you to a list of stuff we need

Edited by Sigma88
Link to comment
Share on other sites

3 hours ago, *MajorTom* said:

I use SVT+jool rings  before, but new version of kopernicus disable game loading - black infinite loading screen (game works only if i delete this new kopernicus version). Maybe this also SVT issue but who knows?

Edit! no this is real kopernicus issue:

I delete SVT folder jool_rings and svekopernicus, but with kopernicus folder in gamedata i look into infinite loadscreen

fad258d7ce00.png

then i delete kopernicus... and game load is ok

7c469434a083.png

 

 

1 hour ago, Rekthor said:

I'm having the same issue as @*MajorTom*. An infinite black screen upon loading a save game, that disappears when I remove the updated version of Kopernicus. I can see Kerbal Alarm Clock, Toolbar and any mod buttons on it, but nothing else appears. The issue is not exclusive to that one save and persists across multiple different saves. The only mod I'm using that relies upon Kopernicus is Outer Planets.

Let me know if there's any more info I can give.

Please delete all mods that are not related to Kopernicus. I an install with Kopernicus, OPM, AlternisKerbol and nothing else, I dont get any issues while loading saves. This could be an issue of a third party mod, caused by one of the added planets.

Another question: Are you on 1.2.2 or 1.2.1?

Edited by Thomas P.
Link to comment
Share on other sites

I am ALSO having this issue, currently in the process of troubleshooting-hello, whats this? back in a sec, gotta test something.

Edit: okay, I was trawling various log files before I ran off, as I'd discovered the culprit- somehow, Better Burn Time was making Kopernicus go 'URK.' removed Better Burn Time, problem went away. presumably, something in how BBT gets its calc data isn't playing nice with the latest version. I suggest checking your root/logs/Kopernicus/Kerbin.Body.Log for exceptions (it's pretty easy, just open it up and scroll to the bottom) to see if anything else is messing with it.

I'm waiting for the game to reload so I can provide a sample of the glitched logs for @Thomas P. and @Snark to look at to see if either can nail down the issue (I have nearly a hundred mods, takes me a while to start up) so I'll edit this post again shortly.

In the meantime, I suppose I'll just have to live without Better Burn Time. drat.

Edited by Mechtech
Update
Link to comment
Share on other sites

alrighty, @Thomas P., below are the KSP and Kerbin.body.log files for my own game. if some of the others that have the black-screen-issue could also check whether BBT is the root cause?

Linky

this is the actual error, along with the line directly above BTW:

[LOG 15:46:55]: Parsing Target barycenter in (Kopernicus.Configuration.Body) as (Kopernicus.NumericParser`1[System.Boolean])
[LOG 15:46:55]: Exception Was Recorded: Could not load type 'System.Runtime.CompilerServices.ExtensionAttribute' from assembly 'BetterBurnTime'.
  at (wrapper managed-to-native) System.MonoCustomAttrs:GetCustomAttributesInternal (System.Reflection.ICustomAttributeProvider,System.Type,bool)
  at System.MonoCustomAttrs.GetCustomAttributesBase (ICustomAttributeProvider obj, System.Type attributeType) [0x00000] in <filename unknown>:0 
  at System.MonoCustomAttrs.GetCustomAttributes (ICustomAttributeProvider obj, System.Type attributeType, Boolean inherit) [0x00000] in <filename unknown>:0 
  at System.MonoType.GetCustomAttributes (System.Type attributeType, Boolean inherit) [0x00000] in <filename unknown>:0 
  at Kopernicus.Parser.LoadExternalParserTargets (.ConfigNode node, System.String modName, Boolean getChilds) [0x00000] in <filename unknown>:0 
  at Kopernicus.Configuration.Body.Kopernicus.IParserEventSubscriber.PostApply (.ConfigNode node) [0x00000] in <filename unknown>:0 
  at Kopernicus.Parser.LoadObjectFromConfigurationNode (System.Object o, .ConfigNode node, System.String modName, Boolean getChilds) [0x00000] in <filename unknown>:0 
  at Kopernicus.Configuration.Loader.Kopernicus.IParserEventSubscriber.PostApply (.ConfigNode node) [0x00000] in <filename unknown>:0 

hope that helps.

Link to comment
Share on other sites

54 minutes ago, Mechtech said:

alrighty, @Thomas P., below are the KSP and Kerbin.body.log files for my own game. if some of the others that have the black-screen-issue could also check whether BBT is the root cause?

Okay, that stack trace is seriously bizarre.  BetterBurnTime doesn't do anything with reflection.  Nothing in the System.Reflection namespace, nothing with System.Runtime.CompilerServices, nothing.  Why on earth Kopernicus would end up trying to load that stuff out of BetterBurnTime is beyond me.  Certainly there's never been any interop problem with Kopernicus and BBT before, and I haven't changed any code in BBT since 10/18 (which was after 1.2 but before 1.2.1).

So I'm guessing this is some sort of issue with Kopernicus code that BBT has innocently stumbled into.  There's not really anything for me to investigate here, since there's no actual BBT code in the stack trace.

If it turns out that I'm wrong, though, and there's something in BetterBurnTime that's either buggy or not following best practices or something, please ping me and I'm happy to put out a fix ASAP.  Kopernicus is one of my favorite mods and I definitely don't want to stand in its way!  :wink:

 

Link to comment
Share on other sites

yeah, the extent of my coding knowledge is pretty much on the 'hello world' level and doing things like MM patches or .Lua stuff for HW2, really high-level stuff. I figured that it was Something Weird Tee Emm from the mod interaction but I figured letting both of you know would likely get it nailed down faster. I imagine even knowing BBT shouldn't be doing that will help a bit.

 

anyway, @Thomas P., you wanna weigh in with any ideas as to what may be going wrong? I'm perfectly happy without BBT (I use Mechjeb a lot, which generally makes it somewhat redundant) but having it is nice.

Link to comment
Share on other sites

Okay, peeked a little bit at this.  I think I see the problem, thanks to the log @Mechtech posted.

Technobabble in spoiler section, so as not to hurt the eyes of any non-technical folks. @Thomas P., does this seem reasonable?

Spoiler

Here's the relevant code from the logged error message.  The bug is happening in the new config-parser code that Thomas mentioned earlier.

It looks like what this code is doing is iterating through every loaded assembly, and calling MemberInfo.GetCustomAttributes on it, and just assuming that that's going to work.

MemberInfo.GetCustomAttributes is documented as throwing TypeLoadException if a custom attribute can't be loaded, which looks as though it's exactly what's happening here.  So, I would assume that the fix is for the Kopernicus config parser to wrap a try-catch around that call to MemberInfo.GetCustomAttributes, to trap the expected TypeLoadException.  If it gets one of those, just shrug and move on, rather than propagating the exception.

 

Link to comment
Share on other sites

11 hours ago, Snark said:

Okay, peeked a little bit at this.  I think I see the problem, thanks to the log @Mechtech posted.

Technobabble in spoiler section, so as not to hurt the eyes of any non-technical folks. @Thomas P., does this seem reasonable?

  Reveal hidden contents

Here's the relevant code from the logged error message.  The bug is happening in the new config-parser code that Thomas mentioned earlier.

It looks like what this code is doing is iterating through every loaded assembly, and calling MemberInfo.GetCustomAttributes on it, and just assuming that that's going to work.

MemberInfo.GetCustomAttributes is documented as throwing TypeLoadException if a custom attribute can't be loaded, which looks as though it's exactly what's happening here.  So, I would assume that the fix is for the Kopernicus config parser to wrap a try-catch around that call to MemberInfo.GetCustomAttributes, to trap the expected TypeLoadException.  If it gets one of those, just shrug and move on, rather than propagating the exception.

 

Sounds reasonable. Hotfix released. Seems to work with BetterBurn Time over here.

Link to comment
Share on other sites

18 hours ago, Mechtech said:

alrighty, @Thomas P., below are the KSP and Kerbin.body.log files for my own game. if some of the others that have the black-screen-issue could also check whether BBT is the root cause?

Linky

this is the actual error, along with the line directly above BTW:


[LOG 15:46:55]: Parsing Target barycenter in (Kopernicus.Configuration.Body) as (Kopernicus.NumericParser`1[System.Boolean])
[LOG 15:46:55]: Exception Was Recorded: Could not load type 'System.Runtime.CompilerServices.ExtensionAttribute' from assembly 'BetterBurnTime'.
  at (wrapper managed-to-native) System.MonoCustomAttrs:GetCustomAttributesInternal (System.Reflection.ICustomAttributeProvider,System.Type,bool)
  at System.MonoCustomAttrs.GetCustomAttributesBase (ICustomAttributeProvider obj, System.Type attributeType) [0x00000] in <filename unknown>:0 
  at System.MonoCustomAttrs.GetCustomAttributes (ICustomAttributeProvider obj, System.Type attributeType, Boolean inherit) [0x00000] in <filename unknown>:0 
  at System.MonoType.GetCustomAttributes (System.Type attributeType, Boolean inherit) [0x00000] in <filename unknown>:0 
  at Kopernicus.Parser.LoadExternalParserTargets (.ConfigNode node, System.String modName, Boolean getChilds) [0x00000] in <filename unknown>:0 
  at Kopernicus.Configuration.Body.Kopernicus.IParserEventSubscriber.PostApply (.ConfigNode node) [0x00000] in <filename unknown>:0 
  at Kopernicus.Parser.LoadObjectFromConfigurationNode (System.Object o, .ConfigNode node, System.String modName, Boolean getChilds) [0x00000] in <filename unknown>:0 
  at Kopernicus.Configuration.Loader.Kopernicus.IParserEventSubscriber.PostApply (.ConfigNode node) [0x00000] in <filename unknown>:0 

hope that helps.

I did have the error, I did not have Better Burn Time.

1 hour ago, Thomas P. said:

Sounds reasonable. Hotfix released. Seems to work with BetterBurn Time over here.

Thank you very much! It works here better too.

Link to comment
Share on other sites

I am not sure whether that is intended, a bug or just a product of my stupidity, but when I updated Kopernicus yesterday, I forgot to update ModularFlightIntegrator and opening up KSP showed me the menu background... but not the menu itself! I just saw Kerbin, the Mun and that's all...

Eventually I tracked it down to Kopernicus and reinstalled, doing this I noticed the ModularFlightIntegrator was still the old one, and updating it fixed all.

However, is it really supposed, or even allowed, to fully destroy KSP? It feels wrong somehow.

Link to comment
Share on other sites

On 08.12.2016 at 6:13 PM, Thomas P. said:

Sounds reasonable. Hotfix released. Seems to work with BetterBurn Time over here.

Well, the game seems to load fine for me, but there are still lot of these weird errors in the log:

 

Missing method .ctor in assembly /home/infoman/games/KSP-GOG/1.2.2/game/GameData/BetterBurnTime/BetterBurnTime.dll, type System.Runtime.CompilerServices.ExtensionAttribute
The class System.Runtime.CompilerServices.ExtensionAttribute could not be loaded, used in BetterBurnTime
Can't find custom attr constructor image: /home/infoman/games/KSP-GOG/1.2.2/game/GameData/BetterBurnTime/BetterBurnTime.dll mtoken: 0x0a000001
Missing method .ctor in assembly /home/infoman/games/KSP-GOG/1.2.2/game/GameData/IndicatorLights/IndicatorLights.dll, type System.Runtime.CompilerServices.ExtensionAttribute
The class System.Runtime.CompilerServices.ExtensionAttribute could not be loaded, used in IndicatorLights
Can't find custom attr constructor image: /home/infoman/games/KSP-GOG/1.2.2/game/GameData/IndicatorLights/IndicatorLights.dll mtoken: 0x0a000001

http://upload.yo.md/uploads/file_record/file/1137/Player.log.txt

Link to comment
Share on other sites

This thread is quite old. Please consider starting a new thread rather than reviving this one.

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