Part Angle Display

Part Angle Display

13.9k Downloads

This is a simple KSP plugin that allows you to surface attach parts at accurate angles.

Simply put, the plugin allows you to display a small window in the VAB/SPH that displays the orientation of the currently selected part as pitch, roll and yaw angles and it also allows you to enter increment values for the pitch, roll and yaw and to apply these to the selected part.

It originally used a single hotkey of Mod-P (as it doesn't clash with any of the mods I use). If you don't have a part selected then it will show or hide the window. If you do have a part selected then it will apply the angle increments to the part by simply adding the increment values to the displayed Euler angles and re-setting the rotation of the selected part. This has strange effects caused by the way that Euler angles work.

Version 0.2 introduced a new way use the plugin. The original Mod-P hotkey still works the same way but the plugin also now overrides the handling of Mod-WASDQE in the stock game (the standard part rotation controls with the configured modifier key held down do the same as the unmodified key, rotate by 90 degrees) to instead rotate by whatever angle increment is entered into the respective field in the dialog. This allows you to set increment values to 1 (or 0.1 or even 0.01) and then have seamless, accurate rotation of parts.

Version 0.2.1 fixed the handling of the standard pitch keys and makes the angle increments they use configurable. W/S and Shift-W/S no longer go in opposite directions. The < and > buttons can be used to cycle the angle setting through 120, 90, 72, 60, 45, 30, 15, 10, 5, 1, 0.1 and 0.01 degrees. The F key also adjusts the "Fine" angle control (F to cycle down, Shift-F to cycle up and Mod-F to reset to 5).

Version 0.2.2 introduced "Part-relative" mode. This changes the rotation keys to act around the axes of the currently selected part rather than the usual fixed axes. E.g. if you rotate a Mk 1 plane cockpit to an odd angle and then switch to "Part-relative" and roll using Q and E the part will roll around its own axis.

Version 0.2.4.2 added the saving and loading of settings (window position, visibility and all the control settings).

Version 0.2.4.3 made the keyboard shortcuts configurable in the settings file. To change the shortcuts you will need to run the game and enter and exit the VAB/SPH once for the default settings file to be written out (in GameData\PartAngleDisplay\PluginData\PartAngleDisplay\settings.cfg). Then simply edit this file (you shouldn't even need to quit KSP) and change the three lines starting "key" to be the keycodes you desire. Note that the "toggle window" and "apply Euler" operations always use the configured modifier key and the "cycle fine" operation uses plain, shifted and modified keypresses.

Version 0.2.4.4 added support for both the stock and Blizzy's toolbars. The use of the stock toolbar can be disabled in the settings file (useAppLaunch).

Version 0.3.0.0 for KSP 0.90 has had to change quite a few things. The key to cycle the fine angle increment now defaults to G because the stock editor uses F. The normal angle increment can be cycled using B. The modifier key for the WASDQE keys to use the separate axis increment values now defaults to Ctrl as Mod is used to disable surface attachment which would make it impossible to adjust surface attached parts in place.

Version 0.3.0.1 for KSP 1.0.2 is a simple recompile.

Version 0.3.1.0 for KSP 1.1 has been significantly refactored to simplify it and fix the part relative rotation that has been broken since the editor changes in KSP 0.90.

Version 0.3.1.1 for KSP 1.1 enables the part rotation keys when the dialog is closed making it usable without ever opening the UI.

Version 0.3.2.0 is a straight recompile for KSP 1.2 (pre-release).

Version 0.3.2.1 for KSP 1.2 now stores the key bindings as strings rather than integer values.

Version 0.3.2.2 for KSP 1.2 fixes the loss of the toolbar button with Contract Configurator.

Version 0.3.2.3 for KSP 1.2.x optimises the GUI code to reduce garbage creation.

The source is available on GitHub.

For more information or support or to give feedback please see the official forum thread.