Commit Graph

3264 Commits

Author SHA1 Message Date
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
jacob1
6f845ed4b4 Fix unnecessary break in LSNS. Closes #713 2020-05-02 11:24:18 -04:00
QuanTech0
544c51c03f Cast malloc() in opt_meth_setoption 2020-04-28 00:30:30 -04:00
jacob1
899a2a046c Add ctrl+u shortcut to reset ambient heat 2020-04-27 23:20:54 -04:00
QuanTech0
4efe5875ab Simulation::create_part sanity check 2020-04-26 21:00:41 -04:00
jacob1
323a850e16 Don't delete SPRK/METL in detector wall, don't allow drawing metal on detector wall
This fixes the only valid bug on the "Glitches" wiki page. All the rest were already fixed (multi-head stkm) or are not bugs (lava ice, "destroying" dmnd with dray)
2020-04-11 23:51:56 -04:00
QuanTech0
6b3d5b9ce5
Fix typo in Options UI (#703) 2020-03-30 18:44:02 -04:00
Tamás Bálint Misius
fe15566d2c
Only change modes when the lock is being held, see 2333786 (fixes #700) 2020-03-23 23:08:52 +01:00
Tamás Bálint Misius
21b9e1a645
Allow everything Unicode except noncharacters and control characters
Thanks mniip, see a113cbe.
2020-03-12 09:49:45 +01:00
Tamás Bálint Misius
a113cbe57d
Don't allow literally *all* code points to be entered
Oops, my bad. See a2a8c876b.
2020-03-10 11:46:06 +01:00
mniip
34c0a94f98 Add a font.cpp merging utility 2020-03-10 02:13:48 +03:00
mniip
fd5867b57d Merge branch 'font-latin-1' 2020-03-10 01:28:57 +03:00
mniip
a38d8639e7 More font editor stuff 2020-03-10 01:18:12 +03:00
mniip
6607b7e845 Make font editor more convenient 2020-03-10 01:00:41 +03:00
Tamás Bálint Misius
c40a6bf13f Allow non-ASCII text to be pasted into textboxes
There is no end to the ASCII-isms >_>
2020-03-09 23:44:18 +03:00
Tamás Bálint Misius
a2a8c876b3 Finalize latin-1 supplement changes
Swap both versions of O with acute and grave accents
Fix a few ASCII-isms
Fix intro text; the latin-1 changes broke the line under The Powder Toy
2020-03-09 23:44:18 +03:00
jacob1
9e53612a5b Version 95.0 (build 345) 2020-02-26 22:03:21 -05:00
jacob1
36c980ba6f Fix --no-http compile 2020-02-23 23:06:57 -05:00
jacob1
89a5162448 restrict new LSNS features to version 95.0 also 2020-02-23 21:56:34 -05:00
Tamás Bálint Misius
82019ef020
Catch exception by reference rather than value 2020-02-23 23:43:11 +01:00
Tamás Bálint Misius
4f01130ecc
Restrict saved version to 95.0 if signs with macros are present 2020-02-23 23:37:01 +01:00
Tamás Bálint Misius
c6f653ac3c
Fix crash when overwriting existing local saves 2020-02-15 21:33:54 +01:00
jacob1
c868e79895 Fix TextPrompt::Blocking 2020-02-09 15:29:13 -05:00
jacob1
ffea880da1 Fix bug where deco renders on EMBR in save thumbnails 2020-02-09 14:10:27 -05:00
jacob1
88064970a3 whitespace fix 2020-02-08 14:22:01 -05:00
jacob1
6b73b2dd9b Fix fighters sometimes loading from saves with no element 2020-02-08 11:10:53 -05:00
jacob1
ca8f4e3aac replace mode: reset created element back to default properties, instead of just changing type 2020-02-08 10:40:29 -05:00
jacob1
1e23269dd4 Add "perfect circle brush" option (on by default), to allow using old circle brush 2020-02-03 00:20:46 -05:00
Tamás Bálint Misius
cb419cd85c
Failure to remove a tag shouldn't be fatal 2020-02-02 12:16:14 +01:00
Tamás Bálint Misius
3c6ae35cc4
Fix PMAPBITS compile-time sanity check 2020-01-24 22:25:15 +01:00
Tamás Bálint Misius
5dfda0c528
Only make the request a POST if POST parameters are present
This is a compatibility thing, eww. This also fixes handling ptsave from the command line.
2020-01-21 22:54:52 +01:00
Tamás Bálint Misius
7330d0412a
Fix random warnings from clang 8.0.0 2020-01-21 14:43:22 +01:00
jacob1
467be1dcb9 change to 1L because technically the argument is a long 2020-01-20 11:16:33 -05:00
jacob1
0c588c48fe allow making POST requests with empty body 2020-01-20 11:11:56 -05:00
jacob1
afefd045c8 split http.request into http.get and http.post (for api reasons)
It's cleaner together, but it's not a good api.
2020-01-20 00:30:30 -05:00
Tamás Bálint Misius
89282806e6
Make NOHTTP transparent to the Lua API
Also, HTTPRequest:status would never have returned queued since
the request is started immediately on creation.
2020-01-18 01:33:40 +01:00
Tamás Bálint Misius
194c50ae3c
Much good #defining ENFORCE_HTTPS does if we don't include Config.h 2020-01-16 20:33:54 +01:00
Tamás Bálint Misius
fe87203eb4
Add HTTP API for Lua
Also fix a bug with Requests where any connection that took
longer to finish than 15 seconds would be killed. Should have
used CURLOPT_CONNECTTIMEOUT instead of CURLOPT_TIMEOUT when
specifying the timeout, oops.
2020-01-16 20:05:31 +01:00
Tamás Bálint Misius
4d52531889
Ditch element and tool classes 2020-01-09 19:22:11 +01:00
QuanTech0
78203fc219 Division by Zero fix (#689) 2020-01-01 23:03:35 -05:00
jacob1
2576175762 remove unnecessary arguments to FloodINST. Fix random warning. 2019-12-23 00:34:21 -05:00
jacob1
5b4a0bf93b Fix MSVC compile 2019-12-21 16:17:37 -05:00
Secundario
a05e20f1bf Do a single CoordStack allocation per thread 2019-12-21 13:14:40 -05:00
suve
110250fe6a Guess best scale on startup (#684)
Guess best window scale at startup
2019-12-21 17:39:32 +01:00
Tamás Bálint Misius
a43463b137
If you don't assign the callback, it won't be called 2019-12-17 10:49:35 +01:00
Tamás Bálint Misius
7629c98f22
Get rid of tiny callback classes, round No.1
I say round No.1 because I'm not sure if there are any left.
Hopefully there aren't.
2019-12-16 21:20:33 +01:00
jacob1
131b965af2 Add Lua apis to interact with DefaultProperties, Create, CreateAllowed, and ChangeType 2019-12-09 22:32:30 -05:00
jacob1
bf7d182de5 Add CreateAllowed and ChangeType events
Used in create_part, kill_part, and part_change_type, allows us to remove element-specific stuff in those functions
Note: difference between Create and ChangeType is that Create is called when we want to initialize default element properties, but ChangeType is called every time a particle is changed to that type, even if it doesn't need default properties set. ChangeType is mainly used for things that need accurate state tracking, like the stkm spawn status.
ChangeType is called every time a particle is changed to or from its type, which includes if the particle is deleted, and also Lua.

Neither of these functions are called when loading saves, that's probably an oversight, will fix later
2019-11-29 19:32:33 -05:00
jacob1
9993290b72 Add Create function, handles setting default properties for elements that need randomness or special code
Most of the switch statement in create_part is gone. There's a few others that I will get rid of in future commits. There will also be a CreateAllowed function, and a ChangeType. ChangeType will handle stuff that is duplicated in both create_part and part_change_type. Considering making a Destroy function instead of ChangeType, though.

Later on, Lua events will be made for all 3

Credit to jacksonmj for the original design of all of this, I copied it into my mod years ago
2019-11-28 00:22:17 -05:00
Tamás Bálint Misius
5c1ea5ef0d
Blacklist SPRK in PCLN's and PBCN's ctypeDraw function
Apparently it used to be blacklisted before ctype-drawing got redone.
2019-11-27 21:00:47 +01:00
jacob1
0078fb4c6f Add DefaultProperties, replaces some of the case statements in create_part
The rest will will in a commit soon that adds the Create event and some other stuff
Lua events will come after that
PLSM default temp lowered to MAX_TEMP
2019-11-25 22:08:18 -05:00
jacob1
459790ffe0 also allow nil here 2019-11-24 23:20:22 -05:00
jacob1
876a9b3096 Fix crashes if returning invalid arguments from graphics or ctypeDraw lua functions 2019-11-24 23:12:22 -05:00
jacob1
b09158220f Fix crash if error happens in ctypeDraw lua function 2019-11-22 23:37:17 -05:00
Tamás Bálint Misius
d17c67b3a4
Fix unsigned integer properties being returned as signed integers from Lua functions 2019-11-14 00:28:27 +01:00
jacob1
7af51b55ac Fix STK2 rocket boots not saving in saves 2019-11-03 10:31:18 -05:00
jacob1
9ed7f1e85a Fix crash if any built-in scripts try to use the interface api
We don't have any scripts like this and never will. But if we did, this would fix the crash.
2019-10-17 23:56:40 -04:00
Tamás Bálint Misius
5f7dd033ec
Revert previous change, add NewtonianGravity element property instead 2019-10-17 22:29:24 +02:00
Tamás Bálint Misius
6b85231f23
Incorporate Gravity property into calculation of acceleration due to newtonian gravity 2019-10-16 01:27:48 +02:00
jacob1
a50b172999 Fix clang 8 compile warnings 2019-10-04 00:21:10 -04:00
Tamás Bálint Misius
ec2576d37f
Keep GameModel brush radius consistent 2019-09-30 14:55:17 +02:00
Nick Renieris
024c3c1b45 gui/game/brush: Add smooth/organic elliptical brush
Not sure why TPT's ellptical brush currently looks like that,
when you type "pixel circle" on Google every result is the
smooth version.

Got the idea from this post:
https://powdertoy.co.uk/Browse/View.html?ID=2464991

Signed-off-by: Nick Renieris <velocityra@gmail.com>
2019-09-26 22:25:32 +02:00
Tamás Bálint Misius
1cea59e521
Make sRGB the default colour space for deco tools, see 51e5f2b 2019-09-22 23:10:57 +02:00
Tamás Bálint Misius
742e030a13
Add gamma = 2.2 and 1.8 modes, see 51e5f2b 2019-09-21 22:16:52 +02:00
Tamás Bálint Misius
a6127bc1fb
Add Lua API for deco tool colour space, see 51e5f2b 2019-09-21 21:58:50 +02:00
Tamás Bálint Misius
51e5f2bffa
Add option to make deco tools use sRGB colour space
Currently only affects the smudge tool. I'd have to look
into the others to decide if they need chaging. They probably
do though, they're not exactly intuitive.

I also fixed a bug with DropDowns where their popup would
show up in some random place if the parent window was a
ScrollPanel, and changed a few alignments here and there.
Notably, DropDowns now align the popup so that the currently
selected item is vertically centered and doesn't move when
the popup is opened.
2019-09-21 21:37:34 +02:00
Tamás Bálint Misius
51b78be139
Nicer implementation of sim.parts 2019-09-15 22:14:46 +02:00
jacob1
28d5345bf9 Fix off-by-one issue in sim.parts, fixes #678 2019-09-15 15:37:54 -04:00
Tamás Bálint Misius
66ef37e778
Don't destroy the new command being entered in ConsoleView
Not a perfect solution as it doesn't remember the modifications
made to previous commands, but it's more common to be concerned
about the command being entered than about the changes made to
the previous commands.
2019-09-14 19:38:49 +02:00
Tamás Bálint Misius
0e237a1f4b
Remove unused variables from Simulation::FloodINST
These were left behind from before the CoordStack update.
2019-09-14 19:19:24 +02:00
jacob1
88d165fb24 Fix deleting stamps not working 2019-09-13 00:35:36 -04:00
Sebastián Mestre
da5f8068c0 Use CoordStack for INST Flooding (#676) 2019-09-07 19:56:23 -04:00
Nick Renieris
c08b333909 graphics/gldrawmethods: Fix compilation
Was probably broken by ff27d69424

Signed-off-by: Nick Renieris <velocityra@gmail.com>
2019-09-06 09:33:40 -04:00
Tamás Bálint Misius
f22c27e977
Fix VS warning complaining about std::fill(float *, float *, int) 2019-09-04 14:52:38 +02:00
jacob1
5dd4897fa4 Add somewhat ugly --nohttp option
used for the renderer to not include libcurl, because it isn't installed on the tpt server
2019-08-29 23:33:45 -04:00
jacob1
6279bbeed3 Fix missing period in update notification, --no-fft compile fix 2019-08-29 22:49:16 -04:00
mniip
f44d42dde8 Fix signedness warnings in String.h 2019-08-18 12:10:01 +03:00
mniip
33f4f54de1 Fix --nolua compilation 2019-08-18 11:54:32 +03:00
jacob1
b975dc2938 Make water equalization fill in areas slightly more naturally 2019-08-10 22:46:41 -04:00
jacob1
2e154e5ff9 Rewrite flood_water to use CoordStack and fix stack overflow, fixes #646 2019-08-10 22:38:44 -04:00
jacob1
d61db0fd63 Fix frame # not showing properly in HUD when recording 2019-08-10 20:43:00 -04:00
jacob1
0ec50951f7 LSNS: formatting changes, change if statements to switch 2019-08-10 17:22:46 -04:00
jacob1
41d54857f2 Fix cipher list on Windows. Lock cipher changes behind a define, not going to define it for now 2019-08-09 22:52:29 -04:00
jacob1
ec0be1cdc9 Fix CELL size check when loading OPS saves 2019-08-05 00:22:37 -04:00
jacob1
e280fea031 arbitrary gravity code cleanup
Was working on modernizing the code in my mod, copied all the changes here too
2019-08-05 00:08:06 -04:00
Tamás Bálint Misius
ee2a765758
Only allow strong ciphers to be used
How fun it will be to keep this list up to date...
2019-08-03 00:16:12 +02:00
Tamás Bálint Misius
0bdf7ad914
Prevent newlines from being needlessly appended (fixes #667)
That wrap_if_needed call would sometimes cause empty newlines
to appear under otherwise already well-wrapped blocks of text.

The idea is that whenever a new character is about to be appended,
the current line is checked for being too long with that character
included, and the character is only actually appended after the
wrapper makes sure that appending it won't overflow the line by
inserting a newline. This means that wrap_if_needed is only ever
called before pushing the current character to records, never
after, as was the case here.
2019-08-02 16:58:39 +02:00
Tamás Bálint Misius
7158a00f44
Prevent protocol downgrade attacks 2019-08-02 01:31:02 +02:00
Tamás Bálint Misius
89ef7ce216
Okay, it wasn't functionally equivalent (see 79f9a2d6) 2019-08-01 16:54:28 +02:00
Tamás Bálint Misius
79f9a2d62d
Prioritise ctypeDraw functions over sparking
This adds an exception from brush-based sparking behaviour for
elements that have a ctypeDraw function. A functionally equivalent
exception has been removed in de1fc0f, thus making it impossible to
ctype-draw SPRK on a few elements that otherwise aren't sparkable,
such as CONV.
2019-08-01 16:47:29 +02:00
jacob1
9327eecd7b Update gravity mask even while paused 2019-07-31 22:28:02 -04:00
jacob1
7a3c0c1d9a Fix tpt.eltransition.<elem>.presHighType 2019-07-31 22:10:35 -04:00
Tamás Bálint Misius
8b81023770
Replace a few occurrences of hard-coded font height with FONT_H
These two are all I managed to find, but there may be others.
2019-07-31 23:57:13 +02:00
Tamás Bálint Misius
de1fc0f906
Revise ctype-drawing (fixes #657) 2019-07-27 19:12:05 +02:00
jacob1
a73d1f97f6 Fix stamps not saving properly to stamps.def. Make "Rescan Stamps" sort stamps by time created 2019-07-26 23:09:27 -04:00
jacob1
c696a11793 Fix 'l' crash 2019-07-24 00:43:48 -04:00
Ian Bastos
4383de7ad5 Implement file drop handler (#666) 2019-07-24 00:04:41 -04:00
jacob1
9faf95a858 misc whitespace changes 2019-07-23 00:11:48 -04:00
jacob1
fb06e0028b Add disable-network command line argument 2019-07-23 00:11:26 -04:00
Tamás Bálint Misius
7ad797275b
Make Renderer::ResetModes actually reset modes
See 2333786.
2019-07-22 16:18:05 +02:00
Tamás Bálint Misius
23337862a4
Use current rendering modes when placing a save (fixes #446) 2019-07-22 10:38:13 +02:00
Tamás Bálint Misius
8223e06670
Fix selection background of formatted labels
The metrics of the rectangles comprising the selection background
were calculated based on the selected range and the unformatted
text, so these rectangles would be off when the formatted text
was different (i.e. had any formatting).
2019-07-19 11:28:51 +02:00
Tamás Bálint Misius
34b4665d4b
Purge the last traces of PositionAtCharIndex and CharIndexAtPosition
Also fix a bunch of other ugly things.
2019-07-19 09:47:15 +02:00
Tamás Bálint Misius
7c793020c6
Fix highlighting in ConsoleView 2019-07-19 09:22:55 +02:00
Tamás Bálint Misius
bea4576d89
Allow wrapping after certain punctuation characters 2019-07-19 08:58:47 +02:00
Tamás Bálint Misius
4bb85578a8
Fix text wrapping (fixes #166)
This breaks the syntax highlighting in ConsoleView.
I haven't yet thought of a way to fix that properly,
ideas anyone?
2019-07-19 02:53:54 +02:00
Tamás Bálint Misius
cf7e478ac5
Use tool desc. and relevant menu desc. in tool search (fixes #289) 2019-07-16 22:17:11 +02:00
Tamás Bálint Misius
dbd5999d1c
Reinstate inversion of inclusion of pressure when shift is held
This feature was removed temporarily in a407aba.

Whether pressure is included when saving or loading is
determined as follows:

 * load-like operations (which invoke Simulation::Load) always
   include pressure;
 * save-like operations (which invoke Simulation::Save) include
   pressure if the Simulation.IncludePressure preference node
   is true;
 * finally the state of the shift key inverts the decision.
2019-07-16 19:43:52 +02:00
Tamás Bálint Misius
a407aba087
Make Simulation.IncludePressure pref node accessible from OptionsView
Also remove ugly and messy behaviour depending on whether
shift is being held while copying or stamping.
2019-07-10 00:35:49 +02:00
Tamás Bálint Misius
5391fc3ee0 Get widths in order, various other things 2019-07-06 09:03:07 +02:00
yarek
bc5fd4ffc8 Small UI refactor
nFixed category refreshing
2019-07-06 09:03:07 +02:00
yarek
803182dda4 Add horizontal separator 2019-07-06 09:03:07 +02:00
yareky
5508f0ccfd Allows to change menu selection from hovering to mouse click
New option in the menu available. This new  menu behaviour is disabled by default.
2019-07-06 09:03:07 +02:00
Cracker1000
b2adbb54db Add .life serialization support to lsns (#652) 2019-06-25 20:57:43 +02:00
Tamás Bálint Misius
92a748bf76
Add missing standard include (fixes #644)
... which is apparently needed on some systems. I guess we might
be missing includes all over the place.
2019-06-12 22:52:12 +02:00
Tamás Bálint Misius
8897c6daea
Make elem.free rebuild menus (fixes #649)
Also make sure removed elements don't stay selected.
2019-06-11 21:12:22 +02:00
Tamás Bálint Misius
75e6ece184
Expose transition constants to Lua (fixes #654) 2019-06-11 20:43:34 +02:00
Tamás Bálint Misius
07b0d52f90
Add more transition type checks and fix tpt.eltransition
Though I'm quite sure nobody actually cares about that table. It's been broken for a
very long time.

The PROP tool now properly calls part_change_type when type is being set.
2019-06-03 19:27:06 +02:00
Tamás Bálint Misius
97bde1111d
Fix part_change_type not being called by sim.partProperty 2019-06-03 12:59:39 +02:00
Tamás Bálint Misius
8671332e60
Fix transition properties not being validated
Also clean up some more of the Lua API code, again. Eww.
2019-06-02 17:49:21 +02:00
jacob1
20c98e9b48 Add sim.CELL constant + some other change I made a while ago for some reason 2019-05-15 00:21:17 -04:00
Tamás Bálint Misius
c193e88c28
Leave only the 'wants pressure' check in Simulation::Load for QRTZ/GLAS/TUNG 2019-05-07 21:15:41 +02:00
Nuno Miguel
81380acc86 Fix namespace error 2019-04-20 23:12:54 -04:00
Tamás Bálint Misius
e1b3ddcbcb
Nuke using namespace std; 2019-04-20 17:03:23 +02:00
Tamás Bálint Misius
0179cefc78
Flatten include trees 2019-04-20 15:36:11 +02:00
jacob1
711453ad65 Fix crash when searching in element search ui 2019-04-17 23:49:27 -04:00
Tamás Bálint Misius
e1d32c9352
Move notification out of block locking associated mutex in Gravity.cpp
I don't know how it ended up inside, I wanted it outside. For the record,
signalling the CV while the associated mutex is locked is a pessimisation,
it just yields predictable scheduling.
2019-04-17 09:50:41 +02:00
Tamás Bálint Misius
5810a19dbc
Get GetUserName out of the way on Windows 2019-04-17 01:16:45 +02:00
Tamás Bálint Misius
2e76b10619
Use C++11 threads 2019-04-17 00:23:57 +02:00
Tamás Bálint Misius
9d92b77163
Clean up sign-related code a bit
Also draw search signs with purple text and thread signs with red.
2019-04-12 17:09:34 +02:00
Tamás Bálint Misius
59afaec70f
Fix Element::Identifier assignment leak (closes #205)
I didn't use 'fixes' because this doesn't strictly fix that specific
bug (I think?). Anyway, it does remove strdup which is mentioned in the
issue.

Also fix elem.free not allowing DEFAULTFOO_PT_STUFF and similar to
be freed.
2019-04-12 00:27:27 +02:00
jacob1
76a92d75d2 Fix POLO eating PROT ID#0 no matter where it is 2019-04-09 22:11:14 -04:00
Tamás Bálint Misius
06e2836726
Fix Lua reference leaks (fixes #638) 2019-04-09 15:28:40 +02:00
Tamás Bálint Misius
783310dc16
Fix a few exceptions returning pointers to temporaries in what()
LocalBrowserModelException and GameModelException returned pointers to
data owned by temporaries in what(). Solution: don't create a temporary
in what(), store the ByteString version of the error message in the
exception.
2019-04-08 19:18:54 +02:00
iczero
2ba0f70efd Fix race condition in Gravity.cpp 2019-04-07 23:31:08 +02:00
Tamás Bálint Misius
ff39c82e48
Print libcurl error buffer to stderr on client error 2019-04-05 21:22:51 +02:00
Tamás Bálint Misius
e3fefe30d1
Add option to redirect cout/cerr to files 2019-04-05 20:55:05 +02:00
jacob1
ea4c355748 better capitalization 2019-04-03 20:19:25 -04:00
Tamás Bálint Misius
6468a51ac1
Add more SSL client error strings 2019-04-04 01:39:11 +02:00
Tamás Bálint Misius
79c5813ba3
Fix msvc compile error again 2019-04-02 19:53:11 +02:00
Tamás Bálint Misius
c8df51a8b3
Fix {ctype} sign macro displaying Empty for non-element ctypes 2019-04-02 19:50:01 +02:00
jacob1
58a3411255 Fix msvc compile error 2019-03-31 16:42:21 -04:00