Speeeder, thanks very much for your excellent code sample - it's given me lots of ideas!

blackvoid, I think I understand what you're saying but my question would be how? My problem seems to stem from not being able to alter the sprite image in question if it is held in a SpriteEngine. Let me restate my problem: say I have a sprite depicting a rally car - at the start of a race it'd be all shiny and clean but as the race wears on the car would get dirtier and dirtier... I know I could use different (pre-drawn) versions of my car's sprite image to show the car getting dirtier but what I want to do is "splatter" the car with "mud" in a random-ish manner. Hence why I said "particles" in the original post. The crux of the matter is I can't find a way of referencing a SpriteEngine image with a draw/pixel or even blit method... and I've been trying for ages now.

My guess is that if it can't be done directly maybe I'll have to draw to an ImageList object then copy that into place in the SpriteEngine and then display it - a drawn out process and therefore probably quite slow(?)

Otherwise I'll have to abandon the SpriteEngine and use DirectDrawSurfaces and write my own draw, collision check etc routines - something I'm not equipped for, yet...