Commit graph

673 commits

Author SHA1 Message Date
Ritchie Frodomar
45c0a228ba
Remove support for old terminal
Signed-off-by: Ritchie Frodomar <alkalinethunder@gmail.com>
2025-01-07 17:05:17 -05:00
Ritchie Frodomar
9afe3f2f40 New Console Renderer
* Add arrow keys and Home/End support to ConsoleLineEditor

Signed-off-by: Ritchie Frodomar <alkalinethunder@gmail.com>

* Fix crash where sudo reads first argument as command name

Signed-off-by: Ritchie Frodomar <alkalinethunder@gmail.com>

* Allow keystroke reading via IConsoleDriver.ReadKey

Signed-off-by: Ritchie Frodomar <alkalinethunder@gmail.com>

* Use new console system for pipes

* Trim whitespace when dumping selection in TextScreen

* add help text to the shell

Signed-off-by: Ritchie Frodomar <alkalinethunder@gmail.com>

* Add support for writing markup to a console driver

Signed-off-by: Ritchie Frodomar <alkalinethunder@gmail.com>

* Add support for help providers.

Signed-off-by: Ritchie Frodomar <alkalinethunder@gmail.com>

* Theme the terminal selection color

Signed-off-by: Ritchie Frodomar <alkalinethunder@gmail.com>

* Fix selection rounding mouse coordinates instead of flooring them

Signed-off-by: Ritchie Frodomar <alkalinethunder@gmail.com>

* Add copy/paste support to new terminal

* Add support for drag-based selection in new Terminal

Signed-off-by: Ritchie Frodomar <alkalinethunder@gmail.com>

* Fix reversed rendering of scrollback buffer in new terminal

Signed-off-by: Ritchie Frodomar <alkalinethunder@gmail.com>

* Port neofetch to new terminal

* Fix various off-by-one errors in ConsoleLineEditor erasing routines

Signed-off-by: Ritchie Frodomar <alkalinethunder@gmail.com>

* Use new color/font API for shell command not found errors

Signed-off-by: Ritchie Frodomar <alkalinethunder@gmail.com>

* Fix issue in new ConsoleLineEditor where cursor inconsistently drops to newline when pressing enter

Signed-off-by: Ritchie Frodomar <alkalinethunder@gmail.com>

* Fix crash caused by blank narrative ID

Signed-off-by: Ritchie Frodomar <alkalinethunder@gmail.com>

* Port sdsh to new IConsoleDriver API

* Add support for scrolling in new Terminal

* ADd support for character printing in new terminal

Signed-off-by: Ritchie Frodomar <alkalinethunder@gmail.com>

* Add support for text reflow in new console screen

* Add experimental setting for enabling new terminal
2025-01-07 22:02:46 +00:00
Ritchie Frodomar
e73deda7f4
Glob support
* Add support for terminating wildcards at match lists

* Add support for glob matching, including unit tests.

* Add support for path enumeration in IVirtualFileSystem
2025-01-06 18:46:31 -05:00
Ritchie Frodomar
875e0a4cfb
Workspace Cycler
* Use a cycler for workspace switcher

* Use popovers for the user applet in status panel

* git status
2025-01-06 18:46:31 -05:00
Ritchie Frodomar
6e0c6fac7d
Wayland Toggle Fix
* Hide Wayland Support toggle when Wayland is unavailable.
2025-01-06 18:46:31 -05:00
Ritchie Frodomar
85f4c24f26
Update LICENSE
Signed-off-by: Ritchie Frodomar <alkalinethunder@gmail.com>
2025-01-06 18:46:12 -05:00
Ritchie Frodomar
d2565530ed Emoji support
* Add support for raw emoji parsing in TextWidget

* Fix SDL not honouring Wayland Support setting

* Fix improper markup parsing in TextWidget after emoji support was added

* Use Twemoji for emoji, and add support for COLR font glyphs.

* Add support for emoji rendering in TextWidget if the font is provided

