Profile image

[RESOURCE] Enhancing Button/Switch Labels and Text Labels using these "Rich Text" codes (UPDT'D Nov29)

4,167 Formula350  2.5 years ago

Shout out to user PlanariaLab for dropping enough breadcrumbs for me to follow back to the actual Unity Engine document, which in turn directed me to the official page of what's supported!


TL;Don'tCare - lol Go to this site for the supported code
NOTE: As I typed this post, I've noticed that unfortunately the page is not an exhausted list of what's supported! For example, <rotate=[degree value]> isn't listed, but does work in game.
As such, I highly suggest you at least read the section below marked Helpful Tips.
EDIT: Turns out said "rotate" function didn't rotate the entire label in unison, but actually rotates each letter in place, which actually is kind of cool on its own. (Although. I had hoped it would rotated the entire label so that "Curvature" could bend the text vertically instead of horizontally.)


In one of the Dev blogs it was mention that the text, for both Button Labels/Switch Labels and the actual Text Label part, would support a way to enhance it. I had thought it mentioned through HTML (CSS), which my research had yielded mostly-functional results using said HTML... however, it turns out it was Rich Text that was supported.

In PlanariaLab's upload for a "1 Part HUD", they mentioned in a comment where they had found code details needed to make theit HUD work, but unfortunately it wasn't in English. There WAS just enough in English that it gave me enough to go on, as the key term repeated on that page was "TextMeshPro".

That eventually led me to Unity's Documentation site, which... linked me to another page on their site, which FINALLY linked me to the documentation of what Rich Text code is supported!


It IS quite similar to HTML, and much of the stuff I had found for HTML coding, I was able to modify to work, but a lot of it didn't and that's why I went hunting for what IS supported.

Some of what's possible is ALREADY mapped to what's available in the Parts Setting menu, such as changing Font Size, Paragraph Alignment, or Styling (curvature or outline), but most of it is not, and requires you to accomplish it through the Rich Text 'code'.

A few that caught my eye were alpha color (aka transparency), mark, sprite, and style. I don't know if Sprite will actually work [Updated details below!], but I can see it being a HUGE boon for Modders, being able to include complex insignias through basically a "texture pack" which would be utilized simply by a Text Label! (Although, being able to upload our own and having it included inside our plane files, would be even better!)

Undocumented Features / Functionality:

Some things I've tried and have yielded successful results. (HTML code attempts)
- Value "Modifiers" --- For various codes, the values they accept can be defined through what I'll call "modifiers". Some examples that work are using %, and em (or e). A lack of modifier defaults to a "Multiple"; HOWEVER, this multiple is based on the the "Font Size" as though it's set to 100%, even if it isn't! Using % (and probably "em") DOES account for what you have "Font Size" set to. As such, in those instances, using a value of "1" is *not* the same as using "100%".
- <scale=[v.alue]> --- This stretches the characters horizontally, and will do so to every character until closed by using </scale>. The value supports decimals (hence, "v.alue"), but none of the aforementioned "modifiers" have any impact.
- <rotate=[degree]> --- This rotates the characters IN PLACE, by the value you entered which are "degrees". This does NOT rotate the entire box (the "part"), or "line" you've typed on. If you type a word, each letter rotates, and you'll then need to use built-in Fine Tuner to rotate the part itself. NOTE: There is also an XML variable exclusive to the "Labels", either on a Button/Switch or the actual Label part, designated rotation and can allow you to rotate the text box individually from the part. That's very handy when it comes to using Switches, as using the Rich Text <rotate=> allows you to vertically label switches without having to fighting with letter alignments!

Sprite Assets:

Ok! I went through that site and they mentioned inclusion of default sprites. Unfortunately, they're just emotes, with the sole useful one being a ? in a yellow square (however, we can change the 'color' of it!).
Utilizing them is as simple as typing in <sprite=#>, where # is any between 0 and 15.
Here's the list of what they correspond to (almost literally the same emojis are what displays) -- replace # with the following digit:
- <sprite=0> = 😊 Blushing smile -^_^- aka "Smiling face with Smiling Eyes"
- 1 = 😋 :P Tongue out aka "Face Savoring Food" (... uh, sssure lol)
- 2 😍 Smiling Face with Heart-Eyes
- 3 😎 Smiling Face with Sunglasses
- 4 😀 :D aka Grinning Face (but no lower teeth)
- 5 AND 8 😄 Grinning Face with Smiling Eyes
- 6 😂 XD aka Face with Tears of Joy (but no lower teeth or top tears)
- 7 😃 Grinning Face with Big Eyes (similar to 4 but taller eyes)
- 8 = 5 (repeat)
- 9 😅 Grinning Face with Sweat
- 10 😫 Tired Face
- 11 😜 Winking Face with Tongue
- 12 🟧 Orange Square ? (no example from Emojipedia)
- 13 🤣 Rolling on the Floor Laughing (closer to 6, but rotated 45deg)
- 14 🙂 :) aka "Slightly Smiling Face"
- 15 🙁 :( aka "Slightly Frowning Face"

Unique Characters

I've shared a single Label part that includes a wealth of unique characters that can be used for your cockpit or as large decals (I have so many plans on how to leverage this stuff!!!!).

https://www.simpleplanes.com/a/We5ro7/Text-Sub-Assembly-Unique-Font-Characters

UPDATE: Apparently the majority of these display on the website now?? At least, they did in the comment I made on the above part's page. Lets try here:

¯ _ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ?
????? ? ? ? ‹ › »
? ? ? ? ? ? ? • · ?
?? ¤ ? ? ? ?
? ? ? ? ™ ® ¼ ½ ¾
 ? ? ? ? ? £ ? € ? þ Þ Ø ø
? ? ? ? ? ? ? ? ? ? ? ?
/ ? ? ? ? ? ? ? ?
' ‘ ’ ‚ ? “ ” „ ? ' ? ? … ‰ ? ÷ ±
? ? n ? ? ? ? ? ° ² ³ º † ‡
? = - ? – — ? ¯ ? ¯
? Greek 'Delta'
EDIT: Nope, but they work in the Comments, so I put them down there, too, and pinned it.

Hopefully this helps give mobile users access to these characters, as I don't believe the majority accessible in the keyboards, and you'd have to use a website otherwise. (Please see my Nov 29 Changelog comment for how you can help!)

Limitations & Caveats:

These are some things that I've noticed during my time making labels, which technically at also "Tips", but deserved their own category on account of how they actually behave... or rather, misbehave.

  • You cannot use <rotate=[degree]> and <scale=[value]> together! They override each other, and whichever one is placed typed second is the one TextMesh Pro will use.

    • EXAMPLE: If you want to use one of the special Arrow characters, lets say the Left-Arrow specifically -- which this forum isn't capable of displaying so I'll use LA to represent it -- and then use <scale=8> on it to make it much much wider ("longer"), then... also have it rotated 90deg to use as a much larger looking Up-Arrow instead. Your code and results would be either of these:

    • <rotate=90><scale=8> LA </scale></rotate> --- Your Left-Arrow would get Scaled how you want it, but would NOT be Rotated.

    • <scale=8><rotate=90> LA </rotate></scale> --- Your Left-Arrow would this time be Rotated 90deg, but would NOT get Scaled.

  • THIS one may have been a temporary glitch I experienced, as I'm not able to reproduce it again (albeit with different text as I don't recall what it was before)... but I'm still going to mention this out of caution: There was a situation when no matter what I did, <cspace=[value]> was failing to "parse" -- aka, it was displaying the code instead of executing it. I was so confused I thought I was using the wrong code, trying variations with the same results: cspacing, c-space, c-spacing. (I might've been tired, and was accidentally using a : instead of =, which why that matters is noted below in Tips)

    • IN OTHER WORDS: There might be a special situation that causes this. If you encounter it, I'd suggest saving under a NEW name (just in case, so that you have a backup of your original file). Then restart SimplePlanes and see if it still happens. IF it does, I recommend documenting the situation and submitting it here as a Bug for the devs to look in to. Making a Private share of that and including that link in your report would probably also be good.

  • Using Underline (<u>your text here</u>) and the Curvature option will NOT curve the actual line under the text. This is a bug, but I highly doubt it'll ever get fixed since TextMesh Pro is a third-party Plugin for Unity Engine (and I don't know if the devs get a obfuscated module, or if they're just given the outright code and therefore could -technically- fix it).

    • PAINFUL SOLUTION: There is ONE way I've found to still accomplish this, but it's time consuming... Because there are so many factors that there isn't "one code for every purpose". The Font you're using, the Font Size, the Horizontal Anchor (Vert doesn't matter), and even your Label Width and Height, ALL impact the spacing value! For this example... "Military" @ 10% size, Left Anchoring, and I'll be underlining the phrase FAUX UNDERLINED TEXT:

    • STEP 1) At the -end- of that line, place <line-height=0>. (This is in the Tips, as to why it has to be on the line ABOVE the one you want raised)

    • STEP 2) Next, create a brand new line, then type (w/o quotes): "<cspace=0.0025>_</cspace></line-height>". (That's 21 separate underscores _ for this example) MAKE SURE to include the two ending parts for cspace and line-height, to "stop" them, as that is important if you plan to add more lines of text!

    • To Reiterate: that's a specific configuration, and it took me 5 or so minutes through trial-and-error, of finding out that exact CSpace value, while zoomed RIGHT in on the text, to make sure each Underscore was not overlapping the one next to it! That value will depends specifically on your chosen Font, and Font Size

    • This was a Best Case Scenario, where I want to underline the entire line above. Picking a single word in the middle of a sentence will require additional effort because you'll have to work out the spacing before your string of Underscores. Hitting spacebar is easiest, but not exact. You can still use them to get you close, and follow with adding <space=[v.alue]> to fine tune it. Or just use the Space code with a large value, either works.

    • The Anchoring plays its part by being how easy it is to then align your Underline with the Text. Every time you add a space, it only shifts the underline by about half that distance, which is why I used Left Anchoring, as it was easiest.

    • The Width and Height of the text field matters because this "faux underline" might require significantly more underscores than there are letters you're underlining. Unlikely, but, possible! Point is, that can result in "line-wrap", making your underline spill over to a new line, which will actually be the SAME line due to Line-Height being zero! lol Height doesn't play a huge role, but can still be a factor. Just start with each set higher than you need it to be, and size it down after you've finished.

  • The <font="[font name]"> and related 'Material' code, do NOT work unless you have the exact Font Asset name. Without it, the code does not parse and just displays it all in the Label. I'm suspect to say it does not work, period, as even when using "default" as the Font Name, which does actually """work""" (code goes away), the text doesn't change. Since I don't know the actual asset names, I can't definitively say it doesn't work, so for now I'm left to conclude it as such -- I copy/pasted the sample from the linked page, also tried using the name "Military", with no success.

Helpful Tips:

  • When entering in values for things, most do not care if they are wrapped in Quotation Marks. It doesn't hurt to include it, but it can save time by not having to always include them, once you figure out any that require it. (I suspect style might, or others whose value uses words or have spaced words that make up the value; or perhaps includes a colon.)

    • UPDATE: Some code will actually break when using quotes in the value, such a Color when wrapping the Hex in quotes. Others, like Space, if using an unsupported value type like %, will break withOUT quotes, but when using them will work -- albeit only using the value provided, ignoring the request for %. CONCLUSION-BASED RECOMMENDATION: Due to this, I recommend AVOIDING the use of Quotes, only using them as a last-resort, as I expect far less issues by not using them.

  • If attempting to use HTML/CSS (doesn't hurt to try), they have to have their : colon replaced with an = equals sign, otherwise it breaks the entered code, causing it to a) not function and b) display inside the Label.
  • For code that use Numbers... Try using negative values in order to create something unique!

    • EXAMPLE 1: the fonts in SP have the quotation marks facing the same way, but if you use <scale=-1, 1>"</scale> for the first quotation mark, it will mirror it and then look nicer when you add the second quote after the word.

    • EXAMPLE 2: the <indent=#> is what we traditionally use to... well, indent a line. However! If using the Center Horizontal Anchor (default) setting, you can actually use Indent to shift the line's contents both Right and Left of center! A normal, positive value will indent-right, whereas a negative value will in turn indent-left. This is helpful when trying to make graphical UIs or even just using text/characters as fuselage art, as using Center along with the Indent code will let you easily get symmetrical results.

  • Overlap things, to make even more shapes and indicators for labels!
    Examples: There are 4 Arrow characters (? ? ? ?) [figures the forum doesn't support these!] that work with the included fonts, along with a few of the extended Latin characters, such as Delta ? [or this], and the Currency Sign ¤. With the Delta and the Left or Right arrow on a second line, I've used line-height=0 to overlay the arrow directly over Delta. which makes for a great "Propeller Rotation" label. I also took two Currency Signs overlapped on top of each other using line-height again, with rotate=45 added just before the second ¤, and that made a nice "Lightbulb" or "Sun" decal. :D
  • Speaking of line-height, if you want the "line below" to be closer to the "line above it", add the <line-height=> code to the END of the "line above it", that way the line under it gets adjusted. (It will not work when added to the beginning of the line, for whatever the reason.) Just remember that all the other lines created will ALSO be adjusted, so if you only wanted a single line to be moved, be sure to add </line-height> so that all subsequent lines revert to using default line-height spacing.
  • There appears to be NO way to add blank spaces AFTER the last character of a line. This includes using Spacebar, or the supported <space=# Rich Text. So if for whatever situation you come to where either you want or need to adjust the "center" of text so that it's offset matches the line above (regardless of which line is longer/shorter), you'll have to use <indent=#> at the front of the line you want to offset, using a negative value to move a line further Left. (as mentioned in Example 2, above)
  • It's time we have a talk about the "em" unit... TL;DR - [ 0.27909em = 1 Spacebar space; 1em = ~3.58 Spacebar spaces. Decimal inputs are valid, allowing you to finely adjust how things look.] - Further details after the jump...

    • The "em" unit (pronounced exactly as the english letter M) is what a few of the Rich Text features use for input values. They may not require you to type, say, "1em" in for the value, but in the end it's what is being used and that's important to know! If you're interested in the history of it, you can go to the Wiki page about it., but there's not really anything it can tell you that will help here, primarily because... *cough* in the game, the letter M does _not_ equate to the distance of 1em with the fonts we have! (although Stencil comes close)

    • ...THAT being said... Two offhand examples are <space=#> and <indent=#>, where the number you input, as I mentioned, is represented in "em". What's worth knowing here is that the amount of blank spacing provided by an "em" is far larger than a single entry with Spacebar... specifically, 0.27909em = 1 Spacebar. Something to keep in mind if needing to line up stuff.

    • [BONUS DETAIL]: While figuring out the extremes of what can and can't be used in Space and Indent, I've concluded that <space=#> does not support the usage of % or px (pixel) value, as those characters get ignored if wrapped in Quotes and uses whatever number is there, OR, in % case will result in it actually breaking the code. Similarly, fractions or math equations are not supported (not that anything claimed they were... lol), and discards all of those using only the numbers left behind! Examples: 0.5/8 translates to it using a value of 0.58, however, 8/0.5 results in it using 80.5! (which will then result in that text being placed outside the 'bounds' of the Label's view field, i.e. vanishing from view)

  • Contrary to what the documentation page says about <color=`[value]>, it does not seem to support Plain Word representation for colors. I did not use a complex color either, just Red with first attempt being <color=Red>, but that 'broke' the code which caused it to fail to even parse; then I tried wrapping it in quotes with <color="Red">, but that yielded the same results; last I used a Hex value just to confirm it actually worked, which was met with success with using <color=#00FF00>. I attempted it with Quotes just to confirm Tip #1, and actually Quotes in this example it breaks it!

    • The <rotate=[degree]> rotates each letter/character directly in its spot, by that amount, for the entire line -- or until 'closed' with </rotate>. So typing in <rotate=90>HELLO will cause the word to now read Vertically, because each letter has been turned 90deg in place. Note, the letter-spacing will probably be too close and when using 90deg, to prevent overlap of characters, will require adjustment by using <cspace=[em value]> (Character Space) with a value of somewhere between 0.6 to 1.0, depending on the font and/or capitalization used.

  • TIP-CEPTION: The character spacing doesn't lend itself well to the Rotate function, so if your plan is to use it with words, ideally you'll want to either preface your text with <smallcaps> -- which turns lower-case letters into a shorter upper-case, which also adopts the capital letter's Character Spacing -- OR, type everything in ALL CAPS. If using either of those, then <cspace=0.6> should work well. (Although the capital i still has poor spacing and neighboring letters sit too close.)

Font Asset Names:

As of writing (game ver 1.11), these are the included Fonts "internal" naming, which really aren't useful to have given the <font="[Font Name]"> function doesn't work. Names were obtained by pasting in an 'unsupported character' into a Label and after switching the Label's font between them all, opening the Dev Console (it gives a "warning" about the unsupported character with the font).
They are:

  • Default = LiberationSans SDF (Surface)
  • Roboto = PartMaterial-Roboto-Regular SDF
  • Military = Jefferies SDF
  • 14-Segment = DSEG14Classic-Regular SDF
  • Stencil = AngkatanBersenjata-2OD4o SDF

Anyways, hope this helps!
With any luck, maybe a Dev can chime in by providing some of the missing functionality the site didn't cover, such as rotate (as mentioned in the TL;DC at the top) or how we could tap into the game's texture assets to use with sprite!

Shameless-plug - I made an "Emojicraft": Remotely Operated Flying Laughter copter.

  • Log in to leave a comment
  • Profile image
    4,167 Formula350

    The Unique Characters, as requested to be posted (which show up mostly as a ? in my main post). Note: Most of the Zero-Width characters do not seem to display here, at least in my browser they aren't.

    ▀ ▄ █ ▌ ▐ ▓ ▒ ░ ■ ▬
    ▲►▼◄← ↑ → ↓ ‹ › »
    ◊ ○ ◌ ● ◘ ◙ ◦ • ∙ ˑ
    ☺☻ ☼ ♀ ♂ ♪ ♫
    ♠ ♣ ♥ ♦ ™ ® ¼ ½ ¾
    Â Ⱡ ⱡ Ɫ Ᵽ Ɽ ₤ ₫ € ⱷ þ Þ Ø ø ¤
    ‪ ‫ ‬ ‭ ‮ ⁞      
    ⁄ ⸗ ꜗ ꜘ ꜙ ᷀ ᷂ ᷃ ᷊
    ˈ ‘ ’ ‚ ‛ “ ” „ ‟ ′ ″ ‴ … ‰ ‼ ÷ ±
    ᶠ ᶥ ⁿ ₐ ₑ ₒ ₓ ₔ ° ² ³ º † ‡
    ‖ ‗ − ‒ – — ― ¯ ‾ ˉ
    Δ Greek 'Delta'

    EDIT: @AndrewGarrison Not sure if this is a known Website Bug, but the above characters when posted in the main body, do not display; However, as you can see, they do just fine down here in the comments for some reason. (I'm out of my element here, but my suspicion would be main posts are encoded as ANSI, whereas comments are UTF-8/Unicode?)

    Pinned 2.4 years ago
  • Profile image
    1,173 mitsuki

    can a character be infinitely rotated for use as a engine decoration? im trying to make this ☼ character rotate like a turbojet

    2 months ago
  • Profile image
    1,158 Viper0219

    So I am trying to add a different language on a text label for a Japanese CH-47 but I don't know how to do the code for it. Does anyone know the codes for doing languages.

    11 months ago
  • Profile image

    @fleia262 thank you so much!! actually i had been somewhat successful at implementing a camouflage cycle. the cycle requires extra inputs in the variable table tho! check out this plane while spamming activate 1

    +1 1.2 years ago
  • Profile image
    3,763 fleia262

    @GorillaGuerrilla

    {(Activate5) ? "<color=green>" : "<color=white>"} PUT STUFF HERE <color=white>

    What's happening in that line is I'm stating that Activate 5 will turn the STUFF green, and in all other cases, it will be white. I put a second <color=white> after the STUFF to restore the original format, after every STUFF, as I've found that the following line of code doesn't always cooperate unless we keep things tidy. You can put all sorts of code into those <color> spots from the line, including <alpha=#00> to make the STUFF transparent. You can also replace the color words for actual HEX <color=#FFFFFF>.
    The line is good to copy and paste directly into your in-game text.

    I hope this is somewhat useful, and hopefully I explained it adequately!

    +2 1.3 years ago
  • Profile image

    Btw are touch screens a thing? (touching a image with a makeshift button and turning it on and off for a VR build?)

    1.4 years ago
  • Profile image

    How make black label, but that it becomes transparent when activated by any digit. And optionally, that when you activate, for example, the number 1, this same screen becomes transparent gradually ?

    +1 1.4 years ago
  • Profile image
    19.0k Axartar

    You absolute god send.

    1.5 years ago
  • Profile image
    7,323 WarringMunky

    @GorillaGuerrilla I don't know anything but I've seen code in the text entry field of labels, so maybe there can be motion like old BASIC displays I played with when I was a kid...

    +2 2.0 years ago
  • Profile image

    @WarringMunky @Formula350 @SnoWFLakE0s
    i am not that great at coding but i wish i can do something so hitting an activate button like activate5 would cycle the color on that label on a preset pool of color choices like the labels on this plane here

    +1 2.0 years ago
  • Profile image
    7,323 WarringMunky

    @Formula350 Thank you! @GuyFolk I asked you a question & I think this will answer.

    +1 2.1 years ago
  • Profile image
    4,167 Formula350

    @KingHandspider I'm working on getting it formatted and added to Snowflakeos' Funky Trees Guide, where it'll have its own Labels section!
    All of the above will be included, and eventually someone with knowledge about FT coding will add the further capabilities that can be done with Labels with FT code :)

    +1 2.4 years ago
  • Profile image

    @Formula350 replying for reference

    2.4 years ago
  • Profile image
    4,167 Formula350

    @SnoWFLakE0s This guide doesn't have that included because.......... I don't have the FT knowledge and hadn't gotten around to even looking at the code on that 1-Part Hud, to probe how it gets things done! lol (thanks for reminding me!)
    .
    As for having it hosted on your FT Guide site, that would be great! I'm sure everyone would greatly appreciate it in a static spot as well. :)
    Which, secretly, that was what I was using my "Change Log" comments for... to keep the thread periodically bumped :}

    2.4 years ago
  • Profile image
    66.7k SnoWFLakE0s

    Unsure why this doesn't have this yet, but dynamic tag properties are done by using curly brackets as with simply displaying FT values. For example, <rotate={Time}> would be something that works.
    .
    Quick plug--I was originally going to write the "label guide" as well, but life has been catching up to me and time is tight, so I've'nt been able to do so--but you seem to be doing a great job. Would you like to have this document hosted on the FT guide site? If you'd like, shoot me a message and I'll arrange for it.

    2.4 years ago
  • Profile image
    4,167 Formula350

    November 29th Changelog:
    - Added the "Font Asset Names", which lists the in-game font name to the internal "font asset" name for TextMesh Pro. (Useless info at the moment)
    - Uploaded a Label containing all the thus-far supported Unique Characters I've accumulated. I decided to do this so that Mobile users can download that make it into a Sub-Assembly, then copy-paste from it.
    ---- REQUEST: If any mobile users happen to use their keyboards to type in the various extended characters they have access to and find something not included, please share. Note: I only included obscure or symmetrical characters that could be used to stylize builds or interfaces. The "A" I included was for it's symmetrical element, but tried to stay away from non-English languages as to not offend anyone; the others in that row are Currency symbols. Thanks!

    2.4 years ago
  • Profile image
    4,167 Formula350

    November 27th Changelog:
    - Updated the "Limitations & Caveats" section to include that the <font="[Font name]"> code does not work. (I'm speculating, but I was unable to get any results with what I have access to.)


    Update #2:
    - Added a new section, "Undocumented Features / Functionality", to include things that are not included on the Official page. (Contradictions to what's on that page will go in the Limitations category, since that may be exclusive to how it's been implemented in SP.)
    ----- Includes info about value "Modifiers", the <rotate=[value]> I'd mentioned already, and the **<scale=[value]>&& feature... which I had mentioned in yesterday's 'Limitation' but didn't know it was an undocumented feature! lol

    2.5 years ago
  • Profile image
    4,167 Formula350

    November 26th Changelog:
    - Added section about "Limitations & Caveats" (functionality or incompatibility between code) that I'm finding
    ---- I may shuffle around some of the TIPS section that fit better with this category.
    .
    I'm toying with the idea of making this into a Google Doc, as the whole thing is more easily able to be formatted and thereby (hopefully) made more readable/easier to follow. Let me know if that'd be preferable?
    (and for anyone that ever needs to reach this thread easily, I have it -- and similarly helpful posts -- linked directly at the top of my profile's Bio section, for easy access.)
    .
    I also understand I'm... overly verbose in my... everything lol
    If ANYONE has suggestions --or even wants to help by outright editing-- for how to parse this down into either a more succinct format (ie just the facts, less the explanatory-rambling), that'd be great and I'm open to it!

    2.5 years ago
  • Profile image
    4,167 Formula350

    November 15th Changelog:
    - Added a Tip about use of Rotate.
    ---- That tip also happens to include a use-case for <cspacing=[em]> ... and <smallcaps> but what it does slightly self explanatory anyhow. (These both appear on the Documentation link either way, and its only Rotate that was needing mentioning.)

    2.5 years ago
  • Profile image
    4,167 Formula350

    November 11th Changelog:
    - Additions and Improvements to the "Helpful Tips" section.
    ---- Opted to utilize sub-bullet points since we're unable to use Line Breaks in bulleted lists :( Not optimal, but, a massive mega-paragraph is even worse, so this at least breaks it up like I desired.
    ---- Added "EXAMPLE 2" for the use of Negative values
    ---- Added a blurb about how Spaces of any kind are not utilized if added at the end of lines.
    ---- Added a Ted Talk on the "em" unit, describing how it works and gets applied in game with our Font(s).
    ---- Added the mentioning of <color=> apparently not. supporting Strings like the document page indicates.
    ---- Updated Tip #1 based on findings while adding Color's tip.

    2.5 years ago
  • Profile image
    4,167 Formula350

    @zwen Indeed. FT Code requires the = for most stuff, but it also DOES use a : quite often. Such as in the IF?THEN:ELSE which using it there does not functionally break FT, on the contrary, NOT using it there will break the FT code lol
    .
    Whereas with the Labels, use of the colon inside the < > Rich Text brackets, results in TextMesh Pro being unable to "parse" where's there, which causes it to literally be displayed on the label.
    So if you wanted a label to say: Engine FIRE Warning
    Where "FIRE" is also in larger in size in addition to bold, you would type in:

    Engine <b><size=200>FIRE</size></b> Warning

    However, typing it out like HTML formats it, using the Colon instead of Equals:

    Engine <b><size:200>FIRE</size></b> Warning

    Would result in the Label literally displaying: Engine <size:200>FIRE</size> Warning


    SimpleCheats is rather outdated now and there's a number of things either missing or lacking a full explanation, but even so, it indeed is still incredibly helpful! (Might even be some things that are incorrect now, but I don't know enough to say that with certainty)
    EXAMPLE: There's no mention of partCollisionResponse and what it accepts for values. By default it is filled in with Default, but None also works and that makes the part become invincible from taking kinetic damage (not sure about bullet or rocket/missile explosion though) -- as far as I can tell, at least. So crashing doesn't damage parts, nor do parts of your own built that can move and might make contacting other parts cause damage to themselves. The latter is the more useful aspect since that means mechanized contraptions won't harm themselves :)
    ANOTHER EXAMPLE: Certain parts Input or Action Group can be XML modified to None and others with Disabled, even though it isn't a choice in the Parts Setting menu, nor mentioned on the SimpleCheats page. Though, it does produce a Warning in the console, that said part is wanting a "True/False" but had "None" or "Disabled"... and yet not only does what you made function as you want, those parts also non-functional as you want! lol
    .
    (Granted, in that last example, it's probably more the game being like "HEY I DON'T KNOW WHAT TO DO WITH THIS! So..... I'm not going to do anything with it at all." Which, as it just so happens, that's exactly what we want it to do: nothing! heh)

    2.5 years ago
  • Profile image
    1,139 zwen

    @Formula350 I agree. There is a general lack of documentation around more advanced features (say XML). Still, I find this document helpful. But I do not know if it is extensive.

    2.5 years ago
  • Profile image
    1,139 zwen

    Actually {FTcode} is probably what you mean. It can be inserted anywhere following =. There is something not mentioned though. {FTcode;000} is a way to formulate the output display of numeric values. {FTcode?&quot;Atext&quot;:&quot;Btext&quot;} produces strings.

    2.5 years ago
  • Profile image
    2,664 Random04

    This is really helpful thanks a lot

    2.5 years ago
  • Profile image
    4,167 Formula350

    @SnoWFLakE0s I might be not following you correctly here, which wouldnt't be surprising given my lack of FT knowledge, but this <rotate=[value as degrees]> that I'm talking about is specifically for the Text inside the Labels and unrelated to FT. (as far as I understand it, since it's Rich Text related)
    .
    I imagine that with the proper know-how, that it could be, in combination with Variables -- and is probably how the 1-part HUDs -- it can have the [value in degrees] dynamically defined based on something determined by FT... However, that was beyond the scope of this post. The only reason I mentioned said 1-part HUD was to credit PlanariaLab and give a reason to link their upload heh (admittedly, I could've simply mentioned them, and left it at that)
    .
    On its own, the <rotate=#> is useful for many things, in reference just to using it in Labels. In conjunction with other Rich Text modifiers, it would effectively allow you to use a single Text Label to suffice for labeling any number of various different parts, despite the fact they're rotated 90; i.e. a 2-person cockpit with a center console that has text oriented for the person on that side to read it and would be 180deg rotated from the other person. Furthermore, that same Label part can still tackle any controls with seat-agnostic orientation -- technically if it were me, I'd have the Text Label facing that way to begin with, then the Left and Right side-specific labels would get Rich Text rotated by -90 and 90, respectfully.

    .

    If they had mentioned TextMesh Pro in the release notes/beta post, I must have somehow missed it. I did read both of them in full, but there was a lot of text to take in from both, which was why I had thought it mentioned HTML or CSS.
    Though it also might've been added after-the-fact, as I noticed on the Beta blog post that WNP had followed up with a couple comments, and I didn't even consider until now that the post itself could been updated (as I didn't read it over again, only doing a cursory CTRL+F a few days ago when trying to find where I thought I'd seen mention of HTML)


    While I have you, and am thinking about stuff I'd read but can't find details on again...
    Isn't there an XML item for the Rotators (not Hinge) that we could add, similar to disableBaseMesh, which would allow the Rotator to not ""unwind"" itself when deactivated? zeroOnDisable or resetWhenDiabled or... something?? I swear I saved it in a build or a .txt file of notes, bu

    2.5 years ago
  • Log in to see more comments