Reentry has been patched to 0.99.67 - Attitude control, RPY-calc, IMU fixes
[previewyoutube][/previewyoutube]
The 0.99.67 update contains a lot of fixes and improvements. It has been a brutal patch to write both in complexity and time, but the outcome sure is worth it. The patch contains a lot of fixes for both Gemini and the Apollo spacecraft. The main elements are attitude calculations, Inertial Measurement Unit updates and attitude control.
Note: This update changes a lot of the core logic. If you experience new issues related to this update, please report them. You can revert back the a previous build (0.99.59) using the Steam betas tab for the game.
Gemini Rate Command
I rewrote and improved the Gemini Rate Command logic. The rate command mode will now behave much better. Input (attitude stick deflection) is now transformed into more correct jet-firings, causing the attitude input to better select what OAMS and RCS jets to fire. During rate command you will now notice that the attitude will not bleed into other axis than the one you command.
Previously, during OAMS/RCS rate command, you would notice the craft would start to build angular rates on other axes in addition to the one you commanded.
The jet-firing logic has also been fixed so that the jets generate audio when you apply input, and while the systems reduce rates. Previously the craft would damp the rates but you would not see the thrusters ignite or generate audio.
I have also improved how all this consumes fuel.

Gemini/Agena docking
I have improved the Agena Acq. light and light cookie. It will now use a different system to visualize the light and that large cookie has been removed (the one that grows larger and larger the closer you get).
I have also removed the docking positional/mooring interpolation. It should now be a big improvement but not yet where I want it to be.

Skylab attitude issue fixed
I have fixed the issue where Skylab would mimic the attitude of the approaching Command Module before docking that some users has reported. It should now stay still during final approach and docking.

Command Module: IMU/GDC fixes
I have spent a lot of time rewriting the logic and the math of how the attitude of the craft is calculated (roll, pitch, yaw), and how the internal logic of the IMU works. Previously you would have an unstable attitude in a large portion of the attitude bands and the attitude in some cases didn't even make sense.
This fix was brutal but you should now have a big level-up to the entire experience as such a core element of an Apollo flight has become reliable and stable. These fixes also applies to the CM GDC.
Big shoutout and a thank you to Amaryllis/Nuke for all the work related to feedback, suggestions, teachings and testing, this logic would not have been at this stage without your support. So thank you, your work will improve the game for all Reentry players.
This fix will no longer cause a strange "gimbal lock"-type issues at around pitch +90.00 and pitch +270.00. Previously you would reach a gimbal-lock type of a math issue at around these attitudes, making most attitudes in the CMC go crazy in these zones. You can now for example maneuver the craft to +90.00 in pitch, while also maneuvering to +10.00 in yaw.
This logic should now function quite similar to what the behavior was in the real spacecraft.
You can test this by switching into SCS or CM FREE mode while also, on the CMC, pulling up V16 N20E to visualize the attitude. The CMC calculated attitude should now match what you see on the FDAI ball in all areas around the entire ball. The Roll Index needle on the FDAI has also been improved to better reflect you current roll in all pitch/yaw attitudes.

Lunar Module: IMU/AGS fixes
I have done the same updates to the Lunar Module IMU and AGS. The Lunar Module attitude should now be as stable and realistic as the Command Module IMU fixes.

CM/LM FDAI textures updates
I have made some improvements to the CM and LM FDAI textures to better handle UV-mapping and improved the details on the attitude balls.

Gimbal Lock warning lights
With the above corrections and the now much more stable attitude control I have enabled the Gimbal Lock lights in the Command Module CMC and the Lunar Module LGC. This light will turn on when you are maneuvering inside the Gimbal Lock zone as an initial test. For the Command Module this is when Yaw is at >70 degrees on both sides of the belly band (this is visualized as a red zone on the FDAI), and if you roll the Lunar Module to >70 degrees on either side.

