Commit Graph

30 Commits

Author SHA1 Message Date
ShadowLarkens
dad9020f9a TGUI Engineering... and a bunch of other random things 2020-10-21 13:02:19 -07:00
Rykka Stormheart
8235afb3ae Merge branch 'master' into shep-dev-multicam 2020-06-01 14:23:03 -04:00
Aronai Sieyes
a8f3a0a7a0 Refactor move/click code 2020-05-15 10:49:27 -04:00
Rykka
cc038370f9 Add AI Picture-in-Picture Mode!
This adds a system for picture-in-picture UI windows using
vis_contents. Essentially, it allows you to make UI windows that show an area of turfs. It also refactors how cameranet visibility works.

Currently, this is 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 AI Eye 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.

You can control everything inside these PIP windows EXACTLY the same as you can using a traditional AI Eye, as demonstrated below.

For admins, there is a config option to disable PIP entirely - simply set `var/multicam_allowed = TRUE` to FALSE if you wish to disable it from being used. (Please be reasonable.) <3

You can see an example of how this works here:
![https://i.imgur.com/TCND8W9.mp4](https://i.imgur.com/TCND8W9.mp4)

AI Multicam functionality.

Do note that if the lightbulb in the AI core is busted, the multicam room is dark(er) than it would be, but you can still see your camera windows just fine. (I'll probably fix this later.) It only affects the "matrix" backdrop, the PIP windows are still fine.

This has been runtime-tested with the latest `master` revision and produces 0 runtimes, and has no noticeable impact on server CPU usage.

Polarisport is here! Port of https://github.com/VOREStation/VOREStation/pull/7752
2020-05-10 14:00:45 -04:00
Neerti
3ea6635f6a Fixes two very common runtimes
Fixes some null.Topic() runtimes caused by AI hotkeys.
removeItem() now checks if the item actually exists before modifying variables.
2016-05-02 00:46:31 -04:00
Zuhayr
c6964a9b0e Fixes for previous commits. 2015-08-24 18:31:52 +09:30
Zuhayr
90e51b87e3 Refactoring hardsuit click checking. 2015-08-23 02:14:55 +09:30
Zuhayr
a00ac82221 Merge branch 'dev' of https://github.com/Baystation12/Baystation12 into hardsuitcontrol
Conflicts:
	code/_onclick/rig.dm
2015-08-22 02:36:05 +09:30
Zuhayr
b265b3285c Cleaned up some errors, added logging for AI module use. 2015-08-13 17:15:51 +09:30
Zuhayr
86100ee2a4 Added procs for MMIs to use rigs as piloting AIs. 2015-08-13 17:09:25 +09:30
Zuhayr
59d0e28aff Allowed pAIs and AIs loaded into hardsuits to move and rest when control is enabled or the user is unconcious/dead.
Allows AIs/pAIs in rigs to use the selected module via middle click.
2015-08-13 17:09:22 +09:30
Kelenius
3fa79f8d51 Removes click cooldowns almost everywhere.
Still have: doors, windoors, cameras, windows, grilles, blobs, resisting, alien stuff, mechas, spray bottles.
Setting changeNextMove is now responsibility of the item being attacked.
Adds a config option to eliminate click cooldowns completely. Intended to be used by devs.
2015-05-09 17:27:19 +03:00
Neerti
dc4d149832 Ports /tg/'s borg hotkeys. They work similarly to the AI's hotkeys. 2015-03-13 21:41:23 -04:00
PsiOmega
99406e3077 NanoUI AI door interface.
Related:
Cleans up airlock Topic()
Power and electricity is now also handled by process instead of sleeps().
Wires, remote door controls, etc. now use airlock procs instead of manhandling variables directly.
2015-03-03 13:23:18 +01:00
PsiOmega
683ef229c1 NanoUI interfaces.
Turret Controls.
Omni-filters/mixers now disable the On/Off button during configuration.
2015-02-28 13:21:08 +01:00
PsiOmega
493465453e Turret controls now affects all aspects of slaved turrets. 2014-11-30 15:50:51 +01:00
PsiOmega
574a8f5570 Completes the basic random event manager. 2014-11-08 18:22:31 +01:00
PsiOmega
f2dcf1acaa AI fixes
Telecommunication interruption no longer permanently disables the ability for synths to state laws if they attempt it during the downtime.
If a synth attempts to state laws during telecommunication interruption it now receives a clear feedback message about its impossibility.
Fixes runtime errors when AIs uses shortcut keys to operate APCs/turret controls when the corresponding window isn't open.
Adds missing AI-restriction check for turret controls.
Airlocks no longer lie about dropping bolts when they cannot be dropped.
2014-11-06 15:36:02 +01:00
PsiOmega
bd08ee99b2 Merge remote-tracking branch 'upstream/dev' into PortaTurret 2014-10-29 19:17:35 +01:00
PsiOmega
0a7cbfa4cf Merge remote-tracking branch 'upstream/dev' into PortaTurret 2014-10-24 23:54:35 +02:00
PsiOmega
30c581c8b3 Fixes an exploit reported at tgstation/-tg-station#4491. Credits to @MrPerson for the fix. 2014-08-20 10:46:09 +02:00
PsiOmega
a5f6d417a1 Expands the AI photo-camera so that it now has robot/cyborg support. Also implements DRY in practice. 2014-07-28 23:41:55 +02:00
PsiOmega
63ab44accc Makes it possible for the AI to take and view images. 2014-07-28 17:30:51 +02:00
PsiOmega
419bc2eea3 Adds a lost AltClick click-through for the AI. Makes it possible to clear a turf alt-leftclick selection. 2014-07-28 12:10:44 +02:00
PsiOmega
d222af6324 Can now middle click doors to toggle bolt lights, plus cleanup.
Middle-clicking doors now allows the AI to toggle bolt lights.
Attempts to achieve some consistency in door feedback messages.
2014-07-21 08:07:45 +02:00
PsiOmega
b7690008ad Updates the changelog with relevant AI changes. 2014-07-20 19:36:00 +02:00
PsiOmega
d02e483110 Makes it possible for the AI to alt+left click turfs in camera view and grants ctrl/alt shortcuts to the turret control.
AI can now alt+left click turfs in camera view to list and interact with objects in the status tab. For example allows for interacting with emergency shutters beneath grills.
alt-clicking doors now notifies the AI when they are electrified/un-electrified as, unlike most other shortcuts, this doesn't have a visual cue.
When interacting with doors and the AI-control is disabled hacking is now automatically initiated, as if the AI had attempted to open the door 'menu'.
When borgs/AIs try to interact with an emagged door they now receive a feedback message that it's unresponsive.

Parts of implementation done by porting code from tg-station.
2014-07-20 19:20:24 +02:00
Segrain
c6d39deac0 Fix for #4445. 2014-02-22 06:49:57 +03:00
Ccomp5950
011c116373 AI / Cyborgs will now leave hiddenprints. 2014-01-03 00:28:54 -06:00
Mloc-Argent
a1f55a50b1 Massive click code rework by SuperSayu, ported from TG.
Full details at https://github.com/tgstation/-tg-station/pull/1206
Fixes #3648

Hopefully done right this time.

Signed-off-by: Mloc-Argent <colmohici@gmail.com>
2013-10-08 20:27:39 +01:00