* Add support for parsing emoji shortcodes in TextWidget

* Add emoji lookup table to AcidicGUI

* Add Noto Color Emoji font for future use
2024-11-27 02:35:56 +00:00
Ritchie Frodomar
f22f252aac Neon Lights and Argon Nights
* Decrease overall font size

* Fix improper line height calculation at low font size in Typeface

* Do not word-wrap in TextWidget unless the text element has printable text.

* Merge whitespace text elements together in TextWidget

* Remove DynamicFont and FontStashSharp support

* Mark DynamicFont as obsolete and remove all API needed to load it

* Improve legibility of smaller font sizes

* Fix underlines in TextWidget

* Don't use system culture for in-game time strings on desktop

* Fix some whitespace chars being treated as unknown glyphs

* Fix improper line height measurement in Typeface.MeasureString

* Use FreeType for icon rendering

* Allow independent atlases for different font sizes, improves overall legibility

* Add experimental FreeType-based text rendering

* Add support for popover theming

* Add support for popovers on any widget.

* Add support for GUI layers

* Fix crash when opening apps

* Replace Material icons with Lucide icons

* Fix various chromatic aberration typoes

* Add support for workspace switching

* Don't render scroll view children if their visual rectangle is out of bounds

* Allow parent widgets to decide whether a given child gets to render onto the screen

* Add support for window minimizing

* Fix over-measuring of font sizes in DynamicFont

* Use new applet system for Status Bar user display

* Add support for launcher applets

* Add support for status applets on both Dock and Status Bar

* Remove ToolManager

* Allow windows to be maximized by double-clicking the title area

* Add minimum sizes to Chat and Email

* Add support for dirty rendering in background blurs

* Remove all tile-based tools in favour of floating windows

* Move Dock to bottom of screen and Info Panel to an overlay

* Adjust bloom to better-suit the game

* Fix background blurs using incorrect UVs

* Add support for chromatic abberation

* Add support for bloom

* Fix various blur shader issues and adjust for performance

* Use Dual Kawasse blur technique in place of Gaussian Blur for more intense-looking, less intense-fucking blurs

* Add basic debug overlay on F3 key
2024-11-22 22:27:50 +00:00
Ritchie Frodomar
3412bf0cf9
Do not publish MRs to Steam. 2024-11-03 14:23:20 -05:00
Ritchie Frodomar
79d5f00e99 New UI Visual Style System
* Move visual style types to their own files

* Use new visual style system for chat completion list

* Use new visual style system for window decorations

* Use new visual style system for chat message bubbles

* Add support for running actions inside GUI debugger

* Completely rewrite the UI debugger

* Fix scrollbars not rendering

* Argh. Blur is messed up in a way I can't describe.

* Minimize draw call overhead of widgets

* Don't use the same vertex and index buffer over and over again when rendering UI meshes. Create and cache buffers for each widget instead.

* Use actual blitting techniques when possible in IVirtualScreen.Blit

* Squeeze some extra performance out of the blur shader

* Optimize background blurs by only blurring the area under the widget

* Add support for region-to-region grabbing of the virtual screen

* Various widget property cache fixes

* Use new visual style system for window tabs

* Add support for dynamic text color in new style system

* Allow background blur darkening

* Optimize window dragging

* Use new visual style system for blur panels

* Use new visual style system for form fields

* Render input field caret in SociallyDistantVisualStyle

* Fix message dialog buttons calling their callbacks multiple times

* Use new visual style system for input fields

* Use new visual style for list items

* Use new visual style system for Dock

* Use new visual style system for the Status Bar

* Use new visual style system for decorative blocks

* Use new visual style system for toggles

* Use new visual style system for buttons and move buttons into AcidicGUI

* Add support for animated scrollbars

* Add support for click scrolling in ScrollBar

* Avoid layout updates when scrolling in a ScrollView

* Fix scrollbar not disappearing in scroll views that do not have enough content to scroll

* Add suppport for basic drag scrolling in ScrollView

