Commit Graph

5180 Commits

Author SHA1 Message Date
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
0b1cd53377
Add link to up-to-date build instructions to README.md 2019-09-25 09:26:26 +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
suve
3db7feaeff Add the --no-install-prompt option to Sconscript 2019-09-06 09:33:02 -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
a058409829 Fix static compilation
(probably, just like last time I didn't test this)
2019-09-04 00:16:46 -04:00
jacob1
ac7caab127 Fix --nohttp 2019-08-30 23:42:23 -04:00
jacob1
1dc3e9e296 fix --nofft renderer check 2019-08-29 23:35:04 -04: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
e2787e00e5 Fix font editor compilation 2019-08-18 12:04:07 +03:00
mniip
33f4f54de1 Fix --nolua compilation 2019-08-18 11:54:32 +03:00
moonheart08
dc70646ee2 Add shebang to python scrips used in the project.
This prevents the wrong interpreter from being used.
2019-08-14 14:15:35 -04: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
25b7021f2a vsproject.py updates
Add multithreaded compilation flag
Fix autogenerated portions being output all on one line
Fix irrelevant bug where filters may not be added if there aren't any source files in that directory, but subdirectories do have source files
2019-08-10 16:20:16 -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
5eb3cfa6f5 don't automatically run vsproject.py when running generator.py, update msvc version 2019-08-09 22:51:17 -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