Commit Graph

3772 Commits

Author SHA1 Message Date
Vasilis 4cced6e9d6
Fix centcom and other jobs with setPreference set to false showing up anyway (#25496)
* God dammit pjb

* Smol cleanup

(cherry picked from commit 237d89cbfe)
2024-03-05 09:49:48 +01:00
metalgearsloth cd8b5b96b5
Optimise DecalOverlay (#25266)
ChunkSize is still 32 so doesn't cut down on heaps of decals atm though we avoid passing many decals to drawing with the coordinates bounds check now.

(cherry picked from commit d8e5f5c24b)
2024-03-05 09:49:43 +01:00
Pieter-Jan Briers 905bb83a2d
Make department / job list sorting consistent. (#25486)
* Make department / job list sorting consistent.

This makes late join, crew manifest and character profile all apply consistent sorting for jobs and departments.

We use the already-defined weights for departments (so command, then sec, then station specific, then just sort by prototype ID). Jobs also use weight (so heads are always at the top) then prototype ID, then character name (for manifest).

Removed the crewmanifest.ordering CVar as doing it via prototype weight is just easier, and that CVar was already a mess anyways.

* Fix jittery job icons in lists.

They were set to KeepCentered in TextureRect. This has issues because the allocated space is actually an odd number of pixels, so it tries to position the draw at a half pixel offset.

Now, yes, fixing this in TextureRect would make much more sense, but get off my back. (Ok seriously we need better helper functions for doing that in the engine. Don't wanna deal with that right now and I already have this patch made.)

Instead I'm just gonna fix the issue by using VerticalAlignment in all these places instead which ends up doing exactly the same thing YIPPEE.

Also gave a margin next to the icon on the crew manifest. Margins people!

(cherry picked from commit 715794dd41)
2024-03-05 09:49:19 +01:00
Pieter-Jan Briers 324ea7fbc8
Switch project files to C# 12. (#25487)
Just unlocks new language features like primary constructors.

(cherry picked from commit b1de6dd601)
2024-03-05 09:49:02 +01:00
Tayrtahn 164c06f6ed
Add prediction to Openable (#25477)
* Fix formatting problem with FullOpened

* Moved to Shared and networked

* Revert "Fix formatting problem with FullOpened"

This reverts commit f8353403da830a4402bdd457bcf24a2432a5f566.

(cherry picked from commit 381bb9020a)
2024-03-05 09:48:52 +01:00
Nemanja 384c060ea5
Predict doors and airlocks (#25419)
* predict doors and airlocks

* prying, too

* ack

* eek

(cherry picked from commit ce0a51fc29)
2024-03-05 09:48:41 +01:00
dffdff2423 6757f63a90
Add option for admins to disable bwoink (#25008)
* Add option for admins to disable bwoink

In a vain attempt to get people to ahelp more, provide the possibility
for admins to not play the bwoink sound if they don't want to scare the
player.

* Add silent indicator to discord relay

* Use string interpolation

(cherry picked from commit a3c93b0bd7)
2024-03-05 09:43:40 +01:00
Debug 813db18871
Re-enable AnyCommand on acts 2024-03-01 01:04:24 +01:00
Debug b32a3446ff
Vision filter accessibility option (#889)
* Add option to disable vision filters

* Remove DefaultVision in favor of the setting

* Clean DeltaTab.xaml.cs
2024-02-23 19:36:18 +01:00
Golinth cd1b5f07c7
Mindshield outline flashes, (#25409)
* Add animation support to status icons

Animated like any other entity. Change the png to have all frames, add delays in meta.json, and you're good to go.

* Dirty "fix" for the crashing.

Still have no idea why files cannot be read without changing their path in the yaml.

* Sloth review ig

I still have no idea why it wont work with /Textures/ missing as a prefix.

(cherry picked from commit 79dc4e4d6f)
2024-02-21 04:08:37 +01:00
Pieter-Jan Briers 2333da8353
Fix PlayerListControl re-raising selection changed when repopulated. (#25412)
Now we just skip duplicate "item pressed" events from the ListContainer.

This caused the ahelp window to unfocus the message box after sending something. Flow is something like this: you send ahelp -> bwoink window refreshes player list due to new bwoink -> repopulated player list -> sent selection change -> repopulates right pane -> line edit gets unfocused.

(cherry picked from commit 84d455b9f8)
2024-02-21 04:04:45 +01:00
Pieter-Jan Briers 28d18c0035
PlayerListControl fixes. (#25248)
* PlayerListControl fixes.

Fix a button being selected by default always, which then can't be selected properly for real. This affected multiple admin UIs.

This broke due to upstream RT changes but ButtonGroup was always kinda busted so whatever. Uses the new IsNoneSetAllowed to implement everything properly.

Also make sure the selected player STAYS selected when filtering the list and stuff.

Also this PlayerInfo record has been changed to only do equality on the User ID because otherwise it'd need to compare each field individually which would be weird.

* Revert changes to ListContainer

This change was made default in the engine, no longer necessary here.

(cherry picked from commit 74a31ac5f3)
2024-02-21 04:03:46 +01:00
Pieter-Jan Briers 837272c745
Fix admin notes and database time nonsense. (#25280)
God bloody christ. There's like three layers of shit here.

So firstly, apparently we were still using Npgsql.EnableLegacyTimestampBehavior. This means that time values (which are stored UTC in the database) were converted to local time when read out. This meant they were passed around as kind Local to clients (instead of UTC in the case of SQLite). That's easy enough to fix just turn off the flag and fix the couple spots we're passing a local DateTime ez.

Oh but it turns out there's a DIFFERENT problem with SQLite: See SQLite we definitely store the DateTimes as UTC, but when Microsoft.Data.Sqlite reads them it reads them as Kind Unspecified instead of Utc.

Why are these so bad? Because the admin notes system passes DateTime instances from EF Core straight to the rest of the game code. And that means it's a PAIN IN THE ASS to run the necessary conversions to fix the DateTime instances. GOD DAMNIT now I have to make a whole new set of "Record" entities so we avoid leaking the EF Core model entities. WAAAAAAA.

Fixes #19897

(cherry picked from commit 2e6eaa45c5)
2024-02-21 04:03:44 +01:00
Leon Friedrich 585c34e71f
Fix action state handling bug (#25395)
* Rejig action state handling

* Fix entity arg

* Fix deserialization

(cherry picked from commit bd4597c5ca)
2024-02-21 04:03:41 +01:00
James Simonson d5c65dd4d6
Vending UI facelift (#25377)
* Convert to fancy window + added footer + add list spacing

* margin add

(cherry picked from commit 99aa72e30d)
2024-02-21 03:58:07 +01:00
Tayrtahn 292b92c039
Add support for metamorphic fill levels (#25022)
* Added support for fill levels to metamorphic glasses

* Fix warnings and cleanup

* Don't break non-metamorphic fills!

(cherry picked from commit e74f3019f7)
2024-02-21 03:58:06 +01:00
Debug 2717706994
Make loadacts more user friendly (#864)
Allow loadacts to take a file
2024-02-19 22:58:14 +01:00
Pieter-Jan Briers 5da6086a02
Add new "OptionsVisualizer" (#25128)
This is a visualizer somewhat similar to the Generic. It allows configuring appearance info based on specific CVars the user has set. This allows YAML to easily configure alternatives for accessibility CVars like reduced motion.

(cherry picked from commit 1ce2155315)
2024-02-18 23:39:23 +01:00
MilenVolf cb0fdb47d1
LockVisualizer (#25224)
* LockVisualizer

* Fix state

* Clean some code

* Make it component, fix tests fail

* Fix for StateUnlocked

Now it is possible to manually set the unlocked state and it will work!

* Optimize LockVisualizer, add check for unlocked state

* No todo I guess

(cherry picked from commit c7870882f6)
2024-02-18 23:27:28 +01:00
themias c459072d8a
Allow t-ray to penetrate carpets and puddles (#25276)
* Allow t-ray to penetrate carpets and puddles

* handle edge cases

(cherry picked from commit d7eb3b1c5c)
2024-02-18 23:24:54 +01:00
Debug 3889a3a14d
Fix changelog 2024-02-18 23:23:34 +01:00
metalgearsloth 0d8558335b
Re-organise main menu screen (#25173)
- The dummy control of 2px size has annoyed me for almost 5 years.
- Why is it in the top-right.
- Why is the server address not labelled.

(cherry picked from commit 1a438e644f)
2024-02-18 23:18:57 +01:00
Golinth 5273ce7e77
Kill Seperated Mindshield Icons (#25303)
* Unghettoify mindshield icons

Adds support for layers in status icons, through the StatusIconLayer enum and the new "layer" datafield. Defaults to the Base layer where functionally remains unchanged.

* TG icon for shield

probably better than the shitty one I made in paint

* forgor meta.json

I forgor

* Emo review

Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>

---------

Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
(cherry picked from commit bced73f676)
2024-02-18 23:17:51 +01:00
Pieter-Jan Briers 1031a93942
Predict Injector (syringes), cleanup (#25235)
At least the mode/transfer amount logic. Actual transfer logic needs Bloodstream which I didn't wanna move into shared.

(cherry picked from commit 6d8be538c9)
2024-02-18 23:11:33 +01:00
Guilherme Ornel 88f4ca25a2
Fax machines can print from text file (#23262)
* added

* checks tweaking

* fixed what sloth wanted

* fixed?

* dialog diposing fix

* checks tweaking

* more changes

* dispose streamreader

* Update Content.Client/Fax/UI/FaxBoundUi.cs

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>

* Update Content.Server/Fax/FaxSystem.cs

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>

* fix minor typo

---------

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
(cherry picked from commit ff92025026)
2024-02-18 23:03:53 +01:00
James Simonson 1083aeb8e1
Microwave UX enhancements (#24547)
* Facelift Microwave UI

Includes new background light in UI, Uses predictive input, UI now properly disables buttons when microwave is active

* Microwave now shows Elapsed time

* Fixed bad formatting

* Added new term for "BottomMargin"

* Change yellow color

* Update StyleNano.cs

just spacing fixed

* Cook time countdown now detached from server

Instead of the server constantly sending out messages for the cook countdown, it is now predicted client side using TimeSpan

* Update MicrowaveMenu.xaml

forgot to re-add item space

(cherry picked from commit 25f73f6406)
2024-02-18 23:03:05 +01:00
Pieter-Jan Briers ccea85136b
Random spontaneous cleanup PR (#25131)
* Use new Subs.CVar helper

Removes manual config OnValueChanged calls, removes need to remember to manually unsubscribe.

This both reduces boilerplate and fixes many issues where subscriptions weren't removed on entity system shutdown.

* Fix a bunch of warnings

* More warning fixes

* Use new DateTime serializer to get rid of ISerializationHooks in changelog code.

* Get rid of some more ISerializationHooks for enums

* And a little more

* Apply suggestions from code review

Co-authored-by: 0x6273 <0x40@keemail.me>

---------

Co-authored-by: 0x6273 <0x40@keemail.me>
(cherry picked from commit 68ce53ae17)
2024-02-18 23:02:29 +01:00
PoorMansDreams 9461cd2ab4
Fixed Tipped ammo not being Spent (#25167)
Fix Tipped Ammo not being Spent

(cherry picked from commit e40318b831)
2024-02-18 23:01:40 +01:00
metalgearsloth cb97e156cb
Fix decal error spam (#25172)
(cherry picked from commit 4cec0821e4)
2024-02-18 23:01:15 +01:00
deltanedas 76129f4349
make linking logic gates 1000% better (#25041)
* make door status use SendSignal

* LastSignals and logic, add ClearSignal api too

* make everything outputting a logic signal default to false

* refactor ops

* :trollface:

* :trollface:

* protoid for LastSignals

* oop

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
(cherry picked from commit f41ece37c3)
2024-02-18 22:55:58 +01:00
Krunklehorn bb71b4f15b
Fix pointing arrow trajectory (#25061)
Initial commit

(cherry picked from commit 16b56c7f45)
2024-02-18 22:55:56 +01:00
SlamBamActionman 6991618a45
Add option for character name colors in chat & move coloration to clientside (#24625)
* Adds option to disable character names in chat/speechbubbles

* Moved the coloring of names to clientside

* Move string functions to SharedChatSystem to avoid duplicate code in SpeechBubble.cs

* Changed to be put under Accessibility section

* Cache CVar

(cherry picked from commit 247be5b5c7)
2024-02-18 22:52:19 +01:00
metalgearsloth 9e366f3119
Predict two-way levers (#25043)
* Predict two-way levers

Annoys me the rare occasions I touch cargo. Doesn't predict the signal but at least the lever responds immediately.

* space

* a

(cherry picked from commit 05a2ddff1c)
2024-02-18 22:46:26 +01:00
metalgearsloth 464e4d4b60
Fix screenspace popups (#24987)
* Fix screenspace popups

Never got around to it earlier but need to draw it above UI controls.

* Minor null change

(cherry picked from commit 560ea9775a)
2024-02-18 22:43:01 +01:00
Nemanja 1efd153b83
prevent opening debug menus without perms (#25091)
prevent people without permissions from opening the tile, entityspawn, or decal menus

(cherry picked from commit 2293f46bca)
2024-02-18 22:38:55 +01:00
Sk1tch 510d06eac6
Alphabetically sorted guidebook entries (#24963)
* - Renamed GetSortedRootEntries to GetSortedEntries and added child sorting logic
- Removed unessesary Tree.SetAllExpanded(true) call in RepopulateTree

* Adding back deleted setallexpanded call to check if test passes

---------

Co-authored-by: Your Name <you@example.com>
(cherry picked from commit 3b2921a3cc)
2024-02-18 22:36:04 +01:00
Debug 330e0e37d9
*Properly* fix salvage strings (#840)
Me when the maps
2024-02-17 01:48:04 +01:00
Fluffiest Floofers a98b4ebaaa
Vulpkanin's Deuteranopia (#837)
* Everyone loves dog vision

Updated to match the the harpy code

* change locale name
2024-02-15 18:27:23 +01:00
VMSolidus 1f3128c6ea
Harpy Visual Rework (#677)
* It begins

* Delete error.txt

* Patch by Debug

* HIDING WINGS NOW WORKS

* Runs smoother from Shared

* Delete HarpyVisualsSystem.cs

* The entire clientside script is no longer needed, and the visuals now work correctly. Helmetbug is gone.

* Update HarpyVisualsSystem.cs

* First completed Harpy Hardsuit

* Captain and Atmos tech birdsuits

* Update hardsuit-helmets.yml

* And more content

* Adding new finch tail <3

* whoops

* guh

* I swear the tail works now, I just need the adhd meds to kick in

* birb juggsuit

* More stuff

* Nukie hardsuits

* fixing clipping issues on birb juggsuit

* Update meta.json

* aaaaaaaaa

* two more

* Ton of extra harpy sprites

* Create equipped-INNERCLOTHING-harpy.png

* Harpy Ultravision trait

TODO: Optional trait that disables it

* Trait that removes Ultravision

* Code optimizations

* Adding hueshift maps to all harpy markings

* No more jumpsuits

* 1984 the harpy jumpsuits, they are no longer needed

* last 2

* final QA pass

* shennanigans related to an earlier merge conflict

---------

Signed-off-by: VMSolidus <evilexecutive@gmail.com>
2024-02-12 22:25:02 +00:00
Debug d8df4327ec
Fix PseudoItems (#821)
* Fix PseudoItem

* Add pain

* Cancel attack events
2024-02-12 21:52:49 +01:00
Debug e1337f7f5e
Update patreon list (#807) 2024-02-09 16:51:32 +00:00
Rainfey ecf9634e0c
Make Health Analysers UI continuously update (#22449)
(cherry picked from commit 4129c77a5b)
2024-02-08 12:39:55 +01:00
Kot 7863210fdf
Update log probe UI for better looking (#24966)
(cherry picked from commit 2ba1bd22dc)
2024-02-08 12:37:48 +01:00
deltanedas b45675731d
move criminal records console component to shared (#24957)
* move criminal records console component to shared

* todone

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
(cherry picked from commit 9b1c88b78b)
2024-02-08 12:37:47 +01:00
deltanedas 965e1cae57
criminal records revival (#22510)
(cherry picked from commit 683591ab04)
2024-02-08 12:37:29 +01:00
metalgearsloth c639a4efbb
Predicted movement opening lockers (#24937)
Relay wasn't really networked properly and this annoys me.

EntityStorage is still pretty skrunkly but this fixes the main issue I think.

(cherry picked from commit 042feae2e9)
2024-02-08 12:36:12 +01:00
keronshb 2675d7bd06
Adds a refund button & action upgrades for stores (#24518)
* adds refunds to stores

* Adds method to check for starting map

* comments, datafields, some requested changes

* turns event into ref event

* Adds datafields

* Switches to entity terminating event

* Changes store entity to be nullable and checks if store is terminating to remove reference.

* Tryadd instead of containskey

* Adds a refund disable method, disables refund on bought ent container changes if not an action

* Removes datafield specification

* Readds missing using statement

* Removes unused using statements

* What the heck is listing data

---------

Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
(cherry picked from commit 257909fd97)
2024-02-08 12:36:06 +01:00
Jezithyr 070af36c57
Emergency revert for pulling (#24923)
Revert "Pulling rework (#20906)"

This reverts commit 0d8254b2a2.

(cherry picked from commit c15b0691ec)
2024-02-08 12:34:47 +01:00
nikthechampiongr c3629bc043
Fix end of round messages looping forever (#24920)
* Fix End of Round messages looping forever and ever and ever

* Use the correct setting for round restart sounds

(cherry picked from commit 09daa534bd)
2024-02-08 12:32:25 +01:00
Krunklehorn c12dacd966
Travelling pointing arrows, brains can no longer point (#24864)
* Decoupled from gravity, constant animation time, manual networking, cubic interpolation

* Reduced overshoot

* Implemented PointAttemptEvent, reacts with mobstate & sleeping

* Brains can no longer point, PBs must be inside a chassis

* Removed chassis check, made callback more obvious

(cherry picked from commit d01d75073c)
2024-02-08 12:32:04 +01:00