Commit Graph

3205 Commits

Author SHA1 Message Date
Tamás Bálint Misius
9e712eba08
Remove dependency on dirent.h on windows
Also fix a few bugs and other weirdness in Platform::DirectorySearch. Empty string paths would crash and filenames with 4 or fewer characters wouldn't register.
2022-08-30 20:39:44 +02:00
Tamás Bálint Misius
6ba5de6034
Crop stamp thumbnails that don't fit even when resized 2022-08-28 07:12:46 +02:00
Tamás Bálint Misius
23a368dbf0
Clean up DirectionSelector and surrounding code
I really should have done this before merging it >_>

Also fix a few warnings.
2022-08-23 13:47:45 +02:00
Tamás Bálint Misius
36d034dc2e
Fix 8-bit-uncleanliness of most of the Lua API
This fixes bugs like "type\0hello mom" being a property name sim.partProperty accepts and half-fixes bugs like text formatting codes making gfx.drawText exit prematurely.
2022-08-22 19:42:51 +02:00
Tamás Bálint Misius
3c6bd74389
Return HTTP response headers to Lua
Also accept request headers in a string array format, beside the old string-string dictionary format.
2022-08-21 20:54:43 +02:00
savask
22805e14f1
Tidy up some conditionals in simulation code. (#854) 2022-08-13 18:40:26 +02:00
Rebmiami
ae32470c9c
Make QRTZ slightly change color while growing (#852) 2022-08-11 06:20:33 +02:00
Tamás Bálint Misius
8763d6e75f
Expose SDL button codes to Lua
Also sanitize GameController mouse up reason and related code.
2022-08-08 09:13:05 +02:00
Tamás Bálint Misius
059697aba0
Alias dcolor, pavg0, pavg1 to dcolour, tmp3, tmp4 2022-08-08 08:55:32 +02:00
Tamás Bálint Misius
4b0fa65bcd
Don't expose KMOD_SCROLL, apparently it's too new 2022-08-01 09:55:23 +02:00
Tamás Bálint Misius
21438d435d
Expose SDL keycodes and scancodes to Lua 2022-08-01 09:44:42 +02:00
catsoften
6aa68adbf4
Add custom gravity mode and replace hardcoded gravity interactions (#820)
Co-authored-by: Tamás Bálint Misius <lbphacker@gmail.com>
2022-07-31 08:19:16 +02:00
jacob1
a0016a2b9c
Fix exception when passing nil to some functions in interface api, fixes #849 2022-07-20 21:52:03 -04:00
Tamás Bálint Misius
c603c41b92
Fix PIPE graphics hack giving Lua graphics functions bad particle IDs 2022-07-16 13:27:28 +02:00
Tamás Bálint Misius
ae253ebc75
Add real v parameter to sim.partCreate
Currently it detects presence of v incorrectly (via if (ID(type))) and thus rewrites v = 0 to v = -1, even if 0 is actually what you want. Especially problematic if you're trying to spawn GOL (so LIFE(ctype=0)).
2022-07-06 11:34:21 +02:00
Tamás Bálint Misius
766ffd4ad6
Add sim.partExists and elem.exists 2022-07-03 15:40:35 +02:00
Tamás Bálint Misius
289c2c4528
Fix handling of malformed scale: and proxy: arguments 2022-06-13 13:40:41 +02:00
jacob1
833973f1fc
Mark saves with GLAS/QRTZ/TUNG as 97.0-only
They immediately break if under pressure in older versions, because pavg1 (tmp4) isn't set
2022-06-13 00:53:06 -04:00
jacob1
79f6fd728c
Fix, Deprecate, Remove, and Replace tpt.element_func / tpt.graphics_func 2022-06-04 22:16:45 -04:00
Tamás Bálint Misius
fb7132a923
Fix LITH conducting through INSL 2022-05-27 06:22:22 +02:00
Tamás Bálint Misius
fb318c71ec
Fix a missing #include 2022-05-26 17:53:45 +02:00
Tamás Bálint Misius
c7e9706295
Let NEUT pass through BGLA
GLAS does this, there's no reason for BGLA to not do it also.
2022-05-10 14:27:45 +02:00
jacob1
c8c0f90871
Use date in screenshot filenames to ensure each screenshot's filename is unique 2022-05-06 01:27:33 -04:00
Cracker1000
23af1042b4
Make PHOT change its wavelength upon colliding with charged LITH (#841)
Co-authored-by: Tamás Bálint Misius <lbphacker@gmail.com>
2022-05-04 22:34:23 +02:00
jacob1
f70f222a61
Remove inaccuracy in OIL's description 2022-05-02 11:34:33 -04:00
Tamás Bálint Misius
b278eb4393
New WTRV + BCOL -> OIL reaction in presence of PTNM
Yes, Factorio is a good game.
2022-05-02 06:14:49 +02:00
Cracker1000
823ff9080e Remove unnecessary .life change from PSNS 2022-04-18 14:39:11 -04:00
Tamás Bálint Misius
f7527b46e6
Update tpt-libs, add support for android 2022-04-14 21:18:21 +02:00
cracker1000
29ed52d50e Fix find mode not highlighting WARP particles 2022-04-10 11:52:47 +02:00
Tamás Bálint Misius
6fe82d7221
Update tpt-libs, use SDL2main the way it's meant to be
Also fix the first mouse click not being detected on windows with sdl 2.0.20. Apparenlty, we need SDL_HINT_MOUSE_FOCUS_CLICKTHROUGH set to 1 for it to be detected.
2022-04-10 10:39:23 +02:00
Tamás Bálint Misius
f6878dcdb6
Free array we get from CommandLineToArgvW 2022-04-08 07:14:39 +02:00
xphere07
18c604fd42 Element scroll bar Improvement
Signed-off-by: xphere07 <xphere07@outlook.com>
2022-04-04 23:21:24 -04:00
jacob1
48e15af738
Restrict version to 97.0 in saves with reinforced glass 2022-04-04 23:19:36 -04:00
Departing
d5f94f4718
Added chemically strengthening GLAS (#837) 2022-04-04 23:17:08 -04:00
Tamás Bálint Misius
254b4a642a
Fix cryptic level 0 Lua error built-in elements sometimes produce
If the built-in update function is allowed to run, it can change the particle's type. The code path assumes that there is a Lua update function to call on the particle, but this type change may break this assumption and cause the code to call the update function of an element that doesn't even have one, producing a weird error message with no line number.
2022-03-31 16:46:24 +02:00
Tamás Bálint Misius
b2ddb39b42
Add IDENT to user agent again
The server got fixed.
2022-03-26 18:35:23 +01:00
Tamás Bálint Misius
01e2c2d3f0
Remove new IDENT portion from user agent string
The server isn't prepared for it and fails requests that fiddle with the user session with an 500.
2022-03-26 17:43:48 +01:00
Tamás Bálint Misius
76b89f8da1
Handle SDL_CreateWindow failure slightly better
Might explain weird breakage we experience on chromebooks. Difficult to say as we don't have access to chromebooks.
2022-03-26 17:43:43 +01:00
jacob1
14348437a6
Fix TRON being unable to pathfind to the top and left edges of the screen 2022-03-18 18:13:01 -04:00
Tamás Bálint Misius
6ff385d92d
Fix crash when trying to render an empty stamp
Empty stamps are those whose block width or height is 0. While they are technically valid and certain parts of the game are prepared to handle them, others aren't, so it's safest to just adjust the definition of valid stamps to exclude empty ones.
2022-03-16 06:45:24 +01:00
Tamás Bálint Misius
df7bbd3b8e
Prevent SaveRenderer from calling into Lua
Also clear SaveRenderer graphics cache along with the main Renderer's when needed, and revert to built-in element callbacks rather than nothing at all when assigning nil to a callback slot in Lua.
2022-02-23 22:22:10 +01:00
Tamás Bálint Misius
bfe94618c6
Include slightly more future-proof target type in user agent string 2022-02-22 08:10:18 +01:00
Tamás Bálint Misius
1e440d078c
IDENT_PLATFORM can now be MACOSARM 2022-02-22 06:56:41 +01:00
jacob1
477909d00f
Redo code that makes SOAP float on OIL
Rather than hacking velocity, do it directly through can_move. Add a special case to make it slowly float upwards, rather than immediate like most weight differences in TPT.
2022-02-21 23:56:52 -05:00
jacob1
982fdff528
Add safeguard to try_move to ensure we don't write to out of bounds pmap
This is a follow up to this crash fix - 0ed8d0a0be
This may possibly fix other crashes users occasionally experience, especially in the case of high velocity particles with loop edge mode on. Even so, there are other bugs at play, as a crash here can't be triggered if pmap is in a correct state
2022-02-21 23:36:10 -05:00
Tamás Bálint Misius
656ace10c6
Add support for MacOS on ARM
Also build with real -no-pie on ghactions, and fix SDL include directories (it's probably blind luck that they worked correctly on most systems).
2022-02-18 18:56:41 +01:00
Tamás Bálint Misius
6ef505ccca
Fix crash on exit if a Lua component is added to a Lua window
Very similar in nature to the problem fixed by 0fcad65d. Again, it'd be massive help if we didn't destroy the Lua state explicitly in LSI's dtor. But this is not worth refactoring LSI for.
2022-02-11 22:19:42 +01:00
Tamás Bálint Misius
7ab720d847
Fix pipe mirroring (fixes #750 again) 2022-02-04 09:07:02 +01:00
Tamás Bálint Misius
0fcad65d6f
Fix crash on exit if any modern particle callback is registered
All these smart pointers have to be cleared before the Lua state is closed. Ordinarily, we'd have a smart pointer to the Lua state defined earlier in LSI than these smart pointers, which would take care of destruction in the correct order, but tfw technical debt.
2022-01-28 08:03:14 +01:00
Nova
f5bc2a5f0d
Fix crash on network activity (#824)
Ignoring broken pipes led to libcurl crashing when connections were dropped, rather than re-attempting. Now, libcurl is not set to ignore broken pipes. Closes #823.
2022-01-07 15:15:09 +01:00
jacob1
eadd381da9
Fix incorrect RNG call in WARP, code cleanup
x velocity was set using .chance instead of .between. This always returned false, meaning vx always was set to .5 giving a rightward bias
2022-01-06 20:29:07 -05:00
Tamás Bálint Misius
95a9e93645
Fix pressure-sensitive particles breaking on load, again
Repurposing the comment I added because I'm lazy: pavg[1] used to be saved as a u16, which PressureInTmp3 elements then treated as an i16. tmp3 is now saved as a u32, or as a u16 if it's small enough. PressureInTmp3 elements will never use the upper 16 bits, and should still treat the lower 16 bits as an i16, so they need sign extension.

The code that was originally responsible for this somehow got lost in the tmp3/tmp4 migration.
2021-12-25 09:44:09 +01:00
Tamás Bálint Misius
286d0d60b9
Fix mingw-on-linux builds 2021-12-24 22:47:57 +01:00
Tamás Bálint Misius
84d6ca6938
Fix -Dhttp=false builds 2021-12-13 15:23:33 +01:00
xphere07
674134588c
Upgrade to C++17 (#819) 2021-12-13 14:41:02 +01:00
Tamás Bálint Misius
ce84e60074
Fix a few warnings
I found these looking at ghactions output.
2021-12-09 09:11:47 +01:00
Tamás Bálint Misius
c0e3818df3
Save higher halves of tmp3 and tmp4 if needed (fixes #822 with dbd971fb) 2021-12-09 08:40:27 +01:00
Tamás Bálint Misius
dbd971fb05
Convert float pavg[2] to int tmp3, tmp4
Also add GameSave::PressureInTmp3 to check for elements with pressure memory and fix TUNG not sampling pressure on creation. This does not in itself fix #822 because tmp3 and tmp4 are still saved in 16 bits each, so full ctypes still don't fit in tmp3.
2021-12-09 07:49:31 +01:00
Tamás Bálint Misius
b587732d7b
Fix render failing to compile with GCC 11
Due to Client::SetPref not being available for use by AddCustomGol. GCC 7 didn't mind this, weird.
2021-12-07 16:44:48 +01:00
jacob1
c25e35e9ff
Read float bson settings as floats, not ints 2021-11-20 23:56:47 -05:00
Tamás Bálint Misius
f07879d165
Fix potential crash when adding a custom GOL type
GOLWindow would try to access a GOLTool that would have been deleted earlier when the menus were rebuilt.
2021-10-27 21:20:58 +02:00
Tamás Bálint Misius
0f2eedd4fb
Make thread_local replacement for MinGW slightly nicer 2021-10-23 10:08:26 +02:00
jacob1
0ed8d0a0be
Fix flood_water movement cancel check
This fixes a crash with water equalization on, with loop mode enabled, when there are high velocity particles near the edges. This can be occasionally reproduced with id:2800901

The water was moved to a new position and pmap updated, but the movement code continued, assuming water was at its old position. pmap for the WATR's old position won't be cleared once it moves, leaving a stale entry. If a particle then looks up the water in that location and tries to swap positions, this can cause a crash at the end of try_move
2021-10-23 00:52:13 -04:00
Tamás Bálint Misius
5582d6881d
Update tpt-libs, add support for compiling with MinGW on Windows 2021-10-22 23:14:54 +02:00
Tamás Bálint Misius
6653080400
Fix cursor placement in textboxes with single-character text
TextWrapper used faulty logic for converting local points to wrapped text indices: a check on curr was skipped if next was end-of-range.
2021-10-17 13:59:35 +02:00
Tamás Bálint Misius
afa9fd3d8f
Remove precompiled headers, fix a few problems they masked 2021-10-15 17:04:04 +02:00
Tamás Bálint Misius
d675d483bd
Leave the original GameSave alone in Simulation::Load 2021-10-13 11:26:48 +02:00
Tamás Bálint Misius
816b9eda3d
Disable text input as startup
We're not handling any keyboard input at that point anyway.
2021-09-05 19:30:55 +02:00
jacob1
1d0e039cec
Fix crash when closing game, while not on the main screen, with lua components active
Also delete unnecessary RemoveComponent call
2021-09-03 23:38:02 -04:00
Tamás Bálint Misius
6cb54b1857
Fix near-RTEMP temperatures being loaded incorrectly in some cases 2021-09-03 08:16:19 +02:00
jacob1
46d7682ed9
Regenerate window when changing sdl settings if "old fullscreen" is enabled 2021-09-03 00:06:15 -04:00
jacob1
50336565b4
Fix missing delete commandInterface, fix gc issue with LuaComponent/LuaWindow
lua_close wasn't being called at all before due to the delete commandInterface being missing. With it there, the lua gc could delete the LuaComponent before the LuaWindow. Make sure if that happens, it tells the parent LuaWindow it's already been gced
2021-09-02 23:31:30 -04:00
jacob1
4f8fc739ac
Version 96.2 (350) 2021-08-29 22:53:12 -04:00
jacob1
323c443d2a
Minor LIGH compat fix
old LIGH with invalid high .tmp2 will spawn a line of LIGH, rather than disappearing
2021-08-29 14:02:21 -04:00
jacob1
4f36ab10c1
Add back "Name already taken" message 2021-08-28 00:02:19 -04:00
jacob1
44590d82e9
Add a few more Lua functions
sim.replaceModeFlags
sim.listCustomGol
sim.addCustomGol
sim.removeCustomGol
tpt.perfectCircleBrush
sim.floodDeco
2021-08-27 23:57:55 -04:00
jacob1
63fe8e46b2
LIGH now lasts longer and expands frame-by-frame, fix LIGH stamping bug 2021-08-26 22:26:55 -04:00
Tamás Bálint Misius
688dc272e4
Update tpt-libs
Also remove duplicate momentumScroll member from Engine.
2021-08-22 12:42:33 +02:00
Tamás Bálint Misius
b5d1712123
Define lua_pushglobaltable only if it's not already defined
This fixes compatibility with moonjit, a luajit replacement that lies about which API level it implements.

Also link more stuff statically on linux.
2021-08-09 07:17:34 +02:00
Tamás Bálint Misius
eac92d1b04
Optimise undo history memory usage
By storing only the differences between Snapshots where possible.
NOTE: This may be reverted later if it causes too much trouble.
2021-08-04 17:19:15 +02:00
Tamás Bálint Misius
ea07244119
Refresh history code in GameMVC 2021-08-04 17:08:23 +02:00
Tamás Bálint Misius
483fde0698
Fix GCC11-only errors and warnings 2021-08-04 16:58:44 +02:00
Cracker1000
a3a45db3e4
Add AMBP and AMBM tools (#778)
Co-authored-by: Tamás Bálint Misius <lbphacker@gmail.com>
2021-07-29 17:50:24 +02:00
Maticzpl
4ed600b621
All HSV sliders in color picker (#796)
Co-authored-by: Tamás Bálint Misius <lbphacker@gmail.com>
2021-07-29 17:23:39 +02:00
catsoften
f13fe3d36b
Prevent property tool from being used with bad values (#791)
Co-authored-by: Tamás Bálint Misius <lbphacker@gmail.com>
2021-07-29 17:20:13 +02:00
Tamás Bálint Misius
e3c9176277
Bump version to 96.1.349 2021-07-18 20:34:36 +02:00
Tamás Bálint Misius
c0e065cc76
Fix certain Lua APIs mangling integers
Also fix a few warnings.
2021-07-18 20:33:50 +02:00
jacob1
133c8db0c7
Make Lua prints fade out better 2021-07-16 13:58:31 -04:00
Tamás Bálint Misius
5f90a80fe3
Disallow GOL rulesets with no B states 2021-07-15 21:05:24 +02:00
Tamás Bálint Misius
d040de396a
Fix find mode not always succeeding in darkening particles 2021-07-15 19:29:21 +02:00
Tamás Bálint Misius
11188c85c3
Fix element identifiers not being accepted by tpt __newindex
Becuase *of course* whether it succeds or not depends on whether you've rebuilt menus.

With all seriousness, the real culprit here is GameModel::GetToolFromIdentifier, which looks for tools in the menu section tool lists, plus another list with tools that aren't in any menu section. This is absolutely blaphemous, but I don't feel like refactoring this right now. It also wouldn't be a problem in itself, but allocating an element also doesn't rebuild these lists, only changing the MenuSection property and a few other obscure operations do. This makes allocating elements also rebuild these lists.
2021-07-14 08:48:42 +02:00
Tamás Bálint Misius
a463180e2a
Fix elem.allocate corrupting LSI when running out of IDs
The can_move bits weren't guarded by newID != -1.
2021-07-14 07:29:50 +02:00
jacob1
e80dc7b114
Preserve GoL deco in older saves; deco on builtin GoL no longer renders when decorations are off 2021-07-14 00:26:21 -04:00
jacob1
943f9d6c03
LITH explodes when overcharged, update charge graphics 2021-07-14 00:17:47 -04:00
jacob1
cea629c6c0
Make LITH->GLAS reaction easier 2021-07-13 23:01:02 -04:00
jacob1
31f1b62a4c
Disallow CGOL with duplicate rulestrings or names > 7 chars 2021-07-13 22:09:49 -04:00
jacob1
f2d92bc3d7
Don't let GLOW ctype go negative 2021-07-13 21:50:36 -04:00
jacob1
c93b72c800
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) 2021-07-13 21:48:55 -04:00
jacob1
9ac8b00b8d
Fix "B12345678/S012345678/17" appearing in HUD for ctype 78 2021-07-13 20:53:58 -04:00
jacob1
54a2abce3b
Default drawfrequency to 0, because of frame drop issues
Very apparent when using LIGH, which only stays on screen for one frame. Sometimes LIGH rendering is skipped entirely.
2021-07-11 18:04:51 -04:00
jacob1
05f722b397
Fix custom brush loading 2021-07-11 16:48:05 -04:00
Tamás Bálint Misius
cfeda0fdba
Fix GOL showing up where it shouldn't
The underlying problem was that the spreading step in SimulateGOL would record activity concerning a cell to builtinGol even if said cell already housed a non-GOL particle. The culling step handles these records and purges them once it's done (thus builtinGol only ever has non-zero values inside SimulateGOL), except in this case, it saw the non-GOL particle and skipped the cell without purging the corresponding records. This would later let GOL spread seemingly out of nowhere.
2021-07-11 12:21:48 +02:00
jacob1
34615536ce
Update build number (96.0.348) 2021-07-10 19:33:17 -04:00
moonheart08
a014c81ad6
Last minute explosiveness enhancement for LITH (#788) 2021-07-10 16:17:58 -04:00
catsoften
c6a52d1425 Prevent ROCK from repeatedly breaking into STNE and reforming under pressure 2021-07-10 00:18:46 -04:00
jacob1
8a788fac78
Misc minor changes to new elements
LITH: show .tmp2 in HUD, remove outdated comment
SLCN: update description
ROCK: form under pressure from both normal LAVA and LAVA(STNE), as these are basically the same thing
2021-07-09 22:09:24 -04:00
jacob1
37dfe728d0
Update build number and readme 2021-07-04 15:37:46 -04:00
moonheart08
66c5287824
Adjust color of LITH (#787) 2021-07-04 14:55:20 -04:00
jacob1
fb3fcfcdb7
Fix local saves and migration process on Windows 2021-07-04 14:35:25 -04:00
jacob1
fe49e58de8
Make ROCK more resistant to DEST (like CNCT is) 2021-07-03 23:34:38 -04:00
Tamás Bálint Misius
fb506599c2
Bump version to 96.0.346 2021-06-30 22:44:37 +02:00
jacob1
d45c73e9e5
No longer necessary to blame Simon 2021-06-28 21:33:03 -04:00
jacob1
26327effd5
Compile fixes for renderer, no lua, and no gravfft options 2021-06-28 21:02:59 -04:00
jacob1
6dd7d9bd46
Add bounds checking to sim. tool APIs (crash fix) 2021-06-27 21:43:14 -04:00
catsoften
e97925f0fd
Change PTNM reactions to take pressure from reacting particle's coordinates (#784) 2021-06-27 20:27:02 -04:00
jacob1
91a1f19c52
Adjust LITH color slightly so that it isn't the same as CNCT 2021-06-27 18:47:09 -04:00
jacob1
f9d9951237
add extra failsafe in RequestManager when shutting down 2021-06-27 18:43:04 -04:00
jacob1
76699d2f7e
Make ROCK harder to get, greatly increase ACID resistance
This helps prevent ROCK from appearing in normal situations, which can easily get to pressure > 2 just from the movement of the falling LAVA.
2021-06-27 18:39:51 -04:00
jacob1
b3aa6252ce
Add button in options menu to migrate to shared data directory a18855301306
Summary of migrated files will be shown to user in a popup, and a log file with every moved file will be left in the original directory
stamps, saves, scripts, screenshots, and powder.pref will be migrated. Recordings are not.
2021-06-27 18:25:59 -04:00
jacob1
0292344328
Fix Windows compile error, switch std::string to ByteString 2021-06-26 01:05:56 -04:00
jacob1
d1016cf58d
move Platform.cpp to common/, seems to fit in a little better there 2021-06-26 00:58:37 -04:00
jacob1
6e0ace2e4d
Add / move some filesystem methods to Platform.cpp 2021-06-26 00:58:37 -04:00
Tamás Bálint Misius
72948978fa
Fix over-eager MSVCRT bounds checking crash in LuaTCPSocket
MSVCRT doesn't like .operator[](.size()), it's safer to just replace all &.operator[x] with &.operator[0]+x.
2021-06-24 07:10:02 +02:00
Tamás Bálint Misius
fb514ca9e3
Return index into range passed to :send rather than bytes written
This is what LuaSocket used to do.
2021-06-22 20:57:17 +02:00
Tamás Bálint Misius
dcf0764fd8
Return a reason for failure from sim.loadStamp 2021-06-21 08:04:32 +02:00
Tamás Bálint Misius
cb52495472
Use GameController::ClearSim in sim.clearSim
Unlike Simulation::clear_sim, this also resets the save info in GameModel, i.e. is equivalent to pressing the 'Erase everything' button.
2021-06-19 21:55:08 +02:00
jacob1
6bd1289bdd
restrict ambientAirTemp to valid limits when set from Lua 2021-06-18 23:37:04 -04:00
jacob1
3c9882598c
When air temp textbox is defocused, correct out of range temperatures 2021-06-18 23:07:17 -04:00
jacob1
b0e29c8c23
Fix crash when doing sim.ambientAirTemp(0/0) 2021-06-17 23:21:29 -04:00
jacob1
5eb2495d61
Ensure tpt.set_wallmap is called with 3, 5, or 7 arguments 2021-06-08 23:11:25 -04:00
jacob1
9775527123
Misc compile fix for the unsupported opengl configuration 2021-06-08 23:11:24 -04:00
Tamás Bálint Misius
1851677dbe
Return version (aka history index) from sim.getSaveID
Makes sense because sim.loadSave has a history argument.
2021-06-05 08:26:43 +02:00
Tamás Bálint Misius
788c9cf9fc
Restrict saves with ambient air temp set to v96.0 2021-06-04 22:54:31 +02:00
Tamás Bálint Misius
ffe730c615
Save ambient heat temperature and add it to options 2021-06-04 22:39:07 +02:00
Tamás Bálint Misius
7cfc5aa9f6
Actually store the return value of curl_easy_send, oops 2021-06-03 21:25:28 +02:00
Simon Robertshaw
5ec8baa406 snapshot-216
-----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEL1ZG5CrcaMThtrZgTlijLVEOGZUFAmC0Ji4ACgkQTlijLVEO
 GZVAKhAAw7DB+87+L2m8OXbqhI4t113OHq0oPvHhetFuORLs4Z6xMhzZQaaUJ2TM
 bNd/qZidf2KHq5kwkeqkC081fQbWdWZ/PlWJMNrNKGF0iKh82EJLXHICVTHTmiAU
 baYMnLPMl2RKO9OsA8vU1cUj8VuXddRAWyVLOYZnwWE/y+iNH5ifVpS/xNFpuUTA
 mv3NLoWilkKX7gKJ8BEg3MM3zIvCWMoaGOL1NNnLo23Q/x6IrKJH9R0roBs3k2E9
 VCjhGXIxtGARkNFRfP87OfEFDmvqfdDP5ByZlvEdkRFtNxfdAHD7bVFEHBjRnYlh
 5Gt0aEmXUg5jmg4cTeenog9lSUSNlWEhqF2QLvsio+jtDALgeCbX3PwauJ9OMaOH
 C9EteG3zJdUvTnjAnme3fkr61bbuh1dolTckJQPydDaEvD/Z2eUnv++jD+qG3F3U
 nczxYKBDUhRhPeBaQnQef18t/Sxqym1TFTdUQxBrMPQkYfLuJLvfOip5lxALe1zS
 ZcelFKsKTlQXsaHcW7gIKmUAwOuOoeZq0HrtqNhd30/Px2/5+knEc1omjqSzoDy5
 1q0DVSFPj96vVtDuO0acuKhacKhY/rkjldAvrEEMLi7oYy6MyeCPKl2aPJhNLAT+
 wMF1jQaGQHunQ5DtbrK1rd1UYpLoowHu8fkMQr22Jru3w7Vbp5k=
 =4goh
 -----END PGP SIGNATURE-----

Merge tag 'snapshot-216'

snapshot-216

# gpg: directory '/c/Users/Simon/.gnupg' created
# gpg: keybox '/c/Users/Simon/.gnupg/pubring.kbx' created
# gpg: Signature made Mon May 31 00:56:30 2021 GMTST
# gpg:                using RSA key 2F5646E42ADC68C4E1B6B6604E58A32D510E1995
# gpg: Can't check signature: No public key
2021-06-02 16:35:23 +01:00
Cracker1000
7be888ccf1 Make debug mode show .tmp2 for VSNS too. 2021-05-30 19:54:10 -04:00
jacob1
076be894d1
Take snapshot when using ctrl+x 2021-05-30 19:45:31 -04:00
Tamás Bálint Misius
48d1226f59
Rewrite tpt.set_wallmap, it can now set WL_FAN velocity 2021-05-28 11:58:25 +02:00
Tamás Bálint Misius
ed29794fb8
Remove LuaSocket, add new socket API backed by libcurl 2021-05-27 15:13:43 +02:00
Simon Robertshaw
10a6bb7120 Remove pastel glow on "inactive" GLOW, fix FIRE_ADD variables.
FIRE_ADD, firea/r/g/b variables adjusted to work similar to v51.1.
Use RNG to assist with smooth(er) transition from PMODE_FLAT to PMODE_ADD
2021-05-22 21:48:06 +01:00
Tamás Bálint Misius
d8e641b977
Fix dangling pointer smuggling in PreviewModelException 2021-05-22 14:53:45 +02:00
Sam Robertson
2c207a934e
Makes GLOW element glow under pressure. Fixes #774
Co-authored-by: Tamás Bálint Misius <lbphacker@gmail.com>
2021-05-22 11:18:31 +02:00
jacob1
14be92c013
Prop tool - only check GoL rulestings / names for ctype
They are meaningless when applied to any other property, even .type
2021-05-19 00:04:23 -04:00
jacob1
a25fa700e2
Don't show GoL .tmp in HUD, check if create_part was successful while simulating GoL 2021-05-11 23:40:31 -04:00
jacob1
829c0bced5
Fix issue allowing drawing unlimited LIGH with 1x1 cursor
Also fix warnings from a previous commit
2021-05-10 21:04:08 -04:00
jacob1
fca0c62cd7
Remove "Auto Draw Rate" option, there is no reason to turn this off
It can still be turned off or adjusted via Lua, though
2021-05-10 00:07:52 -04:00
jacob1
aac6b7258c
Improve stack pasting behavior
It will now clear all particles in positions being pasted over
2021-05-10 00:02:27 -04:00
jacob1
0e530dc0ca
Fix "NONE" showing in HUD in many cases 2021-05-02 23:58:19 -04:00
jacob1
4e2e054c50 Make username case-insensitive when logging in
Username will be fixed automatically if not in the right casing
Logins are always sent over https
Logins are stored and salted using bcrypt on the server-side (wraps around original md5), fixes #294
2021-04-24 22:39:56 -04:00
Tamás Bálint Misius
2e16eecae0
Fix a bunch of LDTC and DTEC issues
Namely: LDTC GoL detection, ctype-drawing and HUD rendering, alongside DTEC HUD rendering.
2021-04-18 20:32:32 +02:00
jacob1
f441626de4 Fix some issues in elementCount
Count goes negative if an element is killed due to .life=0 on the same frame an elementRecount is scheduled
element count skyrockets when recount is scheduled during game pause
Element count increases by a static amount when undoing, because it schedules a recount without clearing the old counts
2021-04-18 14:01:51 -04:00
Tamás Bálint Misius
11f6abdfca
Update elementCount when restoring a snapshot (fixes #592) 2021-04-18 15:48:10 +02:00
Tamás Bálint Misius
8590a74785
Also flush prefs on user change, see previous commit
Flushing user changes to powder.pref was in fact the reason why I began this pref flushing thing at all, but of course Client handles user changes by modifying preferences directly, not through SetPref, so it skipped WritePrefs.
2021-04-18 15:28:11 +02:00
Tamás Bálint Misius
dfc8dc80bd
Write prefs every time they change (fixes #770) 2021-04-18 12:23:31 +02:00
Tamás Bálint Misius
2a23a38120
Normalise GetPrefs 2021-04-18 12:23:31 +02:00
Tamás Bálint Misius
bcbcdbe06b
Make custom can_move settings persistent (fixes #764) 2021-04-17 21:23:39 +02:00
Tamás Bálint Misius
6a6b14f871
Redo and add type parameter to sim.neighbours 2021-04-17 10:40:10 +02:00
moonheart08
a3f5731a43
Add element LITH (#726)
Co-authored-by: Tamás Bálint Misius <lbphacker@gmail.com>
2021-04-17 00:01:26 +02:00
Tamás Bálint Misius
b94e26d6f0
Disconnect version numbers from the content of v* tags 2021-04-16 17:54:25 +02:00
jacob1
ffb88259d6 Split Simulation::IsValidElement into IsElement and IsElementOrNone
Allows finer control over whether you want none included or not.
Fixes some invalid things being allowed for element 0 in legacy lua api
Fixes {ctype} signs showing 0 instead of NONE
2021-04-11 23:20:33 -04:00
Tamás Bálint Misius
1859125218
Fix undo not updating air block map 2021-04-11 21:44:33 +02:00
Tamás Bálint Misius
b98c9c8a2e
Fix crash on exit when using nvidia-460 + SDL with EGL support 2021-04-06 20:03:48 +02:00
Tamás Bálint Misius
1681ca77d8
Add Lua support for composition 2021-04-02 10:21:54 +02:00
Tamás Bálint Misius
3dbf6d7810
Use SDL text input correctly, add basic composition support 2021-04-02 10:21:52 +02:00
jacob1
da2ccc70fe Some ROCK fixes
Improve efficiency in FIRE logic, it no longer runs the check multiple times for each surrounding particle. RNG chances reduced accordingly.
Remove unnecessary code in init_can_move
Set Weight to 100, which is the proper max for weight
2021-03-30 23:14:53 -04:00
jacob1
7614042e19 Update MotD when MotD fails to download 2021-03-30 23:01:13 -04:00
Tamás Bálint Misius
ee22c3e631
Fix Windows registry values broken by d155b0f
Also remove unused resource IDs from the resource script.
2021-03-24 22:42:56 +01:00
Tamás Bálint Misius
36e9fdc39d
Add support for i686-win 2021-03-20 23:02:03 +01:00
Doxin
cc2022504a Add ren.showBrush to the LUA api to allow hiding the brush 2021-03-18 16:13:15 -04:00
Doxin
b1506e15d4 Don't draw intro text when hud is disabled 2021-03-18 16:13:15 -04:00
Tamás Bálint Misius
f86ffb48c6
Fix colour picker colour square broken by 4b7e85c 2021-03-14 21:12:12 +01:00
Tamás Bálint Misius
93b920a57f
Ignore key events with KMOD_GUI set #2, see previous commit 2021-03-08 21:09:35 +01:00
Tamás Bálint Misius
dbe4e78257
Ignore key events with KMOD_GUI set
As those are probably not meant for us.
2021-03-08 20:42:44 +01:00
Tamás Bálint Misius
c7619387ac
Fix EXOT freezing upon failing to replicate a neighbour 2021-03-05 21:54:00 +01:00
jacob1
0ed6a84ecf Fix ambient heat display 2021-02-28 16:53:18 -05:00
Tamás Bálint Misius
eece15dbb4
Set shortcut working directory, see a17a2fe 2021-02-17 22:11:56 +01:00
Tamás Bálint Misius
a17a2fe6c7
Add shortcut to programs on install 2021-02-17 21:40:45 +01:00
Tamás Bálint Misius
d155b0ffc1
UTF-8 everywhere 2021-02-17 21:40:40 +01:00
Tamás Bálint Misius
31dda85504
Fix pavg loading behaviour of QRTZ/GLAS/TUNG again
Was thought to have been fixed by 3de92f5; turns out the fix only worked with positive pressures.
2021-02-17 15:53:55 +01:00
Tamás Bálint Misius
92cb50505d
Make molten ROCK produce vertical clusters of GOLD (fixes #762)
Also make GOLD veins spread out a bit more.
2021-02-17 09:49:41 +01:00
Tamás Bálint Misius
4b7e85c2fb
Fix a metric ton of MSVC warnings 2021-02-15 21:24:44 +01:00
Tamás Bálint Misius
413c18950d
Fix font and render targets broken by 3056b86 2021-02-15 21:22:54 +01:00
Tamás Bálint Misius
3056b86780
Fix hang on exit when using platform.restart 2021-02-08 10:55:17 +01:00
Tamás Bálint Misius
be7ea2578b
Correctly decide whether we provide prebuilt libs 2021-01-21 19:20:16 +01:00
jacob1
d037178bb5 Fix infinite spark loops in photoelectric effect 2021-01-19 20:54:03 -05:00
Tamás Bálint Misius
ea41fa4e81
Migrate hardcoded -D flags to per-target Config.h 2021-01-18 12:20:36 +01:00
Sebastián Mestre
36f661b87f
Clean up some code in Simulation::FloodINST (#758)
Co-authored-by: Tamás Bálint Misius <lbphacker@gmail.com>
2021-01-10 17:11:33 +01:00
Tamás Bálint Misius
3a0331d747
Add SDL_Quit calls back in
These got lost in the migration to Meson; they used to be called
with atexit, but this caused more problems than it should have.
Anyway, it's fine to call these only when we're exiting normally,
since otherwise we have bigger problems than not quitting SDL.
2021-01-06 15:46:39 +01:00
Tamás Bálint Misius
9f47e6c028
Actually fix the bug, see previous commit 2021-01-04 21:49:09 +01:00
Tamás Bálint Misius
1e67a579fd
Fix crash when the constructor of a LuaComponent derivative fails
The interface API is a mess, hopefully not for long.
2021-01-04 21:35:47 +01:00
Tamás Bálint Misius
92ccb12d70
Update luasocket, embed eventcompat.lua differently 2021-01-04 16:43:31 +01:00
Tamás Bálint Misius
0832615599
Use versioned tpt-libs
Also move bzip2 sources out of their own subproject.
2021-01-03 11:00:45 +01:00
Tamás Bálint Misius
8e21dc2646
Comply with another MSVC weirdness (see https://tpt.io/:24744) 2021-01-03 00:02:48 +01:00
Tamás Bálint Misius
88b9084267
Fix vertical alignment of text in signs
It's now consistent with the rest of the UI.
2021-01-02 23:24:51 +01:00
Tamás Bálint Misius
7724a60467
Compress font data 2020-12-25 19:46:13 +01:00
Tamás Bálint Misius
6ab46c20e7
Make servers configurable from meson 2020-12-15 22:31:45 +01:00
Tamás Bálint Misius
e9bed49906
Fix PIPE/PPIP breakage on rotation (fixes #750) 2020-12-15 21:40:15 +01:00
Tamás Bálint Misius
01fe90f73b
Remove dead scripts and a few unneeded files, fix fonttool.py copy command 2020-12-15 19:28:59 +01:00
Tamás Bálint Misius
61a97db198
Fix lua=none builds 2020-12-15 18:21:35 +01:00
Tamás Bálint Misius
360297c338
Mesonification 2020-12-14 20:16:52 +01:00
jacob1
a3c2a0d677 Changes to "fromNewerVersion" code
Standardizes the code to run on all mods and betas, not just snapshots and debug builds
Ensures mods and betas can load their own saves
Blocks publishing saves from all non-release versions if they use features not present in the previous release (currently only GoL elements)
2020-11-30 13:45:27 -05:00
Tamás Bálint Misius
a631ef78e9
Fix buggy text width calculation 2020-11-30 15:26:00 +01:00
Tamás Bálint Misius
091764533d
Reset molten SLCN tmp in reactions to prevent interference with products 2020-11-26 09:19:56 +01:00
Tamás Bálint Misius
86a621741d
Preserve stacked particles in saves being placed (fixes #743) 2020-11-16 12:54:15 +01:00
Tamás Bálint Misius
2273233b71
Display 'invalid' ctypes as numbers in HUD 2020-11-10 17:54:39 +01:00
Tamás Bálint Misius
88f97ff2ec
Another GOL rendering fix 2020-10-29 17:17:09 +01:00
Tamás Bálint Misius
1369dbc489
Fix rendering of built-in GOL in thumbnails 2020-10-26 12:33:20 +01:00
Tamás Bálint Misius
02a3dcbaa2
Fix replace mode to allow replacing with GOL types 2020-10-12 18:48:20 +02:00
Tamás Bálint Misius
a73d9b09b6
Allow saves with custom GOL to be loaded in snapshots 2020-10-12 18:17:24 +02:00
Tamás Bálint Misius
5a5eace691
Fix built-in GOL types 2020-10-12 17:36:24 +02:00
Tamás Bálint Misius
f57d503b41
Don't close PROP and CUST dialogs when trying to validate empty strings 2020-10-12 17:24:10 +02:00
Tamás Bálint Misius
18dfd6de86
Copy all text in Label, Textbox, etc. if none is selected (fixes #720)
This is more in line with what Cut does in Textboxes when nothing is selected.
2020-10-11 21:13:29 +02:00
Tamás Bálint Misius
a0a0e6c498
Correctly handle SDL_GetCurrentDisplayMode return value 2020-10-11 12:31:52 +02:00
Vladimir
f137bad7f8
Limit redrawing frequency (#693)
Co-authored-by: Tamás Bálint Misius <lbphacker@gmail.com>
2020-10-11 11:58:52 +02:00
Tamás Bálint Misius
bdcf486a8d
Refactor MomentumScroll to be more in line with other interface prefs 2020-10-10 21:57:29 +02:00
Tamás Bálint Misius
ba72dc7a22
Custom GOL (#731)
Co-authored-by: jacob1 <jfu614@gmail.com>
2020-10-08 20:23:59 +02:00
grufkork
02b26a9da3
Change ScrollPanel scroll behaviour
Small change to replace the momentum-based scrolling with the more common method of scrolling with each scroll wheel step.
2020-10-08 14:36:11 +02:00
RCAProduction
1f7e9095da
Add element ROCK (#724) 2020-10-08 01:27:25 +02:00
Tamás Bálint Misius
99c99132bd
Make energy particles visible to LSNS ant HSWC for reals (see 6052ef6) 2020-10-07 11:16:47 +02:00
Tamás Bálint Misius
02468d0786
Let ARAY control the life of all normal BRAY it spawns 2020-10-07 10:56:58 +02:00
Tamás Bálint Misius
6052ef6179
Make energy particles visible to LSNS ant HSWC for deserialization 2020-10-07 10:53:10 +02:00
Cracker1000
00ddc1f8be
Add VSNS (#707)
Co-authored-by: Tamás Bálint Misius <lbphacker@gmail.com>
2020-10-07 10:49:31 +02:00
nixls
d6de7e2ba8
Make Copy and Cut buttons disappear when no text is selected (#730) 2020-10-04 23:13:58 +02:00
Tamás Bálint Misius
c73dfe8ca0
Prioritise favourited elements in element search
Also prevent favourited tools from showing up twice there.
2020-09-25 20:47:39 +02:00
Tamás Bálint Misius
88fd676cd2
Fix stasis walls not keeping dying GOL cells in stasis 2020-09-22 19:43:01 +02:00
jacob1
efd2b41980 Fix default render modes not being the same as Fire display mode
Special effects like EMBR sparks weren't included, this only affected the renderer, causing those special effects to not render.
2020-09-15 15:23:05 -04:00
Tamás Bálint Misius
efc693bf43
Fix initial mouse position and unsafe SDL_Event union access 2020-08-23 00:25:43 +02:00
Tamás Bálint Misius
fd032eff36
Fix LuaSmartRefs acting on dead Lua states
This fixes problems with degenerate cases such as:

	local button
	assert(coroutine.resume(coroutine.create(function()
		button = Button(10, 10, 20, 20)
	end)))
	button:action(function()
		print("hi")
	end)
2020-08-21 11:16:11 +02:00
Tamás Bálint Misius
f9c6633c62
Make certificate revocation checks non-mission-critical
This will hopefully solve 612 errors on Windows.
2020-08-15 19:07:02 +02:00
Tamás Bálint Misius
126b7adfaa
Open URIs without popping up console windows 2020-08-09 14:26:19 +02:00
Tamás Bálint Misius
6490654733
Fix a few unused result warnings 2020-08-07 01:33:18 +02:00
Tamás Bálint Misius
6ec87ed1ed
Improve select all saves feature (fixes #725)
Ctrl+A no longer selects all saves if any of the textboxes in
the view are in focus, as a ctrl+A in that case is expected to
select everything in the textbox, not in the save browser.

This change also makes the shortcut deselect all saves if all
saves are selected.

And no, I'm not making events cancellable just for this.
2020-08-07 00:01:56 +02:00
ConnorCreate
5ab939720a
Add ctrl+a to select all saves in save browser (#698) 2020-07-26 19:29:55 +02:00
Bowserinator
0959354178
Customize BRAY collision life (#712) 2020-07-26 19:17:43 +02:00
Tamás Bálint Misius
94353a9a3b
Remove leftover cooldown-related code from ARAY and DRAY 2020-07-26 19:05:05 +02:00
Bowserinator
41254a2f95
Add PTNM (Platinum) (#711) 2020-07-26 18:48:15 +02:00
moonheart08
85ab70adb3 Add a reaction to produce BCOL 2020-07-26 11:53:37 +02:00
moonheart08
9413a1f0b6
Introduce element 187, SLCN. (#704)
Add SLCN

Co-authored-by: moonheart08 <moonheart08@noreply.github.com>
Co-authored-by: Tamás Bálint Misius <lbphacker@gmail.com>
2020-07-26 11:45:50 +02:00
Tamás Bálint Misius
6d95ad898e
Widen font ptrs to ints
Hopefully we'd be overflowing shorts otherwise.
2020-07-24 20:46:09 +02:00
Tamás Bálint Misius
5c190c1a7a
Remove gaps between lines of selected text 2020-07-01 16:18:35 +02:00
avevad
1635c93822 Fixed The-Powder-Toy/The-Powder-Toy#721 2020-06-22 17:14:57 +02:00
jacob1
688b4bec30 Fix bug with line tool while WIND is selected (id:2554353) 2020-06-14 15:23:27 -04:00
laurencedeclan
a9f07dc5b0 Data in user data directory (backwards-compatible) 2020-06-10 21:04:08 +02:00
Tamás Bálint Misius
9fcf780c78
Necromancy is bad
This is very similar to the SPRK-PROT bug (fixed by 4aa58d6c)
in that the cause for a later crash is the free list of particles
being corrupted by messing with the .life property of a dead
particle.

The code in the loop body following this kill_part call has no
effect on other particles if the call were to happen. The only
thing this continue skips is increasing pressure under the now
dead particle.

Credit goes to @QuanTech for finding the problem, see id:2547788
(originally his save, I just saved to my alt account for future
reference).
2020-05-27 08:42:49 +02:00
QuanTech0
dda7747688
safeguard FloodParts and kill_part (#717) 2020-05-11 10:20:01 -04:00
QuanTech0
49963980e6
Constrain brushx and brushy values (#716) 2020-05-09 13:54:12 -04:00
jacob1
9188f7bf8b FRAY: use floating point instead of double for this subtraction 2020-05-09 13:50:42 -04:00
QuanTech0
87ee7a54e1
Fix off-by-one in TPTScriptInterface::tptS_set (#715) 2020-05-08 10:04:10 +02:00
jacob1
3fc6b38111 DRAY: don't attempt to copy a particle if we stopped due to being out of bounds
(efficiency reasons only)
2020-05-04 20:54:56 -04:00