Commit Graph

643 Commits

Author SHA1 Message Date
Tamás Bálint Misius
d75e4ccb2e
Fix OOB read when parsing empty string as float
I really don't like how the only way to return with an error from ParseFloatProperty is via an exception >_>

Also do a range check on airTemp only if isValid is true, otherwise it's uninitialized.
2022-10-06 19:25:41 +02:00
Tamás Bálint Misius
304cc3a47b
Move Read/WriteFile from Client to Platform 2022-10-05 19:55:04 +02:00
Tamás Bálint Misius
a674498a96
Clean up Client::DoInstallation
Also Factor out app constants that mods might change into Meson options and clean up format::URLEncode in the process, convert app and document icon data in arrays to actual images, actualize AppStream data for possible future packaging, add alternative command line format for opening filesystem saves and ptsave URLs, fix a memory leak in Platform::GetCwd, and add format::URLDecode.
2022-09-08 06:54:35 +02:00
Tamás Bálint Misius
04e899e824
Use std::vector<char> consistently for file operations
This made it possible to get rid of two GameSave constructors.

Also clean up Client::LoadSaveFile, Client::ReadFile, and Client::WriteFile in the process, and remove unused SaveRenderer::Render
2022-09-08 06:45:25 +02:00
Tamás Bálint Misius
69faea971f
Enable By date button when viewing Favorites 2022-09-07 13:01:52 +02:00
Tamás Bálint Misius
513d2cae3e
Update tpt-libs
Also restructure meson.build and the ghactions workflow a bit, and enable -ffunction-sections and -fdata-sections.

Note that starcatcher uploads have not been tested and most likely don't work.
2022-09-03 07:01:21 +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
8763d6e75f
Expose SDL button codes to Lua
Also sanitize GameController mouse up reason and related code.
2022-08-08 09:13:05 +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
Tamás Bálint Misius
fb318c71ec
Fix a missing #include 2022-05-26 17:53: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
xphere07
18c604fd42 Element scroll bar Improvement
Signed-off-by: xphere07 <xphere07@outlook.com>
2022-04-04 23:21:24 -04: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
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
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
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
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
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
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
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
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
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
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
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
jacob1
31f1b62a4c
Disallow CGOL with duplicate rulestrings or names > 7 chars 2021-07-13 22:09:49 -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
05f722b397
Fix custom brush loading 2021-07-11 16:48:05 -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
fb3fcfcdb7
Fix local saves and migration process on Windows 2021-07-04 14:35:25 -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
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
jacob1
3c9882598c
When air temp textbox is defocused, correct out of range temperatures 2021-06-18 23:07:17 -04: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
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
d8e641b977
Fix dangling pointer smuggling in PreviewModelException 2021-05-22 14:53:45 +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
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
0e530dc0ca
Fix "NONE" showing in HUD in many cases 2021-05-02 23:58:19 -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