Orbiter 2006

From OrbiterWiki
Revision as of 03:07, 14 October 2022 by Arvil (talk | contribs) (Added category.)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Orbiter 2006 was released on May 4, 2006.

Changes[edit]

MFD Updates[edit]

  • Align planes MFD: Now allows user-defined orbit reference.
  • Transfer MFD: Now supports hyperbolic transfer orbits (e>1).
  • Transfer MFD: The parameter adjusted while pressing DV- or DV+, and the parameter held constant while pressing EJ- or EJ+, is now Delta-V instead of SMa. SMa is now locked only if no manual adjustment is occurring.
  • MFDs: More selections can be made from lists instead of typing object names.
  • Orbit MFD: New button "HUD" to copy reference object from MFD to HUD.
  • Docking MFD: New button "HUD" to copy target data from MFD to HUD.
  • Align planet MFD:
    • Bug fix: "time to node" values were incorrect for non-circular orbits.
    • Angles to ascending and descending nodes are now always displayed positive with range 0-360.
    • The estimated burn times both at AN and DN are now displayed.
  • Docking MFD: If a vessel has more than one docking port, an additional button is displayed to allow selection of the port.
  • MFD behaviour change: Shift-Esc toggles MFDs on/off and replaces Shift-Q. Shift-key combinations can no longer be used to directly switch to a different MFD mode. Instead:
    • Use "SEL" button (Shift-F1) to page through mode pages.
    • Select a mode by button, or press Shift-, and Shift-. to highlight a mode, and press Shift-Enter to select. This should avoid conflicts between MFD modes using the same selection button. Within each mode, the Shift-key combinations work as usual. Documentation has been updated.
  • Surface MFD: labels and 5-degree ticks added to pitch ladder.

Gravity gradient stabilization and disturbance[edit]

Vessels will get affected by gravity gradient torques. The effect will get calculated in orbiter using the PMI of the vessel, so nothing will change for developers. [1]

Level 10 planetary textures[edit]

The maximum possible texture resolution for textures will raise to 32768 x 16384. This feature will also change the structure of all planetary textures, so planet textures for the current version will not work properly anymore.

Visualization of forces[edit]

The display of force vectors can be activated and configured via the Force tab in the Visual helpers dialog (Ctrl + F9).

Bug fixes[edit]

  • Bug fix: attitude data written too sparsely during recording for certain rotation axes.
  • Bug fix: problem with tilt of some vertical launchers during takeoff.
  • Bug fix: Flight recorder: During playback, attitude samples are now interpolated in terms of quaternions instead of Euler angles. Fixes spurious rotations during Euler angle phase wrap.
  • Bug fix: Jump of composite vessels at the end of a playback
  • Bug fix: Tilt of Atlantis during liftoff
  • Bug fix: Generic cockpit elements visible in panel mode if generic mode is disabled.
  • Bug fix: Setting config entry "MaxPatchLevel" higher than supported by texture file caused problems.
  • Bug fix: Shuttle-A: reversed left-right pod animations.
  • Bug fix: scenario editor: on elements page, setting ecc=1 is now substituted with ecc=1+eps to avoid numerical instability.
  • Bug fix: Atlantis RMS dialog unresponsive after moving, and dialog blocks sim updates while moving.
  • Bug fix: Empty line in base NAVBEACON list no longer causes CTD in info dialog (Ctrl-I).
  • Bug fix: MFD displays not updated when backstepping in time.
  • Bug fix: MFD mode page left behind when selecting MFD mode at T<0.
  • Bug fix: incorrect vessel update when backstepping in time beyond T=0.
  • Bug fix: vessel jump when crossing planet SOI with stabilisation enabled.
  • Bug fix: marker configuration buttons displaced in Planetarium dialog.
  • Bug fix: calculation of weight vector for landed vessels
  • Bug fix: potential division by zero during force vector rendering
  • Bug fix: Vessel config files in the Config directory should now work again.
  • Bug fix: opening an input or selection box no longer blocks mouse events. Instead, mouse button events will close any open input boxes.
  • Bug fix: CTD when deleting an IDS transmitter with EnableIDS(...,FALSE) while a vessel MFD is tuned to that transmitter.
  • Bug fix: Map MFD: zoom state not restored in generic cockpit mode Bug fix: ExternMFD: if the vessel referenced by a sticky MFD is deleted, the MFD now automatically switches to the new focus object.
  • Bug fix: calculation of max. group thrust after max. thrust of one of the group thusters is modified.
  • Bug fix: polar component of nonspherical gravitational potential field was scaled incorrectly (in particular at high latitudes), leading e.g. to under-estimation of the propagation of the line of nodes.
  • Bug fix: VOR/VTOL MFD mode: now remembers NAV receiver number
  • Bug fix: scenario editor: sun no longer appears in landing target list.
  • Bug fix: incorrect position of detached child vessels after playback.
  • Bug fix: erraneous T&L vertex buffer flag for planet resolutions 1-4.
  • Bug fix: Close and help buttons not visible in dialogs when accessed from the main menu. Some more dialogs have now been converted, and more help pages added.
  • Bug fix: a vessel now broadcasts the disappearance of its transponder to all other vessels before being deleted.
  • Bug fix: vessel "blob representation" is now affected by planet shadows.
  • Bug fix: incorrect orientation on launch of vessels on the ground of vessels whose local z-axis points up ("tailsitters").
  • Bug fix: Vessels with MESHVIS_ALWAYS tags erraneously rendered in internal pass.
  • Bug fix: MFD and navmode buttons in generic cockpit view, and Surface MFD are now restored after Alt-Tab.
  • Bug fix: problem with surface tiles not rendering occasionally when low resolution level was requested.
  • Bug fix: Some problems fixed with nonstandard default cockpit camera direction (invoked with SetCameraDefaultDirection). The angles in oapiSetCockpitDir now are relative to the default direction, as advertised.
  • Bug fix: jump in supervessel position when docking/undocking during orbit stabilisation
  • Bug fix: scenario editor could CTD after unloading custom vessel pages.

