Commit Graph

26 Commits

Author SHA1 Message Date
MistakeNot4892
b22a0568a3 Sideports a couple of init unit tests from Neb. (#7893)
* Sideports a couple of init unit tests from Neb.

* Trying to unfuck initialize logic.

* Removing del()s.

* Adjusting return values to Initialize().

* Moving some dangerous object logic from obj onto the two types that use it.

* Rolling back some init changes and commenting out initialized atom unit test.

* this comment formatting is a minor war crime

* Removed sleep() from signaler circuit Initialize().

* Additional Init fixes post-rebase.

* Uncomments subsystem test since that's passing.
2021-02-21 12:03:34 -09:00
ShadowLarkens
971a95bc0a TGUI 4.0 & Camera Console 2020-07-30 17:48:11 -07:00
Rykka Stormheart
8235afb3ae Merge branch 'master' into shep-dev-multicam 2020-06-01 14:23:03 -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
Aronai Sieyes
bc1fa7bd05 Refactor Move() code 2020-04-27 10:08:55 -04:00
Aronai Sieyes
ad5f0485f7 Clean up things 2020-03-25 22:10:56 -04:00
Arokha Sieyes
5b15917d32 to_chat replacing stream operator 2020-02-17 13:14:08 -05:00
Leshana
e48b548f2b More and more Destroy() cleanups all across the board - Return qdel hints. 2017-06-05 23:01:41 -04:00
Leshana
44ff1a70c6 Removes the datum pool, as it is not performant.
* Creating new objects is cheap, in fact comparable to the cost of getting it out of the pool, so it doesn't help there.
* Placing items in the pool is far more expensive than letting them garbage collect due to the resetting of vars and such.
2017-05-04 01:58:33 -04:00
Datraen
fe9d3fd4c4 Merge pull request #1027 from Kelenius/mobCleanup
Changes types of ghosts and eyes
2016-03-18 13:50:47 -04:00
Kelenius
19782d5b10 Fixes AI eye in nullspace bug 2016-02-25 16:21:54 +03: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
Kelenius
906b03e736 Gives AI the hud, sorts the verbs
Removes 'AI IM' category
Adds 'AI settings' category
Unnecessary verbs are hidden by default but can be shown/hidden again by
using a verb
2016-02-05 17:21:04 +03:00
Neerti
00fa623c9d Merge branch 'dev' of https://github.com/Baystation12/Baystation12 into dev
Conflicts:
	.travis.yml
	code/controllers/configuration.dm
	code/game/gamemodes/changeling/modularchangling.dm
	code/game/jobs/job/medical.dm
	code/game/jobs/job/security.dm
	code/game/machinery/Sleeper.dm
	code/game/machinery/computer/communications.dm
	code/game/machinery/cryopod.dm
	code/game/objects/items/weapons/RCD.dm
	code/game/objects/items/weapons/storage/boxes.dm
	code/game/turfs/simulated/floor.dm
	code/game/turfs/simulated/floor_types.dm
	code/global.dm
	code/modules/materials/materials.dm
	code/modules/mob/living/silicon/ai/ai.dm
	code/modules/projectiles/guns/projectile/automatic.dm
	polaris.dme
2015-08-23 01:30:46 -04:00
Zuhayr
55c1331261 Merge pull request #10004 from PsiOmegaDelta/150703-AISight
Active AI cores now provides camera coverage.
2015-08-22 02:21:36 +09:30
Neerti
95240c989b Merge branch 'dev' of https://github.com/Baystation12/Baystation12 into 8/3/2015_bay_sync
Conflicts:
	polaris.dme
2015-08-03 22:13:18 -04:00
Zuhayr
2a51b778d6 Fixes #9611 2015-08-01 21:10:48 +09:30
PsiOmegaDelta
92a3d3f9ae An active AI core now provides camera coverage. 2015-07-03 09:46:02 +02:00
Neerti
2a45114038 Merge branch 'dev' of https://github.com/Baystation12/Baystation12 into 6/5/2015_bay_merge
Conflicts:
	.travis.yml
	code/controllers/configuration.dm
	code/datums/supplypacks.dm
	code/game/machinery/bluespacerelay.dm
	code/game/machinery/hologram.dm
	code/game/objects/items/weapons/RCD.dm
	code/game/objects/items/weapons/circuitboards/machinery/commsantenna.dm
	code/game/turfs/simulated/floor.dm
	code/game/turfs/simulated/floor_types.dm
	code/game/turfs/simulated/walls.dm
	code/global.dm
	code/modules/clothing/spacesuits/rig/suits/ert.dm
	code/modules/mob/living/silicon/ai/ai.dm
	code/modules/research/designs.dm
	config/example/config.txt
	icons/mob/feet.dmi
	icons/mob/head.dmi
	icons/mob/suit.dmi
	icons/obj/clothing/hats.dmi
	icons/obj/clothing/shoes.dmi
	icons/obj/clothing/suits.dmi
	icons/obj/rig_modules.dmi
	interface/interface.dm
	maps/exodus-3.dmm
	polaris.dme
2015-06-05 22:11:15 -04:00
Mloc
16d50c645d new object-based lighting system
Signed-off-by: Mloc <colmohici@gmail.com>
2015-05-10 20:54:25 +01:00
Neerti
e89d427db8 Merge branch 'dev' of https://github.com/Baystation12/Baystation12 into 4/27/2015_bay_sync_2 2015-04-27 05:30:36 -04:00
PsiOmega
e7d85f8edc Adds Destroys. 2015-04-24 17:11:14 +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
Neerti
fb4543c179 Adds ability for the AI to toggle movement of its hologram. 2015-04-14 08:34:02 -04: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