From 2a5ee0c5418992eed93fdd0b278dc275918a4e67 Mon Sep 17 00:00:00 2001 From: Arokha Sieyes Date: Thu, 18 Jan 2018 19:29:01 -0500 Subject: [PATCH] basic junk --- code/__defines/_planes+layers_vr.dm | 2 + code/modules/entopics_vr/entopics.dm | 64 +++++++++++++++++++++++++++ icons/obj/machines/ar_elements.dmi | Bin 0 -> 7593 bytes vorestation.dme | 1 + 4 files changed, 67 insertions(+) create mode 100644 code/modules/entopics_vr/entopics.dm create mode 100644 icons/obj/machines/ar_elements.dmi diff --git a/code/__defines/_planes+layers_vr.dm b/code/__defines/_planes+layers_vr.dm index 395d0278135..30238bc6b03 100644 --- a/code/__defines/_planes+layers_vr.dm +++ b/code/__defines/_planes+layers_vr.dm @@ -4,4 +4,6 @@ #define PLANE_CH_BACKUP 29 //Backup implant #define PLANE_CH_VANTAG 30 //Vore Antag hud +#define PLANE_AUGMENTED 40 //Augmented-reality plane + #define ABOVE_WINDOW_LAYER 3.25 //Above full tile windows so wall items are clickable \ No newline at end of file diff --git a/code/modules/entopics_vr/entopics.dm b/code/modules/entopics_vr/entopics.dm new file mode 100644 index 00000000000..931728e3217 --- /dev/null +++ b/code/modules/entopics_vr/entopics.dm @@ -0,0 +1,64 @@ +//Augmented reality objects and their associated systems for attaching to things +var/global/list/entopic_images = list() + +/datum/entopic + var/icon = null + var/icon_state = null + var/plane = PLANE_AUGMENTED + var/layer = OBJ_LAYER + + var/image/my_image + var/registered = FALSE // Less expensive to make it a finite state than to use |= on entopic_images or anything like that. + +/datum/entopic/New(var/atom/aholder, var/icon/aicon, var/aicon_state, var/aplane, var/alayer) + ASSERT(aholder && (isicon(aicon) || isicon(icon))) + + //Everything we need to set in the initializer + var/image/tempimage = image(icon = aicon || icon, loc = aholder, icon_state = aicon_state || icon_state) + + //And everything we don't + tempimage.plane = plane = aplane || plane + tempimage.layer = layer = alayer || layer + + if(aicon) + icon = aicon + if(aicon_state) + icon_state = aicon_state + + my_image = tempimage + + register_entopic() + +/datum/entopic/Destroy() + unregister_entopic() + my_image = null //Bye! + return ..() + +/datum/entopic/proc/register_entopic() + if(registered || !my_image) + return + + entopic_images += my_image + world << my_image // *noises of disgust* + registered = TRUE + +/datum/entopic/proc/unregister_entopic() + if(!registered || !my_image) + return + + entopic_images -= my_image + registered = FALSE + +/datum/entopic/proc/show() + if(!my_image) + return + + my_image.mouse_opacity = 1 + my_image.invisibility = 0 + +/datum/entopic/proc/hide() + if(!my_image) + return + + my_image.mouse_opacity = 0 + my_image.invisibility = 101 diff --git a/icons/obj/machines/ar_elements.dmi b/icons/obj/machines/ar_elements.dmi new file mode 100644 index 0000000000000000000000000000000000000000..6259e32c4c5f2a6015e47f35738abf60da655ca7 GIT binary patch literal 7593 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 literal 0 HcmV?d00001 diff --git a/vorestation.dme b/vorestation.dme index 76e4042c59e..88a0cbf137e 100644 --- a/vorestation.dme +++ b/vorestation.dme @@ -1575,6 +1575,7 @@ #include "code\modules\economy\price_list.dm" #include "code\modules\economy\retail_scanner.dm" #include "code\modules\economy\TradeDestinations.dm" +#include "code\modules\entopics_vr\entopics.dm" #include "code\modules\error_handler\_defines.dm" #include "code\modules\error_handler\error_handler.dm" #include "code\modules\error_handler\error_viewer.dm"