* Enables 514 testing on master, Removes all reliance on extools outside of maptick (#56724)
* Uses 514's map_cpu var when it's available
* Uses auxtools for the debugger, to supply cross verison compatibility
* Nukes extools reference tracking, reinstates the old ref tracking system
* Enables 514 testing on master, Removes all reliance on extools outside of maptick
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
* Adds an atmos debugging tool and excited group visualizer (#52395)
* Adds an atmos debugging tool and excited group visualizer
* rebuild moment
* yarn install -> yarn run build
* Sigh
* Fixed UI, did not test, needs a rebuild.
* Proper flexing
* Adds varied colors, improved ui courtusy of stylemistake:
* Fixes a runtime, updates tgui
* added superconductors, cleaned up some shitcode, removed a clashing color
* Woop
* Speed
* rebuild
* Adds a tick count
* begone auto-update
* color defines
* rebuild moment
* color improvements, fixes updating
* adds another preprocesser define to handle showing max shares in the ui
* test of application system?
* patches up some display issues, allows for smooth flowing from one group to another
* overlay-ified
* client testing
* dmi moment
* plane master
* it fucking works
* size change
* passthrough
* rebuild moment
* adresses review concerns, toggles active turf vis on when testing
Co-authored-by: Aleksej Komarov <stylemistake@gmail.com>
* Adds an atmos debugging tool and excited group visualizer
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: Aleksej Komarov <stylemistake@gmail.com>
About The Pull Request
Adds extools-powered reference tracking. Includes a couple procs that retrieve the back and forward references of a datum - Back references let you see what is referencing your object and potentially preventing it from garbage collecting, and forward ones show you what your object in turn references. Also made a cool GUI to inspect and follow these references.
The tracking adds some overhead to all variable sets and list operations. Init time is increased by ~15%. I haven't actually benched it so it might impact the actual game less.
Why It's Good For The Game
no lagging caused by hard dels scanning the entire planet (once coders fix them)
About The Pull Request
The num_to_hex pr #51005 updated the required version without updating the error message sweep sweep sweep
Why It's Good For The Game
This looks like a bug at first glance, let's fix that.
Changelog
🆑
fix: Dear out of date coders, you will now be yelled at to update to the correct version of byond, rather then an unsupported one.
/🆑
* Unicode support Part 1
Makes all calls to ascii2text() and text2ascii() unicode aware as well as all calls in code/__HELPERS/text.dm.
Adds defines for the footext_char() procs to maintain 512 support.
I did some cleanup on the text helpers since a lot of them were really, really bad.
reject_bad_text() and reject_bad_name() have an arg to reject non-ascii chars which defaults to TRUE.
* Give travis a more recent beta
* Ultimate compat
Added the _char procs I was missing
Test the build instead of the version because Lummox is a goddamn moron
* Suggested fixes, removes the last of the dd_ helpers
* Reading the reference is very important!
* Minor code improvements and a comment
* Typo
This was supposed to be 1 or 2 (2 preloads uploaded resources) in the repo and set to 0 in [`server_side_modifications.dm`](https://tgstation13.org/parsed-logs/basil/server_side_modifications.dm) but i messed that up when i switched it from a test merging pr to something mergable.
* Adds test run
* Add OVERRIDE_LOG_DIRECTORY_PARAMETER
* Fails travis if a test run fails
* Fix travis looping
* Move the unit tests behind a define
* Fix various test run things
* Remove the DEBUG check because that's just you shooting yourself in the foot
* Adds readability spacing. Makes RunUnitTests a generic proc
* Remove unit tests
Adds define to run the world in a reduced memory usage mode by skipping the creating of the space zlevels loading only centcom and runtime station. Mainly for lummox.
* wip
* wip2
* makes code actually compile on 511 + fixes
* versioning
* s
* adds python conversion script, schema change and removes 'force ' from item_used_for_combat
* fix to compile
* forgot to actually commit this
* Find references fix.
Made it go from taking years to hours
Removed Datum based recursion, this was unneeded.
Fixed it calling a proc for what ended up being a costly noop millions of times (this was a moderate speed up as it would call DoSearchVar on every fucking number or string or null in a things vars list.)
Fixed it calling itself on the vars list. luckily it only checked keys, so this didn't stack overflow.
I'm intentionally leaving the debugging stuff in right now so that its on the record somewhere. I'll remove that when I pr line by line profiling as its own separate thing
* Remove debugging stuff
* i forgot
* Wizard datum
* This can go in this one actually
* Old proc
* Delete equipment
* Academy wizard datum
* didn't notice the spawn before
* otufit
* Some special_role removal
Player Notes can now fade out over time so admins don't accidentally ban players for 4 year old notes
Deleted messages now remain in the database and are instead just hidden from view.
Two things relating to messages I've been meaning to do for ever.
* Ports Paradise Job exp system
* changed to use json_decode and json_encode as recommended by oranges
* updates changelog
* Reee cyberboss
* Changes to use a seperate table
* Updates database changelog
Changes to use mediumint
* Back to wip we go.
Changes sql stuff to how mso suggested
Attempts the changes requested in the other pr.
* work on stuff.
* work on stuff.
* Renamed proc for time remaining.
Fixed updating time amounts.
Added delay to fix firing at roundstart
* exp is now stored in a global list, and only updated to the db at round end.
* some stuff
* Added button to toggle exempt status on a player.
Still need to make it update the db
* REEE Jordie.
Undoes delaying exp updating to round end.
Adds the updating filtering to the update_exp_client proc which is used again
* Lowers a bunch of the times needed.
* Makes tracking per job instead of per department.
Department time is now calculated from job time.
* Whoops forgot to update master first. Lemme save this
Reverb should play cheeki breeki to people
* I think I did this right.
Too tired to test atm.
Busy rewatching twintails ni narimasu
* Removes var from proc arguments
Fixes database stuff
* Does some requested changes.
Makes special_role be tracked instead of bundled under special.
* Done, but need to refactor how it handles ghost roles.
* Less false data wew
* Changes
* Updates db version
More changes
* More changes
* More changes
* revision fix
* OOPS
* fix schemas
* Makes SQL error logging handled by Execute
Gang role tracking now strips out the gang name and is generic.
* Adds a database versioning schema table
All it does right now is warn admins when the version in the db gets behind
the defined version in the compile options file
This also moves the db connection warning messages to the
CheckSchemaVersion proc in world, out of the roundid proc
as it's the first db proc called in a world round
* Update database_changelog.txt
* Update tgstation_schema.sql
* Update tgstation_schema_prefixed.sql
* TGS3
* Fix line endings
* Enable 16-bit long topics
* Cleans up topic socket usage
* Reduces and refines the IRC status throttle
* Increase the CP status delay to a reasonable amount
* Fixes the testmerge command not having a keyword
* Clean up rebooting a bit
* Get error codes from windows when symlinking fails
* Clean up world announces
* Aborting compilation will kill the DD process
* Add support for changing the project name
* Removes the log page
* Add support for compile cancellation
* Version bumps and docs
* Add merge-pr repo CL command
* Fixes DM cancel command's help message
* Refactor command line to show better formatted help text
* Corrects a typo
* Multi-key game options must be manually edited
* Moving of the server installation from the control panel
* Fix a bug with server moving
* Corrects webclient disposal syntax
* Service now handles the PR Json the game uses properly
* PR listing command for CL
* Fixes reversed testmerge and update help entries
* Windows scheduling to help avoid reboot crashes
* Generalization of chat infastructure
* Brings a file name in line with everything else
* Shutdown exceptions no longer keep the service online
* Enable provider switching on the backend. More thread safety
* Support for switching, password encryption and defaults.
* Removes boilerplate on log writing
* Discord integration
* Update the installer dependencies
* Version bump
* Adds support for getting the latest byond version
* Fixes issue with not being able to set discord channels
* Fix being able to reconnect if chat is disabled
* Extra validation for interface types
* Add the Chat page for the control panel
* Various cleanup
* Set read ACL on the data directory
* Remove redundant namespace usage
* Fixes some buttons not updating the server page
* Future proof against upcoming removal of repo data directory
* Normalize Main declaration
* Update the IRC library
* Enables CTCP
* Removes useless hack
* Logging + enable IRC private messages
* Jobs config
* And finally the maps config
* Save the last config panel visited
* Not gonna use these
* Minor formatting cleanup
* Fixes the chat page not refereshing after clicking reconnect
* Fixes server page not initializing correctly
* Repo now defaults to tgstation github when not found
* Revert "Set read ACL on the data directory"
This reverts commit 15b0021ec51532bca14690a884caa81e811fbc46.
* Design the admin config page
* Prep format the repo's admin_ranks.txt
* Add a negative permissions field
* IRC now RFC quits before disconnecting
* Turns out that fixed the disconnect lag
* Updates the admin ranks config api to work for us
* Done with this config shit
* @optimumtact
* Fix this
* Fix the .wxs
* Try to get md5/sha1 working.
* Add FCIV to appveyor
* Generalize the command class
* Revert "Generalize the command class"
This reverts commit 5c61f6df58d66f0fea4170c8aee0cd5beaa99b5d.
* ITS THE FUCKING SEX NUMBER!!!!
* Final touches
* No THESE are the final touches
* Do not advertise
* Revert "Do not advertise"
This reverts commit f64281d486f9ca27e39f19635ab4deacb2d7e1ac.
* Hopefully the last version bump for long time
* Fix line endings
* Fix default dbconfig.txt
* Fix Discord not checking the right admin channel
* Fix discord listening on ALL channels instead of configured ones
* Package the discord fixes for @JamieH
* Format the testmerge data a little better
* Apply 7 character clamping of commit strings
* Fold admin hard reboot into regular reboot list
* Backward ahelp compatibility with the adminbus bot
* Removes an unecessary semicolon
* Fix stray merge conflict in the config
* Fix Newtonsoft being included by the commandline
* Improve byond update logging
* Chat cleanup
* Fixes some setup non-errors from being displayed
* Repository no longer counts being busy as being valid
* Repository no longer valid while cloning
* Fixes a nudge socket change issue
* Frontend cleanup
* Fixes CanStart race condition
* Fixes compile cancel delays
* Various fixes
* More fixes
* Better readme
* More readme
* Fix a config command description
* Add missing repo status command
* Never delete the backups
* Log the compiles
* More logging
* Stuff
* A thing happened, but I'm not sure what
* Tiny
* INB4 second squash
* Version bump
* Shallow clones should speed things up
* Regular clones
* This is how it's set on travis
* Fix this dupe
* Add backup tag support to backend and command line
* Add some missing repo commands, fix GetHead. Fix reset on branches
* Remove the interfaces for commit and push
* Remove that generate changelog checkbox
* Yeah, that's a misunderstanding
* Make changelog pushing a config, with no way to enable for now
* Add Reset and Recompile option
* Update readme
* Repo page cleanup
* Fixed NudgePort message possible repeating
Fixed Reset and Recompile option always being visible
* Fixed compilation copy not overwriting files
Fixed compiler trying to unecessarily delete the whole A/B folder
Improved game folder initialization speed
* Selectively stage the html folder
* Make the restriction a config
* Switch to using LibGit2Sharp+SSH
* WIP SSH support
* Removes some success chat messages
* Make repo authentication purely file based
* Quick IRC fix
* Should all work in theory...
* More fine grained
* Remove the username thing
* Use the right default email for tgstation-server
* Update the readme
* That's worthy of a version bump
* Speling
* Makes it do as the readme says
* Fix testmerge list not having a scrollbar
* Trying out commit message based deployment [TGSDeploy]
* Whoops
* Testing
* Better
* Version Bump [TGSDeploy]
* Need to set the var at parent scope [TGSDeploy]
* Use the commit message
* Try this [TGSDeploy]
* Try just this
* This maybe? [TGSDeploy]
* >like [TGSDeploy]
* Wildcard, bitches [TGSDeploy]
* Saner title [TGSDeploy]
* Readme update
* This should loin ya
* Fix it [TGSDeploy]
* Readme, cleanup, and doc updates
* Improve DD crash handling
* Version bump [TGSDeploy]
* TGS3 Config Changes
* Line endings
* Map config code change
* Missed a few
* Security and Visibility selectors for the Server page
* Fixes OCD
* Fax it
* Fixes
* Version bump [TGSDeploy]
* eh
* The word comment has lost it's meaning to me
* This is a terrible name but whatever
* Support config changes
* This is part of the code so it belongs with the code
* ExportService now has a return value
* Copying of the logs dir during compile for #27674
* Version bump [TGSDeploy]
* Removes some uneedful
* Moves daemon config to BYOND folder, much safer
* Fix a config comment translation miss
* Fix project settings issue
* Fix config apply button not showing up after repo clone
* Fix anchoring for Backup Tags: label
* Version Bump [TGSDeploy]
* Nudge port only listens while server is running
* Fix some instances of the control panel crashing when the service stops
* Add start menu shortcuts
* Remove the actual server
* Remove appveyor
* Fix gitignore
* And this
* Readd HTTPS_Get for now
* Readd legacy support
* Fix
* Fix this stuff
* Last thing
* Line endings
* Final touches
* Dat newline
* More stuff
* Where'd that go?
* Real final touches
* Ups the player and station name length limits
I think they could use a buff in length, as I've seen captains have pretty creative names get cut in half and the joke ruined, and the name limit is really fucking small like come on goddamn
* changes