Command Module Computer: Attitude Hold flag during Auto Maneuvering
The CMC (Command Module Computer) will now behave more realistically. During an auto maneuver using for example V49E the craft will maneuver towards a target attitude. When this attitude is reached V50 will show on the DSKY and the CMC will enter a Attitude Hold mode. This will prevent the craft to continuously try to return back to the commanded attitude outside of the Auto maneuver Routine.
If you generate input (when not in Direct mode) the CMC will also issue the Attitude Hold flag, or if in the middle of the auto maneuver routine, revert to Attitude Hold.
I have also fixed a lot of the logic related to setting the attitude hold vector based on the above fixes.
Command Module/Lunar Module auto maneuvering targets
With the improved IMUs and attitude calculations I have now been able to improve the internal logic of the Auto maneuvering target attitude-to-vector logic. Previously, if you would target an auto maneuver for example Pitch +45.00 and Yaw +45.00, the auto maneuvering logic would take you somewhere close, to like pitch +30.00 and yaw +25.00 and be happy, signaling that the target attitude has been reached. The targeting worked well if you would only target a selected Pitch and leave Yaw at 0, or if you would target a Yaw but leave Pitch at zero.
The previous issues with this system made it mandatory to align the IMU with for example the preferred burn direction, so that the burns would be executed at R, P, Y at zero, as yet had the possibility to auto maneuver to any attitude around the inertial platform.
This has now all been fixed and auto maneuvering can target any attitude outside of Gimbal Lock.
This logic applies to both the Command Module Computer and the Lunar Module Computer. This means that the Lunar Module should now be able to handle orientation during for example Lunar Descent, removing the need to manually occasionally handle cases where the Lunar Module would yaw or roll when around the +90.00 pitch zone during a powered descent to land on the Moon. Previously you would disable for example Yaw or Roll during PDI to prevent this.

Command Module: SPS Burn Planner includes target attitude
The Burn Planner and the P30 SPS maneuver PAD has been updated to include the target burn attitude of the current IMU alignment. With the attitude control fixes in this patch it is now possible to calculate the target attitude of the burn using the current REFSMMAT/IMU alignment.
Previously you would typically plan a burn, run P30 to set it up, use P52 opt, 1 to align the IMU with the preferred REFSMMAT (direction of the burn), use V49E maneuver with 0,0,0 as the target, then execute the burn using P40.
Now you can do that, and continue to use the procedures above if you want to, or you can skip the IMU/REFSMMAT alignment step above and instead just use the calculated burn attitude on your current burn attitude.
The Burn Planner will now show you the burn direction attitude, and it will be communicated to you in the PAD and in the Mission Control message when you press REQUEST.

Gemini loading SFX
I have fixed some issues related to the sound effect system where you would hear sound effects during state loading when loading into a Gemini mission that starts in orbit (such as the "50 seconds" sfx)
Command Module: IMU cage and V41 N20E improvements
I have improved how the IMU cage in the Apollo Command Module works. You can now use this switch to cage the IMUs without causing some internal offsets for the rest of the mission. I have also improved the logic of the V41 N20E coarse align logic. It still needs work but it's a step in the right direction.
Apollo Timeline checklists
For those who are familiar with the Reentry Apollo craft and have completed its missions can try to instead use the new Timeline checklists. These are quite similar to the AOH checklists but are instead based on the real flow checklists during the Apollo 15 mission. These checklists can be easier to follow compared to the AOH checklists. This update adds quite a lot of new checklists to the TIMELINE tab.

Experimental: CMC P20
This patch rolls out an experimental version of P20, along with checklists to reach PTC roll or ORB RATE using P20.
You can enter P20 to select either the option to reach a desired rate around an input spacecraft axis. You can use this to reach a target rate of PTC roll. Keep in mind that attitude rates are now part of timescaling.
You can also use this to build rates around another axis to for example reach an orbital rate so the craft stay still relative to the LVLH (ORB RATE). For this I recommend you to toggle OFF the Simplified ORDEAL setting.
You can also use P20 to maneuver the craft towards a select STAR ID. You can select a given axis of the craft to point towards this selected STAR ID.

Experimental: CMC P23
This is mainly for fun and completeness but I have started to implement the basic logic required to make P23 - Cislunar Navigation work. This CMC program will let you use the optics to superimpose a star with the near/far edge of the Earth Atmosphere or the Lunar Surface. This is used to update the State Vector stored in the CMC.
However, the main outcome of this implementation is that is has improved the Optics system, and added the superimpose capabilities to it. I will create a video tutorial of this when the implementation is more complete.

Apollo 13 in-real time (TurryBoeing)
I would also like to mention that TurryBoeing is currently streaming the entire Apollo 13 mission using NASSP/Orbiter in real-time (not timescale). If you want to learn about Apollo, the Command Module and the Lunar Module, this stream is a great source of knowledge.
https://www.youtube.com/watch?v=MVH8BTyoztg
Patch notes:
The 0.99.67 update contains a lot of fixes and improvements. It has been a brutal patch to write both in complexity and time, but the outcome sure is worth it. The patch contains a lot of fixes for both Gemini and the Apollo spacecraft. The main elements are attitude calculations, Inertial Measurement Unit updates and attitude control.
Note: This update changes a lot of the core logic. If you experience new issues related to this update, please report them. You can revert back the a previous build (0.99.59) using the Steam betas tab for the game.
Gemini Rate Command
I rewrote and improved the Gemini Rate Command logic. The rate command mode will now behave much better. Input (attitude stick deflection) is now transformed into more correct jet-firings, causing the attitude input to better select what OAMS and RCS jets to fire. During rate command you will now notice that the attitude will not bleed into other axis than the one you command.
Previously, during OAMS/RCS rate command, you would notice the craft would start to build angular rates on other axes in addition to the one you commanded.
The jet-firing logic has also been fixed so that the jets generate audio when you apply input, and while the systems reduce rates. Previously the craft would damp the rates but you would not see the thrusters ignite or generate audio.
I have also improved how all this consumes fuel.

