* Add EscapeContext
Escape context input closes windows if there are any open. If there are not any windows it opens the game menu.
* Add fluent for Escape Context
* Move EngineContext keybind to content
* Readd WindowCloseAll
* Fix EscapeContext not opening the game menu after using WindowCloseAll
WindowCloseAll does not clear the CloseRecentWindowUIController.recentlyInteractedWindows, which caused HasClosableWindow to return true because the list still had items.
Changed HasClosableWindow to check if windows in the list are still open and clear them if they aren't.
* Clean up EscapeContextUIController
* save work
* Adds Z levels
* a
* ladders + parallax scroll
* zoom out not in
* oops, sandbox
* oops i broke the law
* run ci
* fuck
---------
Co-authored-by: moonheart08 <moonheart08@users.noreply.github.com>
instead checks if the final size of the container is supposed to be bigger than zero: if it is, then it will continue to attempt to set the split fraction until the size is no longer zero, then it will do it once last time before stopping
* Fix some bugs in stations and do a little cleanup.
* Begin backporting the guidebook.
* wow that's a lot of work.
* More work, gives the monkey some more interactions.
* disco monkye.
* monky
* jobs entry.
* more writing.
* disco
* im being harassed
* fix spacing.
* i hate writing.
* Update Resources/Prototypes/Entities/Mobs/NPCs/animals.yml
Co-authored-by: Leon Friedrich <60421075+ElectroJr@users.noreply.github.com>
* builds again
* a
* pilfer changes from AL
* fix and remove unused code
* pilfer actual guide changes from AL
* localization
* more error logs & safety checks
* replace controls button with command
* add test
* todos
* pidgin parsing
* remove old parser
* Move files and change tree sorting
* add localization and public methods.
* Add help component/verb
* rename ITag to IDocumentTag
* Fix yml and tweak tooltips
* autoclose tooltip
* Split container
* Fancier-tree
* Hover color
* txt to xml
* oops
* Curse you hidden merge conflicts
* Rename parsing manager
* Stricter arg parsing
tag args must now be of the form key="value"
* Change default args
* Moar tests
* nullable enable
* Even fancier tree
* extremely fancy trees
* better indent icons
* stricter xml and subheadings
* tweak embed margin
* Fix parsing bugs
* quick fixes.
* spain.
* ogh
* hn bmvdsyc
Co-authored-by: moonheart08 <moonheart08@users.noreply.github.com>
* split admin chat into new channel
* add ability to play audio when a chat message is received and add audio to admin chat
* give client control of AdminChat sound and volume + suppress sound for senders
* mechs
* interaction relay
* atmos handling
* fuck around with interaction events
SPAGHETTI CODE OH MY GOD
* more sprites and whatever the hell
* more mech shit
* more shit for equipment
* starting equipment (for nukie mechs and such)
* equipment cycling
* starting with some of the ui
* a fat chunk of ui prototyping
* done tinkering with ui
* a bunch of ui stuff and what have yous
* cleaning up grabber and state handling
* make the ui actually functional + watch me port a million icons
I swear i'll prune the sprites later blease
* start on construction
* construction yo mamma
* remove some unused files
* fix a silly
* make the graph sane
* make it actually constructible.
* print the boards as well, bozo
* rebalance part prices
* eject action
also i appease the russians by remembering to localize
* Punch Shit
* make mech integrity and repairs work
* Make the UI more based
STOMP STOMP STOMP STOMP
* make equipment even more based
* batteries and other such delights
* make the ui look pimpin af
* make the construction mega based
* UI but so epic
* equipment
* some sweat tweaks
* damage rebalancing
* restructure tech
* fix some shit
* mechs inherit access
* make icons actually use sprite specifiers
* TRAILING COMMAA!!!!!
* fix a mild indentation sin
* undo this change because it isn't needed
* actually fix this
* secret webeditting shhhh
* place this tech here
* comments
* foo
* various fixes
* whoops
* oops
* oop
* removes that call from escape button on unload instead of adding another one
also just moves escape window stuff into the state entered call, as only one is instantiated whenever the state is loaded (and is not dependent on the current screen)
* attempt at moving MainViewport to UIWidget
* oldchat (prototype)
* separate oldchat and default ss14 HUD into their own files
* restores original default game screen logic and adds that logic into separated chat game screen
* hand reloading, several tweaks to port oldchat to main ss14 branch
oldchat is currently not selectable
* screen type cvar, gameplay state screen reloading/loading
* reload screen on ui layout cvar change
* fixes up basic reloading (HUD switching is still very bad)
* some UI widget reloading for main UI screen switching
* alert sync on screen change
* inventory reload
* hotbar margin fix
* chat bubbles above viewport
* whoops
* fixes ordering of speech bubble root
* should fix the chat focus issue (at least in-game, not lobby yet)
* should fix up the lobby/game chat focus
* fixes chat for lobby, turns lobby into a UI state
* viewport UI controller
* viewport ratio selection
* whoops
* adds the /tg/ widescreen ratio
* removes warning from inventory UI controller, adds background to separated chat game screen's chat portion
* menu button reload
* unload menu buttons only from gameplay state shutdown
* bugfix
* character button fix
* adds config options for viewport width/UI layout
* variable naming changes, get or null instead of get to avoid exceptions
* moves entity system get into controller
Reduces visual clutter just slightly, by avoiding bright white text in an otherwise empty and dark space.
Co-authored-by: moonheart08 <moonheart08@users.noreply.github.com>
* Clean up EntityListDisplay
* Rename EntityListDisplay to ListContainer
* Rename stuff
* Rework ListContainer
* Add tests
* Replace IControlData with record ListData
* Make _data non-nullable
* Fix test record items being duplicates
* Split filter method from populate
* Rename UpdateList to DirtyList
* Replace _count with _data.Count
* Clarify local variable toRemove
* Cleanup
* Add data selection to ListContainer
* Add selection test
* Fix comments and test name
* Fix ListContainer layout hiding items when scaled
* Add test for ListContainer top item
* Toggle fix
* Ensure buttons are re-generated
* Update unread count on select
* a
* Fix toggle test
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: ElectroJr <leonsfriedrich@gmail.com>
- Change namespace, and folder of FancyWindow to Content.Client.UserInterface.Controls
- Change xaml reference from ui to controls in some places
- Change ClientAlertsSystem from internal to public
- Change namespace, and folder of HighDivider to Content.Client.UserInterface.Controls
* Adds three new smites, headstand, locker stuff, and reptilian species swap.
* Localize all the smites.
* save work
* More smites...
* Final tweaks.
* oops
* !PLEH
* Adds disarm prone and improved hand removal options.
* fix chances.
* take out the trash.
* Add some admin TRICKS instead of more smites.
* oop
* Implements the admin test arena and associated trick.
* Tricks for granting/revoking access.
* e
* mfw
* Implement quick dialogs, for when you don't want to spend 20 minutes writing a simple dialog prompt.
* Forgot the rejuv icon.
* E
* docs
* augh
* Add rename/redescribe buttons.
* Adds objects menu, implements a couple tricks for stations.
* 1984
* Adds a trick for effectively infinite power.
* fixes some icon uggo.
* a
* HALT!
* Pause/unpause buttons.
* Forgor the textures.
* they broke every bone in their body.
* i added more
* more battery actions, touch up battery icon.
* Address reviews.
* Initial
* Cleanup a bunch of things
* some changes dunno
* RequireAnchored
* a
* stuff
* more work
* Lots of progress
* delete pipe visualizer
* a
* b
* pipenet and pipenode cleanup
* Fixes
* Adds GasValve
* Adds GasMiner
* Fix stuff, maybe?
* More fixes
* Ignored components on the client
* Adds thermomachine behavior, change a bunch of stuff
* Remove Anchored
* some work, but it's shitcode
* significantly more ECS
* ECS AtmosDevices
* Cleanup
* fix appearance
* when the pipe direction is sus
* Gas tanks and canisters
* pipe anchoring and stuff
* coding is my passion
* Unsafe pipes take longer to unanchor
* turns out we're no longer using eris canisters
* Gas canister inserted tank appearance, improvements
* Work on a bunch of appearances
* Scrubber appearance
* Reorganize AtmosphereSystem.Piping into a bunch of different systems
* Appearance for vent/scrubber/pump turns off when leaving atmosphere
* ThermoMachine appearance
* Cleanup gas tanks
* Remove passive gate unused imports
* remove old canister UI functionality
* PipeNode environment air, make everything use AssumeAir instead of merging manually
* a
* Reorganize atmos to follow new structure
* ?????
* Canister UI, restructure client
* Restructure shared
* Fix build tho
* listen, at least the canister UI works entirely...
* fix build : )
* Atmos device prototypes have names and descriptions
* gas canister ui slider doesn't jitter
* trinary prototypes
* sprite for miners
* ignore components
* fix YAML
* Fix port system doing useless thing
* Fix build
* fix thinking moment
* fix build again because
* canister direction
* pipenode is a word
* GasTank Air will throw on invalid states
* fix build....
* Unhardcode volume pump thresholds
* Volume pump and filter take time into account
* Rename Join/Leave atmosphere events to AtmosDeviceEnabled/Disabled Event
* Gas tank node volume is set by initial mixtuer
* I love node container
* Import bird sprites and define basic mob.
* SKREEEEEEEEE
* Move hair styles to new sprite accessory prototypes.
Basic stuff, no multi-species stuff yet.
* Vox hair styles and clothes
* Make HumanoidCharacterProfile.Default() a static default to fix tests.
Usages that wanted the previous random behavior now call Random().
* Remove names from hair style prototypes.
(They're in localization files)
* Update Content.Shared/Actions/ActionType.cs
(sk)reeee github
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* All good except the combat doll
* Makes the HUD inventory less terrible
* Cleanup, nuke the Combat Mode button
* Harm icon
* Switch the icon
* Basic goon hud
* Toggleable
* Nuke the popup, properly centers it
* Fix clicking the button
* Nuke some old code
* missed a comment
* Remove defaults
* Localization
* Nuke some old yaml
* New sprites
Co-authored-by: ike709 <sparebytes@protonmail.com>
* Adds lobby music
* Add UI toggle for lobby music
* Pick the song serverside so everyone gets the same song
* Add more songs
* Fixes
* Catch-all end lobby music
* Rename it
* Catchall ambience cvar change
* Wait until we receive the lobby song to start playing one
* Fix toggling ready status resetting the song
* Comment
* Expend the last of my sanity fixing latejoin lobby music
* Update Content.Client/GameObjects/EntitySystems/BackgroundAudioSystem.cs
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* Update Content.Client/GameObjects/EntitySystems/BackgroundAudioSystem.cs
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* Update Content.Client/GameObjects/EntitySystems/BackgroundAudioSystem.cs
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* Move the var
Co-authored-by: ike709 <sparebytes@protonmail.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* A lot of unfinished work, trying to figure stuff out but it ain't really working
* The eye colors finally work on the sprite!
* Big refactor for HumanoidProfileEditor, crashes upon making a lobby
* Fixed Lobby crashing
* Moves the eye selection box to a new tab, which fixes selection the box from going off-screen and not expanding the bars
* uncommented something I shouldn't have commented out
* Moved eye colors back to the appearance tab, still some ui glitches
* Made it possible to scroll in the appearance tab
* Added "Eye color:" label
* Migrating some deprecated functions into their replacements
* Merged two private sealed classes into one public class, removing duplication
* Fixes a fatal crash when opening the PA control computer interface.
* Fix to make PA emitters work.
* Turned _pos and _afterUnderscore into local variables.
* Explicit states
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
* Basic voting
* Rewrite lobby in XAML.
Working lobby voting.
* Escape menu is now XAML.
* Vote menu works, custom votes, gamemode votes.
* Vote timeouts & administration.
Basically done now.
* I will now pretend I was never planning to code voting hotkeys.
* Make vote call UI a bit... funny.
* Fix exception on round restart.
* Fix some vote command definitions.
* Add files for Ghost Roles.
* Work on Ghost Roles
* Improvements
* GHOST ROLES IS DONE
* mmm yes
* auto-update when setting rolename/roledescription
* well
* command graceful error
* Makes UI have a scrollbar when it has too many entries
* fix command fuckup
* Apply suggestions from code review
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* Engine namespace changes.
* Automated remove redundant using statements.
* Simplified Graphics namespace.
* Apparently the container system stores full type names in the map file.😞 This updates those names.
* API Changes to LocalizationManager.LoadCulture.
* Update submodule to v0.3.2
* Remove unused IChatCommand.
* Lots of refactoring into a shared context.
* Removed ICommonSession from server concmd Execute.
* Added argStr parameter to concmd execute.
* The execute function of client concmds now returns void, use the new shell.RemoteExecuteCommand function to forward commands.
* Finally move shells and commands into shared.
* Console commands can now be registered directly without a class in a shared context.
* Engine API Changes.
* Repair rebase damage.
* Update Submodule.
* #1449 use new ControlFocusExited override for drag/drop controls to avoid getting
"stuck" dragging when the control lost focus mid drag, also use the renamed
KeyboardFocusEntered/Exited methods.
* Update Content.Client/UserInterface/ActionMenuItem.cs
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* Update ActionMenuItem.cs
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* # UI Win.
This is my PR that requires an engine change.
* Added RadioOptionButton
* Made JobPrioritySelector easier to use.
Requires space-wizards/RobustToolbox#1484
* Better nam.
* Updated to use the new version that isn't a mess.
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
* #272 proper open sides in menu buttons
* #272 WIP, good starting point for making
the top menu work well at different UI scales
* #272 WIP top menu looking better, but inconsistent size
* #272 WIP esc nice and big
* #272 consistently sized top buttons
* #272 proper highlighting of top menu elements
* #272 proper highlighting of top menu elements
* #272 nice shiny red tutorial button
* #272 better tutorial icon
* #272 missed svg changes
* #272 consistently sized top menu
* #272 better padding / alignment of top bar with other UI sections
* #272 fix hamburger menu height to
match others
* #272 top menu name set based on
keybind, use shortened names if possible
* #272 top menu name set based on
keybind, use shortened names if possible
* #272 add top menu actions button
* #272 add top menu admin button
* #272 fix sandbox top button down status
* #272 remove todo
* Add setoutfit command
* Adds setoutfit as a verb and adds a proper UI to the command
* Removes from AdminMenuWindow
* Changes the SetOutfit verb to be a component verb instead of a global verb
* Addresses reviews
* Remove empty method
* Remove on server aswell
* Clothing & Gender fields: Add to database [MODIFIED TO NOT DEPEND ON SAPHIRE-DB-REFACTOR]
Sorry about this, Saphire.
* Clothing & Gender fields: Add UI [FALLBACK II]
* Clothing & Gender fields: Actually apply gender
* Clothing & Gender fields: Import innerclothingskirt field from my previous attempt
Couldn't import actual prototypes because of a change to IDs
* Clothing & Gender fields: Add innerclothingskirt field to everything
* Clothing & Gender fields: Jumpskirts now work
* Clothing & Gender fields: Gender field will follow sex field if it's not different (UX improvement) [FALLBACK II]
* Clothing & Gender fields: Gender -> Pronouns to reduce confusion. Also, fix profile summary. Properly. [FALLBACK II]
* Clothing & Pronoun fields: Refactor so that profile equipment adjustments are performed in StartingGearPrototype.
* my IDE keeps wanting to change this so....
* Add item actions integration test, fix bug where empty item action
dict was left in SharedActionsComponent state
* bigger hotbar arrows
* nice wide hotbar pagination hitboxes
* add ability to switch hotbar loadout
via keybinds
* always highlight on drag over
of actions hotbar
* dont rely on content entity for integration test
* Rename department property to departments
* WIP Categories
* Add better spacing to categories
* Fix first separator and sync selectors
* You want some types with that
* Apply changes to latejoin as well
* Add category sorting to the late join gui as well
* CONTROL STUCK
* Initial
* More
* Pissed in a cup
* Cleansup some gunk I accidently committed
* More fuckups
* Added third gender option
* Applied review
* Fixed changed storage
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* Update usages of ! is with is not
* Content.IntegrationTests commit
* Content.Server commit
* Content.Shared commit
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>