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
About The Pull Request
This PR adds deadchat notifications for law changes of AIs and unsynced borgs (listing the full new lawset), uses of AI/Cyborg Upload and the creation of new AIs.
Why It's Good For The Game
The AI is one of the most important players in the round, so it only makes sense that players watching in deadchat are kept up to date on its laws, especially hidden laws since they are never stated.
Changelog
cl
add: Silicon law changes are now reported in deadchat.
add: The creation of new AIs is now reported in deadchat.
/cl
About The Pull Request
Adds a new disarm intent suicide. Fixes the intent logic, it will now run different suicides for disarm and grab. Added some ghostize that I overlooked last time.
https://streamable.com/ifx25
Why It's Good For The Game
Fixes, silly new content
Changelog
cl Skoglol
fix: All human intent suicides now work properly
add: New disarm intent suicide
/cl
* Smooth movement
Squashed commit:
[870d550fff] updates a variable name to not shadow a parent variable
[65131a9a4b] redundant
[7c85f7b87e] override based pulling and pushing
[60a9760c4b] unnecessary when it's done via an override
[0a67dfb3cb] removes a redundant manual override
[7f25104fed] pushing
[2bfd9973eb] eh
[fca7155245] cast properly
[ad4b9ad8ab] compile fix
[c28fde4bfb] some wonkiness with pulling fixed
[0e028d30b3] buckling fix + finer rounding
[8f93df2bbe] dragging + buckling fixes
[1541e1ce78] small optimization
[bda72345dd] smoother movement
fix to dragging being fucky
vehicle fix
orbiter fix
eof newline
cleanup
comment cleanup
stupid hack
bunch of tweaks/hacks + 60 fps default oh god
potential fix for orbiter issues (in a shitty way)
early override for some cases
unset orbit
multiply instead of add offset
no
no more timescale scaling and higher multiplier
meant to include this in last commit
comment
* clamp to 6, 1.25 multiplier
* (poorly) fixed buckles not always propagating
* get rid of some debug prints whoops
* fixes an infinite loop
* syntax + update savefile instead of interpreting 0 different
* uuuh
Hey you, punk Are you hip with modular computers?
...What's that, you think there's nothing to do on that old tablet of yours? Whoah brochacho, don't dump that tablet in the trash, and check out the new gaming app that's sweeping the station!
Drops byond hub support and adds score and top 50 browsers.
Requires DB changes and manual creation of migration script if we want to keep old achievements so no random merges please.
* Improve tgui fatal error reporting
* Keyboard passthrough in tgui
* New Rapid Pipe Dispenser interface
* Update README with new components
* Release held keys when browser window loses focus
* Power Monitor Interface, NtOS theme and core components
* Yet another CSS rework
* Fix Table, Chart stubs for IE8
* NtOS Main interface
* Supermatter Monitor interface
* Tweak NT color, color + sort gas bars
About The Pull Request
Ports tgstation/TerraGov-Marine-Corps#2977, overrides click proc to return focus back to chat bar using winsets also ports tgstation/TerraGov-Marine-Corps#1904 which has two sets of defaults for hotkey and classic mode
fixes#47672fixes#47659
much credit to @Rohesie and the TGMC team for a bunch of these improvements
Why It's Good For The Game
lets the non-hotkey players walk and talk again
Changelog
cl
add: Custom keybinds will now check what style (classic / hotkey) you prefer when resetting if you use classic mode make sure to reset your keybinds to default!
add: multiple keybind support
tweak: non-hotkey mode keeps focus on chat
fix: pressing 4 as cyborg now properly cycles
fix: AI location hotkeys now work again
/cl
Agendered spessmen are no longer highlighted on the (?|F) more info
thing. Also deletes a useless list in preferences file I forgot to
remove a while ago.
* fixes modifier hotkeys and adds alternative move intent toggle
* Fixes pulling keybind
* make the wrappers look more like the old popup windows
* it was the freaking save file
* bump up save file version
* reset keybindings to default
* custom keybindings
* Update _lists.dm
* Update robot.dm
* modify weights and clean up some vars
* Update say.dm
* Apply suggestions from code review
Co-Authored-By: Emmett Gaines <ninjanomnom@gmail.com>
* some review changes
* formatting
* include focus hack, remove me_wrapper, give default keybinds to new characters, misc fixes
* revert hack and more reviews
* remove another focus hack
this was causing issues with the keydown proc returning early