Commit Graph

237 Commits

Author SHA1 Message Date
Alexander Bock b39a5f3d7b Remove deprecated Lua functions (#3664) 2025-05-19 17:59:58 +02:00
Ylva Selling e3f5b83f74 Feature/2025 UI rewrite (#3608)
* Remove Escape keybind; move gui keybind to F2

* Clear up keybinds properly

* Workaround for CEF focus bug

* Add TODO comment

* Guard against null ptr dereferencing

* Remove shift tab

* add additional keyboard mapping from glfw to cef

* Change dashboards to make prototype for first user test

* add mission added/removed event, disptached when a mission has been loaded/unloaded

* send missions as map instaed of array, rename missionName -> name

* Set keybind for toggling overlays to shift+f2

* Remove property for showing the title in the gui skybrowser module

* Remove default setting for skybrowser

* First implementation of setting the ui panel visibility from the launcher

* Add profile topic

* Coding style adjustment

* Add markNodes to the profiletopic

* Change format of additional data of options in engine

* Address PR comments

* map escape key from glfw to cef correctly

* fix issue with "Enter" key not working on buttons and other input fields in CEF

* Add test for new profile version

* Send skybrowser data although we are outside the solar system

* Update webgui to new ui

* Add name to profile topic

* Add cef variable to javascript context for when browser is in cef

* Use camelcase for cef variable

* Rewrite shortcuts topic to ActionKeybind and pass data in a better way (#3590)

* Rewrite shortcuts topic to ActionKeybind and pass data in a better way

* Fix strange error with file structure

* Address PR comments

* Address PR comments

* Address PR comments

* Make numbers in asset file prettier

* Rename name to identifier for missions event

* Clean up browser code

* Update UI hash (to fix the actions panel not working)

And update outdated comment. The backend is not part of this

* Feature/notify meta data change (#3605)

* Add notifyMetaDataChangeListener to topic

* First round of clean up the data passing

* Convert from string to json for metadata

* Update additional data to json

* Use nlohmann::json for additional data

* Pass meta data in new structure to topics

* Remove meta data method

* Fix mistake in merge

* Update src/properties/property.cpp

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* remove TODO comment that will be fixed by this PR

* Address PR comments

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Emma Broman <emma.broman@liu.se>

* Address PR comment

* Remove function for setting the endpoint

* Update frontend hash

* Remove enabled property from exoplanets module

* Remove enabled property from skybrowser module

* Update default UI panels json

* Remove setting of enabled properties for skybrowser and exoplanets

* Update gui hash

* Auto format json

---------

Co-authored-by: Andreas Engberg <adde.engberg@gmail.com>
Co-authored-by: Emma Broman <emma.broman@liu.se>
Co-authored-by: Alexander Bock <alexander.bock@liu.se>
Co-authored-by: Alexander Bock <mail@alexanderbock.eu>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-04-29 15:43:56 +02:00
Emma Broman 93ef632663 Fix faulty identifier in exoplanet system creation script
And clarify that some tags are used in the UI => dangerous to change
2025-04-17 10:02:42 +02:00
Emma Broman b5dbee2164 Fix exoplanet system 1 AU ring no longer being a ring, but a grid
Default value for gridsegments changed in #3506
2025-04-15 12:59:48 +02:00
Alexander Bock fc9b2ab091 Increase the compilation speed (#3545)
- Remove toStringConversion function and move json_helper include out of numericalproperty.inl
  - Optimizing some header files
  - Remove duplicate Lua functions from properties. 
  - Move List,Option,Selection,String, and TriggerProperty into misc folder
  - Move lua_helper include out of inline file
  - Add lua_helper to the precompiled header
  - Declare property functions as final. No longer have OptionProperty derive from IntProperty
  - Remove Dictionary header from properties
2025-03-14 11:22:40 +01:00
Alexander Bock 5152a7a6e0 General code spring cleaning (#3525) 2025-02-22 15:28:14 +01:00
Alexander Bock 096363fd06 Make constructors explicit 2025-02-05 23:22:32 +01:00
Emma Broman 7401f5145e Automatically reload texture for RenderableSphereImageLocal when file changes (#3500)
* Use `TextureComponent` for `RenderableSphereImageLocal`

Cleans up code and makes texture reload automatically if the file changes

* Move a faultily located include
2025-01-20 15:58:01 +01:00
Alexander Bock 0bc2c4a9ee Coding style fixes 2025-01-14 16:34:42 +01:00
Alexander Bock 820e90eab4 Happy new year 2025-01-14 16:21:08 +01:00
Emma Broman 304cbb2032 Provide errors when setting exoplanet module file paths 2024-10-21 10:04:35 +02:00
Emma Broman 68c2157dd4 Move Exoplanet creation code from C++ to Lua (#3450)
* Move exoplanet creation code to Lua

* Add more descriptions and handle missing values

* Remove old creation function and move load from CSV to Lua

* Properly document all functions, including a type for the `systemData` return value

* Add `\param` documentation to the scripts

* Cleanup and move helper functions to core scripts

* Throw Lua errors when things go wrong, instead of returning empty objects

This prevents the rest of the code from being run

* Flesh out TODO comments, so future us know why they are there


---------

Co-authored-by: Alexander Bock <alexander.bock@liu.se>
2024-10-21 09:30:18 +02:00
Alexander Bock ff345006d1 General code cleanup (#3445) 2024-10-10 09:49:02 +02:00
Emma Broman 24a2247aa4 Give exoplanets a color based on their size (#3412)
* Add a tag for all exoplanet globes

* Add color to exoplanet globes based on their size

* Update color of terrestrial planets to be more deeply brown

* Change order so that the default texture for planets is shown on top

I.e. only use color if no other texture was provided

* Add descriptions of layer and planet type

* Add descriptions for some more things in the system

* Increase ambient intensity for when a planet is colored (not textured)

* Ignore GlobeBrowsing shader warning when setting camera position (closes #3405)

* Apply suggestions from code review

* Fix new constant names (from review)

---------

Co-authored-by: Alexander Bock <alexander.bock@liu.se>
2024-09-18 11:02:30 +02:00
Alexander Bock fd64fe7c96 Improvements to the ScriptLog logging (#3389)
* Restructuring the queueScript function
* Don't log the contents of actions that are triggered.  Add the ability to do verbose logging in the scriptlog
2024-09-09 21:16:57 +02:00
Alexander Bock c4c82483e0 Update copyright header in CMakeLists files 2024-07-31 10:57:10 +02:00
Emma Broman 9ea69d6b1a Add option to specify a default texture for added exoplanets (#3353)
* Add possibility to specify a default texture for added exoplanets

* Warn if exoplanet texture does not exists and provide more user friendly warnings

* Address review comments
2024-07-30 09:05:40 +02:00
Emma Broman c2f7712c4a Add a Label for Exoplanet Systems (Issue #3318) (#3352)
* Add a disables label for the star for all added exoplanet systems

* Refactor queue script code a bit, to reduce duplicate code

* Apply suggestions from code review

Co-authored-by: Alexander Bock <alexander.bock@liu.se>

---------

Co-authored-by: Alexander Bock <alexander.bock@liu.se>
2024-07-29 11:33:28 +02:00
Alexander Bock 24e83d154e Make the 'Layer's specification in RenderableGlobe optional. Clean RenderableGlobe assets 2024-06-22 13:41:27 +02:00
Emma Broman eb1cfec7bd Renderable property info walkthrough/cleanup (#3226)
A passover of all the Parameters descriptions and PropertyInfo descriptions of the renderables in the code base to make then more consistently and concisely formatted. Also fixed some small issues and added or updated descriptions.

* Start rephrasing propertyinfos for more consistency

* Update eclipse cone propertyinfos

* Update `RenderableFov` property infos and group colors in UI

* `RenderableGalaxy` and `RenderableGlobe`

* Update more descriptions

* Moore descriptions

* Update docs for `RenderableShadowCylinder` and add properties

* `RenderableSkyTarget`, and spheres (`ImageOnline` and `ImageLocal`)

* `RnederableSphericalGrid`, and update line width info of other types, for consistency

* `RenderableStars` and `RenderableTimeVaryingSphere`

* Update more propertyinfos

* Fix inconsistent mentioning of true/false

* change some phrasings for increased consistency

* Update Renderbin description to include Sticker bin and remove extra property

* Rename `OutlineWeight` -> `OutlineWidth`

* Extend description about enable depth test for models

* Clarify what relative values mean for `RenderableNodeArrow`

* Elaborate on `RenderableLabel` size property

---------

Co-authored-by: Alexander Bock <alexander.bock@liu.se>
Co-authored-by: Ylva Selling <ylva.selling@gmail.com>
Co-authored-by: Malin E <malin.ejdbo@gmail.com>
2024-05-20 09:24:40 +02:00
Alexander Bock 203cff04cc Make use of the new uniform cache method that uses the variable names as uniform names (#3217) 2024-04-30 08:12:33 +02:00
Alexander Bock 78b3b4fb2e Adding periods to the description texts 2024-04-23 22:33:17 +02:00
Alexander Bock 4328476d26 Use more filesystem::path where applicable 2024-04-06 23:55:59 +02:00
Alexander Bock 9558f2bcbb Add the ability to specifiy local Sun position for the RenderableGlobe and RenderableAtmosphere (#3137)
* Add the ability to specifiy local Sun position for the RenderableGlobe and RenderableAtmosphere

Note that for planets with atmospheres, the SunNode has to be specified for _both_ the globe and the atmosphere separately

 - Closes #1745
 - Closes #2243
2024-04-04 16:16:01 +02:00
Gene Payne 6146cf16b2 Merge-in all updates from master 2024-03-25 18:35:57 -06:00
Alexander Bock 49fc538c17 Rename fmt.h to format.h and enable audio module on default 2024-03-25 23:19:52 +01:00
Alexander Bock 3ba346a227 Remove fmt::format and replace with std::format 2024-03-24 20:19:14 +01:00
Alexander Bock e0ab7ae1d6 Coding style fixes 2024-03-19 14:49:44 +01:00
Alexander Bock 2759c00e4b Pass through the code to address clang-tidy linting (#3083) 2024-03-17 00:58:50 +01:00
Alexander Bock 9a6fe47d17 Fix up text formatting as path's no longer get quoted 2024-03-08 20:19:06 +01:00
Alexander Bock fff6f8a627 General pass for code cleanup 2024-03-08 00:36:54 +01:00
GPayne 210e17b0bb Replaced std::getline usages with new ghoul::getline 2024-03-04 15:37:21 -07:00
Alexander Bock d67cabf578 Coding style update 2024-02-06 16:34:12 +01:00
Alexander Bock 6e29d898cf Update copyright header 2024-02-06 15:53:24 +01:00
Emma Broman 6dd497d38c Feature/add some docs (#2961)
* Add docs for PathInstruction

* Add docs for renderablecartesianaxes and navigationstate

* Write docs for ExoplanetDataPreparationTask

* Add some kind of documentation for the task base class

Was already showing in the list, but the property or decription was not included

* Apply suggestions from code review

* Address review comments

* Clarify confusing sentence

* Slight rephrasing
2024-01-04 13:55:21 +01:00
Alexander Bock 3dadf9c5fa Only create RingComponents and ShadowComponents when they are actually needed 2023-12-01 09:35:38 +01:00
Alexander Bock 7db7c40841 Doxygen style overhaul (#2954)
Reformatting the existing Doxygen comments to be unified
2023-11-20 23:39:17 +01:00
Emma Broman 639419a51b Issue/1440 - Exoplanet Panel and settings update (#2943)
* Add tags that can be used to set object visibility from UI

* Add module property for hiding/showing orbiting uncertainty disc

* Add tag for 1 AU ring and change color to something that's different from orbits

* Add property for circle color

* Add temporary gui hash for easier testing

* Update modules/exoplanets/exoplanetsmodule.cpp

Co-authored-by: Alexander Bock <alexander.bock@liu.se>

* Update GUI hash to correct commit on webgui master

---------

Co-authored-by: Alexander Bock <alexander.bock@liu.se>
2023-11-15 14:18:04 +01:00
Malin E ce789fcd22 Feature/matrix maintenance (#2875)
* Split RenderableSphere class into a local and an online sphere

* Make the video sphere derive from the regular sphere

* Make RenderableTimeVaryingSphere derive from RenderableSphere

* Some clean up

* Add general functions for renderable matrix calculations

* Make RenderableSphere and Plane use them

* Fix an issue with the RenderablePlane shader

* Make one function that returns all three types of render matrices

* Make more Renderables use the general matric calculation function

* Make more Renderable use the general matrix function

* Simplify alternative transforms for matrix calculations

* Small clean-up

* Update RenderableModel (again) to use new transform functions

* Make calc all matrix function to return tuple

* Update some more places
2023-09-21 14:22:36 +02:00
Malin E 4447de87f5 Issue/2768 (#2872)
* Rename remote scripting property to reflect better what it does

* Change the remote scripting name in all modules

* Update all scripts and action calls to use the new property for sync

* Simplify code that decides whether to send actions to nodes and peers

* Move Lua console hint text to be right top aligned

* Update Lua script topic

* Added new JSON key whether or not the script should be synced to other
  nodes and peers

* Per default all scripts sync to everyone
  In the next full release, we should have two separate keys that
  decides whether to sync and send to nodes and peers separately

* Add some comments that explain why there is no sync for some scripts

* Make sync argument in trigger action function BooleanType
2023-09-07 13:21:29 +02:00
Emma Broman 1f32394fb2 Issue/2225 - Add exoplanets from a CSV file (#2846)
* Make reading exoplanet data from CSV during runtime work

* Add function descriptions

* Clarify an info message

* Initialize all data parameters with NaN, to prevent unpredictable values when a parameter is not included in the dataset

Co-authored-by: Alexander Bock <alexander.bock@liu.se>

---------

Co-authored-by: Alexander Bock <alexander.bock@liu.se>
2023-08-18 16:32:56 +02:00
Alexander Bock 57fafe48f4 Rename Lua function to bring them more in line with the function naming in C++ (#2840)
* Rename Lua function to bring them more in line with the function naming in C++
2023-08-05 19:20:08 +02:00
Emma Broman 68c1b34e7c Add missing std namespace to getline function 2023-06-09 11:38:50 +02:00
Alexander Bock ca916877b2 Adapt the visibility settings for all properties 2023-04-15 09:33:31 +02:00
Alexander Bock 7565a91196 Cleanup lambda expressions and directly address Fadeable properties when adding properties 2023-04-12 23:20:53 +02:00
Emma Broman 4de3713107 Add a central function to create an identifier from string, and also expose it through Lua 2023-04-03 11:40:19 +02:00
Emma Broman 1db7dcf2c3 Provide error if output failed in exoplanet data prep task
And update hardcoded filepath to teff_bv file to current version, for easier usage next time
2023-03-09 21:52:33 +01:00
Alexander Bock 79ad5776cc CMake cleanup (#2489)
* CMake Cleanup
* Warning suppression with CEF
* Use SGCT tinyxml in skybrowser for now
* Disable warnings about missing field initializers
2023-02-05 23:24:12 +01:00
Emma Broman 7e94c4c284 Remove unintentional default value for skybrowser/exoplanet module enabled property (closes #2464) 2023-02-01 18:53:06 +01:00
Alexander Bock a2a1554c9a Small cleanup of property documentation 2023-01-09 00:11:58 +01:00