10-08-2018, 05:55 PM
(This post was last modified: 11-26-2018, 02:12 PM by kyle2143. Edited 1 time in total.)
Idea partially inspired by this thread: https://forum.ss13.co/showthread.php?tid=5618
I know there are some other threads that mentioned similar things, but this is the one I noticed that started this project. My one "improvement" on the idea was to make the camera's a little more interesting than observing things through the sec camera computer (which took you out of your body to view that area).
The gist is this: The security camera computer found in security and sometimes on the bridge, can now connect to a new "security_monitor" object that is a big screen about 2x2 tiles in size that displays the target of the computer and all objects within 2 tiles of it. So a 5x5 grid. (the video should make it clearer)
Demo Video: https://streamable.com/ipua3
Technical Notes:
- I thought this would be super easy, but it wasn't (at least not for me). Though I think it worked out pretty well, but there are a couple things that I didn't like that I had to do in the code that you might see. I'll try to explain here:
-Requires Byond version 512 or greater to work for use of the new feature, vis_contents.
- The new monitor objects will need to be manually added to areas on a map, plus each monitor needs an ID to be displayed in the security computer. It has a default value in code, but that value could just be changed in the map editor.
- This camera follows a "new" sunglasses object. Basically I just wanted it to link with the Security HUD glasses, but they're not in 2016 so that needs a change. The Sec HUD objects would just need a reference to a monitor I think.
- Currently i have the camera height set to show a 5x5 square of turfs, but I hard coded the transformations because it seemed too annoying and probably not worth it to make it modular to handle more sizes. It is capable of showing a 3x3 square of turfs, but I thought it looked bad. The FOV height can be switched to that with a proc called "change fov" or something in the security_monitor.dm I think.
- There are 3 "parts" (or objects) that make up the main security monitor. The monitor frame, blank screen, and the camera screen that updates. Unfortunately, due to the nature of what I was trying to do and the way images work in byond, I couldn't do it as simply has I'd hoped.
- The blank screen is uninteresting, it wasn't strictly necessary, but I thought it easier than doing matrix transforms every time the monitor turns off and on. So this is just a grey square that is placed below the monitor frame. My original hope was to be able to interlace the vis_contents of one object so that it could fit between the monitor frame and the blank screen below. But I don't think it's possible.
https://github.com/goonstation/goonstati...l/79/files
EDIT: Okay well, I'm not doing this just yet, but I plan to change this so that it will be a small wall monitor that, when examined, will display a non-browser popup on your HUD so that you can see the view in real time. Still, I plan to leave a version of it the way it is presently in here because I think it can definitely fit *somewhere* on some station in security, though I agree it can't be shoehorned in everywhere.
I know there are some other threads that mentioned similar things, but this is the one I noticed that started this project. My one "improvement" on the idea was to make the camera's a little more interesting than observing things through the sec camera computer (which took you out of your body to view that area).
The gist is this: The security camera computer found in security and sometimes on the bridge, can now connect to a new "security_monitor" object that is a big screen about 2x2 tiles in size that displays the target of the computer and all objects within 2 tiles of it. So a 5x5 grid. (the video should make it clearer)
Demo Video: https://streamable.com/ipua3
Technical Notes:
- I thought this would be super easy, but it wasn't (at least not for me). Though I think it worked out pretty well, but there are a couple things that I didn't like that I had to do in the code that you might see. I'll try to explain here:
-Requires Byond version 512 or greater to work for use of the new feature, vis_contents.
- The new monitor objects will need to be manually added to areas on a map, plus each monitor needs an ID to be displayed in the security computer. It has a default value in code, but that value could just be changed in the map editor.
- This camera follows a "new" sunglasses object. Basically I just wanted it to link with the Security HUD glasses, but they're not in 2016 so that needs a change. The Sec HUD objects would just need a reference to a monitor I think.
- Currently i have the camera height set to show a 5x5 square of turfs, but I hard coded the transformations because it seemed too annoying and probably not worth it to make it modular to handle more sizes. It is capable of showing a 3x3 square of turfs, but I thought it looked bad. The FOV height can be switched to that with a proc called "change fov" or something in the security_monitor.dm I think.
- There are 3 "parts" (or objects) that make up the main security monitor. The monitor frame, blank screen, and the camera screen that updates. Unfortunately, due to the nature of what I was trying to do and the way images work in byond, I couldn't do it as simply has I'd hoped.
- The blank screen is uninteresting, it wasn't strictly necessary, but I thought it easier than doing matrix transforms every time the monitor turns off and on. So this is just a grey square that is placed below the monitor frame. My original hope was to be able to interlace the vis_contents of one object so that it could fit between the monitor frame and the blank screen below. But I don't think it's possible.
https://github.com/goonstation/goonstati...l/79/files
EDIT: Okay well, I'm not doing this just yet, but I plan to change this so that it will be a small wall monitor that, when examined, will display a non-browser popup on your HUD so that you can see the view in real time. Still, I plan to leave a version of it the way it is presently in here because I think it can definitely fit *somewhere* on some station in security, though I agree it can't be shoehorned in everywhere.