Space Engineers

Space Engineers

49 ratings
Programmable LCD Display
   
Award
Favorite
Favorited
Unfavorite
File Size
Posted
Updated
563.032 KB
1 Jan, 2015 @ 1:28pm
2 Jan, 2015 @ 5:16am
4 Change Notes ( view )

Subscribe to download
Programmable LCD Display

Description
By the power of programmable blocks we are finally able to start doing a little bit more complex things with the lights. This one, as the title says, displays text using spotlights.

BREAKING NEWS
Raster version available here with images and video playing capabilities.

Primary functions

- Display any alphanumeric text and some special characters (.,:;?!-_+*/)
- Practically unlimited amount of letters (the only limit is the programmable block quota)
- Highly configurable (can be rotated, mirrored, colored or shuffled as you wish)
- Can handle multiple displays on the same ship (with both same or different content)

Disadvantages

- A bit hard to set up (you'll need to rename every single pixel - TODO: fix it, that's possible in theory) Fixed, see the new method below.

Setting up a screen

New method:

Pick a blueprint for large or small ships, and follow the instructions on the other page. You will also need the LCD extender script, and we recommend you to read the old method too if you want to fully understand the system behind.

Old method:

First you'll need to pick a name for your screen. LCD is the default, but you can change it, and if you want different content on different displays while using the same ship, you will need different names. Then set up some spotlights, each letter needs 25 of them. The tricky part comes here: name them. There is a guide on image #4 and #5, the name must be (or at least start with) the screen name, exactly one space (not tested with more, probably won't work), the letter ID (starting from 1), another space, and the pixel ID, as you can see on image #5. If you want additional info in the name, insert a tailing space, and then you're probably free. (Not tested, but works in theory.)

Example: LCD 3 21 Anycommentshere withspacesofcourseimjustlazy
This one is a part of the screen called "LCD", and the 21st (top right) pixel of letter 3. Anything else is ignored by the code.

To use the screen, you will need a programmable block with this script. Set the parameters according to image #3. Each programmable block sets one text on one screen (distinguished by the name you picked), if you want multiple texts, use multiple prog. blocks. You can clear the screen with a message full of spaces, or just turning off the lights.

IMPORTANT NOTE

The system is case-sensitive and not yet contains lowercase letters. Please use full uppercase in your text.

Technical info

There is a string in the code that contains the letters, and an array of strings with the actual display information. Each one is a 25 letters long string that tells the 25 pixels that they should glow or shouldn't. These are in order, that's important, and the array has an additional string for unknown characters. If you want to add your own letters (lowercase, russian, chinese, klingon, anything), you can modify it, but keep the array and the string synchronized, unless it won't work well.

Licensed under GNU GPL by the Mjölnir Space Syndicate (MSS). You can create deviate works, but if you publish it, you'll need to do it under the same (or a compatible) license, and you can't sell it. Therefore you can also use it without any fees or whatever. Basically. In case of doubt please check the original license. (And don't use C4, you're not a Mythbuster.)

/*
If you find silly faults in the code, and know how to fix them, please, share with me. That's my first day with C#. (Well, technically the second, it's 00:48 here...)
*/


Update 1:

GetBlocksOfType changed to SearchBlocksOfName. Result: better optimization (longer text) and support for any type of blocks. Seriously, you can now make a screen out of doors if you are tricky enough or just read the next line:
(Timer - enable all doors, close them, run script, open doors - the script will turn off some, and those will not open)
2015-01-02 11:10 CET
17 Comments
Derp & Junk 9 Jan, 2015 @ 1:55pm 
Right, understood, I was just remembering how good I had it in X3 with being able to manually control slaved drone ships in ajacent systems using a window feed for seeing things and controlling them like I was really there. Oh well, perhaps some day.
Ben Snow  [author] 9 Jan, 2015 @ 12:45pm 
Unfortunately that has nothing to do with reality right now, you can't rasterize camera feeds (and you won't be able for a long time as I know the engine), and the details of this screen will be way lower than the amount you need. This text is the very beginning...
Derp & Junk 9 Jan, 2015 @ 11:59am 
If I were going to ask for a project priority with what you are doing here, it would be to provide a means of monitoring security cameras without having to be seated at a console not doing anything. I guess that won't really work without upgrades to the HUD that enable recieving video feeds in game though.
Derp & Junk 9 Jan, 2015 @ 11:54am 
Yeah, I like video games but just don't have the focus for programming, so more power to those that do!
Ben Snow  [author] 9 Jan, 2015 @ 11:30am 
@Reptavian
I'm a student and my hobby is programming. I don't work for anyone currently... however, if you want to see those videos, I can try something. It will be 1-bit, 1 FPS, and very, very pixelated, but still motion picture. We just need to use those numbers a little bit better, I even started thinking on the structure while writing this comment. But currently I have so many projects... I'm on Ubuntu at the moment, my #1 OS where I make those images and stuff, setting up the Syndicate itself. In SE there are three projects running: the first track of a hovercart racing series, a target practice drone (it's already capable for target practice, I'm just trying to tell them how to don't exit the zone), and this screen. I've made a billboard script (rolling letters, very easy fork of that) and a working (and accurate) stopwatch for the speedway - I want to release them together. Sneak peek here [imgur.com], and sorry, both is outdated...
Ben Snow  [author] 9 Jan, 2015 @ 11:30am 
@The Witch
Sorry, there is no way to stream video from YouTube. I wish there was, but network is not permitted in ingame scriping to avoid viruses that attack your computer. But using our own format (it doesn't even need to be compressed) will enable us to exchange and stream videos between ships as soon as a decent antenna API arrives. Also, thank you all for the inspiration, I just gave a higher priority to that project.
Ben Snow  [author] 9 Jan, 2015 @ 11:30am 
@swiedrick
Yeah, I know my mistake. In my defense it was not planned. Originally I've just tried to turn lights on and off with some tricks, then display a letter, then another, etc... and look, there's something that may interest people, so I uploaded it at technically Friday, then the tiles a few hours later. That's it, I had no time to decide a proper name, and it's technically a raster display despite it's limited letters right now.
BrassyMAV3RICK 9 Jan, 2015 @ 12:08am 
not to come off negative in any way, you have mistaken the name for the type of display. with the configuration of points of light to make an image as it is shown in your screen shots this is actually an LED display. LED = Light Emitting Diode. andLCD (Liquid Crystal Display) is what most screens are made of e.g TVs, smartphones, computer moniters. I am in no way trying to take away your accomplishment though! it is an ingenius idea, just wanted to clear upa slight naming mistake. but please keep up the good work. I for one suck at coding and am avoiding that aspect of the game
Mojo 8 Jan, 2015 @ 4:53pm 
Garry's Mod also has in game streaming of youtube and other video sites, I can see this being worked in at some point by someone here in SE :) Would be very cool while cruising along waiting to get to your next spot etc etc.
Derp & Junk 8 Jan, 2015 @ 3:55pm 
Good lord, I read that stuff about your plans to play video on this and just sat for a moment in stunned silence. Just what do you do for work super genius?