Commit Graph

3205 Commits

Author SHA1 Message Date
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
Tamás Bálint Misius
c8960d1358
Add more sign macros (fixes #578) 2019-03-31 21:44:54 +02:00
Tamás Bálint Misius
3de92f5ef4
Fix pavg loading behaviour of QRTZ/GLAS/TUNG (fixes #607)
Those particles now save/load pavg if pressure is being saved/loaded.
This means they won't ever break again when being loaded as part of
a stamp.

They actually save pavg01 * 64 because pavg is saved as an integer and
these elements are too sensitive to pressure changes for integer pavg
values to be adequate.
2019-03-31 12:18:41 +02:00
jacob1
d22d22e662 Fix pressure / ambient heat being saved as 0 instead of not at all when shift is held 2019-03-30 20:25:51 -04:00
Tamás Bálint Misius
47f898ca5a
Tweak replace mode and specific delete mode (fixes #631) 2019-03-30 23:59:20 +01:00
jacob1
4cf0fe5aab Fix sim.deleteStamp not updating stamps.def 2019-03-25 23:52:48 -04:00
jacob1
e9011033eb Allow loading window positions on 2nd monitor 2019-03-24 23:17:09 -04:00
Tamás Bálint Misius
89c7d9ea02
Fix save buttons and probably other things not being cleaned up in FileBrowserActivity (fixed #635) 2019-03-24 21:47:31 +01:00
jacob1
c7ae820f1c Add MotD when using a broken alternate update server 2019-03-23 11:01:32 -04:00
Tamás Bálint Misius
e07b133e5a
Another curl version-dependent feature thing
Seriously, who thought doubles were a good idea?
2019-03-23 10:30:26 +01:00
Tamás Bálint Misius
bd7aa33286
Only use curl mime feature if it actually exists 2019-03-22 22:27:11 +01:00
Tamás Bálint Misius
5192356b76
Fix AbandonableTask being utterly broken 2019-03-22 15:21:13 +01:00
jacob1
ed2eac627b Fix msvc compile 2019-03-18 23:50:38 -04:00
Tamás Bálint Misius
296b758193 Follow redirects and fix save loading by ptsave parameter 2019-03-18 23:50:38 -04:00
Tamás Bálint Misius
341e75cdfe Fix thumbnails sometimes not being resized in the save browser
This was because ImageRequest::Finish used its Width and Height members after calling Request::Finish,
after which the ImageRequest object may get deleted at any time by RequestManager. One solution to this
is to copy (or preferably move) important members to local variables in the Finish functions of
objects derived from Request and use only those after calling Request::Finish (or anything that
in turn calls that).
2019-03-18 23:50:38 -04:00
Tamás Bálint Misius
5916c9db9c Fix a bunch of threading-related issues 2019-03-18 23:50:38 -04:00
Tamás Bálint Misius
263f756a20 Add STATICSCHEME macro to be used with requests to STATICSERVER
Make up your mind, jacob1!
2019-03-18 23:50:38 -04:00
Tamás Bálint Misius
5bc3c03082 Change scheme to https everywhere 2019-03-18 23:50:38 -04:00
Tamás Bálint Misius
e29e3481e0 Remove spinning from AbandonableTask::Finish 2019-03-18 23:50:38 -04:00
Tamás Bálint Misius
fc8740f7d5 Add curl, rework Request and RequestManager a bit 2019-03-18 23:50:38 -04:00
Tamás Bálint Misius
3d22c1ed4e Fix dumb things that aren't necessarily lethal but are eyesores 2019-03-18 23:50:38 -04:00
jacob1
2e17b848b1 Make element names a String (unicode support)
This won't be used by official elements, but mods or lua scripts could and do use unicode
2019-03-12 00:10:43 -04:00
jacob1
45b391d9ea Fix updater 2019-03-09 22:09:08 -05:00
jacob1
55e6074942 use override in all possible places 2019-03-09 21:07:32 -05:00
Tamás Bálint Misius
d3fe7e39a5 Turn ThumbnailRendererTask into an AbandonableTask 2019-03-09 20:40:11 -05:00
jacob1
c09a7bb8d9 Fix compile error in some older versions of clang 2019-03-08 00:05:05 -05:00
Tamás Bálint Misius
7fb0b52d79 More renaming, remove a few useless .c_str()s and fix a URL that had previously contained Download and thus fell victim to my mindless text replacement tricks 2019-03-07 22:56:08 -05:00
Tamás Bálint Misius
d958adf487 Fix filename field in multipart content-disposition headers
All the multipart stuff is going to be handled by curl so this split-by-':' code is going to move into Request.cpp later.
2019-03-07 22:56:08 -05:00
Tamás Bálint Misius
30c7f6ded7 Rename Download* to Request* and move HTTP stuff inside src/client/http 2019-03-07 22:56:08 -05:00
Tamás Bálint Misius
1864a8649d Turn RequestBroker::Get/SaveUserInfoAsync into a request derived from Download
Also move everything http_ into Download and DownloadManager and nuke RequestBroker.
2019-03-07 22:56:08 -05:00
Tamás Bálint Misius
af4d022087 Add RequestMonitor 2019-03-07 22:56:08 -05:00
Tamás Bálint Misius
66c49203f2 Use the new thumbnail renderer task everywhere 2019-03-07 22:56:08 -05:00
Tamás Bálint Misius
3a76a3a514 Turn RequestBroker::RetrieveThumbnail into a request derived from Download
Also start moving RenderThumbnail out of RequestBroker into its own Task. Add mutex to SaveRenderer to guard Render().
2019-03-07 22:56:08 -05:00
Tamás Bálint Misius
53f2018c7e Turn RequestBroker::RetrieveAvatar into a request derived from Download
Also add http namespace because classes clashed a lot.
2019-03-07 22:56:08 -05:00
Tamás Bálint Misius
8b5cf394e0 Replace http_* calls with Download calls in non-RequestBroker stuff 2019-03-07 22:56:08 -05:00
jacob1
9e110cba73 zoom api changes: throw errors instead of returning bools, zoomEnabled takes book as arg, some small refactoring 2019-03-05 23:43:41 -05:00
ssccsscc
a06124a5a9 Fixed typo
Fixed typo in function for detection mouse inside zoom
2019-03-05 23:43:41 -05:00
ssccsscc
1355a4363e Added Lua function for working with zoom 2019-03-05 23:43:41 -05:00
ssccsscc
a9b862645a Added Lua function for working with zoom 2019-03-05 23:43:41 -05:00
jacob1
d4c638869f Increase local browser ui size 2019-03-03 23:48:12 -05:00
jacob1
3bb75ca951 Tick Client 10 times a second, makes thumbnails appear way faster 2019-03-03 23:47:54 -05:00
jacob1
772148900e Fix stamp and local save thumbnails being stretched 2019-03-03 23:45:33 -05:00
jacob1
d021cbb5cf USE_SDL is no longer used 2019-03-01 09:58:07 -05:00
jacob1
dd3d9dfaad change a bunch of virtual to override (should fix annoying mac compile warnings) 2019-03-01 00:07:31 -05:00
jacob1
79aef1dab6 prevent weirdness when ctrl/shift/alt key event is canceled 2019-02-24 15:29:02 -05:00
jacob1
1536736b33 allow using element names as argument 2 to tpt.set_property again 2019-02-23 18:05:11 -05:00
jacob1
768202ca9b Version 94.1 2019-02-21 00:23:45 -05:00
jacob1
28bfa9dfc9 GoL is now affected by stasis wall 2019-02-20 23:25:28 -05:00
jacob1
45ee6780d9 Recreate window when toggling "altFullscreen" while fullscreen is enabled
Fixes bug where half of the window gets cut off
2019-02-20 22:20:49 -05:00
jacob1
3fb134f814 Fix issue on qwertz keyboard layouts where the first key input after opening the console would be ignored
This seems like a hack, but I think it's the intended way to do this?
2019-02-20 22:12:22 -05:00
jacob1
646935edb3 Fix local saves with "." having their name cut off, add a warning for a few invalid file names 2019-02-19 23:24:39 -05:00
jacob1
16d686e949 fix replace mode semicolon shortcut 2019-02-19 21:53:44 -05:00
jacob1
08cd32abbe use scancode instead of keycode for most keyboard shortcuts
keys like 0-9, tab, enter, ctrl/shift/alt, ins, and del are still looking for keys instead of scan codes, just in case (but I expect them to be always equivalent anyway)
2019-02-19 21:46:56 -05:00
jacob1
0c6ce20880 Add "Force Integer Scaling" option for fullscreen
Also:
recreate the window when enabling resizable window, same workaround I applied to my mod for jacob1/The-Powder-Toy#24
recreate the window when toggling fullscreen, to work around some bugs where the window is sized incorrectly or the mouse position doesn't match where the cursor is
Don't capture mouse cursor when this is a debug build
2019-02-18 22:18:29 -05:00
jacob1
a979917744 Version 94.0.342 2019-02-17 14:08:04 -05:00
jacob1
46cd49ba24 Fix uncaught exception in console when trying to parse invalid numbers 2019-02-16 19:20:55 -05:00
jacob1
25c1b13bd4 improve find tool handling with GoL, can now find specific life elements
Reverts most of LBPHacker's previous commit, lol
2019-02-16 19:13:05 -05:00
Tamás Bálint Misius
4ff1dc0bc3 Fix a few more random PMAPBITS issues 2019-02-16 18:57:51 -05:00
jacob1
240bb3bd92 restrict saves to version 94.0 when they use newer elements / features 2019-02-10 22:02:17 -05:00
jacob1
edba703aab don't allow right click -> select a save when you aren't logged in 2019-02-07 23:30:09 -05:00
wolfy1339
a2bb531c46 Remove inclusion of deprecated C++ headers 2019-01-31 20:09:15 -05:00
jacob1
abce030d5d ignore mouse button 4/5 when drawing, fixes #626
perhaps in the future we'll add a use to these
2019-01-31 20:06:09 -05:00
jacob1
82bdf4a777 Fix macOS data directory (for real this time, I think) 2019-01-22 00:26:29 -05:00
jacob1
af20029e08 Files for new icon
Still not entirely final, may change android (circle) icon a bit, and not sure if the mac icon works
2019-01-20 12:53:39 -05:00
jacob1
87f17fd7c3 in mac version, download the update file using a browser
not possible to update executable inside app packages anymore
TODO: update website to serve .dmg link instead
2019-01-19 11:54:43 -05:00
jacob1
e8b4256503 Fix gravity sometimes persisting a frame after ctrl+z / clearing sim, fixes #571 2019-01-14 21:11:06 -05:00
jacob1
50a88c9c26 Fix whitespace 2019-01-12 12:50:28 -05:00
jacob1
655f4bb6d0 chdir to data directory on mac
May change this later if I decide to go back to using objective-c (or swift?) later to reimplement the rest of the mac features
2019-01-12 12:08:18 -05:00
jacob1
cc93479c4b Fix incorrect time format being used sometimes when not in UTC timezone, add day of month to "previous year" time format 2018-12-31 21:49:44 -05:00
jacob1
2d838087b5 minor fix 2018-12-30 13:49:00 -05:00
jacob1
08c22031e2 Add tpt.unregister_keypress to eventcompat.lua 2018-12-30 13:47:57 -05:00
jacob1
f3f1fbf77f switch back to normal dns (was only intended as a quick fix in a snapshot) 2018-12-29 14:00:04 -05:00
jacob1
10bee577a2 eventcompat.lua: Add shift mapping for us keyboard layout 2018-12-28 19:16:22 -05:00
jacob1
3b3775addf Add blur lua event, called when opening another interface window 2018-12-27 21:17:24 -05:00
Caeleron
9e94abb150 Transfer properties of COAL breaking into BCOL (Fixes #602)
Fixing a problem where decoration is not transferred from COAL to BCOL when broken. All properties of COAL should now be copied to the new BCOL particle, including if it is burning, decoration and discoloration caused from heating.
2018-12-25 17:12:56 -05:00
jacob1
87fb94ce94 Delete unused Thumbnail handling code 2018-11-27 22:13:29 -05:00
jacob1
d0dd9ec22f fix sim.brush being double size, fix compile warning 2018-11-21 12:38:26 -05:00
Tamás Bálint Misius
5a57c37ae9 Make close event trigger consistently 2018-11-20 21:06:59 -05:00
jacob1
b41f228c10 fix a few cases where the rng calls were converted improperly 2018-11-20 21:02:20 -05:00
jacob1
a3eae58120 fix (msvc) compile error 2018-11-17 19:33:16 -05:00
jacob1
2929264885 embed event api compatibility lua script
probably temporary, can't deprecate and remove an extremely common api in the same version.
lua script embed code mostly copied from my mod
2018-11-17 00:09:48 -05:00
Tamás Bálint Misius
e48bd482f6 Add close event 2018-11-16 23:02:05 -05:00
Tamás Bálint Misius
3de68c4346 Fix event objects not being freed 2018-11-16 23:02:05 -05:00
Tamás Bálint Misius
531229daa9 Move EventTypes inside LuaEvents to prevent global scope pollution 2018-11-16 23:02:05 -05:00
jacob1
a8489ba6f5 add new events api, replaces legacy event functions
event.register(event.mousedown, function(...) print(...) end)
event.unregister(event.mousedown, somefunc)

mouseclick event split into mousedown, mouseup, mousemove, mousewheel
keypress event split into keypress, keyrelease, textinput. key* events only contain keycode and scancode, don't attempt to represent a letter (was very broken at this before). Also have helpful shift/ctrl/alt flags passed in. textinput just represents inserted text, can probably even handle foreign characters.
register_step replaced with event.tick event

All legacy register_* and unregister_ functions are removed. There is a compatibility lua script, might embed it later. tpt.set_shortcuts / tpt.test also removed. event.getmodifiers added, just a misc function to get the currently held modifiers

Lots of code duplication to handle each event is removed, it's not handled in a more generic way. Although the Event class / child classes could use some work.
2018-11-16 00:07:26 -05:00
jacob1
48bc6e02ba Fix gcc 8 warnings 2018-11-03 19:36:07 -04:00
LBPHacker
5733073c33 Fix dray with tmp=0 acting weirdly 2018-10-30 21:28:57 -04:00
EchoHowardLam
813cab7af7 Hotfix endless air current
Fix issue #580
2018-10-30 21:04:52 -04:00
nunom2005
31b45312b2 Add a message a message while fetching the motd (#603) 2018-10-30 21:01:17 -04:00
jacob1
f7e8ade347 fix another single-pixel PIPE generation issue 2018-09-30 23:46:52 -04:00
jacob1
276098f9db fix crash when using elem.element on windows 2018-09-17 23:03:05 -04:00
jacob1
7f215a6a17 fix particle #0 not being removed from the photons map when moving 2018-09-09 10:53:02 -04:00
jacob1
3707ecd563 fix "publish" button in save browser 2018-08-24 23:11:09 -04:00
jacob1
bbef295fe3 fix default elements disappearing when loading saves if the identifiers don't match 2018-08-24 23:10:46 -04:00
jacob1
c1e4644dc8 It's that time of year again 2018-08-07 09:24:11 -04:00
jacob1
d435f30834 fix LDTC temp/airdrag 2018-07-22 00:05:03 -04:00
krawthekrow
bdc3f300ba show conv tmp as element name in hud 2018-07-21 22:36:06 -04:00
krawthekrow
d42d7486e7 allow prop tool to parse particle type for tmp 2018-07-21 22:36:06 -04:00
krawthekrow
d05e4b2d0b show ldtc tmp2 in hud 2018-07-21 22:27:11 -04:00
krawthekrow
711d65bbd5 rewrite ldtc to be less buggy 2018-07-21 22:27:11 -04:00
jacob1
1c1bcb0cdc fix stasis wall not having any blob mode effects 2018-07-21 21:26:14 -04:00
jacob1
92244f78bb initialize some variables to fix -Werror=maybe-uninitialized warnings
most aren't actually bugs, but gcc isn't able to determine that the paths it can follow guarantee they are initialized
2018-07-08 00:49:35 -04:00
jacob1
8e09edd188 fix typo in favorites menu 2018-07-07 21:41:36 -04:00
krawthekrow
143ba20191 check for correct prefix in hex property decoding 2018-07-07 19:12:12 -04:00
LBPHacker
a3a3b3be1a Make ctrl+shift+click toggle favorite status 2018-07-07 19:10:41 -04:00
LBPHacker
27f5ba199d Fix PIPE being reversed 2018-06-24 10:37:19 -04:00
krawthekrow
11d33d5b77 call rayt linear detector 2018-06-24 10:37:11 -04:00
Mrprocom
2935a94b27 Update in-game rules to match the new TPT rules 2018-06-24 10:37:01 -04:00
jacob1
9a707003aa fix blue line in smudge tool texture 2018-06-05 23:15:09 -04:00
jacob1
969e99c78c also fix SplitFromEndBy in String 2018-06-05 00:26:31 -04:00
jacob1
53f6807ea6 make fps update less often in hud 2018-06-04 23:48:40 -04:00
jacob1
01b9a7c7e8 fix Saves/ appearing before all saves in local save browser 2018-06-04 23:34:40 -04:00
jacob1
0e383e1045 fix scrolling in browsers being reversed 2018-06-01 00:22:06 -04:00
mniip
48a333f0de Fix some scrolling issues 2018-05-30 13:35:44 +03:00
jacob1
7393c577f8 fix double scale firstrun check. We shouldn't need this popup anymore though 2018-05-28 14:02:50 -04:00
jacob1
3ce906b25d even better desktop size detection, now accounts for taskbars / panels 2018-05-28 13:55:49 -04:00
jacob1
a40ab1e50d don't load invalid window positions, only load window pos on first run 2018-05-28 13:33:01 -04:00
jacob1
324602fe26 adjust for window border when loading window position too
fixes window moving up every time on windows, on linux the border size gets reported as 0 so nothing changes there
2018-05-26 17:38:01 -04:00
jacob1
743ec98e3f add resizable window and original fullscreen options 2018-05-25 21:19:44 -04:00
jacob1
58127f355b fix windows / renderer compile (renderer requires sdl for now) 2018-05-25 21:19:44 -04:00
jacob1
841022c907 recenter linux icon 2018-05-25 21:19:44 -04:00
jacob1
002ab799c5 whitespace fixes 2018-05-25 21:19:44 -04:00
jacob1
7ac7eec6cf more sdl2 fixes:
don't recreate window every scale / fullscreen change
better renderer handling, input scaling no longer needed even if window resizing is enabled
load/save window position (replaces old windows code to do this)
calculate initial mouse position on startup because sdl no longer does this for us
2018-05-25 21:19:44 -04:00
jacob1
802ec4d252 remove icon debug stuff 2018-05-25 21:19:44 -04:00
jacob1
bd8550c2d5 fix a few more sdl 2 bugs:
mouse movement captured outside the window when mouse is down
fullscreen now focuses the window (there is a bug where you have to click once to get mouse input, though)
add linux icon, will need to be redone properly because it's offcentered with a black border (mask isn't present)
allow typing ~ into the console + some other fixes
2018-05-25 21:19:44 -04:00
jacob1
ba362c1ab7 fix options menu crash 2018-05-25 21:19:44 -04:00
jacob1
e5230b5b9f upgrade to SDL 2
Still currently in process, there are some issues:
Windows version doesn't work, mac version might not work, opengl might not work
Icon doesn't work (on Linux at least)
Lua will need some changes, there are some sdl 1.2 hacks in there
When entering fullscreen, the window loses focus
When holding down mouse out of bounds, mouse move events stop being sent
When letting go of mouse out of bounds, mouseup event doesn't take into account double scale mode
Clicking on startup without moving mouse will draw at 0,0 for a frame
Renderer probably won't compile because USE_SDL doesn't entirely work

... and maybe others

Some nice things were done though:
no more blit2, sdl can do the scaling itself
3d effect removed, no reason to support this joke any longer
No need to support copy/paste ourselves, sdl does it now
text handling done much better now, separate events for key presses and text input
when a new window is shown, all events ignored until next tick (ignore textinput event if window shown from key press event like console)
2018-05-25 21:19:44 -04:00
jacob1
38fac7046a add #define NOMINMAX before windows.h includes 2018-05-17 21:49:46 -04:00
jacob1
e8373ffa4c mac compile fix 2018-05-17 21:31:26 -04:00
jacob1
3b428789c7 fix selecting another element turning off find tool 2018-05-17 20:59:37 -04:00
jacob1
6ef0f065a6 fix .what methods on exceptions 2018-05-17 20:55:29 -04:00
mniip
aa389dbbfd Add missing locale header 2018-05-14 05:38:10 +03:00
mniip
30dd49235d Add ToLower/ToUpper 2018-05-14 05:12:32 +03:00
jacob1
36a545124e fix setting element properties in legacy lua api 2018-05-13 16:16:14 -04:00
mniip
9f6f43cf90 Fix float parsing in the PROP tool 2018-05-13 04:49:31 +03:00
mniip
22e1de3fe8 Work around a thread_local bug in MinGW with the WIN32 threading model 2018-05-13 04:32:28 +03:00
mniip
a87acf56b7 Replace strdup with mystrdup 2018-05-10 10:34:45 +03:00
jacob1
8a8cbb81e4 fix getting/setting description in elements api 2018-05-10 00:27:55 -04:00
mniip
b8c9888d87 ...Fix opengl renderer compilation too 2018-05-09 20:16:28 +03:00
mniip
67df4fd963 Fix renderer compilation 2018-05-09 20:15:26 +03:00
mniip
3781b36c31 Merge branch 'data' 2018-05-09 19:28:58 +03:00
mniip
12e79ea111 Fix compilation on windows 2018-05-09 19:05:39 +03:00
mniip
f30215bb83 Merge remote-tracking branch 'origin/master' 2018-05-08 08:36:15 +03:00
mniip
f8da7452c6 Remove codecvt 2018-05-08 08:35:06 +03:00
mniip
32aaafee94 Move data into either cpp files or const arrays 2018-05-08 07:38:55 +03:00
jacob1
190107c1b2 fix CLNE 2018-05-08 00:01:34 -04:00
mniip
deaa17a947 Work around some holes in the BitmaskType specification 2018-05-08 06:05:12 +03:00
mniip
d404f4a538 Fix some C++14-isms.
Apparently C++11 is more strict regarding default argument and return
value conversions. Also return brace-initializer construction has had
little support.
2018-05-08 05:48:32 +03:00
mniip
ea1d574caf Add copy-paste to the font editor 2018-05-08 03:58:30 +03:00
mniip
954086fb86 Fixx macos compilation 2018-05-08 03:10:19 +03:00
mniip
51adf37853 Fix order and composition of String(char[]) operators to make clang happy 2018-05-07 08:10:50 +03:00
mniip
e0af41350a Add String/Format commentary 2018-05-07 06:22:24 +03:00
jacob1
56cba4595c Merge branch 'unicode' 2018-05-06 20:15:23 -04:00
jacob1
49703404be change almost all the rest of the rng calls to .chance/.between 2018-05-05 11:56:17 -04:00
mniip
f8586ea3a2 Remove ByteString::Stream 2018-05-04 23:10:39 +03:00
mniip
e29d2c58c2 Copy the Format interface too 2018-05-04 21:12:47 +03:00
mniip
1485ae5a21 Fix incorrect uses of String(char[]) 2018-05-04 20:05:26 +03:00
mniip
d6a92bdab5 Copy the String interface to ByteString 2018-05-04 14:45:57 +03:00
jacob1
ef2a0c2c81 fix single pixel pipe, remove ugly color bit hack 2018-05-03 21:40:48 -04:00
jacob1
44a8665f6f update rng functions in a lot of element files to use .between/.chance
conversion is still very incomplete
2018-05-02 23:53:15 -04:00