
Surprised due to DOS memory constraints.
Stainparticles is a fascinating concept. Is there a way to check particle collision while drawing surface blocks? Then stuff doesn't have to be precalculated and stored... as cached particle overlay surfaces?
The particles don't have to be precise, maybe a 'particlemap' modeled after lightmap could be used. Instead of blending, a discrete pixel would be written whenever a threshold is crossed, filtered through a dither lookup.