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.
* Revamp the player ignore system
* Move a variable definition out of a loop
* Replace a |= with +=
* Improve some code
* Fix some code
Co-authored-by: Local <none>
* tgdb
* tgdb
* Auto stash before cherry pick of "balance changes, enables burn surgery, various body improvements"
* moves unnecessary list out of client
* describes a var
* corrects
* im a player ok that means i play
* FINE
* you win this time, shaps
* makes floyd happy
* Update code/__DEFINES/misc.dm
* i was just playing cyberboss dont be mad at me
* changes one character in a comment
* Datumizes all uses of change_view
* Cleanup and helper procs
* tweaks values to match the format, hint hint, (value - 0.5) works just fine
* And there's the rest
* woop, braindamage
* and one more
* fuck you menu file
* woops
* we should apply that
* fixes tooltip drift, thank you goon coders
* you can shake but you can't zoom
About The Pull Request
Changes the pref for fitting viewport to automatic. This not being the default has always confused me, and should resolve some teething issues widescreen is having.
Changelog
cl
tweak: Auto fit viewport is now the default, and everyone's setting for this has been reset to the default. If you don't know what this means, it's safe to ignore.
/cl
* Fixes the 50% time dilation on every server by removing demos, an admin only tool that is the laggiest thing on the planet for incredibly little gain.
* appeases the linter
* first-version
* let's do those recommendations first
* color moment
* reorganization, prefs
* certified layer moment
* virtual speakers BEGONNE
* remove naughty bits, better sizing
* gimme the message mode
* rename that pesky pref and hide chat bubbles
* exponential decay moment
* async moment
* fixes
* fixes
* the players have decided they don't want to hear themselves on radio
* Fix bug with holograms incorrectly rendering messages
* rohesie's suggestion
* Color tweaks
* hallucinating now shows message properly
* pref moment
* updates
* rohesie's suggestions
* fix moment number 5
* less smelly more epic
* unfix the fixes and refix them
* a conscious change
* return of the prefs
About The Pull Request
1 config change and 1 preference change:
Adds a config option AUTO_DEADMIN_TIMEGATE that, when defined, only enforces config force-deadmins for all roles/sec/command/silicon/antag for the first X seconds in the round. After this time expires, the game will defer to the individual's deadmin settings.
Adds a preference for admins to ignore being summoned by cult ghosts, starts disabled by default. Nice for when you're sitting around observing a cultist and don't want to be bugged by them suddenly summoning you!
I'm not 100% with dealing with prefs and configs but stock settings preserve previous functionality and must be manually enabled to have effect. Please look it over and offer advice if changes are needed!
Why It's Good For The Game
I don't like the auto-deadmin config option being on in the first place since it's annoying to get deadmin'd when I'm testing antag stuff, but I spoke to @Twaticus who indicated they like having it for roundstart, but agreed it was annoying when trying to test stuff later in the round. This is a simple compromise that lets config-controllers still force people to deadmin at the starts of shifts where most of the proscribed roles are assigned, while not bothering other admins who make themselves a blob at the thunderdome an hour in to test something.
As for the cult ghosts, I hate suddenly getting summoned as a cult ghost while I'm adminning, but other people like being able to be summoned while currently admin'd, so pref time.
Changelog
🆑 Ryll/Shaps
config: Added AUTO_DEADMIN_TIMEGATE which allows config force deadmin settings to only apply for the first X seconds in a round. Starts disabled
admin: New preference to ignore being summoned as a cult ghost while admin'd, starts disabled
/🆑
* demos (ported from yogstation)
rustg update + write with no format
use external hook for logging
use proper log vars
fix + clarifying comment
don't start the log
release build of rust-g
fix something caught by the lint
Update code/__DEFINES/subsystems.dm
Co-Authored-By: Jordan Brown <Cyberboss@users.noreply.github.com>
Update code/controllers/subsystem/demo.dm
Co-Authored-By: JJRcop <jrubcop@gmail.com>
Update code/controllers/subsystem/demo.dm
Co-Authored-By: JJRcop <jrubcop@gmail.com>
moves hooks out of a dedicated file
len = 0 to Cut(), remove semicolons
untyped loop
* updated rust_g
* 513 updates
The asset cache will now store json on the player's computer with info on what browser assets they have, all non-active assets (anything but .js(m) and .htm(l)) are reused in further connections. Browser assets in byond persist for an individual dream seeker instance, and are destoryed when the window is closed (so this only helps reconnects and round restarts) The data is stored in the client's asset folder to ensure its current and retrieved using javascript and sent back to the server using ajax(XHR).
The md5 of the asset files are generated on the server and stored on the client. It is used to validate the asset hasn't changed from a code update, and is not re-checked client side.
To ensure this can't be used by a malicious byond server to override javascript assets before redirecting people to /tg/ (where the attacker's javascript would then be allowed to run verbs and spoof topics) we do not mark javascript as pre-loaded when loading the client's asset cache json file on connection.
Other Changes
I moved some things around, the asset cache file was getting thicc:
Put new asset cache datums into code/modules/asset_cache/asset_list_items.dm
Find the asset cache datum abstract definitions inside code/modules/asset_cache/asset_list.dm
I fixed a bug where blocking asset sends would not block later calls to send the same asset while the send was still underway - todo: have it bind to the first send rather then initating its own.
The small file sent to the client to verify it got all pending asset sends will no longer use random names. This should keep the client's asset folder from exploding with hundreds of random htm files, much to the joy of oranges.
Passively loading assets no longer batches.
Unified the two procs.
About The Pull Request
We didnt increase the sanitize range when we started using 24 bit bitfields, kept defaulting you if you happened to use any of the newer settings.
Why It's Good For The Game
Fixes#48978Fixes#49988
Changelog
cl Skoglol
fix: OOC preferences should now be saving properly again.
/cl
* how about yee(naw)
* Fixes an issue with order in preferences.dm and adds a null check in ticker.dm
* updates the savefile max ver and adds a condition for it in update_preferences
* Puts the call sound(round_end_sound) outside of the loop into a variable that we insert the reference into the loop.
* Makes raw HTML and browser datum popups UTF-8 aware
Admin menus specifically really shouldn't break just because you named some guy "☺s the Clown"
* Fixed new_player.dm
* Fucking filing cabinets
* 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
initial work
more work
more roulette work
more work
more
yet more
FINALLY
small fixes
use global colors for last spun box
no low memory mode
cleanup
nuke old roulette assets
kills remaining 2 usages
forgot this var