* Fixes cargo barcode payouts paying 50x what the sale is worth (#56914)
* Fixes cargo barcode payouts paying 50x what the sale is worth
Co-authored-by: cacogen <25089914+cacogen@users.noreply.github.com>
* NTDownloader UI revamp (#56704)
Revamp of the software downloader program for modular computers.
Changes:
- Programs are now sorted alphabetically with incompatible ones in the end of the list.
- Installed programs are now displayed in the list.
- Added program icons.
- Moved the error messages in place of the download button.
- Only the most important error message is displayed now. Priority: compatibility, access, free space.
- Syndicate programs are now displayed in the same list, but have a warning message from NT (There are no warning messages on syndicate OS).
- Added program categories to improve navigation. The default option "All" contains items from all categories.
- Download progress bar moved in place of the Disk usage bar. Disk usage is updated only after the download is complete, so the information was inaccurate during download. And the download bar now always visible regardless of selected category.
- The old download progress bar (next to the corresponding program) is replaced with "Downloading" indicator with a spinner.
Co-authored-by: Aleksej Komarov <stylemistake@ gmail.com>
* NTDownloader UI revamp
Co-authored-by: Andrew <mt.forspam@gmail.com>
Co-authored-by: Aleksej Komarov <stylemistake@ gmail.com>
* Feex (#54716)
[09:18:04] Runtime in card_slot.dm, line 72: Cannot execute 1.put in hands().
Usage of the try_eject proc is an eclectic mix of unimplemented behaviour and incorrect argument order, with behaviour that can cause runtimes.
Prototype for the try_eject proc wasn't even implemented properly by children. Nothing implemented it used the slots arg, so I modified the base prototype. Cleaned up various proc calls. Should no longer have incorrect arg-based runtimes.
* Cleans up try_eject proc prototype and various proc usages to fix some runtimes
Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
* Converts A && A.B into A?.B (#54342)
Implements the ?. operator, replacing code like A && A.B with A?.B
BYOND Ref:
When reading A?.B, it's equivalent to A && A.B except that A is only evaluated once, even if it's a complex expression like a proc call.
* Converts all A && A.B into A?.B
Co-authored-by: ZeWaka <zewakagamer@gmail.com>
* Unhardcodes Modular PC icons (#54158)
* Changes modPC program icons to not be hardcoded
* icons
* tgui.bundle.js, we meet again
* Makes Modular PC icons not hardcoded in NtosMain.js, and fixes them not showing up
Co-authored-by: zxaber <37497534+zxaber@users.noreply.github.com>
* Enforce preserving parent proc return values across ui_act call stacks (#53964)
All ui_act procs should call parent by default. All procs should preserve the value of the parent proc when it's TRUTHY and pass it down the call stack. No UI should be interactible when its flags or state indicate it should not be, except when explicity overriden by child procs intentionally disregarding parent return values to achieve a specific goal.
* Enforce preserving parent proc return values across ui_act call stacks
Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
* Updates modular PC program names to have some flavor (#52492)
* Better program names
* Forgot a few things.
* oops
* Updates modular PC program names to have some flavor
Co-authored-by: zxaber <37497534+zxaber@users.noreply.github.com>
* Had to put this on hold due to critical FUCK from hydriponics
* Another thing I'm being dragged away from
* Finally finished and happy with the result
* Merge issues: IRRADICATED.
* Made the UI a Labeled List per Stylesugestion
* Apply suggestions from code review
Co-Authored-By: Bobbahbrown <bobbahbrown@gmail.com>
* Fixes up compile issues and tweaks tooltip/disable
* Rebuild tgui
Co-authored-by: Bobbahbrown <bobbahbrown@gmail.com>
Co-authored-by: Aleksej Komarov <stylemistake@gmail.com>