5.2.1 1235 Update released

  • #1, z SimonSThursday, 17. August 2023, 10:26 hodinky A year ago
    New things:

    - Text effects:
    These work like html tags, added around a region to make an effect.

    Bold / Italic
    You need to add these subtypes to your font in the font settings subtypes, first added is bold, next is italic. The others are selectable with numbers up to 5.
    Example:
    <b>Bold</b><i>Italic</i><0>Bold</0><1>italic</1><5>sixth subtype</5>

    Color
    Color is changed via hex color:
    <#f00>red</#><#0110ff>blue</#>

    Effects
    - Wiggle

    Short tag is wg, chars will move around wildly. Modifiers xs X-strength, ys Y-Strength, ts Time Scale.
    Examples:
    <f wiggle xs=2 ys=2 ts=0.1> <wg xs=2 ys=2 ts=2>

    - Pulse
    ww Wordwise, lw Letterwise, wt whole text, xs strength, is added to 1, so choose something small < 1, ts Time Scale
    <f pulse ww xs=0.1 ts=3.0>

    - Rainbow
    Modifiers w Rainbow width in characters, ts Time Scale
    <f rainbow w=30 ts=0.1>

    Transitions
    Types: MoveUp, MoveDown, MoveLeft, MoveRight, MoveRandom,
    Fade, Wipe, Scale
    ww Wordwise, lw Letterwise, wt whole text
    d Duration in seconds
    dl Delay in seconds
    rev Reverse
    Easing: Back, Bounce, Circ, Cubic, Elastic, Linear, None, Quad, Quart, Quint, Sine, add In, Out, InOut at the end

    Examples:
    <t Fade lw d=0.1 s=0.03 NoneOut> Typewriter
    <t Scale rev dl=2 s=0.2 ww> Scale out after 2 seconds
    <t MoveUp ww d=1.0 s=0.2 BounceOut> Bounce text up

    - Set default pause for new action parts
    - Batch rename objects
    - Color picker for particles from screen
    - Particles can have subparticles
    - Character stands at position instead of object (there is no direction yet, if needed I'll add that next update)
    - Ability to filter values for current scene in player console
    - VSceneAudioContainers is now scriptable allowing stopping and playing of containers
    Vis.GetGame().CurrentScene.AudioBusses.Add(AudioBusses["A Day On Elysium"]);
    - Save text offset and alignment
    game.CurrentScene.SaveTextOffset = {x=20,y=40}
    game.CurrentScene.SaveTextAlignment = 1 -- 0 left, 1 right, 2 center

    Changes:

    - Longer particle life (up to 100)
    - run on scene w/o save creates a temporary save now
    - Custom action parts now available in the selector dialog

    Bugfixes:

    - Playing a sound creates crackling and noise
    - Exported videos don't play if not separate
    - Spinner changed on zoom in with mouse wheel
    - Give all items to character messes up the order
    - Debug view does no syntax highlighting
    - Hiding showing snoops in the same frame not working

    Kapitán

    1582 Posts


  • #2, z logenFriday, 18. August 2023, 08:48 hodinky A year ago
    Text effects ignore shadows and display them from the getgo. They also override the set font colors to white upon use.

    Also does not work at all with image fonts.

    The fonts themselves should have a field for these so that we can set it up as the default, and not have to copy paste the code for the effects every time there's text displayed. If I want to use a 'typewriter' type out text effect for the whole game, it's going to be a pain to always  add it.

    Bažant

    2 Posts

  • #3, z afrlmeFriday, 18. August 2023, 13:47 hodinky A year ago
    Text effects ignore shadows and display them from the getgo. They also override the set font colors to white upon use.

    Also does not work at all with image fonts.

    The fonts themselves should have a field for these so that we can set it up as the default, and not have to copy paste the code for the effects every time there's text displayed. If I want to use a 'typewriter' type out text effect for the whole game, it's going to be a pain to always  add it.
    Ok, so Simon did actually create a prefix scripting solution but forgot to mention it.

    Create a definition type script in the scripting section of the editor & you can insert something like this into it...

    system.prefixText = "<t Fade lw d=0.1 s=0.25 NoneOut>" -- typewriter per character transition



    It would be possible to replace the time values with variables so that they could be dynamically adjusted to change the speed - or whatever the values do in the various other transition options.

    Imperátor

    7285 Posts

  • #4, z logenFriday, 18. August 2023, 15:19 hodinky A year ago
    Text effects ignore shadows and display them from the getgo. They also override the set font colors to white upon use.

    Also does not work at all with image fonts.

    The fonts themselves should have a field for these so that we can set it up as the default, and not have to copy paste the code for the effects every time there's text displayed. If I want to use a 'typewriter' type out text effect for the whole game, it's going to be a pain to always  add it.
    Ok, so Simon did actually create a prefix scripting solution but forgot to mention it.

    Create a definition type script in the scripting section of the editor & you can insert something like this into it...

    system.prefixText = "<t fade="" lw="" d="0.1" s="0.25" noneout="">" -- typewriter per character transition</t>



    It would be possible to replace the time values with variables so that they could be dynamically adjusted to change the speed - or whatever the values do in the various other transition options.
    Okay, but this affects object text as well., and I'm assuming everything else too.

    Bažant

    2 Posts

  • #5, z afrlmeFriday, 18. August 2023, 16:25 hodinky A year ago
    I haven't tested it so I'm not sure. Maybe Simon would be able to add another data structure option so we can decide what types of texts the prefix should get applied to.

    Anyway, he also mentioned that we should be able to update them via the various text event listeners/handlers too, but I'm not sure which one(s) yet as I haven't gotten round to testing them.

    Edit: Well, it doesn't seem to be working in the textStarted event handler, but I could be doing something wrong. By the way, you can just clear the prefix whenever you don't need it.

    system.prefixText = "" -- clear prefix text

    Though writing a function would make things much simpler for toggling or updating it as needed.

    Imperátor

    7285 Posts