* Add support for starting a drag and drop session from a MouseDown event

* Fix dropdowns not laying out their items properly after switch to new visual style system

* Fix handling of focus events when a mouse event results in a widget being created

* Consume all scroll events when a dropdown is open

* Use new visual style system for dropdown item backgrounds

* Use new visual style system for rendering all widget backgrounds

* Skip rendering widgets whose computed render opacity is zero, including rendering any of their children.

* Use new visual style system for dropdown item backgrounds

* Add support for drawing default widget backgrounds with the BackgroundStyle property

Signed-off-by: Ritchie Frodomar <alkalinethunder@gmail.com>

* Use new visual style system for scroll bars

Signed-off-by: Ritchie Frodomar <alkalinethunder@gmail.com>

* Split Scroll View and Scroll Bar into separate widgets

* Use new visual style system for Sliders

* Re-add support for mouse scrolling in Terminal
2024-11-03 19:15:27 +00:00
Ritchie Frodomar
de73d0800b Fix even more platform-related issues
* Show more descriptive OS version info in neofetch

We now show the distribution name (i.e, "Arch Linux")
as well as the OS architecture and .NET version in
the "Host" string in neofetch.

This should theoretically also mean Windows versions
are displayed properly, but I don't have a local
Windows system to test.

Issue: #1
Signed-off-by: Ritchie Frodomar <alkalinethunder@gmail.com>

* Document new visual style system

* Use new style system for Progress Bars

* Allow custom widgets to more easily take advantage of the visual style system

* Add support for setting confirmations in toggles

Signed-off-by: Ritchie Frodomar <alkalinethunder@gmail.com>

* Fix background blur effect rendering solid black after fullscreen changes

Changing the game resolution requires throwing away old blur buffers and
generating new ones. This requires throwing away cached blur geometry on
all widgets, but we were not doing that - resulting in sampling a destroyed
texture. In MonoGame, the failure mode for this is sampling black.

Issue: #1
Signed-off-by: Ritchie Frodomar <alkalinethunder@gmail.com>

* Fix issue where toggling Fullscreen doesn't change window mode

We did not apply the XNA presentation parameters this whole time.
I feel stupid.

Issue: #1
Signed-off-by: Ritchie Frodomar <alkalinethunder@gmail.com>

* Prioritize Graphics category in System Settings

* Fix annoying ordering of resolutions in Graphics Settings

* Fix crash on lower screen resolutions when clicking on Terminal

Mouse coordinates were not being scaled from screenspace into
canvas space, resulting in a crash when clicking on the Terminal.

Also add documentation for internal VirtualScreen
implementation, and define dynamic properties for
CanvasWidth and CanvasHeight in the UI system.

Issue: #13
Signed-off-by: Ritchie Frodomar <alkalinethunder@gmail.com>

* Remove old GuiService virtual screen and document IVirtualScreen

Whoever wrote that old code was high, fuck... wait a minute...

Signed-off-by: Ritchie Frodomar <alkalinethunder@gmail.com>

* Fix various errors after emergency rebase

* Remove Rider caches

* Attempt to enable Wayland support

* Add support for enabling/disabling Wayland support on Linux

* Move SettingsManager to GameApplication so settings can be loaded before the game engine fully boots.

* Test commit.

Signed-off-by: Ritchie Frodomar <alkalinethunder@gmail.com>

* Move Terminals to their own tile

* Add support for disabling background blur

* Testing the DCO acknowledgement job

Signed-off-by: Ritchie Frodomar <alkalinethunder@gmail.com>
2024-10-29 19:32:18 +00:00
Ritchie Frodomar
75c8b5432c Fix various platform issues and slightly improve UI
* Fix crash on lower screen resolutions when clicking on Terminal

Mouse coordinates were not being scaled from screenspace into
canvas space, resulting in a crash when clicking on the Terminal.

Also add documentation for internal VirtualScreen
implementation, and define dynamic properties for
CanvasWidth and CanvasHeight in the UI system.

