Jump to content

Crzyrndm

Members
  • Posts

    2,131
  • Joined

  • Last visited

Everything posted by Crzyrndm

  1. I will check that the mirroring isn't doing something silly
  2. Best place to start. The rest is normally just looking at plugins that do something similar to use as an example
  3. Make sure you aren't moving towards the top/bottom of the wing or have the camera directly overhead. If you're looking at it from directly above, the thickness scaling gets all sorts of funny ideas so I normally try to position the camera mostly end on to get the best control over it. I have some ideas about how to make the root/tip scaling easier to use, but for now you mostly just have to be a little careful with the camera position
  4. You may want to check that the order of quaternion multiplication is the one you actually want. I remember having a difficult to identify issue that came down to having the order wrong. What does your Quaternion "diff" look like in Euler coordinates (log: Quat.eulerAngles)? Which axes is it trying to rotate on (from memory, x is pitch, y is roll, z is yaw wrt to your reference frame)? What is the vessel rotation prior to using vessel.SetRotation vs. after (logging, not visual)? Is there any change there? Is there a change at the part level (since vessel transform is just the root part it should be, but...)? Does the ship rotate at all during the teleport relative to the planety? Does the reference frame rotate at all during the teleport relative to the planet? It may be more reliable to try and match up the difference between the rotations from the normal vector, instead of a vector that is quite possibly no longer accurate. // rotation relative to the upVec Quaternion originalRot = Quaternion.FromToRotation(upVec, vessel.up); // teleport stuff... // new rotation relative to the upVec Quaternion newRot = Quaternion.FromToRotation(newUpVec, vessel.up); // B - A... Quaternion diff = newRot * originalRot.Inverse(); // rotate vessel by the difference vessel.SetRotation(vessel.transform.rotation * diff);
  5. oh, if you already have a Life Support subcategory that probably wouldn't do anything useful (in fact if it did anything I'd filing a bug report because something isn't working right...) Moving all TAC parts out of Utility @PART[*]:HAS[#category[Utility],#manufacturer[Thunder?Aerospace?Corporation]] { @category = none } Adding them to the existing Life Support subcategory (note: the bit in the square brackets at the top should match the title of the existing subcat, just with the spaces replaced by '?' characters) @SUBCATEGORY[Life?Support] { FILTER { CHECK { type = manufacturer value = Thunder Aerospace Corporation } CHECK { type = category value = none } } }
  6. @CATEGORY[Filter?by?Function] { @SUBCATEGORIES { list = Life Support } } SUBCATEGORY { name = Life Support icon = // put something here FILTER { CHECK { type = path value = ThuderAerospace/TacLifeSupport/ } } } Should put every part from a default TACLS install in a subcategory called Life Support in Filter by Function
  7. Filter Extensions might be a simpler alternative if your objective is just to create new categories and you have no plugin experience. If not: 1) The wiki includes all the instructions for getting an IDE setup to create plugins 2) It is certainly possible to modify the filtering of subcategories of other mods, but it's generally easier to replace the subcategory outright. You can get a reference to the existing filtering function at <subcategory>.exclusionFilter.FilterCriteria and call Invoke(aPart) to get a true/false result from it which you can then add your own pre/post filters to
  8. Some additional points (this list is as much for my memory as it is for you lot :P) Reshuffle control hierarchy to include a combined rotation state (Quaternion) to help with recovery / near vertical stability. Prototype low level control model part of SSAS in v1.12.4 May be a good time to add some control system linkages (ie. can't maintain pitch, ease off on the bank angle) Move presets out of sight of MM so as to not affect caching process @kcs123 More in the realm of Dynamic Deflection (the modlet I wrote to handle Q variation for SAS / PA / manual flight), but are you saying that you want separate profiles for auto/manual control? Because that's totally doable (I'm assuming MJ's state is easy enough to query here) @Nansuchao If the opportunity arises when I get to the UI, I'll look into it (maybe something like an activation state toggle when landed state changes to be a bit more generic). There is the pause binding (default: Tab) which might be a better option. I normally just use VSpeed to manage the glide slope and let it drop into the runway at ~-0.5m/s or less Automation level of PA was always intended to be more for taking the drudgery out of long flights and/or keyboard control issues. Involved tasks like landing (glide slope, flaring, landing, brakes) I prefer to leave in the hands of the player
  9. Since it's a plane, you could grab the github versions (not the release package) of B9 PWings and add Xenon to the fuel switching capabilities by adding a new node to this file (supporting more fuel types is the entire reason I'm adding this functionality after all...)
  10. In other words, your login on that computer doesn't have write access wherever KSP is installed (probably Program Files) which is nothing at all to do with Win 10. You either need to move the KSP install somewhere you do have write permissions (if you're a steam user, it is not bound to steam in any way, so you can put your install anywhere) or talk with whoever has admin rights on your computer about doing the mod install
  11. Pilot Assistant *may* be a simpler alternative to Mechjeb since its a much smaller mod focusing on plane control only. You can see the vessel control function here and all the primary data gathering is handled here. Also some useful basic example code for this stuff on the wiki
  12. Labs can store duplicate results so you will find differences when trying to cram them into a CM
  13. Make clouds for EVE or make a new plugin which adds clouds and related systems? In the first case, I'd suggest asking in the EVE thread or PM'ing rbray. If you want to start from scratch, I'd still suggest picking EVE apart to see how it was done and/or talking with rbray about problems you might encounter. If you're just looking for a "getting started" the wiki plugin tutorial is still up to date. The only major difference between a part module (which the wiki uses for its example) and a partless plugin is the first two lines of the class
  14. Two ways: 1) Make a hard reference to the other mod, similar to how you add KSP libraries as a hard reference. Coding is reasonably clear and direct, but the other mod has to be installed or your mod will break. You may also have to update every time the other mod does 2) Reflection. Nowhere near as easy/intuitive from a programming perspective, but other functionality of your mod can continue to function if the dependency is not fulfilled. This is how mods like PWings manage to continue to work whether you have FAR installed or not Which method to use depends on what you're doing. Reflection is generally favoured for additional functionality, while a referenced .dll is more for a core dependancy
  15. It's doable, but I'm not sure what sort of implications what I'm thinking of will have (short answer: probably quite significant in terms of time)
  16. Water surface is always at 0m altitude unless Kopernicus has changed things (changed as in made that not a given. I would assume not). Because the ocean sphere will show up in any land below 0m, you can report the distance to 0m for any planet with an ocean rayCastResult = ....; if (vessel.mainBody.ocean) raycastResult = Min(vessel.Altitude, rayCastResult);
  17. Is that forum formatting there? if thats how it looks in the file, I'd be adding newlines for each value and bracket (ie...) RESOURCE { name = Food amount = 43.9 maxAmount = 43.9 } II really doubt it'd like trying to parse the string "43.9 maxAmount = 43.9 }" into a number
  18. While it seems unlikely that changing resource amounts is causing your issue, no one can give you any assistance with the information you've provided. What does the log say, what did the .cfg's look like before/after, etc.
  19. Placeholder. The actual wing mass under stock is is defined based on its lifting capabilities which is derived from lifting surface area (should probably add a little fudge in there for thickness, may not be accounted for atm). FAR does its own wing mass calculations and has a tweakable slider for wing strength which increases mass and the forces required for aerodynamic failures If you want to tweak mass further, your best bet is the unpackaged github version which allows you to add resources to the wings. If you just want a mass teakable, add the ablator resource and you can change the carried quantity to increase mass.
  20. ugh, I thought I got those matched up. I will tweak the mass calcs again. Sounds like I did something silly when FAR is involved
  21. I can see a shared UI helper library becoming very popular very fast with plugin devs
  22. After everything else is working. Uptake will depend a lot on what is required for the new system to work nicely (threshold isn't exactly high here, GUI/GUILayout are a PITA to work with, but the existing plugin (I forget which one) that did use the new system didn't exactly look nice to work with either)
  23. So wings don't need any drag cube at all? The dragModelType in the cfg is set to none, but could re-rendering the drag cube (which it's currently doing) affect that?
  24. How did you come to the conclusion that lift/drag is too high? The current lift numbers are based on the advise for mod makers from NathanKell and Porkjet, and the drag is modelled by what should be the same system as KSP uses for every other part
×
×
  • Create New...