* Moves cooldown setting after early return check (#55999)
Library console printers no longer become unavaible after failing to print something.
* Printer cooldown fix
Co-authored-by: interestingusernam3 <51925758+interestingusernam3@users.noreply.github.com>
* [Ready] CDN browser assets! (#52681)
Rewrites the asset_cache system to handle sending assets to a CDN via a webroot.
see https://github.com/MrStonedOne/tgstation/blob/asset-cdn/code/modules/asset_cache/readme.md
Fixed a lot of bugs with assets, removed some dead code.
Changes:
Moved asset cache code to transport datums, the currently loaded one is located at SSassets.transport, asset cache calls made before the config is loaded use the simple browse_rsc transport.
Added subsystem call for when the config loads or reloads.
Added a webroot CDN asset transport. assets are saved to a file in a format based on the file's hash (currently md5).
Assets that don't use get_asset_url or get_url_mappings (such as browser assets referred to by static html files like changelog.html or static css files) can be saved to browse_rsc even when in cdn asset mode by setting legacy to TRUE on the datum returned by register_assets
Added a system for saving assets on a cdn in a hash based namespace (folder), assets within the same namespace will always be able to refer to each other by relative names. (used to allow cdn'ing font awesome without having to make something that regenerates it's css files.).
The simple/namespaced asset cache datum helper will handle generating a namespace composed of the combined md5 of everything in the same datum, as well as registering them properly.
Moved external resource from a snowflake loaded file to a config entry, added it to resources.txt
To ensure the system breaks in local testing in any situation that wouldn't work in cdn mode, the simple transport will mutate the filenames of non-legacy and non-namespaced assets and return this with get_asset_url.
Simple transport's passive send of all roundstart assets to all clients is now a config that defaults to off. this is to break race conditions during local testings from devs accidentally relying on this instead of using send() properly.
cl
refactor: Interface assets (js/css/images) can now be managed using an external webserver instead of byond's one at a time file transfer queue.
admin: Adds admin verb toggle-cdn that allows admins to disable the external webserver asset transport and revert to the old system. Useful if the webserver backing this goes down (thanks cloudflare).
config: New config file, resources.txt, (must be loaded by an $include statement from the main config)
server: The external_rsc_urls.txt config has been moved to the main config system.
/cl
Porting notes:
Interface webpages must refer to their assets (css/js/image/etc) by a generated url, or the asset must register itself as a legacy asset. The system is designed to break in localtest (on simple/legacy mode) in most situations that would break in cdn mode.
Requires latest tgui.
The webserver must set the proper CORS headers for font files or font awesome (and other fonts) won't load.
/tg/'s webserver config: https://gist.github.com/MrStonedOne/523388b2f161af832292d98a8aad0eae
* [Ready] CDN browser assets!
Co-authored-by: Kyle Spier-Swenson <kyleshome@gmail.com>
* Case of lower
* More changes
* Ruins the nice 420 diff, brainfart when doing the second batch of conversions
* More changes
* Next batch. I think
* Converts even more paths
* Restarts bots
* Capital Free Zone
* Come on travis, do something
* Renames areas
* Bots, please stop dying
* Updates CONTRIBUTING.md and updates a few paths I missed.
* APC recgarftzfvas
/obj/item/computer_hardware/recharger/apc to /obj/item/computer_hardware/recharger/apc_recharger
cl
refactor: BSQL has been replaced with rust-g, improving SQL reliability and safety.
/cl
Queries were parameterized as much as possible. Careful code read by someone else also versed in SQL would be a good idea. Things seemed fine spot-testing roundstart, library, bans, and polls, but more stress-testing may be useful.
Also updates rust-g to v0.4.5:
Improved Linux .so detection
Perlin noise functions
Also updates Travis script to bionic.
* Renames a few variables. Also reorders fallback order again.
Renames item_state to inhand_icon_state
Renames mob_overlay_icon to worn_icon
Renames mob_overlay_state to worn_icon_state
worn_icon_state/mob_overlay_state now never gets used for inhands.
* Fixes some comments
* Fixes map issue
* Restart lints
* Properly resolves conflicts
Fixes#45284
Some simple pagination for the library visitor console to stop it from hanging the server by trying to retrieve too much data.
The UI hasn't been made any better, I just wanted to stop us needing #49065 to be testmerged indefinitely. I went into this thinking I'd improve the UI and code but that was before I had read any of it and lost my motivation.
Bonus points for this code having allowed unsanitized arbitrary queries for at least 10 years.
Living and machine stat vars are pretty different, one uses flags and other number-defines.
This should make some other mass-replacements and searches a bit easier.
* Unicode support Part 2 -- copytext()
This is the transition of all copytext() calls to be unicode aware and also some nearby calls in the same functions. Most things are just replacing copytext() with copytext_char() as a terrible character limiter but a few others were slightly more involved.
I replaced a ton of
````
var/something = sanitize(input())
something = copytext(something, 1, MAX_MESSAGE_LEN)
````
with a single stripped_input() call. stripped_input() already calls html_encode(), trim(), and some other sanitization so there shouldn't be any major issues there.
This is still VERY rough btw; DNA is a mess, the status displays are complete ass, there's a copytext() in code\datums\shuttles.dm that I'm not sure what to do with, and I didn't touch anything in the tools folder. I haven't tested this much at all yet, I only got it to compile earlier this morning. There's also likely to be weird bugs until I get around to fixing length(), findtext(), and the rest of the string procs.
* Makes the code functional
* Assume color hex strings are always # followed by ascii.
Properly encodes and decodes the stuff in mob_helpers.dm which fixes some issues there.
* Removes ninjaspeak since it's unused
* Nanotrasen fires the Wave Motion Gun at the Clock Cult
* Fixes a random changelog appearing from the reebe void.
* Fixes a wrong type reference regarding the bronze sheets in the Lavaland Ruin for it.
* Fixes redundant cells after CC removal in ruin by populating them with varied ore chunks, or destruction clutter.
* why is it /obj/item/stack/sheet/metal but not /obj/item/stack/sheet/iron
* Fixes the lavaland ratvar ruin to have fluff variant structures of deleted shit it referenced instead what I thought was reasonable.
* Reverts italics-span back to no color.
* Cleans up many extra spaces and indents.
* Adds 'hear' span class.
* Replaces all 'italics' used in heard messages with 'hear'.
About The Pull Request
Adds 'notice' span class to all visible_messages which had no span class, making all those black messages blue.
Why It's Good For The Game
This should help differentiate action-messages from talking-messages in the chat. More actions will be blue, thus black talking-messages should pop out more.
cl Naksu
code: reagent IDs have been removed in favor using reagent typepaths where applicable
fix: mechas, borg hyposprays etc no longer display internal reagent ids to the player
/cl
* converts to using key instead of ckey for user facing logs and ui
* more key_name for airlock wires
* futureproofing check for if key changes
* --onlyckeymatch script argument and fail/success counter
* fix
* Qdels all queries, adds sleep handling
* DB Core messages admins about undeleted queries
* Compile fixes. Adds missing set waitfor
* Remove world/New shennanigans. Add DBQuery/BlockingExecute()
* Less spammy notifications to admins about undeleted queries
* Increase dbcore fire time to 1 minute
* Upgrade undeleted query warning
* Better place of death
* Fix build
* Remove BlockingExecute, see BSQL PR for why
* Yep, missed that one.
* Psyche, that's the WRONG QUERY!!
* It works, but is it worth it?
* bitfield helpers take 1
* Would this work?
* remove dangling debug code
* rebase & fixes
* vv bitfield stuff, reading
* DNM oceans of shitcode DNM
* honk
* honk2
* plonk
* rebase & fix
* 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.
Also changes New -> Initialize in most of them.
renamed: `code/game/machinery/computer/computer.dm` -> `code/game/machinery/computer/_computer.dm`
renamed: `code/game/machinery/machinery.dm` -> `code/game/machinery/_machinery.dm`
Moved all circuitboards to a new folder at `code/game/objects/items/weapons/circuitboards`