Commit Graph

25 Commits

Author SHA1 Message Date
Tamás Bálint Misius
a13c29875f
Don't mangle custom element types in life, ctype, tmp{,2,3,4}
Achieved by adding a new element property called CarriesTypeIn, whose bits signal to save loading code which properties of particles of the element class in question carry element IDs. The bits in this property are numbered the same way as sim.FIELD_* constants for consistency. One would signal from Lua that a custom element carries element IDs in its tmp like this:

	elem.property(id, "CarriesTypeIn", 2 ^ sim.FIELD_TMP)

"Carrying an element ID in a property" is to be interpreted as follows: the property is treated as a combination of a PMAPBITS-bit (so, currently 9-bit) unsigned integer lower part holding an element ID and a 32-PMAPBITS-bit (so, currently 23-bit) signed integer upper part holding whatever makes sense for the element. CONV, for example, uses this signed integer in its ctype as the extra "v" parameter for particle creation.
2023-02-28 12:43:45 +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
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
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
de1fc0f906
Revise ctype-drawing (fixes #657) 2019-07-27 19:12:05 +02:00
Tamás Bálint Misius
0179cefc78
Flatten include trees 2019-04-20 15:36:11 +02: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
337a929cc3 A few description updates from boxmein. Closes #282
I don't think we need to add the element name for elements like ACID in the description when it is already obvious
2016-06-11 11:00:06 -04:00
jacob1
f6d82b6f8a separate t and v argument in create_part, fix LIGH not defaulting to .life of 30 with clones / console 2016-01-11 22:38:42 -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
jacksonmj
38e21c8236 Fix crash when STOR is next to PIPE and has an invalid tmp value (http://tpt.io/~1768004) 2015-04-10 14:23:58 +01:00
jacob1
20a7d0528b also fix SOAP changing .ctype of particles it thinks it's attached to 2014-05-12 11:27:39 -04: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
18ddb7a155 some more description changes 2013-05-13 22:12:03 -04: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
8e02443f0a prevent CRAY from destroying DMND 2013-02-01 14:29:18 -05:00
cracker64
b3037857f0 Detach soap before going into STOR, fixes 1065982 (mostly) 2013-01-11 23:06:42 -05:00
Simon Robertshaw
57548b60d9 TPT: STOR should not conduct heat 2012-06-13 01:38:09 +01:00
Simon Robertshaw
51b17badf4 A bit of refactoring (elements) 2012-05-07 17:59:50 +01:00