[TOOL] Empyrion LCD Studio

Discussion in 'The Hangar Bay' started by NafreiuX, Dec 19, 2023.

  1. NafreiuX

    NafreiuX Captain

    Joined:
    Oct 16, 2015
    Messages:
    129
    Likes Received:
    326
    Ever wanted to be able to create detailed LCDs, but were thwarted by having to write the code ?

    Introducing Empyrion LCD Studio!


    The purpose of the tool is to auto-generate LCD code through a convenient graphic user interface. The code can then be pasted into an in-game LCD device.
    You can focus on the creative aspect while the application does the heavy-lifting of code generation!

    Features (check posts below for full feature list)
    • Full set of symbols from Empyrion LCD menu
    • Set the height and width of LCD canvas to any of the in-game values
    • Edit operations for symbols: move, rotate, resize, colorize, delete, copy
    • Insert text lines (limited to alphanumeric characters atm)
    • Undo
    • Zoom and pan
    • Edit operations for text lines - same as for symbols (except rotate)
    • Import colors from EGS color palette
    • Save/load your progress as a project file.
    • Auto-translate your creations to a in-game compatible LCD code
    Download link (latest version)
    https://gitlab.com/empyrionlcdstudio/els_installer/-/raw/main/empyrion_lcd_studio_setup.zip


    News and updates will be communicated in this thread as well as in the dedicated Discord server (link below).

    https://discord.gg/HKJ9sdfnmK

    [​IMG]
     
    #1
    Last edited: Jan 18, 2024
  2. Taelyn

    Taelyn Administrator Staff Member Community Manager

    • Developer
    • Administrator
    Joined:
    Oct 4, 2021
    Messages:
    760
    Likes Received:
    1,320
    Hello,

    Nice tool you made there :NewThumbsUp:

    Only please provide a download link here. We do not like the idea that you half announce here something and then direct players to a own platform.

    Our channels are not meant for this :NewSlightSmile:
    So please provide a link here aswell
     
    #2
    Myrmidon and NafreiuX like this.
  3. NafreiuX

    NafreiuX Captain

    Joined:
    Oct 16, 2015
    Messages:
    129
    Likes Received:
    326
    Thanks Taelyn, I've updated the post with a download link
     
    #3
    Taelyn likes this.
  4. NafreiuX

    NafreiuX Captain

    Joined:
    Oct 16, 2015
    Messages:
    129
    Likes Received:
    326
    Happy New Year! v1.1.0 is out!!

    New Features


    • Right-click menu: it's now possible to set the angle (pre-defined+custom values) or size (custom values) by right-clicking on any object.
      [​IMG]
      Note: rotation is disabled for text input objects by design.
    • Custom LCD size: You can now set the LCD width and height to any of the in-game values (File -> Setup).
      The LCD size settings are tied to a project and are retained when you save/load your project.
      [​IMG]

    Improvements

    • Zoom improvements: added 8x zoom level. The view is now centered around the the mouse cursor when zooming in/out.
    • You can now pan through the canvas by holding the middle mouse button.
    Installer
    https://gitlab.com/empyrionlcdstudio/els_installer/-/raw/main/empyrion_lcd_studio_setup.zip

    Discord server
    https://discord.gg/HKJ9sdfnmK
     
    #4
    Last edited: Jan 2, 2024
  5. Korgh

    Korgh Ensign

    Joined:
    Oct 11, 2022
    Messages:
    1
    Likes Received:
    1
    Very nice tool!!
    With this tool i avoid hours of pain and frustration.
    Thank you very much! Good job and have a nice new year.
     
    #5
    NafreiuX likes this.
  6. NafreiuX

    NafreiuX Captain

    Joined:
    Oct 16, 2015
    Messages:
    129
    Likes Received:
    326
    [Stable] v1.2

    Features:

    * It's now possible to edit any overlapping object/object behind via right-click menu, as long as the objects are in the position of the mouse cursor. (kudos to @Kodak for the idea)
    Added object highlighting via red rectangles to ease the selection process.


    * In addition to free drag/move tool, you can now move the symbol/text by setting specific canvas coordinates via right-click menu (kudos to @Kodak for the idea)
    Note: the canvas coordinates differ from lineheight and pos values in LCD code output.
    Use the 'mouse pos' (cursor position) information in the bottom toolbar for figuring out where you want to move the symbol/text on canvas.

    * You can now set color/alpha of any object via right-click menu.

    * It's now possible to set the grid spacing by choosing cell size from pre-defined values for better alignment accuracy (File -> Setup). (kudos to @jrandall for the idea)
    The settings are tied to individual project and are retained when saving/loading the project.
    The grid will be used for features like snapping/auto-alignment in the upcoming versions.

    Improvements:

    * Added support for size values with 0.01 precision (right-click -> set size). Current allowed values e.g. 12.24, 2.86 . (kudos to @Alessia for feedback)
    * QoL for angle box (right-click -> set angle): you can now activate the custom angle input simply by clicking on it.
    * LCD code compression: in order to optimize/save character count, first two syntax optimization rules have been added:
    float values ending with .00 and .0 are now replaced with integers, e.g. 12.0 -> 12

    Bugfixes:

    * Exception with hotkey sequence Ctrl+C (copy object) -> Ctrl+Z (undo)
    * Exception when clicking from right-click-menu-invoked box to canvas when any edit operation is enabled
    * Exception when clicking 'apply' in angle box if no option is selected
    * Copied text input object gets anchored on its center, resulting in incorrect position calculation
    * Multiple issues stemming from size_egs value set to 20.5 constant (e.g. right-click->set size box does not inherit the size value of the shape)

    [​IMG]
     
    #6
    Last edited: Jan 7, 2024
    SacredGlade likes this.
  7. NafreiuX

    NafreiuX Captain

    Joined:
    Oct 16, 2015
    Messages:
    129
    Likes Received:
    326
    [Stable] v1.3

    Features

    * You can now mirror/flip horizontally any shape (right click -> flip/reverse) .
    Limitations: you can flip symbols that have 0 degree angle/ have not been rotated (because of <rotate> and <scale> seem to negate each other).
    And vice versa, you wont be able to rotate the symbol if it has been flipped.
    You cannot flip text input objects either.
    * It's now possible to input hexcolor values to override the color picker (right click -> set color/alpha) (kudos to Allessia for suggestion).
    Note: The symbol color in LCD Studio will look different than in EGS.


    [​IMG]



    Improvements

    LCD code optimization: Added new rules:
    * lineheight dedup: if consecutive symbols share the same size,char, and line-height values, the <line-height=x> expression is printed only for the first symbol
    (kudos to Allesia for feedback)
    * pos dedup/indent: if consecutive symbols share the same size,char, and pos values, print the <indent=x> expression for the first symbol, do not print pos values for the rest in the group
    (kudos to Allesia and sulusdacor for feedback)


    Bugfixes


    * Some symbols are not visible in LCD code output (increased font size).
    * Exception when invoking right-click menu after loading a second project during same session.
    * Windows 'Import EGS Colors' and 'LCD code output' get automatically positioned behind the main window whenever the mouse cursor is moved onto the main window.
    * Not possible to enlarge text input objects when using fast resize. (kudos to higgins_ for spotting this bug)
    * Symbols get displaced after loading a project. (kudos to AllNamesUsed for providing test case)
     
    #7
    ravien_ff likes this.
  8. NafreiuX

    NafreiuX Captain

    Joined:
    Oct 16, 2015
    Messages:
    129
    Likes Received:
    326
    [Bugfix] v1.3.1

    Bugfixes:

    • Exception when selecting flip/reverse for text objects.
    • Exception when using 'set color/alpha' on text objects.
    • Exception when using resize tool on an empty canvas.
    kudos to @higgins_ for reporting the issues above.
    • <line-height> tag is missing for the first text object.
     
    #8
  9. NafreiuX

    NafreiuX Captain

    Joined:
    Oct 16, 2015
    Messages:
    129
    Likes Received:
    326
    [Bugfix] v1.3.2

    Bugfixes:
    • Using zoom in/out + moving/resizing a symbol causes symbol displacement in ELS (after save/load) -> in EGS (instantly) (@AllNamesUsed)
    • last-placed text object overrides textmeshpro code (line-height, pos, text string) on all previous text objects in code output (@higgins_)
    • <rotate=0> is not set for 1st text object if angle is not 0 for previous shape (@higgins_)
    • multiple exceptions when loading a project file containing at least one text object
     
    #9
  10. NafreiuX

    NafreiuX Captain

    Joined:
    Oct 16, 2015
    Messages:
    129
    Likes Received:
    326
    [Stable] v1.4

    Features:

    UI overhaul:
    • Introducing one-window UI layout with fully resizable/responsive panes!
    • Pane sizes are auto-saves into settings file and thus your adjustments to pane sizes should persist between application sessions.
    • NOTE: you might need to readjust the panes first time the application is loaded.
    New: Favorites tab
    • you can now add/remove any symbol button to favorites tab with right-click -> 'add to ★★★ ' / 'remove from ★★★'.
    • The favs are auto-saved into settings file and thus persist between application sessions.

    New: Stretch tool
    • you can stretch any symbol with free stretch mode. For fine-tuning the symbol stretch ratio you can also use right-click -> set stretch ratio.
    • Tip: if you input values between 0 and 1 in the set stretch box, the symbol will get squeezed.
    • Limitations: as with flipped/mirrored shapes, text objects cannot be stretched, as well as symbols that have angle value other than 0.
    • (kudos to @Allessia for demonstrating the mechanics of <scale> tag.)

    New: several helpers for troubleshooting flickering effect
    • Flickering can be understood as the visual glitch when certain symbols become invisible when one looks at the lcd from an angle below the horizon in-game.
    • It happens when two or more symbols belonging to different fonts are positioned on top of each other/intersecting each other.
    • It SHOULD NOT happen if the intersecting/overlayed symbols belong to the same font.
    • The buttons in shape library are color-coded to discern between different fonts, green color representing font X, blue - font S.
    • The info toolbar now has "font: " property which shows what font an object belongs to when one hovers over it in canvas.
    • By choosing File->Flickering or pressing Ctrl+F, every object in the project gets highlighted with color-coded rectangles.
    • Press ESC or Ctrl+F or File->Flickering to toggle this mode off.



    Improvements:

    • Ctrl+s invokes save dialog box

    Bugfixes:

    • incorrect line-height calculation of text objects (@starr274, @AllNamesUsed). NOTE: you might need to readjust the text objects in the tool in any pre-v1.4 saved project.
    • removed 'reset view' button for now as it was causing issues with canvas coordinate system.


    [​IMG]
     
    #10
  11. NafreiuX

    NafreiuX Captain

    Joined:
    Oct 16, 2015
    Messages:
    129
    Likes Received:
    326
    [Stable] v1.5


    [​IMG]

    Features:

    Select tool:
    * Select multiple shapes: click and hold left mouse button to form a rectangle. All the objects inside the rectangle will be selected.
    * When selected, objects are highlighted in black by default.
    * (de)select individual shape : SHIFT + LeftMouseClick or right-click menu -> (de)select
    * Clear selection with ESC


    Snap2grid mode:
    * Toggle on/off via "s" key or toolbar button.
    * When the shape is being moved, upon intersecting a grid line, the shape locks to the x axis (if the grid line is vertical) or y axis (if the grid line is horizontal) of the line.
    * Shape objects snap to center anchor, while text objects to the west/middle-right anchor. Those snapping "points" get highlighted via red cross.
    * When multiple objects are selected, the snapping is applied to the object directly below the mouse cursor.
    * In order to break the lock to axis, toggle the snap 2 grid off.
    * Kudos to @stan and @Alessia for feature request!
    * Tip: to utilize the full potential of this mode try experimenting with different grid cell sizes via File -> Setup (v.1.2).

    Freeze/unfreeze tool:
    * Accessible via right-click menu.
    * Frozen objects are locked and cannot be edited.
    * When selected, frozen objects are highlighted in TEAL.
    * By holding CTRL, you can override the lock.
    * You can choose (Edit -> Preferences) what the override does if the frozen object is among the selected multiple shapes.
    * The preference is recorded into settings file.
    * Kudos to @MadFaux for feature request!


    Color Calibration tool:
    * Tools -> Calibrate colors.
    * Use when the default calibration values provide unexpected results (like e.g. a green color being turned into black for in-game lcd code)
    * By tweaking the (H)ue, (S)aturation, (L)uminosity values and possibly find offsets that will reproduce the color from the in-tool to in-game one better.
    * Alternatively, uncheck the box to bypass the color calibration completely. Use case for global bypass would be e.g. if you have imported colors from EGS via Tools->Import EGS Colors.
    * Note: the adjusted HSL values are not retained after exiting the application atm. Lemme know if you want these settings recorded.


    Improvements:

    Text input overhaul:
    * You can now edit text !
    * Edit either via doubleclick or right-click -> edit text
    * The input is also no longer limited to alphanumeric chars only. You can now input any character from "Symbols" tab as well!
    * This should help with saving character space when designing horizontal shaping.
    * Limitations: you can only have chars that belong to the same font in a single text object.
    * kudos to @Ente and @Kodak for feature request!

    LCD code optimization:
    * if two objects are of the same size and share the same y axis, print them inline with only <pos> to adjust horizontally.
    * kudos to @Ente for feedback!

    Console:
    * added green-colored tips.

    Hotkeys:
    * Changed hotkey for File -> Save to Alt+s
    * Added Alt+l ; does the same as File -> Load
    * Added Alt+s ; does the same as File -> New

    Inspect-> Flickering:
    * Reduced the thickness of the outline of font highlight rectangles

    Help-> Controls:
    * reformatted text display
    * added descriptions for new hotkeys


    Bugfixes:

    • stretch ratios of symbols that have been stretched/squeezed are not retained upon loading a project
    • incorrect <pos> calculation for text objects (appear offset to the right) (thanks to @Kodak for reporting the bug)
    • exception on selecting a new project if the-already-loaded project contains text objects
    • <indent> is not applied for two or more consecutive text objects sharing the same <pos> value
    • Hotkeys Ctrl+z, Ctrl+f are not working if mouse cursor is outside canvas section
     
    #11

Share This Page