Issue: #13
Signed-off-by: Ritchie Frodomar <alkalinethunder@gmail.com>

* Remove old GuiService virtual screen and document IVirtualScreen

Whoever wrote that old code was high, fuck... wait a minute...

Signed-off-by: Ritchie Frodomar <alkalinethunder@gmail.com>

* Fix various errors after emergency rebase

* Remove Rider caches

* Attempt to enable Wayland support

* Add support for enabling/disabling Wayland support on Linux

* Move SettingsManager to GameApplication so settings can be loaded before the game engine fully boots.

* Test commit.

Signed-off-by: Ritchie Frodomar <alkalinethunder@gmail.com>

* Move Terminals to their own tile

* Add support for getting CPU name on Windows via registry

* Add support for disabling background blur

* Fix window hints not being restored when switching between main tool tabs

* Testing the DCO acknowledgement job

Signed-off-by: Ritchie Frodomar <alkalinethunder@gmail.com>
2024-10-28 03:17:01 +00:00
Ritchie Frodomar
7f8f7dbf42
Rename build jobs
Issue: #14
Signed-off-by: Ritchie Frodomar <alkalinethunder@gmail.com>
2024-10-27 12:42:07 -04:00
Ritchie Frodomar
bbd5e4e99d
Rename 'Coronavirus' icon constant to 'BeerWorm'
Having the text 'virus' anywhere in SociallyDistant.Framework,
alongside the internet simulation API, causes Windows Defender
and ONLY Windows Defender to think the game is RedLine Stealer.

I'm serious.

Issue: #14
Signed-off-by: Ritchie Frodomar <alkalinethunder@gmail.com>
2024-10-27 12:13:25 -04:00
Ritchie Frodomar
1667648adf
Add Windows build job
Issue: #14
Signed-off-by: Ritchie Frodomar <alkalinethunder@gmail.com>
2024-10-26 21:05:46 -04:00
Ritchie Frodomar
7dc36d5d53
Remove Steam Deck motherboard check.
I'm getting pissed.

Issue: #14
Signed-off-by: Ritchie Frodomar <alkalinethunder@gmail.com>
2024-10-26 20:47:08 -04:00
Ritchie Frodomar
73b540b415
Remove seveal unneeded APIs 2024-10-25 21:41:57 -04:00
Ritchie Frodomar
e2e65c63af
Upgrade dotnet-tools 2024-10-25 20:24:35 -04:00
Ritchie Frodomar
e2cf7e12dd
Dependency conflict
Signed-off-by: Ritchie Frodomar <alkalinethunder@gmail.com>
2024-10-25 20:14:19 -04:00
Ritchie Frodomar
a39daf7c1f
Upgrade MonoGame packages
A fix was introduced for Windows that fixes a crash
when trying to build fonts on minimal Windows installs.

