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 11 Rename "Powder.app" to "Powder Snapshot.app" for new downloads 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 Now uses SDL 1.2.15, so fullscreen will work 14 Fix a potential crash when messing with SOAP in the console 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 26 Fix error starting the mac version (couldn't find SDL framework) 27 Apparently the mac version hasn't worked since snapshot 14. This build reverts to using SDL 1.2.14, which apparently fixes nothing so just ignore this build too. 28 Replace cajun (library used to parse json) with jsoncpp (a better library) 28 Note: some settings (render modes, deco color) will be reset 28 Note: the above fix will finally fix the mac version, which was crashing due to an error in cajun. 29 The previous snapshot did fix the crash, but the SDL fix from snapshot 26 was accidentally reverted. Mac finally works again! 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 Remove -O3 optimization flag, this should fix the crashes 34 Testing new .dmg packaging instead of .zip 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 37 Compile with -O3 again now that random crashes are fixed (game might be a little faster again) 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 40 Fix build server naming the OS X file incorrectly 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 Now compiled with a new mac cross compiler. This should fix the comment scrolling bug and the potential crash on startup. 48 Compiling fixes by Simon 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 Static SDL, this should fix the mac version not actually working on OS X unless you had the SDL development library 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 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 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 101 Fix crash on startup (untested but should work) 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 the dock 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 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" 153 Fix being unable to save or load preferences / stamps on mac (actually apparently this wasn't fixed?) 154 Fix gravity sometimes persisting a frame after ctrl+z / clearing sim 155 Open browser to download updates because it isn't possible to update the mac version in place anymore 155 New icon - falling sand pile 156 Fix being unable to save or load preferences / stamps on mac for reals this time 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 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.dmg 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]" 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 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 mac version not starting due to .dmg packing error 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 all http requests failing with 600 error 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 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.