TPT Snapshots / Betas

  • jacob1
    16th March Developer 0 Permalink
    @Jerehmia (View Post)
    We haven't made any changes to ambient air in the snapshots. Version 99.0 changed ambient air heat to improve heat convection, so the differences between hot and cold areas may cause more pronounced movement. The old code didn't create very much velocity when there were big differences in heat, but irl that would create a lot of wind. So that's how the change works.

    They make ambient heat / air flow look better, but could break old saves. For your save, you need to stop the CFLM from the thrusters reaching the piston arm and breaking it, some invisible VOID would do.

    We'll look into it anyway, maybe it could be changed to have less effect, or a compat switch could be added.
  • Jerehmia
    16th March Member 0 Permalink

    @jacob1

    I do realize the ambient heat code was changed earlier, but because mod makers don't update their mods and I use mods 99% of the time I wasn't aware of this before.

     

    The code change didn't just break the save I mentioned before, it broke/changed the behaviour of *every* save using ambient heat I made.

    • It broke the CFLM trusters in id:2944844 (fixed now by drastically reducing CFLM life)
    • It changed the behaviour of the atmosphere in id:2833331 much more WTRV is condensed into DSTW now so the save practically drowns in the downpour
    • The 24 power lines in id:3215137 are intended to produce uninterrupted power, the LITH that feeds the power is supposed to never run out of sparks completely, but because the reactor now produces less power due to reduced ambient heat flow the power beaks down.
    • It changes the ending of id:2931458

     

    I suspect the new ambient heat code subtly changes a lot more saves with ambient heat enabled if you let them run long enough, it's a game breaker.

    Edited 5 times by Jerehmia. Last: 16th March
  • Ximorro
    16th March Member 0 Permalink

    Hello friends, I need advice. I use sim.CreateParts a lot in the update function of my particles for instance to create fire, plasma, fireworks, etc... when the particle explodes or collides with certains other particles.

    With the new changes sim.CreateParts is restricted to interface events so how could I do this? Creating a ball of fire by creating all the particles one by one? Is there other ways of creating a bunch of particles in LUA?

     

  • LBPHacker
    16th March Developer 0 Permalink
    Definitely using your own circle drawing algorithm is the way. You can loop over all positions in a square centered where you want the circle with a side length twice the intended radius, and spawn a particle where the distance from the center (squared) is not above the radius (squared).
    Edited once by LBPHacker. Last: 16th March
  • Ximorro
    16th March Member 0 Permalink

    Thank you for your quick answer!

    Couldn't we get a native function for creating these particles? Or at least some helper.

    Creating this in LUA will be much slower... if I manage to do it.

    I'll try to watch the C code and see if I can translate it...

     

    Is it that important that this function is only a part of the interface? Maybe we could have something similar but detached from the brushes, if that's the problem.

    Edited once by Ximorro. Last: 16th March
  • LBPHacker
    16th March Developer 1 Permalink
    Your last suggestion is probably what we'll be doing, thanks for your input. sim.create* functions will likely be allowed to run in simulation contexts again in the next snapshot.
  • Ximorro
    16th March Member 0 Permalink

    THANKS A LOT! I really appreciate it!

  • jacob1
    7th May Developer 0 Permalink
    Snapshot 387 2025-05-07
    • Fix heat and deco not being handled properly when energy particles are absorbed into PIPE (since 385)
    • FOG/RIME can absorb gas to become acidic, condense to acid
    • Allow common use cases of sim.createParts/Line/Box in simulation contexts
    • Fix infinite loop on some platforms when particle velocity is NaN (since long ago)
    • Make heat display scale variable, enable dynamic heat display with Shift+6
    • Reduce gravity effects on ambient heat
    • Add 'console' command line argument, this opens a real console on Windows
    • Restrict some Lua API functionality to certain events, please check your scripts and report problems


    New snapshot. It's been a while. Aside from smaller changes, this has important changes to the Lua API. Some events may have restrictions imposed on what can be called where. See GitHub for details, or ask us. Most of the time, these restrictions are on things that don't make any sense to do, like changing the sim in CreateAllowed or changing an element's type in Create. We can help find alternatives, so test your scripts if they make use of those events.

    Also, there's a new role @Snapshot Ping on Discord for getting pinged whenever there's a new snapshot. I still plan to post here, but, if you want quicker updates on TPT changes then join Discord and self-assign that role.
    Edited once by jacob1. Last: 7th May
  • EnganK
    7th May Member 0 Permalink
    Finally, a way to synthesize ACID (and therefore CAUS, RFRG and ISOZ, which also means a new way to synthesize STNE) and a real use for FOG and RIME
    Can't wait to see ACID factories with this new reaction
  • Ximorro
    7th May Member 0 Permalink

    Thank you for the update! I asked about recovering createParts in simulation and about a more useful heat display so I'm very grateful. Still, I have some issues.

    a) Without changing anything sim.CreateParts() is still not working for me, I get error: "This funcionality is restricted to interface events". Has the call to sim.createParts() changed? I've checked the wiki and no change there though I understand changes will reach the wiki with a stable version, not with an snapshot.

    b) Could we have Dynamic Heat Display more like in Jacob's mod where you can fix min and max values? As it is now the screen is like a disco and with all that flashing I thought I was going to have a seizure, I'm not kidding, I had to stop it :-( With quick temperature changes (like having small explosions)  the whole screen changes colors very quickly. When fixing min and max heat values particles that don't change temperature don't change color so only parts of the screen where temperature change get also a color change.

     

    That said, thankyou for the update!