Scenario Editor[edit]

  • Scenario editor: setting orbital elements now also works for stabilised orbits
  • Scenario editor: can now save scenarios
  • Scenario editor: code extensively reworked. Editor tabs are now represented by separate class instances for a cleaner implementation.
  • Scenario editor: now supports editing of orientation and angular velocity. Editor should now work with superstructures.
  • Scenario editor: now supports docking/undocking management.
  • Scenario editor: fixed bug which caused CTD when deleting a vessel while scneditor module is active but not open.
  • Scenario editor: if the vessel currently being edited is deleted, the editor jumps back to the main page (to avoid CTD due to reference of invalid vessel handle)
  • Scenario editor: "State vector" and "Location" pages now contain "copy state from" options to copy a freeflight or landed state from a different vessel.
  • Scenario editor: now has an additional page for setting simulation time.
  • Scenario editor: state vector page modified and some state vector bugs fixed. State vectors below planet surface are now checked and corrected.

DG Updates[edit]

  • DG: "Dock release" button added to bottom 2D panel.
  • DG: "Hold Alt" navmode now has a button in 2D panel view.
  • DG: html help sources now included in the SDK under "Help" subdirectory.
  • DG: Damage model: airframe failure due to wing loading.
  • DG: Digital indicator for propellant mass added.
  • DG: Slope/range indicator replaced with wing load indicator.
  • DG: Effect of elevator trim has been tripled. Control surface authority increased. Tank 2 capacity (scramjet fuel) reduced to 2500 kg.
  • DG: Bug fix: removed white tears in transparent section of overhead panel.
  • DG: bug fix: using un-initialised exmesh handles.

