20 Commits

Author SHA1 Message Date
Bloop 13bf88b2ce Fixes persistent paintings load order (#90515)
## About The Pull Request

Persistent paintings should be loaded after persistence itself

## Why It's Good For The Game

Bugfix confirmed to be working (test merging this fix live currently).

## Changelog

🆑
fix: fixes persistent paintings not loading
/🆑
2025-04-29 17:49:24 -06:00
Watermelon914 79b00baad2 Refactors subsystems to use dependency-ordering to determine init order. Subsystems can now declare their own dependencies. (#90268)
## About The Pull Request
As the title says.
`init_order` is no more, subsystems ordering now depends on their
declared dependencies.
Subsystems can now declare which other subsystems need to init before
them using a list and the subsystem's typepath
I.e.
```dm
dependencies = list(
    /datum/controller/subsystem/atoms,
    /datum/controller/subsystem/mapping
)
```
The reverse can also be done, if a subsystem must initialize after your
own:
```dm
dependents = list(
    /datum/controller/subsystem/atoms
)
```
Cyclical dependencies are not allowed and will throw an error on
initialization if one is found.
There's also a debug tool to visualize the dependency graph, although
it's a bit basic:

![image](https://github.com/user-attachments/assets/80c854d9-c2a5-4f2f-92db-a031e9a8e257)

Subsystem load ordering can still be controlled using `init_stage`, some
subsystems use this in cases where they must initialize first or last
regardless of dependencies. An error will be thrown if a subsystem has
an `init_stage` before one of their dependencies.

## Why It's Good For The Game
Makes dealing with subsystem dependencies easier, and reduces the chance
of making a dependency error when needing to shift around subsystem
inits.

## Changelog
🆑
refactor: Refactored subsystem initialization
/🆑
2025-04-29 17:11:39 -06:00
TiviPlus f1f611e500 Force UTC±0 for time2text logging and IC times (#90347)
## About The Pull Request
This won't actually do anything on live, since those are all set to
UTC±0 currently

Pins logging and IC uses of time2text to UTC±0 instead of using the
system timezone (byond default)
Timezones not being set to utc0 caused issues before (and is again)

All timezones are now passed explicitly to make it more likely it's
cargo culted properly at least

Deletes worldtime2text cus it was gameTimestamp default args

## Why It's Good For The Game
Server timezone changes probably shouldn't affect logging, round times,
file hashes, IC time, when you caught fish, etc

## Changelog
🆑
refactor: Logging and IC timestamps will now always use UTC±0 and not be
affected by server system timezone changes
fix: Station and round times will not longer be incorrect if the system
timezone is not UTC±0
/🆑

---------

Co-authored-by: TiviPlus <572233640+TiviPlus@users.noreply.com>
2025-04-29 17:08:34 -06:00
SkyratBot fabae971c3 [MIRROR] Positive moodlets when examining high-value paintings, plus tgui nitpicks (#28861)
* Positive moodlets when examining high-value paintings, plus tgui nitpicks (#84646)

## About The Pull Request
This PR makes it so that, when framed, paintings can give positive
moodlets based on their art element, which is based upon their
patronage, meaning, the higher tha patronage, the better the positive
moodlets.

This PR also adjusts the tgui states to allow observers to interact with
the painting, but only for zooming in and out. And expands the tgui
window a little so hopefully you can see the plaquette when it's framed.

## Why It's Good For The Game
Higher-valued pieces tend to also look better, right? . . . right?
Ok, jokes apart, I think this is a nice touch to paintings.

## Changelog

🆑
add: Examining high-value paintings now can give a positive moodlet.
qol: Observers can now zoom paintings in and out in the UI.
/🆑

* Positive moodlets when examining high-value paintings, plus tgui nitpicks

---------

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
2024-07-16 10:46:02 +05:30
SkyratBot bdb6a1088e [MIRROR] Fixes the AI painting manager showing invalid choices and the search function (doesn't fix lag) [MDB IGNORE] (#25443)
* Fixes the AI painting manager showing invalid choices and the search function (doesn't fix lag) (#80114)

## About The Pull Request
Exactly what it reads on the tin.

## Why It's Good For The Game
#79495 broke more than a few things alas. This will fix #79619.

## Changelog

🆑
fix: Fixed the AI painting manager showing invalid choices.
fix: Fixed the painting manager search function.
/🆑

* Fixes the AI painting manager showing invalid choices and the search function (doesn't fix lag)

---------

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
2023-12-05 02:31:42 -06:00
SkyratBot 34668922b0 [MIRROR] Fixes the admin painting manager [MDB IGNORE] (#25127)
* Fixes the admin painting manager (#79842)

## About The Pull Request
I mucked this up a few weeks ago, wrote the fix, then got busy and
forgot about it. This fixes the bluescreen that appears when admins try
to look at the painting manager.

## Changelog
🆑 Tattle
fix: admin painting manager works again
/🆑

---------

Co-authored-by: tattle <article.disaster@ gmail.com>
Co-authored-by: MrMelbert <51863163+MrMelbert@ users.noreply.github.com>

* Fixes the admin painting manager

---------

Co-authored-by: tattle <66640614+dragomagol@users.noreply.github.com>
Co-authored-by: tattle <article.disaster@ gmail.com>
Co-authored-by: MrMelbert <51863163+MrMelbert@ users.noreply.github.com>
2023-11-19 14:55:08 -05:00
SkyratBot 20c5dea5fb [MIRROR] [NO GBP] Retain filtering capabilities for paintings [MDB IGNORE] (#24776)
* [NO GBP] Retain filtering capabilities for paintings (#79504)

## About The Pull Request
Fixes a little whoopsie from #79495 which got rid of the ability to
filter paintings

## Why It's Good For The Game
Filtering good

## Changelog

:cl:Tattle
fix: paintings can once again be filtered
/🆑

Co-authored-by: tattle <article.disaster@ gmail.com>

* [NO GBP] Retain filtering capabilities for paintings

---------

Co-authored-by: tattle <66640614+dragomagol@users.noreply.github.com>
Co-authored-by: tattle <article.disaster@ gmail.com>
2023-11-04 00:15:35 -04:00
SkyratBot df1a3670d8 [MIRROR] Caches data for paintings we have saved [MDB IGNORE] (#24766)
* Caches data for paintings we have saved (#79495)

## About The Pull Request
We got some reports about a server lagging, the cause was determined to
be TGUI. Potato figured out it was the painting manager, and I was able
to recreate the lag by just quickly scrolling through the 1200+
paintings on Manuel via a curator console. Please don't do this btw.

## Why It's Good For The Game
Allow people to scrub through the painting gallery without lagging the
server.

## Changelog
🆑 Tattle
fix: you should now be able to scrub through the library without lagging
the server
/🆑

---------

Co-authored-by: tattle <article.disaster@ gmail.com>
Co-authored-by: san7890 <the@ san7890.com>

* Caches data for paintings we have saved

---------

Co-authored-by: tattle <66640614+dragomagol@users.noreply.github.com>
Co-authored-by: tattle <article.disaster@ gmail.com>
Co-authored-by: san7890 <the@ san7890.com>
2023-11-03 19:36:16 -04:00
SkyratBot af2bec389d [MIRROR] Sets a saner length limit to ID assignments and paintings' titles. [MDB IGNORE] (#22719)
* Sets a saner length limit to ID assignments and paintings' titles. (#76723)

* Sets a saner length limit to ID assignments and paintings' titles.

---------

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
2023-07-27 14:37:29 -04:00
Gandalf e4b4d4d3c0 MISSED MIRROR [Lints Against Unmanaged Local Defines] (#20204)
* https://github.com/tgstation/tgstation/pull/74333

https: //github.com/tgstation/tgstation/pull/74333
Co-Authored-By: tattle <66640614+dragomagol@users.noreply.github.com>

* var stuff

Co-Authored-By: tattle <66640614+dragomagol@users.noreply.github.com>

* vars

* Update sol_fed.dm

---------

Co-authored-by: tattle <66640614+dragomagol@users.noreply.github.com>
2023-04-01 01:15:22 +01:00
SkyratBot b9b6a803b0 [MIRROR] Throws a bunch of parenthesis around to ensure dear Aunt Sally is always properly excused. [MDB IGNORE] (#17654) 2022-11-22 19:44:59 -08:00
SkyratBot a00cad0164 [MIRROR] Clean up subsystem Initialize(), require an explicit result returned, give a formal way to fail (for SSlua) [MDB IGNORE] (#16248)
* Clean up subsystem Initialize(), require an explicit result returned, give a formal way to fail (for SSlua)

* [PR for MIRROR PR] Changes for 16248 (#16277)

* Merge skyrat changes, update SR SS's, and remove lobby_eye

* Apply suggestions from code review

Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>

* Update modular_skyrat/modules/autotransfer/code/autotransfer.dm

Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>

* restore lobby_cam for now

Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>

Co-authored-by: Tastyfish <crazychris32@gmail.com>
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
2022-09-24 17:32:40 -04:00
SkyratBot 044d75253c [MIRROR] Arconomy: The bigger balance PR (REVISED EDITION) [MDB IGNORE] (#13164)
* Arconomy: The bigger balance PR (REVISED EDITION)

* yes

* wew

* Update multitool.dm

* yers

Co-authored-by: ArcaneMusic <41715314+ArcaneMusic@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2022-04-27 21:29:22 +01:00
Gandalf 6c3a287fed Upstream merge 65642 (#12446)
* Extra-large painting canvases: 36x24 and 45x27

* Update paintings.dm

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
2022-04-01 01:08:55 +01:00
SkyratBot f834c795e7 [MIRROR] Becoming the patron of a painting now lets you select a different, persistent appearance for the frame it's in. [MDB IGNORE] (#12009)
* Becoming the patron of a painting now lets you select a different, persistent appearance for the frame it's in. (#65305)

* Painting frame selection for patrons, painting json version update.

* Becoming the patron of a painting now lets you select a different, persistent appearance for the frame it's in.

* fix unit test

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
Co-authored-by: John Doe <gamingskeleton3@gmail.com>
2022-03-23 21:06:47 +00:00
SkyratBot 4a44e12191 [MIRROR] Improved the Art Gallery App and the AI Portrait Picker. Added a search function to them. [MDB IGNORE] (#12177)
* Improved the Art Gallery App and the AI Portrait Picker. Added a search function to them. (#65481)

* Improved the Art Gallery App. Added a search function to it.

* Improved the Art Gallery App and the AI Portrait Picker. Added a search function to them.

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
2022-03-19 08:35:15 -07:00
SkyratBot ea5ad82494 [MIRROR] Fixes persistent painting patron name not being loaded [MDB IGNORE] (#12048)
* Fixes persistent painting patron name not being loaded (#65411)

* Fixes persistent painting patron name not being loaded

Co-authored-by: AnturK <AnturK@users.noreply.github.com>
2022-03-13 17:44:30 +00:00
SkyratBot 985ad2e7b9 [MIRROR] Hardens painting saving against inconsistent state [MDB IGNORE] (#11664)
* Hardens painting saving against inconsistent state (#65024)

Should help when paintings lists gets zeroed unintentionally during the round for some reason.
Now it only deletes the painting file right before it writes the new file to prevent loss of data if anything runtimes or breaks.

* Hardens painting saving against inconsistent state

Co-authored-by: AnturK <AnturK@users.noreply.github.com>
2022-02-22 12:57:08 +00:00
SkyratBot e5276a2c6f [MIRROR] Paintings improvements. [MDB IGNORE] (#9977)
* Paintings improvements. (#63170)

About The Pull Request

    Paintings can now do stroke painting.
    Added painting management panel for admins.
    Paintings now display author's character name, year of painting, medium and patron when hung on wall.
    You can become new patron by paying more than the previous one.
    Added painter's palettes to library vendor. (Sprites by @ Mickyan )

Backend changes:

    Images are now stored in /data/paintings/images/*.png instead of /data/paintings/[category]/*.png
    Old categories are now just tags

Screens & Video
Changelog

cl
add: You can now become patron of your favorite painting by buying sponsorship from Nanotrasen Trust Foundation.
add: Painter's palettes are now available at library vendor.
qol: Can use strokes in paintings now
/cl

* Paintings improvements.

Co-authored-by: AnturK <AnturK@users.noreply.github.com>
2021-12-09 16:47:52 -05:00
SkyratBot 124ddd7cca [MIRROR] tgui Preferences Menu + total rewrite of the preferences backend (#8153)
* tgui Preferences Menu + total rewrite of the preferences backend

* nah, we dont need to ping those people

* trying to remove the funny stuff

* unmodularizing this

* prefs reset

* this may need to be reverted, who knows

* okay, this part

* perhaps

* EEEEEEEEE

* unsanitary

* E

* Stage 1 + loadout system

* more fixes

* E

* I mean, it launches?

* More fixes and reorganisation

* E

* customisation code is spaget.

* disable ERP prefs

* Update erp_preferences.dm

* Update erp_preferences.dm

* E

* Slowly getting there

* It may be time for help :)

* tri...colors... help

* preferences now pass preferences

* Update dna.dm

* Fuck this man

* missing savefile return, set_species works, removed dumb stuff from updateappearance

* https://github.com/Skyrat-SS13/Skyrat-tg/pull/8199

* https://github.com/Skyrat-SS13/Skyrat-tg/pull/8224

* https://github.com/tgstation/tgstation/pull/61519

* https://github.com/Skyrat-SS13/Skyrat-tg/pull/8278

* e

* le butonAZARAK HELLO

* hhh

* Proper recognition where it's due, MrMelbert!

* EEEE

* examine block

* Better gen hit sounds from whitedream

* final loadout touches, more bug fixes im sure to come

* i said there would be bugfixes

* Update LoadoutManager.js

* Missing preferences in the html menu

* LIVE TESTING PHASE BABY

* Update LoadoutManager.js

* EEE

* LAUNCH TEST FIRE

* Update job.dm

* Update new_player.dm

* 50gb DAY ONE PATCH

* EEE

* Update preferences.dm

* buggle fixes

* Update examine.dm

* >LOOC starts on

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: jjpark-kb <55967837+jjpark-kb@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
Co-authored-by: Azarak <azarak10@gmail.com>
2021-09-23 00:40:37 +01:00