Gemini/Agena docking
I have improved the Agena Acq. light and light cookie. It will now use a different system to visualize the light and that large cookie has been removed (the one that grows larger and larger the closer you get).
I have also removed the docking positional/mooring interpolation. It should now be a big improvement but not yet where I want it to be.

Skylab attitude issue fixed
I have fixed the issue where Skylab would mimic the attitude of the approaching Command Module before docking that some users has reported. It should now stay still during final approach and docking.

Command Module: IMU/GDC fixes
I have spent a lot of time rewriting the logic and the math of how the attitude of the craft is calculated (roll, pitch, yaw), and how the internal logic of the IMU works. Previously you would have an unstable attitude in a large portion of the attitude bands and the attitude in some cases didn't even make sense.
This fix was brutal but you should now have a big level-up to the entire experience as such a core element of an Apollo flight has become reliable and stable. These fixes also applies to the CM GDC.
Big shoutout and a thank you to Amaryllis/Nuke for all the work related to feedback, suggestions, teachings and testing, this logic would not have been at this stage without your support. So thank you, your work will improve the game for all Reentry players.
This fix will no longer cause a strange "gimbal lock"-type issues at around pitch +90.00 and pitch +270.00. Previously you would reach a gimbal-lock type of a math issue at around these attitudes, making most attitudes in the CMC go crazy in these zones. You can now for example maneuver the craft to +90.00 in pitch, while also maneuvering to +10.00 in yaw.
This logic should now function quite similar to what the behavior was in the real spacecraft.
You can test this by switching into SCS or CM FREE mode while also, on the CMC, pulling up V16 N20E to visualize the attitude. The CMC calculated attitude should now match what you see on the FDAI ball in all areas around the entire ball. The Roll Index needle on the FDAI has also been improved to better reflect you current roll in all pitch/yaw attitudes.

Lunar Module: IMU/AGS fixes
I have done the same updates to the Lunar Module IMU and AGS. The Lunar Module attitude should now be as stable and realistic as the Command Module IMU fixes.

CM/LM FDAI textures updates
I have made some improvements to the CM and LM FDAI textures to better handle UV-mapping and improved the details on the attitude balls.

Gimbal Lock warning lights
With the above corrections and the now much more stable attitude control I have enabled the Gimbal Lock lights in the Command Module CMC and the Lunar Module LGC. This light will turn on when you are maneuvering inside the Gimbal Lock zone as an initial test. For the Command Module this is when Yaw is at >70 degrees on both sides of the belly band (this is visualized as a red zone on the FDAI), and if you roll the Lunar Module to >70 degrees on either side.

Command Module Computer: Attitude Hold flag during Auto Maneuvering
The CMC (Command Module Computer) will now behave more realistically. During an auto maneuver using for example V49E the craft will maneuver towards a target attitude. When this attitude is reached V50 will show on the DSKY and the CMC will enter a Attitude Hold mode. This will prevent the craft to continuously try to return back to the commanded attitude outside of the Auto maneuver Routine.
If you generate input (when not in Direct mode) the CMC will also issue the Attitude Hold flag, or if in the middle of the auto maneuver routine, revert to Attitude Hold.
I have also fixed a lot of the logic related to setting the attitude hold vector based on the above fixes.
Command Module/Lunar Module auto maneuvering targets
With the improved IMUs and attitude calculations I have now been able to improve the internal logic of the Auto maneuvering target attitude-to-vector logic. Previously, if you would target an auto maneuver for example Pitch +45.00 and Yaw +45.00, the auto maneuvering logic would take you somewhere close, to like pitch +30.00 and yaw +25.00 and be happy, signaling that the target attitude has been reached. The targeting worked well if you would only target a selected Pitch and leave Yaw at 0, or if you would target a Yaw but leave Pitch at zero.
The previous issues with this system made it mandatory to align the IMU with for example the preferred burn direction, so that the burns would be executed at R, P, Y at zero, as yet had the possibility to auto maneuver to any attitude around the inertial platform.
This has now all been fixed and auto maneuvering can target any attitude outside of Gimbal Lock.
This logic applies to both the Command Module Computer and the Lunar Module Computer. This means that the Lunar Module should now be able to handle orientation during for example Lunar Descent, removing the need to manually occasionally handle cases where the Lunar Module would yaw or roll when around the +90.00 pitch zone during a powered descent to land on the Moon. Previously you would disable for example Yaw or Roll during PDI to prevent this.

