diff --git a/data/assets/base_blank.asset b/data/assets/base_blank.asset index 571724ac09..b318dcf2fd 100644 --- a/data/assets/base_blank.asset +++ b/data/assets/base_blank.asset @@ -10,7 +10,6 @@ asset.require('spice/base') -- Load default key bindings applicable to most scenes asset.require('dashboard/default_dashboard') asset.require('util/default_keybindings') -asset.require('util/default_joystick') -- Load web gui local webGui = asset.require('util/webgui') diff --git a/data/assets/examples/basic.scene b/data/assets/examples/basic.scene index 71fdb1b98a..b8c3eba619 100644 --- a/data/assets/examples/basic.scene +++ b/data/assets/examples/basic.scene @@ -8,7 +8,6 @@ asset.require('spice/base') asset.require('util/default_keybindings') asset.require('util/default_dashboard') -asset.require('util/default_joystick') asset.require('util/webgui') local spheres = asset.require('examples/spheres') diff --git a/data/assets/scene/solarsystem/dwarf_planets/pluto/charon/layers/colorlayers/greyscale_usgs.asset b/data/assets/scene/solarsystem/dwarf_planets/pluto/charon/layers/colorlayers/greyscale_usgs.asset index 0284eda58d..05aeb630a3 100644 --- a/data/assets/scene/solarsystem/dwarf_planets/pluto/charon/layers/colorlayers/greyscale_usgs.asset +++ b/data/assets/scene/solarsystem/dwarf_planets/pluto/charon/layers/colorlayers/greyscale_usgs.asset @@ -14,7 +14,7 @@ asset.export("layer", layer) asset.meta = { - Name = "Charon Black & White & White [USGS]", + Name = "Charon Black & White [USGS]", Version = "1.0", Description = [[ Charon New Horizons LORRI MVIC Global Mosaic 300m v1. This detailed, high-quality global mosaic of Pluto’s largest moon, Charon, was assembled from nearly diff --git a/data/assets/scene/solarsystem/dwarf_planets/pluto/layers/colorlayers/greyscale_usgs.asset b/data/assets/scene/solarsystem/dwarf_planets/pluto/layers/colorlayers/greyscale_usgs.asset index de63a8a609..0bf0135776 100644 --- a/data/assets/scene/solarsystem/dwarf_planets/pluto/layers/colorlayers/greyscale_usgs.asset +++ b/data/assets/scene/solarsystem/dwarf_planets/pluto/layers/colorlayers/greyscale_usgs.asset @@ -14,7 +14,7 @@ asset.export("layer", layer) asset.meta = { - Name = "Pluto Black & White & White [USGS]", + Name = "Pluto Black & White [USGS]", Version = "1.0", Description = [[ This detailed, high-quality global mosaic of Pluto was assembled from nearly all of the highest-resolution images obtained by the Long-Range diff --git a/data/assets/scene/solarsystem/dwarf_planets/pluto/trail.asset b/data/assets/scene/solarsystem/dwarf_planets/pluto/trail.asset index c309dce11b..129aeea4ea 100644 --- a/data/assets/scene/solarsystem/dwarf_planets/pluto/trail.asset +++ b/data/assets/scene/solarsystem/dwarf_planets/pluto/trail.asset @@ -13,7 +13,7 @@ local PlutoBarycenterTrail = { Translation = { Type = "SpiceTranslation", Target = "PLUTO BARYCENTER", - Observer = "SUN", + Observer = "SSB", Kernels = kernels }, Color = { 0.3, 0.7, 0.3 }, @@ -35,7 +35,7 @@ assetHelper.registerSceneGraphNodesAndExport(asset, { PlutoBarycenterTrail }) asset.meta = { Name = "Pluto Barycenter Trail", Version = "1.0", - Description = [[ Trail of Pluto as observed by the Sun. Data from + Description = [[ Trail of Pluto Barycenter as observed by the Sun. Data from NASA Spice (see base spice asset)]], Author = "OpenSpace Team", URL = "http://openspaceproject.com", diff --git a/data/assets/scene/solarsystem/dwarf_planets/pluto/transforms.asset b/data/assets/scene/solarsystem/dwarf_planets/pluto/transforms.asset index e190435fd3..475a73286b 100644 --- a/data/assets/scene/solarsystem/dwarf_planets/pluto/transforms.asset +++ b/data/assets/scene/solarsystem/dwarf_planets/pluto/transforms.asset @@ -12,7 +12,7 @@ local PlutoBarycenter = { Translation = { Type = "SpiceTranslation", Target = "PLUTO BARYCENTER", - Observer = "SUN", + Observer = "SSB", Kernels = kernels } }, diff --git a/data/assets/scene/solarsystem/missions/dawn/ceres.asset b/data/assets/scene/solarsystem/missions/dawn/ceres.asset index 900df2e071..3b5bcc41f9 100644 --- a/data/assets/scene/solarsystem/missions/dawn/ceres.asset +++ b/data/assets/scene/solarsystem/missions/dawn/ceres.asset @@ -28,7 +28,7 @@ local Ceres = { Translation = { Type = "SpiceTranslation", Target = "CERES", - Observer = "SUN", + Observer = "SSB", Kernels = { kernels .. "/dawn_ceres_v01.tpc", kernels .. "/sb_ceres_140724.bsp", @@ -65,7 +65,7 @@ local CeresTrail = { Translation = { Type = "SpiceTranslation", Target = "CERES", - Observer = "SUN" + Observer = "SSB" }, Color = { 0.7, 0.8, 0.7 }, StartTime = "2010 JAN 01 00:00:00.000", diff --git a/data/assets/scene/solarsystem/missions/dawn/dawn.asset b/data/assets/scene/solarsystem/missions/dawn/dawn.asset index 96d8464328..5887fb10d0 100644 --- a/data/assets/scene/solarsystem/missions/dawn/dawn.asset +++ b/data/assets/scene/solarsystem/missions/dawn/dawn.asset @@ -637,7 +637,7 @@ local Dawn = { Translation = { Type = "SpiceTranslation", Target = "DAWN", - Observer = "SUN", + Observer = "SSB", Kernels = KernelFiles }, Rotation = { @@ -722,7 +722,7 @@ local DawnTrail = { Translation = { Type = "SpiceTranslation", Target = "DAWN", - Observer = "SUN" + Observer = "SSB" }, Color = { 1.0, 0.8, 0.4 }, ShowFullTrail = false, diff --git a/data/assets/scene/solarsystem/missions/dawn/vesta.asset b/data/assets/scene/solarsystem/missions/dawn/vesta.asset index 99f3b082ff..247e009502 100644 --- a/data/assets/scene/solarsystem/missions/dawn/vesta.asset +++ b/data/assets/scene/solarsystem/missions/dawn/vesta.asset @@ -31,7 +31,7 @@ local Vesta = { Translation = { Type = "SpiceTranslation", Target = "VESTA", - Observer = "SUN", + Observer = "SSB", Kernels = { --kernels .. "/dawn_vesta_v06.tpc", kernels .. "/sb_vesta_071107.bsp" @@ -118,7 +118,7 @@ local VestaTrail = { Translation = { Type = "SpiceTranslation", Target = "VESTA", - Observer = "SUN" + Observer = "SSB" }, Color = { 0.7, 0.8, 0.7 }, StartTime = "2007 JUL 20 12:00:00", diff --git a/data/assets/scene/solarsystem/missions/jwst/jwst.asset b/data/assets/scene/solarsystem/missions/jwst/jwst.asset index a0c86521e4..6909b74699 100644 --- a/data/assets/scene/solarsystem/missions/jwst/jwst.asset +++ b/data/assets/scene/solarsystem/missions/jwst/jwst.asset @@ -165,7 +165,7 @@ local JWSTSunTrail = { Translation = { Type = "SpiceTranslation", Target = "JWST", - Observer = "SUN", + Observer = "SSB", Kernels = JWSTKernel .. "/jwst_horizons_20200101_20240101_v01.bsp" }, Color = { 0.0, 0.9, 0.9 }, diff --git a/data/assets/scene/solarsystem/missions/messenger/messengerSC.asset b/data/assets/scene/solarsystem/missions/messenger/messengerSC.asset index 7b46f16645..b5cadee6e1 100644 --- a/data/assets/scene/solarsystem/missions/messenger/messengerSC.asset +++ b/data/assets/scene/solarsystem/missions/messenger/messengerSC.asset @@ -67,7 +67,7 @@ local Messenger = { Translation = { Type = "SpiceTranslation", Target = "MESSENGER", - Observer = "SUN", + Observer = "SSB", Kernels = LocalKernels }, Rotation = { diff --git a/data/assets/scene/solarsystem/missions/newhorizons/transforms.asset b/data/assets/scene/solarsystem/missions/newhorizons/transforms.asset index 5238428c17..ff3965ba14 100644 --- a/data/assets/scene/solarsystem/missions/newhorizons/transforms.asset +++ b/data/assets/scene/solarsystem/missions/newhorizons/transforms.asset @@ -14,7 +14,7 @@ local PlutoBarycenterAccurate = { Translation = { Type = "SpiceTranslation", Target = "PLUTO BARYCENTER", - Observer = "SUN", + Observer = "SSB", Kernels = kernels.PlutoKernels } }, diff --git a/data/assets/scene/solarsystem/missions/osirisrex/bennu_projection.asset b/data/assets/scene/solarsystem/missions/osirisrex/bennu_projection.asset index ae2b0add47..afcfb529a7 100644 --- a/data/assets/scene/solarsystem/missions/osirisrex/bennu_projection.asset +++ b/data/assets/scene/solarsystem/missions/osirisrex/bennu_projection.asset @@ -88,7 +88,7 @@ local BennuTrail = { Translation = { Type = "SpiceTranslation", Target = BENNU_BODY, - Observer = "SUN" + Observer = "SSB" }, Color = { 0.4, 0.0, 0.7 }, StartTime = "2015 JAN 01 00:00:00.000", diff --git a/data/assets/scene/solarsystem/missions/osirisrex/model.asset b/data/assets/scene/solarsystem/missions/osirisrex/model.asset index 0af62025e7..aab64ada66 100644 --- a/data/assets/scene/solarsystem/missions/osirisrex/model.asset +++ b/data/assets/scene/solarsystem/missions/osirisrex/model.asset @@ -36,7 +36,7 @@ local OsirisRex = { Translation = { Type = "SpiceTranslation", Target = "OSIRIS-REX", - Observer = "SUN", + Observer = "SSB", Kernels = OsirisRexKernels }, Rotation = { diff --git a/data/assets/scene/solarsystem/missions/osirisrex/trail.asset b/data/assets/scene/solarsystem/missions/osirisrex/trail.asset index 4d152a2bf7..01b33183bc 100644 --- a/data/assets/scene/solarsystem/missions/osirisrex/trail.asset +++ b/data/assets/scene/solarsystem/missions/osirisrex/trail.asset @@ -37,7 +37,7 @@ local OsirisRexTrailSolarSystem = { Translation = { Type = "SpiceTranslation", Target = "OSIRIS-REX", - Observer = "SUN" + Observer = "SSB" }, Color = { 0.2, 0.9, 0.2 }, StartTime = "2016 SEP 8 23:05:00.50", diff --git a/data/assets/scene/solarsystem/missions/osirisrex/transforms.asset b/data/assets/scene/solarsystem/missions/osirisrex/transforms.asset index e8266beadf..ca481d5b1b 100644 --- a/data/assets/scene/solarsystem/missions/osirisrex/transforms.asset +++ b/data/assets/scene/solarsystem/missions/osirisrex/transforms.asset @@ -12,7 +12,7 @@ local BennuBarycenter = { Translation = { Type = "SpiceTranslation", Target = BENNU_BODY, - Observer = "SUN" + Observer = "SSB" } }, GUI = { diff --git a/data/assets/scene/solarsystem/missions/perseverance/trail.asset b/data/assets/scene/solarsystem/missions/perseverance/trail.asset index 10c76a45eb..cd7fffdb30 100644 --- a/data/assets/scene/solarsystem/missions/perseverance/trail.asset +++ b/data/assets/scene/solarsystem/missions/perseverance/trail.asset @@ -35,7 +35,7 @@ local PerseveranceNode = { Translation = { Type = "SpiceTranslation", Target = perseverance_id, - Observer = "SUN", + Observer = "SSB", Kernels = m2020_kernels } }, @@ -54,7 +54,7 @@ local PerseveranceTrailSun = { Translation = { Type = "SpiceTranslation", Target = perseverance_id, - Observer = "SUN", + Observer = "SSB", Kernels = m2020_kernels }, Color = { 0.2, 0.7, 0.1 }, diff --git a/data/assets/scene/solarsystem/missions/pioneer/pioneer10.asset b/data/assets/scene/solarsystem/missions/pioneer/pioneer10.asset index 5ff94818de..bf147bbf71 100644 --- a/data/assets/scene/solarsystem/missions/pioneer/pioneer10.asset +++ b/data/assets/scene/solarsystem/missions/pioneer/pioneer10.asset @@ -21,7 +21,7 @@ local Pioneer10 = { Translation = { Type = "SpiceTranslation", Target = Pioneer10NAIF, - Observer = "SUN", + Observer = "SSB", Kernels = kernelsList } }, @@ -41,7 +41,7 @@ local Pioneer10Trail = { Translation = { Type = "SpiceTranslation", Target = Pioneer10NAIF, - Observer = "SUN", + Observer = "SSB", Kernels = kernelsList }, Color = { 0.70, 0.50, 0.20 }, diff --git a/data/assets/scene/solarsystem/missions/pioneer/pioneer11.asset b/data/assets/scene/solarsystem/missions/pioneer/pioneer11.asset index c9f5a6355c..dad188e997 100644 --- a/data/assets/scene/solarsystem/missions/pioneer/pioneer11.asset +++ b/data/assets/scene/solarsystem/missions/pioneer/pioneer11.asset @@ -24,7 +24,7 @@ local Pioneer11 = { Translation = { Type = "SpiceTranslation", Target = Pioneer11NAIF, - Observer = "SUN", + Observer = "SSB", Kernels = kernelsList } }, @@ -44,7 +44,7 @@ local Pioneer11Trail = { Translation = { Type = "SpiceTranslation", Target = Pioneer11NAIF, - Observer = "SUN", + Observer = "SSB", Kernels = kernelsList }, Color = { 0.70, 0.50, 0.20 }, diff --git a/data/assets/scene/solarsystem/missions/rosetta/67p.asset b/data/assets/scene/solarsystem/missions/rosetta/67p.asset index cf41bc2a91..76d84cb4fa 100644 --- a/data/assets/scene/solarsystem/missions/rosetta/67p.asset +++ b/data/assets/scene/solarsystem/missions/rosetta/67p.asset @@ -33,7 +33,7 @@ local Barycenter = { Translation = { Type = "SpiceTranslation", Target = "CHURYUMOV-GERASIMENKO", - Observer = "SUN" + Observer = "SSB" } }, GUI = { @@ -118,7 +118,7 @@ local Trail67P = { Translation = { Type = "SpiceTranslation", Target = "CHURYUMOV-GERASIMENKO", - Observer = "SUN" + Observer = "SSB" }, Color = { 0.1, 0.9, 0.2 }, StartTime = "2014 JAN 01 00:00:00.000", diff --git a/data/assets/scene/solarsystem/missions/rosetta/rosetta.asset b/data/assets/scene/solarsystem/missions/rosetta/rosetta.asset index 189d22ca49..b33c412cde 100644 --- a/data/assets/scene/solarsystem/missions/rosetta/rosetta.asset +++ b/data/assets/scene/solarsystem/missions/rosetta/rosetta.asset @@ -94,7 +94,7 @@ local Rosetta = { Translation = { Type = "SpiceTranslation", Target = "ROSETTA", - Observer = "SUN", + Observer = "SSB", Kernels = RosettaKernels }, Rotation = { diff --git a/data/assets/scene/solarsystem/missions/voyager/voyager1.asset b/data/assets/scene/solarsystem/missions/voyager/voyager1.asset index 85d6b3bf30..a0d0d4ae22 100644 --- a/data/assets/scene/solarsystem/missions/voyager/voyager1.asset +++ b/data/assets/scene/solarsystem/missions/voyager/voyager1.asset @@ -47,7 +47,7 @@ local Voyager1 = { Translation = { Type = "SpiceTranslation", Target = "VOYAGER 1", - Observer = "SUN", + Observer = "SSB", Kernels = Kernels }, Rotation = { @@ -108,7 +108,7 @@ local VoyagerTrailCruiseEarthJupiter = { Translation = { Type = "SpiceTranslation", Target = "VOYAGER 1", - Observer = "SUN", + Observer = "SSB", Kernels = Kernels }, Color = { 0.70, 0.50, 0.20 }, @@ -130,7 +130,7 @@ local VoyagerTrailEncounterJupiter = { Translation = { Type = "SpiceTranslation", Target = "VOYAGER 1", - Observer = "SUN", + Observer = "SSB", Kernels = Kernels }, Color = { 0.70, 0.50, 0.20 }, @@ -153,7 +153,7 @@ local VoyagerTrailCruiseJupiterSaturn = { Translation = { Type = "SpiceTranslation", Target = "VOYAGER 1", - Observer = "SUN", + Observer = "SSB", Kernels = Kernels }, EnableFade = false, @@ -176,7 +176,7 @@ local VoyagerTrailEncounterSaturn = { Translation = { Type = "SpiceTranslation", Target = "VOYAGER 1", - Observer = "SUN", + Observer = "SSB", Kernels = Kernels }, EnableFade = false, @@ -199,7 +199,7 @@ local VoyagerTrailCruiseSaturnInf = { Translation = { Type = "SpiceTranslation", Target = "VOYAGER 1", - Observer = "SUN", + Observer = "SSB", Kernels = Kernels }, EnableFade = false, diff --git a/data/assets/scene/solarsystem/missions/voyager/voyager2.asset b/data/assets/scene/solarsystem/missions/voyager/voyager2.asset index 812c3d29a2..d2e7e80a17 100644 --- a/data/assets/scene/solarsystem/missions/voyager/voyager2.asset +++ b/data/assets/scene/solarsystem/missions/voyager/voyager2.asset @@ -37,7 +37,7 @@ local LightSources = { Node = sunTransforms.SolarSystemBarycenter.Identifier, Intensity = 1.0 }, -{ + { Identifier = "Camera", Type = "CameraLightSource", Intensity = 0.5 @@ -51,7 +51,7 @@ local Voyager2 = { Translation = { Type = "SpiceTranslation", Target = "VOYAGER 2", - Observer = "SUN", + Observer = "SSB", Kernels = Kernels }, Rotation = { @@ -112,7 +112,7 @@ local VoyagerTrailCruiseEarthJupiter = { Translation = { Type = "SpiceTranslation", Target = "VOYAGER 2", - Observer = "SUN", + Observer = "SSB", Kernels = Kernels }, Color = { 0.70, 0.50, 0.20 }, @@ -134,7 +134,7 @@ local VoyagerTrailEncounterJupiter = { Translation = { Type = "SpiceTranslation", Target = "VOYAGER 2", - Observer = "SUN", + Observer = "SSB", Kernels = Kernels }, Color = { 0.70, 0.50, 0.20 }, @@ -157,7 +157,7 @@ local VoyagerTrailCruiseJupiterSaturn = { Translation = { Type = "SpiceTranslation", Target = "VOYAGER 2", - Observer = "SUN", + Observer = "SSB", Kernels = Kernels }, EnableFade = false, @@ -180,7 +180,7 @@ local VoyagerTrailEncounterSaturn = { Translation = { Type = "SpiceTranslation", Target = "VOYAGER 2", - Observer = "SUN", + Observer = "SSB", Kernels = Kernels }, EnableFade = false, @@ -203,7 +203,7 @@ local VoyagerTrailCruiseSaturnUranus = { Translation = { Type = "SpiceTranslation", Target = "VOYAGER 2", - Observer = "SUN", + Observer = "SSB", Kernels = Kernels }, EnableFade = false, @@ -226,7 +226,7 @@ local VoyagerTrailEncounterUranus = { Translation = { Type = "SpiceTranslation", Target = "VOYAGER 2", - Observer = "SUN", + Observer = "SSB", Kernels = Kernels }, EnableFade = false, @@ -249,7 +249,7 @@ local VoyagerTrailCruiseUranusNeptune = { Translation = { Type = "SpiceTranslation", Target = "VOYAGER 2", - Observer = "SUN", + Observer = "SSB", Kernels = Kernels }, EnableFade = false, @@ -272,7 +272,7 @@ local VoyagerTrailEncounterNeptune = { Translation = { Type = "SpiceTranslation", Target = "VOYAGER 2", - Observer = "SUN", + Observer = "SSB", Kernels = Kernels }, EnableFade = false, @@ -295,7 +295,7 @@ local VoyagerTrailCruiseNeptuneInf = { Translation = { Type = "SpiceTranslation", Target = "VOYAGER 2", - Observer = "SUN", + Observer = "SSB", Kernels = Kernels }, EnableFade = false, diff --git a/data/assets/scene/solarsystem/planets/earth/lagrange_points/L1.asset b/data/assets/scene/solarsystem/planets/earth/lagrange_points/L1.asset index 420ff19185..3d9905bf89 100644 --- a/data/assets/scene/solarsystem/planets/earth/lagrange_points/L1.asset +++ b/data/assets/scene/solarsystem/planets/earth/lagrange_points/L1.asset @@ -20,7 +20,7 @@ local L1 = { Translation = { Type = "SpiceTranslation", Target = "391", -- L1 - Observer = "SUN", + Observer = "SSB", Kernels = kernels .. "/L1_de431.bsp" } }, diff --git a/data/assets/scene/solarsystem/planets/earth/lagrange_points/L2.asset b/data/assets/scene/solarsystem/planets/earth/lagrange_points/L2.asset index 0f84519837..0d3741f2de 100644 --- a/data/assets/scene/solarsystem/planets/earth/lagrange_points/L2.asset +++ b/data/assets/scene/solarsystem/planets/earth/lagrange_points/L2.asset @@ -19,7 +19,7 @@ local L2Small = { Translation = { Type = "SpiceTranslation", Target = "392", -- L2 - Observer = "SUN", + Observer = "SSB", Kernels = kernels .. "/L2_de431.bsp" } }, @@ -46,7 +46,7 @@ local L2 = { Translation = { Type = "SpiceTranslation", Target = "392", -- L2 - Observer = "SUN", + Observer = "SSB", Kernels = kernels .. "/L2_de431.bsp" } }, diff --git a/data/assets/scene/solarsystem/planets/earth/lagrange_points/L4.asset b/data/assets/scene/solarsystem/planets/earth/lagrange_points/L4.asset index 05ca2a57b5..5ed34bcb8a 100644 --- a/data/assets/scene/solarsystem/planets/earth/lagrange_points/L4.asset +++ b/data/assets/scene/solarsystem/planets/earth/lagrange_points/L4.asset @@ -20,7 +20,7 @@ local L4 = { Translation = { Type = "SpiceTranslation", Target = "394", -- L4 - Observer = "SUN", + Observer = "SSB", Kernels = kernels .. "/L4_de431.bsp" } }, diff --git a/data/assets/scene/solarsystem/planets/earth/lagrange_points/L5.asset b/data/assets/scene/solarsystem/planets/earth/lagrange_points/L5.asset index dcaabb12b7..1fffca80db 100644 --- a/data/assets/scene/solarsystem/planets/earth/lagrange_points/L5.asset +++ b/data/assets/scene/solarsystem/planets/earth/lagrange_points/L5.asset @@ -20,7 +20,7 @@ local L5 = { Translation = { Type = "SpiceTranslation", Target = "395", -- L5 - Observer = "SUN", + Observer = "SSB", Kernels = kernels .. "/L5_de431.bsp" } }, diff --git a/data/assets/scene/solarsystem/planets/earth/trail.asset b/data/assets/scene/solarsystem/planets/earth/trail.asset index 39870cc5af..2f91712bde 100644 --- a/data/assets/scene/solarsystem/planets/earth/trail.asset +++ b/data/assets/scene/solarsystem/planets/earth/trail.asset @@ -12,7 +12,7 @@ local EarthTrail = { Translation = { Type = "SpiceTranslation", Target = "EARTH", - Observer = "SUN" + Observer = "SSB" }, Color = { 0.5, 0.8, 1.0 }, Period = 365.242, diff --git a/data/assets/scene/solarsystem/planets/earth/transforms.asset b/data/assets/scene/solarsystem/planets/earth/transforms.asset index 7717c89707..d08a74058f 100644 --- a/data/assets/scene/solarsystem/planets/earth/transforms.asset +++ b/data/assets/scene/solarsystem/planets/earth/transforms.asset @@ -11,7 +11,7 @@ local EarthBarycenter = { Translation = { Type = "SpiceTranslation", Target = "EARTH BARYCENTER", - Observer = "SUN" + Observer = "SSB" } }, GUI = { diff --git a/data/assets/scene/solarsystem/planets/jupiter/jupiter.asset b/data/assets/scene/solarsystem/planets/jupiter/jupiter.asset index 29a7d0495e..a7941b8f18 100644 --- a/data/assets/scene/solarsystem/planets/jupiter/jupiter.asset +++ b/data/assets/scene/solarsystem/planets/jupiter/jupiter.asset @@ -7,6 +7,11 @@ local Jupiter = { Identifier = "Jupiter", Parent = transforms.JupiterBarycenter.Identifier, Transform = { + Translation = { + Type = "SpiceTranslation", + Target = "JUPITER", + Observer = "JUPITER BARYCENTER" + }, Rotation = { Type = "SpiceRotation", SourceFrame = "IAU_JUPITER", diff --git a/data/assets/scene/solarsystem/planets/jupiter/jupiter_globelabels.asset b/data/assets/scene/solarsystem/planets/jupiter/jupiter_globelabels.asset index c13b0b0f4b..9de72c055c 100644 --- a/data/assets/scene/solarsystem/planets/jupiter/jupiter_globelabels.asset +++ b/data/assets/scene/solarsystem/planets/jupiter/jupiter_globelabels.asset @@ -1,5 +1,5 @@ local LabelsPath = asset.syncedResource({ - Name = "Callisto Labels", + Name = "Jupiter Labels", Type = "HttpSynchronization", Identifier = "jupiter_labels", Version = 1 diff --git a/data/assets/scene/solarsystem/planets/jupiter/trail.asset b/data/assets/scene/solarsystem/planets/jupiter/trail.asset index 7f5c7347b1..ef0ea4dc2a 100644 --- a/data/assets/scene/solarsystem/planets/jupiter/trail.asset +++ b/data/assets/scene/solarsystem/planets/jupiter/trail.asset @@ -11,8 +11,8 @@ local JupiterTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "JUPITER BARYCENTER", - Observer = "SUN" + Target = "JUPITER", + Observer = "SSB" }, Color = { 0.8, 0.7, 0.7 }, Period = 4330.595, diff --git a/data/assets/scene/solarsystem/planets/jupiter/trail_earth.asset b/data/assets/scene/solarsystem/planets/jupiter/trail_earth.asset index 50dd1cf706..e89618469b 100644 --- a/data/assets/scene/solarsystem/planets/jupiter/trail_earth.asset +++ b/data/assets/scene/solarsystem/planets/jupiter/trail_earth.asset @@ -12,7 +12,7 @@ local JupiterTrailEarth = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "JUPITER BARYCENTER", + Target = "JUPITER", Observer = "EARTH" }, Color = { 1.0, 0.5, 0.2 }, @@ -36,7 +36,7 @@ asset.meta = { Author = "OpenSpace Team", URL = "http://openspaceproject.com", License = "MIT license", - Identifiers = {"VenusTrailEarth"} + Identifiers = {"JupiterTrailEarth"} } assetHelper.registerSceneGraphNodesAndExport(asset, { JupiterTrailEarth }) diff --git a/data/assets/scene/solarsystem/planets/jupiter/transforms.asset b/data/assets/scene/solarsystem/planets/jupiter/transforms.asset index 28db943e93..510b1db636 100644 --- a/data/assets/scene/solarsystem/planets/jupiter/transforms.asset +++ b/data/assets/scene/solarsystem/planets/jupiter/transforms.asset @@ -11,7 +11,7 @@ local JupiterBarycenter = { Translation = { Type = "SpiceTranslation", Target = "JUPITER BARYCENTER", - Observer = "SUN" + Observer = "SSB" } }, GUI = { @@ -27,7 +27,7 @@ assetHelper.registerSceneGraphNodesAndExport(asset, { JupiterBarycenter }) asset.meta = { Name = "Jupiter Transforms", Version = "1.0", - Description = [[ Jupiter Barycenter transform]], + Description = [[ Jupiter Barycenter transform ]], Author = "OpenSpace Team", URL = "http://openspaceproject.com", License = "MIT license", diff --git a/data/assets/scene/solarsystem/planets/mars/mars.asset b/data/assets/scene/solarsystem/planets/mars/mars.asset index 977d986e99..38ea1c813f 100644 --- a/data/assets/scene/solarsystem/planets/mars/mars.asset +++ b/data/assets/scene/solarsystem/planets/mars/mars.asset @@ -11,6 +11,11 @@ local Mars = { Identifier = "Mars", Parent = transforms.MarsBarycenter.Identifier, Transform = { + Translation = { + Type = "SpiceTranslation", + Target = "MARS", + Observer = "MARS BARYCENTER" + }, Rotation = { Type = "SpiceRotation", SourceFrame = "IAU_MARS", diff --git a/data/assets/scene/solarsystem/planets/mars/trail.asset b/data/assets/scene/solarsystem/planets/mars/trail.asset index 1922c582ea..78e8eea805 100644 --- a/data/assets/scene/solarsystem/planets/mars/trail.asset +++ b/data/assets/scene/solarsystem/planets/mars/trail.asset @@ -11,8 +11,8 @@ local MarsTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "MARS BARYCENTER", - Observer = "SUN" + Target = "MARS", + Observer = "SSB" }, Color = { 0.814, 0.305, 0.220 }, Period = 686.973, diff --git a/data/assets/scene/solarsystem/planets/mars/trail_earth.asset b/data/assets/scene/solarsystem/planets/mars/trail_earth.asset index 62286cbae2..0863042ef5 100644 --- a/data/assets/scene/solarsystem/planets/mars/trail_earth.asset +++ b/data/assets/scene/solarsystem/planets/mars/trail_earth.asset @@ -12,7 +12,7 @@ local MarsTrailEarth = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "MARS BARYCENTER", + Target = "MARS", Observer = "EARTH" }, Color = { 1.0, 0.5, 0.2 }, diff --git a/data/assets/scene/solarsystem/planets/mars/transforms.asset b/data/assets/scene/solarsystem/planets/mars/transforms.asset index 1ec160733b..7b8fb79dbf 100644 --- a/data/assets/scene/solarsystem/planets/mars/transforms.asset +++ b/data/assets/scene/solarsystem/planets/mars/transforms.asset @@ -9,7 +9,7 @@ local MarsBarycenter = { Translation = { Type = "SpiceTranslation", Target = "MARS BARYCENTER", - Observer = "SUN" + Observer = "SSB" } }, GUI = { diff --git a/data/assets/scene/solarsystem/planets/mercury/mercury.asset b/data/assets/scene/solarsystem/planets/mercury/mercury.asset index ceb774f5ac..f6e8465910 100644 --- a/data/assets/scene/solarsystem/planets/mercury/mercury.asset +++ b/data/assets/scene/solarsystem/planets/mercury/mercury.asset @@ -9,6 +9,11 @@ local Mercury = { Identifier = "Mercury", Parent = transforms.MercuryBarycenter.Identifier, Transform = { + Translation = { + Type = "SpiceTranslation", + Target = "MERCURY", + Observer = "MERCURY BARYCENTER" + }, Rotation = { Type = "SpiceRotation", SourceFrame = "IAU_MERCURY", diff --git a/data/assets/scene/solarsystem/planets/mercury/trail.asset b/data/assets/scene/solarsystem/planets/mercury/trail.asset index 40628994a2..2514f0ca70 100644 --- a/data/assets/scene/solarsystem/planets/mercury/trail.asset +++ b/data/assets/scene/solarsystem/planets/mercury/trail.asset @@ -12,7 +12,7 @@ local MercuryTrail = { Translation = { Type = "SpiceTranslation", Target = "MERCURY", - Observer = "SUN" + Observer = "SSB" }, Color = { 0.6, 0.5, 0.5 }, Period = 87.968, diff --git a/data/assets/scene/solarsystem/planets/mercury/trail_earth.asset b/data/assets/scene/solarsystem/planets/mercury/trail_earth.asset index 1b0a35d935..1d44518f34 100644 --- a/data/assets/scene/solarsystem/planets/mercury/trail_earth.asset +++ b/data/assets/scene/solarsystem/planets/mercury/trail_earth.asset @@ -12,7 +12,7 @@ local MercuryTrailEarth = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "MERCURY BARYCENTER", + Target = "MERCURY", Observer = "EARTH" }, Color = { 1.0, 0.5, 0.2 }, diff --git a/data/assets/scene/solarsystem/planets/mercury/transforms.asset b/data/assets/scene/solarsystem/planets/mercury/transforms.asset index 21b85f696b..0b85348f9b 100644 --- a/data/assets/scene/solarsystem/planets/mercury/transforms.asset +++ b/data/assets/scene/solarsystem/planets/mercury/transforms.asset @@ -8,8 +8,8 @@ local MercuryBarycenter = { Transform = { Translation = { Type = "SpiceTranslation", - Target = "MERCURY", - Observer = "SUN" + Target = "MERCURY BARYCENTER", + Observer = "SSB" } }, GUI = { diff --git a/data/assets/scene/solarsystem/planets/neptune/major_moons.asset b/data/assets/scene/solarsystem/planets/neptune/major_moons.asset index df57e32d64..698924a3e3 100644 --- a/data/assets/scene/solarsystem/planets/neptune/major_moons.asset +++ b/data/assets/scene/solarsystem/planets/neptune/major_moons.asset @@ -2,7 +2,7 @@ asset.require('./triton') asset.meta = { - Name = "Neptune Minor Moons", + Name = "Neptune Major Moons", Version = "1.0", Description = [[ Meta asset containing Neptune's major moon: Triton]], Author = "OpenSpace Team", diff --git a/data/assets/scene/solarsystem/planets/neptune/neptune.asset b/data/assets/scene/solarsystem/planets/neptune/neptune.asset index 5700797e14..e4e226a339 100644 --- a/data/assets/scene/solarsystem/planets/neptune/neptune.asset +++ b/data/assets/scene/solarsystem/planets/neptune/neptune.asset @@ -7,6 +7,11 @@ local Neptune = { Identifier = "Neptune", Parent = transforms.NeptuneBarycenter.Identifier, Transform = { + Translation = { + Type = "SpiceTranslation", + Target = "NEPTUNE", + Observer = "NEPTUNE BARYCENTER" + }, Rotation = { Type = "SpiceRotation", SourceFrame = "IAU_NEPTUNE", diff --git a/data/assets/scene/solarsystem/planets/neptune/trail.asset b/data/assets/scene/solarsystem/planets/neptune/trail.asset index 86e554b33d..a20febb561 100644 --- a/data/assets/scene/solarsystem/planets/neptune/trail.asset +++ b/data/assets/scene/solarsystem/planets/neptune/trail.asset @@ -11,8 +11,8 @@ local NeptuneTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "NEPTUNE BARYCENTER", - Observer = "SUN" + Target = "NEPTUNE", + Observer = "SSB" }, Color = { 0.2, 0.5, 1.0 }, -- Period = 60200, diff --git a/data/assets/scene/solarsystem/planets/neptune/trail_earth.asset b/data/assets/scene/solarsystem/planets/neptune/trail_earth.asset index 93b96735a5..791e8f70dd 100644 --- a/data/assets/scene/solarsystem/planets/neptune/trail_earth.asset +++ b/data/assets/scene/solarsystem/planets/neptune/trail_earth.asset @@ -12,7 +12,7 @@ local NeptuneTrailEarth = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "NEPTUNE BARYCENTER", + Target = "NEPTUNE", Observer = "EARTH" }, Color = { 1.0, 0.5, 0.2 }, @@ -40,5 +40,5 @@ asset.meta = { Author = "OpenSpace Team", URL = "http://openspaceproject.com", License = "MIT license", - Identifiers = {"VenusTrailEarth"} + Identifiers = {"NeptuneTrailEarth"} } diff --git a/data/assets/scene/solarsystem/planets/neptune/transforms.asset b/data/assets/scene/solarsystem/planets/neptune/transforms.asset index ede2678dbd..d5f0409737 100644 --- a/data/assets/scene/solarsystem/planets/neptune/transforms.asset +++ b/data/assets/scene/solarsystem/planets/neptune/transforms.asset @@ -9,7 +9,7 @@ local NeptuneBarycenter = { Translation = { Type = "SpiceTranslation", Target = "NEPTUNE BARYCENTER", - Observer = "SUN" + Observer = "SSB" } }, GUI = { @@ -26,7 +26,7 @@ assetHelper.registerSceneGraphNodesAndExport(asset, { NeptuneBarycenter }) asset.meta = { Name = "Neptune Transforms", Version = "1.0", - Description = [[ Neptune Barycenter transform]], + Description = [[ Neptune Barycenter transform ]], Author = "OpenSpace Team", URL = "http://openspaceproject.com", License = "MIT license", diff --git a/data/assets/scene/solarsystem/planets/saturn/saturn.asset b/data/assets/scene/solarsystem/planets/saturn/saturn.asset index 8a92299d59..77d44acf2a 100644 --- a/data/assets/scene/solarsystem/planets/saturn/saturn.asset +++ b/data/assets/scene/solarsystem/planets/saturn/saturn.asset @@ -9,6 +9,11 @@ local Saturn = { Identifier = "Saturn", Parent = transforms.SaturnBarycenter.Identifier, Transform = { + Translation = { + Type = "SpiceTranslation", + Target = "SATURN", + Observer = "SATURN BARYCENTER" + }, Rotation = { Type = "SpiceRotation", SourceFrame = "IAU_SATURN", diff --git a/data/assets/scene/solarsystem/planets/saturn/saturn_globelabels.asset b/data/assets/scene/solarsystem/planets/saturn/saturn_globelabels.asset index cca9ae611b..be23aa78c1 100644 --- a/data/assets/scene/solarsystem/planets/saturn/saturn_globelabels.asset +++ b/data/assets/scene/solarsystem/planets/saturn/saturn_globelabels.asset @@ -1,5 +1,5 @@ local LabelsPath = asset.syncedResource({ - Name = "Dione Labels", + Name = "Saturn Labels", Type = "HttpSynchronization", Identifier = "saturn_labels", Version = 1 diff --git a/data/assets/scene/solarsystem/planets/saturn/trail.asset b/data/assets/scene/solarsystem/planets/saturn/trail.asset index 907eb7ae94..d2f09c1362 100644 --- a/data/assets/scene/solarsystem/planets/saturn/trail.asset +++ b/data/assets/scene/solarsystem/planets/saturn/trail.asset @@ -10,8 +10,8 @@ local SaturnTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "SATURN BARYCENTER", - Observer = "SUN" + Target = "SATURN", + Observer = "SSB" }, Color = { 0.85, 0.75, 0.51 }, Period = 10746.94, diff --git a/data/assets/scene/solarsystem/planets/saturn/trail_earth.asset b/data/assets/scene/solarsystem/planets/saturn/trail_earth.asset index 90a686abbb..545e2e277b 100644 --- a/data/assets/scene/solarsystem/planets/saturn/trail_earth.asset +++ b/data/assets/scene/solarsystem/planets/saturn/trail_earth.asset @@ -12,7 +12,7 @@ local SaturnTrailEarth = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "SATURN BARYCENTER", + Target = "SATURN", Observer = "EARTH" }, Color = { 1.0, 0.5, 0.2 }, @@ -37,8 +37,8 @@ asset.meta = { Author = "OpenSpace Team", URL = "http://openspaceproject.com", License = "MIT license", - Identifiers = {"VenusTrailEarth"} + Identifiers = {"SaturnTrailEarth"} } -assetHelper.registerSceneGraphNodesAndExport(asset, { UranusTrailEarth }) +assetHelper.registerSceneGraphNodesAndExport(asset, { SaturnTrailEarth }) diff --git a/data/assets/scene/solarsystem/planets/saturn/transforms.asset b/data/assets/scene/solarsystem/planets/saturn/transforms.asset index cedfe258df..066c700e44 100644 --- a/data/assets/scene/solarsystem/planets/saturn/transforms.asset +++ b/data/assets/scene/solarsystem/planets/saturn/transforms.asset @@ -9,7 +9,7 @@ local SaturnBarycenter = { Translation = { Type = "SpiceTranslation", Target = "SATURN BARYCENTER", - Observer = "SUN" + Observer = "SSB" } }, GUI = { diff --git a/data/assets/scene/solarsystem/planets/uranus/trail.asset b/data/assets/scene/solarsystem/planets/uranus/trail.asset index 76d6996599..ad24d25221 100644 --- a/data/assets/scene/solarsystem/planets/uranus/trail.asset +++ b/data/assets/scene/solarsystem/planets/uranus/trail.asset @@ -10,8 +10,8 @@ local UranusTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "URANUS BARYCENTER", - Observer = "SUN" + Target = "URANUS", + Observer = "SSB" }, Color = { 0.60, 0.95, 1.00 }, Period = 30588.740, diff --git a/data/assets/scene/solarsystem/planets/uranus/trail_earth.asset b/data/assets/scene/solarsystem/planets/uranus/trail_earth.asset index 5c5d4d775d..a680c5e429 100644 --- a/data/assets/scene/solarsystem/planets/uranus/trail_earth.asset +++ b/data/assets/scene/solarsystem/planets/uranus/trail_earth.asset @@ -12,7 +12,7 @@ local UranusTrailEarth = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "URANUS BARYCENTER", + Target = "URANUS", Observer = "EARTH" }, Color = { 1.0, 0.5, 0.2 }, @@ -40,5 +40,5 @@ asset.meta = { Author = "OpenSpace Team", URL = "http://openspaceproject.com", License = "MIT license", - Identifiers = {"VenusTrailEarth"} + Identifiers = {"UranusTrailEarth"} } diff --git a/data/assets/scene/solarsystem/planets/uranus/transforms.asset b/data/assets/scene/solarsystem/planets/uranus/transforms.asset index 99a3274132..a377192913 100644 --- a/data/assets/scene/solarsystem/planets/uranus/transforms.asset +++ b/data/assets/scene/solarsystem/planets/uranus/transforms.asset @@ -11,7 +11,7 @@ local UranusBarycenter = { Translation = { Type = "SpiceTranslation", Target = "URANUS BARYCENTER", - Observer = "SUN" + Observer = "SSB" } }, GUI = { @@ -31,5 +31,6 @@ asset.meta = { Description = [[ Uranus Barycenter transform]], Author = "OpenSpace Team", URL = "http://openspaceproject.com", - License = "MIT license" + License = "MIT license", + Identifiers = {"UranusBarycenter"} } diff --git a/data/assets/scene/solarsystem/planets/uranus/uranus.asset b/data/assets/scene/solarsystem/planets/uranus/uranus.asset index 80d6add8f7..e8dadd8be4 100644 --- a/data/assets/scene/solarsystem/planets/uranus/uranus.asset +++ b/data/assets/scene/solarsystem/planets/uranus/uranus.asset @@ -7,6 +7,11 @@ local Uranus = { Identifier = "Uranus", Parent = transforms.UranusBarycenter.Identifier, Transform = { + Translation = { + Type = "SpiceTranslation", + Target = "URANUS", + Observer = "URANUS BARYCENTER" + }, Rotation = { Type = "SpiceRotation", SourceFrame = "IAU_URANUS", diff --git a/data/assets/scene/solarsystem/planets/venus/trail.asset b/data/assets/scene/solarsystem/planets/venus/trail.asset index 8abf07815f..5d0ad9fc1e 100644 --- a/data/assets/scene/solarsystem/planets/venus/trail.asset +++ b/data/assets/scene/solarsystem/planets/venus/trail.asset @@ -11,8 +11,8 @@ local VenusTrail = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "VENUS BARYCENTER", - Observer = "SUN" + Target = "VENUS", + Observer = "SSB" }, Color = { 1.0, 0.5, 0.2 }, Period = 224.695, diff --git a/data/assets/scene/solarsystem/planets/venus/trail_earth.asset b/data/assets/scene/solarsystem/planets/venus/trail_earth.asset index 3af7aecaaa..79e78aa2bb 100644 --- a/data/assets/scene/solarsystem/planets/venus/trail_earth.asset +++ b/data/assets/scene/solarsystem/planets/venus/trail_earth.asset @@ -11,7 +11,7 @@ local VenusTrailEarth = { Type = "RenderableTrailOrbit", Translation = { Type = "SpiceTranslation", - Target = "VENUS BARYCENTER", + Target = "VENUS", Observer = "EARTH" }, Color = { 1.0, 0.5, 0.2 }, diff --git a/data/assets/scene/solarsystem/planets/venus/transforms.asset b/data/assets/scene/solarsystem/planets/venus/transforms.asset index 2db6ea4117..9ae009af03 100644 --- a/data/assets/scene/solarsystem/planets/venus/transforms.asset +++ b/data/assets/scene/solarsystem/planets/venus/transforms.asset @@ -9,7 +9,7 @@ local VenusBarycenter = { Translation = { Type = "SpiceTranslation", Target = "VENUS BARYCENTER", - Observer = "SUN" + Observer = "SSB" } }, GUI = { @@ -26,7 +26,7 @@ assetHelper.registerSceneGraphNodesAndExport(asset, { VenusBarycenter }) asset.meta = { Name = "Venus Transforms", Version = "1.0", - Description = [[ Spice translation for Venus Barycenter]], + Description = [[ Spice translation for Venus Barycenter ]], Author = "OpenSpace Team", URL = "http://openspaceproject.com", License = "MIT license", diff --git a/data/assets/scene/solarsystem/planets/venus/venus.asset b/data/assets/scene/solarsystem/planets/venus/venus.asset index 2e1c74df2a..062f58fade 100644 --- a/data/assets/scene/solarsystem/planets/venus/venus.asset +++ b/data/assets/scene/solarsystem/planets/venus/venus.asset @@ -8,6 +8,11 @@ local Venus = { Identifier = "Venus", Parent = transforms.VenusBarycenter.Identifier, Transform = { + Translation = { + Type = "SpiceTranslation", + Target = "VENUS", + Observer = "VENUS BARYCENTER" + }, Rotation = { Type = "SpiceRotation", SourceFrame = "IAU_VENUS", diff --git a/data/assets/scene/solarsystem/sun/glare.asset b/data/assets/scene/solarsystem/sun/glare.asset index 827ab90509..a45d80dd82 100644 --- a/data/assets/scene/solarsystem/sun/glare.asset +++ b/data/assets/scene/solarsystem/sun/glare.asset @@ -7,7 +7,7 @@ asset.require("spice/base") local SunGlare = { Identifier = "SunGlare", - Parent = transforms.SolarSystemBarycenter.Identifier, + Parent = transforms.SunIAU.Identifier, Renderable = { Type = "RenderablePlaneImageLocal", Size = 1.3*10^10.5, @@ -18,13 +18,6 @@ local SunGlare = { Opacity = 0.65, RenderableType = "PreDeferredTransparency" }, - Transform = { - Translation = { - Type = "SpiceTranslation", - Target = "SUN", - Observer = "SSB" - } - }, GUI = { Name = "Sun Glare", Path = "/Solar System/Sun", diff --git a/data/assets/util/default_joystick.asset b/data/assets/util/default_joystick.asset deleted file mode 100644 index 8ecce48410..0000000000 --- a/data/assets/util/default_joystick.asset +++ /dev/null @@ -1,228 +0,0 @@ -local propertyHelper = asset.require('./property_helper') - --- Allowed values for the second parameter of bindJoystickAxis: --- "None" --- "Orbit X" --- "Orbit Y" --- "Zoom" -- both in and out --- "Zoom In" --- "Zoom Out" --- "LocalRoll X" --- "LocalRoll Y" --- "GlobalRoll X" --- "GlobalRoll Y" --- "Pan X" --- "Pan Y" --- Third parameter determines whether the axis should be inverted --- Fourth parameter determines whether the axis should be normalized from [-1,1] to [0,1] - - -local XBoxController = { - LeftThumbStick = { 0 , 1 }, - RightThumbStick = { 2, 3 }, - LeftTrigger = 4, - RightTrigger = 5, - A = 0, - B = 1, - X = 2, - Y = 3, - LB = 4, - RB = 5, - Select = 6, - Start = 7, - LeftStick = 8, - RightStick = 9, - DPad = { - Up = 10, - Right = 11, - Down = 12, - Left = 13 - } -} - -local PS4Controller = { - LeftThumbStick = { 0 , 1 }, - RightThumbStick = { 2, 5 }, - LeftTrigger = 3, - RightTrigger = 4, - A = 1, -- Cross - B = 2, -- Circle - X = 0, -- Square - Y = 3, -- Triangle - LB = 4, - RB = 5, - Select = 9, -- options - Start = 12, -- PS button - LeftStick = 10, - RightStick = 11, - DPad = { - Up = 14, - Right = 15, - Down = 16, - Left = 17 - } -} - -local SpaceMouse = { - Push = {0, 1, 2}, -- left/right, back/forth, up/down - Twist = {5}, -- left/right - Tilt = {4, 3}, -- left/right, back/forth - LeftButton = 0, - RightButton = 1 -} - --- Variables to store the state of the joystick between frames -Joystick = {} -Joystick.State = {} -Joystick.State.IsInRollMode = false -Joystick.State.Axis = {} - -local bindLocalRoll = function(axis) - return [[ - -- We only want to store the current state in the first mode that is enabled, otherwise we will overwrite the backup - if not Joystick.State.IsInRollMode then - -- Save current axis state - Joystick.State.Axis.Type, Joystick.State.Axis.Inverted, Joystick.State.Axis.Normalized, Joystick.State.Axis.Sticky, Joystick.State.Axis.Sensitivity = openspace.navigation.joystickAxis(]] .. axis .. [[) - end - - -- Set new axis state - openspace.navigation.bindJoystickAxis(]] .. axis .. [[, "LocalRoll X", Joystick.State.Axis.Inverted, Joystick.State.Axis.Normalized, Joystick.State.Axis.Sticky, Joystick.State.Axis.Sensitivity); - Joystick.State.IsInRollMode = true - ]] -end - -local bindGlobalRoll = function(axis) - return [[ - -- We only want to store the current state in the first mode that is enabled, otherwise we will overwrite the backup - if not Joystick.State.IsInRollMode then - -- Save current axis state - Joystick.State.Axis.Type, Joystick.State.Axis.Inverted, Joystick.State.Axis.Normalized, Joystick.State.Axis.Sticky, Joystick.State.Axis.Sensitivity = openspace.navigation.joystickAxis(]] .. axis .. [[) - end - - -- Set new axis state - openspace.navigation.bindJoystickAxis(]] .. axis .. [[, "GlobalRoll X", Joystick.State.Axis.Inverted, Joystick.State.Axis.Normalized, Joystick.State.Axis.Sticky, Joystick.State.Axis.Sensitivity); - Joystick.State.IsInRollMode = true - ]] -end - -local permaBindLocalRoll = function(axis) - return [[ - -- Save current axis state - Joystick.State.Axis.Type, Joystick.State.Axis.Inverted, Joystick.State.Axis.Normalized, Joystick.State.Axis.Sticky, Joystick.State.Axis.Sensitivity = openspace.navigation.joystickAxis(]] .. axis .. [[) - - -- Set new axis state - openspace.navigation.bindJoystickAxis(]] .. axis .. [[, "LocalRoll X", Joystick.State.Axis.Inverted, Joystick.State.Axis.Normalized, Joystick.State.Axis.Sticky, Joystick.State.Axis.Sensitivity); - ]] -end - -local permaBindGlobalRoll = function(axis) - return [[ - -- Save current axis state - Joystick.State.Axis.Type, Joystick.State.Axis.Inverted, Joystick.State.Axis.Normalized, Joystick.State.Axis.Sticky, Joystick.State.Axis.Sensitivity = openspace.navigation.joystickAxis(]] .. axis .. [[) - - -- Set new axis state - openspace.navigation.bindJoystickAxis(]] .. axis .. [[, "GlobalRoll X", Joystick.State.Axis.Inverted, Joystick.State.Axis.Normalized, Joystick.State.Axis.Sticky, Joystick.State.Axis.Sensitivity); - ]] -end - -local unbindRoll = function(axis) - return [[ - -- Reset previous state - openspace.navigation.bindJoystickAxis(]] .. axis .. [[, Joystick.State.Axis.Type, Joystick.State.Axis.Inverted, Joystick.State.Axis.Normalized, Joystick.State.Axis.Sticky, Joystick.State.Axis.Sensitivity); - ]] -end - -asset.onInitialize(function() - -- Set the controller to the connected controller - -- Currently: XBoxController, PS4Controller or SpaceMouse - local controller = XBoxController; - - -- Case of XBoxController or PS4Controller - if(controller.A ~= nil) then - openspace.navigation.setAxisDeadZone(controller.LeftThumbStick[1], 0.15) - openspace.navigation.setAxisDeadZone(controller.LeftThumbStick[2], 0.15) - openspace.navigation.setAxisDeadZone(controller.RightThumbStick[1], 0.15) - openspace.navigation.setAxisDeadZone(controller.RightThumbStick[2], 0.15) - - openspace.navigation.bindJoystickAxis(controller.LeftThumbStick[1], "Orbit X"); - openspace.navigation.bindJoystickAxis(controller.LeftThumbStick[2], "Orbit Y", true); - openspace.navigation.bindJoystickAxis(controller.RightThumbStick[1], "Pan X", true); - openspace.navigation.bindJoystickAxis(controller.RightThumbStick[2], "Pan Y", true); - openspace.navigation.bindJoystickAxis(controller.LeftTrigger, "Zoom Out", false, true); - openspace.navigation.bindJoystickAxis(controller.RightTrigger, "Zoom In", false, true); - - openspace.navigation.bindJoystickButton( - controller.LB, - bindLocalRoll(controller.RightThumbStick[1]), - "Switch to local roll mode" - ) - openspace.navigation.bindJoystickButton( - controller.LB, - unbindRoll(controller.RightThumbStick[1]), - "Switch back to normal mode", - "Release" - ) - openspace.navigation.bindJoystickButton( - controller.RB, - bindGlobalRoll(controller.RightThumbStick[1]), - "Switch to global roll mode" - ) - openspace.navigation.bindJoystickButton( - controller.RB, - unbindRoll(controller.RightThumbStick[1]), - "Switch back to normal mode", - "Release" - ) - - openspace.navigation.bindJoystickButton( - controller.A, - propertyHelper.invert('NavigationHandler.OrbitalNavigator.Friction.ZoomFriction'), - "Toggle zoom friction" - ) - openspace.navigation.bindJoystickButton( - controller.B, - propertyHelper.invert('NavigationHandler.OrbitalNavigator.Friction.RotationalFriction'), - "Toggle rotational friction" - ) - openspace.navigation.bindJoystickButton( - controller.DPad.Left, - propertyHelper.invert('NavigationHandler.OrbitalNavigator.Friction.RollFriction'), - "Toggle roll friction" - ) - - openspace.navigation.bindJoystickButton( - controller.X, - "openspace.setPropertyValueSingle('NavigationHandler.OrbitalNavigator.Aim', '');" .. - "openspace.setPropertyValueSingle('NavigationHandler.OrbitalNavigator.Anchor', 'Earth');" .. - "openspace.setPropertyValueSingle('NavigationHandler.OrbitalNavigator.RetargetAnchor', nil);", - "Switch target to Earth" - ) - openspace.navigation.bindJoystickButton( - controller.Y, - "openspace.setPropertyValueSingle('NavigationHandler.OrbitalNavigator.Aim', '');" .. - "openspace.setPropertyValueSingle('NavigationHandler.OrbitalNavigator.Anchor', 'Mars');" .. - "openspace.setPropertyValueSingle('NavigationHandler.OrbitalNavigator.RetargetAnchor', nil);", - "Switch target to Mars" - ) - -- Case of SpaceMouse - elseif (controller.LeftButton ~= nil) then - openspace.navigation.bindJoystickAxis(controller.Push[1], "Orbit X", false, false, true, 40.0); - openspace.navigation.bindJoystickAxis(controller.Push[2], "Orbit Y", false, false, true, 40.0); - openspace.navigation.bindJoystickAxis(controller.Twist[1], "Pan X", true, false, true, 40.0); - openspace.navigation.bindJoystickAxis(controller.Tilt[2], "Pan Y", false, false, true, 35.0); - openspace.navigation.bindJoystickAxis(controller.Push[3], "Zoom", false, false, true, 40.0); - openspace.navigation.bindJoystickAxis(controller.Tilt[1], "LocalRoll X", false, false, true, 35.0); - - openspace.navigation.bindJoystickButton( - controller.LeftButton, - permaBindLocalRoll(controller.Tilt[1]), - "Switch to local roll mode" - ) - - openspace.navigation.bindJoystickButton( - controller.RightButton, - permaBindGlobalRoll(controller.Tilt[1]), - "Switch to global roll mode" - ) - end -end) diff --git a/data/assets/util/joysticks/joystick_helper.asset b/data/assets/util/joysticks/joystick_helper.asset new file mode 100644 index 0000000000..106c9dc901 --- /dev/null +++ b/data/assets/util/joysticks/joystick_helper.asset @@ -0,0 +1,66 @@ +-- Variables to store the state of the joystick between frames +Joystick = {} +Joystick.State = {} +Joystick.State.IsInRollMode = false +Joystick.State.Axis = {} + +local bindLocalRoll = function(axis) + return [[ + -- We only want to store the current state in the first mode that is enabled, otherwise we will overwrite the backup + if not Joystick.State.IsInRollMode then + -- Save current axis state + Joystick.State.Axis.Type, Joystick.State.Axis.Inverted, Joystick.State.Axis.Normalized, Joystick.State.Axis.Sticky, Joystick.State.Axis.Sensitivity = openspace.navigation.joystickAxis(]] .. axis .. [[) + end + + -- Set new axis state + openspace.navigation.bindJoystickAxis(]] .. axis .. [[, "LocalRoll X", Joystick.State.Axis.Inverted, Joystick.State.Axis.Normalized, Joystick.State.Axis.Sticky, Joystick.State.Axis.Sensitivity); + Joystick.State.IsInRollMode = true + ]] +end + +local bindGlobalRoll = function(axis) + return [[ + -- We only want to store the current state in the first mode that is enabled, otherwise we will overwrite the backup + if not Joystick.State.IsInRollMode then + -- Save current axis state + Joystick.State.Axis.Type, Joystick.State.Axis.Inverted, Joystick.State.Axis.Normalized, Joystick.State.Axis.Sticky, Joystick.State.Axis.Sensitivity = openspace.navigation.joystickAxis(]] .. axis .. [[) + end + + -- Set new axis state + openspace.navigation.bindJoystickAxis(]] .. axis .. [[, "GlobalRoll X", Joystick.State.Axis.Inverted, Joystick.State.Axis.Normalized, Joystick.State.Axis.Sticky, Joystick.State.Axis.Sensitivity); + Joystick.State.IsInRollMode = true + ]] +end + +local permaBindLocalRoll = function(axis) + return [[ + -- Save current axis state + Joystick.State.Axis.Type, Joystick.State.Axis.Inverted, Joystick.State.Axis.Normalized, Joystick.State.Axis.Sticky, Joystick.State.Axis.Sensitivity = openspace.navigation.joystickAxis(]] .. axis .. [[) + + -- Set new axis state + openspace.navigation.bindJoystickAxis(]] .. axis .. [[, "LocalRoll X", Joystick.State.Axis.Inverted, Joystick.State.Axis.Normalized, Joystick.State.Axis.Sticky, Joystick.State.Axis.Sensitivity); + ]] +end + +local permaBindGlobalRoll = function(axis) + return [[ + -- Save current axis state + Joystick.State.Axis.Type, Joystick.State.Axis.Inverted, Joystick.State.Axis.Normalized, Joystick.State.Axis.Sticky, Joystick.State.Axis.Sensitivity = openspace.navigation.joystickAxis(]] .. axis .. [[) + + -- Set new axis state + openspace.navigation.bindJoystickAxis(]] .. axis .. [[, "GlobalRoll X", Joystick.State.Axis.Inverted, Joystick.State.Axis.Normalized, Joystick.State.Axis.Sticky, Joystick.State.Axis.Sensitivity); + ]] +end + +local unbindRoll = function(axis) + return [[ + -- Reset previous state + openspace.navigation.bindJoystickAxis(]] .. axis .. [[, Joystick.State.Axis.Type, Joystick.State.Axis.Inverted, Joystick.State.Axis.Normalized, Joystick.State.Axis.Sticky, Joystick.State.Axis.Sensitivity); + ]] +end + +asset.export("bindLocalRoll", bindLocalRoll) +asset.export("bindGlobalRoll", bindGlobalRoll) +asset.export("permaBindLocalRoll", permaBindLocalRoll) +asset.export("permaBindGlobalRoll", permaBindGlobalRoll) +asset.export("unbindRoll", unbindRoll) diff --git a/data/assets/util/joysticks/ps4.asset b/data/assets/util/joysticks/ps4.asset new file mode 100644 index 0000000000..e9f7aab684 --- /dev/null +++ b/data/assets/util/joysticks/ps4.asset @@ -0,0 +1,118 @@ +local propertyHelper = asset.require('../property_helper') +local joystickHelper = asset.require('./joystick_helper') + +-- Allowed values for the second parameter of bindJoystickAxis: +-- "None" +-- "Orbit X" +-- "Orbit Y" +-- "Zoom" -- both in and out +-- "Zoom In" +-- "Zoom Out" +-- "LocalRoll X" +-- "LocalRoll Y" +-- "GlobalRoll X" +-- "GlobalRoll Y" +-- "Pan X" +-- "Pan Y" +-- Third parameter determines whether the axis should be inverted +-- Fourth parameter determines whether the axis should be normalized from [-1,1] to [0,1] +-- Fifth parameters determins if the axis should be "Sticky" or not. +-- The axis values can either go back to 0 when the joystick is released or it can +-- stay at the value it was before the joystick was released. +-- The latter is called a sticky axis, when the values don't go back to 0. +-- Sixth parameter is the sensitivity for the axis + +local PS4Controller = { + LeftThumbStick = { 0 , 1 }, + RightThumbStick = { 2, 5 }, + L2 = 3, + R2 = 4, + Cross = 1, + Circle = 2, + Square = 0, + Triangle = 3, + L1 = 4, + R1 = 5, + Share = 8, + Options = 9, + PS = 12, + LeftStickButton = 10, + RightStickButton = 11, + TouchPad = 13, + DPad = { + Up = 14, + Right = 15, + Down = 16, + Left = 17 + } +} + +asset.onInitialize(function() + local controller = PS4Controller; + + openspace.navigation.setAxisDeadZone(controller.LeftThumbStick[1], 0.15) + openspace.navigation.setAxisDeadZone(controller.LeftThumbStick[2], 0.15) + openspace.navigation.setAxisDeadZone(controller.RightThumbStick[1], 0.15) + openspace.navigation.setAxisDeadZone(controller.RightThumbStick[2], 0.15) + + openspace.navigation.bindJoystickAxis(controller.LeftThumbStick[1], "Orbit X"); + openspace.navigation.bindJoystickAxis(controller.LeftThumbStick[2], "Orbit Y", true); + openspace.navigation.bindJoystickAxis(controller.RightThumbStick[1], "Pan X", true); + openspace.navigation.bindJoystickAxis(controller.RightThumbStick[2], "Pan Y", true); + openspace.navigation.bindJoystickAxis(controller.L2, "Zoom Out", false, true); + openspace.navigation.bindJoystickAxis(controller.R2, "Zoom In", false, true); + + openspace.navigation.bindJoystickButton( + controller.L1, + joystickHelper.bindLocalRoll(controller.RightThumbStick[1]), + "Switch to local roll mode" + ) + openspace.navigation.bindJoystickButton( + controller.L1, + joystickHelper.unbindRoll(controller.RightThumbStick[1]), + "Switch back to normal mode", + "Release" + ) + openspace.navigation.bindJoystickButton( + controller.R1, + joystickHelper.bindGlobalRoll(controller.RightThumbStick[1]), + "Switch to global roll mode" + ) + openspace.navigation.bindJoystickButton( + controller.R1, + joystickHelper.unbindRoll(controller.RightThumbStick[1]), + "Switch back to normal mode", + "Release" + ) + + openspace.navigation.bindJoystickButton( + controller.Cross, + propertyHelper.invert('NavigationHandler.OrbitalNavigator.Friction.ZoomFriction'), + "Toggle zoom friction" + ) + openspace.navigation.bindJoystickButton( + controller.Circle, + propertyHelper.invert('NavigationHandler.OrbitalNavigator.Friction.RotationalFriction'), + "Toggle rotational friction" + ) + openspace.navigation.bindJoystickButton( + controller.DPad.Left, + propertyHelper.invert('NavigationHandler.OrbitalNavigator.Friction.RollFriction'), + "Toggle roll friction" + ) + + openspace.navigation.bindJoystickButton( + controller.Square, + "openspace.setPropertyValueSingle('NavigationHandler.OrbitalNavigator.Aim', '');" .. + "openspace.setPropertyValueSingle('NavigationHandler.OrbitalNavigator.Anchor', 'Earth');" .. + "openspace.setPropertyValueSingle('NavigationHandler.OrbitalNavigator.RetargetAnchor', nil);", + "Switch target to Earth" + ) + openspace.navigation.bindJoystickButton( + controller.Triangle, + "openspace.setPropertyValueSingle('NavigationHandler.OrbitalNavigator.Aim', '');" .. + "openspace.setPropertyValueSingle('NavigationHandler.OrbitalNavigator.Anchor', 'Mars');" .. + "openspace.setPropertyValueSingle('NavigationHandler.OrbitalNavigator.RetargetAnchor', nil);", + "Switch target to Mars" + ) +end) diff --git a/data/assets/util/joysticks/space-mouse-not-sticky.asset b/data/assets/util/joysticks/space-mouse-not-sticky.asset new file mode 100644 index 0000000000..7140adae0b --- /dev/null +++ b/data/assets/util/joysticks/space-mouse-not-sticky.asset @@ -0,0 +1,55 @@ +local propertyHelper = asset.require('../property_helper') +local joystickHelper = asset.require('./joystick_helper') + +-- Allowed values for the second parameter of bindJoystickAxis: +-- "None" +-- "Orbit X" +-- "Orbit Y" +-- "Zoom" -- both in and out +-- "Zoom In" +-- "Zoom Out" +-- "LocalRoll X" +-- "LocalRoll Y" +-- "GlobalRoll X" +-- "GlobalRoll Y" +-- "Pan X" +-- "Pan Y" +-- Third parameter determines whether the axis should be inverted +-- Fourth parameter determines whether the axis should be normalized from [-1,1] to [0,1] +-- Fifth parameters determins if the axis should be "Sticky" or not. +-- The axis values can either go back to 0 when the joystick is released or it can +-- stay at the value it was before the joystick was released. +-- The latter is called a sticky axis, when the values don't go back to 0. +-- This version of the SpaceMouse is NOT Sticky. +-- Sixth parameter is the sensitivity for the axis + +local SpaceMouse = { + Push = {0, 1, 2}, -- left/right, back/forth, up/down + Twist = {5}, -- left/right + Tilt = {4, 3}, -- left/right, back/forth + LeftButton = 0, + RightButton = 1 +} + +asset.onInitialize(function() + local controller = SpaceMouse; + + openspace.navigation.bindJoystickAxis(controller.Push[1], "Orbit X", false); + openspace.navigation.bindJoystickAxis(controller.Push[2], "Orbit Y", false); + openspace.navigation.bindJoystickAxis(controller.Twist[1], "Pan X", true); + openspace.navigation.bindJoystickAxis(controller.Tilt[2], "Pan Y", false); + openspace.navigation.bindJoystickAxis(controller.Push[3], "Zoom", false); + openspace.navigation.bindJoystickAxis(controller.Tilt[1], "LocalRoll X", false); + + openspace.navigation.bindJoystickButton( + controller.LeftButton, + joystickHelper.permaBindLocalRoll(controller.Tilt[1]), + "Switch to local roll mode" + ) + + openspace.navigation.bindJoystickButton( + controller.RightButton, + joystickHelper.permaBindGlobalRoll(controller.Tilt[1]), + "Switch to global roll mode" + ) +end) diff --git a/data/assets/util/joysticks/space-mouse.asset b/data/assets/util/joysticks/space-mouse.asset new file mode 100644 index 0000000000..36152e9b06 --- /dev/null +++ b/data/assets/util/joysticks/space-mouse.asset @@ -0,0 +1,55 @@ +local propertyHelper = asset.require('../property_helper') +local joystickHelper = asset.require('./joystick_helper') + +-- Allowed values for the second parameter of bindJoystickAxis: +-- "None" +-- "Orbit X" +-- "Orbit Y" +-- "Zoom" -- both in and out +-- "Zoom In" +-- "Zoom Out" +-- "LocalRoll X" +-- "LocalRoll Y" +-- "GlobalRoll X" +-- "GlobalRoll Y" +-- "Pan X" +-- "Pan Y" +-- Third parameter determines whether the axis should be inverted +-- Fourth parameter determines whether the axis should be normalized from [-1,1] to [0,1] +-- Fifth parameters determins if the axis should be "Sticky" or not. +-- The axis values can either go back to 0 when the joystick is released or it can +-- stay at the value it was before the joystick was released. +-- The latter is called a sticky axis, when the values don't go back to 0. +-- This version of the SpaceMouse IS Sticky. +-- Sixth parameter is the sensitivity for the axis + +local SpaceMouse = { + Push = {0, 1, 2}, -- left/right, back/forth, up/down + Twist = {5}, -- left/right + Tilt = {4, 3}, -- left/right, back/forth + LeftButton = 0, + RightButton = 1 +} + +asset.onInitialize(function() + local controller = SpaceMouse; + + openspace.navigation.bindJoystickAxis(controller.Push[1], "Orbit X", false, false, true, 40.0); + openspace.navigation.bindJoystickAxis(controller.Push[2], "Orbit Y", false, false, true, 40.0); + openspace.navigation.bindJoystickAxis(controller.Twist[1], "Pan X", true, false, true, 40.0); + openspace.navigation.bindJoystickAxis(controller.Tilt[2], "Pan Y", false, false, true, 35.0); + openspace.navigation.bindJoystickAxis(controller.Push[3], "Zoom", false, false, true, 40.0); + openspace.navigation.bindJoystickAxis(controller.Tilt[1], "LocalRoll X", false, false, true, 35.0); + + openspace.navigation.bindJoystickButton( + controller.LeftButton, + joystickHelper.permaBindLocalRoll(controller.Tilt[1]), + "Switch to local roll mode" + ) + + openspace.navigation.bindJoystickButton( + controller.RightButton, + joystickHelper.permaBindGlobalRoll(controller.Tilt[1]), + "Switch to global roll mode" + ) +end) diff --git a/data/assets/util/joysticks/xbox.asset b/data/assets/util/joysticks/xbox.asset new file mode 100644 index 0000000000..d252965ee1 --- /dev/null +++ b/data/assets/util/joysticks/xbox.asset @@ -0,0 +1,116 @@ +local propertyHelper = asset.require('../property_helper') +local joystickHelper = asset.require('./joystick_helper') + +-- Allowed values for the second parameter of bindJoystickAxis: +-- "None" +-- "Orbit X" +-- "Orbit Y" +-- "Zoom" -- both in and out +-- "Zoom In" +-- "Zoom Out" +-- "LocalRoll X" +-- "LocalRoll Y" +-- "GlobalRoll X" +-- "GlobalRoll Y" +-- "Pan X" +-- "Pan Y" +-- Third parameter determines whether the axis should be inverted +-- Fourth parameter determines whether the axis should be normalized from [-1,1] to [0,1] +-- Fifth parameters determins if the axis should be "Sticky" or not. +-- The axis values can either go back to 0 when the joystick is released or it can +-- stay at the value it was before the joystick was released. +-- The latter is called a sticky axis, when the values don't go back to 0. +-- Sixth parameter is the sensitivity for the axis + +local XBoxController = { + LeftThumbStick = { 0 , 1 }, + RightThumbStick = { 2, 3 }, + LeftTrigger = 4, + RightTrigger = 5, + A = 0, + B = 1, + X = 2, + Y = 3, + LB = 4, + RB = 5, + Select = 6, + Start = 7, + LeftStickButton = 8, + RightStickButton = 9, + DPad = { + Up = 10, + Right = 11, + Down = 12, + Left = 13 + } +} + +asset.onInitialize(function() + local controller = XBoxController; + + openspace.navigation.setAxisDeadZone(controller.LeftThumbStick[1], 0.15) + openspace.navigation.setAxisDeadZone(controller.LeftThumbStick[2], 0.15) + openspace.navigation.setAxisDeadZone(controller.RightThumbStick[1], 0.15) + openspace.navigation.setAxisDeadZone(controller.RightThumbStick[2], 0.15) + + openspace.navigation.bindJoystickAxis(controller.LeftThumbStick[1], "Orbit X"); + openspace.navigation.bindJoystickAxis(controller.LeftThumbStick[2], "Orbit Y", true); + openspace.navigation.bindJoystickAxis(controller.RightThumbStick[1], "Pan X", true); + openspace.navigation.bindJoystickAxis(controller.RightThumbStick[2], "Pan Y", true); + openspace.navigation.bindJoystickAxis(controller.LeftTrigger, "Zoom Out", false, true); + openspace.navigation.bindJoystickAxis(controller.RightTrigger, "Zoom In", false, true); + + openspace.navigation.bindJoystickButton( + controller.LB, + joystickHelper.bindLocalRoll(controller.RightThumbStick[1]), + "Switch to local roll mode" + ) + openspace.navigation.bindJoystickButton( + controller.LB, + joystickHelper.unbindRoll(controller.RightThumbStick[1]), + "Switch back to normal mode", + "Release" + ) + openspace.navigation.bindJoystickButton( + controller.RB, + joystickHelper.bindGlobalRoll(controller.RightThumbStick[1]), + "Switch to global roll mode" + ) + openspace.navigation.bindJoystickButton( + controller.RB, + joystickHelper.unbindRoll(controller.RightThumbStick[1]), + "Switch back to normal mode", + "Release" + ) + + openspace.navigation.bindJoystickButton( + controller.A, + propertyHelper.invert('NavigationHandler.OrbitalNavigator.Friction.ZoomFriction'), + "Toggle zoom friction" + ) + openspace.navigation.bindJoystickButton( + controller.B, + propertyHelper.invert('NavigationHandler.OrbitalNavigator.Friction.RotationalFriction'), + "Toggle rotational friction" + ) + openspace.navigation.bindJoystickButton( + controller.DPad.Left, + propertyHelper.invert('NavigationHandler.OrbitalNavigator.Friction.RollFriction'), + "Toggle roll friction" + ) + + openspace.navigation.bindJoystickButton( + controller.X, + "openspace.setPropertyValueSingle('NavigationHandler.OrbitalNavigator.Aim', '');" .. + "openspace.setPropertyValueSingle('NavigationHandler.OrbitalNavigator.Anchor', 'Earth');" .. + "openspace.setPropertyValueSingle('NavigationHandler.OrbitalNavigator.RetargetAnchor', nil);", + "Switch target to Earth" + ) + openspace.navigation.bindJoystickButton( + controller.Y, + "openspace.setPropertyValueSingle('NavigationHandler.OrbitalNavigator.Aim', '');" .. + "openspace.setPropertyValueSingle('NavigationHandler.OrbitalNavigator.Anchor', 'Mars');" .. + "openspace.setPropertyValueSingle('NavigationHandler.OrbitalNavigator.RetargetAnchor', nil);", + "Switch target to Mars" + ) +end) diff --git a/ext/ghoul b/ext/ghoul index a3fc819d8f..528bc4e87d 160000 --- a/ext/ghoul +++ b/ext/ghoul @@ -1 +1 @@ -Subproject commit a3fc819d8ff19fdda152e89a9401f6f61e8fc88b +Subproject commit 528bc4e87d6bc7a81ec62f5338e2b7d9fe706057 diff --git a/include/openspace/interaction/joystickcamerastates.h b/include/openspace/interaction/joystickcamerastates.h index 15188faf26..f8f86f239b 100644 --- a/include/openspace/interaction/joystickcamerastates.h +++ b/include/openspace/interaction/joystickcamerastates.h @@ -130,6 +130,7 @@ inline std::string to_string( case T::OrbitY: return "Orbit Y"; case T::ZoomIn: return "Zoom In"; case T::ZoomOut: return "Zoom Out"; + case T::Zoom: return "Zoom In and Out"; case T::LocalRollX: return "LocalRoll X"; case T::LocalRollY: return "LocalRoll Y"; case T::GlobalRollX: return "GlobalRoll X"; @@ -149,9 +150,9 @@ from_string(std::string_view string) if (string == "None") { return T::None; } if (string == "Orbit X") { return T::OrbitX; } if (string == "Orbit Y") { return T::OrbitY; } - if (string == "Zoom") { return T::Zoom; } if (string == "Zoom In") { return T::ZoomIn; } if (string == "Zoom Out") { return T::ZoomOut; } + if (string == "Zoom") { return T::Zoom; } if (string == "LocalRoll X") { return T::LocalRollX; } if (string == "LocalRoll Y") { return T::LocalRollY; } if (string == "GlobalRoll X") { return T::GlobalRollX; } diff --git a/modules/atmosphere/rendering/atmospheredeferredcaster.cpp b/modules/atmosphere/rendering/atmospheredeferredcaster.cpp index b26103a2fd..33bb35fab1 100644 --- a/modules/atmosphere/rendering/atmospheredeferredcaster.cpp +++ b/modules/atmosphere/rendering/atmospheredeferredcaster.cpp @@ -348,7 +348,7 @@ void AtmosphereDeferredcaster::preRaycast(const RenderData& renderData, double lt; glm::dvec3 sunPosWorld = SpiceManager::ref().targetPosition( "SUN", - "SUN", + "SSB", "GALACTIC", {}, _time, @@ -386,7 +386,7 @@ void AtmosphereDeferredcaster::preRaycast(const RenderData& renderData, // Getting source and caster: glm::dvec3 sourcePos = SpiceManager::ref().targetPosition( shadowConf.source.first, - "SUN", + "SSB", "GALACTIC", {}, _time, @@ -395,7 +395,7 @@ void AtmosphereDeferredcaster::preRaycast(const RenderData& renderData, sourcePos *= KM_TO_M; // converting to meters glm::dvec3 casterPos = SpiceManager::ref().targetPosition( shadowConf.caster.first, - "SUN", + "SSB", "GALACTIC", {}, _time, @@ -682,7 +682,7 @@ void AtmosphereDeferredcaster::loadComputationPrograms() { ); } _irradianceSupTermsProgramObject->setIgnoreUniformLocationError(IgnoreError::Yes); - + // // InScattering S if (!_inScatteringProgramObject) { diff --git a/modules/base/rendering/renderableprism.cpp b/modules/base/rendering/renderableprism.cpp index a5c9e3702a..7c96247b21 100644 --- a/modules/base/rendering/renderableprism.cpp +++ b/modules/base/rendering/renderableprism.cpp @@ -256,7 +256,10 @@ void RenderablePrism::updateVertexData() { } // Indices for Base shape - ghoul_assert(_nShapeSegments.value <= std::numeric_limit::max(), "Too many shape segments") + ghoul_assert( + _nShapeSegments.value() <= std::numeric_limits::max(), + "Too many shape segments" + ); for (uint8_t i = 0; i < _nShapeSegments; ++i) { _indexArray.push_back(i); } @@ -329,7 +332,7 @@ void RenderablePrism::render(const RenderData& data, RendererTasks&) { _shader->deactivate(); } -void RenderablePrism::update(const UpdateData&) { +void RenderablePrism::update(const UpdateData& data) { if (_shader->isDirty()) { _shader->rebuildFromFile(); ghoul::opengl::updateUniformLocations(*_shader, _uniformCache, UniformNames); @@ -337,6 +340,7 @@ void RenderablePrism::update(const UpdateData&) { if (_prismIsDirty) { updateVertexData(); updateBufferData(); + setBoundingSphere(_length * glm::compMax(data.modelTransform.scale)); _prismIsDirty = false; } } diff --git a/modules/globebrowsing/src/renderableglobe.cpp b/modules/globebrowsing/src/renderableglobe.cpp index 5cdeeb1ee6..e6176e1ac4 100644 --- a/modules/globebrowsing/src/renderableglobe.cpp +++ b/modules/globebrowsing/src/renderableglobe.cpp @@ -1995,7 +1995,7 @@ void RenderableGlobe::calculateEclipseShadows(ghoul::opengl::ProgramObject& prog // Getting source and caster: glm::dvec3 sourcePos = SpiceManager::ref().targetPosition( shadowConf.source.first, - "SUN", + "SSB", "GALACTIC", {}, data.time.j2000Seconds(), @@ -2004,7 +2004,7 @@ void RenderableGlobe::calculateEclipseShadows(ghoul::opengl::ProgramObject& prog sourcePos *= KM_TO_M; // converting to meters glm::dvec3 casterPos = SpiceManager::ref().targetPosition( shadowConf.caster.first, - "SUN", + "SSB", "GALACTIC", {}, data.time.j2000Seconds(), @@ -2056,7 +2056,7 @@ void RenderableGlobe::calculateEclipseShadows(ghoul::opengl::ProgramObject& prog const glm::dvec3 sunPos = SpiceManager::ref().targetPosition( "SUN", - "SUN", + "SSB", "GALACTIC", {}, data.time.j2000Seconds(), diff --git a/src/interaction/navigationhandler.cpp b/src/interaction/navigationhandler.cpp index 8a4bc5a46c..620e87baf1 100644 --- a/src/interaction/navigationhandler.cpp +++ b/src/interaction/navigationhandler.cpp @@ -165,7 +165,7 @@ NavigationHandler::NavigationState::NavigationState(std::string anchor_, std::st NavigationHandler::NavigationHandler() : properties::PropertyOwner({ "NavigationHandler" }) , _disableMouseInputs(KeyDisableMouseInputInfo, false) - , _disableJoystickInputs(KeyDisableJoystickInputInfo, true) + , _disableJoystickInputs(KeyDisableJoystickInputInfo, false) , _useKeyFrameInteraction(KeyFrameInfo, false) { addPropertySubOwner(_orbitalNavigator); diff --git a/src/interaction/sessionrecording.cpp b/src/interaction/sessionrecording.cpp index b29a37bf07..052f10c90c 100644 --- a/src/interaction/sessionrecording.cpp +++ b/src/interaction/sessionrecording.cpp @@ -2103,7 +2103,7 @@ std::vector SessionRecording::playbackList() const { DWORD attributes = GetFileAttributes(e.path().string().c_str()); bool isHidden = attributes & FILE_ATTRIBUTE_HIDDEN; #else - bool isHidden = filename.rfind(".", 0) != 0; + bool isHidden = filename.find(".") == 0; #endif // WIN32 if (!isHidden) { // Don't add hidden files diff --git a/src/util/spicemanager.cpp b/src/util/spicemanager.cpp index d3c430090c..6e5f93b1d9 100644 --- a/src/util/spicemanager.cpp +++ b/src/util/spicemanager.cpp @@ -325,6 +325,11 @@ bool SpiceManager::hasSpkCoverage(const std::string& target, double et) const { ghoul_assert(!target.empty(), "Empty target"); const int id = naifId(target); + // SOLAR SYSTEM BARYCENTER special case, implicitly included by Spice + if (id == 0) { + return true; + } + const auto it = _spkIntervals.find(id); if (it != _spkIntervals.end()) { const std::vector>& intervalVector = it->second;