dust/sand


(stealth6) #1

Yes yes use the search button, wel I have been going through those for at least uhmmm 3 hours now (probs more), but I still cant find it!

There are alot of topics about fog, but none are clear

I opened up mlb_temple and tried to get the fog out of there but I just got a solid brush

I’m trying to make the effect that was made in de_dust (found that on the search) that it looks like dusty sandstorm…

I downloaded both de_dust and b2 and all the 1s I could find, but I cant find it in there, they must have got rid of it or changed the name of the texture to something without fog in it (I was looking for “sand_fog”)

So please explain how I can achieve this:
I just want the map to be foggy in yellow (dust/sandstorm effect) and on the edges it must have more fog (Is this possible?) so it looks like the map goes on (which it doesnt)

I was using sd_siwasky, but i also ready that the sky has to be the same color as the fog, but I dont have the fog yet so that would be pretty hard to change :smiley:

textures/de_dustet2/sand_fog 
{ 
   fogparms ( 0.59 0.55 0.46 ) 2304 
   surfaceparm fog 
   surfaceparm nodraw 
   surfaceparm nonsolid 
   surfaceparm trans 
} 

this I found in the de_dust topic it is a shader for the fog (and I added the diff RGB numbers to the darker 1 as ]UBC[ McNite suggested to nullskillz

It also said this:

Worldspawn:


"fogclip" "2048"
"farplanedist" "2048"
"_fog" "textures/de_dustet2/sand_fog"

But I don’t understnd what it is for (thus what it means)

So can somebody now pleas help me (Once again I did try search ALOT)

BTW: if I cover the hole map in dust will it be dusty indie the houses 2? if so can you get rid of that effect?


(cpthank) #2

in my worldspawn i only type
“_fog” “textures/mapname/fog”

maybe u can try this :slight_smile: 0.0


(stealth6) #3

well here we go:

As you can see I got some dust effect now, but it isn’t powerfull enough,

Also one of the compiling stages became increasingly larger(not the VIS 1), fogot the name dam

ty to cpt hank for reply now I use this as a shader an I understadn the worldspawn code excpet for fogclip and farplanedist

textures/purefrag/fog
{
	qer_editorimage textures/sfx/fog_grey1.tga
	fogparms ( 0.6 0.6 0.6 ) 2560
	surfaceparm fog
	surfaceparm nodraw
	surfaceparm nonsolid
	surfaceparm trans
}

So now I’m going to try and figure out how to make the fog effect denser



EDIT: just tried my map again tried to add command posts but failed lol nothing disappears so you got the brushes for constructed not contructed and blown up all through eachother  :o 

As for the dust failed to make it denser but did manage to change back the compile times to something sensible by making the fogclip and farplanedist 512 instead of 2048

Anybody that can tell me how to adjust the density f the fog?

Also when I viewed the map in low detail FPS jumps around between 20 and 40 (I have com_maxfps 43), so I though I'd try high detail to see how much worse it would get, but it didn't it got better?! then it stayed a stable 43 except when opening doors.... HOW is that possible?

script for command posts why isnt it disappearing? even at the beginning its all through eachother?


// ================================================
axis_cp_open
{
spawn
{
wait 100
accum 0 set 0 // 0=CP Closed, 1=CP Damaged
constructible_class 2 // Dyno+Satchel

	trigger self disable_cp_features		// Default charge bar times
	setstate axis_cp_damaged invisible	// Hide damaged CP clipbrush+model
	setstate axis_cp_damaged_model invisible

	wait 1000
	// *----------------------------------- vo ------------------------------------------*
	wm_teamvoiceannounce 0 "axis_hq_compost_construct"
	wm_addteamvoiceannounce 0 "axis_hq_compost_construct"
	// *----------------------------------- vo ------------------------------------------*
}

trigger disable_cp_features
{
	setstate axis_cp_open_model invisible	// Hide Open CP model

	setchargetimefactor 0 soldier 1
	setchargetimefactor 0 lieutenant 1
	setchargetimefactor 0 medic 1
	setchargetimefactor 0 engineer 1
	setchargetimefactor 0 covertops 1

	sethqstatus 0 0			// Landmines team warning message
	disablespeaker speaker_axis_cp		// Disable morse code sound
}

trigger enable_cp_features
{
	setstate axis_cp_open_model default	// Show open CP model

	setchargetimefactor 0 soldier 0.75
	setchargetimefactor 0 lieutenant 0.75
	setchargetimefactor 0 medic 0.75
	setchargetimefactor 0 engineer 0.75
	setchargetimefactor 0 covertops 0.75

	sethqstatus 0 1			// Landmines team warning message
	enablespeaker speaker_axis_cp		// Enable morse code sound
}

buildstart final
{
	setstate axis_cp_closed invisible		// Hide closed CP clipbrush+model
	setstate axis_cp_closed_model invisible
	setstate axis_cp_damaged invisible	// Hide damaged CP clipbrush+model
	setstate axis_cp_damaged_model invisible
}

built final
{
	accum 0 set 1			// Only show the damaged CP model
	trigger self enable_cp_features		// Increase charge bar times

	wm_announce "Axis Command Post constructed. Charge speed increased!"
	// *----------------------------------- vo ------------------------------------------*
	wm_removeteamvoiceannounce 0 "axis_hq_compost_construct"
	wm_teamvoiceannounce 0 "axis_hq_compost_constructed"

	wm_teamvoiceannounce 1 "allies_hq_compost_constructed_axis"
	wm_addteamvoiceannounce 1 "allies_hq_compost_constructed_axis"
	// *----------------------------------- vo ------------------------------------------*
}

decayed final
{
	setstate axis_cp_open_model invisible	// Hide Open CP model
	trigger self show_damaged_cabinet	// Show previous cabinet state
	trigger self show_closed_cabinet
}

death
{
	trigger self show_damaged_cabinet	// Show damaged CP model
	trigger self disable_cp_features		// Default charge bar times

	wm_announce "Allied team has destroyed the Axis Command Post!"
	// *----------------------------------- vo ------------------------------------------*
	wm_teamvoiceannounce 0 "axis_hq_compost_damaged"
	wm_addteamvoiceannounce 0 "axis_hq_compost_construct"

	wm_removeteamvoiceannounce 1 "allies_hq_compost_constructed_axis"
	// *----------------------------------- vo ------------------------------------------*
}

trigger show_closed_cabinet
{
	accum 0 abort_if_equal 1		// Closed cabinet active yet?
	setstate axis_cp_closed default
	setstate axis_cp_closed_model default
}

trigger show_damaged_cabinet
{
	accum 0 abort_if_equal 0		// Damaged cabinet active yet?
	setstate axis_cp_damaged default
	setstate axis_cp_damaged_model default
}

}

// ================================================
allied_cp_open
{
spawn
{
wait 100
accum 0 set 0 // 0=CP Closed, 1=CP Damaged
constructible_class 2 // Dyno+Satchel

	trigger self disable_cp_features		// Default charge bar times
	setstate allied_cp_damaged invisible	// Hide damaged CP clipbrush+model
	setstate allied_cp_damaged_model invisible

	wait 1000

	// *----------------------------------- vo ------------------------------------------*
	wm_teamvoiceannounce 1 "allies_hq_compost_construct"
	wm_addteamvoiceannounce 1 "allies_hq_compost_construct"
	// *----------------------------------- vo ------------------------------------------*
}

trigger disable_cp_features
{
	setstate allied_cp_open_model invisible	// Hide Open CP model

	setchargetimefactor 1 soldier 1
	setchargetimefactor 1 lieutenant 1
	setchargetimefactor 1 medic 1
	setchargetimefactor 1 engineer 1
	setchargetimefactor 1 covertops 1

	sethqstatus 1 0			// Landmines team warning message
	disablespeaker speaker_allied_cp		// Disable morse code sound
}

trigger enable_cp_features
{
	setstate allied_cp_open_model default	// Show open CP model

	setchargetimefactor 1 soldier 0.75
	setchargetimefactor 1 lieutenant 0.75
	setchargetimefactor 1 medic 0.75
	setchargetimefactor 1 engineer 0.75
	setchargetimefactor 1 covertops 0.75

	sethqstatus 1 1			// Landmines team warning message
	enablespeaker speaker_allied_cp		// Enable morse code sound
}

buildstart final
{
	setstate allied_cp_closed invisible		// Hide closed CP clipbrush+model
	setstate allied_cp_closed_model invisible
	setstate allied_cp_damaged invisible	// Hide damaged CP clipbrush+model
	setstate allied_cp_damaged_model invisible
}

built final
{
	accum 0 set 1			// Only show the damaged CP model
	trigger self enable_cp_features		// Increase charge bar times

	wm_announce "Allied Command Post constructed. Charge speed increased!"
	// *----------------------------------- vo ------------------------------------------*
	wm_removeteamvoiceannounce 1 "allies_hq_compost_construct"
	wm_teamvoiceannounce 1 "allies_hq_compost_constructed"

	wm_teamvoiceannounce 0 "axis_hq_compost_constructed_allies"
	wm_addteamvoiceannounce 0 "axis_hq_compost_constructed_allies"
	// *----------------------------------- vo ------------------------------------------*
}

decayed final
{
	setstate allied_cp_open_model invisible	// Hide Open CP model
	trigger self show_damaged_cabinet	// Show previous cabinet state
	trigger self show_closed_cabinet
}

death
{
	trigger self show_damaged_cabinet	// Show damaged CP model
	trigger self disable_cp_features		// Default charge bar times

	wm_announce "Axis team has destroyed the Allied Command Post!"
	// *----------------------------------- vo ------------------------------------------*
	wm_teamvoiceannounce 1 "allies_hq_compost_damaged"
	wm_addteamvoiceannounce 1 "allies_hq_compost_construct"

	wm_removeteamvoiceannounce 0 "axis_hq_compost_constructed_allies"
	// *----------------------------------- vo ------------------------------------------*
}

trigger show_closed_cabinet
{
	accum 0 abort_if_equal 1		// Closed cabinet active yet?
	setstate allied_cp_closed default
	setstate allied_cp_closed_model default
}

trigger show_damaged_cabinet
{
	accum 0 abort_if_equal 0		// Damaged cabinet active yet?
	setstate allied_cp_damaged default
	setstate allied_cp_damaged_model default
}

}



I followed the 2bit tutorial to make this, only thing I did that he said not 2 was turned the axis command post to face east and the allies to face west, but I have the same problem with both...

I also turned the ammo and health cabinets, which he said not to do, but that worked fine so thats why I thought it would be possible with command posts too.

(]UBC[ McNite) #4

If you use worldspawn fog its going to be inside the houses too. The only way around that is using multivolume fog, but I can not recommend that. I don’t even know whether it was ever used successfully in ET.

fogclip defines max. distance before the leafnodes get clipped.
farplanedist is how far you can see in your map before the fog becomes opaque.
Make sure the farplanedist is always a bit smaller compared to the fogclip. I had 4950 and 5000 for those in TheRiver II Redux. You are not bound to use powers of 2 here btw.


(stealth6) #5

[quote=]UBC[ McNite]If you use worldspawn fog its going to be inside the houses too. The only way around that is using multivolume fog, but I can not recommend that. I don’t even know whether it was ever used successfully in ET.

fogclip defines max. distance before the leafnodes get clipped.
farplanedist is how far you can see in your map before the fog becomes opaque.
Make sure the farplanedist is always a bit smaller compared to the fogclip. I had 4950 and 5000 for those in TheRiver II Redux. You are not bound to use powers of 2 here btw.[/quote]

OK, but do you have to look at the size of your map too?
Cause my map is only 1024x1024 :slight_smile:

And since I added fog and go stand in the corner some textures msteriously disappear :?

Where can I find the brush cleanup button in gtkradiant version 1.5.0?


(]UBC[ McNite) #6

they disappear because of the fogclip.
Set a high fogclip… you should always try and play with the settings to find out abou the differences they make.


(stealth6) #7

ok ty I try it now with some different fog settings

How can I get a fog shader into my texture folder?

Cause I used the shader file from railgun to get my fog and then just changed the colour, but if I want to apply it to the sky to get a sandstorm effect like described in the de_dust map then i must also apply to the sky and walls, but I cant find the texture n gtkradiant

I can find mp_railgun/fog
but I cant find purefrag/fog


textures/purefrag1flag/fog
{
	qer_editorimage textures/sfx/fog_grey1.tga
	fogparms ( 0.6 0.6 0.6 ) 2560
	surfaceparm fog
	surfaceparm nodraw
	surfaceparm nonsolid
	surfaceparm trans
}


thats the shader in the script file in etmain thats all i have done do I have to do more to get the texture into gtkradiant?

how do i get it in there?

I just looked up leafnodes on the search but no luck what are they?
did find this though, As an excuse I’ve only been mapping for about a week now… what ya expect :stuck_out_tongue:

changing farplanedist to 250 and fogclip to 300

EDIT: spend the last half hour trying to find what went wrong with my FOG! turned out I changed the name of the shader file which made everything go black oopsie daisy

New question: I made some colored lights (make the map more sexy!), but you can see colors on the walls ouside the windows… I know this is realistic, BUT I dont want it in my map so is there a shader that just stops light? only ligh tnothing else so there would be no color outside the windows…?

EDIT2: changed the position of the lights and made the effecet less so looks better now, as for fog working again, but cant get it any denser, so I’ll have to look at a different way of covering up the edges of the map…


(cpthank) #8

r u sure u type ur shader name in shaderlist.txt? :roll:


(stealth6) #9

nope now it is ty, but still doesnt showup in radaint … my file does, but the shader doesnt, anyway…

I got 1 command post nearly working same script just adjusted somethings in the entities in gtkradiant, while following this tutorial:

http://www.splashdamage.com/forums/viewtopic.php?t=2976&highlight=command+post

Only 1 problem left now
The clip brush for the damaged command post is there during every stage…, but all the scripting and gtkradiant settings seem to be right…

EDIT2: well after 2 hours of fiddeling Igot them both to work… was a case of wrong names and some missing entities settings…

But when i compile it says entities leaked, and in game it also says no entities foun, but the map works perfectly :? So dunno what thats all about


(ShadowAgent) #10

afaik entity leaked means that an entity is stuck in a brush or something. which means it gets deleted


(stealth6) #11

well Thats handy to know but I had already solved it but dont know how lol, just keep fiddleing with the map…

EDIT:
morse code keeps playing when the comand post is in closed form? what is wrong:


// ================================================
axis_cp_open
{
	spawn
	{
		wait 100
		accum 0 set 0			// 0=CP Closed, 1=CP Damaged
		constructible_class 2			// Dyno+Satchel

		trigger self disable_cp_features		// Default charge bar times
		setstate axis_cp_damaged invisible	// Hide damaged CP clipbrush+model
		setstate axis_cp_damaged_model invisible

		wait 1000
		// *----------------------------------- vo ------------------------------------------*
		wm_teamvoiceannounce 0 "axis_hq_compost_construct"
		wm_addteamvoiceannounce 0 "axis_hq_compost_construct"
		// *----------------------------------- vo ------------------------------------------*
	}

	trigger disable_cp_features
	{
		setstate axis_cp_open_model invisible	// Hide Open CP model

		setchargetimefactor 0 soldier 1
		setchargetimefactor 0 lieutenant 1
		setchargetimefactor 0 medic 1
		setchargetimefactor 0 engineer 1
		setchargetimefactor 0 covertops 1

		sethqstatus 0 0			// Landmines team warning message
		disablespeaker speaker_axis_cp		// Disable morse code sound
	}

	trigger enable_cp_features
	{
		setstate axis_cp_open_model default	// Show open CP model

		setchargetimefactor 0 soldier 0.75
		setchargetimefactor 0 lieutenant 0.75
		setchargetimefactor 0 medic 0.75
		setchargetimefactor 0 engineer 0.75
		setchargetimefactor 0 covertops 0.75

		sethqstatus 0 1			// Landmines team warning message
		enablespeaker speaker_axis_cp		// Enable morse code sound
	}

	buildstart final
	{
		setstate axis_cp_closed invisible		// Hide closed CP clipbrush+model
		setstate axis_cp_closed_model invisible
		setstate axis_cp_damaged invisible	// Hide damaged CP clipbrush+model
		setstate axis_cp_damaged_model invisible
	}

	built final
	{
		accum 0 set 1			// Only show the damaged CP model
		trigger self enable_cp_features		// Increase charge bar times

		wm_announce "Axis Command Post constructed. Charge speed increased!"
		// *----------------------------------- vo ------------------------------------------*
		wm_removeteamvoiceannounce 0 "axis_hq_compost_construct"
		wm_teamvoiceannounce 0 "axis_hq_compost_constructed"

		wm_teamvoiceannounce 1 "allies_hq_compost_constructed_axis"
		wm_addteamvoiceannounce 1 "allies_hq_compost_constructed_axis"
		// *----------------------------------- vo ------------------------------------------*
	}

	decayed final
	{
		setstate axis_cp_open_model invisible	// Hide Open CP model
		trigger self show_damaged_cabinet	// Show previous cabinet state
		trigger self show_closed_cabinet
	}

	death
	{
		trigger self show_damaged_cabinet	// Show damaged CP model
		trigger self disable_cp_features		// Default charge bar times

		wm_announce "Allied team has destroyed the Axis Command Post!"
		// *----------------------------------- vo ------------------------------------------*
		wm_teamvoiceannounce 0 "axis_hq_compost_damaged"
		wm_addteamvoiceannounce 0 "axis_hq_compost_construct"

		wm_removeteamvoiceannounce 1 "allies_hq_compost_constructed_axis"
		// *----------------------------------- vo ------------------------------------------*
	}

	trigger show_closed_cabinet
	{
		accum 0 abort_if_equal 1		// Closed cabinet active yet?
		setstate axis_cp_closed default
		setstate axis_cp_closed_model default
	}

	trigger show_damaged_cabinet
	{
		accum 0 abort_if_equal 0		// Damaged cabinet active yet?
		setstate axis_cp_damaged default
		setstate axis_cp_damaged_model default
	}
}


// ================================================
allied_cp_open
{
	spawn
	{
		wait 100
		accum 0 set 0			// 0=CP Closed, 1=CP Damaged
		constructible_class 2			// Dyno+Satchel

		trigger self disable_cp_features		// Default charge bar times
		setstate allied_cp_damaged invisible	// Hide damaged CP clipbrush+model
		setstate allied_cp_damaged_model invisible

		wait 1000

		// *----------------------------------- vo ------------------------------------------*
		wm_teamvoiceannounce 1 "allies_hq_compost_construct"
		wm_addteamvoiceannounce 1 "allies_hq_compost_construct"
		// *----------------------------------- vo ------------------------------------------*
	}

	trigger disable_cp_features
	{
		setstate allied_cp_open_model invisible	// Hide Open CP model

		setchargetimefactor 1 soldier 1
		setchargetimefactor 1 lieutenant 1
		setchargetimefactor 1 medic 1
		setchargetimefactor 1 engineer 1
		setchargetimefactor 1 covertops 1

		sethqstatus 1 0			// Landmines team warning message
		disablespeaker speaker_allied_cp		// Disable morse code sound
	}

	trigger enable_cp_features
	{
		setstate allied_cp_open_model default	// Show open CP model

		setchargetimefactor 1 soldier 0.75
		setchargetimefactor 1 lieutenant 0.75
		setchargetimefactor 1 medic 0.75
		setchargetimefactor 1 engineer 0.75
		setchargetimefactor 1 covertops 0.75

		sethqstatus 1 1			// Landmines team warning message
		enablespeaker speaker_allied_cp		// Enable morse code sound
	}

	buildstart final
	{
		setstate allied_cp_closed invisible		// Hide closed CP clipbrush+model
		setstate allied_cp_closed_model invisible
		setstate allied_cp_damaged invisible	// Hide damaged CP clipbrush+model
		setstate allied_cp_damaged_model invisible
	}

	built final
	{
		accum 0 set 1			// Only show the damaged CP model
		trigger self enable_cp_features		// Increase charge bar times

		wm_announce "Allied Command Post constructed. Charge speed increased!"
		// *----------------------------------- vo ------------------------------------------*
		wm_removeteamvoiceannounce 1 "allies_hq_compost_construct"
		wm_teamvoiceannounce 1 "allies_hq_compost_constructed"

		wm_teamvoiceannounce 0 "axis_hq_compost_constructed_allies"
		wm_addteamvoiceannounce 0 "axis_hq_compost_constructed_allies"
		// *----------------------------------- vo ------------------------------------------*
	}

	decayed final
	{
		setstate allied_cp_open_model invisible	// Hide Open CP model
		trigger self show_damaged_cabinet	// Show previous cabinet state
		trigger self show_closed_cabinet
	}

	death
	{
		trigger self show_damaged_cabinet	// Show damaged CP model
		trigger self disable_cp_features		// Default charge bar times

		wm_announce "Axis team has destroyed the Allied Command Post!"
		// *----------------------------------- vo ------------------------------------------*
		wm_teamvoiceannounce 1 "allies_hq_compost_damaged"
		wm_addteamvoiceannounce 1 "allies_hq_compost_construct"

		wm_removeteamvoiceannounce 0 "axis_hq_compost_constructed_allies"
		// *----------------------------------- vo ------------------------------------------*
	}

	trigger show_closed_cabinet
	{
		accum 0 abort_if_equal 1		// Closed cabinet active yet?
		setstate allied_cp_closed default
		setstate allied_cp_closed_model default
	}

	trigger show_damaged_cabinet
	{
		accum 0 abort_if_equal 0		// Damaged cabinet active yet?
		setstate allied_cp_damaged default
		setstate allied_cp_damaged_model default
	}
}


its keeps playing by both teams I check the name in game and in the script and they match so I dont understand why it still plays in a not constructed cmd post

It does play when cmd post is made and it doesnt once it is destroyed, but when the map starts it doe play in an uncontructed cmd post

EDIT2: Found it you have to say in the script that when the command post spawns it is silent so just added that and now it works like a charm :smiley:

EDIT3: hahaha I was just wrapping it up into a pk3 file and I decided to change the name so I was going throgh all the file s and changing the name and then I came back to gtkradiant and changed the textures to the new path and now I can see the fog texture hahaha, but kinda gave up on that, but now i know it for next time :smiley:


(stealth6) #12

AAAAAAAAAARGH

Cant figure this out When I construct my command post it works fine, BUT in the console it says set state called and no entities found in red. So I take this is a problem.

I cant figure out where the problem lies I have found no bugs in any entities in the map so I really dont understand

First I moved the entity from the ammo & health racks down out of the celing on both axis and alies side…(it was needed to show the racks on command map) that wasn’t it. Now I looked during compiling and it said entity 43 has a problem which was a tree so i pulled that out of the ground and all other trees, even though the ground is detail…

only thing that it says now during compiling that Troubles me and that I cant see the cause of is:

Entity 100, brush 0: Entity leaked

entity 100 is a light model and is made hovering just below the celling so dont understand how that is a problem and there are 11 more doing the same that it says nothing of…

brush 0 is a wall that a command post backs onto, but does not touch in anyway, so I dont understadn why that is a problem either…

SO now to get to the point I dont care that it is doing this, BUT when put all the files together and make it into a pk3 file and then run it, it disconnects and says invalid pk3 files refered, yes normally you just restart ET, but it happens everytime I atempt to play my map :?

I’m just doing

/g_gametype 2
/sv_pure 1
/devmap pta_dv

to test it in pk3 form (before i put it in pk3 I used pure 0)
it is not taking the other 1 in the maps folder because I renamed it so it is a problem in my pk3 file… but what?

PS: sorry for double post, but I dont know if my topic gets highlighted again if I just edit…again


(ShadowAgent) #13

you have to delete the leaked entities. they wont show up in the map anyway.

for the setstate thing… it shouldnt be a problem unless your commandpost works badly. then in its script there is a typo (or in its targetname)


(stealth6) #14

yea the command post didn’t work, and it was a bit of both, I spend 2 hours fixing it, but now its about fixed, just 1 clip that doesnt dissappear that I can’t be botered to fix…

But it would be easier to delete the leaked entities if I knew where they are!!! But thanks for the tips I’ll go fly around my map and search to see if any entities are missing at all

EDIT: well just flew round my map (luckily its a small 1 so quick job) and I cant see anything missing! This is really quite mind bogoling

EDIT2: OMG just found out what it was I couldn’t host a server at all with pure 1, it kept giving me that error, so i went and looked for a virtualy clean verison of ET on my pc cause I got it installed like 4 times, first 1 didn’t work either, then tried the next and and it did!!! So this was all just because I didn’t use a clean ET OMG, now I understand why it is sooooo important to do so :smiley: sorry for the trouble


(ShadowAgent) #15

lol :lol:


(-SSF-Sage) #16

Next time you compile, it will choose the entity that is leaked. Probably a entity which has no brush or an entity which shouldn’t be inside some wall etc… Probably you are not even able to see it, unless you search for the L. Search for all entities which has + on it, but when you press it, doesn’t appear brushes underneath it. Atleast on 1.5.0. When you delete the brush from 2d it will leave the entity. This sometimes does leak, but if it doesn’t it will cause you

SV_SetBrushModel: NULL