katateochi

Members
  • Content count

    2890
  • Joined

  • Last visited

Community Reputation

2758 Excellent

About katateochi

  • Rank
    KerbalX.com dev

Contact Methods

  • Website URL http://KerbalX.com

Profile Information

  • Location Orbiting Something
  • Interests Things, I'm interested in things.

Recent Profile Visitors

10044 profile views
  1. What Platform do you hhave KSP on?

    ah another dual wielding player. I've also got both store and steam, and I run on windows(7) and linux.
  2. Awesome dude! thanks for all the work on this. I'll start using the dev build and see if the EC issue crops up again.
  3. oh! interesting. yeah I think that is exactly the info I'm looking for. It seems to keep track of mods which have been removed too, (those are listed as = false). Not quite sure how it sets the version numbers, some seem to correlate to the mod's version and others (and mods with no version info) just seem to get assigned something. But that is some useful info, thanks for finding it!
  4. @Mycroft @Krog34 Thanks for point this out. I can't replicate a freeze or crash, but opening that dropdown does slow everything right down (and cpu usage spikes) while the mouse is over it. So something ain't right and I could see that that could cause a freeze/crash. I shall look into it!
  5. [1.3.1] Docking Fuel Pump

    new minor version out. two main things are - a fix to the logic for identifying which parts are either side of the docking ports which should fix the issues of the fuel pump not doing anything on some craft designs. - the "pump fuel" button on the context menu is only show on docking ports which are docked (or pre-attached). Also fixed the fuel pump on the claw which wasn't working at all. There are still some issues with the fuel pump on the claw (ie decoupling doesn't stop the fuel pump). I would suggest that you disable the heating feature in the settings. I've left it on by default because I do intend for that to be a feature of this, but right now it is not working as I'd like. I need to think about it some more (and probably learn more about KSP logic around part heating).
  6. I thought that would be the case. It's a pity that from the ground up they didn't build in some process where mods "register" themselves with the game and set their name/version....but then again, at least this is better than the dark days where all parts just got dumped into the Parts folder and likewise for plugins (speaking of which, why do those folders still exist?).
  7. Small update (0.1.3) rebuild against KSP 1.3.1 fix for downloading craft that have non-OS friendly chars in their names. This was preventing the mod from downloading some craft, but that should be sorted now. added a settings.cfg which allows you to change where the KX mod save and loads pictures to/from. some minor UI tweaks.
  8. Is there a way to get a list of installed mods in game? So far all I've got is to get a list of parts from `PartLoader.LoadedPartsList`. From that I can iterate over each AvailablePart and for each one get its path in GameData and take the top level folder as the name of the mod for the part, but that is an assumption that doesn't work with all mods (I can also lookup the part_name in KerbalX's mod database, but that only helps for mods which KerbalX already knows about). Also this doesn't yield any information about mods which don't add any parts. So does the game have any internal notion of which mods are installed? I'm guessing not as I don't see where that information would come from, but asking anyway just incase there is some sneaky solution.
  9. clearly you're coming in to land too fast! I'd not noticed that a fast scroll caused that. I'll see what I can do, it's probably due to the javascript not keeping up with the rate of scroll and then missing the cut off point. low priority fix though!
  10. In the end I've solved it like this, might not be an ideal solution but I can't see a better way, but this seems to work; I'm still pretty new to C# and plugin development so any feedback on the approach is welcome! Thanks @Benjamin Kerman, @Aelfhe1m and @hab136 for your answers. The idea is that in onVesselStandardModification it raises a flag to check the state of ModuleDockingNode and sets a counter. The counter is decremented by 1 on each call of onUpdate and when it hits 0 then it checks the state again and compares it to the result of the last check. If the state has changed since the last check then it resets the counter, if it has remained the same then it removes the flag and takes the required action based on the state. So basically it waits a few cycles of onUpdate for the state to stop changing before taking the required action. I wanted to avoid using onUpdate for this as that's called constantly, but at least this way it only does anything in onUpdate if the flag to check state is raised. internal ModuleDockingNode docking_module; internal bool state_changed = false; internal int state_check_delay; internal string last_state; public override void OnStart(StartState state){ docking_module = this.part.FindModuleImplementing<ModuleDockingNode>(); onVesselModify(); GameEvents.onVesselStandardModification.Add(onVesselModify); } public void onDestroy(){ GameEvents.onVesselStandardModification.Remove(onVesselModify); } public void onVesselModify(Vessel ves = null){ check_state(true); } internal virtual void check_state(bool force_check = false){ if (force_check) { last_state = ""; } if (docking_module.state != last_state) { state_changed = true; state_check_delay = 10; last_state = docking_module.state; } else { state_changed = false; Events["fuel_pump"].active = (docking_module.state.StartsWith("Docked") || docking_module.state.StartsWith("PreAttached") ); } } public override void OnUpdate(){ if (state_changed) { state_check_delay -= 1; if (state_check_delay <= 0) { check_state(); } } }
  11. '\#039'?

    #039 is an HTML ASCII code for a single quote. You get those codes cropping up where there is a mismatch in the string encoding on the site.
  12. @hab136 thanks, that `onVesselStandardModification` Event is useful. The problem that I have with all the approaches I've tried is that the state of the ModuleDockingNode during the call to the Event is the state proceeding the state it ends up in. So for example if I have a undocked port which has the state of 'ready', when it docks and the `onVesselStandardModification` fires, the state that it has is "Acquire", although moments later it's state changes to docked. Similarly a port which is docked, when undocking the state that is present during the Event is still "Docked". So it seems like onVesselStandardModification fires just before the dock/undock (or the change in the state comes slightly after that). What I need is something that fires after the state has changed. As an experiment I used a Coroutine so I could add in a short delay (of just 1 ms) before it checks the state. With that short delay the state after docking/undocking is what I'd expect, but the downside is even that short delay causes a slight pause in the game. Also depending on a set time delay is not an good approach.
  13. Under used parts

    I recently decided to give ion engines another go....I pretty much cleaned my whole house while waiting for the burn to complete. I miss the old overpowered ion engines from Mechanical Mouse Industries! This thing, I've never used this. In fact I hadn't actually noticed it until recently when picking apart someones else's craft to see how'd they'd built it and thought hang on....is that really a stock part? also never had a use for this and the MK1 cockpit, since it was changed it has gone from being a highly used cockpit to one I almost never use.
  14. Whats the hardest thing to do in KSP?

    That's not hard, it's utterly impossible!! In the same theme; the hardest thing is going to bed at a sensible time so that you can get up for work and not spend the next day in a semi-delirious state, dreaming about rockets.