* TGUI upgrade project: Port initial TGUI 4.0 changes from TG (#23440)
* tgui4.0
* bugfix for un-interaction
* fix for input not resetting on close
* NTOS restore
* fix all interfaces having scrollbars, fix colours
* bundle update
* dep bumps
* bumps the deps as much as possible
* button regression fix
* TGUI test map rev 1
* fix theme and some component regression
* fix login screen regression
* fixes regression with uplink cart
* bundle
* fix regressions
* fix the input issue, again
* regression fixes, stylesheet edition, hash restore
* fixes GPS BSOD
* draggable control regression
* dev server dep regression
* byondUI regression fix
* section regression fix
* fix secure storage weirdness
* Fixed mining vendor scrolling
* Arthri review pass 1
* mining vendor double-scroll
* fix for RPD, AirAlarm, and Radio
* arthri review pass 2
* arthri review pass 3
* sanitize var setting, fix colours, delete unused file
* adds CI to branch
* god damn AI making random changes
* I should remember to compile when changes are made
* fixes scrollbar issues
* fix camera console, fix flexGrow for sections
* CI fix
* nanomap fix
* Update code/modules/atmospherics/machinery/airalarm.dm
* restore margin
* style semicolon
* TGUIv4 - Moves TGUI Window Sizing from DM to JS (#23524)
* Initial commit
* Transferring the remaining windows to JS
* Resizing part 1
* Resizing part 2
* Some reverts and polish
* Forgot that
* undeployed nuke window size
---------
Co-authored-by: Aylong <alexanderkitsa@gmail.com>
* TGUIv4: Remove force_open (#23537)
* First state fixes
* Removes "force_open"
* TGUIv4 - TGUI Version 4.1 (#23547)
* Reduced Logging Changes
* setSharedState early return for non-interactive UI
* TGUI version bump to 4.1
* Fix sending updates for non-interactive UIs
* Scalablue UI Stylesheet Changes
* CSS Tgui Bundle
* JavaScript TGUI Style Changes
* Update tgui/packages/tgui/styles/base.scss
Co-authored-by: Aylong <69762909+Aylong220@users.noreply.github.com>
* Additional changes to Input and Button scalability
* TGUI logging proc update
* Indentation fix for logging proc
* Update code/__HELPERS/_logging.dm
Co-authored-by: S34N <12197162+S34NW@users.noreply.github.com>
* Additional log_tgui changes
---------
Co-authored-by: Aylong <69762909+Aylong220@users.noreply.github.com>
Co-authored-by: S34N <12197162+S34NW@users.noreply.github.com>
* dev server hotfix (#23584)
* ui_interact object constructor argument check (#23594)
* feat: add smart asset cache, add CDN support for assets, properly group assets (#23585)
* feat: add smart asset cache, add CDN support for assets, properly group assets
* fix: make tgui actually work
* fix: keeping local name for `tgui.bundle.js` and `tgui.bundle.css` for debug and dev server functioning
* fix: make `fontawesome` assets finally work
* fix: make proper identation for `if`
* fix: add `resolveAsset` to `NanoMap.js`
* refactor: update `claw_game` and `chess` to new asset framework
* refactor/tweak: don't use string concatenation for browser `content` and `head_content`, use list instead. Don't use `common.css` for paper UI, keep local name for stamp image assets, replace hard ref of browser to `atom` (rare case) to `UID`
* refactor: remove redundant debug logs
* refactor: remove space betwee `if` and `(`
* refactor: remove one more redundant log, properly reload UI resources
* rafactor: change names of asset files
* fix: adjust existing UIs to properly use assets
* fix: properly pass args to to `onclose` proc
* Update code/modules/asset_cache/transports/asset_transport.dm
Co-authored-by: S34N <12197162+S34NW@users.noreply.github.com>
* Update code/modules/asset_cache/transports/asset_transport.dm
Co-authored-by: S34N <12197162+S34NW@users.noreply.github.com>
---------
Co-authored-by: S34N <12197162+S34NW@users.noreply.github.com>
* TGUI 4.2: TGchat + Refactor Asset Delivery + Yarn Berry (#23643)
* tgchat
* Little cleanup
* Refactor Asset Delivery (Part 2)
* Little tweaks
* fix code styling issues
* fix file name duplications
* Browser window options fix @gaxeer
* transfer valve fixes
* yarn berry initial
* vsc tasks
* yarn berry working
* node 20
* fix dev server (lol wrong yarn)
* bloody regressions
* fixes that damn scrolltracking bug
* Some tweaks and flexGrow deletions
It still doesn't work as it should, which makes me nervous
* remove unneeded deps
* 514 regression fix
* change stuff to not conflict with other servers
* name it as requested
---------
Co-authored-by: S34N <12197162+S34NW@users.noreply.github.com>
* revert test_TGUI map addition
* TGUI 4.3: Stack, Webpack 5 & UI Tweaks, Yarn 3.6.4, TS support, Jest (#23677)
* Stack & UI's Refactor
Almost final, polish required
Stack & UI's Refactor (Part 1)
Stack & UI's Refactor (Part 2)
Stack & UI's Refactor (Part 3)
* Prettier
Maybe bad
* ClearChat & some tweaks
* Adds a Chat Reliability Layer https://github.com/tgstation/tgstation/pull/79479
* Fix chat BSOD
https://github.com/tgstation/tgstation/pull/79821
* WebPack 5 (Didn't work)
I hate this shit
* Yarn 3.6.4
* make it all work
* revert snowflake fix
* Stories
* adds TS support
* re-enable test and prettier
* update yarn sdk's
* Fix some box regression
* ping/reply
* Fixes regressions and some things
* Zebra and Fix chat button transfer
+rebuild
* make VSC use the proper local typescript lib
* Popper Tooltips https://github.com/tgstation/tgstation/pull/58980
* Popper Tooltips performancy fixes
* Dropdown v2 https://github.com/tgstation/tgstation/pull/75164
Without Icon.tsx
* BB test map
* run build
---------
Co-authored-by: S34N <12197162+S34NW@users.noreply.github.com>
* we moved these
* change test values
* ignore scss files
* change hash function
* TGUIv4: TGchat fix traitor codeword highlighting (#23720)
* Codeword highlighting for TGUIv4
* null safeties
* Apply suggestions from code review
Co-authored-by: DGamerL <108773801+DGamerL@users.noreply.github.com>
---------
Co-authored-by: DGamerL <108773801+DGamerL@users.noreply.github.com>
* TGUIv4 - updates standalone build tooling (#23721)
* swap `xxhash64` for `md4`
* remove hash function
* remove old file
* TGUI 4.3+4.4: Newscaster fix, `inline-block` replacements and other fixes (#23722)
* TGUI 4.3 fixes
Newscaster fix + inline-blocks
* Be gone Box
* Mod Chat -> Mentor Chat
* Some warning filters
* Rebuild
* Delete tgui-common.bundle.js
* please work
* try it like this
* 4.3.1
* 4.3.2
* fix
* i forgot to build
* 4.4.0
* give me more diff details please so I can fix you
* its not binary pls git
* test without svgs
* removes an un-needed SVG file
* inlined SVGs test
* fix code styling
* comment these
---------
Co-authored-by: S34N <12197162+S34NW@users.noreply.github.com>
* TGUIv4 - Removes resizable and improves drag code (#23719)
* Initial commit
* bundle rebuild
* Fixes Radio Sizing
* Updates Radio sizing to fix wrapping issues
* fix dev server
---------
Co-authored-by: S34N <12197162+S34NW@users.noreply.github.com>
* fix hotkeys not being passed to BYOND
* Apply suggestions from code review
* bump deps
* forgot these deps
* ci fix
* ChemDispenser fixes and HoloControl cooldown
* Station Traits TGUI
+Rebuild
* CI
* fix CI for real this time
* I have no idea
* fix station trait panel
* Update code/controllers/subsystem/SSping.dm
Co-authored-by: DGamerL <108773801+DGamerL@users.noreply.github.com>
* Update code/controllers/subsystem/SSticker.dm
Co-authored-by: DGamerL <108773801+DGamerL@users.noreply.github.com>
* Update code/controllers/subsystem/SSping.dm
Co-authored-by: DGamerL <108773801+DGamerL@users.noreply.github.com>
* deterministic module IDs
* TGUI fixes. Again... (#23762)
* TGUI Fixes: Part 1
ORM icon for reinforced glass now showing correctly
Mining vendor moved to Stack
Exofab UI buttons descended from the heavens to the earth
* TGUI Fixes: Part 2
DestTagger now works, forgot import LabeledList
PowerMonitor graph displays correct
Request Console updated to 2.0, BUT, problem with message priority, it was there before the changes, maybe even before the project, I'll have to check it out
* TGUI Fixes: Part 2
Fixed `onEnter` input
Fixed Cloning Console storage (Im dumbass)
Some windows resizing
Fixed bad picture in security and medical records console
Fixed scrollable dropdown
Added translucent color for buttons
* Fucking uplink DONE, and Button.Input fix
* NT Recruiter and Uplink polish
* Del LabeledList from dest. tagger
* ChemMaster and OreRedemption log deletion
* Update test_tiny.dmm
* Translucent button story
* Filter for SQL error
* del: `log_debug` in `hear_say.dm`
* Some little fixes and SpecMenu Stack
* Panel.js: mx -> mr
* fix ghost spawners
* null check
---------
Co-authored-by: S34N <12197162+S34NW@users.noreply.github.com>
* fix material name in protolathe
* fix various UI interacts
* card machine runtime fix
* remove legacy folders
* TGUIv4 - TGchat Theme Adjustments (#23772)
* Initial commit
* Changes rule grouping
* Robot class style changes and webpack config
* Reverts webpack/font changes and subs robot font
* revert a state changed in error
* fix uninteractable UIs due to chunky fingers
* TGUIv4: More fixes, tweaks and fixes for tweaks (#23781)
* I fuckin hate PDA
* Vending
* Add `|` to highlight splitters and some light mode tweaks
* Teleporter rewrite
* APC and AiAirlock (God forgive me)
* clarify highlight syntax
---------
Co-authored-by: S34N <12197162+S34NW@users.noreply.github.com>
* TGUIv4 - Abductor Experiment Machine TGUI (#23776)
* Experiment Console TGUI
* Update for TGUIv4
* UI Size adjustment
* ui state and ghost attack update
* remove this
---------
Co-authored-by: S34N <12197162+S34NW@users.noreply.github.com>
* fix
* TGUIv4 - Adjustments, Fixes, and Tweaks (#23785)
* Photocopier layout adjustments
* Autolathe Text and Button spacing adjustment
* Hotkey fix for moving bug
* Removes rule sets for visited links
* Fixes ordering multiples on cargo console
* fix possible wonky json payloads
* fix admin log input list stuff
* TGUIv4: Reconnect fix and some other fixes + tweaks (#23790)
* Fix reconnecting and transfer it to TSX
* RPD polish
* RCD, AccessList, GuestPass
* Focus reset fix when camera switched. God forgive me again...
* Purple box and identation fixes
For votes and health scanner
* ChemMaster and ChemDispenser
ChemMaster - translucent pills buttons and no grow produce section
ChemDuspenser - dynamic height
* ShuttleManipulator Tabs
* RCD buttons
* make input bar mode more prominent
* fix chem master icons
* tab fix
* Properly sanitizes loaded messages in tgui chat
* TGUIv4 - Adjustments, Fixes, and Tweaks v2 (#23795)
* Fixes icon spacing for nanobank tabs
* Tweaks Dropdown styling
* Fixes sending stuff to old chat
* OpenDream TGUI fix
* Resizes Station Traits window
* Adjusts health analyzer messages for chat tabs
* Revert "Properly sanitizes loaded messages in tgui chat"
This reverts commit 4c32a7094a.
* Revert "Revert "Properly sanitizes loaded messages in tgui chat""
This reverts commit 24afa55922.
* Changes how tgui handles static data
* Reenable no-undef rule. Enable Format On Save for VSCode (#23803)
* Enable Format On Save for VSCode
* Re-enable and fix no-undef
---------
Co-authored-by: Arthri <41360489+a@users.noreply.github.com>
* pda scanner message improvements
* fix mentor/admin PMs being sent to the "unsorted" category
* fix garbled custom vote messages
* moves cyborg analyser to use chatboxes
* fixes regression
* Prevent F5 reload
* TGUIv4: Themes polish and some new ones + misc fixes (#23814)
* Little themes tweaks
* NTOS chat theme
* Update tgui-panel.bundle.js
* Capitalize themes
* Paradise theme v1.0
* Little StationTraitsPanel cleanup
* Update member_content.dmi
* NoCapitalize
* Rebuild
* Delete Paradise.scss
* Create paradise.scss
* Forgot
* Rewritten Security Records Console
For Jesus fucking christ...
* Vending and Wires sizes tweaks
* ThermoMachine
* Syndicate Theme
* Little darker
* Rewritten Medical Records Console
* PDA Nanobank fix
* Syndicate Theme Darker
* Rebuild TGUI
* Wires section grow fix
* fixes the enshittified paradise icon
* Sirryan+Warrior reviews
* bloody define comments
* comment correction
* unprivate these
* errant . begone (how did this not cause a compiler error)
* TGUIv4 - Adjustments, Fixes, and Tweaks v3 (#23807)
* Fixes ERT Manager silenced message function
* Adjusts progress bar on ExosuitFabricator
* Sets Dropdown selected to align left
* Removes the use of self_state select interfaces
* Exosuit Fabricator style adjustments
* fix sextractor UI
* remove empty tochat string
* fix human air alarm interactions
* fix modals
* add F12/IEChooser
---------
Co-authored-by: S34N <12197162+S34NW@users.noreply.github.com>
---------
Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com>
Co-authored-by: Aylong <alexanderkitsa@gmail.com>
Co-authored-by: Aylong <69762909+Aylong220@users.noreply.github.com>
Co-authored-by: Gaxeer <44334376+Gaxeer@users.noreply.github.com>
Co-authored-by: DGamerL <108773801+DGamerL@users.noreply.github.com>
Co-authored-by: Arthri <41360489+Arthri@users.noreply.github.com>
Co-authored-by: Arthri <41360489+a@users.noreply.github.com>
Ported from TG: Object armors are no longer defined in (unique) lists but rather datums that can be cached depending on their armor values.
Add LAZYSET define to lazily initialize a list then assigning a key to a value
Add alldirs2 global which is the same as alldirs except diagonals go first
Optimize mob memory by making alerts list lazy
Optimize obj/machinery memory by making use_log and settagwhitelist lists lazy
Optimize atom memory by not creating hud_list list for all atoms
Optimize turf memory by not creating footstep_sounds list for all turfs
Clean up code where possible
Fixes more compile errors. Down to 65 now.
updates << into to_chat
Down to 60 errors, also starts to port the codex gigas and law 666 for cyborg devils.
Fixes more compile errors. Down to 41 now.
Replaces timers with spawns, and <<s with to_chats
40 compile errors.
Down to 34 compile errors.
whoops, actually down to 34 now.
Down to 25 compile errors.
Down to 15 compile errors, I'llprobably need some help at this point.
Woo! Down to 7 compile errors.
Ported over devil hud. Number of errors up to 19.
WOO! It compiles. It's completely untested, but it compiles.
Adds devils to traitor panel
Implements iron, silver and salt banes.
implements flashing lights bane
Selling your soul prevents cloning, and some other methods of revival.
Implements harvest bane
Merged and sorted icons/obj/bureaucracy.dmi
Adds toy codex gigas
Fixes compile errors, adds codex gigas sprite.
Lots of bug fixes. Contracts work, devil revival is more consistant, etc
Adds missing icons for flaming contracts, summon pitchfork, summon wealth, employment cabinet, and sintouch.
Converts DEEP LORE explanations from hell to inferno incorporated.
Banishes the compile errors.
Devils come from hell again.
replaces offer drink obligation with a much more lore appropriate devil's fiddle reference
Also fixes contract bashing brain damage chance.
Undoes some changes I accidentally did to example config files.
Fixes up a few remaining bugs.
Puts in the codex gigas and employment contract cabinets.
-- Lemon - I kinda skipped this one, I'll patch it back in later because
map conflicts are suffering incarnate
Solves the devil law problem in a REALLY hacky snowflake way.
Fixes a few methods in which a hellbound can be revived.
Devils respawn with a limited number of appropriate items, instead of COMPLETELY naked upon corpse destruction. Also adds lines to example config.
Updates devil laws to be less hacky.
Objective to sintouch x mortals now greentexts correctly.
Contracts no longer cause brain damage. I didn't realize it was lethal on this codebase. Oops.
Splits dust(visual_only) into dust() and dust_animation() procs
Fixes some defines.
Adds undef statements to improve compile times.
Fixes race changes from demonic form changes.
Fixes small runtime error. (Which somehow didn't break anything?)
Implements lots of small changes/corrections suggested by CrazyLemon64
I still need to test these changes, along with other potential issues he brought up.
Fixes harvest bane and power contracts. Also adds a few </span> tag enders.
Corrects some edge cases with revival contracts.
Fixes compile error.
Reverts unneccecary change to item/weapon/reagent_containers
Cleans up the code for readability.
Prevents cloning of hellbound individuals.
Latejoins now properly have employment contracts added to employment cabinets (provided they still exist)
Infernal contracts are no longer rendered unreadable by fire and alcohol.
All fireproof paper remains readable after being fireballed, not just infernal contracts. (Though infernal contracts are the only fireproof paper atm)
Fixes an edge case problem with cloning.
Adds is_revivable proc to mind.
Removes snowflake code involving preventing soulseller resurrection.
Indulges in the sin of sloth, and copies tg's lazy list macros
Proc calls that transform the user no longer go to a null target
Fixes devil UI, human regression will keep appearance, and adds danceoff
Devil's base forms no longer suffocate inside the devil
Fixes runtimes, gets stuff working
The arch devil can now blast down walls with their pitchfork
EXTERMINATE ALL SPIRITS
Activates devil clause in voice of god
Fawks Mcclood
Feature P A R I T Y
Fixes devil bugs from testing
- Does a death refactor to make sure that diabolical resurrection works
- Walls no longer leave girders when blasted by the devil
- Getting a new body gives you a rudimentary amount of equipment to work
with to get out of maintenance or whereever
Does all the icons in a single commit on their own because icon
conflicts suck
Starting point of extra devil rebalance/fixes
Ports devil friends
Also oops tramples all over Fethas' corpse PR that's still up I need
to take care of that one
Styling fixes
This commit ports tgstation/tgstation#39991 and parts of
tgstation/tgstation#40350.
Primary changes:
- A radial menu system has been introduced, which can contain any
arbitrary sprite and be applied to any arbitrary object.
- RCDs take advantage of this radial menu system; Using them in-hand
will no longer directly bring up the UI, but instead, will bring up a
radial menu that can directly change between modes (as well as access
the old UI)
This is a merged port from /tg/station and Virgo on logging standards.
The diary has been replaced with GLOB.world_game_log, diaryofmeanpeople
is gone (because it wasn't actually used) and a whole bunch of logging
procs have been changed to optimize Splunk.
This commit ports the StonedMC from /tg/station, intended to replace the
Process Scheduler from goon. Currently, they exist simultaneously, as
it's very difficult to port our 22 processes to the SMC all at once.
Instead, we can make them work together until everything is converted
over at a later point, and then take the old PS out back and put a
couple of rounds into it's deformed skull.
Primary benefits of this new process controller include: Other people
that can actually maintain it, unlike the PS, pre-world-init
initialization for subsystems, ease of ports from /tg/station13, and
potential performance improvement (to be seen).
Ports /tg/'s VV refactor. Most of this is just cleaning up and making it
easier on the coders, but everyone else benefits too:
- Mass mod no longer freezes the server (CHECK_TICK <3)
- Attempting to change any of the step_* values or anything that will
otherwise disable pixel movement will now prompt you and ask if you are
sure you want to continue
- You can actually enter |text| again in a box, rather than being
forced to always use the multi-line input
- Cookies! VV saves your search and scroll position for a given UID,
rather convenient for debugging
- The refresh button on /clients works finally
- You can view lists in detail by clicking on them like any other
reference, and edit them directly that way. This also means there is no
hard limit on how many variables you can see in a list before it's
truncated- it will just be hidden until you view the list in VV
directly.
- You can shuffle lists and clear duplicate/null entries.
- Mildly reordered the stuff in the dropdown, inconvenient but
necessary.
Includes a refactor for gun turrets (merged into portable turrets), hostile simple_animal behaviour, spells (sounds have been added) and poi_list items.
Fixes an incorrect language datum path that was the true culprit for the
"an unknown language" option.
- Fixing this path also has fixed IPC random names being random strings
of 0's, 1's, and the occasional 2.
Re-consolidated the vars for the /datum/language define to be in a
single code block
Adds a new proc for clients that lists all language names, their path,
and whether they are restricted.
- Can only be called via proc-call
- For debugging purposes only, please do not use on live server as it
will spam chat due to sending the messages to world.