Jump to content

orionguy

Members
  • Posts

    55
  • Joined

  • Last visited

Posts posted by orionguy

  1. 1 hour ago, JonnyOThan said:

    BDB is in progress.  It'll probably actually get rolled into BDB itself since I had to make a lot of IVA shells from scratch.  Tundra hasn't been started - you can track most of this stuff on github.

    Once again, you continue to amaze. You're changing the face of KSP! Thanks!

  2. On 1/20/2023 at 11:37 AM, JonnyOThan said:

    Yes please provide the log file.  This is likely a bad interaction with some other mod, and I have no way to know what it is without the logs.  In the meantime you can delete FreeIva/Squad/b9ps_fueltanks.cfg but you won't be able to make the fuel tanks passable.

    I just tried installing the new FreeIva version and am also getting the same error from B9. 

    freeiva.png

    Log is here... https://drive.google.com/file/d/1WO9MIdyPa3Ygi-eHLlljtOjklSANUcA0/view?usp=sharing

    Thanks!

    Matt

  3. On 1/14/2023 at 8:00 PM, JonnyOThan said:

    @orionguyIf you find any other places that are a problem please let me know!

    I will!  But unfortunately, I have uninstalled FreeIVA for my current career playthrough.  Maybe I'll mess around with it again in a sandbox install.

     

    Thanks again for all the hard work!

  4. Hi all,

    RemoteTech has locked inputs in my install of v1.9.12 from CKAN.  Opening the debug menu, it shows:

    RTLockStaging
    RTLockSAS
    RTLockRCS
    RTLockActions

    I went to a fresh over to a fresh install of KSP and get the same results.  Here is the game install data:

    1.12.4.3187 (WindowsPlayer x64) en-us
    1.12.1 Making History
    1.7.1 Breaking Ground

    And a screenshot with the stage lock showing in purple.  (Also, Alt-L does not release the lock)

    screenshot5.png

    I have tried everything I can think of and scoured the forums.  There used to be an issue with this, but I think it was fixed back in 2016?  

    Thanks for any assistance you can provide!

    Matt

  5. 19 minutes ago, JonnyOThan said:

    Thanks for the report.  I'd guess that these props have their colliders on layer 16 instead of 20 (which most props should be).  Without FreeIVA, both layers are interactable with the mouse but when FreeIVA is installed, layer 16 is reserved for kerbal colliders and layer 20 is for props.  I can probably fix this by changing the collider layers at runtime, but it would need a patch for every broken prop.

    Oh goodness.  Well, let me know if I can be of any help.  Until then, I'll just enjoy running around the stockalike space station!

  6. Well, a few hours after posting my joyous review, I realized something was amiss...

    With FreeIVA installed, some of the IVA's no longer act right.  As I mentioned before, I was using FreeIVA with Reviva, but I realized that might be throwing too much in the pot for troubleshooting.  So I made a fresh install and looked at FreeIVA with the "'Mk1 Cockpit' IVA Replacement by ASET" and "DE IVAExtension" seperately.  I used the Mk1 Cockpit on an aircraft and an unmanned probe on the launchpad with "Probe Control Room".   An easy example of the issues follows:

    Mk1 Cockpit by ASET:

    Aircraft -- Radio buttons/knobs do not work,  GPS knob on overhead no longer works

    Probe Control Room -- No issues.

    DE IVAExtension:

    Aircraft -- Some Raster Prop Monitor buttons do not work

    Probe Control Room -- Many Raster Prop Monitor buttons do not work

    -----------

    All of these issues went away by uninstalling FreeIVA.

    KSP logs:

    FreeIVA with Mk1 Cockpit by ASET

    FreeIVA with DE IVAExtension

    KSP without FreeIVA and with DE IVAExtension (this works and so does mk1 ASET)

    I hope there's a fix!  Let me know if you need any more info.

    Matt

  7. Is there any chance of making Firespitter Core a dependency instead of the full Firespitter?  CKAN is insisting that I download the entirety of Firespitter to use this mod.  I checked other mods that use the texture switcher and it looks like they only require Firespitter Core.

    Thanks as always for bringing all these old cool mods back to life!

    Matt

    EDIT: Looks like the netkan depends just needs to be changed from "Firespitter" to "FirespitterCore".  I'd create a PR to try to do it myself but I am an amateur and you REALLY don't want me touching things.

  8. I am trying to develop a UI for my plugin, and one of the first steps in the tutorial is to install PartTools.  Unfortunately, PartTools requires TextMesh Pro Release 1.0.56 - Unity 2017.3, and I am unable to find a valid download link.  

    I know others have asked about this in the forums before, but it seems they all bypassed this requirement because they are making parts mods.  To be clear, I need to develop a UI.

    Does anyone have an appropriate link or workaround? 

    Thanks!!!

  9. All,

    Once again thank you to all that have paved the way on KSP.  Now that I have spent hours (days... weeks...) banging my head against the desk, I have so much respect for our modders!

    I am trying to pull the "SkillsReadable" attribute from the Experience Effects classes that have that attribute (currently only Experience.Effects.AutopilotSkillExperience.Effects.FailureRepairSkill, and Experience.Effects.RepairSkill).  I get these Effects from the Experience.ExperienceEffect List.  Of course each skill class is inherited from Experience.ExperienceEffect.  I can access all the common properties from the parent class just fine.  But trying to see if each item in the list has the "SkillsReadable" property has become quite problematic.  I have tried all sorts of reflection and such, but I am missing something (it's been 17 years since I last touched C#).  

    This does work, so I know the property is accessible directly...

    string[] skr = (Experience.Effects.AutopilotSkill.SkillsReadable);
    foreach(string s in skr)
    {
        Debug.Log(s);
    }

    But here, when I try to go down the trail of getting all the Kerbal Traits and then getting all the Effects assigned to each of the traits, I hit a wall when I get to the reflection part of getting "SkillsReadable".

    List<Experience.ExperienceTraitConfig> experienceTraitConfig = GameDatabase.Instance.ExperienceConfigs.Categories;
    foreach (Experience.ExperienceTraitConfig trait in experienceTraitConfig)
    {
    	string traitName = trait.Name;
    	Type type = KerbalRoster.GetExperienceTraitType(traitName) ?? typeof(Experience.ExperienceTrait);
    	Experience.ExperienceTrait experienceTrait = Experience.ExperienceTrait.Create(type, trait, new ProtoCrewMember(ProtoCrewMember.KerbalType.Crew));
    
    	List<Experience.ExperienceEffect> experienceEffectList = experienceTrait.Effects;
    
    	foreach (var effect in experienceEffectList)
    	{
    		//everything so far works fine... it's the part below that is the issue...
    		if(effect.GetType().GetProperty("SkillsReadable") != null)
    		{
    			Debug.Log(effect.GetType().GetProperty("SkillsReadable").GetValue(effect, null));
    		}
    	}
    }

    I have been all over StackOverflow and MSDN trying to figure out how to do this and have tried many many methods... the above code is just my most recent one.

    Thank you in advance for any help you can give.  I'd hate to be thinking about C# while trying to enjoy Thanksgiving turkey this week... 

    Matt

  10. Hi all,

    First off, I now realize you long-time modders are waaaayyyy under-appreciated.  KSP does not make modding easy.  I have literally spent weeks of agony trying to get data from KSP. 

    BLUF: Want to get current game data to send to web server in JSON format.  Prefer to just send all the data and let the server deal with it.

    I am trying to send data to a server for an operations tracking program.  I have the overall system working, but I noticed that the data I get from "HighLogic.CurrentGame.config" is not the most current.  I.E. if I am in a new vessel in flight, there is not even a "VESSEL" node for that vessel until I switch scenes again.  I have also tried "HighLogic.CurrentGame.Updated().config" with no change.  I have also tried loading the "game.config" from the GameEvents.onGameStateSaved.  I have also tried loading the ConfigNode returned by GameEvents.onGameStateSave.  Lastly, I tried reading in the persistent.sfs to a ConfigNode.

    ALL of these options worked, EXCEPT they are all "old" persistent data.  I am trying to get what the game is actually seeing "right now".  Do I need to go through and serialize everything myself?  I wrote my own ConfigNode to Json function to format ConfigNodes, but I do realize that most of the unity objects are serializable by themselves.

    THANK YOU

    using System;
    using UnityEngine;
    using UnityEngine.Networking;
    using System.Collections;
    using System.Text;
    using System.Threading.Tasks;
    
    namespace KOMS
    {
        [KSPAddon(KSPAddon.Startup.AllGameScenes, true)]
        public class KOMS : MonoBehaviour
        {
            public void Start()
            {
                Debug.Log("Testmod Awake");
    
                GameEvents.onGameStateCreated.Add(GameLoad);
                GameEvents.onGameStateSaved.Add(GameSave);
                
            }
            public void GameLoad(Game game)
            {
                Debug.Log("Load triggered");
            }
            public void GameSave(Game game)
            {
                Debug.Log("Save triggered");
                if (HighLogic.CurrentGame != null)
                {
                    //ConfigNode gameConfig = HighLogic.CurrentGame.Updated().config;
                    ConfigNode gameConfig = game.config;
                    string jsonToSend = ConfigNodeUtilities.NodeToJson(gameConfig, false);
                    KomsApi.Post(jsonToSend);
                }
                else
                {
                    Debug.Log("HighLogic.CurrentGame is null");
                }
            }
        }
    
        public class ConfigNodeUtilities
        {
            public static string NodeToJson(ConfigNode node, bool prettify, Output output = Output.All, int tabLevel = 0)
            {
                ...
            }
        }
    
        public class KomsApi : MonoBehaviour
        {
            public static async void Post(string jsonData)
            {
                ...
            }
        }
    }

     

  11. On 8/28/2022 at 3:11 PM, Jason Melancon said:

    Does it work if you delete "override" from the method definitions? That modifier is absent in the "Getting Started" thread examples (https://forum.kerbalspaceprogram.com/index.php?/topic/153765-getting-started-the-basics-of-writing-a-plug-in/).

    Thanks for the help, but that change didn't do the trick.

    However, I saw other examples where folks used KSPAddon instead of KSPScenario and bound their own load and save functions to the  GameEvents.  This seems to work.

    using System;
    using UnityEngine;
    
    namespace TestMod
    {
        [KSPAddon(KSPAddon.Startup.MainMenu, true)]
        public class TestMod : MonoBehaviour
        {
            public void Awake()
            {
                Debug.Log("Testmod Awake");
    
                GameEvents.onGameStateCreated.Add(GameLoad);
                GameEvents.onGameStateSaved.Add(GameSave);
            }
            public void GameLoad(Game game)
            {
                Debug.Log("Load triggered");
            }
            public void GameSave(Game game)
            {
                Debug.Log("Save triggered");
            } 
        }
    }

     

  12. Very very new to KSP mods but not new to programming.  

    I set up my IDE and used the example mod from the forums and everything works great.  

    I'm just confused about OnSave.  I will eventually want to send a message with the persistence file to a node.js api every time the game has been saved by the user or by persistence.  First step is knowing when the game has been saved.  I have tried the following...

    using System;
    using UnityEngine;
    
    namespace TestMod
    {
        [KSPScenario(ScenarioCreationOptions.AddToNewGames | ScenarioCreationOptions.AddToExistingGames, GameScenes.SPACECENTER | GameScenes.MAINMENU | GameScenes.FLIGHT)]
        public class TestMod : ScenarioModule
        {
            public override void OnLoad(ConfigNode node)
            {
                base.OnLoad(node);
            }
            public override void OnSave(ConfigNode node)
            {
                Debug.Log("A save happened!");
                base.OnSave(node);
            }
        }
    }

    Nothing happens.  Maybe I don't understand when OnSave is triggered or why?  or how?  

    Thanks for any help you can provide.

  13. TLDR:  DX11 might be the issue.  Forcing DX12 worked for me.

    Possible solution for some:

    I noticed this line in the changelog on https://wiki.kerbalspaceprogram.com/: "Implement single camera system when running in DX11 for improved performance."

    So, I tried forcing DX12 at startup using "-force-d3d12".  This solved the problem of the flickering in the HullcamVDS mod instantly.

    HOWEVER, this did cause a lot of flickering in other scenes (not Hullcam related) and slowed my system to a crawl.  So, I uninstalled the E.V.E. and Scatterer mods.  This helped boost performance and get rid of the flickering, but the water looked horrible.  So, I reinstalled scatterer and there were still some interesting water surface flickering effects.  I was able to get rid of these by going to the scatterer gui (Alt+F11) and deselecting "Surface receives shadows" and restarting KSP. 

    Everything is working great now!  I haven't reinstalled E.V.E. yet but don't think I will try for now.  The Hullcam VDS flickering issue was the only thing keeping me from migrating over to 1.9.1 and now I am fully up and running.

    Thanks again to LGG for keeping all these mods alive!

  14. 1 hour ago, JadeOfMaar said:

    How you use MOLE boils down to:

    • You first need to unlock the science processor (I forget its exact name) which sips on time, EC and ResearchKits and produces LabTime. This simulates the experiment running and being observed (as is the nature of LDEF (Long-Duration Exposure Facility) experiments).
    • You need to unlock the experiment wedges themselves and preferably, the mounting structures for them. Once you have them, check their advanced info and see what their requirements are. Some demand certain stock experiments, some demand certain situations, some demand crew, some even demand resources. The Botany experiment requires parts that can produce "Plants" and these include a botany wedge or a MOLE greenhouse. All experiments require LabTime. That's the default.
    • Some science parts have the ability to load multiple LDEF experiments into them such as MOLE itself (in the proper science lab mode), the WBI Buckboards, and the stock Experiment Storage Unit (actually I think this only holds 1). The MOLE lab and compatible labs also hold a LabTime generator which you can supplement with the wedges for the same. And you'll want to. Time is precious.
    • MOLE labs also have a feature or a mode just like the stock science lab. These require scientists and sip on EC + something (I don't remember, likely ResearchKits) and produce science points that you transmit back to KSC. I like it much more than the stock science data processor. ResearchKits largely replaces the Science Data mechanism, and with some effort and the requirements, a base or station can make new ResearchKits.

    Thank you!!!

    Just to clarify then,  Lab Time is a  more of a resource more than it is a "time"?

    Awesome explanation

  15. Angel-125,

    Thanks so much for all you have contributed to this project.  I would love to use it more but I can not find any instructions.  KSPedia is mentioned throughout the forums, but I can not find the entry for MOLE when I open KSPedia.  I have ensured that the MOLE and WildBlue Tools are installed with the correct file structure, and all of the parts work just fine.  But no KSPedia entry, and I can not figure out how to do science.

    Thanks in advance,

    Matt

  16. Just tried the new ckan.exe and still getting the following error since the update

    Unhandled Exception: System.ArgumentException: Object of type 'System.Globalization.CalendarId[]' cannot be converted to type 'System.Int32[]'.
       at System.RuntimeType.TryChangeType(Object value, Binder binder, CultureInfo culture, Boolean needsSpecialCast)
       at System.Reflection.RtFieldInfo.UnsafeSetValue(Object obj, Object value, BindingFlags invokeAttr, Binder binder, CultureInfo culture)
       at System.Runtime.Serialization.FormatterServices.SerializationSetValue(MemberInfo fi, Object target, Object value)
       at System.Runtime.Serialization.ObjectManager.CompleteObject(ObjectHolder holder, Boolean bObjectFullyComplete)
       at System.Runtime.Serialization.ObjectManager.DoNewlyRegisteredObjectFixups(ObjectHolder holder)
       at System.Runtime.Serialization.ObjectManager.RegisterObject(Object obj, Int64 objectID, SerializationInfo info, Int64 idOfContainingObj, MemberInfo member, Int32[] arrayIndex)
       at System.Runtime.Serialization.Formatters.Binary.ObjectReader.RegisterObject(Object obj, ParseRecord pr, ParseRecord objectPr, Boolean bIsString)
       at System.Runtime.Serialization.Formatters.Binary.ObjectReader.ParseObjectEnd(ParseRecord pr)
       at System.Runtime.Serialization.Formatters.Binary.__BinaryParser.Run()
       at System.Runtime.Serialization.Formatters.Binary.ObjectReader.Deserialize(HeaderHandler handler, __BinaryParser serParser, Boolean fCheck, Boolean isCrossAppDomain, IMethodCallMessage methodCallMessage)
       at System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Deserialize(Stream serializationStream, HeaderHandler handler, Boolean fCheck, Boolean isCrossAppDomain, IMethodCallMessage methodCallMessage)
       at System.Resources.ResourceReader.DeserializeObject(Int32 typeIndex)
       at System.Resources.ResourceReader.LoadObjectV2(Int32 pos, ResourceTypeCode& typeCode)
       at System.Resources.ResourceReader.ResourceEnumerator.get_Entry()
       at System.Resources.ResourceReader.ResourceEnumerator.get_Current()
       at System.ComponentModel.ComponentResourceManager.FillResources(CultureInfo culture, ResourceSet& resourceSet)
       at System.ComponentModel.ComponentResourceManager.FillResources(CultureInfo culture, ResourceSet& resourceSet)
       at System.ComponentModel.ComponentResourceManager.FillResources(CultureInfo culture, ResourceSet& resourceSet)
       at System.ComponentModel.ComponentResourceManager.ApplyResources(Object value, String objectName, CultureInfo culture)
       at CKAN.Main.InitializeComponent()
       at CKAN.Main..ctor(String[] cmdlineArgs, KSPManager mgr, Boolean showConsole)
       at CKAN.GUI.Main_(String[] args, KSPManager manager, Boolean showConsole)
       at CKAN.CmdLine.MainClass.Gui(KSPManager manager, GuiOptions options, String[] args)
       at CKAN.CmdLine.MainClass.RunSimpleAction(Options cmdline, CommonOptions options, String[] args, IUser user, KSPManager manager)
       at CKAN.CmdLine.MainClass.Execute(KSPManager manager, CommonOptions opts, String[] args)
       at CKAN.CmdLine.MainClass.Main(String[] args)

    Also running Windows 10

    Edit: it looks like the Github file might still be the old one?

  17. Thank you so much for adopting this essential mod!  

    I'm having issues updating the mod through CKAN.  It seems that VesselViewer Continued is dependent on JSIPartUtilities.  JSIPartUtilities owns the "GameData/JSI/LICENSE.md" file, and the update of your RPM mod is also trying to install this file.  CKAN throws an error and refuses to install your update.  

    So, I uninstalled VesselViewer Continued and JSIPartUtilities and installed your update, but now I can't reinstall VesselViewer Continued because the JSIPartUtilities dependency throws an error when trying to install via CKAN!

    I realize I can just do it all manually, but I know you worked hard to get the CKAN install officially supported, so I wanted to let you know it isn't working when installing alongside VesselViewer.

    Thanks again for all your time and effort!

    Matt

×
×
  • Create New...