* Adds toggleable darkmode to the game! (Use the toggle darkmode verb if you want to use light mode)
* Removes a random linechange
* Undo unintentional changes
* Changes some forced font tags to use spans, which won't break darkmode.
* Fixes up some problems I found while testing
Darkmode is no longer default (this caused some issues with people getting a broken chat)
* Darkmode sucks less now
* Darkmode button now works again
* Play Internet Sound respects start time
For example, adding &t=400 to youtube links.
Doesn't try to parse the start time, youtube-dl does that for us already. Will probably work on most sites not just youtube.
* [Play Internet Sound] now supports end time too
Switched event handler for start to loadeddata from canplay
loadeddata fires when the first frame is available
this is quicker and more consistent than canplay, which tries
to predict at least a few moments of playability being
available before it fires
* [Internet Sound] music_extra_data now starts null
* Moves TgsInitializationsComplete call to immediately after world/New()
* Subsystem PreInit data directory audit
* world/New data directory audit
* Needful here too
* Remove SS_NO_INIT from SStitle
* Don't create banlist.bdb for SQL banning
* Stop creating legacy notes file
* Moves iconCache from data to tmp
This is frequently called from inside a loop. Probably no measurable performance impact but I sleep easier knowing we don't do this. Also includes a helper define for getting a client from a clientful thing.
I also shuffled some things around for more nano-optimizations.
The total number of assets to be sent has been reduced from 1532 to 76, with time between first asset and last going from about 112s to about 7s (a 93% reduction) by my measure. The following assets have been coalesced:
705 pipe images (used by RPD) -> 1 spritesheet + css
595 research design icons (used by R&D console) -> 3 spritesheets + css
116 OOC emoji + 15 language icons -> 1 spritesheet + css
27 PDA icons -> 1 spritesheet + css
11 paperwork stamps -> 1 spritesheet + css
* Revert "Merge pull request #36340 from vuonojenmustaturska/beelogreen"
This reverts commit 259838f38c, reversing
changes made to 111cd316a9.
* Fixes stopsounds properly
Also I forgot to actually block admins from bad protocols
it just showed them a message that it was blocked but didn't
block it
* Play Internet Sound sanity checks
Now checks if the content URL uses http(s) before playing
* HTML is not HTTP: renames regex
* Converted global regexes to procs that return them
* Revert "Converted global regexes to procs that return them"
This reverts commit 2eedbd6982b0c4de943a72c94f92f9d75001c06e.
* Revert "all this wrapping and it's not even christmas (#33035)"
This reverts commit faaf151580.
* Revert "fuck me for forgetting to graph this one"
This reverts commit 45d7acea2f.
* Revert "defines math"
This reverts commit 2817a1737b.
* Adds Internet admin midi
* Moves global regex into proc (shell_url_scrub)
* Moves shelleo to world
Adds quotes around the command in shelleo, to encapsulate it
* Admins can stop playing web sounds
* Revised internet midi extension order
Moved m4a to least preferred,
as it can potentially carry non-aac or non-mpeg-3 audio
* Kills \n in web sound
* play_web_sound availability based on config
* play web sound and shelleo tweaks
istypeless for in play web sound & readability parenthesis around binary AND
add return index defines for shelleo proc
* Security fix for play web sound
Goonchat will use the asset cache, you now have to specify who to send the icons too.
Goonchat will now load icons in the background, displaying them once they load. this prevents the message from being delayed while the icons are sent.
Icons that aren't preloaded using the asset cache system will not render on ie8 clients. This is because of a ie8 bug that prevents changes on runtime created images from rendering.
* Makes bIcon scale to 16x16 like chat output did
There was lag and ddos issues because to_chat does certain find replace operations on the resulting string, so putting base64 encoded data of large images in these strings would be insanely and excessively costly.
This is basically banking on the assumption that md5 on a 480x480 image is less costly than 4 find/replaces and 2 html_encodes.
If this doesn't work or we need larger icon support for some reason, I'll just move bIcon over to the asset cache system.
* Temp fix for output control issue messing up goonchat
I'll need to do some more testing on this, but this should likely be a test mergeable fix. I might not be back at my home computer until sunday night/monday.
* Fix quote
* Adds verb to fix goonchat and log what was needed to fix it.
Makes shit robust, AND lets it know whats going on.
* Update ooc.dm
* Fix some stupidity in to_chat
* Simplify the winset
Disabling the controls seems to do nothing effective.
* y-you too, t-thanks
* Fix some short term memory issues in the code.
* Warns users to update byond if goonchat gets overridden by old chat