Flight Recorder[edit]

  • Flight recorder: on-screen notes can now be displayed during playback by inserting NOTE tags into the articulation (.atc) stream of the flight record. Some basic formatting options are available. See ASTOS extensions.pdf for details. For an example, check the Glider launch 1 playback scenario.
  • Flight recorder: playback can now be terminated with Ctrl-C before the end of the data stream is reached.
  • Flight recorder: a previous recording is now only overwritten after user confirmation.
  • Flight recorder: undock events are now written to and read from the articulation stream. This should fix the bug of vessels undocked during recording snapping back together after end of replay.
  • Flight recorder: RCS, ADC and navmode changes are now written and read to/from the atc stream. These parameters can no longer be changed manually during playback. Manual thruster activation/deactivation is now disabled during playback.
  • Flight recorder/playback can now be operated via dialog (Ctrl-F5)
  • Flight recorder: time acceleration events are now recorded and can be used during playback.
  • Flight recorder: landing and takeoff events now recorded in atc stream. Positioning bug fixed for landed vehicles during playback.
  • Flight recorder: bugs during change of reference planet fixed.
  • Flight recorder: TACC tags can now have an optional second parameter defining a delay value for non-instantaneous changes of time acceleration.
  • Flight recorder: format for .att and .pos data streams has been changed. The redundant MJD entries (1st column) have been removed. A utility (Utils\fdatamod) has been added temporarily to modify existing recordings to the new format. This needs to be applied to all .att and .pos files of a recording. Usage: fdatamod generates .mod. Remove the old data file and rename the new one by removing the .mod extension. Note: att data streams that contain 'FRM HORIZON' entries also must define a reference body with a REF entry, e.g. 'REF Earth'.
  • Flight recorder: attitude data can now be saved in ecliptic or local horizon frame.
  • Flight recorder: bug fix: angular velocity is now continually updated and no longer arbitrarily reset to zero at the end of the replay.

API Updates[edit]

New functions in VESSEL since Orbiter 2006

edit

AddBeacon - ClearBeacons - ClearControlSurfaceDefinitions - CreateAirfoil3 - CreateControlSurface2 - DelBeacon - DelControlSurface - Dock - EditAirfoil - GetAttitudeLinLevel - GetAttitudeRotLevel - GetClipRadius - GetDamageModel - GetDragVector - GetElements (extended version) - GetFlightStatus - GetGravityGradientDamping - GetIDS - GetLiftVector - GetMassDistribution - GetNavSource - GetThrustVector - GetTransponder - GetWeightVector - HorizonInvRot - SetAlbedoRGB - SetCameraDefaultDirection (version 2) - SetClipRadius - SetElements - SetGravityGradientDamping - SetIDSChannel - SetMassDistribution - SetTransponderChannel - SetVisibilityLimit

New functions in the Orbiter API since Orbiter 2006

edit

oapiAddTitleButton - oapiGetCmdLine - oapiGetCelbodyInterface - oapiGetNavDescr - oapiGetNavType - oapiGetObjectType - oapiGetPause - oapiGetSysMJD - oapiMeshMaterialCount - oapiMeshMaterial - oapiObjectVisualPtr - oapiOpenDialogEx - oapiRand - oapiSaveScenario oapiSetDefNavDisplay - oapiSetDefRCSDisplay - oapiSetPause - oapiSetSimMJD -

  • API doc: oapiSetMeshProperty is now documented.
  • API: new function which uses a AirfoilCoeffFuncEx callback function that contains additional parameters (VESSEL instance and user-defined pointer)
  • API: new function VESSEL::SetCameraDefaultDirection (version 2) This allows not only to define the default camera direction, but also the tilt of the camera around that direction.
  • vessel clip radius can now be set independent of the "size" parameter.
  • API: new class ExternMFD: supports display of MFDs in plugins
  • API: new function oapiIsVessel
  • API: new plugin callback functions opcSaveState, opcLoadState to allow plugins to save/load their state to/from a scenario file. (***ADD DOCUMENTATION***)
  • API: new function oapiRefreshMFDButtons
  • API: new functions SetMassDistribution, GetMassDistribution
  • API: Extended interface for controlling NAV radio transmitters/receivers.

