Commit Graph

20 Commits

Author SHA1 Message Date
Rebmiami
c0f248c6db Updated comments and element description 2023-12-13 06:24:18 -05:00
Rebmiami
39b811e52c Changed LDTC mark color 2023-12-13 05:47:17 -05:00
Rebmiami
4a15cf5fd3 Fixed LDTC -> PAPR mark color and adjust fading 2023-12-12 17:17:57 -05:00
Rebmiami
a50f4a10f3 Reduce PAPR+ARAY read/write duration and reformat mark color 2023-12-12 15:57:52 -05:00
Rebmiami
cb40d869cd Add PAPR interaction with LDTC 2023-12-12 08:38:02 -05:00
Tamás Bálint Misius
ca6c67c16c
Factor functions shared between elements into headers
The signature duplication was getting out of hand; too easy to get wrong.
2023-12-09 16:37:49 +01:00
Tamás Bálint Misius
0f1218df0c
Sort out constness of Simulation and Renderer in graphics functions
Mostly. They are now const but only in graphics functions called from secondary Renderers. The primary (main thread) Renderer still allows graphics functions to mutate Simulation; this is required for correct in-PIPE rendering of custom elements.
2023-12-09 16:37:45 +01:00
Tamás Bálint Misius
dd875987b9
Enable basic rendering of custom elements in secondary Renderers
By factoring element and other static-ish data out of Simulation and protecting basic graphical element properties (i.e. everything that contributes to graphics other than the Graphics callback) with an std::shared_mutex. This is taken exclusively (std::unique_lock) by the main thread when it changes these properties, and inclusively (std::shared_lock) by non-main-thread code that uses Renderer.
2023-12-08 22:40:44 +01:00
Tamás Bálint Misius
52a4917624
Remove BOUNDS_CHECK
It didn't do anything anyway, see 10e104f3f5.

Also fix some C89-isms.
2023-09-02 12:11:24 +02:00
catsoften
a715f5d71a Use RGB for constants and gradients, other misc changes 2023-04-16 22:13:39 +02:00
catsoften
bc085705a8 Remove deprecated PIXPACK/RGB/R/G/B functions 2023-04-16 22:13:39 +02:00
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
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
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
d435f30834 fix LDTC temp/airdrag 2018-07-22 00:05:03 -04:00
krawthekrow
711d65bbd5 rewrite ldtc to be less buggy 2018-07-21 22:27:11 -04:00
krawthekrow
11d33d5b77 call rayt linear detector 2018-06-24 10:37:11 -04:00