Releases: allista/AT_Utils
Releases · allista/AT_Utils
v1.10.1
v1.10.0
- KSP: reference changed 1.10.1 => 1.11.1
- APR
update_attach_nodes
:- fixed possible NRE
- extracted partTransform into local variable for better performance
PartUpdaterBase
:- added
OnInit
to separateOnStart
-only logic fromOnLoad
+OnStart
- made
SaveDefaults
protected rather than public - made
Init
protected rather than public
- added
- MultiAnimators
- Using
Part.UpdateCoMOffset
to set CoM inMultiGeometryAnimator
- Using
Metric
:Metric(IShipconstruct)
callsMetric(List<Part>)
- added Metric(IEnumerable)`
- expanded
Metric(vessel)
typing toIList<Part>
for wider usage - improved
partBounds
performance by saving transform position - added support for
PartVariants
Styles
:- using newly instantiated skin during
Init
to get default styles - all box-derived styles support rich-text
- using newly instantiated skin during
CrewTransferBatch
:- added
moveCrew(fromP, toV)
- added
moveCrew(fromP, IList<Part> toParts)
- added
moveCrew(fromV, toP, IEnumerable<ProtoCrewMember>)
- extracted and improved common logic of crew transfer
- fixed
move_crew
logic respawnCrew(fromV, toV)
: despawns infromV
only iffromV != toV
respawnCrew(Vessel)
: always spawns crew inActiveVessel
same_crew_member
takes gender into account
- added
CrewTransferWindow
:- added display of the crew hosting part title
- removed redundant using
- ConstructionUtils: added
GetCrewWithEffect IEnumerable
- PartExtensions:
UpdateAttachedPartPosFlight
: updating child'sorgPos
- added
CompoundPartReconnect disposable
- using
CompoundParts
namespace - reimplemented
AllChildren
andAllConnectedParts
asIEnumerable
- added
AllAttachedParts
- MathUtils
- added
SameSign
function forfloat
anddouble
parameters - added docs for
FromToRotation
- added
- UI/Textures:
- added cogwheels icon
- added helmet icon
- added
InfoPanel
script that usesClickableLabel
to display a list of messages
Indicator
: fixed sound not playing after pause/unpause- LabelFigure prefab: removed default tooltip text and renamed GO for value
UIWindowBase
: addedtoggleColors
protected method- GUIUtils: made
UpdatePartMenu
more robust for older KSP versions - MiscUtils: added
StopTimeWarp
that takes into account auto-warp - Interfaces: added
ISpaceUser
interface for future Hangar+GC cooperation - Merge pull request #24 from HebaruSan/patch-1
- Fix compatibility in remote version file (KSP 1.10.x)
v1.9.6
- AnisotropicPartResizer update 1.4.1
- fixed symmetry counterparts handling and PAW refresh
- improved performance by avoiding unnecessary rescales
- SimpleTextureSwitcher updates PAW of counterpars
when the current texture changes - Reimplemented Part.UpdatePartMenu extension
to fix theRefreshPartContextWindow
problems - Added
FieldWatcher
andFloatFieldWatcher
to conditionally
invoke callbacks onBasePart.OnValueModified
event Vector6
- added
ClampMagnitude
method - renamed
Clamp
method toClampComponents
(theClamp
still works
as before, but is marked as obsolete)
- added
- Renamed all bundles: .ksp => .bundle
Coordinates
: addedNormal
method that returns surface
NVector
of Lat/Lon- UI
FormatUtils
:format...Value
methods always displays 4 digits total
ifformat=null
- added optional
bool formatSmaller
argument to
format(Very)BigValue
methods to indicate that a lesser method
should be used if the value is sufficiently small
FloatController
:- added public
TooltipTrigger
fields for all controls - added
FloatValueUI.SetInteractable
method that sets
corresponding states for relevant controls - uses more efficient
G9
format instead ofR
- added
stepFormat
field to control step buttons text - only set the text if the value has changed
- added public
- Colorizers:
ToggleColorizer
- requires
Toggle
component - fixed usage of
onColorChange
events
- requires
- all colorizers implement
IColorizer
interface to
allow extensions to work GenericColorizer.SetInteractable
only executes when the
state changes
UIWindowBase
- added
standalone
constructor argument that controls the
Save/Load behaviour of the window - added
lock/unlockControls
protected methods
- added
OrbitalExtensions
: fixedApA/PeAUT
andApV/PeV
methodsScenarioTester
- do not show the window in editor
- fixed initialization
PluginState
: added ability to save state conditionally- Fixed singleton logic in
AddonWindowBase
GUIWindowBase
manages its state, since it has[ConfigOption]
fields
v1.9.5
- CC Moved hangar resource tanks to FuelTank category
- OrbitalUtils: added ClearManeuverNodes method
- OrbitalUtils: added Node2OrbitalDeltaV method
- ATGroundAnchor checks for ground contact before engaging
- Added CC patch for the Hyper Propulsion mod
- ATMagneticDamper: added AttractorMaxPower option
- Improved Utils.formatTimeDelta
- CC added resource max amount and max mass display + minor improvements
- Corrected NEEDS of various TANKTYPEs
- Added DebugWindowController static debug helper
- Moved CC configs to AT_Utils GameData and removed CC-Core
- Moved common construction logic to AT_Utils/Construction
- Moved ConstructionSkill to AT_Utils to also use it in CA
- Added ifGreater optional argument to SetUnpackDistance
- NamedDockingNode updates all Events/Actions/Fields
- Added Vessel.Log-Error logging extensions
- Added IConfigNode.ToConfigString extension for debugging
- PartModule.ConfigurationInvalid also logs as Error
- Added Part/Module.Debug/Info/Warning/Error logging methods
- Fixed NRE in PartModule.GetID
- Removed redundant Part.StartState() extension
- Added PartModule.Log(string) extension to avoid props array allocation
v1.9.4.1
v1.9.4
- CC Moved hangar resource tanks to FuelTank category
- OrbitalUtils: added ClearManeuverNodes method
- OrbitalUtils: added Node2OrbitalDeltaV method
- ATGroundAnchor checks for ground contact before engaging
- Added CC patch for the Hyper Propulsion mod
- ATMagneticDamper: added AttractorMaxPower option
- Improved Utils.formatTimeDelta
- CC added resource max amount and max mass display + minor improvements
- Corrected NEEDS of various TANKTYPEs
- Added DebugWindowController static debug helper
- Moved CC configs to AT_Utils GameData and removed CC-Core
- Moved common construction logic to AT_Utils/Construction
- Moved ConstructionSkill to AT_Utils to also use it in CA
- Added ifGreater optional argument to SetUnpackDistance
- NamedDockingNode updates all Events/Actions/Fields
- Added Vessel.Log-Error logging extensions
- Added IConfigNode.ToConfigString extension for debugging
- PartModule.ConfigurationInvalid also logs as Error
- Added Part/Module.Debug/Info/Warning/Error logging methods
- Fixed NRE in PartModule.GetID
- Removed redundant Part.StartState() extension
- Added PartModule.Log(string) extension to avoid props array allocation
v1.9.3
v1.9.2
v1.9.1
- MagneticDamper
- dampPackedVessels works one last time for just-upacked vessels
- PAW group starts collapsed if controls are disabled in MODULE
- added OnDamperAutoDisabled callback
- do not execute late update when not in flight or in pause
- added GetforceForAcceleration public method
- limiting the total force acted upon ALL rigid bodies in the field
- added public attractorAxisW property
- made attractor transform and attractorAxis public
- added auto-deactivation by timer if damper is empty
- renamed AutoEnable gui text to "Field Activation: Auto/Manual"
- added AutoEnable PAW toggle and OndamperAutoEnabled callback
- added dynamic PAW grouping
- disable the module if there's no sensor
- thermal losses are included in energy spent by the damper
- added Thermal Losses to part tooltip in Editor
- renamed EnergyToThermalK to ThermalLossesRatio for clarity
- rename Damper to Sensor and dampers to sensors
- moved all dampening logic from Damper to the main module
- added Damper.VesselsInside set of persistentIds
- extracted addDamper protected method from OnStart
- AddThermalFlux is in kW, not kJ
- generate heat flux while working
- MaxField should be inactive when there's no damper
- corrected MaxField guiName to Damper Max. Force
- using multiple Sensors and thus multiple Dampers
- Added CargoAccelerators assets as a symbolic link; added CA bundle definition
- Added LabelFigure prefab to AT_Utils.UI
- Added FormatUtils.G0 constant
- Added ColorizerBase.UpdateColor and Selectable.SetInteractable extension
- Added Orbital/OrbitalUtils that extends Utils class
- Added Math/PhysicsUtils that extends Utils class; added AngularAcceleration
- Added Utils.FromToRottation - QuaternionD version, since native is broken
- Moved SetUnpackDistance from TCA to VesselExtensions
- Fixed NRE in DEBUG label in TooltipManager
- Fixed ATGroundAnchor that was not working after vessel switch
v1.9.0
- Core:
- Added UniversalDrill to BadParts as per @pmborg finding
- Fixed singleton implementation of BackupLogger
- Fixed singleton implementation of AddonWindowBase
- Fixed singleton implementation of ScenarioTester
- Fixed singleton implementation of ScenarioTester
- Fixed singleton implementation of ComputationBalancer
- Added static bool property ComputationBalancer.Running
- Moved ComputationBalancer to Addons
- Instantiating ToolbarWindow in Awake of the ToolbarManager. Fixed #18
- Added IAnimator interface that describes minimal MultiAnimator protocol
- ATGroundAnchor uses onPartPack/Unpack GameEvents instead of obsolete methods
- Added ability to animate ATGroundAnchor via IAnimator module
- Moved ResourceInfo to Resources
- ResourcePump.Request is now a public ro property
- Part.Title extension method works with part == null
- ATMagneticDamper:
- Damper holds damped vessels still in TimeWarp
- Damper consumes EC when damping something: EnergyConsumptionK
- Damper consumes EC when enabled and idle: IdleEnergyConsumption
- Renamed magnet to attractor
- Attractor power is configurable in flight: AttractorPower
- Attractor may be inverted to become repulsive: InvertAttractor
- Total force that is applied to a rigid body is capped: MaxForce + MaxEnergyConsumption
- Added module info to part tooltip
- The layer of the sensor object is set OnStart: 21 in editor, 2 in flight
- Added ATMagneticDamperUpdater to APR
- When computing relative RB velocity, take angular velocity of the host into account
- Added ability to animate working MagneticDamper with an IAnimator module
- Does not affect Rigidbodies of the same vessel
- VesselSpawner + SpawnSpaceManager:
- When setting external SpaceMetric need to update spawn_space_sorted_size
- Fixed inability of the VesselSpawner to disable launched vessel colliders on time
- Fixed vessel stabilization when spawning to ground
- Added frameCount to log message header
- DebugUtils.formatTransformTree also prints activeSelf and activeInHierarchy
- Moved DEBUG info panel (clock,frameCount,situation) from TCA to TooltipManager
- Anisotropic Part Resizer:
- Fixed PAW freezing when resized part was in symmetry group
- BREAKING: using BaseField.OnValueModified instead
of UI_Control.onFiledChanged to change size/aspect - Added ATMagneticDamperUpdater
- Removed static AnisotropicResizable.unequal
- Set caps for breakingForce/Torque to 50k to be closer
to current stock values - Fixed AnizotropicResizable.GetModuleMass/Cost calculations
- BREAKING: ResourcesUpdater is IPartCostModifier and only
handles resources present in prefab - BREAKING: In Scale treating aspect like size -- with respect
to original aspect - Fixed NRE in JettisonUpdater
- Various small fixes and refactoring
- Multi Animators:
- Forward/ReverseSpeed is changed on rescale
- In editor slow animations are played in 3s despite their duration
- Calculating hasSound and hasEmitter in OnStart once to avoid expencive null check
- Renamed ntime to n_time for clarity
- Removed redundant override of FixedUpdate in MultiLights
- Changed enable/disable light labels in PAW
- Corrected typos
- Deprecated AnimatedGroundAnchor
- Using AT_Utils.IAnimator interface