Command Module: SPS Burn Planner includes target attitude
The Burn Planner and the P30 SPS maneuver PAD has been updated to include the target burn attitude of the current IMU alignment. With the attitude control fixes in this patch it is now possible to calculate the target attitude of the burn using the current REFSMMAT/IMU alignment.
Previously you would typically plan a burn, run P30 to set it up, use P52 opt, 1 to align the IMU with the preferred REFSMMAT (direction of the burn), use V49E maneuver with 0,0,0 as the target, then execute the burn using P40.
Now you can do that, and continue to use the procedures above if you want to, or you can skip the IMU/REFSMMAT alignment step above and instead just use the calculated burn attitude on your current burn attitude.
The Burn Planner will now show you the burn direction attitude, and it will be communicated to you in the PAD and in the Mission Control message when you press REQUEST.

Gemini loading SFX
I have fixed some issues related to the sound effect system where you would hear sound effects during state loading when loading into a Gemini mission that starts in orbit (such as the "50 seconds" sfx)
Command Module: IMU cage and V41 N20E improvements
I have improved how the IMU cage in the Apollo Command Module works. You can now use this switch to cage the IMUs without causing some internal offsets for the rest of the mission. I have also improved the logic of the V41 N20E coarse align logic. It still needs work but it's a step in the right direction.
Apollo Timeline checklists
For those who are familiar with the Reentry Apollo craft and have completed its missions can try to instead use the new Timeline checklists. These are quite similar to the AOH checklists but are instead based on the real flow checklists during the Apollo 15 mission. These checklists can be easier to follow compared to the AOH checklists. This update adds quite a lot of new checklists to the TIMELINE tab.

Experimental: CMC P20
This patch rolls out an experimental version of P20, along with checklists to reach PTC roll or ORB RATE using P20.
You can enter P20 to select either the option to reach a desired rate around an input spacecraft axis. You can use this to reach a target rate of PTC roll. Keep in mind that attitude rates are now part of timescaling.
You can also use this to build rates around another axis to for example reach an orbital rate so the craft stay still relative to the LVLH (ORB RATE). For this I recommend you to toggle OFF the Simplified ORDEAL setting.
You can also use P20 to maneuver the craft towards a select STAR ID. You can select a given axis of the craft to point towards this selected STAR ID.

Experimental: CMC P23
This is mainly for fun and completeness but I have started to implement the basic logic required to make P23 - Cislunar Navigation work. This CMC program will let you use the optics to superimpose a star with the near/far edge of the Earth Atmosphere or the Lunar Surface. This is used to update the State Vector stored in the CMC.
However, the main outcome of this implementation is that is has improved the Optics system, and added the superimpose capabilities to it. I will create a video tutorial of this when the implementation is more complete.


Apollo 13 in-real time (TurryBoeing)
I would also like to mention that TurryBoeing is currently streaming the entire Apollo 13 mission using NASSP/Orbiter in real-time (not timescale). If you want to learn about Apollo, the Command Module and the Lunar Module, this stream is a great source of knowledge.
https://www.youtube.com/watch?v=MVH8BTyoztg
Patch notes:
- Gemini - Agena Acq light halo fix
- Gemini thruster sound fixes for rate command mode
- Improved the Gemini rate command mode thrusting logic, it is now more stable and does not bleed into all other axes
- Improved the Gemini/Agena mooring/lerp logic
- Added a lot of Apollo 15 checklists into the TIMELINE section of the Apollo Mission Pad
- Fixed the "50 seconds" (among others) sfx playing during loading Gemini missions
- Attitude rate time scaling improvements
- Attempts at fixing the Skylab relative rotation issue
- Apollo CM: Minor fixes to IMU Cage and V41 N20E
- Apollo CM IMU and attitude fixes
- Apollo LM IMU and attitude fixes
- Added logic to trigger the Gimbal Lock light (not will not enter coarse align at 85 degrees, will become an option for those who wish later)
- Fixed so the CMC AUTO mode will use ATT HOLD logic unless you are running the automaneuvering logic or P20
- Minor P51 changes
- Att Hold vector refresh in various locations (to avoid having to give the joystick a deflection to update it at some critical places
- Rewrote the Apollo CM automaneuvering targeting logic, the pitch/yaw to vector calculator and made automanuvering much more stable
- Updated the CM Maneuver Planner to show target attitude based on current IMU/REFSMMAT
- Added current-IMJ target attitude do the CM P30 burn
- P23 - Cislunar Navigation experimental
- P20 - Universal Tracking experimental