Difference between revisions of "1.2"
(added commnet link) |
(Changelog added + release date) |
||
Line 1: | Line 1: | ||
− | {{ | + | {{:1.2/Box}} |
+ | Version '''1.2''', named '''Loud & Clear''', is a major update that '''will be released''' on released on October 11, 2016.<ref>http://kerbaldevteam.tumblr.com/post/151352243989/kerbal-space-program-12-loud-clear-release</ref> | ||
− | + | ==Changes== | |
+ | ===Unity 5.4=== | ||
+ | * Engine change from 5.2 to 5.4 - currently 5.4.0p4 | ||
+ | ===Libraries and Packages=== | ||
+ | * Implemented Text Mesh Pro, which basically vectorizes all of our fonts, making them look much better, especially at larger font sizes. Also has a lot of extra utility that we can leverage for various effects. | ||
+ | * Upgraded Vectrosity to latest version. | ||
+ | * Upgraded Vehicle Physics Pro to latest version. | ||
− | + | ===Code cleanup=== | |
+ | * Heavily reduced garbage generation caused by foreach loops, Linq usage, and various other things. | ||
+ | * Made sure that all of our singleton classes properly clean themselves up. | ||
+ | * Optimized KerbalEVA. | ||
+ | * Rewrote CrewManifest and related crew handling (roster, vessel crew list, etc). | ||
+ | * Optimized PartModules. | ||
+ | * Optimize latitude/longitude/altitude calls to often use a combined get-all method. | ||
+ | * Fix how some enumerator interfaces are declared in classes. | ||
+ | * Optimized waypoint site name generation to generate a lot less garbage with its string lists. | ||
+ | * Many part modules now cache parts instead of polling the entire vessel multiple times per frame. | ||
+ | * Revised how most forces and torques are applied (see note on this subject below in Moddability). | ||
+ | * Added DoubleCurve | ||
+ | * ScenarioModules now awake and load during game load and so are valid in modules' OnStart. | ||
+ | * Considerable work to Krakensbane and FloatingOrigin to improve precision and performance and lower garbage. | ||
+ | * Various ISRU fixes and performance improvements. | ||
+ | * Default KSPEvents and KSPActions to being nonpersistent in terms of state. This means all their fields won't be serialized/deserialized to and from the save game files. | ||
+ | * Now always use g0 = 9.80665 and G (big G) = 6.67408e-11 for gravitational constants. | ||
− | + | ===Flow Overhaul=== | |
+ | Rewrote resource flow entirely. Now just four flow modes. Can set per-tank priority for all but AllVessel and NoFlow. Surface crossfeed for rocket engines as well as jets. Fixed priority issues. Much faster. PartResources no longer MonoBehaviours. Can set crossfeed per attach node. Electric Charge now uses STAGE_PRI so can be prioritized. Resource transfer in flight can be set to require valid crossfeed for those resources which obey crossfeed. With Advanced Tweakables on, can see flow graph in VAB/SPH (right-click on a part). | ||
− | + | ===SAS=== | |
+ | * Fixed SAS unlocking for all ships in physics range when maneuvering the ship in focus. | ||
+ | * The code for the older “Stability Assist” and somewhat newer “Pilot Steering” modes has been unified. | ||
+ | * SAS now dynamically adjusts for the vessel’s mass properties and available control authority. | ||
+ | * SAS uses a “stability decay” method to reduce oscillations (or twitching) when very near the target orientation. | ||
+ | * Pilot Steering modes now include a “coast” and “stop” mode when transitioning between steering points. | ||
+ | ===Wheels=== | ||
+ | * WheelColliders are now properly handled by collision manager, and no longer require the wheel "blocking" workaround to clip into other parts. | ||
+ | * Fix hill "sticking" force overcompensating, resulting in a not so slow drift uphill when parked on one with wheels or legs. | ||
+ | * Wheel deployment modules now search along the animation timeline upon retraction for the time closest to where the wheel suspension is located, instead of starting from 100%. This fixes the hop when retracting landing legs. | ||
+ | * Added tweakable that allows player to specify whether his wheels deploy while shielded in a cargo bay. | ||
+ | * Fix landing legs being exported to the wrong collision layer. | ||
+ | * Wheel gravity is now properly handled in a standard manner, which should fix a good deal of instability. | ||
+ | * Fix EVA kerbals blowing up wheels on contact. They now go through them. | ||
+ | * Fixed landing legs teleporting from a semi-deployed state to a semi-retracted state when retracted. | ||
+ | * Wheel damage does not process damage for two seconds after a vessel loads, prevents spontaneous explosions. | ||
+ | * Suspension colliders are no longer disabled for 0.5 seconds upon retract, causing them to fall through the ground momenarily, blowing up your engines. | ||
+ | * Deployable landing gear and legs now have deployment sounds. | ||
− | + | ===Communications Networks=== | |
+ | Additional functionality and gameplay components to the Antenna and Probe parts through a series of distinct but related mechanics. When CommNet is enabled, probes will require a connection back to Kerbin or to a control point to have full control, and crewed vessels lacking pilots will have slightly limited control without such a connection. Relays can extend the range of such connections and bounce signals around planets and moons that would otherwise occlude. Science transmission receives a bonus for high signal strength. New antenna parts allow building complex networks, which can be visualized in map view. See KSPedia for more details. | ||
− | + | ===KerbNet=== | |
+ | * Added KerbNet, which allows the player to see terrain under their satellite, and place custom waypoints with a targeting interface. Allows the player to see biomes and anomalies at higher levels. Scan field of view for KerbNet varies by part and smoothly changes between surface altitude and orbital altitude. | ||
+ | * KerbNet allows all probes and labs manned by a scientist to map as long as they have a communications network connection that eventually bounces to Kerbin. | ||
+ | * Gave KerbNet visibility modes to hide some of the interface around the map. | ||
+ | * Gave KerbNet auto-refresh settings to allow it to refresh without player intervention. | ||
+ | * Gave KerbNet enhanced mode, which activates on some vessels such as rovers to give them better sensors in certain situations. | ||
+ | * Add game option that allows KerbNet to either orient to the orbit normal, preventing flipping when passing over the poles, or to orient to north, which is less disorienting for some players. | ||
+ | * Many aspects of KerbNet given flavor and fluff. Scanning a sun results in yellow and white noise, scanning a gas giant is similar except hued based on that planet. Stars and scan static can appear in the background past the horizon of a scan. | ||
+ | * Resources can specify a scientific abbreviation. Utilized in KerbNet for the mode icon. | ||
− | + | ===Debug Window=== | |
+ | * Completely overhauled the debug window to utilize new Unity GUI. | ||
+ | * New debug console has syntax highlighting that highlights classes with persistent pastel colors if they bracket their names. [Bracket] your class names in debug logs modders. | ||
+ | * New debug console has command input support which is moddable, type /help for a full listing of commands, and what they do. | ||
+ | * Added new debug screen for creating kerbals with specific names, genders, skills, levels, and classes. | ||
+ | * Debug options for displaying errors/exceptions as screen messages. | ||
+ | * Added set orbit debug cheat screen. | ||
+ | * Added rendezvous controls to set orbit debug cheat screen. | ||
− | + | ===Orbits=== | |
+ | * All anomalies (ObT, mean anomaly, eccentric anomaly, true anomaly) are now consistently negative when approaching the periapsis for both elliptical and hyperbolic trajectories (previously, only hyperbolic trajectories used negative anomalies). This means that eccentric anomaly and true anomaly are now in the range -pi..pi instead of 0..2pi for elliptical trajectories. | ||
+ | * Reference frames instead of quaternions are used for calculating orbital position and velocity, leading to increased speed when rendering patched conics. | ||
+ | * Improved precision in orbit calculations. | ||
+ | * Rewrote orbit targeting / closest approach finding. | ||
+ | * Fixed issues where objects jump when going on and off rails. | ||
+ | * Fix target orientation markers when the target is on rails. | ||
+ | * Refactored such that orbital position and velocity and vessel position and velocity are correct for the FixedUpdate cycle. | ||
+ | * Made target relative velocity work for celestial bodies. | ||
+ | * Trajectories that re-encounter a body just escaped are now detected. | ||
+ | * Trajectories that encounter two bodies now correctly show the first encounter even if it is further out (eg, Mun stealing a Minmus encounter). | ||
+ | * Elliptical encounter trajectories no longer flicker. | ||
+ | * Conic patch settings (draw mode and limit) are now exposed in the Video Settings. | ||
+ | * Added game option for legacy orbit targeting. | ||
+ | * Map node labels space themselves out nicely when cluttered. | ||
+ | * Targeting info for moons in other SoIs now works. | ||
+ | |||
+ | ===Contracts=== | ||
+ | * Contracts are now also weighted by celestial body, so if the player starts declining contracts to Jool, they will see them less often. | ||
+ | * Contracts now keep track of if they have been viewed. There are three states: unseen, seen but not clicked, and clicked and read. | ||
+ | * Contract weighting now applies negative weight if a contract has been viewed when it expires. | ||
+ | * Exploration contracts now always appear in Mission Control if there is not one currently available. | ||
+ | * Explore contracts overhauled, they now utilize the same logic World Firsts used to use to select a "package" of related objectives. They can appear multiple times per planet now, and should have a much more logical progression than they used to. | ||
+ | * Exploration contract progression slowed slightly, now requires science on a planet before allowing a fly by of the next one. Also, in the early game, return from orbit and return from fly by are required before advancing on the Muns of the homeworld. | ||
+ | * Removed old single objective World First contracts, other than the initial four. | ||
+ | * Waypoint captions for survey contracts now state the altitude band of each waypoint. | ||
+ | * Fix contract orbits not cleaning up properly when their contracts are cancelled as opposed to completed. | ||
+ | * Grand tour contracts now require a new vessel to complete, so they cannot be cheesed by keeping one around that has seen every planet. | ||
+ | * Fix contextual surveys not properly bouncing the navigation waypoint. | ||
+ | * Asteroid recovery objective reworded and given a note for clarity. | ||
+ | * Asteroid side objectives in facility construction contracts will now not appear unless the same requirements for asteroid recovery contracts to appear are met. | ||
+ | * Crew transfer progress tracking objective reworded to make it clear that it does not need to utilize existing crew. | ||
+ | * Reworded objective to hold above a waypoint in stationary orbit contracts for clarity. | ||
+ | * If Kerbal G limits are enabled, tourists can either require going unconscious or require not going unconscious during the trip. Check the parameter details! | ||
+ | |||
+ | ===Biomes=== | ||
+ | Biomes for many bodies have been redesigned for clarity, beauty, and utility. And we've hidden a few extra surprises around as well! | ||
+ | |||
+ | ===Easter Eggs=== | ||
+ | * Added hidden fun stuff to almost every planet. | ||
+ | * Mohole given an empty PQSCity, which allows it to appear in KerbNet. | ||
+ | * Gave many easter eggs colliders. | ||
+ | * Fix Duna's SSTV not playing. | ||
+ | * Unburied Duna's MSL. | ||
+ | |||
+ | ===Other Work=== | ||
+ | * Advanced Tweakables option in Gameplay Settings. With it off, some advanced features are hidden. Defaults off. | ||
+ | * Autostrutting available for all parts (AT). | ||
+ | * Autostruts can be gated behind a technology in career and science mode defined in Physics.cfg, by default it is the same technology regular struts are on. | ||
+ | * Add grandparent mode to auto-struts. | ||
+ | * Parachutes can have automatic holding of deployment until safe (AT). | ||
+ | * Actuation toggles now affect symmetry counterparts in editor (some other RCS/gimbal bits do too). Also hidden under Advanced Tweakables (AT). | ||
+ | * Utilize HSV color space in more locations. | ||
+ | * Quadrupled the amount of loading screen messages. You know, the important stuff. | ||
+ | * Loads of new options in the difficulty settings. | ||
+ | * Science data can be transferred by the part-part transfer mechanic (for certain probe cores). | ||
+ | * Added physics easing for when landed/splashed vessels come off rails. | ||
+ | * Certain probe cores (and the new science container part) can transfer data with no EVA required. | ||
+ | * There is an additional drag curve whose function is to raise drag coefficient to a power based on the mach number. This leads to blunter things having (relatively) more drag supersonic than they did and pointier things having (relatively) less than they did. Pods will slow down better on steep reentries and planes will produce drag in better proportion to how streamlined they are (less overpowered airplane drag). | ||
+ | * Fairings now include support for placing multiple payloads in them (and showing trusses for said payloads). | ||
+ | * Tourist contracts work better with the Kerbal Gee Tolerance option. | ||
+ | * Add a small negative contract weight for contracts that are read but not accepted. | ||
+ | * Existing resource narrow band scanner ported to KerbNet interface, allowing it to zoom, among other things. | ||
+ | * Removed biome readout information and flag rendering on narrow band scanner. | ||
+ | * Added ellipsis to many text labels and fields, to prevent overflow while looking nice. | ||
+ | * Input keys in the settings screen automatically expand with screen resolution. | ||
+ | * Default parachute deployment mode set to "when safe" - players everywhere rejoice. | ||
+ | * All tooltips cooked to a nice golden color. | ||
+ | * Added Viewmatic Survey Satellite stock relay craft. | ||
+ | * Added /b4d455 command, which starts a game off with basically everything. | ||
+ | * Background ambiance in the space center scene now fades smoothly between birds by day and crickets by night. | ||
+ | * Background ambiance in the space center scene now fades out when at max time warp. | ||
+ | * Background ambiance in general no longer always starts at zero, it randomly seeks when the scene loads. Hence, loading a game no longer immediately plays the exact same bird trill. | ||
+ | * Most stock planes given a look over based on player feedback. | ||
+ | * Added editor part categories for ground, electrical, communication, thermal, payload, and coupling parts. | ||
+ | * Screen message text given much higher visibility. | ||
+ | * Facilities in the space center now have verbose context menus in sandbox mode, allowing you to see their upgrades. They always show the maximum level of upgrades. | ||
+ | * "Require Complete" on antennae is now persistent and its state is saved. | ||
+ | * Added community contest winner kerbal and unique waypoint names. | ||
+ | * Camera can now be pointed at parts, not just vessel center of mass. | ||
+ | * Added Plane and Relay vessel types/icons. | ||
+ | * Airbrakes now have deployment limits. | ||
+ | * Rebalance fairing panel mass downwards slightly. | ||
+ | * Difficulty options for limiting part pressure and G-force tolerance. | ||
+ | * Difficulty option for kerbal G-force tolerance. Kerbals go unconscious if their tolerance is exceeded. | ||
+ | * Slight performance tweaks to some early 1.25m engines. | ||
+ | * Swap around some early science parts in the tech tree. | ||
+ | * Redid Eve's atmospheric pressure curve to smooth it out and remove errors. Eve's atmosphere thins out much faster now, so the high atmosphere is thinner. Also tweaked Jool's atmosphere so it rapidly goes from 15 atmospheres to 50 in the last few kilometers to achieve crushing pressures. | ||
+ | * Can right-click on icons in the staging list to trigger the Part Action Window. | ||
+ | * Support Rigid Attachment (non-bendy) option for part joints in cfg and in the PAW. | ||
+ | * Added an "Action Groups Always Allowed" advanced difficulty option. | ||
+ | * Add 0.625m heat shield. | ||
+ | * Lift from capsules and heat shields better handled to make lifting reentries better (easier). | ||
+ | * Restructured in-flight pause menu to better show all options. | ||
+ | * Don't lock all controls when using Warp To, only some. | ||
+ | * Fix terrain vanishing at 1000m depth. | ||
+ | * Allow targeting of close vessels by double-clicking. | ||
+ | * Angle the canopies of parachutes in symmetry away from each other. | ||
+ | * Resource transfer rate when transferring between parts now based on ingame time (taking warp into account) not realtime. | ||
+ | * Fix issues with TR-2L stats. | ||
+ | * Show tooltips on kerbal portraits. | ||
+ | * Fix scientist skill text. | ||
+ | * Fix issue with ladders not being re-grab-able if you board a seat, retract a ladder, leave the seat, then extend the ladder. | ||
+ | * Update maneuver node patches (for targeting) when the vessel target changes. | ||
+ | |||
+ | ===Misc Fixes and Changes=== | ||
+ | * Fixed issue where disabled RCS would enable during staging. Mods need to set stagingEnabled=False in their ModuleRCS blocks (unless they want staging on). | ||
+ | * Catch exceptions during part loading so the loading process doesn't come to a halt. | ||
+ | * Fix some issues with decouple modules, allow specifying the ejection force vector. | ||
+ | * Try/catch the other PartModule update loops so one bad module doesn't interrupt others. | ||
+ | * Don't try to set constant KSPFields. | ||
+ | * Null check when getting resource mass on unloaded vessels with removed resources. | ||
+ | * Remove some debug spam when querying Science Subjects by ID. | ||
+ | * Fix Resource Display to show all resources correctly. | ||
+ | * Improve launch clamp stability on revert. | ||
+ | * Fix an issue with ModuleTripLogger not applying to kerbals in non-root parts. | ||
+ | * Ablative shields with Ablator tweaked down in the VAB no longer show up pre-scorched in flight. | ||
+ | * Ablative shields no longer show solid black when reaching zero ablator. | ||
+ | * Fix serious regression with flow multipliers in ModuleEnginesFX. | ||
+ | * Fix a wrong rotation in Moment of Intertia calculations. | ||
+ | * Correct stock temperature gauges to use gauge threshold. | ||
+ | * Fixed currency symbols not displaying properly when UI scale is changed by using inline Text Mesh Pro sprites. | ||
+ | * Probe cores now have a hibernate feature which offers only partial control when activated but draws much less electricity. Can be set to automatically hibernate in warp (advanced tweakable). | ||
+ | * Added a game setting for default throttle (rather than keeping it in Physics.cfg). | ||
+ | * Fix bug where space center view can be messed up on loading a save from the main menu if the game was switched away from during load (old workaround was clear the input locks). | ||
+ | * Renamed Science Tech to Scanning Tech since that's what it's for. | ||
+ | * Fixed where CoPOffset and CoLOffset had CoMOffset added to them during application. | ||
+ | * Fixed where an exception during loading of parts would stop the game loading. | ||
+ | * IVA navball works like normal navball (vectors hidden when velocity is too small, radial and normal cues show only in Orbit mode). | ||
+ | * Fix an issue where prop requirement met (on engine menus) was not being intuitively correct. See note in Moddability, below, for how to update jet parts. | ||
+ | * Fix kerbals sliding on ladders. | ||
+ | * For EVA kerbals, 'SAS' light shows whether the kerbal will reorient when a translate key is pressed (as set in Input Settings). T toggles this behavior when in EVA mode. | ||
+ | * Several dialogs (such as quicksave) now accept Escape and Enter keys for dismissing or accepting contents. Science reports accept Tab to cycle messages. | ||
+ | * Quicksave and Quickload hotkeys (F5/F9) work in KSC view. | ||
+ | * The VAB/SPH part search tool now clears when pressing Escape. | ||
+ | * Crossfeed toggle module can now require a technology researched to enable itself. Radial decouplers now cannot toggle crossfeed until Fuel Systems. | ||
+ | * Fixed loader info in saves to not contaminate a stock save if you load a modded save while playing pure stock. | ||
+ | * Can toggle whether navball hides going into map view. | ||
+ | * Can now use antenna's Start Transmission action in control groups. | ||
+ | * Added ability to register credit for Kerbal experience gains in the MPL | ||
+ | * When a Kerbal plants a flag, credit is given to all landed/splashed Kerbals in physics range. Prevents the need to have flag-planting parties with large crews. | ||
+ | * Made celestial bodies rotate in the R&D archives again | ||
+ | * Updated in flight Pause Menu to include Load, Save and Exit options | ||
+ | * Updated in flight quickloads to show more detailed load dialog | ||
+ | * Fix CBAttributeMapSO (biome detection) to use only nearby biomes as candidates, not all biomes. | ||
+ | * Fix for vessels not retaining targets on quickload | ||
+ | * Fix for targeting hanging up in limbo state when reverting to launch | ||
+ | * Fix for losing targeting when switching vessels (such as when docking) | ||
+ | * Targeting properly restores for individual parts (i.e. docking ports) during quickload and vessel switching | ||
+ | * Fix for Tracking station list deselcting active vessel on list changes | ||
+ | * Fix for Map filter hiding the current and/or targetted vessel | ||
+ | * Fix an issue with stars fading in/out instantly. | ||
+ | * Add lift and drag displays back to wings/control surfaces. | ||
+ | * Fix some EVA state issues not updating correctly, leading to kerbals getting stuck 'floating'. | ||
+ | * Retractable landing gear produce less drag than they used to when retracted and much more when extended. | ||
+ | * Enable staging toggling on fairings. | ||
+ | * Fix ModuleSAS in standalone mode using real time not game time for resource requests. | ||
+ | * Properly format facility name in editor exit dialog. | ||
+ | * Stopping near things no longer keeps EVA interaction messages open in map. | ||
+ | * Corrected usage of the word "topology" in ScienceDefs. | ||
+ | * Settings screen does not actually set the resolution unless the resolution actually changes. | ||
+ | * Mark 2 docking port given the same tooltips as other docking ports. | ||
+ | * World First speed, distance, and altitude records can no longer be set while in a prelaunch state. | ||
+ | * Fix engineer report entries not updating when their icons change. | ||
+ | * Fix Skywinder stock vessel having no description. | ||
+ | * Fix typos in stock "SatelliteLauncher" craft file. | ||
+ | * Fix early game progression cheat not unlocking the science progress node. | ||
+ | * Manufacturer added to mystery goo. | ||
+ | * Part search now splits search terms on dashes, fixing searches for several engine designations, and things like "Convert-O-Tron". | ||
+ | * Version text made more visible in experimental builds. | ||
+ | * Using curly braces in a vessel name no longer obliterates the universe. | ||
+ | * Resource scanners now show "0%" rather than "Unknown" if the area is known, but the resource abundance is super low. | ||
+ | * Remove roll torque on docking ports (by default). | ||
+ | * Fix pod lights not being in Lights action group by default. | ||
+ | * Fix some zeroed attachment vectors on parts leading to log spam. | ||
+ | * Fix drag from struts and fuel lines. | ||
+ | * Vessel G-force is now reported correctly when on rails. | ||
+ | * Fix issue with ModuleDeployablePart (and solar panels, which derive from it) always reporting multiple drag cubes even when the animation isn't the panel's and it doesn't track the sun. | ||
+ | * Fix long-standing bug with FlightLogger not logging Gs right. | ||
+ | * Fix missing manufacturer for Mystery Goo. | ||
+ | * Ion engine now has resource bars, and will leave a tiny bit of EC remaining when drawing EC so the vessel can still be controlled. | ||
+ | * Fix issue with ladder tests in Engineer's Report. | ||
+ | * Fix explosions moving with vessel. | ||
+ | * Fix issue with command seat and docking port joints. | ||
+ | * Fix vessel counts in vessel type filters. | ||
+ | * Fix shielded docking ports to not be stageable. | ||
+ | * Fix issue where parts would play their staging FX on load, not just on staging. | ||
+ | * Fix an issue with zero drag area breaking physics. | ||
+ | * Deactivate Lab if it is activated and no scientists are present. | ||
+ | * Improve stars' fade-in-fade-out during dawn and dusk. | ||
+ | * Fix issue where loading an unloaded vessel with a converter will lead to it not processing all ore. | ||
+ | * Default to not logging (to flight logger or to the log file) when engine exhaust heats a part. | ||
+ | * Show negative funds and negative altitudes (depth) by turning the widget red. | ||
+ | * Fix issue with screen rotating when KSP is not the active application. | ||
+ | * Ignore launch clamps when getting craft size for facility checks. | ||
+ | * Fix CoP/CoL on two fins being off. | ||
+ | * When finding first vessel control source, require crewed parts to also have the command module on them before they are valid candidates. | ||
+ | * IVA radar altitude gauge shows height from seabed when underwater. | ||
+ | * Fix initial rotation of LT-1 and LT-2 landing legs. | ||
+ | * Don't allow docking port shields to be closed while docked. | ||
+ | * RCS thrust forces array properly zeroed when RCS is not firing. | ||
+ | * Fix Offset Gizmo issue for surface mounted parts with colliders that don't cover the entire visual model (like the LY-01). They will no longer jump when an offset is attempted. | ||
+ | * Fix vessels/kerbals landed on other vessels teleporting to the ground on load. | ||
+ | * Fix issue with a kerbal targeting a vessel and boarding it leading to maneuver node functionality being broken. | ||
+ | * Fix wrong vessel being made dominant during docking if the docking is so fast as to skip the acquire phase. | ||
+ | * Fix Aero FX being improperly applied to some explosion FX causing square particles and slowdown. | ||
+ | * Fix planet orbits sometimes not responding to clicks (or responding when clicked off-orbit). | ||
+ | * Empty science containers (or containers with limited capacity) may show experiment count/capacity. | ||
+ | * Fix problems with sliding maneuver nodes. | ||
+ | * Fix landing legs exploding when landing on Gilly. | ||
+ | * Fix handling of mouse interaction with solar escape trajectories (for maneuver node placement). | ||
+ | * Fix bad things happening when quickloading while warping. | ||
+ | * Fix IVA overlay button not always responding. | ||
+ | |||
+ | ===Moddability=== | ||
+ | API Docs: https://kerbalspaceprogram.com/api/index.html | ||
+ | * Added FlightGlobals.VesselsLoaded and FlightGlobals.VesselsUnloaded which lets us iterate over a specific portion of Vessels without checking the entire list. | ||
+ | * Added onVesselPartCountChanged event, fires any time a part is added or removed, the moment it happens, unlike onVesselModified. | ||
+ | * Added onVesselStandardModification event, collects various vessel events and fires them off with a single one. (onVesselPartCountChanged, onVesselModified, docked, undocked, et al) | ||
+ | * Added onScreenResolutionModified event, fires when the screen resolution is modified. | ||
+ | * Added many accessors/setters. | ||
+ | * Vessel control level can be clamped to a field in Vessel (so can be restricted to Partial even if otherwise would be Full). | ||
+ | * GetModuleMass/Cost methods can now be passed the situation. | ||
+ | * Fix where kerbal mass (if set to nonzero) was not applied in the editor. | ||
+ | * Added two new dictionary-related classes (DictionaryValueList and ListDictionary). | ||
+ | * Celestial bodies now cache all of their PQS Cities. | ||
+ | * All game root nodes now generate a random persistent seed, which is different | ||
+ | from game to game. | ||
+ | * All forces on valid parts except wheel forces are now done via Part.AddForce/Torque/AddForceAtPosition. Note that the forcemode used is Force; to use a different forcemode, convert the force to the correct amount. It is the job of the Flight Integrator to then apply all these forces to actual rigidbodies (rather than all the disparate modules' job). | ||
+ | * Use mass-weighted average angular velocity of parts for vessel angular velocity. | ||
+ | * ITorqueProvider now reports two Vector3s, positive torque (that produced by control actuation 1,1,1) and negative torque (that produced by -1,-1,-1). | ||
+ | * Added various accessors. | ||
+ | * Node definitions can take an extra digit after size, either 0 or 1: that sets whether the node can crossfeed. Defaults to 1 (yes). NODE definitions can take crossfeed = True/False | ||
+ | * ModuleEngines now supports `clampPropReceived = True`. This will clamp the ratio of propellant requested based on prior results, so if IntakeAir is listed first and less than the full requirement is returned, it will request only that ratio of further propellants. In this case the "Prop Req Met" display will show the minimum requirement-met ratio rather than the average. Engines that use IntakeAir (or other cases like that) need to have `clampPropReceived = True` in each of their MODULEs that do that, and need to have that PROPELLANT first and the other PROPELLANTs later. See stock jet cfgs for examples. | ||
+ | * Added another crew transfer event. | ||
+ | * Added more startup options for KSPAddon | ||
+ | * Allow kerbals to have/save/load arbitrary experience points. | ||
+ | * ResearchAndDevelopment.GetTechnologyTitle(string id) will convert a tech ID to a tech title and is available as soon as parts start loading (can be used in GetInfo() ). | ||
+ | * Support max pressure (dynamic + static), `maxPressure`, and max G, `gTolerance`, for parts. | ||
+ | * Added system to allow mods to add custom difficulty settings. | ||
+ | * Added CelestialBody.hasSurface so mods that add a PQSController to gas giant don't cause silly things such as "Plant a flag on Jool" contracts. | ||
+ | * Replaced all checks for experience traits (Pilot, Scientist, Engineer) with individual experience effects. They are now loaded before part loading so can be queried in GetInfo(). | ||
+ | * Icons in TechTree.cfg can now use a relative path (allows mod icons to live outside the Squad directory). | ||
+ | * Added KSPAssemblyDependencyEqualMajor as an attribute. Use instead of KSPAssemblyDependency if you want to force requiring the stated major version, not >= the major version, from your dependency. | ||
+ | * If you are setting a vessel's position and/or changing its orbit, call Vessel.IgnoreGForces(framecount) on the vessel for the number of frames that g forces should be ignored (try 1, then 2 if that doesn't work, etc). | ||
+ | * ModuleDeployablePart (covers antennas, solars, radiators) also has a gResistance (for Gs) as well as windResistance (for Q). | ||
+ | * Crew transfer now derives from a generic abstract PartItemTransfer class. Classes can derive from it to implement any kind of (crew transfer-style) part-part transfer. Also we fire an event right before a crew transfer is created so mods can just kill it and easily create their own CrewTransfer-derived class and have that be called on that event. | ||
+ | * Extended ModuleScienceContainer to allow sending and, (from ModuleScienceExperiment) receiving, experiment data. Also added support for a Collect All option to such containers. | ||
+ | * ModuleColorChanger supports changing arbitrary shader colors and implements IScalarModule. ModuleAnimationSetter works similarly and is used to more directly link an animation to being set by IScalarModule. | ||
+ | * PartModules now support upgrades. In a MODULE node, add an UPGRADE node. Inside that add one node per techID you wish to provide upgrades, in ascending order. Inside that place keys and nodes you wish to upgrade. e.g. `UPGRADES { basicRocketry { maxThrust = 250 } }` will change maxThrust to 250 once basicRocketry unlocks. Upgrades will never override persistent data. Further, by default they overwrite each other; to make a node apply on a clean slate (so you can, say, add two PROPELLANT nodes and not have them conflict due to the overwrite logic) set `IsExclusiveUpgrade__ = True` in the upgrade's node. That will clear the upgrade state and apply that upgrade fresh. Upgrades are applied only when you add a part to a craft in the VAB/SPH, they don't magically apply in flight. When a part on a craft is upgraded, a new option will appear in the PAW (when in VAB/SPH) where you can view the current stats of all those modules with upgrades. | ||
+ | * ModuleEngines now supports alternate (RealFuels-style) throttling and rates. | ||
+ | * ModuleEngines now supports throttle-Isp interactions. Turn on with useThrottleIspCurve = True and set the throttleIspCurve and throttleIspCurveAtmStrength curves. Final Isp = input Isp * Lerp(1, throttleIspCurve.Eval(throttle state), throttleIspCurveAtmStrength.Eval(atms of pressure)) | ||
+ | * Support part upgrades, see docs. | ||
+ | * Added events dealing with kerbals going on/off ladders on parts and added a new vessel field for accessing the vessel of the part of the ladder the kerbal is climbing (if all of those are valid). | ||
+ | * CelestialBody now has thermo/atmo stats methods so FlightIntegrator's temperature calcs can be called from anywhere / any mod. | ||
+ | * Events that throw an exception now print the full stack trace. | ||
+ | * PartModuleUtil.PrintResourceSI() is now just KSPUtil.PrintSI(). | ||
+ | * Add ModuleDragAreaModifier with field areaFactor. Note: this will also affect buoyancy and thermo. | ||
+ | * Added ModuleHeatEffects and FXModuleThrottleEffects which can take any number of IScalarModules and are set by skin temp and throttle respectively. | ||
+ | * AvailablePart.entryCost is now get-only and calls a static delegate so they can be | ||
+ | * FindEngineNearby and FindEngineInterface are now PartModuleList methods instead of being duplicates in FXModuleAnimateThrottle and ModuleAlternator. | ||
+ | * Many KerbalEVA, Kerbal, and KerbalExpressionSystem methods made virtual, and kerbal spawning in ProtoCrewMember and EVA spawning in FlightEVA made delegates. | ||
+ | * Added IContractObjectiveModule, which allows mods to specify valid parts for contract objectives, rather than it being configuration based. | ||
+ | * Waypoint captions on the map are now moddable. | ||
+ | * Added game events for CommNet status changes both for the connection in general and the connection to KSC. | ||
+ | * Added game event that fires when PQS starts, just before the sphere is started. | ||
+ | * Added game event that fires when PQSCities start. | ||
+ | * Added game event for orbital resource survey completion. | ||
+ | * Added game event for vessel control state changing. | ||
+ | * Orbit now has a constructor that clones another orbit. | ||
+ | * Vessel now has a method to kill all parts in permanent ground contact (eg: launch clamps). | ||
+ | * Added ModuleGenerator.isGroundFixture for launch clamps. | ||
+ | * The "escape" progress milestone now uses standard World First award methods, which allows it to be disabled by mods properly. | ||
+ | * Icon_Hidden tag now hides all children of the transform so tagged. | ||
+ | * Add requiresFullControl to events, actions, and UI controls. If false, will work normally in full and partial control and refuse to work only with no control. If true, will work only with full control. | ||
+ | * AssemblyLoader ignores abstract classes. | ||
+ | * Support symbols in the font. | ||
+ | * Made Kerbals and EVA kerbals more moddable. EVAs and the flag now have partial part cfgs which can be modded. All Kerbal and KerbalEVA methods are virtual and the FSM is opened up. New hooks added. | ||
+ | * Made vessel load/unload/pack/unpack ranges changeable in Physics.cfg. | ||
+ | * Support adding options to the game difficulty screen. | ||
+ | * Vessel now has radarAltitude. Use it for min(altitude, heightFromTerrain) | ||
+ | * add PartModule.OnIconCreate which runs just before the partmodule is stripped from the icon gameobject when the editor part icon is being created. | ||
+ | * Particle systems can be registered with FloatingOrigin for handling origin/krakensbane offsetting natively. | ||
+ | * ProtoPartResourceSnapshot no longer relies on strings, and its resourceValues node is now inaccessible. Instead, directly get / set the amount/maxAmount/flowState. | ||
+ | * PartModules now come with a resHandler object (of type ModuleResourceHandler) for handling ModuleResource / RESOURCE nodes, so code need not be duplicated. | ||
+ | * When a landed vessel goes off rails and is detected to be landed on parts, not the ground, it is offset up slightly, controlled by one static Vessel field HeightFromPartOffsetGlobal (default 0.5 meters) and one instance field heightFromPartOffsetLocal (default 0 meters). The vessel is offset upwards the sum of those two fields. | ||
+ | * Fix OnVesselSwitching always sending a null reference, add OnVesselSwitchingUnloaded. | ||
+ | * Allow reference to Kerbal's animator cache and renderer cache. | ||
+ | * Add map toggle interface for mods. | ||
+ | * OrbitTargeter opened up, delegate added for creating the on-click context menus so they can be modded. | ||
+ | * Add delegates so KB apps can be modded. | ||
+ | * Add currency-agnostic CanAfford method. | ||
+ | * Add many more options to ModuleLiftingSurface and for customizing body lift. | ||
+ | * ModuleAnimateGeneric now supports defaultActionGroup. | ||
+ | * ConfigNode now formats float and double values such that no data is lost. | ||
+ | * ConfigNode AddValue/SetValue now support most types. | ||
+ | * Flag decals in IVAs (InternalFlagDecal module) | ||
= References = | = References = |
Revision as of 10:26, 6 October 2016
1.2 Official release | ||
Released | 10/11/2016 | |
Steam | Steam Community | |
← 1.1.3 1.2.1 → | ||
⇐ 1.11.3 ⇒ |
Version 1.2, named Loud & Clear, is a major update that will be released on released on October 11, 2016.[1]
Contents
Changes
Unity 5.4
- Engine change from 5.2 to 5.4 - currently 5.4.0p4
Libraries and Packages
- Implemented Text Mesh Pro, which basically vectorizes all of our fonts, making them look much better, especially at larger font sizes. Also has a lot of extra utility that we can leverage for various effects.
- Upgraded Vectrosity to latest version.
- Upgraded Vehicle Physics Pro to latest version.
Code cleanup
- Heavily reduced garbage generation caused by foreach loops, Linq usage, and various other things.
- Made sure that all of our singleton classes properly clean themselves up.
- Optimized KerbalEVA.
- Rewrote CrewManifest and related crew handling (roster, vessel crew list, etc).
- Optimized PartModules.
- Optimize latitude/longitude/altitude calls to often use a combined get-all method.
- Fix how some enumerator interfaces are declared in classes.
- Optimized waypoint site name generation to generate a lot less garbage with its string lists.
- Many part modules now cache parts instead of polling the entire vessel multiple times per frame.
- Revised how most forces and torques are applied (see note on this subject below in Moddability).
- Added DoubleCurve
- ScenarioModules now awake and load during game load and so are valid in modules' OnStart.
- Considerable work to Krakensbane and FloatingOrigin to improve precision and performance and lower garbage.
- Various ISRU fixes and performance improvements.
- Default KSPEvents and KSPActions to being nonpersistent in terms of state. This means all their fields won't be serialized/deserialized to and from the save game files.
- Now always use g0 = 9.80665 and G (big G) = 6.67408e-11 for gravitational constants.
Flow Overhaul
Rewrote resource flow entirely. Now just four flow modes. Can set per-tank priority for all but AllVessel and NoFlow. Surface crossfeed for rocket engines as well as jets. Fixed priority issues. Much faster. PartResources no longer MonoBehaviours. Can set crossfeed per attach node. Electric Charge now uses STAGE_PRI so can be prioritized. Resource transfer in flight can be set to require valid crossfeed for those resources which obey crossfeed. With Advanced Tweakables on, can see flow graph in VAB/SPH (right-click on a part).
SAS
- Fixed SAS unlocking for all ships in physics range when maneuvering the ship in focus.
- The code for the older “Stability Assist” and somewhat newer “Pilot Steering” modes has been unified.
- SAS now dynamically adjusts for the vessel’s mass properties and available control authority.
- SAS uses a “stability decay” method to reduce oscillations (or twitching) when very near the target orientation.
- Pilot Steering modes now include a “coast” and “stop” mode when transitioning between steering points.
Wheels
- WheelColliders are now properly handled by collision manager, and no longer require the wheel "blocking" workaround to clip into other parts.
- Fix hill "sticking" force overcompensating, resulting in a not so slow drift uphill when parked on one with wheels or legs.
- Wheel deployment modules now search along the animation timeline upon retraction for the time closest to where the wheel suspension is located, instead of starting from 100%. This fixes the hop when retracting landing legs.
- Added tweakable that allows player to specify whether his wheels deploy while shielded in a cargo bay.
- Fix landing legs being exported to the wrong collision layer.
- Wheel gravity is now properly handled in a standard manner, which should fix a good deal of instability.
- Fix EVA kerbals blowing up wheels on contact. They now go through them.
- Fixed landing legs teleporting from a semi-deployed state to a semi-retracted state when retracted.
- Wheel damage does not process damage for two seconds after a vessel loads, prevents spontaneous explosions.
- Suspension colliders are no longer disabled for 0.5 seconds upon retract, causing them to fall through the ground momenarily, blowing up your engines.
- Deployable landing gear and legs now have deployment sounds.
Communications Networks
Additional functionality and gameplay components to the Antenna and Probe parts through a series of distinct but related mechanics. When CommNet is enabled, probes will require a connection back to Kerbin or to a control point to have full control, and crewed vessels lacking pilots will have slightly limited control without such a connection. Relays can extend the range of such connections and bounce signals around planets and moons that would otherwise occlude. Science transmission receives a bonus for high signal strength. New antenna parts allow building complex networks, which can be visualized in map view. See KSPedia for more details.
KerbNet
- Added KerbNet, which allows the player to see terrain under their satellite, and place custom waypoints with a targeting interface. Allows the player to see biomes and anomalies at higher levels. Scan field of view for KerbNet varies by part and smoothly changes between surface altitude and orbital altitude.
- KerbNet allows all probes and labs manned by a scientist to map as long as they have a communications network connection that eventually bounces to Kerbin.
- Gave KerbNet visibility modes to hide some of the interface around the map.
- Gave KerbNet auto-refresh settings to allow it to refresh without player intervention.
- Gave KerbNet enhanced mode, which activates on some vessels such as rovers to give them better sensors in certain situations.
- Add game option that allows KerbNet to either orient to the orbit normal, preventing flipping when passing over the poles, or to orient to north, which is less disorienting for some players.
- Many aspects of KerbNet given flavor and fluff. Scanning a sun results in yellow and white noise, scanning a gas giant is similar except hued based on that planet. Stars and scan static can appear in the background past the horizon of a scan.
- Resources can specify a scientific abbreviation. Utilized in KerbNet for the mode icon.
Debug Window
- Completely overhauled the debug window to utilize new Unity GUI.
- New debug console has syntax highlighting that highlights classes with persistent pastel colors if they bracket their names. [Bracket] your class names in debug logs modders.
- New debug console has command input support which is moddable, type /help for a full listing of commands, and what they do.
- Added new debug screen for creating kerbals with specific names, genders, skills, levels, and classes.
- Debug options for displaying errors/exceptions as screen messages.
- Added set orbit debug cheat screen.
- Added rendezvous controls to set orbit debug cheat screen.
Orbits
- All anomalies (ObT, mean anomaly, eccentric anomaly, true anomaly) are now consistently negative when approaching the periapsis for both elliptical and hyperbolic trajectories (previously, only hyperbolic trajectories used negative anomalies). This means that eccentric anomaly and true anomaly are now in the range -pi..pi instead of 0..2pi for elliptical trajectories.
- Reference frames instead of quaternions are used for calculating orbital position and velocity, leading to increased speed when rendering patched conics.
- Improved precision in orbit calculations.
- Rewrote orbit targeting / closest approach finding.
- Fixed issues where objects jump when going on and off rails.
- Fix target orientation markers when the target is on rails.
- Refactored such that orbital position and velocity and vessel position and velocity are correct for the FixedUpdate cycle.
- Made target relative velocity work for celestial bodies.
- Trajectories that re-encounter a body just escaped are now detected.
- Trajectories that encounter two bodies now correctly show the first encounter even if it is further out (eg, Mun stealing a Minmus encounter).
- Elliptical encounter trajectories no longer flicker.
- Conic patch settings (draw mode and limit) are now exposed in the Video Settings.
- Added game option for legacy orbit targeting.
- Map node labels space themselves out nicely when cluttered.
- Targeting info for moons in other SoIs now works.
Contracts
- Contracts are now also weighted by celestial body, so if the player starts declining contracts to Jool, they will see them less often.
- Contracts now keep track of if they have been viewed. There are three states: unseen, seen but not clicked, and clicked and read.
- Contract weighting now applies negative weight if a contract has been viewed when it expires.
- Exploration contracts now always appear in Mission Control if there is not one currently available.
- Explore contracts overhauled, they now utilize the same logic World Firsts used to use to select a "package" of related objectives. They can appear multiple times per planet now, and should have a much more logical progression than they used to.
- Exploration contract progression slowed slightly, now requires science on a planet before allowing a fly by of the next one. Also, in the early game, return from orbit and return from fly by are required before advancing on the Muns of the homeworld.
- Removed old single objective World First contracts, other than the initial four.
- Waypoint captions for survey contracts now state the altitude band of each waypoint.
- Fix contract orbits not cleaning up properly when their contracts are cancelled as opposed to completed.
- Grand tour contracts now require a new vessel to complete, so they cannot be cheesed by keeping one around that has seen every planet.
- Fix contextual surveys not properly bouncing the navigation waypoint.
- Asteroid recovery objective reworded and given a note for clarity.
- Asteroid side objectives in facility construction contracts will now not appear unless the same requirements for asteroid recovery contracts to appear are met.
- Crew transfer progress tracking objective reworded to make it clear that it does not need to utilize existing crew.
- Reworded objective to hold above a waypoint in stationary orbit contracts for clarity.
- If Kerbal G limits are enabled, tourists can either require going unconscious or require not going unconscious during the trip. Check the parameter details!
Biomes
Biomes for many bodies have been redesigned for clarity, beauty, and utility. And we've hidden a few extra surprises around as well!
Easter Eggs
- Added hidden fun stuff to almost every planet.
- Mohole given an empty PQSCity, which allows it to appear in KerbNet.
- Gave many easter eggs colliders.
- Fix Duna's SSTV not playing.
- Unburied Duna's MSL.
Other Work
- Advanced Tweakables option in Gameplay Settings. With it off, some advanced features are hidden. Defaults off.
- Autostrutting available for all parts (AT).
- Autostruts can be gated behind a technology in career and science mode defined in Physics.cfg, by default it is the same technology regular struts are on.
- Add grandparent mode to auto-struts.
- Parachutes can have automatic holding of deployment until safe (AT).
- Actuation toggles now affect symmetry counterparts in editor (some other RCS/gimbal bits do too). Also hidden under Advanced Tweakables (AT).
- Utilize HSV color space in more locations.
- Quadrupled the amount of loading screen messages. You know, the important stuff.
- Loads of new options in the difficulty settings.
- Science data can be transferred by the part-part transfer mechanic (for certain probe cores).
- Added physics easing for when landed/splashed vessels come off rails.
- Certain probe cores (and the new science container part) can transfer data with no EVA required.
- There is an additional drag curve whose function is to raise drag coefficient to a power based on the mach number. This leads to blunter things having (relatively) more drag supersonic than they did and pointier things having (relatively) less than they did. Pods will slow down better on steep reentries and planes will produce drag in better proportion to how streamlined they are (less overpowered airplane drag).
- Fairings now include support for placing multiple payloads in them (and showing trusses for said payloads).
- Tourist contracts work better with the Kerbal Gee Tolerance option.
- Add a small negative contract weight for contracts that are read but not accepted.
- Existing resource narrow band scanner ported to KerbNet interface, allowing it to zoom, among other things.
- Removed biome readout information and flag rendering on narrow band scanner.
- Added ellipsis to many text labels and fields, to prevent overflow while looking nice.
- Input keys in the settings screen automatically expand with screen resolution.
- Default parachute deployment mode set to "when safe" - players everywhere rejoice.
- All tooltips cooked to a nice golden color.
- Added Viewmatic Survey Satellite stock relay craft.
- Added /b4d455 command, which starts a game off with basically everything.
- Background ambiance in the space center scene now fades smoothly between birds by day and crickets by night.
- Background ambiance in the space center scene now fades out when at max time warp.
- Background ambiance in general no longer always starts at zero, it randomly seeks when the scene loads. Hence, loading a game no longer immediately plays the exact same bird trill.
- Most stock planes given a look over based on player feedback.
- Added editor part categories for ground, electrical, communication, thermal, payload, and coupling parts.
- Screen message text given much higher visibility.
- Facilities in the space center now have verbose context menus in sandbox mode, allowing you to see their upgrades. They always show the maximum level of upgrades.
- "Require Complete" on antennae is now persistent and its state is saved.
- Added community contest winner kerbal and unique waypoint names.
- Camera can now be pointed at parts, not just vessel center of mass.
- Added Plane and Relay vessel types/icons.
- Airbrakes now have deployment limits.
- Rebalance fairing panel mass downwards slightly.
- Difficulty options for limiting part pressure and G-force tolerance.
- Difficulty option for kerbal G-force tolerance. Kerbals go unconscious if their tolerance is exceeded.
- Slight performance tweaks to some early 1.25m engines.
- Swap around some early science parts in the tech tree.
- Redid Eve's atmospheric pressure curve to smooth it out and remove errors. Eve's atmosphere thins out much faster now, so the high atmosphere is thinner. Also tweaked Jool's atmosphere so it rapidly goes from 15 atmospheres to 50 in the last few kilometers to achieve crushing pressures.
- Can right-click on icons in the staging list to trigger the Part Action Window.
- Support Rigid Attachment (non-bendy) option for part joints in cfg and in the PAW.
- Added an "Action Groups Always Allowed" advanced difficulty option.
- Add 0.625m heat shield.
- Lift from capsules and heat shields better handled to make lifting reentries better (easier).
- Restructured in-flight pause menu to better show all options.
- Don't lock all controls when using Warp To, only some.
- Fix terrain vanishing at 1000m depth.
- Allow targeting of close vessels by double-clicking.
- Angle the canopies of parachutes in symmetry away from each other.
- Resource transfer rate when transferring between parts now based on ingame time (taking warp into account) not realtime.
- Fix issues with TR-2L stats.
- Show tooltips on kerbal portraits.
- Fix scientist skill text.
- Fix issue with ladders not being re-grab-able if you board a seat, retract a ladder, leave the seat, then extend the ladder.
- Update maneuver node patches (for targeting) when the vessel target changes.
Misc Fixes and Changes
- Fixed issue where disabled RCS would enable during staging. Mods need to set stagingEnabled=False in their ModuleRCS blocks (unless they want staging on).
- Catch exceptions during part loading so the loading process doesn't come to a halt.
- Fix some issues with decouple modules, allow specifying the ejection force vector.
- Try/catch the other PartModule update loops so one bad module doesn't interrupt others.
- Don't try to set constant KSPFields.
- Null check when getting resource mass on unloaded vessels with removed resources.
- Remove some debug spam when querying Science Subjects by ID.
- Fix Resource Display to show all resources correctly.
- Improve launch clamp stability on revert.
- Fix an issue with ModuleTripLogger not applying to kerbals in non-root parts.
- Ablative shields with Ablator tweaked down in the VAB no longer show up pre-scorched in flight.
- Ablative shields no longer show solid black when reaching zero ablator.
- Fix serious regression with flow multipliers in ModuleEnginesFX.
- Fix a wrong rotation in Moment of Intertia calculations.
- Correct stock temperature gauges to use gauge threshold.
- Fixed currency symbols not displaying properly when UI scale is changed by using inline Text Mesh Pro sprites.
- Probe cores now have a hibernate feature which offers only partial control when activated but draws much less electricity. Can be set to automatically hibernate in warp (advanced tweakable).
- Added a game setting for default throttle (rather than keeping it in Physics.cfg).
- Fix bug where space center view can be messed up on loading a save from the main menu if the game was switched away from during load (old workaround was clear the input locks).
- Renamed Science Tech to Scanning Tech since that's what it's for.
- Fixed where CoPOffset and CoLOffset had CoMOffset added to them during application.
- Fixed where an exception during loading of parts would stop the game loading.
- IVA navball works like normal navball (vectors hidden when velocity is too small, radial and normal cues show only in Orbit mode).
- Fix an issue where prop requirement met (on engine menus) was not being intuitively correct. See note in Moddability, below, for how to update jet parts.
- Fix kerbals sliding on ladders.
- For EVA kerbals, 'SAS' light shows whether the kerbal will reorient when a translate key is pressed (as set in Input Settings). T toggles this behavior when in EVA mode.
- Several dialogs (such as quicksave) now accept Escape and Enter keys for dismissing or accepting contents. Science reports accept Tab to cycle messages.
- Quicksave and Quickload hotkeys (F5/F9) work in KSC view.
- The VAB/SPH part search tool now clears when pressing Escape.
- Crossfeed toggle module can now require a technology researched to enable itself. Radial decouplers now cannot toggle crossfeed until Fuel Systems.
- Fixed loader info in saves to not contaminate a stock save if you load a modded save while playing pure stock.
- Can toggle whether navball hides going into map view.
- Can now use antenna's Start Transmission action in control groups.
- Added ability to register credit for Kerbal experience gains in the MPL
- When a Kerbal plants a flag, credit is given to all landed/splashed Kerbals in physics range. Prevents the need to have flag-planting parties with large crews.
- Made celestial bodies rotate in the R&D archives again
- Updated in flight Pause Menu to include Load, Save and Exit options
- Updated in flight quickloads to show more detailed load dialog
- Fix CBAttributeMapSO (biome detection) to use only nearby biomes as candidates, not all biomes.
- Fix for vessels not retaining targets on quickload
- Fix for targeting hanging up in limbo state when reverting to launch
- Fix for losing targeting when switching vessels (such as when docking)
- Targeting properly restores for individual parts (i.e. docking ports) during quickload and vessel switching
- Fix for Tracking station list deselcting active vessel on list changes
- Fix for Map filter hiding the current and/or targetted vessel
- Fix an issue with stars fading in/out instantly.
- Add lift and drag displays back to wings/control surfaces.
- Fix some EVA state issues not updating correctly, leading to kerbals getting stuck 'floating'.
- Retractable landing gear produce less drag than they used to when retracted and much more when extended.
- Enable staging toggling on fairings.
- Fix ModuleSAS in standalone mode using real time not game time for resource requests.
- Properly format facility name in editor exit dialog.
- Stopping near things no longer keeps EVA interaction messages open in map.
- Corrected usage of the word "topology" in ScienceDefs.
- Settings screen does not actually set the resolution unless the resolution actually changes.
- Mark 2 docking port given the same tooltips as other docking ports.
- World First speed, distance, and altitude records can no longer be set while in a prelaunch state.
- Fix engineer report entries not updating when their icons change.
- Fix Skywinder stock vessel having no description.
- Fix typos in stock "SatelliteLauncher" craft file.
- Fix early game progression cheat not unlocking the science progress node.
- Manufacturer added to mystery goo.
- Part search now splits search terms on dashes, fixing searches for several engine designations, and things like "Convert-O-Tron".
- Version text made more visible in experimental builds.
- Using curly braces in a vessel name no longer obliterates the universe.
- Resource scanners now show "0%" rather than "Unknown" if the area is known, but the resource abundance is super low.
- Remove roll torque on docking ports (by default).
- Fix pod lights not being in Lights action group by default.
- Fix some zeroed attachment vectors on parts leading to log spam.
- Fix drag from struts and fuel lines.
- Vessel G-force is now reported correctly when on rails.
- Fix issue with ModuleDeployablePart (and solar panels, which derive from it) always reporting multiple drag cubes even when the animation isn't the panel's and it doesn't track the sun.
- Fix long-standing bug with FlightLogger not logging Gs right.
- Fix missing manufacturer for Mystery Goo.
- Ion engine now has resource bars, and will leave a tiny bit of EC remaining when drawing EC so the vessel can still be controlled.
- Fix issue with ladder tests in Engineer's Report.
- Fix explosions moving with vessel.
- Fix issue with command seat and docking port joints.
- Fix vessel counts in vessel type filters.
- Fix shielded docking ports to not be stageable.
- Fix issue where parts would play their staging FX on load, not just on staging.
- Fix an issue with zero drag area breaking physics.
- Deactivate Lab if it is activated and no scientists are present.
- Improve stars' fade-in-fade-out during dawn and dusk.
- Fix issue where loading an unloaded vessel with a converter will lead to it not processing all ore.
- Default to not logging (to flight logger or to the log file) when engine exhaust heats a part.
- Show negative funds and negative altitudes (depth) by turning the widget red.
- Fix issue with screen rotating when KSP is not the active application.
- Ignore launch clamps when getting craft size for facility checks.
- Fix CoP/CoL on two fins being off.
- When finding first vessel control source, require crewed parts to also have the command module on them before they are valid candidates.
- IVA radar altitude gauge shows height from seabed when underwater.
- Fix initial rotation of LT-1 and LT-2 landing legs.
- Don't allow docking port shields to be closed while docked.
- RCS thrust forces array properly zeroed when RCS is not firing.
- Fix Offset Gizmo issue for surface mounted parts with colliders that don't cover the entire visual model (like the LY-01). They will no longer jump when an offset is attempted.
- Fix vessels/kerbals landed on other vessels teleporting to the ground on load.
- Fix issue with a kerbal targeting a vessel and boarding it leading to maneuver node functionality being broken.
- Fix wrong vessel being made dominant during docking if the docking is so fast as to skip the acquire phase.
- Fix Aero FX being improperly applied to some explosion FX causing square particles and slowdown.
- Fix planet orbits sometimes not responding to clicks (or responding when clicked off-orbit).
- Empty science containers (or containers with limited capacity) may show experiment count/capacity.
- Fix problems with sliding maneuver nodes.
- Fix landing legs exploding when landing on Gilly.
- Fix handling of mouse interaction with solar escape trajectories (for maneuver node placement).
- Fix bad things happening when quickloading while warping.
- Fix IVA overlay button not always responding.
Moddability
API Docs: https://kerbalspaceprogram.com/api/index.html
- Added FlightGlobals.VesselsLoaded and FlightGlobals.VesselsUnloaded which lets us iterate over a specific portion of Vessels without checking the entire list.
- Added onVesselPartCountChanged event, fires any time a part is added or removed, the moment it happens, unlike onVesselModified.
- Added onVesselStandardModification event, collects various vessel events and fires them off with a single one. (onVesselPartCountChanged, onVesselModified, docked, undocked, et al)
- Added onScreenResolutionModified event, fires when the screen resolution is modified.
- Added many accessors/setters.
- Vessel control level can be clamped to a field in Vessel (so can be restricted to Partial even if otherwise would be Full).
- GetModuleMass/Cost methods can now be passed the situation.
- Fix where kerbal mass (if set to nonzero) was not applied in the editor.
- Added two new dictionary-related classes (DictionaryValueList and ListDictionary).
- Celestial bodies now cache all of their PQS Cities.
- All game root nodes now generate a random persistent seed, which is different
from game to game.
- All forces on valid parts except wheel forces are now done via Part.AddForce/Torque/AddForceAtPosition. Note that the forcemode used is Force; to use a different forcemode, convert the force to the correct amount. It is the job of the Flight Integrator to then apply all these forces to actual rigidbodies (rather than all the disparate modules' job).
- Use mass-weighted average angular velocity of parts for vessel angular velocity.
- ITorqueProvider now reports two Vector3s, positive torque (that produced by control actuation 1,1,1) and negative torque (that produced by -1,-1,-1).
- Added various accessors.
- Node definitions can take an extra digit after size, either 0 or 1: that sets whether the node can crossfeed. Defaults to 1 (yes). NODE definitions can take crossfeed = True/False
- ModuleEngines now supports `clampPropReceived = True`. This will clamp the ratio of propellant requested based on prior results, so if IntakeAir is listed first and less than the full requirement is returned, it will request only that ratio of further propellants. In this case the "Prop Req Met" display will show the minimum requirement-met ratio rather than the average. Engines that use IntakeAir (or other cases like that) need to have `clampPropReceived = True` in each of their MODULEs that do that, and need to have that PROPELLANT first and the other PROPELLANTs later. See stock jet cfgs for examples.
- Added another crew transfer event.
- Added more startup options for KSPAddon
- Allow kerbals to have/save/load arbitrary experience points.
- ResearchAndDevelopment.GetTechnologyTitle(string id) will convert a tech ID to a tech title and is available as soon as parts start loading (can be used in GetInfo() ).
- Support max pressure (dynamic + static), `maxPressure`, and max G, `gTolerance`, for parts.
- Added system to allow mods to add custom difficulty settings.
- Added CelestialBody.hasSurface so mods that add a PQSController to gas giant don't cause silly things such as "Plant a flag on Jool" contracts.
- Replaced all checks for experience traits (Pilot, Scientist, Engineer) with individual experience effects. They are now loaded before part loading so can be queried in GetInfo().
- Icons in TechTree.cfg can now use a relative path (allows mod icons to live outside the Squad directory).
- Added KSPAssemblyDependencyEqualMajor as an attribute. Use instead of KSPAssemblyDependency if you want to force requiring the stated major version, not >= the major version, from your dependency.
- If you are setting a vessel's position and/or changing its orbit, call Vessel.IgnoreGForces(framecount) on the vessel for the number of frames that g forces should be ignored (try 1, then 2 if that doesn't work, etc).
- ModuleDeployablePart (covers antennas, solars, radiators) also has a gResistance (for Gs) as well as windResistance (for Q).
- Crew transfer now derives from a generic abstract PartItemTransfer class. Classes can derive from it to implement any kind of (crew transfer-style) part-part transfer. Also we fire an event right before a crew transfer is created so mods can just kill it and easily create their own CrewTransfer-derived class and have that be called on that event.
- Extended ModuleScienceContainer to allow sending and, (from ModuleScienceExperiment) receiving, experiment data. Also added support for a Collect All option to such containers.
- ModuleColorChanger supports changing arbitrary shader colors and implements IScalarModule. ModuleAnimationSetter works similarly and is used to more directly link an animation to being set by IScalarModule.
- PartModules now support upgrades. In a MODULE node, add an UPGRADE node. Inside that add one node per techID you wish to provide upgrades, in ascending order. Inside that place keys and nodes you wish to upgrade. e.g. `UPGRADES { basicRocketry { maxThrust = 250 } }` will change maxThrust to 250 once basicRocketry unlocks. Upgrades will never override persistent data. Further, by default they overwrite each other; to make a node apply on a clean slate (so you can, say, add two PROPELLANT nodes and not have them conflict due to the overwrite logic) set `IsExclusiveUpgrade__ = True` in the upgrade's node. That will clear the upgrade state and apply that upgrade fresh. Upgrades are applied only when you add a part to a craft in the VAB/SPH, they don't magically apply in flight. When a part on a craft is upgraded, a new option will appear in the PAW (when in VAB/SPH) where you can view the current stats of all those modules with upgrades.
- ModuleEngines now supports alternate (RealFuels-style) throttling and rates.
- ModuleEngines now supports throttle-Isp interactions. Turn on with useThrottleIspCurve = True and set the throttleIspCurve and throttleIspCurveAtmStrength curves. Final Isp = input Isp * Lerp(1, throttleIspCurve.Eval(throttle state), throttleIspCurveAtmStrength.Eval(atms of pressure))
- Support part upgrades, see docs.
- Added events dealing with kerbals going on/off ladders on parts and added a new vessel field for accessing the vessel of the part of the ladder the kerbal is climbing (if all of those are valid).
- CelestialBody now has thermo/atmo stats methods so FlightIntegrator's temperature calcs can be called from anywhere / any mod.
- Events that throw an exception now print the full stack trace.
- PartModuleUtil.PrintResourceSI() is now just KSPUtil.PrintSI().
- Add ModuleDragAreaModifier with field areaFactor. Note: this will also affect buoyancy and thermo.
- Added ModuleHeatEffects and FXModuleThrottleEffects which can take any number of IScalarModules and are set by skin temp and throttle respectively.
- AvailablePart.entryCost is now get-only and calls a static delegate so they can be
- FindEngineNearby and FindEngineInterface are now PartModuleList methods instead of being duplicates in FXModuleAnimateThrottle and ModuleAlternator.
- Many KerbalEVA, Kerbal, and KerbalExpressionSystem methods made virtual, and kerbal spawning in ProtoCrewMember and EVA spawning in FlightEVA made delegates.
- Added IContractObjectiveModule, which allows mods to specify valid parts for contract objectives, rather than it being configuration based.
- Waypoint captions on the map are now moddable.
- Added game events for CommNet status changes both for the connection in general and the connection to KSC.
- Added game event that fires when PQS starts, just before the sphere is started.
- Added game event that fires when PQSCities start.
- Added game event for orbital resource survey completion.
- Added game event for vessel control state changing.
- Orbit now has a constructor that clones another orbit.
- Vessel now has a method to kill all parts in permanent ground contact (eg: launch clamps).
- Added ModuleGenerator.isGroundFixture for launch clamps.
- The "escape" progress milestone now uses standard World First award methods, which allows it to be disabled by mods properly.
- Icon_Hidden tag now hides all children of the transform so tagged.
- Add requiresFullControl to events, actions, and UI controls. If false, will work normally in full and partial control and refuse to work only with no control. If true, will work only with full control.
- AssemblyLoader ignores abstract classes.
- Support symbols in the font.
- Made Kerbals and EVA kerbals more moddable. EVAs and the flag now have partial part cfgs which can be modded. All Kerbal and KerbalEVA methods are virtual and the FSM is opened up. New hooks added.
- Made vessel load/unload/pack/unpack ranges changeable in Physics.cfg.
- Support adding options to the game difficulty screen.
- Vessel now has radarAltitude. Use it for min(altitude, heightFromTerrain)
- add PartModule.OnIconCreate which runs just before the partmodule is stripped from the icon gameobject when the editor part icon is being created.
- Particle systems can be registered with FloatingOrigin for handling origin/krakensbane offsetting natively.
- ProtoPartResourceSnapshot no longer relies on strings, and its resourceValues node is now inaccessible. Instead, directly get / set the amount/maxAmount/flowState.
- PartModules now come with a resHandler object (of type ModuleResourceHandler) for handling ModuleResource / RESOURCE nodes, so code need not be duplicated.
- When a landed vessel goes off rails and is detected to be landed on parts, not the ground, it is offset up slightly, controlled by one static Vessel field HeightFromPartOffsetGlobal (default 0.5 meters) and one instance field heightFromPartOffsetLocal (default 0 meters). The vessel is offset upwards the sum of those two fields.
- Fix OnVesselSwitching always sending a null reference, add OnVesselSwitchingUnloaded.
- Allow reference to Kerbal's animator cache and renderer cache.
- Add map toggle interface for mods.
- OrbitTargeter opened up, delegate added for creating the on-click context menus so they can be modded.
- Add delegates so KB apps can be modded.
- Add currency-agnostic CanAfford method.
- Add many more options to ModuleLiftingSurface and for customizing body lift.
- ModuleAnimateGeneric now supports defaultActionGroup.
- ConfigNode now formats float and double values such that no data is lost.
- ConfigNode AddValue/SetValue now support most types.
- Flag decals in IVAs (InternalFlagDecal module)
References
|