Issue: #14
Signed-off-by: Ritchie Frodomar <alkalinethunder@gmail.com>
2024-10-25 20:01:41 -04:00
Ritchie Frodomar
5039e44baf
Remove need for manually adding NuGet feeds
Issue: #14
Signed-off-by: Ritchie Frodomar <alkalinethunder@gmail.com>
2024-10-23 16:21:50 -04:00
Ritchie Frodomar
e8963a8aa7
Allow tags to be published to Steam 2024-10-22 20:40:30 -04:00
Ritchie Frodomar
e3df0072bb
Fix typo in build version info 2024-10-22 20:22:36 -04:00
Ritchie Frodomar
ee736ea34f
Try again 2024-10-22 20:15:27 -04:00
Ritchie Frodomar
76ef4f434e
Pass the version string differently 2024-10-22 20:02:30 -04:00
Ritchie Frodomar
2ef8519aa9
Try passing the variables differently 2024-10-22 19:46:40 -04:00
Ritchie Frodomar
d4fc8e0088
Try again... 2024-10-22 19:34:18 -04:00
Ritchie Frodomar
e16a6b8938
Fix build description 2024-10-22 19:20:14 -04:00
Ritchie Frodomar
3e50029695
Fix repository URL in Steam job 2024-10-22 19:10:17 -04:00
Ritchie Frodomar
2906b1169e
Fix incorrect branch name for Steam job 2024-10-22 18:53:32 -04:00
Ritchie Frodomar
34804a857a Update .gitlab-ci.yml file 2024-10-22 22:48:22 +00:00
Ritchie Frodomar
b02f8b45b0
Allow Steam deployment 2024-10-22 18:46:53 -04:00
Ritchie Frodomar
64f710e729
Document how to build Career Mode 2024-10-20 20:51:59 -04:00
Ritchie Frodomar
bbe7fc6364
Rename Career submodule list so users don't accidentally try to clone it when not permitted. 2024-10-20 20:27:59 -04:00
Ritchie Frodomar
d4d2fa9575
Optimize how many times we build the game on a new container 2024-10-20 20:22:23 -04:00
Ritchie Frodomar
7785481efd Add Career assets as submodule 2024-10-20 18:20:10 -04:00
Ritchie Frodomar
4e7a183684 Remove unnecessary scale transform in Desktop 2024-10-20 18:20:10 -04:00
Ritchie Frodomar
0cea3a657e Switch to Windows (misc. changes from copying the repo) 2024-10-20 18:20:10 -04:00
Ritchie Frodomar
427e4b6439 Add licensed UI audio
Signed-off-by: Ritchie Frodomar <alkalinethunder@gmail.com>
2024-10-20 18:20:09 -04:00
Ritchie Frodomar
61733849a5 Fix deadlock when exiting a game to main menu
Signed-off-by: Ritchie Frodomar <alkalinethunder@gmail.com>
2024-10-20 18:20:09 -04:00
Ritchie Frodomar
043f35f830 Add events for widgets being removed/added in the hierarchy
Signed-off-by: Ritchie Frodomar <alkalinethunder@gmail.com>
2024-10-20 18:20:09 -04:00
Ritchie Frodomar
8cc587a54f Fix issue where Ritchie wrote code under the influence of a migraine, leading to sounds not playing.
Signed-off-by: Ritchie Frodomar <alkalinethunder@gmail.com>
2024-10-20 18:20:09 -04:00
Ritchie Frodomar
ad4aa04497 Add entry sounds to LineEditor
Signed-off-by: Ritchie Frodomar <alkalinethunder@gmail.com>
2024-10-20 18:20:09 -04:00
Ritchie Frodomar
685e611c8a Add support for tutorial overlays
Signed-off-by: Ritchie Frodomar <alkalinethunder@gmail.com>
2024-10-20 18:20:09 -04:00
Ritchie Frodomar
a60e2865d9 Add support for crafting and disassembling
Signed-off-by: Ritchie Frodomar <alkalinethunder@gmail.com>
2024-10-20 18:20:09 -04:00
Ritchie Frodomar
03f381c027 Implement skeletal crafting UI
Signed-off-by: Ritchie Frodomar <alkalinethunder@gmail.com>
2024-10-20 18:20:09 -04:00
Ritchie Frodomar
9fad87c32c Add support for crafting in the save file
Signed-off-by: Ritchie Frodomar <alkalinethunder@gmail.com>
2024-10-20 18:20:09 -04:00
Ritchie Frodomar
454930999b Add support for inter-ISP packets in Network Simulation
Signed-off-by: Ritchie Frodomar <alkalinethunder@gmail.com>
2024-10-20 18:20:09 -04:00
Ritchie Frodomar
dc2df1b726 Add support for widget tweening
Signed-off-by: Ritchie Frodomar <alkalinethunder@gmail.com>
2024-10-20 18:20:08 -04:00
Ritchie Frodomar
344c1f682e Fix default UI shader applying effect parameters at the wrong time
Signed-off-by: Ritchie Frodomar <alkalinethunder@gmail.com>
2024-10-20 18:20:08 -04:00