This repository has been archived by the owner on Sep 12, 2021. It is now read-only.
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* You can no longer use communications consoles off a station/CentCom z-level. (#55524) Closes #55517 by making it so communications consoles don't work off of the station z-level. If you want to impact the game for nearly every player, it's now more likely you're impacted by it as well. Also prevents people from hiding in things like asteroids or drones from constantly recalling/calling. * tgui: Secrets Panel (#55698) Tgui-izes the secrets panel Removes one terrible shuttle button, but just know all of them are pretty shit There can only be one (40 second delay) was condensed into an option for there can only be one Before it was a blank HTML document. It has some kind of useful stuff, and also some shitpost-y stuff. Using some tab system really helps you pick out where the logging/issue fixing buttons are and where the silly garbage * Better saving of chat logs (#55898) ## About The Pull Request Makes it so that it'll only save the messages that are visible in the current tab. ie, the logs will respect the types of messages in the current tab. ## Why It's Good For The Game Because when you just want admin messages or combat logs, it's annoying to have to sort through literally everything else to get them. * Fix tgchat lightmode tooltips (#55905) Tooltips in lightmode when not mouseovered have invisible text * Update axios to 0.21.1 (#55968) * Change the "Who" verb to display a table rather than a list (#53839) Doesn't apply for active admins since those have longer lines that wouldn't fit well. * Remove tab before names in Who for deadmins (#53930) Previously, names were prefixed with tabs for deadmins. This makes the output look significantly worse. * Some of the unsorted chat types being sorted (#55947) The emote CSS class was no longer in use, it has been unitalicized and made into the actual emote class, back into local. A CSS class for info has been created which has no special CSS. The who verb has been put into info. (infoplain CSS class) PDA message receiving has been put into info (PDA message sending was already in info). (infoplain CSS class) Supply radio has been properly placed into radio. Service radio has been properly placed into radio. Binary talk has been placed into radio. A CSS class for minor announcements has been created. Minor announcements (shuttle purchases, head of staff office announcements, silicon announcements, etc) have been placed into radio (major announcements are already in radio). (minorannounce CSS class) * Properly sanitizes loaded messages in tgui chat (#56001) * properly sanitizes loaded messages in tgui chat, causes some hitching * Forbid tags Co-authored-by: Aleksej Komarov <[email protected]> * tgui: List Input (#56065) Ported over from https://gitlab.com/cmdevs/colonial-warfare/-/merge_requests/613 which provides an input box to select an option from a list. Has a search bar to allow filtering for results and an onKeyDown event to replicate default behaviour from the default list input boxes that BYOND provides (where you are able to type the first letter of an element in the list and it'll jump to the first element that matches and then the next and so on) Right now, it is only applied to the holopad and "Drop Bomb" verb for administrators. Credits to bobbahbrown for the Loader element from AlertModal.js which allows for a timed input (was needed on the CM codebase for timed inputs) and for the majority of the DM code. Co-authored-by: Watermelon914 <[email protected]> Co-authored-by: Aleksej Komarov <[email protected]> * Update precommit hooks to work in GitHub Desktop (#51404) Turns out GitHub Desktop actually does bundle a sh.exe, just not a bash. Also tries to look for the py launcher to help people who didn't check the "Add Python to PATH" option. * Use portable Python for map merge hooks, other tools (#55658) * Add tools/bootstrap/python * Add dependencies.sh entry for Python * Use bootstrapped Python for HitboxExpander * Use bootstrapped Python when installing hooks Also: - Adds tools/hooks/Uninstall.bat - Removes the need to re-run Install.bat when a .hook file changes Python path temporarily includes tools/mapmerge2 as before: - PYTHONPATH in tools/hooks/python.sh handles Linux/virtualenv - python36._pth handles Windows portable * Move DMI merge driver to its own directory * Use bootstrapped Python for makeChangelog.bat * Set window title in bootstrap PS scripts * Use slashes in hook paths * Use relative imports in mapmerge2 * Use bootstrapped Python for mapmerge * Update mapmerge2 readme * Skip non-3way conflicts * Fix relative path issue in posthoc merger * Add missing call and %* to .bat files * When installing hooks, don't uninstall them all first * Make dependencies.sh POSIX * Move update_paths.py to its own folder * Use line buffering for Python stdout/stderr It was switching to fully-buffered mode due to being piped, meaning we wouldn't see output until the script ended. This is undesirable. * Use new path to dmi.test in CI suite * Validate system Python version in bootstrap script * Add install advice to bootstrap script * Update path to requirements.txt in CI * Add upgrader for existing installations * Add .dmm merge driver (#55699) This is kind of a prototype. It only fully handles a few situations, and doesn't produce particularly easy-to-read conflict markers when it fails. I hope that it can be useful at least some of the time, can be improved over time, and that the lessons learned can influence a future interactive GUI conflict resolver (integrated into StrongDMM?). In the worst case, one can fall back to the tried and true "manually re-do one side's changes" strategy. **Automatic use**: In `tools/hooks/`, run `Install.bat` **Manual use**, for Git GUIs that don't run merge drivers: while a merge is in progress, in `tools/mapmerge2/`, double-click `Resolve Map Conflicts.bat` This PR also removes the error-prone "Prepare Maps.bat" / "mapmerge.bat" workflow. Those who aren't using the hooks should instead use `Run Before Committing.bat` before committing. First-time contributors who opened a PR without map merging can be advised to run `I Forgot To Map Merge.bat`. * Add .tgs4.yml (#55993) This is a simple reference to be used by TGS4 clients (not the server, fuck everything about TGS3.json) to help automatically setup new instances. No official spec but the basic schema I have in mind is: static_files: Array of directory names to create in the StaticFiles directory. If populate is set, they should be copied from the repository (can also be used to select files). linux_scripts/windows_scripts: Map of names of EventScripts to paths to copy from the repository for Linux or Windows respectively. dme: Path to .dme to build for downstreams that have multiple. * Rage hack for starting an auto updating /tg/ tgs4 docker instance with the db preconfigured (#51108) * Rage code * Hrrm * Fix windows newlines * Utter insanity * This won't work as a post compile step * Why didn't I do this before? * Shouldn't be necessary * This could be it * Just move it here * Fixes * Readme updates * Readme * REAAAAD * Use envars * More env vars * typo * Fixes * REAAAD * Fix script * The missing link * Remove BSQL from LinuxOneShot TGS setup script (#51530) * Better script for docker (#54501) The linux one shot script is not a drop-in for the docker script. Let's separate the two. * Common Build Tooling (#55373) Add Common Build Tooling On Windows, the build scripts will automatically install Node. Other platforms should use their package manager or download it from https://nodejs.org/en/download/ Pick one: - VSCode: `Ctrl+Shift+B` - VSCode: `F5` (build & run with debugger) or `Ctrl+F5` (build & run without debugger) - Windows: double-click root `Build.bat` (pause to see output) or `tools/build/build.bat` (no pause) - Git Bash and non-Windows: `tools/build/build` - TGS scripts will automatically install the version of Node specified in `dependencies.sh` - Either use this build script, or compile tgui by running any script in `tgui/bin` folder. Both dm and tgui are now built with a single script. It's pretty easy to launch: just press `Ctrl+Shift+B` in VSCode, and tada! 🎉 **It's smart.** It will skip certain steps if source files were untouched for that step. So, if you're only touching dm code, it will only rebuild dm code, and will skip tgui. **Syntax is fairly readable and maintainable.** ```js const { Task, runTasks, exec } = require('./cbt'); const taskTgui = new Task('tgui') .depends('tgui/yarn.lock') .depends('tgui/packages/**/*.js') .provides('tgui/public/*.bundle.*') .provides('tgui/public/*.chunk.*') .build(async () => { await exec('tgui/bin/tgui'); }); runTasks([taskTgui]); ``` **This is a long term solution to the js bundle hell.** Now that we have a single script to build everything, bundles have been excluded from the repo, and they will no longer cause conflicts in PRs. This results in quicker PR turnaround time and less time wasted on rebuilding tgui for PRs. **CI pipelines have been updated.** They're not coded in the most optimal way, just making them green for now. - Support compiling with DM defines by passing them as an argument, like `-D LOWMEMORYMODE`. - Instead of explicitly listing the task sequence in `runTasks()`, support specifying tasks in `.depends()`, which in turn will allow building a graph of dependencies and running things in parallel. Co-authored-by: Tad Hardesty <[email protected]> - Add root Build.bat - Add trio of tools/bootstrap/ scripts for Node - Add tools/build/README.md - Ensure build script and VSC configuration works properly on Linux - Update TGS4 PreCompile scripts Co-authored-by: Jordan Brown <[email protected]> - Keep PreCompile scripts compatible with TGS3 as well - Update LinuxOneShot PreCompile scripts - Update TGS4 configuration * Update Dockerfile for CBT (#56175) Follow-up to fix the failing Docker CI on master. - Reorganize the entire Dockerfile to be more readable - Inline the tgstation/byond Dockerfile into our own, so we can change the base distro at will - Also allows us to trash the dependencies.sh<->Dockerfile hack - Use 32-bit libs on a 64-bit distro so that we can download and run recent 64-bit Node binaries - Call tools/build/build rather than DreamMaker directly * Added autofocus for the first button in the TGUI list input. (#56114) Ported over from https://gitlab.com/cmdevs/colonial-warfare/-/merge_requests/647 When you open the TGUI list input, it'll auto-focus the first element so that you can easily navigate with the arrow keys without having to click on the page beforehand. Small QoL when opening the thing, don't have to click on it if you want to navigate via arrows keys, etc. * Fixes comms console runtime that stops you paying off pirates (and reply to any other messages) (#56135) This is because JS-side it does a string concat instead of integer addition at messageIndex + 1, as messageIndex is a string and nothing in JS is typed because it is an evil programming language that is a cross between Hitler and Skeletor, with piss of pure liquid malevolence. We appropriately parse the messageIndex to an int radix 10 before adding 1, and everything just works. Also removes two text2num conversions following a recent tgui change that made this no longer necessary. * tgui 4.3 (tgstation/#56080) Co-authored-by: Aleksej Komarov <[email protected]> * Optimize mapmerge's DMM.generate_new_key method (#56068) Tested on #55867, takes the merge driver's runtime from 148.1s to 4.8s * updates dependencies.sh * minor fixes * OUTTA DIS HOUSE Co-authored-by: Jared-Fogle <[email protected]> Co-authored-by: tralezab <[email protected]> Co-authored-by: Seris02 <[email protected]> Co-authored-by: spookydonut <[email protected]> Co-authored-by: Jordan Brown <[email protected]> Co-authored-by: LemonInTheDark <[email protected]> Co-authored-by: Aleksej Komarov <[email protected]> Co-authored-by: Watermelon914 <[email protected]> Co-authored-by: Watermelon914 <[email protected]> Co-authored-by: Tad Hardesty <[email protected]> Co-authored-by: Timberpoes <[email protected]>
- Loading branch information