Jump to content

Alshain

Members
  • Posts

    8,192
  • Joined

  • Last visited

Posts posted by Alshain

  1. Regarding the state of this thread, I simply don't have time to fight with the awful forum software in order to continue to add new patches to the original post.  If someone out there has the time on their hands and wants to continue in a new thread (or better, find a good platform to host it rather than here) you have my blessings to do so.  I'm afraid it just became too successful for it's own good and without any kind of markup editing like BBCode, it's become un-maintainable.

  2. On 1/23/2018 at 3:09 PM, LEGIONBOSS said:

    I've just discovered this, and it's awesome, but where did the X button that closes the windows go? I'm not using any kind of toolbar mods.

    You just click the app launcher button again.  Maintaining the separate button caused a lot of inefficiencies in the old Unity system because it had to constantly check to keep the two buttons in sync.  With only one button, it knows when it has been pressed so no need to run checks every frame.

  3. 13 hours ago, Gaarst said:

    Isn't this supposed to be part of the DLC?

    No, they said it was stock.  Several of us asked that question.

    8 hours ago, steve_v said:

     No need to "stick a fork in it", just stop changing the sodding APIs every update. Mods needing a recompile against a new version is not a big deal, code changes are.

    That's the issue, it doesn't technically have what you would consider and "API".  It just leaves it's members public for us to access.  A true API is a 'translator' between the primary code and the mod developer, the code of an API serves no purpose but to format the inputs of the primary code and make them accessible to the mod developer.  If the primary code changes, the API code is changed to adapt without changing the method headers (as much as possible, sometimes you just have to but then you use deprecation) and that way the mod developer never needs to see the change.  That's an API.  KSP doesn't have that and you can't avoid changing the primary code headers.

  4. DStaal is right, though in my context I was trying to differentiate between assembly (like the Lunar rovers which had to be built on the Moon) and actual onsite fabrication (like the proposed "3D Printed" bases by NASA and ESA.)  USI would seem to favor the former, while Pathfinder along with OSE Isa better match for the latter.

  5. Pathfinder is the best one I've seen if you want to construct bases insitu.

    USI is moving away from the idea of insitu construction.  While it technically supports it, the developer has been working with other mods like Ground Construction that emphasize insitu assembly, rather than construction.  That goes for EPL too, while it supports it, the USI developer really wants to support Ground Construction which requires you to ship a box for every craft you want to build and then assemble in place after it has landed.  It's also tends to be very buggy in my experience. 

    I've never played with Planetary Base Systems, so I can't say how it would compare, on paper it looks pretty good.

    Add KIS/KAS for with that and you can construct and assemble.  The USI construction parts are a neat idea, and they extend the range abilities of KIS, but in my experience using them with the mechanical parts is just too difficult (though the mag lifter is probably the most useful if you can keep it from dropping the payload).  The big problem is not necessarily the mod or the parts, but the controls that we are resigned to with KSP and servos.  I long for a mod that can add Farming Simulator style servo controls to KSP.  In any case, I found when using Konstruction, I never used the servo's and instead just used their KIS range extending abilities.

    You might consider adding OSE Workshop to that list for constructing new base parts insitu.

  6. Just be aware if your mod had bugs in that version it is unlikely to ever be fixed in that version.

    On 10/16/2017 at 8:44 AM, SpannerMonkey(smce) said:

    Hi, this too can be worked around, if you go to the repo concerned.  You will see up in the top left corner something like this  KvFQWfW.png

    Obviously this = who owns repo/ and the code found here.   The next line forked from is the original home of this code,  It shows the original author and the source name..  In the case of older adopted mods, there's a better than average chance that any older versions  ie pre adoption versions (if they existed at all) can be found be following the forked from trail.    There is another layer of digging and that involves checking where the forks lead and which is the one you want, certain mods have dozens of forks, and the master is not always the one that ends up released.

     

    Assuming the new author uses Github.  A lot of people don't know how to use Git (though I strongly recommend reading the book) so they just abandon it entirely.

  7. That is correct, AGM does not actually interface with the MiniAVC DLL, it is a standalone mod included in the package.  Also, I just want to point out there are ~450 mods that use it (and that's just the ones using Cybutek's service, you can host the version file anywhere) and I doubt half of them are GPL.  I'm not sure why this is an issue in my mod, this whole conversation seems a bit silly.

  8. 37 minutes ago, Kerbal101 said:

    @Alshain GPL requires derivative work to be licensed under same license, this includes both runtime and static linking/load of a library. Its LGPL that removes this requirement from runtime dependency.

    As I see it there are several options:
    - to dual-license your work under GPL/MIT, but instruct the users that to comply with MIT, that library must be removed from distribution.
    - to contact the author of GPL licensed library and ask for LGPL relicensing.
    - to not ship the GPL licensed library as part of the package, optional run-time dependence is okay if users do it from their side. GPL terms will apply to the one installing and running it in that configuration.

    Best regards :)

    Well, anyway.  There is a 4th option.  As the copyright holder he can give written permission to circumvent a part of his license.  So all I need to do is get written permission from Cybutek to include it my package....

     

    http://ksp.cybutek.net/miniavc/Documents/README.htm

    " Bundle the MiniAVC.dll file into your packaged add-on directory along with your version file. "

     

    Done.

     

  9. 3 hours ago, Deddly said:

    Hi @Alshain, it looks like you put a lot of work into this! Sorry to have to bring this to your attention, but if I understand the OP correctly, you are bundling two mods that conflict with the MIT license you have chosen for yours.

    • Toolbar Continued is BSD 2-clause, which is slightly more restrictive than MIT;
    • MiniAVC is GPLv3 - this license requires that any software that includes it must have the same license.

    I'm not 100% sure, but it seems to me that you can change your license to GPLv3 and fix the above problems. If you would prefer not to do that, you unfortunately cannot bundle those mods with MIT.

    I hate license mess like this, sorry :(

    (Helpful link)

    BSD-2 Clause is compatible with MIT and thus should be safe.  In fact the only restriction that applies is that it retains the copyright notice, which it does here, and here.

    Including and modifying source from a GPLv3 project would certainly break the license, however distribution of GPLv3 libraries would not.  Since AGM does not include MiniAVC source, only unaltered binaries are included with the distribution, the license is still properly honored as long as I follow the other rules, such as including the license, and include instructions on how to obtain the original.

    Bear in mind, the authors of both these tools wrote them with the expressed intent for users to include them with their mod.  They wouldn't (and didn't) put a license on them that would prohibit that :D

     

    Regarding updates: I was planning to work on it this weekend... and on the way home, my alternator died.  So that's gotta get replaced this weekend, and I'm working a new job which takes up all my time so bear with me.  I'll try and get it done as soon as I can.

  10. I agree with @Deddly and prefer it that way, and in fact I wish they would remove a few (for example CKAN, which doesn't even belong in this forum, as it's a Tool or Application but it certainly doesn't need to be stickied)  It just creates a bunch of clutter at the top.  The database of mods is important and should stay, and of course threads from squad and moderators (though logical consolidation of information in some cases might be useful), other than that, the TOTM and that's it.

     

    By the way, I'm not ignoring people.  I've been a bit busy but if your patch is posted here, it will make it to the front page eventually.  Fear not!

  11. 18 hours ago, NavyFish said:

     

    Yep, thanks. Known bug. I've been quite delinquent in updating the mod. Glad it still works :)

    @Alshain   I tried your fix (a couple months ago, derp), but it didn't seem to work. Are you sure "ApplicationLauncher.Instance.RemoveModApplication" is the correct function to call upon the unreadifying event?

     

    It should be.  I've slept since then.  I'll have to go back and look at your implementation.  One thing you might want to add to the delegate is the event unregistration though.

    GameEvents.onGUIApplicationLauncherUnreadifying.Remove()

    My implementation is a bit different, I treat buttons as interfaced objects so I can treat the App Launcher and Blizzy's Toolbar as single Interface (IButtonBar).  Never the less, if it helps, here is the code I use.  I also registered the onGUIApplicationLauncherDestroyed  event which looking at it now, I don't seem to have unregistered that one in my code... hmmm.

    https://github.com/Alshain01/KSP-AdvancedTweakablesButton/blob/master/AdvancedTweakablesButton/AppLauncher.cs

    this one is from AGM, it's basically the same but instead of altering a setting in the game, it controls the visibility of a window.  It also has documentation and better code style (I took the time to run through StyleCop on it).

    https://github.com/Alshain01/ActionGroupManager/blob/master/AGM-VisualUI/UI/ButtonBar/AppLauncher.cs

  12. I think the biggest reason this didn't happen has nothing to do with play styles, it is because this is insanely difficult to program correctly and Squad didn't feel it was worth the dev time..

    Even the RemoteTech flight computer is terrible mess.  It only works half the time, not well enough to turn on signal delay as a game option because it is too ignorant to fly your probe correctly even when you tell it exactly what to do.

    As much as I love RemoteTech, I use quickload far more often when I try to use the flight computer because half the time it either won't stop when it is supposed to and spins the craft in circles, or gets confused as to which direction is prograde (which I think is actually a stock issue when having multiple probes on one craft, even if all the probes are facing the same correct direction).  The worst part is, even if you see it messing up, you can't stop the maneuver.  Even if signal delay is off, you can't stop the maneuver, deleting it does nothing, you have to force shut down the engine, try to stop the maneuver, return to the space center and then come back to the craft for it to be finally deleted.

    Now if the RT developers have been working on this mod for years and it is a complete mess, imagine if Squad tried to do it in stock in one patch.  That isn't to say it couldn't be done and done better, but it would take dev resources that would detract from development on other things.

  13. The only way this could really work and look half way decent would be similar to how Farming Simulator handles dirt.  It's basically a transparent layer on top of the tractor and when they want the dirt to show, they just make it more opaque.  The problem is, you would have to create this layer for every part, which would be a massive undertaking.

×
×
  • Create New...