I thought I'd try my hand at it, since Inquisitor's going on vacation. It's pretty crude, but I did the following:

1. Create a disc model. Paint it white.

2. I'm using my handy-dandy fog wrappers, which are nice in general:


code:
--------------------------------------------------------------------------------

# Sets fog range (setting far==0 turns fog off):function set_fog(near, far) {	if(far==0) {		camera.fog=0;		return;	}	fog_color=1;	camera.fog=1;	camera.fog_start=near;	camera.fog_end=far;}# Sets the fog color:function set_fog_color(r, g, b) {	fog_color=1;	d3d_fogcolor1.red=r;	d3d_fogcolor1.green=g;	d3d_fogcolor1.blue=b;}

--------------------------------------------------------------------------------

3. Code the fog entity:


code:
--------------------------------------------------------------------------------

action entity_fog1 {	my.passable=1;	# Self-illuminate:	my.light=1;	my.red=255;	my.green=255;	my.blue=255;	# Transparent fog:	my.alpha=20;	my.transparent=1;	# Follow player around:	while(1) {		if(player) {			vec_set(my.x, player.x);		}		wait(1);	}}

--------------------------------------------------------------------------------

4. Spawn multiple instances of the fog object close to the ground -- put this right after you load your level:


code:
--------------------------------------------------------------------------------

# Set A6 fog info:set_fog(1000,2000);set_fog_color(255,255,255);# Spawn a layer every 5 quants, from 5 to 100:temp=0;while(temp<100) {	temp+=5;	ent_create("..\\models\\disc.mdl", vector(0,0,temp), entity_fog1);}

--------------------------------------------------------------------------------

That dragged the framerate down from about 70FPS to 60 on my system.


quote:
--------------------------------------------------------------------------------
M wrote: For A5 users, they will most likely not be able to view the model since it was created with A6 MED, could you describe what the disc is for them.
--------------------------------------------------------------------------------

Good point. Easiest thing to do would be to create a large, flat rectangle, (i.e., a horizontal plane described by z=0), and paint it with a white texture. In this case, I used a disc. I don't think it matters much, as long as it's flat and large.


quote:
--------------------------------------------------------------------------------
S. wrote: Where should I put this?
--------------------------------------------------------------------------------

Stick that right after you load your level, (you may need a wait(1); right before it).


quote:
--------------------------------------------------------------------------------
S. wrote: And I also don't think that Inquisitor is using this technique.
--------------------------------------------------------------------------------

Ah, but we don't know until he comes back from vacation.  

Actually, I missed a 'temp=0', so that might cause a problem:


code:
--------------------------------------------------------------------------------

 # Set A6 fog info:set_fog(1000,2000);set_fog_color(255,255,255);temp=0;# Spawn a layer every 5 quants, from 5 to 100:while(temp<100) {	   temp+=5;	   ent_create("..\\models\\disc.mdl", vector(0,0,temp), entity_fog1);}

--------------------------------------------------------------------------------

Also, you probably don't need 20 of 'em. Perhaps instead of 'temp+=5', you could do a 'temp+=10'? I dunno. Like I said, it was quick, one-off.  

