Commit Graph

52 Commits

Author SHA1 Message Date
catsoften
6aa68adbf4
Add custom gravity mode and replace hardcoded gravity interactions (#820)
Co-authored-by: Tamás Bálint Misius <lbphacker@gmail.com>
2022-07-31 08:19:16 +02:00
jacob1
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
4b7e85c2fb
Fix a metric ton of MSVC warnings 2021-02-15 21:24:44 +01:00
Tamás Bálint Misius
4d52531889
Ditch element and tool classes 2020-01-09 19:22:11 +01: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
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
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
0179cefc78
Flatten include trees 2019-04-20 15:36:11 +02:00
jacob1
b41f228c10 fix a few cases where the rng calls were converted improperly 2018-11-20 21:02:20 -05: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
jacob1
f9211c2f90 msvc compile fix 2018-04-23 22:46:28 -04:00
Saveliy Skresanov
cda029ff42 Use xoroshiro128+ random generator (everywhere besides BSON code). 2018-04-23 22:47:44 +07:00
wolfy1339
27f6a6b297 Strip whitespace from files in repo (#553) 2018-04-03 21:46:01 -04:00
jacob1
67bc12de97 Fix issue where TPT was bought by EA 2018-04-01 15:26:13 -04:00
jacob1
40d2850ff7 TPT has now gone free to play! Many elements are unlocked by default, but by using Powdercoins you can unlock new elements and promote your saves to front page! 2018-03-31 22:40:23 -04:00
jacob1
3bd35ce83f fix STKM + fan wall 2018-03-21 23:58:27 -04:00
jacob1
da45e0e469 last src/simulation/element changes
PSTN, CRAY, and possibly some others will need to be modified to account for this without breaking saves. The save format will need to include PMAPBITS and adjust properly
2017-12-28 21:27:01 -05:00
jacob1
208cf14ce8 convert r&0xFF in src/simulation/elements 2017-12-28 13:00:23 -05:00
jacob1
ac24810da5 add some defines to reduce usages of hardcoded r>>8 2017-12-28 12:03:26 -05:00
jacob1
ce054bfc3f fix misc. errors reported by clang static analyzer 2017-05-06 20:02:23 -04:00
jacob1
443c81e67a extra sanity check (was needed in my mod) 2016-07-16 00:50:09 -04:00
jacob1
74b8ba8a07 fix for previous commit, make sure .ctype is valid 2015-12-18 20:05:52 -05:00
jacob1
139bdd7f4d fix STKM being unable to pick up most energy particles, or LOLZ/LOVE 2015-12-18 20:02:53 -05:00
jacob1
07be209094 remove extra spacing in all the element files 2015-12-18 02:27:19 -05:00
jacob1
95ab91e91d Remove .State property from all element files 2015-12-18 01:51:22 -05:00
jacob1
f1ea32516d jacksonmj: Stop using Element.State 618c4b5ce5cd 2015-12-18 01:14:31 -05:00
jacob1
f7cd7691e8 fix bug where STKM can be killed from HSWC when turned off 2014-01-07 16:32:15 -05:00
jacob1
8d5fe459fe 'n' to toggle Newtonian Gravity, quickoption tooltips show which keys you need to press to toggle them 2013-07-15 13:09:19 -04:00
Saveliy Skresanov
ac66ce3b3c Fix the bug where stickmen were shooting LIGH only in one direction. 2013-07-07 11:52:08 +07:00
jacob1
b699bb176f Add two new properties for CLNE-like elements
the thing CLNE does, drawing upon it will set ctype; and what BCLN  does to CLNE - disables #1). Made use of the two new properties
2013-06-10 10:51:55 -04:00
jacob1
6fec955f41 TPT: Stop STKM being able to jump on the bottom of the screen 509b84b4f 2013-05-20 16:50:49 -04:00
jacob1
6f8e2c0345 remove unneeded / duplicate constants, fix SPC_AIR/other tools so it won't conflict with lua elements (the 11th one won't work right now) 2013-05-16 17:01:33 -04:00
jacob1
81876a93a3 redo some brush drawing stuff to remove useless checks, and to allow for replace mode in the future 2013-05-16 00:20:07 -04:00
jacob1
67e1213905 fix tpt.message_box, fix compiling error 2013-05-09 18:52:13 -04:00
Saveliy Skresanov
f35f221554 Rocket boots for fighters. 2013-05-08 23:36:04 +07:00
Saveliy Skresanov
9893f59657 Fix "blow power" for stick man, disable rocket boots on E-hole. 2013-05-08 23:08:29 +07:00
jacksonmj
89a0603b53 Rocket boots for stickman, because why not
Pass through gravity wall to activate, fan wall to deactivate.
Accelerate with left/up/right keys. Plasma is spawned when accelerating,
and STKM is immune to plasma but not other hot elements when rocket
boots are enabled. Hold left+right to slow down quickly.
STKM spawn element is retained and can still be created while using
rocket boots, but it may be difficult to do anything useful with the
spawn element whilst spewing hot plasma everywhere.
2013-05-08 15:12:28 +01:00
jacksonmj
20c261826d STKM - fix jumping in the x direction in different gravity modes 2013-05-07 15:01:24 +01:00
jacob1
c68e4b1393 change descriptions of many elements to be more consistent, contain more info, and be more helpful. 2013-05-03 22:42:36 -04:00
jacob1
e493cf8a47 fix all tab spacing issues in all the element files 2013-03-13 15:54:34 -04:00
jacob1
6d1c7be740 initialize all stickmen variables, not just legs 2012-10-26 15:13:27 +01:00
Simon Robertshaw
2f76c2374d TPT: Give menu color to elements without one (stickmen, TRON, and WARP) 2012-08-11 11:57:21 +01:00
Simon Robertshaw
8c7755d5d2 TPT: Now stickmen can shoot plasma. dc01f09f0e 2012-07-25 20:04:47 +01:00
Simon Robertshaw
a033fe7e49 TPT: Add ptypes.enabled checks to a few more places 61f39f5464 2012-07-25 19:42:53 +01:00
Simon Robertshaw
f8766201a6 TPT: Optimization for GoL, Added brush size and mouse wheel to lua! e7035233fd 2012-07-25 19:32:36 +01:00
Simon Robertshaw
1e5eba3583 TPT: Make VOID and BHOL eat stickmen again 1f4f50682c 2012-07-25 18:27:08 +01:00
Simon Robertshaw
08d1dd06ed TPT: Fix STKM causing stacking and falling through some powders c14704ae49 2012-07-25 15:47:18 +01:00
Simon Robertshaw
32d9b87f66 Correct Stickman appearance 2012-07-25 14:24:03 +01:00
Simon Robertshaw
0e8d055d8b TPT: Fix the bug with stickman standing on the screen edge. d0a1b14409 2012-06-12 18:54:03 +01:00