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 ports the hover inventory indicator from /tg/, and by necessity, SSOverlays.
The hover inventory indicator basically shows where you are trying to
put an item, and then shows an item ghost in red or green, giving visual
feedback as to if that item will go in the slot or not.
SSOverlays is a much broader system for managing overlays, which should
eventually take over *all* overlays, but I have only ported the basic
system and implemented it where necessary for it to work for the hover
inventory items currently.
Also makes the mode selection interface far less tedious/painful
Adds unsimulated turf overriding, and admin logging
Temporary commit for storing the sdql buildmode
Adds extra documentation
also requires a path to be selected for "advanced" and "fill" modes, now
Spaces out mode switch buttons nicer
removes need for debug rights to do a fill with mob paths
Adds a bunch of extra fancy paths
Fox Changes pt 1
Backports /tg/station changes
Fixes a double-tap issue with dclick handling of certain mobs
Also no longer shows the "selection canceled" if you haven't selected a
region for the buildmode that supports region selection
Updates buildmode stuff
tgstation/tgstation#28360tgstation/tgstation#37695
This commit adds a system for picture-in-picture UI windows using
vis_contents, a new feature to BYOND 512. Essentially, it allows you to
make UI windows that show an area of turfs. It also refactors how
cameranet visibility works, and makes the Adv. Camera Console code a bit
cleaner and more inheritance-based, especially with it's action buttons.
Currently, this is hesitantly implemented on AIs. They gain two new
UI buttons - "Enter Multicam Mode", and "Create Multicam". When they go
into Multicam Mode, they see a background of animated binary numbers,
and they are allowed to create an infinite amount of these picture in
picture windows, which subsequently creates an aiEye for each one. They
are able to control each AI eye individually, by first clicking on the
PIP window to select it as "active" and then using the normal arrow key
controls. The PIP windows can be freely resized and moved around the
area.
The AI implementation may be considered controversial; Thus, it's locked
by default, requiring an administrator to var-edit "multicam_allowed" on
the AI before it is able to use the function. Otherwise, the buttons
just do nothing and alert the user to "Contact an administrator to use
these". There's not really any easy way to completely hide the UI
elements until they are available.
As this relies on 512 features, Travis has been bumped up to use 512.