Commit Graph
206 Commits
Author SHA1 Message Date
metalgearslothandGitHub 8e6bc1651e Add tooltip tracking (#3665) 2023-01-13 11:40:35 +11:00
Leon FriedrichandGitHub 9bbd1d28b1 Fix & update window position constraints (#3660) 2023-01-09 14:27:23 +11:00
metalgearslothandGitHub 0c9fe010b1 Fix tooltips being incorrect for a frame (#3664) 2023-01-08 16:22:16 +11:00
Leon FriedrichandGitHub 504f3f16d8 Add tickrate to debug monitor (#3631) 2022-12-31 04:04:38 +11:00
Pieter-Jan Briers 342d9ed2cd System debug panel in F3. 2022-12-03 00:28:33 +01:00
Pieter-Jan Briers 36f781d05b Add windowing API to ClydeDebugPanel. 2022-12-03 00:27:56 +01:00
Pieter-Jan Briers 1799ecaa68 Stop waiting on Godot, re-add 2px DebugMonitors separation. 2022-12-03 00:20:20 +01:00
Pieter-Jan Briers f573143e29 Move Debug monitor (F3) panels to their own folder. 2022-12-02 23:05:21 +01:00
Pieter-Jan BriersandGitHub e34935c9e2 TextEdit control & a bunch of other stuff (#3436) 2022-11-12 03:12:49 +01:00
Pieter-Jan Briers 97bdc1edee Fix bad \n in DebugClydePanel. 2022-11-10 01:41:58 +01:00
metalgearslothandGitHub 828ac48f7c Remove transform methods from MapGrid (#3382) 2022-11-01 11:27:41 +11:00
Leon FriedrichandGitHub e534fcd800 Unrevert "Remove obsolete GridId and all references to it" (#3279) 2022-10-10 08:41:58 +11:00
metalgearslothandGitHub 818ea1a629 Revert "Remove obsolete GridId and all references to it" (#3308) 2022-10-09 17:32:54 +11:00
SpaceManiacandGitHub ebaa8d9ac3 Remove obsolete GridId and all references to it (#3279) 2022-10-09 16:23:40 +11:00
wrexbeandGitHub ddf4828bf9 UI popup size fix (#3281) 2022-09-25 21:51:23 -07:00
Leon FriedrichandGitHub a67b22cce8 Add get-matrix functions to IViewportControl (#3264) 2022-09-21 20:42:17 +10:00
Leon FriedrichandGitHub 8bedba2da7 Fix initial tile & entity spawn menu sizes (#3230) 2022-09-05 20:00:35 -07:00
710371d7d1 UI refactor and UITheme implementations (#2712)
* UIControllerManager


Implemented UI Controller Manager

* added fetch function

* added note

* Hiding some internal stuff

* Implemented event on gamestate switch for ui

* Fix serialization field assigner emit

* fixing issues with ILEmitter stuff

* AHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH

Blame Smug

* fixing nullref

* Add checking for no backing field / property for ui system dependencies

* fixes Gamestate detection

* Implemented event on UIControllers on system load

* Updated systemload/unload listeners

* Had this backwards lol

* Fix nulling systems before calling OnSystemUnloaded, broke InventoryUIController.Hands.cs

* Created UI Window management system

- A manager that allows for easy creation and access of popup or gamestate windows

* Changing to use basewindow instead of default window

* Implemented UI Theming that isn't ass

* Updated default theme loading and validation

* Added path validation for themes

* Implemented UI Themes

* Implemented UI Theme prototypes

* Implementing theming for texture buttons and Texturerects

* fixing server error

* Remove IUILink

* Implemented default theme overriding and theme colors

* Fixing sandbox lul

* Added error for not finding UITheme

* fixing setting default theme in content

* Move entity and tile spawn window logic to controllers

* Add 2 TODOs

* Merge fixes

* Add IOnStateChanged for UI controllers

* Fix inventory window being slow to open
Caches resources when the UI theme is changed

* Remove caching on theme change
The real fix was fixing the path for resources

* Remove test method

* Fix crash when controllers implement non generic interfaces

* Add controllers frame update

* Split UserInterfaceManager into partials

- Created UI screen

* Converted more UI managers into partials

* Setup UIScreen manager system

* Added some widget utility funcs


updated adding widgets

* Started removing HUDManager

* Moved UiController Manager to Partials


Finished moving all UIController code to UIManager

* Fixed screen loading

* Fixed Screen scaling

* Fixed Screen scaling


cleanup

* wat

* IwantToDie

* Fixed resolving ResourceCache instead of IResourceCache

* Split IOnStateChanged into IOnStateEntered and IOnStateExited

* Implemented helpers for adjusting UIAutoscale for screens

* Fixed autoscale, removed archiving from autoscale

* Implemented popups and adjusted some stuff

* Fixing some popup related shinanegans

* Fixing some draw order issues

* fixing dumb shit

* Fix indentation in UserInterfaceManager.Input.cs

* Moved screen setup to post init (run after content)

* Fix updating theme

* Merge fixes

* Fix resolving sprite system on control creation

* Fix min size of tile spawn window

* Add UIController.Initialize method

* https://tenor.com/view/minor-spelling-mistake-gif-21179057

* Add doc comment to UIController

* Split UIController.cs and UISystemDependency.cs into their own files

* Add more documentation to ui controllers

* Add AttributeUsage to UISystemDependencyAttribute

* Fix method naming

* Add documentation for assigners

* Return casted widgets where relevant

* Fix entity spawner scroll (#1)

* Add CloseOnClick and CloseOnEscape for popups

* Remove named windows and popups

* Cleanup controller code

* Add IOnStateChanged, IOnSystemChanged, IOnSystemLoaded, IOnSystemUnloaded

* Add more docs to state and system change interfaces

* Fixing Window issues

* Fixing some window fuckery

* Added OnOpen event to windows, updated sandbox window

Sandbox windows now persist values and positions

* Recurse through controls to register widgets (#2)

* Allow path to be folder

* Fix local player shutdown

* Fixing escape menu

* Fix backing field in DataDefinition.Emitters

* Ent+Tile spawn no crash

* Skip no-spawn in entity spawn menu

Co-authored-by: Jezithyr <jmaster9999@gmail.com>
Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
Co-authored-by: Jezithyr <Jezithyr@gmail.com>
Co-authored-by: wrexbe <81056464+wrexbe@users.noreply.github.com>
Co-authored-by: Flipp Syder <76629141+vulppine@users.noreply.github.com>
Co-authored-by: wrexbe <wrexbe@protonmail.com>
2022-09-04 16:10:54 -07:00
Leon FriedrichandGitHub 6a8266af7e Revert "Revert "PVS & client state handling changes"" (#3152) 2022-08-21 08:30:28 +10:00
Leon FriedrichandGitHub 9cd8adae93 Revert "PVS & client state handling changes" (#3151) 2022-08-21 05:27:16 +10:00
Leon FriedrichandGitHub b4358a9e33 PVS & client state handling changes (#3000) 2022-08-21 03:40:18 +10:00
metalgearslothandGitHub a4ea7fed6a Make tiledefinitions use spritespecifier (#3113) 2022-08-10 17:04:12 +10:00
Leon FriedrichandGitHub 786ecdb8b1 More window open overrides (#3073) 2022-07-26 06:56:28 -07:00
Pieter-Jan BriersandGitHub 2783e89d1f SDL2 windowing backend (#2979)
* SDL2 windowing prototype.

* More stuff idk
2022-07-15 00:07:30 +10:00
Pieter-Jan BriersandGitHub 776669b789 Remove almost all allocations from F3 menu. (#2923) 2022-06-10 12:59:43 +02:00
Pieter-Jan Briers 8d5fa58e1a Avoid NRE if viewport has no eye 2022-06-09 09:39:08 +02:00
Pieter-Jan Briers ac949a4bee Improve "monitor" command.
Has -all and +all options, code cleaned up including IDebugMonitors API and implementation.
2022-06-07 00:44:48 +02:00
Pieter-Jan Briers 3c5618364c Move ValueList<T> to Robust.Shared.Collections 2022-05-28 15:34:46 +02:00
Leon FriedrichandGitHub 9ef80864b7 Fix completion divide by zero (#2866) 2022-05-26 04:38:08 +10:00
Pieter-Jan BriersandGitHub 5057c91dcd Console command completions v1. (#2817)
* Console command completions v1.

I think it works™️

* Unify cvar commands

* Handle no-completions-at-all better.

* Don't crash if you tab complete while no completions available.

* Always show hints if available

* Properly null completion hint over the wire

* Unify help command, localize it.

* Clean up + localize cvar command.

* Remove debug logging

* List command unified & localized.

* Remove server completions debug logging

* Remote execute command.

Had to make everything async for this.

* Don't lower case enums or bools
Why

* GC commands converted and localized.

* Fix remote command completions.

Whoops

* Kick command completions

* lsasm unified & localized.

* Revert "Don't lower case enums or bools"

This reverts commit 2f825347c3.

* ToString gc_mode command enums instead of trying to fix Fluent.

Ah well.

* Unify szr_stats

* Unify log commands, completions

* Fix compile

* Improve completion with complex cases (quotes, escapes)

* Code cleanup, comments.

* Fix tab completion with empty arg ruining everything.

* Fix RegisteredCommand completions

* Add more complex completion options system.

* Refactor content directory entries into a proper resource manager API.

* Implement GetEntries for DirLoader

* Make type hint darker.

* Exec command autocomplete, pulled play global sound code out to engine.
2022-05-17 13:07:25 +10:00
41e9d9b08b Client profiling system (#2783)
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2022-05-14 15:08:46 +10:00
Vera Aguilera PuertoandGitHub 64cd6ea9be Adds GridUid field to TileRef. (#2815)
* Adds GridUid field to TileRef.

* actually compiles
2022-05-13 18:00:33 +10:00
442de12b99 Grid splitting (#2743)
Co-authored-by: Vera Aguilera Puerto <gradientvera@outlook.com>
2022-04-24 00:57:56 +10:00
8491f7be24 New Serv3 api just dropped (#2605)
Co-authored-by: Paul Ritter <ritter.paul1@gmail.com>
2022-04-03 01:59:48 +02:00
Jane LewisandGitHub 273aa3d6ea Show player rotation in debug overlay (#2631) 2022-03-25 18:12:53 +11:00
de4d255841 Analyzer to enforce classes to be either [Virtual], abstract, or sealed. (#2469)
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2022-02-05 19:31:58 +01:00
Wrexbe e8b70877cf Tiles Name->Id DisplayName->Name 2022-01-01 20:52:59 -08:00
Pieter-Jan Briers c5899944a2 Uncomment stuff in manifest so it's not empty and won't break the launcher.
Whoops.
2021-12-30 17:48:22 +01:00
Pieter-Jan Briers 86e4a558c5 F3 menu moves out of the way when console opens 2021-12-30 16:49:36 +01:00
Pieter-Jan Briers ed641c8cc8 Properly dispose debug console history writer so it flushes properly. 2021-12-30 03:10:01 +01:00
Vera Aguilera Puerto 2d833daa57 Fix EntitySpawnWindow Erase Mode not being toggled off correctly.
It would always get toggled back on after Clear cleared the erase mode status...
2021-12-27 16:40:52 +01:00
Paul RitterandGitHub 338a2831ee Revert Rich Text (#2363) 2021-12-20 12:38:35 +01:00
wrexbeandGitHub a59ab44199 Add IWritableDirProvider helper (#2321) 2021-12-12 16:19:51 -08:00
E F RandGitHub 2a8887d0b4 Rich text redux (#2213)
* Shared/Utility: Define new FormattedMessage core types

* Shared/Utility: Move MarkupParser to a new namespace, update to new FormattedText

* Shared/Serialization: Temporary fix for FormattedMessageSerializer

* Scripting/ScriptInstanceShared: Move to new FormattedMessage.Builder

* Shared/Utility: Add a FormattedMessage loader to the .Builder

* Server/Scripting: Port SciptHost to FormattedMessage.Builder

* UserInterface/RichTextEntry: NOP out almost everything

not gonna bother fixing it until more groundwork is laid

* Shared/Utility: Expand Utility.Extensions a bit

strictly for pesonal reasons

* Client/UserInterface: Add the base TextLayout engine

* Client/Graphics: Add a Font Library manager

* Graphics/TextLayout: Finish up implementing the TextLayout engine

* Utility/FormattedMessage: Add yet another hack to keep the serializer in service

* Commands/Debug: Use FormattedMessage.Builder

* Console/Completions: Use FormattedMessage.Builder

* Utility/FormattedMessage: Add `AddMessage` methods

* Console/ScriptConsole: Use FormattedMessage.Builder

* Client/Log: Use FormattedMessage.Builder

* CustomControls/DebugConsole: Use FormattedMessage.Builder

* Controls/OutputPanel: Use FormattedMessage.Builder, NOP `Draw` pending rewrite

* Controls/RichTextLabel: Use FormattedMessage.Builder, NOP `Draw` pending rewrite

* UnitTesting: Update FormattedMessage/Markup Tests

They will NOT pass yet, but I don't care; it compiles.

* Utility/FormattedMessage: Fix some off-by-one Builder bugs

* Utility/FormattedMessage: Continue cleanup, test compliance

* Utility/FormattedMessage: Work around https://github.com/dotnet/roslyn/issues/57870

* Utility/FormattedMessage: Move ISectionable from TextLayout, implement it for FormattedMessage

* UserInterface/TextLayout: Add a `postcreate` function to set up new `TIn`s

Apparently Roslyn isn't big-brained enough to understand that a
closure of type `Func<T>` means that `var n = new(); return n;` requires
`new()` to return a `T`.

Ironically, it's significantly less cbt to add this than to convert
that big tuple in `Layout` in to a class or struct of some sort
(to initialize the `List<>`s).

* UserInterface/TextLayout: Throw if `Meta` isn't recognized

TODO warning go brrr

* Graphics/FontLibrary: Add a `DummyVariant`

* UserInterface/UITheme: Move to FontLibraries

* UserInterface/TextLayout: Move to an un-nested `ImmutableArray`

* UserInterface/RichTextEntry: Go ahead. Draw.

* Markup/Basic: Add extension & helpers for FormattedMessage.Builder

* Markup/Basic: Add `EscapeText` back in

A forgotten casualty of the great Markup separation of 2021

* Graphics/FontLibrary: Clean up bit magic, ensure that at least one font is picked

* Graphics/FontLibrary: Add diagnostics to the "no fonts" exception

* UserInterface/TextLayout: Scrap `Word`, return to `Offset`

* UserInterface/TextLayout: A whole bunch of hard-fought bugfixes

* Utility/FormattedMessage: Add a static, empty FormattedMessage

* Utility/FormattedMessage: Fix. Bugs.

* UserInterface/RichTextEntry: Bug fixin'

* UserInterface: CSS teim

* Markup/Basic: Add an optional "default" style to use

* Utility/FormattedMessage: I'm surprised I only made this mistake once.

* Log/DebugConsoleLogHandler: work around lack of a default style
2021-12-12 14:35:26 -08:00
Vera Aguilera Puerto 26dcef4a11 Fix more useless resolves, makes entity system proxy "Deleted" not throw. 2021-12-08 11:10:11 +01:00
Wrexbe 90596c8979 Fixed It 2021-12-05 18:12:56 -08:00
DrSmugleaf 163deff564 Fix 3000 errors 2021-12-05 18:13:33 +01:00
Wrexbe 5356523305 Client builds 2021-12-03 12:58:37 -08:00
Vera Aguilera Puerto 7a06db60cf Inline UID 2021-12-03 15:53:10 +01:00
Vera Aguilera Puerto 94e6886a85 Inline Transform 2021-12-03 14:20:35 +01:00