Skip to content

Releases: allista/AT_Utils

v1.5.2

10 May 21:15
Compare
Choose a tag to compare
  • Added FeedForward input to PID controllers.
  • Fixed FCO mode switching without changing the anchor.
    • Plus, OrbitAround anchors at CoMs of vessels.
  • CNO saves non-public fileds.
  • Added Ratched trigger; probably not a good name, but still.
    • Anyway, works like this: input is a boolean condition that normally should be True; when it first becomes False, the Ratchet becomes "armed"; then if it becomes True again, the Ratched becomes True itself and stays this way.
  • Added formatting of Vector2(d) to convert_args
  • Added .Draw() method to ITestScenario.
    • Scenarios are created at game start and then only initialized, updated and cleaned.
  • Added Vector2d.Rotate extensions; AtmosphereParams are a struct now.
    • Added Orbit.Contains(UT), ApA/PeAUT, Ap/PeV extensions.
  • Added Vector2d.Angle2 and Vector3(d).ClampDirection extensions.
  • In ValueFileds iformat defaults to format instead of "F1"
    • Made runtime fields non-persistent.
  • Added FuzzyThreshold.Reset() method
  • OscillationDetector.max_filter is assymmetric.
  • Added StallDetector class hierarchy; added ComputationBalancer KSPAddon.
    • ComputationBalancer computes tasks made as IEnumerables (like coroutines) inside its Update event, trying to keep FPS from dropping too low.
    • It works in Flight, Editor and KSC, and also when the game is paused.
    • Also moved ProgressIndicator here from TCA.

v1.5.1

27 Mar 07:45
Compare
Choose a tag to compare
  • Moved HangarSpaceManagers and SubassemblySelector from Hangar here.
    • Moved all addons to Addons subfolder.
    • Moved all modules to Modules subfoldre.
    • Added ResourceInfo CNO to proxy calls to PartResourceDefinition.
  • Added TextureCache static class to load and store fullres icons.
  • SimplePartFilter uses TextureCache.
  • Added direct support for GUID fields to CNO. Added PersistentDictS class.
  • Added ConvexHull3D.MakeMesh method.
  • Fixed SkinnedMeshRenderer handling by the Metric.
    • Using ResourceInfo("ElectricCharge") for static EC information.
    • Added Metric.hull_mesh lazy property.
    • Converted one-liner methods to expression bodies.

v1.5.0

