
I made some methods to use q3map_surfacemodel to automatically "decal" walls -- in addition to randomly placing bones or rocks or whatever. The bones are from OpenGameArt, the rocks from Sketchfab although I gave the rocks a real texture.
The "decals" are not decals but rather I made a one-side quad .OBJ model = 2 triangles.

.obj and shader sources and links to the free models page of origin ...
www.moddb.com/mods/zircon-engine.
It's funny, initially I was going to edit the q3map2 compiler or -- I have .map pre-processor in my engine that can do many automated tasks -- then I created the quad model and tried it with q3map_surfacemodel and it worked.
As far as I know the model cannot be an .md3 because it has only one quad. Fun fact ... due to obj model orientation being different in Garux/NetRadiant Q3map than classic original q3map2 -- this is because Garux uses assimp library and so does TrenchBroom -- the model coordinates would need rotated 90 degrees to work.
(I use J.A.C.K. map editor and a different q3map2 fork that behaves like original q3map2 -- and I can't easily switch because Garux/NetRadiant q3map2 despises some of my .map sources).
Oh -- and assimpl library used in Garux/NetRadiant and TrenchBroom actually will reject at least some .md3 models converted in .obj to .md3 by Noesis so it seems that .md3 is not a 100% compatibility magic bullet.)