Other features[edit]

  • Jupiter, Saturn, Uranus, Neptune: replaced textures with VF2_Rolf's level 6 textures and config mods, including atmospheric parameters.
  • "Planetarium" dialog replaced with "Visual helpers" dialog. Now include a tab for setting display parameters for body forces and coordinate axes.
  • Attached vessels now update their ground-relative parameters (e.g. airspeed, etc.)
  • Started on HTML-based version of the API reference (in Orbitersdk/html)
  • Saturn moons controlled by TASS1.7 perturbation solutions: Mimas, Enceladus, Tethys, Dione, Rhea, Titan, Hyperion, Iapetus
  • Preliminary configs and textures added for new moons Hyperion and Iapetus
  • New logical keys defined in keymap.cfg: RCSEnable and RCSMode(delete keymap.cfg to generate a new one with all keys listed)
  • Added date converter to Orbitersdk\utils
  • New interface for linking surface bases to planets. Orbiter can now scan directories for base config files without explicit reference in the planet config file. Multiple search directories and conditional loading (subject to scenario time and context) are supported. See Section 21.4 in Orbiter.pdf for details. The old format is still supported, but some format changes are required to make base config files work under the new format (in particular, base location must be defined in the base config file).
  • Support for 2-point mass distribution in vessels, for providing the possibility of attitude-locked orbits. See Doc/Technotes/distmass.pdf for implementation details. Currently implemented by DG, Shuttle-A, Atlantis.
  • Started on scenario editor plugin. Allows in-game creation, editing and deleting of vessels.
  • Stabilisation now always off during ground contact.
  • New config directory layout: vessel configuration files should now be placed in Config\Vessels, to make them appear in the vessel type list of the editor.
  • Atlantis: added clbkSetStateEx method to allow in-game creation.
  • MeshDebug: some bug fixes. Original state now restored when dialog is closed. Selected group is now blinking.
  • "System" name in saved scenarios is now taken from solar system configuration file name instead of the "Name" entry, to avoid problems if the names don't match.
  • Orbiter now terminates if a vessel config file can't be found in Config or Config\Vessels (instead of generating a zero-size file).
  • Scenario editor: started on API for vessel-specific plugin pages.
  • Scenario editor: more plugin pages for DG.
  • Earth.cfg: changed J5 coefficient from 0.13e-6 to -0.15e-6
  • Generic cockpit view: MFDs now display mouse-activated buttons
  • Launchpad dialog: MFD size in generic cockpit can be adjusted
  • Tidal effect of distributed vessel masses is now implemented for composite(docked) structures. This means that docked assemblies experience tidal forces even if the individual components do not. See Doc\Technotes\distmass.pdf for implementation details. This will probably require an explicit attitude stabilisation method for space stations to keep them stable during docking.
  • "DCK" is displayed which allows to select a different docking port on the own vessel, relative to which target data are displayed.
  • "PWR" buttons for disabled MFDs in generic cockpit mode now only visible if HUD is displayed.
  • Orbiter can now be lauched directly into a scenario from the command line, bypassing the Launchpad dialog. Syntax is: orbiter -s "<scenario path>" where <scenario path> is the name of the scenario file, with path relative to Scenarios folder, and omitting the .scn ending. Double quotes are required.
  • Changed scaling factors for ringed planets to reduce artefacts at low z-buffer setting. Needs testing!
  • New plugin module: ExtMFD: opens an MFD in a separate window (module allows multiple window instances by using oapiOpenDialogEx, and uses the new title button mechanism)
  • Gravity field gradient-induced torque: is now calculated directly from the vessel's principal moments of inertia. Point mass distribution is no longer required.
  • Scenario editor documentation is now in a separate PDF. This also includes a developer section.
  • External MFD documentation added to Orbiter.pdf.
  • Added Doc\Technotes\gravity.pdf
  • Added Scenarios\Navigation\Special orbits. This includes also a sun-synchronous orbit which demonstrates the nonspherical gravity bug fix.
  • Using oapiOpenDialog before the simulation is started _may_ work now (needs more testing). But use caution: most API functions will be invalid before the render window is opened).
  • Ingame help is now available for all built-in MFD modes.
  • Extensive revision of planetary sphere patch render engine. Levels 1-7 are mostly unaffected, but from level 8 the new engine kicks in. Main points:
    • mesh resolution independent of available patch texture resolution. When the camera is sufficiently close, a patch is rendered at resolution 9 even if the corresponding texture is only resolution 8.
    • resolution 9 (and eventually beyond) are only available if the global texture goes up to resolution 8. This is different from previous behaviour where local res 9 areas could be rendered on top of a lower-resolution global texture. (This is because res 8 textures are the last-resort fallback textures for any patch that doesn't have higher-resolution textures).
    • The "black-coast" syndrom of previous versions has been removed.
    • The specular mask textures are now implemented differently. They must now be white over specular (water) areas and black over diffuse (land) areas. As a result, the <planet>_lmask.tex texture files are no longer valid.
    • Level 9 partial land textures are no longer rendered on top of a lower-level specular texture. They now have their own level-9 land masks(<planet>_tile_lmask.tex). Also, the format of the texture description files (<planet>_tile_bin) files has changed. Old ones are no longer valid.
    • Unlike previous versions, "MaxPatchResolution = 9" in the planet config file is now required to enable the highest resolution level.
    • Planet night lights haven't yet been incorporated into the new mechanism, and are disabled for now.
    • New version of pltex which incorporates the changes in planetary texture formats. This now allows to create directly level-9 texture files. The TileManager application is obsolete.
    • Re-worked the textures for Earth from scratch, starting from blue-marble textures, with the following global processing steps:
      • brightened the blue channel (to incorporate atmospheric effects)
      • brightened overall
      • water areas only: desaturated and shifted colour balance away from red
      • sharpened
  • Experimental: introduced a "specular ripple" option in the Launchpad dialog, so that water surfaces no longer appear "polished". May need more work.
  • Changed clipping near-plane calculation: nearplane is now guaranteed to be closer than the closet object (including vessel clip radius) down to limit of 2.5m.
  • Pltex: rewritten global planet surface generator for levels 1-8. (surface and specular mask can now be generated in a single pass).
  • Planets now support resolution levels up to 10. Global level-10 coverage for Earth (excluding water areas) has is provided.
  • Reorganised Earth textures:
    • level 1-8 textures have been moved from Textures2 to Textures (replacing the old 1-7 textures, since these days all systems should at least support level 8).
    • The local level 9 map for Florida in Textures has been removed but may be replaced with a similar hires local map later.
    • Textures2 contains the global level 9-10 maps (big!)
  • pltex has been modified to process bitmaps with less than global coverage.
  • pltex has now an option to merge hires texture patches, so they can be processed in small chunks and merged into the final texture file. This will also become important later when addons provide local hires areas, because users will have to merge them into their texture files (therefore pltex will be moved from Orbitersdk into the main Orbiter directory).
  • pltex can now process levels 1-8 with land-water masks in a single run.
  • Modified Textures\cloud1.dds with higher spatial frequency components for cloud microstructure to compensate for smaller texture coordinate range.
  • Planet rendering: distant patches are now rendered at lower resolution for improved performance. This currently only affects level 10. The distance at which orbiter switches to a lower resolution can be customised via the PlanetHipatchAperture entry in Orbiter.cfg (-0.5-1).
  • New splash screen.
  • Message box during clean-up after a simulation session.
  • Reduced default value for PlanetHipatchAperture to 0.1.
  • Max. planet resolution is now limited during fast camera movement (e.g. in low orbit at high time acceleration) to reduce stutter caused by texture loading.
  • Updated config files for all moons not controlled by perturbation modules from Tony's stockmoons.zip.
  • Updated pltex: high-resolution patches can now be smaller than a single level-8 patch.
  • Max. resolution level can now be set in Launchpad dialog (visual effects tab).
  • New utility Orbitersdk\utils\meshc.exe: extracts mesh parameters into a header file that can be included in a vessel project to allow use of named mesh groups instead of referring to group indices. Makes it easier to keep track of mesh groups for animation etc.
  • Mesh file format: mesh groups now support the LABEL tag (must be placed before the GEOM tag of the group). Doesn't affect the mesh directly, but is scanned by meshc to associate group names with indices.
  • Night lights now supported in resolution levels 1-10.
  • Night lights are stored in <planet>_lmask.tex together with the water masks, to save space (lights are stored in the RGB channels, water masks in the alpha channel)
  • The <planet>_lights.tex files previously used for storing night lights are now obsolete.
  • The contents file format <planet>_lmask.bin has been updated to contain night lights information, but the old format is still supported.
  • pltex has been updated for night lights support.
  • The highres tiles listed in a base's surftile list can now carry alpha information. KSC tiles have now cut away the ocean portion, to blend in better with the surrounding surface.
  • Some updates to documentation and help files.
  • pltex, dxtex and date utilities have been moved from Orbitersdk\utils to utils, because they are now regarded as user utilities, rather than developer utilities.
  • Light beacons on vessels now supported. Implemented for DG (activate via overhead panel or Ctrl-Space).
  • Vessel visibility distance is now independent of screen resolution. At small apparent sizes, vessels are represented by spots. Visibility limit can be set with VESSEL::SetVisibilityLimit.
  • Vessel illumination is now adjusted when going through a planet shadow. Examples in scenario folder "2006 Edition/Visual effects".
  • higher vessel ambient light levels when within atmospheric layers.
  • "Close down" dialog is now integrated into the Launchpad.
  • VC meshes are now included in the lighting modifications caused by planet shadowing.
  • The spectral dispersion during sunrise/set is now less pronounced, and the green component has been reduced.
  • default global ambient level reduced to 12
  • Revised lighting algorithm for vessels and surface bases. Both now use the same strategy. Fixed a problem that might have created erraneous lighting direction.
  • Surface base objects now use the same shadow algorithm as vessels and can make use of stencil buffers.
  • With stencil buffer enabled, shadows now fade in and out gradually at dawn/dusk. Also, shadow darkness now depends on atmospheric density (can be overwritten with "ShadowDepth" parameter in planet config files).
  • Night textures on stock buildings are now coming on earlier.
  • Vessel beacons: fixed problem with black borders against vessel exhaust.
  • Added MESHVIS_EXTPASS mesh visibility modifier flag (can be used in conjuction with any other visibility modes to force a mesh to be rendered during the external pass, even if seen from cockpit view. (see SetMeshVisibilityMode documentation for details).
  • Fixed broken VC display
  • Recording scenario name can now be user-defined.
  • Inflight notes can be switched off.
  • Navmodes: New rule implemented: "killrot" no longer cancels "hlevel" mode.
  • Docking HUD: Now remembers NAV receiver or target.
  • Orbit HUD: Now remembers reference object.
  • Created "Lunar transfer" playback scenario to demonstrate the new recorder features.
  • Generic cockpit: Now displays mouse-activated navmode button in the bottom centre of the display.
  • Nicer inline selection menus.
  • ISS: increased emissive colour of docking ports.
  • Generic cockpit: RCS mode indicators are now clickable buttons.
  • Mars map: standard distribution now contains Seth's version up to level 8 globally and level 10 around Olympus Mons. Credits added.
  • Atlantis: Implemented Barrick's code bug patches.
  • Doc: ASTOS extensions document has been updated.
  • Shuttle-A: Animations, pod settings and payload events are now written/read to and from playback streams.
  • New mouse event flag PANEL_MOUSE_ONREPLAY. By default, panel and VC areas no longer send mouse events during a playback. Use the new flag to force events. This should simplify the writing of playback-aware vessel code.
  • pltex: now supports generation of cloud maps up to level 8.
  • New planet config option SpecularRipple. Provides selective activation of water ripple microtexture. By default, planets now don't use specular ripples.
  • Undock key (Ctrl-D) now referenced in keymap.cfg.
  • Undocking on vessels with more than one dock now opens selection dialog.
  • Shuttle-A: Added scenario editor custom animation page.
  • Rigid body rotation model: now uses RK4 to integrate Euler's equations. In the absence of external torque, constant kinetic rotational energy is enforced.
  • Added Barrick's second Atlantis patch.
  • Scenarios: Added Harmsway's corrections.
  • Earth markers: added emdot's corrections.
  • Mimas, Enceladus, Tethys, Dione, Rhea, Iapetus: new textures from Cassini data (L6 for standard edition, L7/L8 as separate hires texture packs for some moons).
  • Titan: now with atmosphere, cloud layer and new surface texture - atmospheric parameters still need to be checked!
  • Applied Chode's config file corrections. Still need to do texture corrections for Venus, Miranda, Umbrial, Oberon (I haven't got the source maps for those)
  • Documentation: "ASTOS extensions.pdf" has been renamed to "RecorderRef.pdf" and moved into the Doc\Technotes directory.
  • Documentation: Flight recorder section in Orbiter.pdf has been updated.
  • Triton: Rolf's L6 texture now included in base package (Textures directory)
  • Limited vessel angular velocity to 100 rad/s to avoid overflow during time acceleration. This does not really solve the problems of numerical stability of rotation, so qualifies as a hack at best.

Patch[edit]

Orbiter 2006 Patch 1 is the first patch released for the Orbiter 2006 Edition. Among many bug fixes, it saw also some new features:

  • Improved state propagation code
  • A new tab "Extras" in the Launch Pad Dialog. This tab displays a tree of configuration options for Orbiter and its addons.
  • A new type of extension modules, which get placed into the folder "modules\Startup" and add new options to the "Extras" tab.
  • A detailed VC for the Space Shuttle Atlantis.