1 Initial version 2 Fix DRAY not working if the first space was empty 2 Improve / Fix DRAY .ctype 2 Fix creating WIND from Lua, fix crash with sim.floodWalls(1,1,4,0) 3 No longer error when opening saves from a newer version 3 No longer allow opening corrupted saves and voting on them 3 Adding a comment updates the total number of pages 3 Prevent element buttons from glitching out when names are longer than 7 characters 3 Support longer changelogs 4 Add minimumVersion flag to saves which has the minimum version a save is openable with 4 Show error message when opening corrupted stamps 4 cracker64 did a bunch of minor efficiency improvements to these elements: ARAY, BIZR, BOYL, BREC, CBNW, CLST =(, COAL, CRMC, DCEL, DEUT, EMP, QRTZ, SOAP 5 Fix DEUT absorption rate (broken in last snapshot) 5 More cracker64 efficiency improvements to FWRK, GLAS, PUMP, SING, URAN, and TTAN 7 Fix json library failing to parse some json with invalid save titles 7 Fix edge mode not loading properly in saves 7 Fix options menu to show the edge mode the current save uses instead of the global one 7 Everything in snapshot 6: 7 New sim.gspeed function to set GoL speed 7 Fix empty save searches returning "Unspecified Error" 7 Show cursor when drawing even if mouse is out of bounds 7 Fix wall brush displaying incorrectly when drawing ctrl-boxes 7 Update last active tool & ctrl/shift state on mouse down 7 Reupload -> Re-upload 8 Fix 'Prev' button placement (off by 1 pixel) 8 Fix liquids moving through walls with streamlines under them 8 CONV tmp value can now be used to set an element to be converted, no other elements will be(will break saves saved in previous snapshots with CONV(LIFE)) 8 Warning here that since these are snapshots, saves you make in them may not load currectly in future versions 9 Fix DLAY and CRAY with .tmp or .tmp2 set not loading correctly 10 Fix really fast particles moving through EHOLE 11 .tmp2 shows in the HUD for elements which use it 12 Fix compatibility with stacked PSTN in older saves 12 Add LCRY, BUBW, TSNS, DTEC, and PSTN to .tmp2 HUD list 13 don't add extra newlines when downloading scripts via tpt.getscript 13 Only show wavelengths in HUD if there is at least one valid wavelength 14 Completely new build server 14 Fix a potential crash when messing with SOAP in the console 14 Fix autorun.lua sometimes causing "infinite loop" errors and not running 15 Bzip2 and zlib are static again 15 Fix flood fill delete on normal particles also deleting photons 15 Change shift+wind tool to not always act like alt was pressed 15 Remove "Unspecified Error" 16 Readd "Unspecified Error" (removing it didn't help) 17 Fix crash when doing simulation = nil in console 17 Fix 'large screen' description 17 Overwriting a local save updates the reload button save now 17 Add "Saved Successfully" message when overwriting a local save 18 Ctrl+a support in labels 18 Change AMTR and MORT to TYPE_GAS, and THDR to TYPE_ENERGY 18 Use .Properties instead of .Falldown to determine if an element can move through walls 18 Revert FIRE, SMKE, and CO2 to a a .Falldown of 1, to fix movement in some saves 18 Remove all usage of .State 18 Make sure old lua scripts that still set .State still work properly 19 Fix being unable to set floating point values in element.property (broke scripts) 19 Fix STKM being unable to pick up most energy particles, or LOLZ/LOVE (broken in previous snapshot) 19 Redo EMP triggering to fix all lag when multiple EMP go off at once 19 Reduce ETRD lag (prevents most ETRD lag bombs) 19 Make sure ETRD can't conduct to particles before their .life cooldown period runs out 20 Fix NTCT / PTCT / INWR triggering EMP blasts ... 21 Newtonian Gravity sources inside of a no gravity grav wall zone no longer generate gravity 21 PHOT going through turned off GPMP turns into GRVT (GRVT .tmp depends on the GPMP temp) 22 Change CRMC creation reaction from BREL + LAVA(CLST) to LAVA(QRTZ) + LAVA(CLST) 23 Fix FIRE still being able to go through powder wall (+ some other elements) 23 Prevent *all* Newtonian Gravity sources when inside a grav wall zone (lua + gravity tools) 23 Add ctrl+f shortcut to easily locate elements 23 Fix selected deco color being reset to 0x00000000 when loading a lua element 24 Fix LIGH not defaulting to life of 30 with clones / console (separate t and v argument in create_part) 25 Make jacobot / boxmein have blue nicks in save comments 28 Replace cajun (library used to parse json) with jsoncpp (a better library) 28 Note: some settings (render modes, deco color) will be reset 30 Change the first argument passed to lua keypress function, so that scripts can properly support alternate keyboard layouts 30 On first run, show a prompt when it automatically selects double screen size 31 Prevent errors being printed to stderr when opening saves 31 New debug mode: tpt.setdebug(0x8). Enables subframe particle debugging. Alt+f will advance simulation by one particle, Shift+f will advance it to the particle under the mouse. 32 Remove beta flag, these snapshots will now match current tpt development while allowing you to upload saves 33 Compiled with -O2 instead of -O3 35 Fix progress bar disappearing on hover in local save browser 35 Loop edge mode: allow particles to have velocities greater than the size of the screen 35 Stickman now has terminal velocity in loop edge mode 35 Fix PBCN(LIGH) 35 Don't remder AMTR as a gas 36 Further improvements to overall system stability and other minor adjustments have been made to enhance the user experience 37 Rewrite threading / http requests in save preview, should fix random crashes 38 Add red/cyan 3D setting in options 38 THDR is no longer an energy particle 38 Some fixes to how edge mode / double scale mode are saved to powder.pref 39 Add MIX tool by Simon, mixes powders around, for landscapes 40 Fix 'n' toggle also resetting air 40 Fix first argument to keyup lua events 40 Fix ctrl/shift strength modifiers for MIX tool 41 Update .life properly when using particle debug shortcuts 41 Change setting description, "3d glasses" -> "3D anaglyph" 41 Download now packaged with README and LICENSE! 42 Force a stacking check when undoing 42 Fix gravity field appearing after ctrl+z even if gravity is off 42 Update a few element descriptions 43 Fix first argument to lua keydown events when holding ctrl 44 Remove debugging thing that broke left ctrl 45 Add favorites menu, by Me4502 (ctrl+shift+left/right click to add/remove) 46 Don't reset edge mode when saving local saves 47 Less scary report message 47 Fix not being able to turn off FIND tool when a life element is selected 47 New Lua functions: tpt.num_menus and tpt.menu_enabled (allows hiding menusections) 47 Changes to allow mods to support the starcatcher build & update server (PM jacob1 for details) 48 Fix blank screen when hitting "Cancel" on double screen dialog 48 Minor performance increase 48 Make MIX tool work with liquids and gasses too 49 Fix double screen dialog fail 50 Limit MERC to valid .tmp range 50 Extra sanity check in STKM (could fix crash under extreme gravity) 51 New favorites menu icons 52 RPEL's ctype sets the element it repels 52 Another fix for lua key events 52 MIX won't mix together elements with different states now 52 Add help text to favorite's menu tooltip when the list is empty 52 Allow using C/F for temperature in PROP tool 52 Fix LIFE tool sampling 52 Change version number to 91.4 build 329 53 Fix crash when using custom lua elements and the favorites menu at the same time 53 Allow favoriting elements from the search UI 53 Hidden elements now show up in the favorites menu 53 Heart icon now shows on selected favorited elements 53 I compiled this snapshot two days ago but forgot to release it. Releasing it now, although 91.5 is out and I will do snapshot 54 in a few moments 54 Prevent diffusion of stored water between GEL and SPNG if no water is stored 54 Fix PIPE with STKM being invisible 54 Allow changing WHOL strengh with .tmp (like BHOL) 54 Fix not being able to undo stamp placement 54 Saves using RPEL with ctype require 91.4 and saves using WHOL tmp require 91.5 54 Minor text fixes 54 Change version number to 91.5 build 330 55 Two experimental elements by Simon - one which conducts heat rapidly, and another which floats on top of water 55 Allow snapshots to continue to publish saves as long as they don't use new elements/features 56 Prevent exit() in save data parsing library with certain invalid saves 56 Fix typo in BRMT's description 56 When installing (ctrl+i), an entry in the desktop menu is now created 56 Fix unpausing while in the middle of particle debugging 56 Enable Simon's new test element: E182 (some kind of nuclear fuel) 57 Fix floating point celcius in console: !set temp all 0.8C 57 CRAY copies own .life to the particles it creates 57 New elements by cxi: RFRG and RFGL. Some kind of refrigerant, see id:2038399 for an example 58 Fix crash with really high speed photons 58 Fix particle debug when unpaused 58 Some internal loop edge mode fixes 58 Fix bug with conservation of energy in RFGL 59 Fix potential crash when SPRK with no ctype is killed by PROT 60 Disable STKM controls when pasting saves 63 Fix issue where non-scrollable menus are stuck "scrolled" 63 Fix particle debugging issue with particle #0 63 Add sim.brush lua function, an iterator which returns a list of brush locations 63 Add two new FILT modes, red/blue shift based only on ctype 64 Add multiple undo and redo support - edit powder.pref to control the amount of undos (default: 1) 66 Reduce ctrl+z memory usage 66 Add ctrl+shift+z as alternative shortcut for ctrl+y 66 Fix two blank undo states always being created at startup 67 Fix crash when doing Textbox.new() 67 Fix ctrl+z crash if there was no undo history 67 Move UndoHistoryLimit preference location, update default to 5 68 Fix issue with air sim that could cause massive lag after leaving TPT idle for 20 minutes 69 Fix typo, Gasses -> Gases 69 Change README to markdown 69 Fix a few potential memory leaks 69 Take history snapshot before loading save 69 Fix downvote button not being reset when opening a local save 70 Fix subframe WIFI cooldown issue 71 Fix favorites being able to be added multiple times 71 Fix debug portal lines to the highest ID particle not working 72 Changes by Skylark: 72 Double the preciseness of photon refracting 72 Photon refracting efficiency improvement 72 CRMC now slightly scatters photons when reflecting 72 BGLA now scatters photons 72 PQRT scatters photons like QRTZ does 72 C5 frequency doubling, id:2087410 72 Make GRAV prettier 73 Fix some piston bugs that could cause it to not push as far as it can 73 Add optional sizeX, sizeY, brushID arguments to sim.brush 73 Fix cache value from lua graphics function being ignored 74 Make FRAY and INVS customizable via .tmp 75 C5 shows PHOT colors in debug HUD 75 Pressure and air velocity are now saved in saves 75 Redo RFGL and RFRG to be simpler and more realistic 75 New element: LSNS (life sensor) 76 Save ambient heat in saves 76 CRAY(LIGH) defaults to LIGH with .life 30 76 Fix high hexadecimal numbers working when setting type with PROP tool (can cause crashes) 76 Misc code cleanup 77 Fix ambient heat being reset when creating saves 78 Proper ctrl+backspace support (doesn't delete entire textbox) 78 Fix QRTZ killing life=0 PHOT 78 Add sim.TOOL_MIX to Lua API 78 Fix PHOT/PLSM not following the correct heat scale in heat view 79 Rename E180 to HEAC (Rapid heat conductor) 79 HEAC now also conducts heat to photons 79 Rename E181 to SAWD (sawdust) 79 SAWD is created by high velocity particles hitting WOOD 79 Rename E182 to POLO (Polonium) 79 Add new POLO+PROT->PLUT reaction, POLO now melts at 253.8C 79 Make Mrprocom's name blue in comments 80 Add warning messages when certain words are found in comments ("stolen", asking for votes, swearing) 80 Add error message when attempting to login using an email address 80 Sign justification is now called pointer alignment, new sign icons 81 Remove PROP_LIFE_DEC from some elements that don't need it 81 HEAC is now meltable via LIGH 81 Fix HEAC being dissolved by ACID 81 Fix BOMB explosions being able to delete energy particles 81 Minor VIBR heat releasing fix 81 RFRG+NEUT = GAS/CAUS 82 Make sure STKM / other particle graphics aren't drawn over the menus 82 HEAC now checks for insulators 83 Fix POLO not bring marked as a powder 83 Fix deco colors being 1 R/G/B value less than they should be 83 Fixes to palette in saves (ensures lua elements get the proper ID based on identifier) 83 CRAY can create FILT with .tmp already set 83 GAS+CAUS+pressure = RFRG 83 Move HEAC to solids menu 84 Add PROP_LIFE_DEC back to GLOW, fixes GLOW+PHOT reaction 85 {aheat} signs now in Celcius 85 BCOL + NEUT -> SAWD (matches existing COAL + NEUT reaction) 85 Differentiate between created date / updated date in save preview 85 Workaround for incorrect 404 save 86 Add logging inside saves which remembers which other saves material was taken from 86 Temporary ctrl+a shortcut for debugging this feature 86 Fix crash when attempting to save certain invalid signs 87 Fix tpt.parts issue that could read/write values from dead particles 87 Fix typo in PLUT description 87 POLO can now be made from PROT acceleration reaction 87 Source code refactoring: #include dependencies 88 Undo authors changes on ctrl+z, prevent excessive nesting, other authors fixes 88 Add new PhotonReflectWavelengths property, add reflection color for POLO 88 sim.signs.delete() api function 88 tpt.parts: only prevent writing to dead particles, not reading 89 Change version number to 92.0 89 Ctrl+a shortcut is now moderator only 89 Ensure DMG turns WOOD to SAWD 89 Fix HEAC conducting to HSWC which is turned off 89 "Failed to x" messages in save browser are no longer arbitrarily yellow 90 Turned off HSWC acts as insulator for HEAC 90 Fix FIGH spawning glitch: id:2165807 90 Fix -nan RFRG glitch 91 Remove useless debug print in !set 91 Authors fixes: fix duplication on loading/saving local saves that can cause saves to be slow to open 91 Attempt to fix crash when zooming in on signs 91 Fix ctrl+f shortcut not working with particle debugging enabled 92 Fix lack of circle EMBR in BOMB explosion 92 Fix RFRG description typo (use more common spelling) 92 Hide .tmp in HUD for RFRG and RFGL 92 Fix Lua being compiled without io.popen support 93 Ensure air doesn't "leak" out of TTAN containers when loading stamps and saves 93 Hold shift when saving or loading stamps to not save / load pressure 94 Fix pressure in HUD 94 'enter' closes SaveIDMessage interface after uploading a save 95 Fix newtonian gravity state transitions flashing 96 Change version number to 92.1 96 Use ip address instead of DNS temporarily 97 Use official DNS again 97 Fix undoing while unpaused setting .life incorrectly, breaking some saves 98 Fix crash with BOMB explosion 98 Add sim.takeSnapshot lua function 99 Fix buffer overflow in luasocket library 99 Fix illuminati symbols appearing when rescanning stamps 99 Remove 'r' record shortcut 99 Add tpt.record function 99 Recordings now go into recordings//, where timestamp is the time the recording was started. is returned by the tpt.record function. Each new recording starts the filenames over at 0 again. 99 Now uses luajit, which gives a 10-40% speed boost when running lua scripts. 99 Fix issue with molten STKM that could break the simulation and cause crashes 99 Change version number to 92.5 100 CRAY wall checking fix (potential crash?) 100 Autoexpand stamp when particles are translated out of boundaries (arrow keys) 100 Translate wall grids when shifting stamps by more than 4 pixels 102 Newtonian Gravity infotip now shows when using key shortcut 102 Fix crash when using tpt.start_getPartIndex 102 Potentially fix crash on exit (very hard to reproduce so not sure) 103 Tooltips now show in element search 103 TSNS with .tmp=1 can be used to digitize temperatures into FILT 103 HSWC with .tmp=1 can be used to read back those temperatures into FILT/PHOT/BRAY 103 Add support for additional scale modes beyond scale 2, if your screen is large enough 104 Fix SOAP links not saving / loading properly (stamps) 104 Fix ambient heat not loading in ctrl+c paste 104 Fix pressure resetting to 0 when loading saves without pressure 105 Fix everything being laggy 106 Fix issue where stamps would stack if you loaded multiple in one frame 106 Sort local saves alphabetically 106 Fix issue loading manually created SOAP bubbles in some saves 107 Update to C++11, now used in save building / loading code 107 Fix division by 0 in PHOT+C5 interaction, now shoots photon off at a 90 degree angle instead of causing infinite velocity 107 Sort local saves alphabetically, accounting for upper/lowercase 108 Double the element ID limit to 512 (9 bits) 108 Update save format to optionally support two byte types 108 Replace all pmap bitshifts & bitmasks with macros 108 PIPE element stored in .ctype, PIPE colors stored in .tmp 108 Add conversion code to convert older PIPE/CRAY/DRAY to 9 bit element types 108 Disallow uploading saves with PIPE or two byte types 108 elem.allocate prefers one byte element IDs unless they are all out 108 Add sim.PMAPBITS and sim.PMAPMASK Lua constants 109 Fix STOR->PRTI transfer 110 Fix STOR->PIPE transfer 111 ctrl+p shortcut to select PROP tool 111 ctrl+shift+p shortcut to select PROP tool to right click 111 Fix debug print in PLNT making it really laggy 112 Fix undoing changes in gravity mask (gravity wall) 112 Add new cyclone tool 113 Add -flto, should give a notable speed boost 113 Fix free particle list messing up during particle debug 114 Remove -flto, for some reason it makes the game significantly slower 115 Fix ambient heat going to high negative values with high life LIGH 115 More accurate (circular) O2 fusion calculation 115 Prevent people from stealing the 404 save 115 Digitization (PSNS) and Application of Digitized Pressure (PUMP) 115 Add hidden Simulation.LoadPressure and Simulation.IncludePressure powder.pref settings to set whether to load / save pressure in saves by default 115 Add limits on temperature serialization to valid temperature ranges 115 Only unserialize from FILT 1 pixel away 115 Ensure serialization only works through FILT, not sometimes PHOT or BRAY 115 HSWC with .tmp of 1 no longer conducts heat to FILT 115 When finding particles, show how many were found in HUD 116 Fix potential crash with PROT + SPRK(SPWN) 116 Saves using temperature/pressure serialization feature mark themselves as requiring 93.0 116 Add ctrl+q shortcut to exit the game from anywhere 117 Changes / improvements to save loading, to prepare for 93.0 117 Save palette now works for elements stored in ctype/tmp/tmp2 (this is the thing that converts lua element IDs when they are reordered) 117 Change TSNS/HSWC/PSNS/PUMP .tmp to 0 when loading older saves 118 Fix STKM + fan wall 118 Save stickmen rocket boots / fan flag in saves 119 Remove temporary snapshot save compatibility code 119 Saves containing PIPE or PPIP made in recent 93.0 snapshots will not load correctly 119 Change version number to 93.1.338 120 Fix solar panels sometimes not working 120 Allow thumbnails to render on saves using certain 93.0 features 120 Adjust SOAP links to non-SOAP particles properly when saving 120 Change version number to 93.3.340 121 Fix obscure division by 0 issue with MERC 122 Add STATIS wall, elements inside don't move / update until powered 122 STATIS wall must be powered via another powered wall 123 Make cyclone tool faster 124 Fix single-particle PSTN bug 124 Update build server / compiler 125 New element: RAYT 126 Fix memory leak when viewing saves 126 Fix memory leak when loading stamps with 'l' 126 Fix large memory leak when saving stamps 127 Add inverted mode for TSNS and PSNS with .tmp = 2 128 Fix another minor memory leak + redo some update code handling 128 Use xoroshiro128+ random generator, should be much faster than built-in rand() 128 Make Cyclone tool faster 129 Update rng calls in a few places to fix severe pressure / other bugs 129 The rest of the rng updates will come later, to fix the bugs caused by returning an unsigned int instead of an int 129 Fix crash when particles are out of bounds 130 Fix another crash when particles are out of bounds 130 Fix occasional issue where deleting the particle RAYT is detecting would delete the particle it is sparking instead 130 Update rng calls for elements up to 'P' reverse alphabetically, may fix bugs 131 Update the rest of the rng calls 131 Fix single pixel pipe 132 Add unicode support. This will eventually allow us to translate the game into other languages 132 All string handling everywhere has been changed to support unicode. Please watch out for and report any bugs you see 132 Fix CLNE 133 Fix getting / setting Description with Lua elements API 134 Fix float parsing in PROP tool 134 Fix getting / setting string properties in legacy lua api 135 Fix error messages when adding tags and loading / creating saves being corrupted 135 Fix FIND mode turning off when selecting elements 136 Upgrade to SDL 2 136 This is a major upgrade, which greatly improves video and input handling 136 Add "resizable window" option. Turning this setting on may make TPT look a little blurry 136 Fullscreen is now instant and no longer changes your screen resolution. The option to use old fullscreen is still there 136 Redo text input handling. This will allow for unicode input soon 136 The redone input handling breaks most Lua scripts which listen for key events, such as tptmp. There is no replacement text input API at the moment 136 Improve screen size detection, now checks the correct monitor and accounts for any docks / panels 136 Bug note: Sometimes the window icon doesn't work, and I have no idea why 137 Fix glibc 2.27 (released late last year) being required 138 Fix issues with scrolling 139 Fix scrolling being inversed in the save / stamp browsers 140 Fix Saves/ appearing before all saves in local save browser 140 Make FPS update less often in HUD 140 Fix blue line in smudge tool texture 141 Update in-game rules to match the new TPT rules 141 Rename RAYT to LDTC (linear detector). RAYT in existing saves will disappear. 141 Fix PIPE being reversed 142 Make ctrl+shift+click toggle favorite status 142 Check for correct prefix in PROP hex decoding (0 -> #) 143 Fix typo in favorites menu 143 Fix stasis wall not having blob mode effects 143 Rewrite LDTC to be less buggy: 143 Max range not checked properly in certain directions 143 Off by 1 error in tmp 143 Out of bounds check in wrong spot 143 Issues with filter mode 143 Incorrect default temp / airloss properties 143 Show LDTC tmp2 in HUD 143 Allow PROP tool to parse particle type for tmp 143 Show CONV tmp as element name in HUD 144 Domain expired, use tpt.starcatcher.us instead for now 145 Fix default elements disappearing when loading saves if the identifiers don't match 145 Fix "publish" button in save browser 146 Fix particle #0 not being removed from the photons map when moving 147 Fix elem.element crash 148 Add a message while fetching the motd 148 Fix dray with tmp=0 acting weirdly 149 Add new event. api, replaces legacy event functions 149 Embed a compatibility script to replicate the old api in the new one (this fixes tptmp support) 149 Documentation for new api will be put on the wiki at some point 150 Fix issue where executable couldn't be launched from some file managers 151 Fix sim.brush using diameter instead of radius 151 Transfer properties of COAL breaking into BCOL 151 Add event.blur, called when opening another interface window 151 eventcompat.lua: Add shift mapping for US keyboard layout 152 Fix incorrect time format being used sometimes when not in UTC timezone 152 Change time format for old dates, instead of "Dec 2018" now says "29 Dec 2018" 154 Fix gravity sometimes persisting a frame after ctrl+z / clearing sim 155 New icon - falling sand pile 157 Newer icon - now slightly larger and with a gradient 158 Older icon - ok I'm just going to keep using the original icon for now because I can't make this look good 158 Original icon is now 128x128 159 Ignore mouse button 4/5 when drawing 159 Update README date 159 Don't allow right click -> select a save when you aren't logged in 159 Restrict saves to version 94.0 when they use newer elements / features 159 Fix issues sampling GoL elements 159 Fix FIND tool finding all GoL types instead of just the one you had selected 159 Fix uncaught exception in console when trying to parse invalid numbers 159 Change version number to 94.0 build 342 160 Add "Force Integer Scaling" option for fullscreen 160 Recreate the window when enabling resizable window (Fixes some issues on Windows) 160 Recreate the window when toggling fullscreen, to work around some bugs where the window is sized incorrectly or the mouse position doesn't match where the cursor is 160 Fix issues when disabling resizable window while window is maximized 161 Keyboard shortcuts are now based on en-US layout, no matter what layout you actually use 161 This fixes things like 'y' and 'z' being reversed on QWERTZ keyboard layouts, now, 'y' will continue to be zoom 162 Fix issue on QWERTZ keyboard layouts where the first key input after opening the console would be ignored 162 Fix window glitching out when toggling "Change Resolution" while fullscreen is already enabled 163 GoL is now affected by stasis wall 163 Change version number to 94.1 build 343 164 Fix stamp and local save thumbnails being stretched 164 Thumbnails (all types) now load much faster 164 Increase local browser ui size to make thumbnails larger 165 Add Lua api to control zoom windows: ren.zoomEnabled, ren.zoomWindow, ren.zoomScope, courtesy of @ssccsscc 165 Large refactoring by @LBPHacker, refactor all http code to route through Request, delete RequestBroker, refactor thumbnail rendering 165 Thumbnails now show up immediately when ready, instead of being delayed by 1/10 of a second (or 1 full second in the 94.1 release version) 166 Fix crash when exiting local save browser before all thumbnails load 166 code refactoring (virtual -> override) 167 Fix updater 167 If you are on snapshot 165 or 166, redownload the snapshots at https://starcatcher.us/TPT/Download/Snapshot%20linux64.zip 168 Allow unicode in element names (useful for Lua scripts) 168 Replace http.cpp with libcurl, a proper http library 168 Use https for all requests - communications to the TPT server are now encrypted 169 Fix potential crash when opening stamp / local save browser or uploading a save 170 Fix memory leak in local save browser 170 Fix saving/loading window position on 2nd monitor 171 Fix "Error loading save" stamps appearing when using tptmp 171 Fix replace mode not affecting energy particles 171 Fix replace mode not working with Lua elements 171 Don't allow enabling both replace mode and specific delete at the same time 171 Fix pressure / ambient heat being saved as 0 instead of not at all when holding shift 171 Fix GLAS, TUNG and QRTZ breaking on load when saved at high pressures 171 Add new sign types: {type}, {ctype}, {life}, {tmp}, {tmp2} 171 These sign types now use substitution, you can make a sign such as "{type} with ctype {ctype}" and both will be replaced 171 Convert old {t} / {p} signs to say "Temp: {t}" and "Pressure: {p}" 171 PIPE with lava now shows in HUD as "PIPE with molten [ctype]" 172 Fix libcurl not being statically linked 173 More descriptive SSL error messages 174 Add command line option "redirect" to redirect output to stdout.txt / stderr.txt (useful on Windows) 174 Print libcurl error buffer to stderr on client error (http code >= 600) 175 Fix race condition with Newtonian Gravity (exceptionally rare, has been in there 7 years) 175 Fix garbage in certain error messages, such as errors when voting 175 Fix minor resource leaks in Lua 175 Fix minor memory leak when allocating Lua elements 175 Fix POLO eating PROT ID#0 no matter where it is 175 Search signs now drawn in purple instead of blue 175 Forum thread signs now drawn in red instead of blue 177 Use c++11 threads 177 Fix crash when searching in element search ui 177 Add sim.CELL Lua constant 177 Lua transition api cleanup / fix transition properties not being validated 177 Fix part_change_type not being called by sim.partProperty 177 Fix tpt.eltransition 177 Add transition constants to sim. api: NT/ST/ITH/ITL/IPH/IPL 177 Fix elem.free not removing the freed element from the menu 177 Add .life serialization support to lsns 177 Add option to change menu selection from hovering to click 178 Add setting in options menu to control whether pressure is included in saves and stamps 178 Remove option where holding shift while loading or creating a stamp prevents pressure from being included 178 The shift option may be added back later 179 Reinstate option where holding shift inverts the decision on whether or not to include pressure in saves/stamps, or load pressure from saves/stamps 179 Element search ui can now search by description 179 Rewrite text wrapping, this fixes an issue where one character in words that wrapped over two lines were not shown 179 Remove syntax highlighting in console, we will add this back if we find a good way to support it with the new text wrapping 180 Use current render mode when rendering a stamp 180 Add disable-network command line argument 180 Add file drop handler, you can now drop .cps and .stm files onto the window 180 "Rescan Stamps" now sorts stamps by time created 181 Revise ctype drawing code 181 Add ability to set "CtypeDraw" function for Lua elements. This function is called any time the user draws on top of your element 181 It takes the following arguments: i, t (type), v (often used for GoL index) 182 Fix glibc 2.27 being a dependency, now only requires glibc 2.18 182 Fix tpt.eltransition..presHighType 182 Update gravity mask even while paused (gravity wall) 182 Prioritise ctypeDraw functions over sparking 182 Prevent protocol downgrade attacks (force https and TLS1.2) 182 Only allow strong ciphers to be used 182 Fix issue with text wrapping that could cause a newline to be unnecessarily appended at the end 182 Arbitrary newtonian gravity code cleanup 182 Fix CELL size check when loading saves 183 Revert "Only allow strong ciphers to be used", fixes inability for Windows users to make network requests 183 May add it back later as an option 184 Fix frame # not showing properly in HUD when recording 184 Fix potential stack overflow with water when water eqalization is enabled 184 Make water equalization fill in areas slightly more naturally 185 Fix deleting stamps not working 185 Use CoordStack for INST flood fill 185 A bunch of compile fixes for various platforms / scons flags 186 Remember unsubmitted commands in console even after scrolling through history 186 Fix off-by-one issue in sim.parts occasionally causing particle at (0, 0) to be returned 186 sim.parts efficiency fixes 186 Smudge tool is now smudgier 186 Options for controller color space of smudge tool in simulation settings 186 Available options: sRGB, linear (old smudge tool), gamma 1.8, gamma 2.2 187 Circle brush now has smooth edges 187 Keep brush radius consistent between shapes 188 Newtonian Gravity pull acceleration now takes element's .Gravity value into account 189 Fix Newtonian Gravity 189 Add NewtonianGravity property to elements, controls how strongly newtonian gravity affects the element 190 Fix STK2 rocket boots not saving in saves 190 Fix unsigned integer properties being returned as signed integers from certain Lua functions 190 Fix crash if error happens in ctypeDraw Lua function 190 Fix crash when returning invalid arguments from graphics or ctypeDraw Lua functions 190 Blacklist SPRK in PCLN's and PBCN's ctypeDraw function 190 Redo how default properties are handled. There's now a list of static properties such as .tmp = 7, and a function handler for dynamic properties 190 More to come later, to move even more code out of create_part, + Lua apis 191 Add CreateAllowed and ChangeType hooks for element creation 191 This refactor cleans up Simulation.cpp a little and moves element-specific code into the element files 191 This also cleans up some tracking of STKM/STK2 spawning and elementCount going out of sync 192 Add Lua apis to interact with DefaultProperties, Create, CreateAllowed, and ChangeType 192 All are part of elem.property and elem.element 192 No wiki documentation yet, read the source code or figure it out yourself 193 Refactor UI callbacks to be more C++11-like 193 Guess best window scale on startup at first run instead of offering only double scale mode 193 Only do a single CoordStack allocation in each thread, should save some malloc overhead 194 Fix division by 0 in DEUT (console shenanigans only) 194 Add http Lua api (subject to change). Documentation in the wiki 194 https is now (properly) enforced 195 Split http.request into http.get and http.post 196 Fix ptsave links 197 Fix crash when removing a tag fails 197 Add "perfect circle brush" option, turning this off will give you the old circle brush back 197 Fix replace mode not resetting element properties back to default 197 Fix fighters loaded from saves sometimes being blue 197 Update some libraries (SDL 2.0.8 -> 2.0.10, curl 7.64.0 -> 7.68.0, fftw3f 3.3.3 -> 3.3.8) 197 Fix dependency on libssl1.0 instead of libssl1.1. Please ensure you have libssl1.1 installed before updating 198 Fix bug where deco renders on EMBR in save thumbnails 198 Fix text prompt interface (rarely used, only for some Lua scripts) 198 Restrict saved version to 95.0 if 95.0 features are present - signs with macros, LSNS .with .tmp 198 Change version number to 95.0 - build 345 199 Snapshots have now resumed. Sorry for not creating any since 95.0, but TPT development hasn't stopped 199 This new snapshot brings support for many new characters in the font, and two new elements. Changelog is presented in commit history order, not "importance" order. 199 Add Latin-1 and Cyrillic characters to the font 199 Add ability to type and copy/paste non-ascii characters in textboxes 199 Non-ascii characters will still be deleted by the website inside comments, save titles, and signs; and replaced with question marks in save descriptions. We will work to fix this in the website later. 199 Fix typo in "change resolution" option description 199 SPRK / METL no longer deleted when inside detector wall 199 Solid elements can no longer be drawn on detector wall 199 Extra sanity check in create_part, to prevent obscure crashes 199 Ctrl+u shortcut to reset ambient heat 199 Fix extra break; in LSNS, making it unable to deserialize in all directions at once 199 Fix off-by-one bounds check in !set 199 Fix floating point issue in FRAY 199 Add bounds check to tpt.brushx and tpt.brushy (fixes crash when setting to negative values) 199 Add bounds check to sim.floodParts and sim.partKill (fixes crash in sim.floodParts) 199 Fix obscure crash when crafting a special COAL/BCOL on fire 199 When launching the game without a powder.pref, data is now stored in an OS-specific user data directory 199 This is "%APPDATA%/The Powder Toy" on Windows and usually "~/.local/share/The Powder Toy" on Linux 199 If you already have data locally, it will continue using that and not migrate to the shared directory 199 Fix bug with line tool while WIND is selected (id:2554353) 199 Fix glitch in console when putting multiple spaces in a row 199 Remove gaps between lines of selected text 199 New element: SLCN (silicon). Sparkles, conducts electricity like GOLD, and has many reactions while in molten form 199 Add reaction to produce BCOL: WOOD at high temperature and low pressure 199 New element: PTNM (platinum). A catalyst in many reactions. 199 BRAY .life can be customized when firing from ARAY by setting ARAY's .life 199 Remove .life delay feature of ARAY/DRAY as this was historically not possible to use 199 ctrl+a to select all saves in save browser 200 Fix cyrillic lowercase D and T in the font 200 Ctrl+a no longer selects all saves if any of the textboxes in the view are in focus 200 Ctrl+a now deselects all saves if all saves are selected 201 Fix a bug which caused a line of particles to sometimes be drawn between the cursor and the top left corner at startup 201 Stasis walls now keep dying GOL cells in stasis 201 Prioritise favourited elements in element search 201 New element: VSNS (velocity sensor). Similar to LSNS. 201 LSNS and HSWC can now interact with energy particles 201 New element: ROCK (rock, a solid). Melts into a lot of different materials at higher pressures, CNCT can stack on top of it, and is eroded by WATR. 201 Add an option to make scrollable UI elements more touchpad-friendly. 201 Add CUST (in the life menu), a custom game of life tool. Custom types can now be created with any rulestring and colours. See built-in types for example rulestrings, e.g. B36/S23 for HLIF. 201 These custom types save with the rest of the simulation perfectly, except their names, which only exist locally. 201 Add option to skip drawing frames for faster simulation. If enabled, only as many frames are drawn by default as your display can handle. The limit can be queried or set with tpt.setdrawcap. 202 Fix built-in GOL types 203 Allow saves with custom GOL to be loaded in snapshots 203 Fix replace mode to allow replacing with GOL types 204 Add Latin Extended-A characters to the font 204 Fix rendering of built-in GOL in thumbnails 204 Display ctype as a number in the HUD as a last resort 204 Fix explosive growth of PQRT produced by the SLCN-OXYG reaction 205 Saves using GoL elements are now blocked from publishing online. You may only upload them unpublished 205 This is to prevent errors in vanilla clients trying to open these saves, as saves with GoL require the unreleased 96.0 version to load 207 This one took a while. I'm sorry for the huge delay in getting this out. The snapshot server is back and running now, so check back for future updates. 207 Upgrade build process to use Meson instead of Scons 207 Replace build server with Github actions builds. All builds from now on will be built on Github, instead of on Starcatcher 207 Addition of Windows 64 bit builds 207 Fix PIPE / PPIP breaking on rotation 207 Add Hangul main block and supported compat jamos to the font 207 Fix vertical alignment of text in signs (all signs now render text one character lower, this is to be consistent with the rest of the UI and make room for unicode characters) 207 Fix crash when giving incorrect arguments to some Lua interface API components 207 Fix infinite spark loops in photoelectric effect 207 Make molten ROCK produce vertical clusters of GOLD 207 Fix QRTZ/GLAS/TUNG breaking on load (again), for cases when pressure is negative 207 Ignore key events when Windows key is pressed (may prevent unwanted key presses in some Linux WMs) 207 Don't draw intro text when HUD is disabled 207 Add ren.showBrush Lua api to hide the brush 207 Add composition support (for users using international keyboards) 207 Add Lua functions to interact with composition: interface.grabTextInput, interface.dropTextInput, interface.textInputRect. Also, new "textediting" event. 208 This snapshot contains no changes, it only has changes for macOS 208 Update README with info on all the external libraries we use 209 Fix issue where Linux version couldn't be launched from some file managers 210 Fix air being able to go through walls for a frame after undoing 210 Show NONE in {ctype} signs instead of 0 when an element has no ctype 210 Fix some legacy lua api functions allowing you to set properties on element 0 211 New element: LITH. Reactive element that explodes on contact with water. 211 Fix issue where binary in the packaged .zip file wasn't marked as executable 212 Make custom can_move settings persistent (fixes #764) 212 Redo and add type parameter to sim.neighbours 213 Fix elementCount inaccuracies when undoing (fixes GoL not working for a short time after undo) 213 Fix ctype drawing for LDTC 213 Show proper GoL name in HUD for LDTC / DTEC 213 Write powder.pref immediately every time a setting is changed 214 Make username case-insensitive when logging in 215 Fix "NONE" showing in HUD in many cases 215 Improve stack pasting behavior 215 Remove "Auto Draw Rate" option, there is no reason to turn this off 215 Fix issue allowing drawing unlimited LIGH with 1x1 cursor 215 Don't show GoL .tmp in HUD, check if create_part was successful while simulating GoL 216 Update Me4502's name in readme & intro text 216 Prop tool - only check GoL rulestings / names for ctype 216 Move IRC channel from irc.freenode.net to irc.libera.chat 216 Makes GLOW element glow under pressure 216 Fix dangling pointer smuggling in PreviewModelException 216 Remove LuaSocket, add new socket API backed by libcurl (this breaks tptmp, there is no workaround right now) 216 Rewrite tpt.set_wallmap, it can now set WL_FAN velocity 216 Take snapshot when using ctrl+x 216 Make debug mode show .tmp2 for VSNS too. 217 Fix issue in socket API where an error isn't raised after writing to a closed socket 217 Save ambient air temperature and add it to options 217 Restrict saves with ambient air temp set to v96.0 217 Remove pastel glow on "inactive" GLOW 218 Add button in options menu to migrate to shared data directory 218 Make ROCK harder to get, greatly increase ACID resistance 218 Adjust LITH color slightly so that it isn't the same as CNCT 218 Change PTNM reactions to take pressure from reacting particle's coordinates (#784) 218 When air temp textbox is defocused, correct out of range temperatures 218 Fix crash when doing sim.ambientAirTemp(0/0) 218 restrict ambientAirTemp to valid limits when set from Lua 218 Return version (aka history index) from sim.getSaveID 218 sim.clearSim now clears active save information too 218 Return a reason for failure from sim.loadStamp 218 Ensure tpt.set_wallmap is called with 3, 5, or 7 arguments 218 Add bounds checking to sim. tool APIs (crash fix) 219 Bump version to 96.0.348 219 Make ROCK more resistant to DEST (like CNCT is) 219 Fix local saves and migration process on Windows 219 Adjust color of LITH 219 Show .LITH tmp2 in HUD 219 Update SLCN description 219 Form ROCK under pressure from both normal LAVA and LAVA(STNE), as these are basically the same thing 219 Prevent ROCK from repeatedly breaking into STNE and reforming under pressure 219 Burn timer / explosiveness enhancement for LITH 220 Fix GOL showing up where it shouldn't 220 Fix custom brush loading 220 Default drawfrequency to 0, because of frame drop issues 221 Linux: support Ubuntu 18.04 and other distros with glibc 2.27 222 Fix "B12345678/S012345678/17" appearing in HUD for ctype 78 222 HUD: Show GLOW and LITH ctype as number, don't show ctype for elements which use it as data storage (such as PHOT or PRTI) 222 Don't let GLOW ctype go negative 222 Disallow CGOL with duplicate rulestrings or names > 7 chars 222 Make LITH->GLAS reaction easier 222 LITH explodes when overcharged, update charge graphics 222 Preserve GoL deco in older saves; deco on builtin GoL no longer renders when decorations are off 222 Fix elem.allocate corrupting LuaScriptInterface and causing crashes when running out of IDs 222 Fix element identifiers for newly allocated elements not being immediately valid 222 Fix find mode not always succeeding in darkening particles 222 Disallow GOL rulesets with no B states 222 Make Lua prints fade out better 223 Bump version to 96.1.349 224 Prevent property tool from being used with bad values 224 All HSV sliders in color picker 224 Add AMBP and AMBM tools 224 Optimise undo history memory usage 225 Windows only: Patch libcurl to fix random disconnect issue in tptmp 226 Update version number: 96.2 (build 350) 226 Add a few more Lua functions: sim.replaceModeFlags, sim.listCustomGol, sim.addCustomGol, sim.removeCustomGol, sim.floodDeco, tpt.perfectCircleBrush 226 LIGH now lasts longer and expands frame-by-frame 226 Fix issue where stamping LIGH at the right moment caused every LIGH to strike at once 227 Fix memory leaks in interface api 227 Fix TPT Window breaking sometimes when toggling "resizable window" while in fullscreen 227 Fix near-RTEMP temperatures being loaded incorrectly in some cases 227 Fix crash when closing game, while not on the main screen, with Lua components active 227 Disable text input on startup 228 Fix custom elements disappearing after rotating a stamp 228 Fix cursor placement in textboxes with just a single character 228 Fix extremely rare crash when using water equalization with loop edge mode and other high velocity liquids nearby 229 Fix potential crash when adding a custom GOL type 229 Fix linker -no-pie flag *again* (fixes launch in some Linux file managers) 229 Fix ambient air temperature being loaded from saves as int, not float 229 Convert float pavg[2] to int tmp3, tmp4 229 Save higher halves of tmp3 and tmp4 if needed (fixes saving photons in PIPE) 230 Fix mingw-on-linux builds 230 Fix pressure-sensitive particles breaking on load, again 230 Fix incorrect RNG call in WARP, code cleanup 230 Fix crash on network activity (#824) 230 Fix ToArray duplicating the last byte of its input 230 Fix crash on exit if any modern particle callback is registered 230 Fix pipe mirroring (fixes #750 again) 232 Fix crash on exit if a Lua component is added to a Lua window 232 Add safeguard to try_move to ensure we don't write to out of bounds pmap 232 Redo code that makes SOAP float on OIL 232 Update TPT's user agent and intro text with new IDENT portion that better identifies platform and architecture 232 Prevent SaveRenderer from calling into Lua 232 Fix crash when trying to render an empty stamp 232 Fix TRON being unable to pathfind to the top and left edges of the screen 232 Handle SDL_CreateWindow failure slightly better 233 Fix cryptic Lua error built-in elements could sometimes produce 233 Added chemically strengthening GLAS (expose GLAS to molten SALT) 233 Element scroll bars no longer show in menus that don't scroll 233 Fix find mode not highlighting WARP particles 234 Fix starcatcher-publish step so it actually uploads apks now 235 New WTRV + BCOL -> OIL reaction in presence of PTNM 235 Remove inaccuracy in OIL's description 235 Make PHOT change its wavelength upon colliding with charged LITH 235 Use date in screenshot filenames to ensure each screenshot's filename is unique 235 Let NEUT pass through BGLA 235 Fix LITH conducting through INSL 236 Deprecate tpt.element_func / tpt.graphics_func and replace with compatibility script 236 Mark saves with GLAS/QRTZ/TUNG as 97.0-only 236 Fix handling of malformed scale: and proxy: arguments 236 Add sim.partExists and elem.exists 236 Add real v parameter to sim.partCreate 236 Fix PIPE graphics hack giving Lua graphics functions bad particle IDs 236 Fix exception when passing nil to some functions in interface api 237 Add custom gravity mode (catsoften - #820) 237 Expose SDL keycodes and scancodes to Lua 237 Expose SDL button codes to Lua 237 Add PowderCoin icon to font 237 Alias dcolor, pavg0, pavg1 to dcolour, tmp3, tmp4 237 Make QRTZ slightly change color while growing (Rebmiami - #852) 237 Performance improvements to simulation code (up to 8%) (savask - #854) 238 Return HTTP response headers to Lua 238 Enable By date button when viewing Favorites 238 Crop stamp thumbnails that don't fit even when resized 238 Code cleanup: Fix 8-bit-uncleanliness of most of the Lua API 238 Code cleanup: DirectionSelector and surrounding code 238 Code cleanup: Use std::vector consistently for file operations 238 Code cleanup: Client::DoInstallation 238 Code cleanup: Update tpt-libs and GitHub Actions workflows 239 Fix snapshots sometimes being debug builds 239 If your game is slow, bigger than usual, or if it opens a console window, this is why 240 Fix crash when trying to load a stamp that doesn't exist 240 This also fixes syncs in TPTMP crashing the game 241 Use mbedtls in release builds 241 Add notification for missing or bad SSL certificates 241 Make stickman movement strength independent of gravity 242 Fix a very elusive PHOT reflection crash 242 Fix rare crash upon clearing the ambient temperature input box in settings 242 Add http.getAuthToken 242 Add clip rect feature to Graphics and gfx.setClipRect 243 Add support for HTTP/2, reduce per-host connection count to 1 243 Fix string handling in text drawing and width functions 243 Allows passing in null bytes, which allows 0s to be used with \x0F color codes 243 Use PNG avatars and thumbnails 243 Fix empty string being discarded at beginning of lua log/return lists 244 Fix text in some buttons being cut off prematurely 244 Add verb parameter to http.get/post 245 Fix snapshots being configured with ignore_updates=true 245 If you have snapshot 243 or 244, you must redownload manually from the website 247 Fix TPT in some cases refusing to use the nvidia driver for rendering 248 Fix PHOT reflecting off thin walls of particles incorrectly 248 Add sim.MAX_PRESSURE and sim.MIN_PRESSURE constants 248 Make file browser respond to search query changes while loading files 248 Add inverted element filtering to CONV with tmp2 set to 1 248 Expose BZ2 to Lua 249 Fix local browser handling large amounts saves badly 250 Fix frequent crash in snapshot 249 when browsing or viewing online saves 251 Fix the zoom window producing out of bounds coordinates 251 Fix lag when scrolling local save browser (it now caches thumbnails again) 251 Fix local browser offering to open broken saves 251 Unify icons - the new icon looks similar to the old, but is now the same across Windows/Mac/Linux 251 Fix possible crash when flood filling with particle limit filled 251 Fix glitchy behavior when flood filling solid particles around detect wall 251 Add evt.beforesim and evt.aftersim for running code only when simulation advances 251 Add sim.updateUpTo and sim.lastUpdatedID, for handling partial sim updates in Lua 251 Add sim.historyRestore and sim.historyForward 251 Add discord link to intro text 251 Make GLAS strengthening reaction more controllable 251 Add underline escape sequence to text renderer (\bU) 252 Clean up image resource data, and convert hmap data to gradients 252 Have the intro text hide the HUD completely 252 Fix loading of "version 1" PSv saves 252 Add temperature scales option 252 Vote editing 252 Send SessionKey in a few more places in Client.cpp 252 Make CRMC immune to ACID 252 Update readme date and version numbers 252 Tweak "Small 3" character (\uE032) in the font 252 Fix white LIFE being created in some cases, such as from EXOT+NEUT 252 Add --disable-bluescreen command line argument 252 Redo command line parsing and Platform::ExecutableName 252 Fix input method support on Linux 252 Fix pmap not being updated when setting x / y from Lua 252 Fix background color not showing up in vote buttons on your own saves 252 Update version numbers to 97.0.352 253 Preprocessor-purge: Significant refactors to the way build options and the build environment are handled while compiling 253 Read stamps from stamps.json instead of stamps.def. stamps.def will be migrated to the new format on upgrade 253 "Rescan Stamps" is now performed automatically on launch, and no longer reorders by date. Instead, new stamps will be added to the front of the list 253 Improved file writing - ensure failed writes won't corrupt files 253 Include "1" in the list of "true-strings" on the command line 253 Fix os.exit() 254 Fix stamps being impossible to delete 254 Fix custom elements disappearing on load 254 Fix custom element types being mangled in secondary properties 254 Improve determinism, useful for debugging 254 Fix a particularly obscure water equalization crash 254 Fix RIME's description (it is formed through deposition, not sublimation) 254 Fix delete key not functioning correctly in textboxes when text is selected 254 Add fs.isLink 255 Fix many-headed stickmen 255 Approximate save previews with thumbnails if they are available 255 Fix vote bars in previews touching the enclosing rectangles 255 Fix paste previews being positioned incorrectly 255 Fix more reflection issues 255 Fix some air simulation asymmetries 256 Fix more particles being copied than asked for 257 Add hflip and rotation parameters to sim.loadStamp 257 Enable out of bounds pasting 257 Fix random particles disappearing when pasting 257 Fix pastes not being centred on the cursor 257 Fix crash on exit when multiple windows are open 257 Prevent almost all HTTP requests from blocking 258 Avoid Year 2038 problem with save creation dates 258 Make Grave (the key under Esc) exiting the console optional 258 Rearrange settings view slightly 258 Fix crash if an avatar is missing from the server 258 Fix votes not making it to the server in some cases (don't worry, very obvious when it happens) 258 Fix very early crash in on certain platforms if an element menu is scrolled too far right 258 Fix logouts not actually destroying sessions 259 Fix crash when overwriting a local save 259 Fix sim.neighbours yielding the center particle 259 Fix crash if a save thumbnail is missing from the server 260 Lua dialogues do not block execution anymore, breaking a few existing scripts 260 This will be fixed by the next stable version, no bug reports about this are necessary 260 Fix crash when exiting the game completely while a Lua dialogue is on screen 260 Fix crash when changing tpt.brushID from Lua 260 Fix crash when failing to change the favourite status of a save 260 Fix crash when attempting to change pages in an empty stamp browser 260 Fix crash when specifying too big an interval for math.random 260 Fix FUSE not burning as fiercely as meant to 260 Fix local save browser sometimes failing to load saves 260 Fix black screen while changing renderer options 260 Fix EMBR and other similar elements producing black spots 260 Fix rendering of fire effects when their intensity is too high 260 Make PROP tool less annoying to use by preventing exit until all settings is valid 260 Make find mode work with the PROP tool 260 Add tpt.version.vcstag to make it easier to identify builds when reporting bugs 260 Add support for running TPT in a browser, see our Discord server for details 260 Kill stickmen immediately if their health goes below zero 260 Update streamline description so that it's more helpful 260 Enter stamp placement mode when drag-and-dropping a stamp 261 Fix custom can_move settings being reset after using tpt.el 261 Sample "into" the PROP tool when it is active 261 Add version info to bluescreen 261 Make Lua hook timeout configurable 262 Make save history icon more visible 262 Fix crash when passing bad coordinates to sim.clearRect 262 Fix the Maximized property of windows shortcuts not being respected 262 Fix input method candidates being aligned wrong in some cases 262 Fix occasional crashes upon opening settings 262 Fix sim.partNeighbors table being 0-indexed 262 Center some category icons 262 Change sim.walls to use real wall identifiers, and also have reverse lookup 262 Add blurry scaling option 262 Add Ctrl+E shortcut to cycle through edge modes 262 Add F11 shortcut to toggle fullscreen; the setting is not saved across runs though 353 Snapshot and build numbers have been merged, Snapshot 262 is followed by Snapshot 353 353 Fix prop tool not remembering settings in some cases 353 Fix spurious timeout errors from some callbacks 353 Fix guess best scale prompt showing up even when it guesses the default 353 Add surface normal debug tool 353 Expose debug constants to lua 353 Auto-focus the input field in the tag list 353 Complain about missing custom elements when opening online saves 354 Fix the casing of the new upstream tpt.version keys 354 Use a proper ProgressBar in UpdateActivity 354 List element IDs that don't have an identifier associated in a save 354 Enable basic rendering of custom elements in secondary Renderers 355 Fix some elements, mostly energy particles, not being able to go through some others 355 Fix line debug tool showing up when placing stamps 355 Fix extremely rare crashes caused by complicated energy particle bombs 355 Some native clipboard support for some platforms; you can now copy and paste between windows 356 Fix some pasted particles not getting cut off at the edges of the simulation 356 Fix pasting sometimes getting interrupted by the particle limit 356 Mark saves as being from the next version in dev builds 356 Complain when pasting save data with missing elements 356 Add includePressure parameter to sim.loadStamp 356 Add sim.listStamps 356 Fix Textbox width limiting content length 356 Add link to the registration form to LoginView 356 Retire tpt.beginGetScript in favour of tpt.installScriptManager 356 Most weird mirrors now work as they did prior to the many PHOT refraction fixes 357 Add beforesimdraw and aftersimdraw events 357 Sample properties when shift is held 357 Implement stamp renaming 357 Clear stamp browser selection when page contents change 357 Fix some http API problems 357 Add stack trace to bluescreen on some systems 357 Add platform clipboard option to settings 357 Happy New Year! 358 Fix signs loading in the wrong place in really old saves 358 Restore old SOAP foam behaviour and make it work with nonstandard gravity 358 Add more characters to the font 358 Add liquid resist RSST and solid resist RSSS 358 Make TESC create LIGH with same deco color 358 Allow setting ETRD min and max distance with tmp and tmp2 359 Make LDTC copy BIZR, BIZG, and BIZS's wavelength too 359 Sanitize the Lua API 359 This has the potential to break scripts; please be on the lookout for such breakage and report it 360 Make element search scrollable 360 draw air before "beforesimdraw" event is fired, so that graphics work in velocity / pressure display modes 360 Add some sign api constants 360 compat.lua: Fix tpt.brushx, tpt.brushy, and tpt.watertest 360 Fix crash if tpt.installScriptManager fails 360 Fix sliders accepting clicks from anywhere 360 Fix tooltips in element search 360 Fix element buttons missing from element search 360 Fix sliders accepting clicks from anywhere 360 Fix tooltips in element search 360 Fix element buttons missing from element search 361 Fix sliders accepting clicks from anywhere 361 Fix tooltips in element search 361 Fix element buttons missing from element search 361 Fix save history button not working except on your own saves 361 Add DECOSPACE_ Lua constants