This is really more of a question of curiosity rather than actual necessity, but is it possible to have a light behind, say, a rotating fan (made of brushes), and have the shadows rotate on the floor. I know that you can do this with a shader, but I was just wondering.
Is it possible? - Fan shadows
Certainly not with real-time dynamic lighting, Quake III does not support this… you’ll have to wait for DooM III. Of course, it’s quite easy to fake this with either a shader or better yet, the _decal entity.
You’ll find _decal entities with one of the later versions of GtkRadiant (such as 1.4.0) as well as instructions on how to set them up in the entities.def file.
@obsidian, could you or someone else, paste in here the relevant .def code for _decal ents as Im personally still using gtk 1.2.13, although I have the 2.5.13 "the world of tomorrow" release of q3map2, surely I can just add it to my existing .def file, if Im using recent .dll`s to complie my maps?
I intend to upgrade to gtk 1.4X when I move over to ja mapping, but that will be after I finish my last wolf map.
i would go for a decal shader with tcMod rotate and a blendfunc blend stage. i think that in q3a and rtcw there are such shaders “ready to use” 
I don’t think that there is a such read to use in q3a but i’ve seen an example of this effect and it looks damn amazing :).
/LordDaimos
rtcw does have one…
textures/decals/fan_shadow
{
surfaceparm nomarks
polygonOffset
entityMergable
{
map textures/decals/fan_shadow.tga
blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
rgbGen vertex
tcMod rotate 256
alphaGen vertex
}
}
the textures alpha channel is quite blurred, which makes it look more realistic, if the light behind the fan is some distance away from where the shadow is to be drawn.
edit: I don`t think the entityMergable is needed unless the shadow is going to be overlapping over decals… perhaps ydnar can clarify that?
not with lightmaps, with _decals, that’s a different thing, but a fake nevertheless… 
Ah btw concerning the definition of the _decal entity :
/*QUAKED _decal (0 1.0 0) ?
-------- KEYS --------
“target” : the name of the entity targetted at for projection
-------- SPAWNFLAGS --------
(none)
-------- NOTES --------
Compiler-only entity that specifies a decal to be projected. Should contain 1 or more patch meshes (curves) and target an info_null entity. The distance between the center of the _decal entity and the target is the axis and distance of projection.
*/
For more information simply use the search feature here, there have been plenty of threads concerning this stuff 
http://zombie.bhdnet.com/images/shot0122.jpg
here this should give you a nice visual idea of the fan _decal
{
qer_editorimage textures/muckaround/fan_decal.tga
surfaceparm nomarks
surfaceparm trans
surfaceparm nolightmap
polygonOffset
cull none
nopicmip
{
clampmap textures/muckaround/fan_decal.tga
blendFunc GL_ZERO GL_ONE_MINUS_SRC_COLOR
tcMod rotate -360
rgbGen indentity
}
}
@MindLink, thanx for the .def code 
@Zombie13, nice looking map… and am I right in thinking a single _decal can be projected onto multiple brush and patch faces on different planes? that`s very cool if they can 
a _decal projects onto everything in the direction it’s specified to. I actually don’t know if it projects through brushes or if it stops at the first brushes hit, gotta ask y for more information on this.
I was well aware of how to do this stuff, but was just wondering about the capabilities of Q3map2. And what I was saying was that q3map2 uses several lightmaps to fake dynamic lighting, i.e. a flickering light. Unless I misunderstood somewhere along the line.
@Kaziganthe, so are you thinking that maybe those lightmaps could have animated shadows on them, like a rotating fan shadow? …if so, what would the advantage of that being over a rotating decal? …just curious 
I was just curious… Once I learned of decals a while back I thought about how they could be used for the shadows of moving objects and came to a new conclusion just now…
What if… HWat if you made the decal of the fan shadow but left out the rotate? instead couldn’t you just “hook” it it to the func_rotate so that the two would move together and therefore look much more realistic?
nice idea but arent the _decal ents compile only? ie once they have been baked into the bsp they cant move.
just a regular func_rotating (didn’t mess with anything) don’t foget your origin brush either 
then this shader which came with the game (Jedi Academy)
textures/decals/sign_decal3
{
qer_editorimage textures/decals/sign_decal3
polygonOffset
q3map_nolightmap
q3map_onlyvertexlighting
{
map textures/decals/sign_decal3
blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
}
}