Commit Graph

3797 Commits

Author SHA1 Message Date
metalgearsloth
132d02653c Fix exped FTL (#25823)
Also fixed some other stuff I noticed.

(cherry picked from commit c23b3d804efc7f35cf6c56d872d8dd7fee82ece1)
2024-03-08 12:54:55 +01:00
metalgearsloth
02c58d4e80 Fix shuttle IFF drawing (#25821)
Didn't account for UI scale properly I love transforms.

(cherry picked from commit 87e2755c31a972f8839b408e5cf78d4665533927)
2024-03-08 12:54:54 +01:00
metalgearsloth
772218ab65 Fix shuttle console UI scaling (#25807)
(cherry picked from commit b7ccf738883b486364b10b272ce4c9fef3ad6261)
2024-03-08 12:54:54 +01:00
metalgearsloth
f102e8ff75 Shuttle console + FTL rework (#24430)
* Add shuttle interior drawing back

Just do it per-tile she'll be right, at least it's done with 1 draw call.

* Revamp shuttle console

* Bunch of cleanup work

* Lables sortito

* dok

* Pixel alignment and colours

* Fix a bunch of drawing bugs

* Shuttle map drawing

* Drawing fixes

* Map parallax working finally

* weh

* Commit all my stuff

* mic

* deez

* Update everything

* Xamlify everything

* uh

* Rudimentary blocker range

* My enemies have succeeded

* Bunch of changes to FTL

* Heaps of cleanup

* Fix FTL bugs

* FTL

* weewoo

* FTL fallback

* wew

* weh

* Basic FTL working

* FTL working

* FTL destination fixes

* a

* Exclusion zones

* Fix drawing / FTL

* Beacons working

* Coordinates drawing

* Fix unknown map names

* Dorks beginning

* State + docking cleanup start

* Basic dock drawing

* Bunch of drawing fixes

* Batching / color fixes

* Cleanup and beacons support

* weh

* weh

* Begin pings

* First draft at map objects

* Map fixup

* Faster drawing

* Fix perf + FTL

* Cached drawing

* Fix drawing

* Best I got

* strips

* Back to lists but with caching

* Final optimisation

* Fix dock bounds

* Docking work

* stinker

* kobolds

* Btns

* Docking vis working

* Fix docking pre-vis

* canasses

* Helldivers 2

* a

* Array life

* Fix

* Fix TODOs

* liltenhead feature club

* dorking

* Merge artifacts

* Last-minute touchup

(cherry picked from commit c5486873db0d6826122eb1f30007e392fc101082)
2024-03-08 12:54:53 +01:00
metalgearsloth
fa61952f51 Add trade stations (#23863) 2024-03-08 09:52:50 +01:00
Tayrtahn
549d4f18cd Add SharedPopupSystem.PopupPredicted (#25811)
* Added SharedPopupSystem.PopupPredicted

* Documentation improvement

(cherry picked from commit 0738829510d823bf0f22eaf197f6f5cc3744bbc3)
2024-03-07 01:52:38 +01:00
Errant
bdcfcf108f Readmin enables Debug Coordinates in F3 overlay (#25063)
readmin debugcoords

(cherry picked from commit 46f6799ba2afe0e6a5cfbcceef9db84f950d84e5)
2024-03-07 01:52:29 +01:00
Pieter-Jan Briers
e01969b0fd Paper save button, back to ctrl+enter save. (#25870)
* Revert "Change keybindings for paper (#25853)"

This reverts commit 4b56996fcdbf88581d31d4c8aeb184f0c4c23309.

* Add a save button to the paper editing UI instead.

(cherry picked from commit d385c1bb2327da4fa6bf83d1813c44295eb8efdd)
2024-03-07 01:28:18 +01:00
Tayrtahn
c255822389 Add prediction to hand labeler labels (#25869)
Added prediction to labels

(cherry picked from commit f4976a32886850df2033e7866d0c9a5df37be1af)
2024-03-07 01:27:58 +01:00
exincore
a66dc10cf0 feat(inventory): Add secondary smart-equip star (#25696)
* feat(inventory): Add secondary quick-remove star

* style: Fix end of file newline

* feat(inventory): Change secondary smart-equip star to silver star

* feat(inventory): Decrease secondary quick-equip star luminosity to better match the primary

(cherry picked from commit c8cc806a8fed7de92db48f4f066f63d5464502d1)
2024-03-07 01:18:38 +01:00
Fildrance
426b208c1d fix: lobby music volume will be changed on options change without restart (also lobby music not looped anymore) (#25530)
* fix: lobby music volume will be changed on options change without restart (also lobby music not looped anymore)

* refactor: now lobby music is part of ContentAudioSystem. Lobby playlist is used instead of single track. Client now selects next lobby soundtrack after previous finished.

* refactor: incapsulated info on current lobby track in simple record

* refactor: fixed inconsistent naming between song and soundtrack for lobbymusic

* refactor: xml-doc for LobbyPlaylistChangedEvent

* fix: inverted invalid _audio.PlayGlobal check to return only if lobby soundtrack play call failed

---------

Co-authored-by: pa.pecherskij <pa.pecherskij@interfax.ru>
(cherry picked from commit 4c87dcd3cb92855df1fa01dea52d2ddd09f2adce)
2024-03-07 01:18:33 +01:00
lapatison
4444cce972 Small news manager localisation (#25718)
* loc

* per review

* Update Content.Client/MassMedia/Ui/ArticleEditorPanel.xaml

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

---------

Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
(cherry picked from commit 4f7facbd73270d38efce72fbb9d0dabd1f432dd2)
2024-03-07 01:18:30 +01:00
Errant
63e45f9532 Alerts for breathing plasma/tritium (#24484)
* Alert autoremove v0

* Code cleanup and timing

* comment

* Tritium, code compression

* not resolving manually

* reduced lookups, new comp

* fix-fix yes

* use RemCompDeferred, handle OnUnpaused

* missed a todo

* entitysystem resolve

* remove unnecessary component updates

* remove AlertState from comp, move EntityUnpausedEvent actions to AlertStateComponent's Timespan

* Code cleanup

* comments

* combines AutoRemove input into Clear

* minor logic adjustment that does not really change anything but is less ambiguous

(cherry picked from commit ecd2d5a644540c6ad28903ee4fb2af87876e3030)
2024-03-07 01:17:31 +01:00
Flesh
34287d692c Cargo request console search now includes crate descriptions (#25708)
added condition checking description to cargo search

(cherry picked from commit c83ad11be170f860a0fbd5dde257fd0537e89712)
2024-03-07 01:12:17 +01:00
LordCarve
ba36e5195f Refactor AME to use ItemSlot for Fuel (#25558)
* Using wrench on AME doesn't first try to put it in.

* Refactor AME to use ItemSlot for fuel.

* Apparently these names want to match.

(cherry picked from commit c47391011d0f7f56dfcba8e4db348f0dc0d58c09)
2024-03-07 01:08:04 +01:00
Rainfey
b9d2f5a409 Refactor antag rule code (#23445)
* Initial Pass, Rev, Thief

* Zombie initial pass

* Rebase, Traitor

* Nukeops, More overloads

* Revert RevolutionaryRuleComponent

* Use TryRoundStartAttempt, Rewrite nukie spawning

* Comments, Add task scheduler to GameRuleSystem

* Zombie initial testing done

* Sort methods, rework GameRuleTask

* Add CCVar, Initial testing continues

* Might as well get rid of the obsolete logging

* Oops, i dont know how to log apparently

* Suggested formatting fixes

* Suggested changes

* Fix merge issues

* Minor optimisation

* Allowed thief to choose other antags

* Review changes

* Spawn items on floor first, then inserting

* minor tweaks

* Shift as much as possible to ProtoId<>

* Remove unneeded

* Add exclusive antag attribute

* Fix merge issues

* Minor formatting fix

* Convert to struct

* Cleanup

* Review cleanup (need to test a lot)

* Some fixes, (mostly) tested

* oop

* Pass tests (for real)

---------

Co-authored-by: Rainfall <rainfey0+git@gmail.com>
Co-authored-by: AJCM <AJCM@tutanota.com>

(cherry picked from commit 4e6c59cfe51211064d79a727cc2d37c2a2f55a2c)
2024-03-07 01:06:59 +01:00
Menshin
37c7ac7931 Add space heaters (#25250)
(cherry picked from commit 98843511014e1b5fce34b7e1215179dd3d0f94c8)
2024-03-07 01:05:02 +01:00
Debug
c6bd89ce76 Revert "Fix chat bubbles (#25643)"
This reverts commit a074c30a52.
2024-03-07 01:03:46 +01:00
metalgearsloth
a074c30a52 Fix chat bubbles (#25643)
Dependencies got misused

(cherry picked from commit 23d2c4d924efbae39f1b6677f1e495f55e3d75a2)
2024-03-07 01:02:59 +01:00
Julian Giebel
c9f4910cb9 News UI overhaul and PDA notifications (#19610)
(cherry picked from commit 0752acdc2ca2db43581e2c0d95a5d96041247bc9)
2024-03-07 01:02:24 +01:00
Whisper
e0d84f2db2 Whisper bleed update v3 (#25434)
* Whisper bleed update v3

* missed a few

* Add bleeding message to health analyzer.

* Fix bleed notification not updating.

* Apparently this either doesnt exist

(cherry picked from commit ff65cb7b0caaeb9edd9461eff942bdc6f5eb7f50)
2024-03-07 00:59:34 +01:00
Plykiya
9adf84fb89 Syringe UI cached updates (#25581)
Injector status UI cached values

Co-authored-by: Plykiya <plykiya@protonmail.com>
(cherry picked from commit dffd02adb161f8299e858fb6c0c2eb71e595e21f)
2024-03-07 00:57:12 +01:00
Pieter-Jan Briers
5d93d35fdf Character profile sanitization improvements (#25579)
Validate that job and antag prototypes can actually be set in character profiles, rather than just checking if the prototype exists.

Make preferences system just call existing validation code when loading prototype from database, instead of some hacked-together stuff.

Also I made the character profile validation logic take dependencies in via parameter because fuck resolves.

(cherry picked from commit 8d244f7b76ba881253eb94611acaab31865c3920)
2024-03-07 00:56:04 +01:00
Krunklehorn
17af37f8bc Fix grid inventory pick/drop rotation (#25510)
OnPiecePressed

(cherry picked from commit 7d6e4b164d6013257423afe02b3f06447e37bec3)
2024-03-07 00:53:11 +01:00
Tayrtahn
f40668818b Add a container display to dispenser UI (#25391)
* Implemented contents display for dispenser UI

* Update Content.Client/Chemistry/UI/ReagentDispenserWindow.xaml.cs

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

* Resolve the netent into a euid first

---------

Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
(cherry picked from commit 100ece2e2078ab2fe99f4ce1ab36b2cd05319772)
2024-03-07 00:53:04 +01:00
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 237d89cbfe526856dd547a7e9f37b01d87e84361)
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 d8e5f5c24b88bf8096ddaec11e80f1af2953637b)
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 715794dd414c5d4b794cd6f2201983ecbc5d4f17)
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 b1de6dd6017f4f56045df409db59fb7d303bde5d)
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 381bb9020aeba82e9cad111c77c34bee29d52c68)
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 ce0a51fc29675b3b0afb90296b6a8ce90c3f9cd3)
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 a3c93b0bd7478c0f75daaa2f7d0bd8b88565b27e)
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 79dc4e4d6f918b2d56ae5e1909f2ccdbc552014c)
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 84d455b9f862dcbfdffd5827ceab4890dcf653cc)
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 74a31ac5f3316cc865ab9f39f39efff4e0b9e748)
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 2e6eaa45c57c7f5ba561d1fb1ef6712d2432a8fa)
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 bd4597c5ca8a3c55b17868a2c8aef543d3ea503d)
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 99aa72e30dd79ed2388a449de41a2b3f70491356)
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 e74f3019f7dc36a9e8ba19ae253692ed4af864c7)
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 1ce21553152199e3d97a8d02c11922fb8db5fd52)
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 c7870882f6f956eea07cbb4738ae45c8805c8ce6)
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 d7eb3b1c5c3faf2f9cf363407790bd383feb0070)
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 1a438e644f17f1352cec29d90fa755f37e120f34)
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 bced73f67657246bc167531414ea0be5a5bba6bf)
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 6d8be538c90cf4c3a6636e2f8b84631af457cd42)
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 ff920250260c89840bfee3f514d79d5a2a82a61d)
2024-02-18 23:03:53 +01:00