* Amortize the cost of creating preference assets by caching them per git revision on production, reducing best case init times by ~20 seconds (#63503)
Preference asset creation, which while consistently created in early assets, can be requested at any time before then and often is, currently takes about 15 to 25 seconds to produce. Because of extremely hard to reproduce BYOND icon bugs, most of this is done on the same tick.
Lowering the cost of initialization itself is very tricky. Some of it we can theoretically optimize, such as creating humans for antagonists, others we can't, such as the raw cost of icon blending.
Furthermore, adding new icons later down the line would just increase this initialization time even more.
Instead of optimizing the asset creation, which is an uphill battle, this instead chooses to amortize the cost by caching preference assets created per git revision. This means that preference assets will be created, with their long delay, only once whenever the code changes.
This is done on a config, defaulting to on so that production needs no changes, as the whole point of these being made at runtime at all is that it keeps assets/art styles consistent, and PRs making subtle bugs that break preference generation in some way is not uncommon. On development, your git revision will stay the same until you commit, no matter what code changes you make.
* Amortize the cost of creating preference assets by caching them per git revision on production, reducing best case init times by ~20 seconds
* Fixing another conflict :)
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
* Move MouseEntered to a queue, such that only the most recently hovered atom will be processed (#63567)
bout The Pull Request
MouseEntered currently fires multiple (multiple) times per frame, presumably over every atom that was hovered in some timeframe (though it appears to be much worse than that).
This makes MouseEntered only add to a queue, while a per-tick subsystem ensures only the most recent MouseEntered gets the screentip work done on it, through a generic on_mouse_enter proc call.
Contextual screen tips are coming and are going to make the screen tip code more computationally expensive, so slimming it down is going to be a must.
Would like to hear from @ LemonInTheDark if this makes any obvious difference in time dilation, since it of course won't be as easy as just checking MouseEntered overtime anymore.
* Move MouseEntered to a queue, such that only the most recently hovered atom will be processed
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
* creates SSspeech_controller so the MC can control say() execution
* Update mob_say.dm
Co-authored-by: Kylerace <kylerlumpkin1@gmail.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
* [Ready] MODsuits
* we dont need to add these people as codeowners, goodness gracious
* have to remove this because upstream
* part 1 of these fixes
* EEEE
* Update peacekeeper_clothing.dm
* E
* E
* Auto stash before merge of "upstream-merge-59109" and "origin/upstream-merge-59109"
* E
* Update expeditionary_trooper.dm
* more removal
* nice
* modsuti modstui modusuti
* fixes
* E
* ITS MODsuit not HARDSUIT
* more hardsuit references
* MODSUIT NOT HARSUITEDSA
* Maps
* More ,map
* oop
* e
* oo aa
* 0
* ting tang
* Update modsuit_tailsprites.dm
* hi fikou
* bs tech update
Co-authored-by: Fikou <23585223+Fikou@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: Tom <8881105+tf-4@users.noreply.github.com>
* Fix skin tone sorting and refactor color procs (#63554)
* Remove superfluous hash from hex2rgb call
Add stack_trace to hex2rgb to catch future nonsense
* Fix skin tone sorting and refactor color procs
Co-authored-by: AndrewL97 <andrewjlove97@gmail.com>
* Field of View and Blindness improvements [bounty + upstream push]
* Update death.dm
* almost done
* Update fov_handler.dm
* Face mouse when in combat mode, fix
* Fixes the category for the fov admin verb. #63401
* Fixes objects with bad planes and FoV bugs #63412
* pain
* there we go
* face pref
Co-authored-by: Azarak <azarak10@gmail.com>
* Moves the suicided var to where its supposed to be (#63470)
Co-authored-by: Fikou <23585223+Fikou@ users.noreply.github.com>
* Moves the suicided var to where its supposed to be
Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
Co-authored-by: Fikou <23585223+Fikou@ users.noreply.github.com>
* fugitives now poll for a fugitive role, instead of being based on traitors (#63339)
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
* fugitives now poll for a fugitive role, instead of being based on traitors
Co-authored-by: tralezab <40974010+tralezab@users.noreply.github.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
* TGUI input box framework (#63190)
About The Pull Request
Creates the framework for two new TGUI input boxes that can be toggled via game prefs.
This does not convert any actual inputs to TGUI
This does not convert any tgui_list_inputs into being toggleable
Example pictures
Input on a hand labeler. This has a MAX_LENGTH set, so it can be invalidated. Cancel always returns null. Enter button submits, if valid.
text input
(OUTDATED) Multiline input on newscaster. Newer version fills the window with a section, like the others
multiline
Sheets from a stack
number input
Why It's Good For The Game
1
So I did...
Much sleeker input boxes
Result should be a in place swap for most occurrences of input
Renders casting as text/num/null obsolete but still doable
Input validation from both sides handled
Prefs toggle if you don't like the look
Changelog
cl
add: TGUI input boxes are on the way! You can find new preferences in the menu. They will be on by default.
/cl
* TGUI input box framework
Co-authored-by: Jeremiah <42397676+jlsnow301@users.noreply.github.com>
* Revert "[MIRROR] Ethereals no longer get the "he" pronoun accidentally [MDB IGNORE] (#9880)"
This reverts commit f42200feef.
* Properly reverts it, the Skyrat way
* Ethereals no longer get the "he" pronoun accidentally (#63221)
Character preferences now disregards the gender value if the species you're playing as is sexless
fixes#61491 (Ethereals being "He" instead of "They")
* Ethereals no longer get the "he" pronoun accidentally
Co-authored-by: tralezab <40974010+tralezab@users.noreply.github.com>
* makes the gradient color options not show if no gradient is selected (#63169)
* makes the gradient color options not show if no gradient is selected
Co-authored-by: Seris02 <49109742+Seris02@users.noreply.github.com>
* de-hardcodes moth antennae preference icons (#62888)
It just makes the preferences actually appear for downstreams who have unique moth preferences.
* de-hardcodes moth antennae preference icons
Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
* Replaces Batform with Vampire houses (#62516)
Permissions for species change
image
About The Pull Request
Goodbye batform
Hello, new preference called vampire status. Outcast vampires act just like normal, Inoculated vampires join their department under a unified "vampire house name" everyone shares.
image
image
image
Why It's Good For The Game
I've heard people complain about batform for years now, if vampires aren't gone by next halloween we can at least enjoy making them far less griefy (ruining a lot of the fun of halloween as just a dumb grief holiday) and more roleplay oriented. I don't even know why vampires got a griefy spell when they already have their main mechanic encourage randomly attacking people and stealing their blood to stay alive
Changelog
cl
del: Batform is gone!
add: ...Replaced by vampire houses as a preference. Join your department as a vampire ménage!
/cl
* Replaces Batform with Vampire houses
Co-authored-by: tralezab <40974010+tralezab@users.noreply.github.com>
* Hair gradient preference no longer shows for species that don't have hair (#62950)
* Hair gradient preference no longer shows for species that don't have hair
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
* Allows players to send more visible adminhelps when no admins are on, which'll definitely alert admins
* db portion sorted out
* now it really is
* should work about fine
* one last touch
* well, one more
* also botched comment
Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
Co-authored-by: Useroth <37159550+Useroth@users.noreply.github.com>
* Exempts non-deadminned admins from all the chat filters so they can break the server rules and get banned if they want to. (#62944)
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
* Exempts non-deadminned admins from all the chat filters so they can break the server rules and get banned if they want to.
Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
* Ringers work now
Added entry on the list
moved PDA colors and style to character prefs
Works as far as I can tell!
* Made requested changes
Description less overly specific and meta-referencey
Sanitized input
* Antag HUDs will now animate if you have multiple antagonists, and will no longer clear on deconversion (#62718)
About The Pull Request
This is for the admin combo HUD. Players shouldn't notice any difference (except at roundend).
2021-11-09T16-27-26.mp4
Removes the ability to set custom antag HUDs for custom admin teams for complexity, though if there's a large enough demand I can try to bring it back in another PR.
Fixes#59767
TM candidate only so that I can make sure antags aren't getting leaked to people who shouldn't see them.
Changelog
cl
fix: Antag HUDs will no longer clear on deconversion if the player was another antag.
qol: Antag HUDs (as seen by admins and at the round end) will now animate between all antagonists, rather than just choosing the most latest.
/cl
* Antag HUDs will now animate if you have multiple antagonists, and will no longer clear on deconversion
* Update sol_fed.dm
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
* Removes cryostasis pods from the game pending creation of a proper design document
* Axe body spray
* Update ai.dm
Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
Co-authored-by: Gandalf <jzo123@hotmail.com>
* Allows any character to use the body type setting regardless of gender
* Feex
* Another feex
* Avoiding savefile corruption
* Auto-dementor pref fix
* My brain is very big sometimes
Co-authored-by: Thunder12345 <Thunder12345@users.noreply.github.com>
* Allows any character to use the body type setting regardless of gender
* Feex
* Another feex
* Avoiding savefile corruption
* Shut up linters
Co-authored-by: Thunder12345 <Thunder12345@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
* The word filter will now be less scared of double or trailing spaces (#62703)
It kept on tripping because the RegEx expression was malformed due to an absence of words in to_join_on_whitespace_splits, which caused it to filter out spaces that were at the beginning or at the end of a message, or if there was two spaces one by the other.
Also prevents people from sending a message that's only spaces in OOC, because that's a little silly.
* The word filter will now be less scared of double or trailing spaces
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
* Adminwho and the status panel now shows when fellow admins are readied up in pre-game lobby (#62670)
* Adminwho and the status panel now shows when fellow admins are readied up in pre-game lobby
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
* Fixes numeric prefs not working with TGUI dropdowns that might return a string instead of a number (#62653)
* Fixes numeric prefs not working with TGUI dropdowns that might return a string instead of a number
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
* FUCKIN WOOO
* much better
* yesssssss
* yeetus deletus the merge conflictus dies
* fug that was an oops
* better
* linters are weird
* woops I erased tesh tails
* better
* wingfix
Co-authored-by: Gandalf <jzo123@hotmail.com>
* Adding a newline so it doesn't mess up with Manage Player Ranks for downstreams
* Makes Veteran-only Quirks work, makes them display something in the Quirks menu too.
* Fixing linters
* There it goes, still kinda crazy that it still worked, I was lucky.
* Nearsighted quirk lets you pick the look of the glasses you spawn with (#62145)
expansion: Nearsighter quirk now lets you pick the look of your prescription glasses from the character preference menu
imageadd: Added thin prescription glasses
* Nearsighted quirk lets you pick the look of the glasses you spawn with
Co-authored-by: Mickyan <38563876+Mickyan@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
* Moves hair gradients to the preferences menu (#62102)
* Hmm yes.
* let's not make everyone have rainbow hair
* Update basic.dm
* Undoes the dyekit removal!
* Update tgui/packages/tgui/interfaces/PreferencesMenu/preferences/features/species_features.tsx
* Update tgui/packages/tgui/interfaces/PreferencesMenu/preferences/features/species_features.tsx
* Update basic.dm
* Moves hair gradients to the preferences menu
Co-authored-by: Gandalf <jzo123@hotmail.com>