09 Nov 21:18
Compare
Choose a tag to compare
  • Using rel pivot distance instead of constant MAX_DIST for LookAt modes.
  • OnPlanet uses additional PeR check using Orbit.MinPeR extension.
  • Moved AngleTo/DistanceTo/*Pos methods to Coordinates.
  • Added CDOS_Optimizer2D generic 2d-function optimizer. Added BackupLogger addon.
    • CDOS_Optimizer2d_Generic is an implementation of the CDOS algorithm for 2d case.
    • BackupLogger does two things: 1. it copies the full Unity player log each second to a time-tagged file (one per game start) to retain its content in case of accidental game restart. 2. it can log anything to a separate time-tagged (per game start) file.
  • Fixed argument types for ClampMagnitude(Vector3d, double).
  • Using BackupLogger to backup Utils.Log messages in DEBUG mode.
  • Added HierarchicalComparer and ValueFieldBase classes.
    • HC is a container for optimization constrains of different importance. VFB is the base of all field widgets; it adds an important ability to set value with Return key.
  • Removed redundant using-s; removed commented out class embryo.
  • Reimplemented Fileds using ValueFieldBase class.
  • Added Utils.GLLines method to draw polyline more efficiently.
  • Fixed orto_shift; added some more debug logging. WIP still.
  • Commented out logging of stack trace, since KSP Development Build does it anyway.
  • 1.3.1 compatibility of SimplePartFilter (NRE fix)
    • Squad changed capitalization of "Filter by Function" and "Filter by Module". Also can be used #autoLOC_453547 for "Filter by Function" and #autoLOC_453705 for "Filter by Module".
  • Merge pull request #5 from jarosm/patch-1
    • 1.3.1 compatibility of SimplePartFilter (NRE fix)
  • Added optional node_name argument to CNO LoadFrom and SaveInto methods.
  • Added ModuleAsteroidFix to preven asteroids from changing form on load.
  • Using Localizer as suggested by maja.
  • Fixed CrewTransferBatch.
  • Using Angle2 in Markers.
  • Small refactoring of Filters.
  • Added docstrings; added Angle2* methods to Utils.
  • Added Vector6.Inverse and .Slice methods.
  • Added formatComponents(Vector3) method to Utils.
  • SimplePartFilter excludes parts in "none" category.
  • Reimplemented and renamed RelSurf/OrbPos methods of Coordinates.
    • After the implementatino of the corresponding CB methods was changed.
  • Made PID.Action and IntegralAction public. Added setClamp method.
    • Overloaded Update method with (error,speed) signature.
    • Added PIDf_Controller3.
  • Added Reset to OD. Fixed normalization.
  • Fixed CDOS optimizer that stuck at feasible borders.
  • GL methods accept material as mat argument.
  • ValueFields accept value both on Enter and KeypadEnter.
  • Added style argument to *Field.Draw methods.
  • Fixed metric and bounds calculation.
  • Renamed Profiler to AT_Profiler to avoid name clash with Unity.
  • Performance optimizations.

v1.4.4

20 Jun 22:57
Compare
Choose a tag to compare
  • Added kerbal traits and level to CrewTransferWindow; Closed #4
  • Added a slghtly optimized version of GLDrawHull.
  • Converted DebugInfo props of filters into ToString overrides.
  • Added two Utils.LerpTime methods.
  • In SimplePartFilter:
    • Fixed module matching with moduleInfo.moduleName: Converted MODULES to List of strings that is filled with SetMODULES methods that accepts IEnumerable of Types and converts Type.Name to moduleName/categoryName format.
    • Added default implementation of the filter method.

v1.4.3

05 Jun 17:27
Compare
Choose a tag to compare
  • Compatible with KSP-1.3
  • Added simple emailer class (works only with local spooler). Added ScenarioTester framework for automated continious testing.
  • Changed log message upon scenario registration.
  • Added formatTimeDelta, formatCB, formatPatches methods to Utils.
  • Added Extremum.ToString method.
  • Added Vessel.BoundsWithExhaust, Orbit.MinPeR; improved Vessel.Radius calculation.
  • Added ConfigNodeObjectGUI framework. Mainly for debugging.
  • Made Float/Vector3Field implement ITypeUI.
  • Added CreateDefaultOverride method to PluginConfig.
  • Added ClampSignedH/L family of methods, added Circle method to Utils.
  • Made PID.IntegralError public; changed notation of PID class names; added PIDvf and PIDv controllers.
  • Added LookBetween and LookFromTo modes for FCO.
  • Added OrbitAround mode for FCO; changed naming scheme for methods its.
  • Made Bounds an extension of IShipconstruct.

v1.4.2

22 Feb 17:40
Compare
Choose a tag to compare
  • Added patch for FilterExtensions to properly classify APR parts as "proc" bulkheadProfiles.
  • Added SimplePartFilter class to add custom part subcategories.
  • Fixed calculations of subwindow placement in compound windows.
  • Corrected formatOrbit method.
  • Added double version of EWA.
  • Added Multiplexer.ToString
  • Added Coordinates.normailize_coordinates method to deal with any lat/lon.
    • Coordinates are automatically normalized on creation and Load.
    • Added NormalizedLatitude static method.
  • Prev/Next extensions of SortedList return Key instead of Value.
  • Corrected namespace for Markers class.

v1.4.1

05 Feb 23:02
Compare
Choose a tag to compare
  • Sorted GUI classes into subfolders. Added SimpleDialog framework.
  • Included call to GUIWindowBase.can_draw() into doShow property.
  • Removed Closed fields/property from transfer windows; using WindowEnabled instead.
  • Fixed AddonWindowBase.ShowWithButton.
  • Added Utils.MouseInLastElement() method.
  • Changed default control lock type and renamed LockEditor to LockControls.
  • Added Part.HighlightAlways extension.
  • Vessel.Radius extension uses GetTotalMass call instead of totalMass field for unloaded vessels.
  • Changed scroll-bar styles and tooltip color. Merged InitSkin and InitGUI methods of Styles class.
  • Fixed tooltips for scroll-views; limited them in width, enabled word-wrap.
  • Added State.Empty property.
  • Utils.ParseLine now returns empty array instead of null if argument is empty.
  • Added SubmoduleResizable module in a separate dll; for @enceos.
  • Added ToString overrides to all ResourceProxy classes; using ListDict instead of plane Dictionary in VesselResources.
  • Removed transferNow flag from ResourceTransferWindow; added TransferAction delegate instead.

v1.4.0

15 Jan 00:02
Compare
Choose a tag to compare
  • Added no_window style for borderless, titleless transparent window.
  • Fixed PartIsPurchased for ScienceSandbox mode.
  • TooltipManager is now a KSPAddon and is drawing tooltips above everything by itself.
  • Reimplemented GUIWindowBase framework:
    • To save some field in the GUI_CFG, this field has to be tagged with
    • ConfigOption attribute. The Load/SaveConfig handle such fields using Reflection.
    • Added subwindows framework: any field that is a GUIWindowBase itself is automaticaly initialized in Awake and its Save/LoadConfig methods are called when needed.
    • ALL GUIWindowBase, being MonoBehaviour as they are, have to be instantiated using GameObject.AddComponent, not the new keyword. For subwindows this is done automatically. For any GUIWindowBase fields in other classes this should be done by hand.
    • GUIWindowBase tracks scene changes to hide itself when no UI should be shown.
    • Added Move method.
    • window_enabled is true by default.
    • UnlockControls unlocks controls for all subwindows.
    • Moved Show and Toggle methods from AddonWindowBase here.
    • Moved can_draw() from AddonWindowBase here.
    • Renamed AddonWindowBase.Show/Toggle static methods to ShowInstance/ToggleInstance. The instance itself is made public and is now called Instance.
    • Added AddonWindowBase.Show/ToggleWithButton static methods to handle AppLauncher buttons.
  • SimpleDialog uses rich_label style.
  • Added CompoundWindow framework.
    • Added AnchoredWindow, SubWindow and CompoundWindow base classes.
    • Added SubwindowSpec attribute to control SubWindow rendering.
    • Added FloatingWindow as a CompoundWindow subclass.
    • GUIWindowBase:
  • Fixed NRE in Coordinates.GetAtPointer/Search methods.
  • Added InOrbit/OnPlanet Vessel extension methods.

v1.3.1.1

04 Jan 17:11
Compare
Choose a tag to compare
  • Numerous small bugfixes.

v1.3.1

29 Dec 11:27
Compare
Choose a tag to compare
  • Moved CrewTransferBatch from Hangar here.
  • Fixed resource transfer UI.
  • Removed IsPhysicallySignificant as it was obsolete.
  • Improved GLDrawBounds/Point.
  • Fixed Metric calculation: disabled objects are not taken into account + all parts have mass. Fixed #176 issue in Hangar's bugtracker.
  • Moved debug routines into Debugging. Added ResourceHack module to replenish resources in flight.