* 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.
* 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
* 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
* 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.
* 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
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
Timers, signals, and components need to know when the thing they're
attached to is getting destroyed or bad things happen. Since any datum
can make use of these every destroy needs to call parent.
While we were looking at logs to try and figure out how someone has been crashing the servers, oranges pointed out to me that these lines aren't below the topic limiter or the logger. The main asset cache stuff should be above it so legit asset cache sends don't eat up the user's topic limit, but this line can be below it and doing so should protect the user from getting spammed with asset cache browser resets whenever that one bug happens. (I also looked at logs, and the bug this code works around does still seem to be a thing.)
cl
add: Added support for a widescreen toggle, actual widescreen will require a config change.
tweak: Auto-fit view is now the default. This will only apply to new players.
/cl
* 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
* disables the MMB exploit
* Adds a config option to set a minimum build, with the recommended minimum build for 512 users being 1421
* readds the post-block detection, and changes MMB -> Middle Mouse Button
* Makes it the standard, I guess
Co-Authored-By: nichlas0010 <nichlas00100@gmail.com>
* Update client_procs.dm
Instead of using expensive getFlatIcon() calls, character previews are now shown using appearance clones in a second map window.
Its creating a secondary map and adding mut_appearances as screen objs on that map.
There are 1 set of dummy objects per client, it also only creates them while the preview window is open and garbage collects them when it's closed.
Because it creates the MA from the main preview dummy mob, the dummy mob's appearance remains a seperate object and they don't affect each other
* Adds note_severity and updates dbconfig. New SQL stuff too.
* whoops please don't hack into my database >:^(
* UI change, changed how it's stored in the DB, removed some queries when it returns, changed stuff to key.
* Update sql_message_system.dm
* this was not defined
* random indent
* wait how did this get here
* okay enough web edits I promise
* just kidding I got u
* Update common.css
* Added buttons, changed UI again, standardized the inputs, added severity for appearance bans, fed the dog
* forgot about the banning panel
* added an asset cache
* corrects asset datum var name