I've never done this, but since nobody else replied -- perhaps SCAN_TEXTURE in trace() would do the trick? You could potentially call the trace() on bullet impact, then check TEX_NAME against a list of "special" textures. If it's in the list, apply the appropriate decal.