* Add support for 'Rounded' mode to Range (and thus Slider)
* Make lighting resolution more configurable
* Use a lighting presets dropper because RemieRichards said so
* Make ConfigLightingQuality not a property and instead two separate methods
* More configurable lighting: cleanup to use a switch rather than an if-chain
* Added struct skeleton for EntityCoordinates.
* Polish EntityCoordinates, add tests, add EntityCoordinates to Transforms
* Doc cleanup
* Remove useless code
* Return offset 0 when you don't have a parent
* Test for making sure EntityCoordinates for entities without parents have offset 0
* Use parent transform's GridId for GetGridId.
* Adds various methods, checks and tests
* Replace GridCoordinates with EntityCoordinates
* EyeManager.WorldToScreen fix
* Address reviews
* Fix za buildo
* Fix one transform test
* Fix the remaining tests
* Remove duplicate
* Remove another merge duplicate
* Fix property
* Rename most usages of GridCoordinates to EntityCoordinates.
* Add WithEntityId method to EntityCoordinates.
* Fix EntityCoordinates usage in GetEntitiesInRange
* Remove cursed IMapGrid method, change naming.
* Makes GridTileLookupSystem use EntityCoordinates
Co-authored-by: Acruid <shatter66@gmail.com>
Co-authored-by: Víctor Aguilera Puerto <zddm@outlook.es>
* Added struct skeleton for EntityCoordinates.
* Polish EntityCoordinates, add tests, add EntityCoordinates to Transforms
* Doc cleanup
* Remove useless code
* Return offset 0 when you don't have a parent
* Test for making sure EntityCoordinates for entities without parents have offset 0
* Use parent transform's GridId for GetGridId.
* Adds various methods, checks and tests
* Adds new constructor to EntityCoordinates and add WithPosition method
Co-authored-by: Acruid <shatter66@gmail.com>
Correctly use KHR and OES suffixed functions for debug output and VAOs, if necessary.
Allow overriding the detected GL version for feature detection (nvidia gives me an ES 3.2 context even when ES 2.0 is requested, so...)
1. Fixes screenshots on ES by providing a fallback path for when encessary features (PBO, fence sync, mapbuffer) are not available.
2. Correctly detect fence sync as not always being available for 3.1
3. Remove the "bad OpenGL version" box. We have MessageBoxW now.
4. Separated feature detection for ES and Desktop, added more feature detections on various sides.
5. Moved GL feature detection to its own file.
First open will be top left, centered, or left vertically centered. The subsequent calls to open will open the window at the position the window was closed at.
NetSerializer does not handle these well and sends the entire backing array instead of a more compact representation. This can then cause it to start sending lists of length 1 with a *capacity* of 4096 resulting in 250 KiB/s down to send updates for a single entity. As it just did on the public server...
Made it so keybinds don't block other keybinds from firing.
Why is this necessary? This allows us to have "same keybind, different functionality" binds sanely, like shift click being both TextCursorSelect and (in content) ExamineEntity. Before this change the latter was temporarily broken in UI controls because of TextCursorSelect taking priority and instantly treating the event as handled because it's CanFocus.
The offshoot of this is that all the "args.CanFocus == mouse left" UI code had to be fixed, since multiple things were now firing for that and breaking everything. For example TextCursorSelect actually BROKE because now ExamineEntity was firing inside UI again and that was seen as a left click.
EngineKeyFunctions.UIClick has been introduced as "mouse left for the UI" for this purpose.
* Refactor Controls to default to MouseFilterMode.Ignore
* Clean up MouseFilterMode.Ignore from Controls
* Fix BoxContainer eating UI clicks
* Fix ScrollContainer using the wrong variable
* Refactor ContainerButtons to use a StyleClass for formatting instead of typeof
* Refactor BaseButton to work when child has MouseFilter.Pass
* Implement HistoryLineEdit
* Refactor DebugConsole to use HistoryLineEdit
* Clean up LineEdit
Add args.Handle() for each BoundKeyFunction
Clean up if statements
* Rearrange LineEdit variables
* Reimplement DebugConsole saving and loading
* Add style to TextureRect
* Implement ContainerButton
ContainerButton is a button that resizes to fit the Controls it contains.
* Refactor OptionButton to use ContainerButton
This allows OptionButton to have an inverted triangle icon on the right to make it more obvious that the button is an OptionButton.
* Fix Popup not updating size when opened
* Fix DrawMode not getting updated when _pressed is changed
* Refactor Button to inherit from ContainerButton
* Refactor CheckBox to inherit from ContainerButton
* Fix Control.StyleClasses.GetEnumerator
It was calling GetEnumerator in an infinite loop instead of getting _styleClasses.GetEnumerator like it was supposed to do.
* Update Button references
* Fix Styling