Commit Graph

15 Commits

Author SHA1 Message Date
Rykka Stormheart
8235afb3ae Merge branch 'master' into shep-dev-multicam 2020-06-01 14:23:03 -04:00
Cyantime
147d18cb24 Fixes AI Eye Examining 2020-05-14 02:31:46 -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
Arokha Sieyes
f2fef6f410 Planes Framework (#4545)
* Polaris initial plane upstream merge

* POLARIS: Fix RIG visors with new plane system, and material scanner VIS_FULLBRIGHT

* POLARIS: Fix GetFlatIcon so that cameras and id pictures don't show the HUD overlays.

* POLARIS: Adds a 'alter values' proc for plane master ease of tweaking

Setting stuff like colorblindness variety and things.

* Remove NIF reference, fix lighting layer define

* Handle effects above lighting plane

* Moved all layer defines to planes+layers.dm
* Fixed overlays that are supposed to be above lighting to use the PLANE_LIGHTING_ABOVE

* Merge: 3000% human/update_icons() speed improvement

* Merge: Avoid ghosts pointing at things
2018-01-17 13:45:54 -06:00
Leshana
e48b548f2b More and more Destroy() cleanups all across the board - Return qdel hints. 2017-06-05 23:01:41 -04:00
Kelenius
acc78a8000 Changes types of ghosts and eyes
``/mob/dead/observer`` -> ``/mob/observer/dead``
``/mob/eye`` -> ``/mob/observer/eye``

Reason being that they are similar in that they both don't interact with
the world in any way. Some procs were shared, some checks as well, and
it overall makes more sense this way. Plus, there were no ``/mob/dead``
mobs.
2016-02-20 15:36:05 +03:00
PsiOmegaDelta
92a3d3f9ae An active AI core now provides camera coverage. 2015-07-03 09:46:02 +02:00
Atlantiscze
6b8f6178da Fixes
- Fixes few typos in the code
- Fixes AI Eye object being solid, therefore being able to block movement of other players.
- Fixes non-station APCs boosting CPU as others.

Implemented Suggestions
+ Selection is now done in slightly better way (Basic Encryption Hack, Hack/Unlock Cyborg, Hack AI). Only relevant entities are offered in the list.
+ Adds varedit-modifiable variables for CPU Gain and Storage boost. These variables may be used by admin in game or by tester to faster unlock abilities.
+ Slightly nerfed APC CPU power generation.
+ Reworked machine overload. Now it only works on machines which are powered. Unpowered or broken machines cannot be overloaded. /obj/machinery/power type machines (APCs, SMESs, overall most stuff that directly handles electricity) received bonus explosion strength to compensate. Machine overload also drains massive power from local APC, therefore preventing spam of this ability (normal APC should take about 2-3 of these before needing to recharge). Also, qdel instead of del.
+ System Override now uses shuffled list of APCs when hacking them, as opposed to alphabetical list.
+ CPU generation rate is now shown in Status tab.
2015-05-11 06:36:44 +02:00
PsiOmega
1ae0ad6d92 Updates the atom_pool, now datum_pool, to handle any datum object.
Makes the garbage collector similarly robust. Continues the whole Destroy/qdel porting.
2015-04-24 09:59:05 +02:00
PsiOmega
baa2fe0dfa Eye runtime fixes.
Ensures the spawn in ai/New() doesn't attempt to update eyeobj if the AI was deleted before the timer.
2015-04-10 11:29:50 +02:00
PsiOmega
1131c76d45 Cult visual network.
Implementation of a cult visual network, similar to the original camera network.
Includes the "eye" itself and the initial construction of a mob that can control one.
2015-03-27 14:16:48 +01:00
PsiOmega
9b7834ff7a Refactors the AI eye.
Relocates eye movement to the eye code itself.
Adds a mask that allows any mob able of wearing it direct access to the camera network, as a proof of concept and adminbus.
2015-03-25 18:53:11 +01:00
PsiOmega
bbe5d67e44 Refactors the AI eye.
Now possible to customize chunk obfuscation image per chunk type.
Obfuscation images are stored per type (thus the small datum structure) to reduce memory footprint in the case of multiple chunks using the same image.
2015-03-24 22:07:22 +01:00
PsiOmega
1c3c9ca48d Refactors the AI eye.
Generalizes the visual net containing and updating chunks.
2015-03-24 09:00:48 +01:00
PsiOmega
1db2040daa Refactors the AI eye.
Generalizes the eye itself, allowing it to be created and used by any other mob.
2015-03-23 15:21:39 +01:00