+ if( !src->thread_clone )
+ break;
+ }
+ else
+ {
+ // Modifying an active system spawns a small fadeout ghost system
+ sfx_system *ghost_system = sfx_alloc();
+
+ if( !ghost_system )
+ break;
+
+ ghost_system->source = src->source;
+ ghost_system->ch = src->ch;
+ ghost_system->end = src->end;
+ ghost_system->cur = src->cur_lagged;
+ ghost_system->flags = SFX_FLAG_GHOST;
+ ghost_system->fadeout = FADEOUT_LENGTH;
+ ghost_system->fadeout_current = FADEOUT_LENGTH;
+ ghost_system->vol_src = src->vol_src;
+ ghost_system->name = src->name;
+ ghost_system->thread_clone = src;