View Issue Details

IDProjectCategoryView StatusLast Update
0005307The Dark ModGraphicspublic17.12.2023 11:20
Reportercabalistic Assigned Tostgatilov  
PrioritynormalSeveritynormalReproducibilityalways
Status resolvedResolutionfixed 
Product VersionTDM 2.09 
Target VersionTDM 2.12Fixed in VersionTDM 2.12 
Summary0005307: Accountant 1: machine arrows have black background
DescriptionLoad mission "The Accountant 1" and go to the coordinates from the screenshot. The depicted machinery has some gauges with an arrow that with 2.09 renders with a black background. In 2.08 the background is transparent as it should be, *unless* you set "image_useNormalCompression 2", in which case the same error is visible.

It happens during interaction rendering for the ambient light in both the old and new backend. Given the reproducibility in 2.08, it likely has to do with the normal map compression changes?
TagsNo tags attached.
Attached Files

Activities

duzenko

duzenko

21.07.2020 16:26

developer   ~0012665

Can we fix this on the map level?
tdm_epi_shader_electrical.mtr > transformer_needle_a

The bump stage (blend bumpmap) wants to alpha test which makes no sense

Same applies to transformer_needle_b
cabalistic

cabalistic

21.07.2020 18:49

developer   ~0012666

I guess it depends how many materials are affected, and how complicated it would be to work around it in code.
nbohr1more

nbohr1more

22.07.2020 02:22

developer   ~0012668

I believe that original Doom 3 respects alpha on the bump stage. It can be used to fade away the bump pattern at the edge of a decal (etc).

The needle material doesn't really need it though.
duzenko

duzenko

22.07.2020 07:09

developer   ~0012670

@nbohr1more

You're confusing alpha and alphaTest here, no?
nbohr1more

nbohr1more

22.07.2020 18:29

developer   ~0012671

Hmm, I suspect that this is another variant of "DDS does not work with Image Program functions" since we
always revert whenever someone accidentally converts a glass normalmap to DDS.

Does RGTC mode still respect:

forceHighQuality
highquality
uncompressed

keywords that prevent the on-the-fly conversion or fallback DDS loading?
duzenko

duzenko

22.07.2020 19:06

developer   ~0012672

Gee, @nbohr1more, your hard line breaks keep freaking me out :>

> Hmm, I suspect that this is another variant of "DDS does not work with Image Program functions" since we
> always revert whenever someone accidentally converts a glass normalmap to DDS.

I disagree. The image file in question is a .tga. It has been reported that image-normal-compression somehow affects this bug but I don't feel like bothering with that since I have already found what's causing it and suggested a fix not related to RGTC.
I could speculate that maybe it has something to do with the default alpha the GL spec requires RG format implicitly to generate which is different to what D3 filled in on 24-bit .tga files. But generally I don't care.

To be completely honest it's possible to fix this also on the renderer level, but it will have a side effect potentially causing other glitches somewhere else.

> Does RGTC mode still respect:

>forceHighQuality
>highquality
>uncompressed

> keywords that prevent the on-the-fly conversion or fallback DDS loading?

We don't really have DDS's for normal maps, do we? I can't remember which keyword controls dds/jpg/tga loading and which controls on-the-fly compression. But again I don't care because I assume the render quality difference to be negligible for bumpmaps, especially compared with stock TDM diffuse maps. It's more of a VRAM conservation/load speed choice than anything else.
VanishedOne

VanishedOne

30.08.2020 13:56

reporter   ~0012766

Re. alpha in normal maps, I just noticed this in the renderbump docs at https://www.iddevnet.com/doom3/bumpmaps.html

'The alpha channel of the normal map will contain a mask if there were areas in the map that did not directly map to geometry. This can be copied to a diffuse map to use with the alpha test option for per-pixel opacity. Note that if you use the normal map as a template for the specular map, you should explicitly clear or remove the alpha channel, because it will prevent more efficient compression forms from being used.'

So it seems normal (no pun intended) for the internal renderbump tool to produce a normal map with an alpha channel, but as per id's docs you're expected to copy it to diffuse if you want it for alphaTest. It's quite likely not everyone who's used renderbump has actually seen that passage, though.

(The fish I ported from Arx:EoS has an unused normal map that's fully alpha transparent everywhere but the fish's eye; I experimented with it a bit, but I think in the end I packaged it without enabling it in the material decl.)
stgatilov

stgatilov

27.02.2021 09:04

administrator   ~0013734

"The alpha channel of the normal map will contain a mask if there were areas in the map that did not directly map to geometry"

It is normal to have alpha channel, but it is NOT normal if texels with nontrivial alpha value get mapped to some rendered geometry.
So this description does not contradict the general idea that alpha channel in bumpmap has undefined behavior.
stgatilov

stgatilov

27.02.2021 09:08

administrator   ~0013735

Anyway, can someone at least explain what change broke it?
Did it happen when RGTC compression was enabled?
duzenko

duzenko

28.02.2021 10:08

developer   ~0013742

@stgatilov
The more important question for me is what the material author wanted to achieve with alphaTest and why do we want to keep it here.
VanishedOne

VanishedOne

28.02.2021 14:37

reporter   ~0013744

Epifire made the arc transformer model. It looks as though he may have revised it for some reason: in DR I have

transformer_needle_a, transformer_needle_b -- in tdm_epi_shader.mtr. No bump map; alphaTest on the diffusemap.
transformer_needle_a2, transformer_needle_b2 -- in tdm_epi_shader_2.mtr. Diffuse and bumpmap stages with alphatest on both. Possibly he just copied the diffusemap stage to alter it for the bumpmap, and the alphatest got left in; I don't know of any reason to attempt a double alphatest in a material.

transformer_needle_local.tga from The Accountant's pk4 does not actually appear to have an alpha channel.
nbohr1more

nbohr1more

01.02.2022 04:49

developer   ~0014706

forceHighQuality does not cure this

commenting out the normal map stage appears to fix it for one of the needles in the scene?

Calling EpiFire...
Epifire

Epifire

01.02.2022 05:28

reporter   ~0014707

Thanks for notifying me here nbohr1more! The arc_transformer prop was one of my first bigger models I did for TDM. So chances are there are some unnecessary stages in the material.

Definitely go ahead and remove that redundant alphatest in the bumpmap. This all being said, I really need to get my SVN access back up and running so I can start making my own commits. I had taken a long break after that big server crash we had years ago and hadn't set it back up since then. Considering I'm back in full work mode (with some pretty big stuff coming) I'm gonna definitely need to get hooked back up.

Do let me know if there is any other weirdness or bugs in my assets.
nbohr1more

nbohr1more

16.02.2022 19:15

developer   ~0014727

@Epifire : Please let me know if you have any assets to commit and you need me to commit them since you currently have SVN woes?

Otherwise, I will move this to 2.11 so there will be more time.
Epifire

Epifire

16.02.2022 20:52

reporter   ~0014729

I removed the alphatest stage on those bumpmap stages in the epi_shader_2. I tested this in my beta 2.10 client and the needles worked; so I've attached it here.

@nbohr1more If someone has info or a page on getting setup to the SVN, I'd love to get hooked up on that again.
tdm_epi_shader_2.mtr (62,090 bytes)   
//==========================================

//	Second shader compilation for the models made by Epifire!

//==========================================

// I tried to sort my mesh shaders into groups so you can better find a definition and simillar materials based by it's category!
// This MTR file has been updated to the Notepad++ layout. Use Notepad++ if text blocks are compacted it should then be sorted properly to be readable.
// Here are the current available idexes listed in their respective order that you may search...
// Misc&SoloProjects - Lights&Effects - Mechanical - Food


// Start search here >< (below catagory listings!) with "ctrl+f"


//		search	-------------------	index
//-------------- Misc&SoloProjects ----------------
//				-------------------

wall_fountain_001
{
    	surftype15

    	description "stone"

		diffusemap		models/darkmod/props/textures/wall_fountain_001
		bumpmap    		models/darkmod/props/textures/wall_fountain_001_local

    {
        if ( parm11 > 0 )
        blend       gl_dst_color, gl_one
        map         _white
        rgb         0.40 * parm11
    }
    {
        if ( parm11 > 0 )
        blend       add
        map         models/darkmod/props/textures/wall_fountain_001
        rgb         0.15 * parm11
    }
}

feather_duster_001
{
    surftype15
	twosided
	noselfshadow

    description "carpet"

	forceOverlays
	{
		blend diffusemap
		map       		models/darkmod/props/textures/feather_duster_001
		alphatest 0.5
	}
}

scroll_ornate_001
{
    surftype15

    description "cloth"

	forceOverlays
    bumpmap     	models/darkmod/props/textures/scroll_ornate_001_local
    diffusemap    	models/darkmod/props/textures/scroll_ornate_001
}

gondola_001
{
    surftype15

    description "wood"

	forceOverlays
    bumpmap     	models/darkmod/props/textures/gondola_001_local
    diffusemap    	models/darkmod/props/textures/gondola_001
    specularmap 	models/darkmod/props/textures/gondola_001_s
	
	{
        maskcolor
        map makealpha (models/darkmod/props/textures/gondola_001_mask)
        alpha .15
    }
    {
        blend gl_dst_alpha, gl_one
        cameraCubeMap   env/envsky_seaside
        texgen reflect
    }
}

gondola_001_cloth
{
    surftype15

    description "carpet"

	forceOverlays
    bumpmap     	models/darkmod/props/textures/gondola_001_local
    diffusemap    	models/darkmod/props/textures/gondola_001
    specularmap 	models/darkmod/props/textures/gondola_001_s
}

ivy_set_001
{
        surftype15

        description "foliage"
		//twosided
	
	{
		blend diffusemap
		map       		models/darkmod/props/textures/ivy_set_001
		alphatest 0.5
	}
        bumpmap         models/darkmod/props/textures/ivy_set_001_local
        specularmap     models/darkmod/props/textures/ivy_set_001_s
		
		
    {
        if ( parm11 > 0 )
        blend       gl_dst_color, gl_one
        map         _white
        rgb         0.40 * parm11
    }
    {
        if ( parm11 > 0 )
        blend       add
        map         models/darkmod/props/textures/ivy_set_001
        rgb         0.15 * parm11
    }
}

ornate_table_001
{
        surftype15

        description "wood"

        diffusemap      models/darkmod/props/textures/ornate_table_001
        bumpmap         models/darkmod/props/textures/ornate_table_001_local
        specularmap     models/darkmod/props/textures/ornate_table_001_s
    {
        if ( parm11 > 0 )
        blend       gl_dst_color, gl_one
        map         _white
        rgb         0.40 * parm11
    }
    {
        if ( parm11 > 0 )
        blend       add
        map         models/darkmod/props/textures/ornate_table_001
        rgb         0.15 * parm11
    }
}

microscope_001
{
        surftype15

        description "metal"

        diffusemap      models/darkmod/props/textures/microscope_001
        bumpmap         models/darkmod/props/textures/microscope_001_local
        specularmap     models/darkmod/props/textures/microscope_001_s
    {
        if ( parm11 > 0 )
        blend       gl_dst_color, gl_one
        map         _white
        rgb         0.40 * parm11
    }
    {
        if ( parm11 > 0 )
        blend       add
        map         models/darkmod/props/textures/microscope_001
        rgb         0.15 * parm11
    }
}

storefront_signs_001
{
        // Signage art by MalachiAD
        surftype15

        description "wood"

        diffusemap      models/darkmod/props/textures/storefront_signs_001
        bumpmap         models/darkmod/props/textures/storefront_signs_001_local
        specularmap     models/darkmod/props/textures/storefront_signs_001_s
    {
        if ( parm11 > 0 )
        blend       gl_dst_color, gl_one
        map         _white
        rgb         0.40 * parm11
    }
    {
        if ( parm11 > 0 )
        blend       add
        map         models/darkmod/props/textures/storefront_signs_001
        rgb         0.15 * parm11
    }
}

wrapped_corpse_001
{
    	surftype15

    	description "carpet"

		diffusemap		models/darkmod/props/textures/wrapped_corpse_001
		bumpmap    		models/darkmod/props/textures/wrapped_corpse_001_local
    {
        if ( parm11 > 0 )
        blend       gl_dst_color, gl_one
        map         _white
        rgb         0.40 * parm11
    }
    {
        if ( parm11 > 0 )
        blend       add
        map         models/darkmod/props/textures/wrapped_corpse_001
        rgb         0.15 * parm11
    }
}

sofa1_redux_001
{
    	surftype15

    	description "carpet"

		diffusemap		models/darkmod/props/textures/sofa1_redux_001
		bumpmap    		models/darkmod/props/textures/sofa1_redux_001_local
		specularmap 	models/darkmod/props/textures/sofa1_redux_001_s

    {
        if ( parm11 > 0 )
        blend       gl_dst_color, gl_one
        map         _white
        rgb         0.40 * parm11
    }
    {
        if ( parm11 > 0 )
        blend       add
        map         models/darkmod/props/textures/sofa1_redux_001
        rgb         0.15 * parm11
    }
}

abbey_statue_001

{
    	surftype15

    	description "stone"

		diffusemap		models/darkmod/props/textures/abbey_statue_001
		bumpmap    		models/darkmod/props/textures/abbey_statue_001_local

    {
        if ( parm11 > 0 )
        blend       gl_dst_color, gl_one
        map         _white
        rgb         0.40 * parm11
    }
    {
        if ( parm11 > 0 )
        blend       add
        map         models/darkmod/props/textures/abbey_statue_001
        rgb         0.15 * parm11
    }
}

plate_decor_loot_001

{
    	surftype15

    	description "tile"

		diffusemap		models/darkmod/props/textures/plate_decor_loot_001
		bumpmap    		models/darkmod/props/textures/plate_decor_loot_001_local
		specularmap 	models/darkmod/props/textures/plate_decor_loot_001_s

    {
        if ( parm11 > 0 )
        blend       gl_dst_color, gl_one
        map         _white
        rgb         0.40 * parm11
    }
    {
        if ( parm11 > 0 )
        blend       add
        map         models/darkmod/props/textures/plate_decor_loot_001
        rgb         0.15 * parm11
    }
}

plate_decor_loot_002

{
    	surftype15

    	description "metal"

		diffusemap		models/darkmod/props/textures/plate_decor_loot_002
		bumpmap    		models/darkmod/props/textures/plate_decor_loot_002_local
		specularmap 	models/darkmod/props/textures/plate_decor_loot_002_s

    {
        if ( parm11 > 0 )
        blend       gl_dst_color, gl_one
        map         _white
        rgb         0.40 * parm11
    }
    {
        if ( parm11 > 0 )
        blend       add
        map         models/darkmod/props/textures/plate_decor_loot_002
        rgb         0.15 * parm11
    }

	// TDM Ambient Method Related 
	{							
		if (global5 == 1)		
		blend add				
		map			models/darkmod/props/textures/plate_decor_loot_002
		scale		1, 1		
		red			global2	
		green		global3	
		blue		global4	
	}						
	{							
		if (global5 == 2)		
		blend add				
		program	ambientEnvironment.vfp	
		vertexParm		0		1, 1, 1, 1	// UV Scales for Diffuse and Bump	
		vertexParm		1		1, 1, 1, 1	// (X,Y) UV Scale for specular		
		vertexParm		2		global2, global3, global4, 1	
																
		fragmentMap		0		cubeMap env/gen1				
		fragmentMap		1	    models/darkmod/props/textures/plate_decor_loot_002_local	// Bump				
		fragmentMap		2		models/darkmod/props/textures/plate_decor_loot_002			// Diffuse			
		fragmentMap		3		models/darkmod/props/textures/plate_decor_loot_002_s 		// Specular			
	}
}

bedroom_clutter_001

{
    	surftype15

    	description "wood"

		diffusemap		models/darkmod/props/textures/bedroom_clutter_001
		bumpmap    		models/darkmod/props/textures/bedroom_clutter_001_local

    {
        if ( parm11 > 0 )
        blend       gl_dst_color, gl_one
        map         _white
        rgb         0.40 * parm11
    }
    {
        if ( parm11 > 0 )
        blend       add
        map         models/darkmod/props/textures/bedroom_clutter_001
        rgb         0.15 * parm11
    }

	// TDM Ambient Method Related 
	{							
		if (global5 == 1)		
		blend add				
		map			models/darkmod/props/textures/bedroom_clutter_001
		scale		1, 1		
		red			global2	
		green		global3	
		blue		global4	
	}						
	{							
		if (global5 == 2)		
		blend add				
		program	ambientEnvironment.vfp	
		vertexParm		0		1, 1, 1, 1	// UV Scales for Diffuse and Bump	
		vertexParm		1		1, 1, 1, 1	// (X,Y) UV Scale for specular		
		vertexParm		2		global2, global3, global4, 1	
																
		fragmentMap		0		cubeMap env/gen1				
		fragmentMap		1	    models/darkmod/props/textures/bedroom_clutter_001_local		// Bump				
		fragmentMap		2		models/darkmod/props/textures/bedroom_clutter_001			// Diffuse			
		fragmentMap		3		_black 														// Specular			
	}
}

clutter_waste_basket_001

{
    	surftype15

    	description "metal"
		noshadows

	{
		blend diffusemap
		map       		models/darkmod/props/textures/clutter_waste_basket_001
		alphatest 0.5
	}
		bumpmap    		models/darkmod/props/textures/clutter_waste_basket_001_local
		specularmap 	models/darkmod/props/textures/clutter_waste_basket_001_s

    {
        if ( parm11 > 0 )
        blend       gl_dst_color, gl_one
        map         _white
        rgb         0.40 * parm11
    }
    {
        if ( parm11 > 0 )
        blend       add
        map         models/darkmod/props/textures/clutter_waste_basket_001
        rgb         0.15 * parm11
    }

	// TDM Ambient Method Related 
	{							
		if (global5 == 1)		
		blend add				
		map			models/darkmod/props/textures/clutter_waste_basket_001
		scale		1, 1		
		red			global2	
		green		global3	
		blue		global4	
	}						
	{							
		if (global5 == 2)		
		blend add				
		program	ambientEnvironment.vfp	
		vertexParm		0		1, 1, 1, 1	// UV Scales for Diffuse and Bump	
		vertexParm		1		1, 1, 1, 1	// (X,Y) UV Scale for specular		
		vertexParm		2		global2, global3, global4, 1	
																
		fragmentMap		0		cubeMap env/gen1				
		fragmentMap		1	    models/darkmod/props/textures/clutter_waste_basket_001_local	// Bump				
		fragmentMap		2		models/darkmod/props/textures/clutter_waste_basket_001			// Diffuse			
		fragmentMap		3		models/darkmod/props/textures/clutter_waste_basket_001_s 		// Specular			
	}
}


crystal_ball_pedestal_cloth
{
    	surftype15

    	description "cloth"
		twosided

	{
		blend diffusemap
		map       	models/darkmod/props/textures/crystal_ball_pedestal_001
		alphatest 0.5
	}
		bumpmap    	models/darkmod/props/textures/crystal_ball_pedestal_001_local

    {
        if ( parm11 > 0 )
        blend       gl_dst_color, gl_one
        map         _white
        rgb         0.40 * parm11
    }
    {
        if ( parm11 > 0 )
        blend       add
        map         models/darkmod/props/textures/crystal_ball_pedestal_001
        rgb         0.15 * parm11
    }
}

crystal_ball_pedestal_stone
{
    	surftype15

    	description "stone"

		diffusemap		models/darkmod/props/textures/crystal_ball_pedestal_001
		bumpmap    		models/darkmod/props/textures/crystal_ball_pedestal_001_local

    {
        if ( parm11 > 0 )
        blend       gl_dst_color, gl_one
        map         _white
        rgb         0.40 * parm11
    }
    {
        if ( parm11 > 0 )
        blend       add
        map         models/darkmod/props/textures/crystal_ball_pedestal_001
        rgb         0.15 * parm11
    }
}

crystal_ball_pedestal_002
{
    	surftype15
		
    	description "stone"

		diffusemap		models/darkmod/props/textures/crystal_ball_pedestal_002
		bumpmap    		models/darkmod/props/textures/crystal_ball_pedestal_002_local

    {
        if ( parm11 > 0 )
        blend       gl_dst_color, gl_one
        map         _white
        rgb         0.40 * parm11
    }
    {
        if ( parm11 > 0 )
        blend       add
        map         models/darkmod/props/textures/crystal_ball_pedestal_002
        rgb         0.15 * parm11
    }
}

wizard_cloth_001
{
    	surftype15

    	description "cloth"

		diffusemap		models/darkmod/props/textures/wizard_cloth_001
		bumpmap    		models/darkmod/props/textures/wizard_cloth_001_local

    {
        if ( parm11 > 0 )
        blend       gl_dst_color, gl_one
        map         _white
        rgb         0.40 * parm11
    }
    {
        if ( parm11 > 0 )
        blend       add
        map         models/darkmod/props/textures/wizard_cloth_001
        rgb         0.15 * parm11
    }
}

wizard_roof_001
{
    	surftype15

    	description "stone"

		diffusemap		models/darkmod/props/textures/wizard_roof_001
		bumpmap    		models/darkmod/props/textures/wizard_roof_001_local

    {
        if ( parm11 > 0 )
        blend       gl_dst_color, gl_one
        map         _white
        rgb         0.40 * parm11
    }
    {
        if ( parm11 > 0 )
        blend       add
        map         models/darkmod/props/textures/wizard_roof_001
        rgb         0.15 * parm11
    }
}

wizard_signage_001
{
    	surftype15

    	description "cloth"
	{
		blend diffusemap
		map       models/darkmod/props/textures/wizard_signage_001
		alphatest 0.5
	}
		bumpmap    		models/darkmod/props/textures/wizard_signage_001_local
    	specularmap 	models/darkmod/props/textures/wizard_signage_001_s

    {
        if ( parm11 > 0 )
        blend       gl_dst_color, gl_one
        map         _white
        rgb         0.40 * parm11
    }
    {
        if ( parm11 > 0 )
        blend       add
        map         models/darkmod/props/textures/wizard_signage_001
        rgb         0.15 * parm11
    }
}

wizard_signage_001_glow
{
	noshadows
	nonsolid


	{
		blend diffusemap
		map       models/darkmod/props/textures/wizard_signage_001_glow
		alphatest 0.5
	//	scroll 	  0 * 1, (time * 4)
	}
	{
		
		blend	add
		map      models/darkmod/props/textures/talisman_glow_strip
		rgb      1
		scroll 	 0 * 1, (time * .4)
	}

	

    {
        if ( parm11 > 0 )
        blend       gl_dst_color, gl_one
        map         _white
        rgb         0.40 * parm11
    }
    {
        if ( parm11 > 0 )
        blend       add
        map         models/darkmod/props/textures/wizard_signage_001_glow
        rgb         0.15 * parm11
    }
}

cobblestone_blnd_001
{
    	surftype15
    	description "stone"

	noshadows

    {
	blend bumpmap 
	map models/darkmod/props/textures/cobblestone_blnd_001_local
	VertexColor
   	}

   	{
    blend diffusemap                                                    
	map models/darkmod/props/textures/cobblestone_blnd_001
    VertexColor                                                         
    }
	
	{
    blend specularmap                                                    
	map models/darkmod/props/textures/cobblestone_blnd_001_s
    VertexColor                                                         
    }


    // TDM Ambient Method Related
    {
          if (global5 == 1)
          blend add
          map 	models/darkmod/props/textures/cobblestone_blnd_001
          scale 1,1
          red    global2
          green   global3
          blue   global4
          VertexColor
    }

    {
	blend bumpmap 
	map models/darkmod/props/textures/cobblestone_blnd_002_local
	inverseVertexColor
   	}

   	{
    blend diffusemap                                                    
	map models/darkmod/props/textures/cobblestone_blnd_002
    inverseVertexColor                                                         
    }
	
	{
    blend specularmap                                                    
	map models/darkmod/props/textures/cobblestone_blnd_002_s
	inverseVertexColor                                                        
    }

    // TDM Ambient Method Related
    {         
          if (global5 == 1)
          blend add
          map    models/darkmod/props/textures/cobblestone_blnd_002
          scale 1,1
          red    global2
          green   global3
          blue   global4
          inverseVertexColor
    }
}

cobblestone_blnd_002
{
    	surftype15
    	description "grass"

	noshadows

    {
	blend bumpmap 
	map models/darkmod/props/textures/cobblestone_blnd_003_local
	VertexColor
   	}

   	{
    blend diffusemap                                                    
	map models/darkmod/props/textures/cobblestone_blnd_003
    VertexColor                                                         
    }


    // TDM Ambient Method Related
    {
          if (global5 == 1)
          blend add
          map 	models/darkmod/props/textures/cobblestone_blnd_003
          scale 1,1
          red    global2
          green   global3
          blue   global4
          VertexColor
    }

    {
	blend bumpmap 
	map models/darkmod/props/textures/cobblestone_blnd_002_local
	inverseVertexColor
   	}

   	{
    blend diffusemap                                                    
	map models/darkmod/props/textures/cobblestone_blnd_002
    inverseVertexColor                                                         
    }
	
	{
    blend specularmap                                                    
	map models/darkmod/props/textures/cobblestone_blnd_002_s
	inverseVertexColor                                                        
    }
}

//		search	----------------	index
//-------------- Lights&Effects ----------------
//				----------------

vault_font_001
{

		noshadows
		nonsolid
	{
		blend diffusemap
		map 			models/darkmod/props/textures/vault_font_001
		alphatest 0.5
	}
		
		bumpmap    		models/darkmod/props/textures/vault_font_001_local
    	specularmap 	models/darkmod/props/textures/vault_font_001_s

    {
        if ( parm11 > 0 )
        blend       gl_dst_color, gl_one
        map         _white
        rgb         0.40 * parm11
    }
    {
        if ( parm11 > 0 )
        blend       add
        map         models/darkmod/props/textures/vault_font_001
        rgb         0.15 * parm11
    }
}

lamppost_strip_effect_001
{
    noshadows
    nonsolid
    twosided

    {
        blend       add
        map     	models/darkmod/props/textures/lamppost_strip_effect
        red			.4
		blue		.4
        translate 	time*.6, time*0
    }
}

lights/shadows/shadowmap_test
{
	blendLight
	qer_editorimage lights/shadows/fan_shadow_001_ed.jpg

	{
		blend 		blend
		forceHighQuality
		map 			lights/shadows/shadowmap_test
		clamp
	}
}

lights/shadows/fan_shadow_001
{	
	qer_editorimage lights/shadows/fan_shadow_001_ed.jpg
	{
		forceHighQuality
		map	lights/shadows/fan_shadow_001
		colored
		zeroClamp
	}
}


// Moddified version of SteveL's original material - For Epi's Crystal Ball material
crystal_ball_001
{
	discrete
	nonsolid
	translucent
        
	{
		vertexProgram heatHazeWithAlphaDepth.vfp
		vertexParm 0 0.1 * sintable [ time * ((( parm5 + 0.1) - (( parm5 || 0) * 0.1)) * 3)], 0.15 * sintable [ time * ((( parm5 + 0.1) - (( parm5 || 0) * 0.1)) * 1.5)]
		vertexParm 1 (( parm6 + 1.5) - (( parm6 || 0) * 1.0))
        vertexParm 2 ( 0.6 / 60.0 )   //  Set this to ( 1.0 / opaque_depth )
		fragmentProgram heatHazeWithAlphaDepth.vfp
		fragmentMap 0 _currentRender
		fragmentMap 1 textures/sfx/vp1
		fragmentMap 2 _currentDepth
		scale 4,4
	}

	{
		maskAlpha
        blend gl_dst_alpha, gl_one_minus_dst_alpha
		map textures/water_source/sea_water_001
		translate 0.01 * sintable [ time * ((( parm5 + 0.1) - (( parm5 || 0) * 0.1)) * 3)], 0.075 * sintable [ time * ((( parm5 + 0.1) - (( parm5 || 0) * 0.1)) * 1.5)]
        rgb 0.05
	}
    
    // NB most waters use a single draw of their surface texture, and you don't need this second one for them. 
    // I've only got 2 here because I started with sea_water_01 which happens to use 2 draws
    {
		maskAlpha
        blend gl_dst_alpha, gl_one_minus_dst_alpha
		map textures/water_source/sea_water_001
		translate 0.015 * sintable [ time * ((( parm5 + 0.1) - (( parm5 || 0) * 0.1)) * 3)], 0.0375 * sintable [ time * ((( parm5 + 0.1) - (( parm5 || 0) * 0.1)) * 1.5)]
		rgb 0.3
	}
}

crystal_ball_shine

{
	translucent
	noShadows
	sort		10		// sort very late, so no translucent objects in the world draws over it
	{
		blend add
		map models/darkmod/props/textures/crystal_ball
		vertexColor
	}
}


water_mist_001
{
	noimpact
	noFragment
	noshadows
	translucent
    twoSided
    forceoverlays
    sort decal
    sort nearest
    forceOpaque
    sort postProcess
	
	qer_EditorImage 					models/darkmod/props/textures/water_mist_001
	
	
	
        {
			vertexProgram           heatHazeWithMask.vfp
            vertexParm              0       time * 0 , time * 0.35 // texture scrolling
            vertexParm              1    1      // magnitude of the distortion
            fragmentProgram			heatHazeWithMask.vfp
            fragmentMap             0    _currentRender
            fragmentMap             1    models/darkmod/props/textures/water_mist_001 	 	 // the normal map for distortion
            fragmentMap             2    models/darkmod/props/textures/water_mist_001_alpha  // the distortion blend map
			inverseVertexColor
        }
			
		{
			blend 	add
			map  	models/darkmod/props/textures/water_mist_001_depth
			colored
			scroll 	0 * 1, (time * .5) // texture scrolling
			VertexColor
		}  

		{
			blend 	diffusemap
			map 	models/darkmod/props/textures/_transparent
			alphaTest 0.5
			inverseVertexColor
		}
}

transformer_needle_a2
{

    nonsolid
    noshadows

    {
		blend diffusemap
		map models/darkmod/props/textures/transformer_needle
		alphaTest 0.5
		rotate -1

        clamp
    }

    {
		blend bumpmap
		map models/darkmod/props/textures/transformer_needle_local
		rotate -1

        clamp
    }

    // TDM Ambient Method Related
    {                            
        if (global5 == 1)        
        blend add                
        map                models/darkmod/props/textures/transformer_needle        
        scale            1, 1        
        red                global2    
        green            global3    
        blue            global4    
    }                            

}

transformer_needle_b2
{

    nonsolid
    noshadows

    {
		blend diffusemap
		map models/darkmod/props/textures/transformer_needle
		alphaTest 0.5
		rotate -1

        clamp
    }

    {
		blend bumpmap
		map models/darkmod/props/textures/transformer_needle_local
		rotate -1

        clamp
    }

    // TDM Ambient Method Related
    {                            
        if (global5 == 1)        
        blend add                
        map                models/darkmod/props/textures/transformer_needle        
        scale            1, 1        
        red                global2    
        green            global3    
        blue            global4    
    }                            

}

lights/shadows/steam_engine_grate
{	
	qer_editorimage models/darkmod/props/textures/steam_engine_grate_ed.jpg
	{
		forceHighQuality
		map	models/darkmod/props/textures/steam_engine_grate
		colored
		zeroClamp
	}
}

steam_engine_grate
{
	noshadows
	nonsolid


	{
		blend 		add
		map       	models/darkmod/props/textures/steam_engine_grate
		green		0.2
		blue        0.2
	}
}

steam_engine_heatwarp
{
	noimpact
	noFragment
	noshadows
	qer_EditorImage 					textures/darkmod/sfx/deforms/waterfall.tga
		//deform sprite
        {
                vertexProgram           heatHazeWithMask.vfp
                vertexParm              0       time * 0 , time * 0.5 // texture scrolling
                vertexParm              1    1      // magnitude of the distortion
                fragmentProgram			heatHazeWithMask.vfp
                fragmentMap             0       _currentRender
                fragmentMap             1       textures/darkmod/sfx/deforms/waterfall.tga   // the normal map for distortion
                fragmentMap             2       textures/darkmod/sfx/deforms/waterfall_alpha.tga   // the distortion blend map
        }


}

steam_engine_glassReadout
{
	noimpact
	noFragment
	noshadows
	translucent
	
		diffusemap    	models/darkmod/props/textures/steam_engine_003
        
		
		{
                vertexProgram           heatHazeWithMask.vfp
                vertexParm              0    time * 0 , time * 0 // texture scrolling
                vertexParm              1    1      // magnitude of the distortion
                fragmentProgram			heatHazeWithMask.vfp
                fragmentMap             0    _currentRender
                fragmentMap             1    models/darkmod/props/textures/steam_engine_003_local   // the normal map for distortion
        }
		
		{
			blend    filter
			map   	 models/darkmod/props/textures/steam_engine_003
			colored
		}
}

steam_engine_glassReadoutOn
{
	noimpact
	noFragment
	noshadows
	translucent
	
		diffusemap    	models/darkmod/props/textures/steam_engine_003
        
		
		{
                vertexProgram           heatHazeWithMask.vfp
                vertexParm              0    time * 0 , time * 0 // texture scrolling
                vertexParm              1    1      // magnitude of the distortion
                fragmentProgram			heatHazeWithMask.vfp
                fragmentMap             0    _currentRender
                fragmentMap             1    models/darkmod/props/textures/steam_engine_003_local   // the normal map for distortion
        }
		
		{
			blend    diffusemap
			map   	 models/darkmod/props/textures/steam_engine_003
			colored
		}
}

//		search	------------	index
//-------------- Mechanical ----------------
//				------------

mechanical_debris_001
{
    	surftype15

    	description "metal"
		
		bumpmap    		models/darkmod/props/textures/mechanical_debris_001_local
    	specularmap 	models/darkmod/props/textures/mechanical_debris_001_s

	{
		blend diffusemap
		map       		models/darkmod/props/textures/mechanical_debris_001
		alphatest 0.5
	}

    {
        if ( parm11 > 0 )
        blend       gl_dst_color, gl_one
        map         _white
        rgb         0.40 * parm11
    }
    {
        if ( parm11 > 0 )
        blend       add
        map         models/darkmod/props/textures/mechanical_debris_001
        rgb         0.15 * parm11
    }
}

wall_lock_001
{
    	surftype15

    	description "metal"
		
		
		diffusemap		models/darkmod/props/textures/wall_lock_001
		bumpmap    		models/darkmod/props/textures/wall_lock_001_local
    	specularmap 	models/darkmod/props/textures/wall_lock_001_s

    {
        if ( parm11 > 0 )
        blend       gl_dst_color, gl_one
        map         _white
        rgb         0.40 * parm11
    }
    {
        if ( parm11 > 0 )
        blend       add
        map         models/darkmod/props/textures/wall_lock_001
        rgb         0.15 * parm11
    }
}

charge_post_001
{
    	surftype15

    	description "metal"
		
		
		diffusemap		models/darkmod/props/textures/charge_post_001
		bumpmap    		models/darkmod/props/textures/charge_post_001_local
    	specularmap 	models/darkmod/props/textures/charge_post_001_s

    {
        if ( parm11 > 0 )
        blend       gl_dst_color, gl_one
        map         _white
        rgb         0.40 * parm11
    }
    {
        if ( parm11 > 0 )
        blend       add
        map         models/darkmod/props/textures/charge_post_001
        rgb         0.15 * parm11
    }
}

turbine_junk_001
{
    	surftype15

    	description "metal"
		
		
		diffusemap		models/darkmod/props/textures/turbine_junk_001
		bumpmap    		models/darkmod/props/textures/turbine_junk_001_local

    {
        if ( parm11 > 0 )
        blend       gl_dst_color, gl_one
        map         _white
        rgb         0.40 * parm11
    }
    {
        if ( parm11 > 0 )
        blend       add
        map         models/darkmod/props/textures/turbine_junk_001
        rgb         0.15 * parm11
    }
}

turbine_junk_002
{
    	surftype15

    	description "metal"
		
		
		diffusemap		models/darkmod/props/textures/turbine_junk_002
		bumpmap    		models/darkmod/props/textures/turbine_junk_002_local

    {
        if ( parm11 > 0 )
        blend       gl_dst_color, gl_one
        map         _white
        rgb         0.40 * parm11
    }
    {
        if ( parm11 > 0 )
        blend       add
        map         models/darkmod/props/textures/turbine_junk_002
        rgb         0.15 * parm11
    }
}

bank_vault_001
{
    	surftype15

    	description "metal"
		
		
		diffusemap		models/darkmod/props/textures/bank_vault_001
		bumpmap    		models/darkmod/props/textures/bank_vault_001_local
    	specularmap 	models/darkmod/props/textures/bank_vault_001_s

    {
        if ( parm11 > 0 )
        blend       gl_dst_color, gl_one
        map         _white
        rgb         0.40 * parm11
    }
    {
        if ( parm11 > 0 )
        blend       add
        map         models/darkmod/props/textures/bank_vault_001
        rgb         0.15 * parm11
    }
}

security_camera_001
{
    	surftype15

    	description "metal"
		
		
		diffusemap		models/darkmod/props/textures/security_camera_001
		bumpmap    		models/darkmod/props/textures/security_camera_001_local
    	specularmap 	models/darkmod/props/textures/security_camera_001_s

    {
        if ( parm11 > 0 )
        blend       gl_dst_color, gl_one
        map         _white
        rgb         0.40 * parm11
    }
    {
        if ( parm11 > 0 )
        blend       add
        map         models/darkmod/props/textures/security_camera_001
        rgb         0.15 * parm11
    }
}

security_camera_001_nonsolid
{
		nonsolid
		
		diffusemap		models/darkmod/props/textures/security_camera_001
		bumpmap    		models/darkmod/props/textures/security_camera_001_local
    	specularmap 	models/darkmod/props/textures/security_camera_001_s

    {
        if ( parm11 > 0 )
        blend       gl_dst_color, gl_one
        map         _white
        rgb         0.40 * parm11
    }
    {
        if ( parm11 > 0 )
        blend       add
        map         models/darkmod/props/textures/security_camera_001
        rgb         0.15 * parm11
    }
}

security_camera_001_glow
{
    	surftype15

    	description "metal"
		
		
		diffusemap		models/darkmod/props/textures/security_camera_001
		bumpmap    		models/darkmod/props/textures/security_camera_001_local
    	specularmap 	models/darkmod/props/textures/security_camera_001_s
		
	{
		blend 		add
		map       	models/darkmod/props/textures/security_camera_001_glow
		green		0.2
		blue        0.2
	}

    {
        if ( parm11 > 0 )
        blend       gl_dst_color, gl_one
        map         _white
        rgb         0.40 * parm11
    }
    {
        if ( parm11 > 0 )
        blend       add
        map         models/darkmod/props/textures/security_camera_001
        rgb         0.15 * parm11
    }
}

safe_set_001
{
    	surftype15

    	description "metal"
		
		diffusemap		models/darkmod/props/textures/safe_set_001
		bumpmap    		models/darkmod/props/textures/safe_set_001_local
    	specularmap 	models/darkmod/props/textures/safe_set_001_s

    {
        if ( parm11 > 0 )
        blend       gl_dst_color, gl_one
        map         _white
        rgb         0.40 * parm11
    }
    {
        if ( parm11 > 0 )
        blend       add
        map         models/darkmod/props/textures/safe_set_001
        rgb         0.15 * parm11
    }
}

safe_set_003
{
    	surftype15

    	description "metal"
		
		diffusemap		models/darkmod/props/textures/safe_set_003
		bumpmap    		models/darkmod/props/textures/safe_set_003_local
    	specularmap 	models/darkmod/props/textures/safe_set_003_s

    {
        if ( parm11 > 0 )
        blend       gl_dst_color, gl_one
        map         _white
        rgb         0.40 * parm11
    }
    {
        if ( parm11 > 0 )
        blend       add
        map         models/darkmod/props/textures/safe_set_003
        rgb         0.15 * parm11
    }
}

wall_planter_001
{
    	surftype15

    	description "wood"
		
		diffusemap		models/darkmod/props/textures/wall_planter_001
		bumpmap    		models/darkmod/props/textures/wall_planter_001_local
    	specularmap 	models/darkmod/props/textures/wall_planter_001_s

    {
        if ( parm11 > 0 )
        blend       gl_dst_color, gl_one
        map         _white
        rgb         0.40 * parm11
    }
    {
        if ( parm11 > 0 )
        blend       add
        map         models/darkmod/props/textures/wall_planter_001
        rgb         0.15 * parm11
    }

	// TDM Ambient Method Related 
	{							
		if (global5 == 1)		
		blend add				
		map			models/darkmod/props/textures/wall_planter_001	
		scale		1, 1		
		red			global2	
		green		global3	
		blue		global4	
	}						
	{							
		if (global5 == 2)		
		blend add				
		program	ambientEnvironment.vfp	
		vertexParm		0		1, 1, 1, 1	// UV Scales for Diffuse and Bump	
		vertexParm		1		1, 1, 1, 1	// (X,Y) UV Scale for specular		
		vertexParm		2		global2, global3, global4, 1	
																
		fragmentMap		0		cubeMap env/gen1				
		fragmentMap		1	    models/darkmod/props/textures/wall_planter_001_local	// Bump				
		fragmentMap		2		models/darkmod/props/textures/wall_planter_001			// Diffuse			
		fragmentMap		3		models/darkmod/props/textures/wall_planter_001_s		// Specular			
	}
}

street_speaker_001
{
    	surftype15

    	description "metal"
		
		diffusemap		models/darkmod/props/textures/street_speaker_001
		bumpmap    		models/darkmod/props/textures/street_speaker_001_local
    	specularmap 	models/darkmod/props/textures/street_speaker_001_s

    {
        if ( parm11 > 0 )
        blend       gl_dst_color, gl_one
        map         _white
        rgb         0.40 * parm11
    }
    {
        if ( parm11 > 0 )
        blend       add
        map         models/darkmod/props/textures/street_speaker_001
        rgb         0.15 * parm11
    }

	// TDM Ambient Method Related 
	{							
		if (global5 == 1)		
		blend add				
		map			models/darkmod/props/textures/street_speaker_001	
		scale		1, 1		
		red			global2	
		green		global3	
		blue		global4	
	}						
	{							
		if (global5 == 2)		
		blend add				
		program	ambientEnvironment.vfp	
		vertexParm		0		1, 1, 1, 1	// UV Scales for Diffuse and Bump	
		vertexParm		1		1, 1, 1, 1	// (X,Y) UV Scale for specular		
		vertexParm		2		global2, global3, global4, 1	
																
		fragmentMap		0		cubeMap env/gen1				
		fragmentMap		1	    models/darkmod/props/textures/street_speaker_001_local	// Bump				
		fragmentMap		2		models/darkmod/props/textures/street_speaker_001		// Diffuse			
		fragmentMap		3		models/darkmod/props/textures/street_speaker_001_s		// Specular			
	}
}

street_speaker_001_nocollision
{
		noimpact
		
		diffusemap		models/darkmod/props/textures/street_speaker_001
		bumpmap    		models/darkmod/props/textures/street_speaker_001_local
    	specularmap 	models/darkmod/props/textures/street_speaker_001_s

    {
        if ( parm11 > 0 )
        blend       gl_dst_color, gl_one
        map         _white
        rgb         0.40 * parm11
    }
    {
        if ( parm11 > 0 )
        blend       add
        map         models/darkmod/props/textures/street_speaker_001
        rgb         0.15 * parm11
    }

	// TDM Ambient Method Related 
	{							
		if (global5 == 1)		
		blend add				
		map			models/darkmod/props/textures/street_speaker_001	
		scale		1, 1		
		red			global2	
		green		global3	
		blue		global4	
	}						
	{							
		if (global5 == 2)		
		blend add				
		program	ambientEnvironment.vfp	
		vertexParm		0		1, 1, 1, 1	// UV Scales for Diffuse and Bump	
		vertexParm		1		1, 1, 1, 1	// (X,Y) UV Scale for specular		
		vertexParm		2		global2, global3, global4, 1	
																
		fragmentMap		0		cubeMap env/gen1				
		fragmentMap		1	    models/darkmod/props/textures/street_speaker_001_local	// Bump				
		fragmentMap		2		models/darkmod/props/textures/street_speaker_001		// Diffuse			
		fragmentMap		3		models/darkmod/props/textures/street_speaker_001_s		// Specular			
	}
}

vehicle_tram_001
{
    surftype15

    description "metal"

	//noshadows
    forceOverlays
    bumpmap     	models/darkmod/props/textures/vehicle_tram_001_local
    diffusemap    	models/darkmod/props/textures/vehicle_tram_001
    specularmap 	models/darkmod/props/textures/vehicle_tram_001_s

    {
        if ( parm11 > 0 )
        blend       gl_dst_color, gl_one
        map         _white
        rgb         0.40 * parm11
    }
    {
        if ( parm11 > 0 )
        blend       add
        map         models/darkmod/props/textures/vehicle_tram_001
        rgb         0.15 * parm11
    }
}

vehicle_tram_001_alt
{
    surftype15

    description "metal"

	//noshadows
    forceOverlays
    bumpmap     	models/darkmod/props/textures/vehicle_tram_001_local
    diffusemap    	models/darkmod/props/textures/vehicle_tram_001
    specularmap 	models/darkmod/props/textures/vehicle_tram_001_s

    {
        if ( parm11 > 0 )
        blend       gl_dst_color, gl_one
        map         _white
        rgb         0.40 * parm11
    }
    {
        if ( parm11 > 0 )
        blend       add
        map         models/darkmod/props/textures/vehicle_tram_001
        rgb         0.15 * parm11
    }
}

vehicle_tram_001_on
{
    surftype15

    description "metal"

	//noshadows
    forceOverlays
	
    bumpmap     	models/darkmod/props/textures/vehicle_tram_001_local
    diffusemap    	models/darkmod/props/textures/vehicle_tram_001
    specularmap 	models/darkmod/props/textures/vehicle_tram_001_s
	
	{	
		blend		add
		
		map			models/darkmod/props/textures/vehicle_tram_001_lights
		rgb			.6
	}

    {
        if ( parm11 > 0 )
        blend       gl_dst_color, gl_one
        map         _white
        rgb         0.40 * parm11
    }
    {
        if ( parm11 > 0 )
        blend       add
        map         models/darkmod/props/textures/vehicle_tram_001
        rgb         0.15 * parm11
    }
}

tram_arcbolt_001
{
    noshadows
    nonsolid
    twosided


    {
        blend diffusemap
        map     	models/darkmod/props/textures/arcBolt_card
        alphatest   0.5
        translate 	time*2, time*4
        VertexColor
    }
    {
        blend       add
        map     	models/darkmod/props/textures/arcBolt_card
        rgb     	1
        translate 	time*2, time*4
        VertexColor
    }
    
    {
        blend diffusemap
        map 		models/darkmod/props/textures/_transparent
        alphatest 	0.5
        inverseVertexColor
    }
}

steam_engine_003
{
    surftype15

    description "metal"

	//noshadows
    forceOverlays
    bumpmap     	models/darkmod/props/textures/steam_engine_003_local
    diffusemap    	models/darkmod/props/textures/steam_engine_003
    specularmap 	models/darkmod/props/textures/steam_engine_003_s

    {
        if ( parm11 > 0 )
        blend       gl_dst_color, gl_one
        map         _white
        rgb         0.40 * parm11
    }
    {
        if ( parm11 > 0 )
        blend       add
        map         models/darkmod/props/textures/steam_engine_003
        rgb         0.15 * parm11
    }
}

transformer_gauge_2
{
    surftype15
	noshadows

    description "metal"
		
		noshadows
    	forceOverlays
    	diffusemap    	models/darkmod/props/textures/transformer_gauge	
}

//		search	------	index
//-------------- Food ----------------
//				------

food_banquet_001
{
    	surftype15

    	description "moss"

		noshadows
		
	{
		blend diffusemap
		map      		models/darkmod/props/textures/food_banquet_001
		alphatest 0.5
	}
		bumpmap    		models/darkmod/props/textures/food_banquet_001_local
    	specularmap 	models/darkmod/props/textures/food_banquet_001_s

    {
        if ( parm11 > 0 )
        blend       gl_dst_color, gl_one
        map         _white
        rgb         0.40 * parm11
    }
    {
        if ( parm11 > 0 )
        blend       add
        map         models/darkmod/props/textures/food_banquet_001	
        rgb         0.15 * parm11
    }

	// TDM Ambient Method Related 
	{							
		if (global5 == 1)		
		blend add				
		map			models/darkmod/props/textures/food_banquet_001	
		scale		1, 1		
		red			global2	
		green		global3	
		blue		global4	
	}						
	{							
		if (global5 == 2)		
		blend add				
		program	ambientEnvironment.vfp	
		vertexParm		0		1, 1, 1, 1	// UV Scales for Diffuse and Bump	
		vertexParm		1		1, 1, 1, 1	// (X,Y) UV Scale for specular		
		vertexParm		2		global2, global3, global4, 1	
																
		fragmentMap		0		cubeMap env/gen1				
		fragmentMap		1	    models/darkmod/props/textures/food_banquet_001_local	// Bump				
		fragmentMap		2		models/darkmod/props/textures/food_banquet_001			// Diffuse			
		fragmentMap		3		models/darkmod/props/textures/food_banquet_001_s		// Specular			
	}
}

//		search	-------------------	index
//-------------- Lord Edgar Series ----------------
//				-------------------

audiograph_player_001
{

		// credits: Epifire
		
        	diffusemap        	models/darkmod/props/textures/audiograph_player_001
        	bumpmap           	models/darkmod/props/textures/audiograph_player_001_local
			specularmap			models/darkmod/props/textures/audiograph_player_001_s
		
		
		// This is the code for the transparency
		{
			blend diffusemap	
			map      models/darkmod/props/textures/audiograph_player_001
			alphatest 0.5
		}

        // This is the code required for frob highlighting this texture
        {
                if ( parm11 > 0 )
                blend      gl_dst_color, gl_one
                map              _white.tga
                rgb              0.40 * parm11
        }
        {
                if ( parm11 > 0 )
                blend      add
                map              textures/audiograph_player_001
                rgb              0.15 * parm11
        }

                // TDM Ambient Method Related
                {
                                if (global5 == 1)
                                blend add
                                map                                                      models/darkmod/props/textures/audiograph_player_001
                                scale                              1, 1
                                red                                global2
                                green                              global3
                                blue                               global4
                }
                {
                                if (global5 == 2)
                                blend add
                                program ambientEnvironment.vfp
                                vertexParm                        0                        1, 1, 1, 1                     // UV Scales for Diffuse and Bump
                                vertexParm                        1                        1, 1, 1, 1                     // (X,Y) UV Scale for specular
                                vertexParm                        2                        global2, global3, global4, 1

                                fragmentMap                      0                         cubeMap env/gen1
                                fragmentMap                      1                         models/darkmod/props/textures/audiograph_player_001_local                                // Bump
                                fragmentMap                      2                         models/darkmod/props/textures/audiograph_player_001
// Diffuse
                                fragmentMap                      3                         _black                                 // Specular
                }
}

surgical_toolset_001
{
    	surftype15

    	description "wood"
		
		diffusemap		models/darkmod/props/textures/surgical_toolset_001
		bumpmap    		models/darkmod/props/textures/surgical_toolset_001_local
    	specularmap 	models/darkmod/props/textures/surgical_toolset_001_s

    {
        if ( parm11 > 0 )
        blend       gl_dst_color, gl_one
        map         _white
        rgb         0.40 * parm11
    }
    {
        if ( parm11 > 0 )
        blend       add
        map         models/darkmod/props/textures/surgical_toolset_001	
        rgb         0.15 * parm11
    }

	// TDM Ambient Method Related 
	{							
		if (global5 == 1)		
		blend add				
		map			models/darkmod/props/textures/surgical_toolset_001	
		scale		1, 1		
		red			global2	
		green		global3	
		blue		global4	
	}						
	{							
		if (global5 == 2)		
		blend add				
		program	ambientEnvironment.vfp	
		vertexParm		0		1, 1, 1, 1	// UV Scales for Diffuse and Bump	
		vertexParm		1		1, 1, 1, 1	// (X,Y) UV Scale for specular		
		vertexParm		2		global2, global3, global4, 1	
																
		fragmentMap		0		cubeMap env/gen1				
		fragmentMap		1	    models/darkmod/props/textures/surgical_toolset_001_local	// Bump				
		fragmentMap		2		models/darkmod/props/textures/surgical_toolset_001			// Diffuse			
		fragmentMap		3		models/darkmod/props/textures/surgical_toolset_001_s		// Specular			
	}
}

sword_collection_001
{
    	surftype15

    	description "wood"
		
		diffusemap		models/darkmod/props/textures/sword_collection_001
		bumpmap    		models/darkmod/props/textures/sword_collection_001_local
    	specularmap 	models/darkmod/props/textures/sword_collection_001_s

    {
        if ( parm11 > 0 )
        blend       gl_dst_color, gl_one
        map         _white
        rgb         0.40 * parm11
    }
    {
        if ( parm11 > 0 )
        blend       add
        map         models/darkmod/props/textures/sword_collection_001
        rgb         0.15 * parm11
    }

	// TDM Ambient Method Related 
	{							
		if (global5 == 1)		
		blend add				
		map			models/darkmod/props/textures/sword_collection_001
		scale		1, 1		
		red			global2	
		green		global3	
		blue		global4	
	}						
	{							
		if (global5 == 2)		
		blend add				
		program	ambientEnvironment.vfp	
		vertexParm		0		1, 1, 1, 1	// UV Scales for Diffuse and Bump	
		vertexParm		1		1, 1, 1, 1	// (X,Y) UV Scale for specular		
		vertexParm		2		global2, global3, global4, 1	
																
		fragmentMap		0		cubeMap env/gen1				
		fragmentMap		1	    models/darkmod/props/textures/sword_collection_001_local	// Bump				
		fragmentMap		2		models/darkmod/props/textures/sword_collection_001			// Diffuse			
		fragmentMap		3		models/darkmod/props/textures/sword_collection_001_s		// Specular			
	}
}


utility_room_001
{
		
		// credits: Epifire
		
        	diffusemap        	models/darkmod/props/textures/utility_room_001
        	bumpmap           	models/darkmod/props/textures/utility_room_001_local
			specularmap			models/darkmod/props/textures/utility_room_001_s
		
		
		// This is the code for the transparency
		{
			blend diffusemap	
			map      models/darkmod/props/textures/utility_room_001
			alphatest 0.5
		}

        // This is the code required for frob highlighting this texture
        {
                if ( parm11 > 0 )
                blend      gl_dst_color, gl_one
                map              _white.tga
                rgb              0.40 * parm11
        }
        {
                if ( parm11 > 0 )
                blend      add
                map              textures/utility_room_001
                rgb              0.15 * parm11
        }

                // TDM Ambient Method Related
                {
                                if (global5 == 1)
                                blend add
                                map                                models/darkmod/props/textures/utility_room_001
                                scale                              1, 1
                                red                                global2
                                green                              global3
                                blue                               global4
                }
                {
                                if (global5 == 2)
                                blend add
                                program ambientEnvironment.vfp
                                vertexParm                        0                        1, 1, 1, 1                     // UV Scales for Diffuse and Bump
                                vertexParm                        1                        1, 1, 1, 1                     // (X,Y) UV Scale for specular
                                vertexParm                        2                        global2, global3, global4, 1

                                fragmentMap                      0                         cubeMap env/gen1
                                fragmentMap                      1                         models/darkmod/props/textures/utility_room_001_local                                // Bump
                                fragmentMap                      2                         models/darkmod/props/textures/utility_room_001
// Diffuse
                                fragmentMap                      3                         _black                                 // Specular
                }
}

utility_grate_001
{
		// Mesh used for Epifire's fan
		
		metal
		
        diffusemap        textures/goldwell_custom/mesh
        bumpmap           textures/goldwell_custom/mesh_local

		{
			blend diffusemap	
			map      textures/goldwell_custom/mesh
			alphatest 0.5
		}

        // This is the code required for frob highlighting this texture
        {
                if ( parm11 > 0 )
                blend      gl_dst_color, gl_one
                map              _white.tga
                rgb              0.40 * parm11
        }
        {
                if ( parm11 > 0 )
                blend      add
                map              textures/utility_grate_001
                rgb              0.15 * parm11
        }
}

rooftop_woodtrim_001
{
    wood
	
    //diffusemap      textures/darkmod/wood/boards/rough_wood_grey
    bumpmap         textures/darkmod/wood/boards/rough_wood_fungi_local
	
		{
			blend 	diffusemap
			map 	textures/darkmod/wood/boards/rough_wood_grey
			colored
		}

    {
        if ( parm11 > 0 )
        blend       gl_dst_color, gl_one
        map         _white
        rgb         0.40 * parm11
    }
    {
        if ( parm11 > 0 )
        blend       add
        map         textures/darkmod/wood/boards/rough_wood_grey
        rgb         0.15 * parm11
    }

	// TDM Ambient Method Related 
	{							
		if (global5 == 1)		
		blend add				
		map				textures/darkmod/wood/boards/rough_wood_grey		
		scale			1, 1		
		red				global2	
		green			global3	
		blue			global4	
	}							
	{							
		if (global5 == 2)		
		blend add				
		program	ambientEnvironment.vfp	
		vertexParm		0		1, 1, 1, 1	// UV Scales for Diffuse and Bump	
		vertexParm		1		1, 1, 1, 1	// (X,Y) UV Scale for specular		
		vertexParm		2		global2, global3, global4, 1	
																
		fragmentMap		0		cubeMap env/gen1				
		fragmentMap		1		textures/darkmod/wood/boards/rough_wood_fungi_local		// Bump				
		fragmentMap		2		textures/darkmod/wood/boards/rough_wood_grey			// Diffuse			
		fragmentMap		3		_black													// Specular			
	}
}

rooftop_tiles_001
{
//tile collision sounds
    surftype15

    description "tile"

		noshadows
    	forceOverlays
    	bumpmap     	models/darkmod/props/textures/rooftop_tiles_001_local
    	diffusemap    	models/darkmod/props/textures/rooftop_tiles_001	
    	specularmap 	models/darkmod/props/textures/rooftop_tiles_001_s

    {
        if ( parm11 > 0 )
        blend       gl_dst_color, gl_one
        map         _white
        rgb         0.40 * parm11
    }
    {
        if ( parm11 > 0 )
        blend       add
        map         models/darkmod/props/textures/rooftop_tiles_001	
        rgb         0.15 * parm11
    }

	// TDM Ambient Method Related 
	{							
		if (global5 == 1)		
		blend add				
		map			models/darkmod/props/textures/rooftop_tiles_001
		scale			1, 1		
		red			global2	
		green			global3	
		blue			global4	
	}							
	{							
		if (global5 == 2)		
		blend add				
		program	ambientEnvironment.vfp	
		vertexParm		0		1, 1, 1, 1	// UV Scales for Diffuse and Bump	
		vertexParm		1		1, 1, 1, 1	// (X,Y) UV Scale for specular		
		vertexParm		2		global2, global3, global4, 1	
																
		fragmentMap		0		cubeMap env/gen1				
		fragmentMap		1	    models/darkmod/props/textures/rooftop_tiles_001_local		// Bump				
		fragmentMap		2		models/darkmod/props/textures/rooftop_tiles_001		// Diffuse			
		fragmentMap		3		_black	// Specular			
	}
}

rooftop_tiles_002
{
//wood collision noise
    surftype15

    description "wood"

		noshadows
    	forceOverlays
    	bumpmap     	models/darkmod/props/textures/rooftop_tiles_001_local
    	diffusemap    	models/darkmod/props/textures/rooftop_tiles_001	
    	specularmap 	models/darkmod/props/textures/rooftop_tiles_001_s

    {
        if ( parm11 > 0 )
        blend       gl_dst_color, gl_one
        map         _white
        rgb         0.40 * parm11
    }
    {
        if ( parm11 > 0 )
        blend       add
        map         models/darkmod/props/textures/rooftop_tiles_001	
        rgb         0.15 * parm11
    }

	// TDM Ambient Method Related 
	{							
		if (global5 == 1)		
		blend add				
		map			models/darkmod/props/textures/rooftop_tiles_001
		scale			1, 1		
		red			global2	
		green			global3	
		blue			global4	
	}							
	{							
		if (global5 == 2)		
		blend add				
		program	ambientEnvironment.vfp	
		vertexParm		0		1, 1, 1, 1	// UV Scales for Diffuse and Bump	
		vertexParm		1		1, 1, 1, 1	// (X,Y) UV Scale for specular		
		vertexParm		2		global2, global3, global4, 1	
																
		fragmentMap		0		cubeMap env/gen1				
		fragmentMap		1	    models/darkmod/props/textures/rooftop_tiles_001_local		// Bump				
		fragmentMap		2		models/darkmod/props/textures/rooftop_tiles_001		// Diffuse			
		fragmentMap		3		_black	// Specular			
	}
}

rooftop_tiles_003
{
//metalic collision sounds
    surftype15

    description "metal"

		noshadows
    	forceOverlays
    	bumpmap     	models/darkmod/props/textures/rooftop_tiles_001_local
    	diffusemap    	models/darkmod/props/textures/rooftop_tiles_001	
    	specularmap 	models/darkmod/props/textures/rooftop_tiles_001_s

    {
        if ( parm11 > 0 )
        blend       gl_dst_color, gl_one
        map         _white
        rgb         0.40 * parm11
    }
    {
        if ( parm11 > 0 )
        blend       add
        map         models/darkmod/props/textures/rooftop_tiles_001	
        rgb         0.15 * parm11
    }

	// TDM Ambient Method Related 
	{							
		if (global5 == 1)		
		blend add				
		map			models/darkmod/props/textures/rooftop_tiles_001
		scale			1, 1		
		red			global2	
		green			global3	
		blue			global4	
	}							
	{							
		if (global5 == 2)		
		blend add				
		program	ambientEnvironment.vfp	
		vertexParm		0		1, 1, 1, 1	// UV Scales for Diffuse and Bump	
		vertexParm		1		1, 1, 1, 1	// (X,Y) UV Scale for specular		
		vertexParm		2		global2, global3, global4, 1	
																
		fragmentMap		0		cubeMap env/gen1				
		fragmentMap		1	    models/darkmod/props/textures/rooftop_tiles_001_local		// Bump				
		fragmentMap		2		models/darkmod/props/textures/rooftop_tiles_001		// Diffuse			
		fragmentMap		3		_black	// Specular			
	}
}

rooftop_gutters_001
{
    surftype15

    description "metal"

	noshadows
    	forceOverlays
    	bumpmap     	models/darkmod/props/textures/rooftop_gutters_001_local
    	diffusemap    	models/darkmod/props/textures/rooftop_gutters_001	
    	specularmap 	models/darkmod/props/textures/rooftop_gutters_001_s

    {
        if ( parm11 > 0 )
        blend       gl_dst_color, gl_one
        map         _white
        rgb         0.40 * parm11
    }
    {
        if ( parm11 > 0 )
        blend       add
        map         models/darkmod/props/textures/rooftop_gutters_001
        rgb         0.15 * parm11
    }

	// TDM Ambient Method Related 
	{							
		if (global5 == 1)		
		blend add				
		map			models/darkmod/props/textures/rooftop_gutters_001
		scale			1, 1		
		red			global2	
		green			global3	
		blue			global4	
	}							
	{							
		if (global5 == 2)		
		blend add				
		program	ambientEnvironment.vfp	
		vertexParm		0		1, 1, 1, 1	// UV Scales for Diffuse and Bump	
		vertexParm		1		1, 1, 1, 1	// (X,Y) UV Scale for specular		
		vertexParm		2		global2, global3, global4, 1	
																
		fragmentMap		0		cubeMap env/gen1				
		fragmentMap		1	    models/darkmod/props/textures/rooftop_gutters_001_local		// Bump				
		fragmentMap		2		models/darkmod/props/textures/rooftop_gutters_001		// Diffuse			
		fragmentMap		3		_black	// Specular			
	}
}

rooftop_chimney_001
{
		twosided
		// credits: Epifire
		
        	diffusemap        	models/darkmod/props/textures/rooftop_chimney_001
        	bumpmap           	models/darkmod/props/textures/rooftop_chimney_001_local
			specularmap			models/darkmod/props/textures/rooftop_chimney_001_s
		
		
		// This is the code for the transparency
		{
			blend diffusemap	
			map      models/darkmod/props/textures/rooftop_chimney_001
			alphatest 0.5
		}

        // This is the code required for frob highlighting this texture
        {
                if ( parm11 > 0 )
                blend      gl_dst_color, gl_one
                map              _white.tga
                rgb              0.40 * parm11
        }
        {
                if ( parm11 > 0 )
                blend      add
                map              textures/rooftop_chimney_001
                rgb              0.15 * parm11
        }

                // TDM Ambient Method Related
                {
                                if (global5 == 1)
                                blend add
                                map                                                      models/darkmod/props/textures/rooftop_chimney_001
                                scale                              1, 1
                                red                                global2
                                green                              global3
                                blue                               global4
                }
                {
                                if (global5 == 2)
                                blend add
                                program ambientEnvironment.vfp
                                vertexParm                        0                        1, 1, 1, 1                     // UV Scales for Diffuse and Bump
                                vertexParm                        1                        1, 1, 1, 1                     // (X,Y) UV Scale for specular
                                vertexParm                        2                        global2, global3, global4, 1

                                fragmentMap                      0                         cubeMap env/gen1
                                fragmentMap                      1                         models/darkmod/props/textures/rooftop_chimney_001_local      // Bump
                                fragmentMap                      2                         models/darkmod/props/textures/rooftop_chimney_001			// Diffuse
                                fragmentMap                      3                         _black                                 						// Specular
                }
}
tdm_epi_shader_2.mtr (62,090 bytes)   
nbohr1more

nbohr1more

17.02.2022 03:11

developer   ~0014732

tdm_epi_shader_2-2.mtr (31,831 bytes)   
//==========================================

//	Second shader compilation for the models made by Epifire!

//==========================================

// I tried to sort my mesh shaders into groups so you can better find a definition and simillar materials based by it's category!
// This MTR file has been updated to the Notepad++ layout. Use Notepad++ if text blocks are compacted it should then be sorted properly to be readable.
// Here are the current available idexes listed in their respective order that you may search...
// Misc&SoloProjects - Lights&Effects - Mechanical - Food


// Start search here >< (below catagory listings!) with "ctrl+f"


//		search	-------------------	index
//-------------- Misc&SoloProjects ----------------
//				-------------------

microscope_001
{
        surftype15

        description "metal"

        diffusemap      models/darkmod/props/textures/microscope_001
        bumpmap         models/darkmod/props/textures/microscope_001_local
        specularmap     models/darkmod/props/textures/microscope_001_s
    {
        if ( parm11 > 0 )
        blend       gl_dst_color, gl_one
        map         _white
        rgb         0.40 * parm11
    }
    {
        if ( parm11 > 0 )
        blend       add
        map         models/darkmod/props/textures/microscope_001
        rgb         0.15 * parm11
    }
}

abbey_statue_001

{
    	surftype15

    	description "stone"

		diffusemap		models/darkmod/props/textures/abbey_statue_001
		bumpmap    		models/darkmod/props/textures/abbey_statue_001_local

    {
        if ( parm11 > 0 )
        blend       gl_dst_color, gl_one
        map         _white
        rgb         0.40 * parm11
    }
    {
        if ( parm11 > 0 )
        blend       add
        map         models/darkmod/props/textures/abbey_statue_001
        rgb         0.15 * parm11
    }



}

plate_decor_loot_001

{
    	surftype15

    	description "tile"

		diffusemap		models/darkmod/props/textures/plate_decor_loot_001
		bumpmap    		models/darkmod/props/textures/plate_decor_loot_001_local
		specularmap 	models/darkmod/props/textures/plate_decor_loot_001_s

    {
        if ( parm11 > 0 )
        blend       gl_dst_color, gl_one
        map         _white
        rgb         0.40 * parm11
    }
    {
        if ( parm11 > 0 )
        blend       add
        map         models/darkmod/props/textures/plate_decor_loot_001
        rgb         0.15 * parm11
    }



}

plate_decor_loot_002

{
    	surftype15

    	description "metal"

		diffusemap		models/darkmod/props/textures/plate_decor_loot_002
		bumpmap    		models/darkmod/props/textures/plate_decor_loot_002_local
		specularmap 	models/darkmod/props/textures/plate_decor_loot_002_s

    {
        if ( parm11 > 0 )
        blend       gl_dst_color, gl_one
        map         _white
        rgb         0.40 * parm11
    }
    {
        if ( parm11 > 0 )
        blend       add
        map         models/darkmod/props/textures/plate_decor_loot_002
        rgb         0.15 * parm11
    }



}

bedroom_clutter_001

{
    	surftype15

    	description "wood"

		diffusemap		models/darkmod/props/textures/bedroom_clutter_001
		bumpmap    		models/darkmod/props/textures/bedroom_clutter_001_local

    {
        if ( parm11 > 0 )
        blend       gl_dst_color, gl_one
        map         _white
        rgb         0.40 * parm11
    }
    {
        if ( parm11 > 0 )
        blend       add
        map         models/darkmod/props/textures/bedroom_clutter_001
        rgb         0.15 * parm11
    }



}

clutter_waste_basket_001

{
    	surftype15

    	description "metal"
		noshadows

	{
		blend diffusemap
		map       		models/darkmod/props/textures/clutter_waste_basket_001
		alphatest 0.5
	}
		bumpmap    		models/darkmod/props/textures/clutter_waste_basket_001_local
		specularmap 	models/darkmod/props/textures/clutter_waste_basket_001_s

    {
        if ( parm11 > 0 )
        blend       gl_dst_color, gl_one
        map         _white
        rgb         0.40 * parm11
    }
    {
        if ( parm11 > 0 )
        blend       add
        map         models/darkmod/props/textures/clutter_waste_basket_001
        rgb         0.15 * parm11
    }



}


crystal_ball_pedestal_cloth
{
    	surftype15

    	description "cloth"
		twosided

	{
		blend diffusemap
		map       	models/darkmod/props/textures/crystal_ball_pedestal_001
		alphatest 0.5
	}
		bumpmap    	models/darkmod/props/textures/crystal_ball_pedestal_001_local

    {
        if ( parm11 > 0 )
        blend       gl_dst_color, gl_one
        map         _white
        rgb         0.40 * parm11
    }
    {
        if ( parm11 > 0 )
        blend       add
        map         models/darkmod/props/textures/crystal_ball_pedestal_001
        rgb         0.15 * parm11
    }



}

crystal_ball_pedestal_stone
{
    	surftype15

    	description "stone"

		diffusemap		models/darkmod/props/textures/crystal_ball_pedestal_001
		bumpmap    		models/darkmod/props/textures/crystal_ball_pedestal_001_local

    {
        if ( parm11 > 0 )
        blend       gl_dst_color, gl_one
        map         _white
        rgb         0.40 * parm11
    }
    {
        if ( parm11 > 0 )
        blend       add
        map         models/darkmod/props/textures/crystal_ball_pedestal_001
        rgb         0.15 * parm11
    }



}

wizard_cloth_001
{
    	surftype15

    	description "cloth"

		diffusemap		models/darkmod/props/textures/wizard_cloth_001
		bumpmap    		models/darkmod/props/textures/wizard_cloth_001_local

    {
        if ( parm11 > 0 )
        blend       gl_dst_color, gl_one
        map         _white
        rgb         0.40 * parm11
    }
    {
        if ( parm11 > 0 )
        blend       add
        map         models/darkmod/props/textures/wizard_cloth_001
        rgb         0.15 * parm11
    }



}

wizard_roof_001
{
    	surftype15

    	description "stone"

		diffusemap		models/darkmod/props/textures/wizard_roof_001
		bumpmap    		models/darkmod/props/textures/wizard_roof_001_local

    {
        if ( parm11 > 0 )
        blend       gl_dst_color, gl_one
        map         _white
        rgb         0.40 * parm11
    }
    {
        if ( parm11 > 0 )
        blend       add
        map         models/darkmod/props/textures/wizard_roof_001
        rgb         0.15 * parm11
    }



}

wizard_signage_001
{
    	surftype15

    	description "cloth"
	{
		blend diffusemap
		map       models/darkmod/props/textures/wizard_signage_001
		alphatest 0.5
	}
		bumpmap    		models/darkmod/props/textures/wizard_signage_001_local
    	specularmap 	models/darkmod/props/textures/wizard_signage_001_s

    {
        if ( parm11 > 0 )
        blend       gl_dst_color, gl_one
        map         _white
        rgb         0.40 * parm11
    }
    {
        if ( parm11 > 0 )
        blend       add
        map         models/darkmod/props/textures/wizard_signage_001
        rgb         0.15 * parm11
    }



}

wizard_signage_001_glow
{
	noshadows
	nonsolid


	{
		blend diffusemap
		map       models/darkmod/props/textures/wizard_signage_001_glow
		alphatest 0.5
	//	scroll 	  0 * 1, (time * 4)
	}
	{
		
		blend	add
		map      models/darkmod/props/textures/talisman_glow_strip
		rgb      1
		scroll 	 0 * 1, (time * .4)
	}

	

    {
        if ( parm11 > 0 )
        blend       gl_dst_color, gl_one
        map         _white
        rgb         0.40 * parm11
    }
    {
        if ( parm11 > 0 )
        blend       add
        map         models/darkmod/props/textures/wizard_signage_001_glow
        rgb         0.15 * parm11
    }



}

cobblestone_blnd_001
{
    	surftype15
    	description "stone"

	noshadows

    {
	blend bumpmap 
	map models/darkmod/props/textures/cobblestone_blnd_001_local
	VertexColor
   	}

   	{
    blend diffusemap                                                    
	map models/darkmod/props/textures/cobblestone_blnd_001
    VertexColor                                                         
    }
	
	{
    blend specularmap                                                    
	map models/darkmod/props/textures/cobblestone_blnd_001_s
    VertexColor                                                         
    }




    {
	blend bumpmap 
	map models/darkmod/props/textures/cobblestone_blnd_002_local
	inverseVertexColor
   	}

   	{
    blend diffusemap                                                    
	map models/darkmod/props/textures/cobblestone_blnd_002
    inverseVertexColor                                                         
    }
	
	{
    blend specularmap                                                    
	map models/darkmod/props/textures/cobblestone_blnd_002_s
	inverseVertexColor                                                        
    }


}

cobblestone_blnd_002
{
    	surftype15
    	description "grass"

	noshadows

    {
	blend bumpmap 
	map models/darkmod/props/textures/cobblestone_blnd_003_local
	VertexColor
   	}

   	{
    blend diffusemap                                                    
	map models/darkmod/props/textures/cobblestone_blnd_003
    VertexColor                                                         
    }




    {
	blend bumpmap 
	map models/darkmod/props/textures/cobblestone_blnd_002_local
	inverseVertexColor
   	}

   	{
    blend diffusemap                                                    
	map models/darkmod/props/textures/cobblestone_blnd_002
    inverseVertexColor                                                         
    }
	
	{
    blend specularmap                                                    
	map models/darkmod/props/textures/cobblestone_blnd_002_s
	inverseVertexColor                                                        
    }


}

//		search	----------------	index
//-------------- Lights&Effects ----------------
//				----------------

lights/shadows/fan_shadow_001
{	
	qer_editorimage lights/shadows/fan_shadow_001_ed.jpg
	{
		forceHighQuality
		map	lights/shadows/fan_shadow_001
		colored
		zeroClamp
	}
}


// Moddified version of SteveL's original material - For Epi's Crystal Ball material
crystal_ball_001
{
	discrete
	nonsolid
	translucent
        
	{
		vertexProgram heatHazeWithAlphaDepth.vfp
		vertexParm 0 0.1 * sintable [ time * ((( parm5 + 0.1) - (( parm5 || 0) * 0.1)) * 3)], 0.15 * sintable [ time * ((( parm5 + 0.1) - (( parm5 || 0) * 0.1)) * 1.5)]
		vertexParm 1 (( parm6 + 1.5) - (( parm6 || 0) * 1.0))
        vertexParm 2 ( 0.6 / 60.0 )   //  Set this to ( 1.0 / opaque_depth )
		fragmentProgram heatHazeWithAlphaDepth.vfp
		fragmentMap 0 _currentRender
		fragmentMap 1 textures/sfx/vp1
		fragmentMap 2 _currentDepth
		scale 4,4
	}

	{
		maskAlpha
        blend gl_dst_alpha, gl_one_minus_dst_alpha
		map textures/water_source/sea_water_001
		translate 0.01 * sintable [ time * ((( parm5 + 0.1) - (( parm5 || 0) * 0.1)) * 3)], 0.075 * sintable [ time * ((( parm5 + 0.1) - (( parm5 || 0) * 0.1)) * 1.5)]
        rgb 0.05
	}
    
    // NB most waters use a single draw of their surface texture, and you don't need this second one for them. 
    // I've only got 2 here because I started with sea_water_01 which happens to use 2 draws
    {
		maskAlpha
        blend gl_dst_alpha, gl_one_minus_dst_alpha
		map textures/water_source/sea_water_001
		translate 0.015 * sintable [ time * ((( parm5 + 0.1) - (( parm5 || 0) * 0.1)) * 3)], 0.0375 * sintable [ time * ((( parm5 + 0.1) - (( parm5 || 0) * 0.1)) * 1.5)]
		rgb 0.3
	}
}

crystal_ball_shine

{
	translucent
	noShadows
	sort		10		// sort very late, so no translucent objects in the world draws over it
	{
		blend add
		map models/darkmod/props/textures/crystal_ball
		vertexColor
	}
}


water_mist_001
{
	noimpact
	noFragment
	noshadows
	translucent
    twoSided
    forceoverlays
    sort decal
    sort nearest
    forceOpaque
    sort postProcess
	
	qer_EditorImage 					models/darkmod/props/textures/water_mist_001
	
	
	
        {
			vertexProgram           heatHazeWithMask.vfp
            vertexParm              0       time * 0 , time * 0.35 // texture scrolling
            vertexParm              1    1      // magnitude of the distortion
            fragmentProgram			heatHazeWithMask.vfp
            fragmentMap             0    _currentRender
            fragmentMap             1    models/darkmod/props/textures/water_mist_001 	 	 // the normal map for distortion
            fragmentMap             2    models/darkmod/props/textures/water_mist_001_alpha  // the distortion blend map
			inverseVertexColor
        }
			
		{
			blend 	add
			map  	models/darkmod/props/textures/water_mist_001_depth
			colored
			scroll 	0 * 1, (time * .5) // texture scrolling
			VertexColor
		}  

		{
			blend 	diffusemap
			map 	models/darkmod/props/textures/_transparent
			alphaTest 0.5
			inverseVertexColor
		}
}

transformer_needle_a2
{

    nonsolid
    noshadows

    {
		blend diffusemap
		map models/darkmod/props/textures/transformer_needle
		alphaTest 0.5
		rotate -1

        clamp
    }

    {
		blend bumpmap
		map models/darkmod/props/textures/transformer_needle_local
		alphaTest 0.5
		rotate -1

        clamp
    }



}

transformer_needle_b2
{

    nonsolid
    noshadows

    {
		blend diffusemap
		map models/darkmod/props/textures/transformer_needle
		alphaTest 0.5
		rotate -1

        clamp
    }

    {
		blend bumpmap
		map models/darkmod/props/textures/transformer_needle_local
		alphaTest 0.5
		rotate -1

        clamp
    }



}

lights/shadows/steam_engine_grate
{	
	qer_editorimage models/darkmod/props/textures/steam_engine_grate_ed.jpg
	{
		forceHighQuality
		map	models/darkmod/props/textures/steam_engine_grate
		colored
		zeroClamp
	}
}

steam_engine_grate
{
	noshadows
	nonsolid


	{
		blend 		add
		map       	models/darkmod/props/textures/steam_engine_grate
		green		0.2
		blue        0.2
	}
}

steam_engine_heatwarp
{
	noimpact
	noFragment
	noshadows
	qer_EditorImage 					textures/darkmod/sfx/deforms/waterfall.tga
		//deform sprite
        {
                vertexProgram           heatHazeWithMask.vfp
                vertexParm              0       time * 0 , time * 0.5 // texture scrolling
                vertexParm              1    1      // magnitude of the distortion
                fragmentProgram			heatHazeWithMask.vfp
                fragmentMap             0       _currentRender
                fragmentMap             1       textures/darkmod/sfx/deforms/waterfall.tga   // the normal map for distortion
                fragmentMap             2       textures/darkmod/sfx/deforms/waterfall_alpha.tga   // the distortion blend map
        }


}

steam_engine_glassReadout
{
	noimpact
	noFragment
	noshadows
	translucent
	
		diffusemap    	models/darkmod/props/textures/steam_engine_003
        
		
		{
                vertexProgram           heatHazeWithMask.vfp
                vertexParm              0    time * 0 , time * 0 // texture scrolling
                vertexParm              1    1      // magnitude of the distortion
                fragmentProgram			heatHazeWithMask.vfp
                fragmentMap             0    _currentRender
                fragmentMap             1    models/darkmod/props/textures/steam_engine_003_local   // the normal map for distortion
        }
		
		{
			blend    filter
			map   	 models/darkmod/props/textures/steam_engine_003
			colored
		}
}

steam_engine_glassReadoutOn
{
	noimpact
	noFragment
	noshadows
	translucent
	
		diffusemap    	models/darkmod/props/textures/steam_engine_003
        
		
		{
                vertexProgram           heatHazeWithMask.vfp
                vertexParm              0    time * 0 , time * 0 // texture scrolling
                vertexParm              1    1      // magnitude of the distortion
                fragmentProgram			heatHazeWithMask.vfp
                fragmentMap             0    _currentRender
                fragmentMap             1    models/darkmod/props/textures/steam_engine_003_local   // the normal map for distortion
        }
		
		{
			blend    diffusemap
			map   	 models/darkmod/props/textures/steam_engine_003
			colored
		}
}


//		search	------------	index
//-------------- Mechanical ----------------
//				------------

mechanical_debris_001
{
	surftype15

	description "metal"

	{
		blend diffusemap
		map models/darkmod/props/textures/mechanical_debris_001	
		alphatest 0.5
	}

	bumpmap		models/darkmod/props/textures/mechanical_debris_001_local
	specularmap	models/darkmod/props/textures/mechanical_debris_001_s

	{
		if ( parm11 > 0 )
		blend	gl_dst_color, gl_one
		map	_white
		rgb	0.40 * parm11
	}
	{
		if ( parm11 > 0 )
		blend	add
		map	models/darkmod/props/textures/mechanical_debris_001
		rgb	0.15 * parm11
	}
}

safe_set_001
{
    	surftype15

    	description "metal"
		
		diffusemap		models/darkmod/props/textures/safe_set_001
		bumpmap    		models/darkmod/props/textures/safe_set_001_local
    	specularmap 	models/darkmod/props/textures/safe_set_001_s

    {
        if ( parm11 > 0 )
        blend       gl_dst_color, gl_one
        map         _white
        rgb         0.40 * parm11
    }
    {
        if ( parm11 > 0 )
        blend       add
        map         models/darkmod/props/textures/safe_set_001
        rgb         0.15 * parm11
    }



}

wall_planter_001
{
    	surftype15

    	description "wood"
		
		diffusemap		models/darkmod/props/textures/wall_planter_001
		bumpmap    		models/darkmod/props/textures/wall_planter_001_local
    	specularmap 	models/darkmod/props/textures/wall_planter_001_s

    {
        if ( parm11 > 0 )
        blend       gl_dst_color, gl_one
        map         _white
        rgb         0.40 * parm11
    }
    {
        if ( parm11 > 0 )
        blend       add
        map         models/darkmod/props/textures/wall_planter_001
        rgb         0.15 * parm11
    }



}

street_speaker_001
{
    	surftype15

    	description "metal"
		
		diffusemap		models/darkmod/props/textures/street_speaker_001
		bumpmap    		models/darkmod/props/textures/street_speaker_001_local
    	specularmap 	models/darkmod/props/textures/street_speaker_001_s

    {
        if ( parm11 > 0 )
        blend       gl_dst_color, gl_one
        map         _white
        rgb         0.40 * parm11
    }
    {
        if ( parm11 > 0 )
        blend       add
        map         models/darkmod/props/textures/street_speaker_001
        rgb         0.15 * parm11
    }



}

street_speaker_001_nocollision
{
		noimpact
		
		diffusemap		models/darkmod/props/textures/street_speaker_001
		bumpmap    		models/darkmod/props/textures/street_speaker_001_local
    	specularmap 	models/darkmod/props/textures/street_speaker_001_s

    {
        if ( parm11 > 0 )
        blend       gl_dst_color, gl_one
        map         _white
        rgb         0.40 * parm11
    }
    {
        if ( parm11 > 0 )
        blend       add
        map         models/darkmod/props/textures/street_speaker_001
        rgb         0.15 * parm11
    }



}

vehicle_tram_001
{
    surftype15

    description "metal"

	//noshadows
    forceOverlays
    bumpmap     	models/darkmod/props/textures/vehicle_tram_001_local
    diffusemap    	models/darkmod/props/textures/vehicle_tram_001
    specularmap 	models/darkmod/props/textures/vehicle_tram_001_s

    {
        if ( parm11 > 0 )
        blend       gl_dst_color, gl_one
        map         _white
        rgb         0.40 * parm11
    }
    {
        if ( parm11 > 0 )
        blend       add
        map         models/darkmod/props/textures/vehicle_tram_001
        rgb         0.15 * parm11
    }



}

vehicle_tram_001_alt
{
    surftype15

    description "metal"

	//noshadows
    forceOverlays
    bumpmap     	models/darkmod/props/textures/vehicle_tram_001_local
    diffusemap    	models/darkmod/props/textures/vehicle_tram_001
    specularmap 	models/darkmod/props/textures/vehicle_tram_001_s

    {
        if ( parm11 > 0 )
        blend       gl_dst_color, gl_one
        map         _white
        rgb         0.40 * parm11
    }
    {
        if ( parm11 > 0 )
        blend       add
        map         models/darkmod/props/textures/vehicle_tram_001
        rgb         0.15 * parm11
    }



}

vehicle_tram_001_on
{
    surftype15

    description "metal"

	//noshadows
    forceOverlays
	
    bumpmap     	models/darkmod/props/textures/vehicle_tram_001_local
    diffusemap    	models/darkmod/props/textures/vehicle_tram_001
    specularmap 	models/darkmod/props/textures/vehicle_tram_001_s
	
	{	
		blend		add
		
		map			models/darkmod/props/textures/vehicle_tram_001_lights
		rgb			.6
	}

    {
        if ( parm11 > 0 )
        blend       gl_dst_color, gl_one
        map         _white
        rgb         0.40 * parm11
    }
    {
        if ( parm11 > 0 )
        blend       add
        map         models/darkmod/props/textures/vehicle_tram_001
        rgb         0.15 * parm11
    }



}

tram_arcbolt_001
{
    noshadows
    nonsolid
    twosided


    {
        blend diffusemap
        map     	models/darkmod/props/textures/arcBolt_card
        alphatest   0.5
        translate 	time*2, time*4
        VertexColor
    }
    {
        blend       add
        map     	models/darkmod/props/textures/arcBolt_card
        rgb     	1
        translate 	time*2, time*4
        VertexColor
    }
    
    {
        blend diffusemap
        map 		models/darkmod/props/textures/_transparent
        alphatest 	0.5
        inverseVertexColor
    }
}

steam_engine_003
{
    surftype15

    description "metal"

	//noshadows
    forceOverlays
    bumpmap     	models/darkmod/props/textures/steam_engine_003_local
    diffusemap    	models/darkmod/props/textures/steam_engine_003
    specularmap 	models/darkmod/props/textures/steam_engine_003_s

    {
        if ( parm11 > 0 )
        blend       gl_dst_color, gl_one
        map         _white
        rgb         0.40 * parm11
    }
    {
        if ( parm11 > 0 )
        blend       add
        map         models/darkmod/props/textures/steam_engine_003
        rgb         0.15 * parm11
    }



}

transformer_gauge_2
{
    surftype15
	noshadows

    description "metal"
		
		noshadows
    	forceOverlays
    	diffusemap    	models/darkmod/props/textures/transformer_gauge	
}

//		search	------	index
//-------------- Food ----------------
//				------

food_banquet_001
{
    	surftype15

    	description "moss"

		noshadows
		
	{
		blend diffusemap
		map      		models/darkmod/props/textures/food_banquet_001
		alphatest 0.5
	}
		bumpmap    		models/darkmod/props/textures/food_banquet_001_local
    	specularmap 	models/darkmod/props/textures/food_banquet_001_s

    {
        if ( parm11 > 0 )
        blend       gl_dst_color, gl_one
        map         _white
        rgb         0.40 * parm11
    }
    {
        if ( parm11 > 0 )
        blend       add
        map         models/darkmod/props/textures/food_banquet_001	
        rgb         0.15 * parm11
    }



}

//		search	-------------------	index
//-------------- Lord Edgar Series ----------------
//				-------------------

audiograph_player_001
{

		// credits: Epifire
		
        
        	bumpmap           	models/darkmod/props/textures/audiograph_player_001_local
			specularmap			models/darkmod/props/textures/audiograph_player_001_s
		
		
		// This is the code for the transparency
		{
			blend diffusemap	
			map      models/darkmod/props/textures/audiograph_player_001
			alphatest 0.5
		}

        // This is the code required for frob highlighting this texture
        {
                if ( parm11 > 0 )
                blend      gl_dst_color, gl_one
                map              _white.tga
                rgb              0.40 * parm11
        }
        {
                if ( parm11 > 0 )
                blend      add
                map              textures/audiograph_player_001
                rgb              0.15 * parm11
        }



}

surgical_toolset_001
{
    	surftype15

    	description "wood"
		
		diffusemap		models/darkmod/props/textures/surgical_toolset_001
		bumpmap    		models/darkmod/props/textures/surgical_toolset_001_local
    	specularmap 	models/darkmod/props/textures/surgical_toolset_001_s

    {
        if ( parm11 > 0 )
        blend       gl_dst_color, gl_one
        map         _white
        rgb         0.40 * parm11
    }
    {
        if ( parm11 > 0 )
        blend       add
        map         models/darkmod/props/textures/surgical_toolset_001	
        rgb         0.15 * parm11
    }



}

sword_collection_001
{
    	surftype15

    	description "wood"
		
		diffusemap		models/darkmod/props/textures/sword_collection_001
		bumpmap    		models/darkmod/props/textures/sword_collection_001_local
    	specularmap 	models/darkmod/props/textures/sword_collection_001_s

    {
        if ( parm11 > 0 )
        blend       gl_dst_color, gl_one
        map         _white
        rgb         0.40 * parm11
    }
    {
        if ( parm11 > 0 )
        blend       add
        map         models/darkmod/props/textures/sword_collection_001
        rgb         0.15 * parm11
    }



}


utility_room_001
{
		twosided
		// credits: Epifire
		

        	bumpmap           	models/darkmod/props/textures/utility_room_001_local
			specularmap			models/darkmod/props/textures/utility_room_001_s

		
		// This is the code for the transparency
		{
			blend diffusemap	
			map      models/darkmod/props/textures/utility_room_001
			alphatest 0.5
		}

        // This is the code required for frob highlighting this texture
        {
                if ( parm11 > 0 )
                blend      gl_dst_color, gl_one
                map              _white.tga
                rgb              0.40 * parm11
        }
        {
                if ( parm11 > 0 )
                blend      add
                map              models/darkmod/props/textures/utility_room_001
                rgb              0.15 * parm11
        }



}

utility_grate_001
{
	// Mesh used for Epifire's fan
	
	metal
	
    qer_editorimage   textures/darkmod/metal/grate/mesh_ed
	diffusemap        textures/darkmod/metal/grate/mesh
	bumpmap           textures/darkmod/metal/grate/mesh_local
		
	// This is the code for the transparency
	{
		blend diffusemap	
		map      textures/darkmod/metal/grate/mesh
		alphatest 0.5
	}

	// This is the code required for frob highlighting this texture
	{
		if ( parm11 > 0 )
		blend      		 gl_dst_color, gl_one
		map              _white.tga
		rgb              0.40 * parm11
	}
	{
		if ( parm11 > 0 )
		blend      		 add
		map              textures/darkmod/metal/grate/mesh
		rgb              0.15 * parm11
	}


}

rooftop_woodtrim_001
{
    wood
	

    bumpmap         textures/darkmod/wood/boards/rough_wood_fungi_local
	
		{
			blend 	diffusemap
			map 	textures/darkmod/wood/boards/rough_wood_grey
			colored
		}

    {
        if ( parm11 > 0 )
        blend       gl_dst_color, gl_one
        map         _white
        rgb         0.40 * parm11
    }
    {
        if ( parm11 > 0 )
        blend       add
        map         textures/darkmod/wood/boards/rough_wood_grey
        rgb         0.15 * parm11
    }



}

rooftop_tiles_001
{
//tile collision sounds
    surftype15

    description "tile"

		noshadows
    	forceOverlays
    	bumpmap     	models/darkmod/props/textures/rooftop_tiles_001_local
    	diffusemap    	models/darkmod/props/textures/rooftop_tiles_001	
    	specularmap 	models/darkmod/props/textures/rooftop_tiles_001_s

    {
        if ( parm11 > 0 )
        blend       gl_dst_color, gl_one
        map         _white
        rgb         0.40 * parm11
    }
    {
        if ( parm11 > 0 )
        blend       add
        map         models/darkmod/props/textures/rooftop_tiles_001	
        rgb         0.15 * parm11
    }



}

rooftop_tiles_002
{
//wood collision noise
    surftype15

    description "wood"

		noshadows
    	forceOverlays
    	bumpmap     	models/darkmod/props/textures/rooftop_tiles_001_local
    	diffusemap    	models/darkmod/props/textures/rooftop_tiles_001	
    	specularmap 	models/darkmod/props/textures/rooftop_tiles_001_s

    {
        if ( parm11 > 0 )
        blend       gl_dst_color, gl_one
        map         _white
        rgb         0.40 * parm11
    }
    {
        if ( parm11 > 0 )
        blend       add
        map         models/darkmod/props/textures/rooftop_tiles_001	
        rgb         0.15 * parm11
    }



}

rooftop_tiles_003
{
//metalic collision sounds
    surftype15

    description "metal"

		noshadows
    	forceOverlays
    	bumpmap     	models/darkmod/props/textures/rooftop_tiles_001_local
    	diffusemap    	models/darkmod/props/textures/rooftop_tiles_001	
    	specularmap 	models/darkmod/props/textures/rooftop_tiles_001_s

    {
        if ( parm11 > 0 )
        blend       gl_dst_color, gl_one
        map         _white
        rgb         0.40 * parm11
    }
    {
        if ( parm11 > 0 )
        blend       add
        map         models/darkmod/props/textures/rooftop_tiles_001	
        rgb         0.15 * parm11
    }



}

rooftop_gutters_001
{
    surftype15

    description "metal"

	noshadows
    	forceOverlays
    	bumpmap     	models/darkmod/props/textures/rooftop_gutters_001_local
    	diffusemap    	models/darkmod/props/textures/rooftop_gutters_001
    	specularmap 	models/darkmod/props/textures/rooftop_gutters_001_s

    {
        if ( parm11 > 0 )
        blend       gl_dst_color, gl_one
        map         _white
        rgb         0.40 * parm11
    }
    {
        if ( parm11 > 0 )
        blend       add
        map         models/darkmod/props/textures/rooftop_gutters_001
        rgb         0.15 * parm11
    }



}

rooftop_chimney_001
{
		twosided
		// credits: Epifire
		

        	bumpmap           	models/darkmod/props/textures/rooftop_chimney_001_local
			specularmap			models/darkmod/props/textures/rooftop_chimney_001_s
		

		// This is the code for the transparency
		{
			blend diffusemap	
			map      models/darkmod/props/textures/rooftop_chimney_001
			alphatest 0.5
		}

        // This is the code required for frob highlighting this texture
        {
                if ( parm11 > 0 )
                blend      gl_dst_color, gl_one
                map              _white.tga
                rgb              0.40 * parm11
        }
        {
                if ( parm11 > 0 )
                blend      add
                map              textures/rooftop_chimney_001
                rgb              0.15 * parm11
        }



}


tdm_epi_shader_2-2.mtr (31,831 bytes)   
tdm_epi_shader.mtr (21,543 bytes)   
//==========================================

//	Shader compilation for the models made by Epifire!

//==========================================

// I tried to sort my mesh shaders into groups so you can better find a definition and simillar materials based by it's category!
// This MTR file has been updated to the Notepad++ layout. Use Notepad++ if text blocks are compacted it should then be sorted properly to be readable.
// Here are the current available idexes listed in their respective order that you may search...
// Textured-Lights - Deform-Flare - Blend-Textures - Electrical Equipment - Furnature - Castle_Lab - The Accountant Series - Lord Edgar Series - Misc.


// Start search here >< (below catagory listings!) with "ctrl+f"


//		search	-----------------	index
//-------------- Textured-Lights ----------------
//				-----------------

lights/shadows/shadow_transformer
{	
	qer_editorimage lights/shadows/shadow_transformer_ed.jpg
	{
		forceHighQuality
		map	lights/shadows/shadow_transformer
		colored
		zeroClamp
	}
}

//		search	--------------	index
//-------------- Deform-Flare ----------------
//				--------------


bulb_glowing

{

	noSelfShadow
	noShadows
	nonsolid
	//sort postprocess
	deform flare 6
	translucent

		{
			blend add
			map textures/darkmod/sfx/candleglow.tga //textures/particles/fbeam
			clamp
			colored
		}


}

arcBolt_card
{
	noshadows
	nonsolid
	twosided


	{
		blend diffusemap
		map      models/darkmod/props/textures/arcBolt_card
		alphatest 0.5
		scroll 0 * 1, (time * 4)
	}
	{
		
		blend	add
		map      models/darkmod/props/textures/arcBolt_card
		rgb          1
		scroll 0 * 1, (time * 4)
	}

	

    {
        if ( parm11 > 0 )
        blend       gl_dst_color, gl_one
        map         _white
        rgb         0.40 * parm11
    }
    {
        if ( parm11 > 0 )
        blend       add
        map         models/darkmod/props/textures/arcBolt_card
        rgb         0.15 * parm11
    }



}

//		search	---------------	index
//-------------- Blend-Textures ----------------
//				---------------

terrain_blend_001
{
    	surftype15
    	description "grass"

	noshadows

    {
	blend bumpmap 
	map textures/terrain/generic_grass_001_local
	VertexColor
   	}

   	{
    blend diffusemap                                                    
    map textures/terrain/generic_grass_001
    VertexColor                                                         
    }




	{
	blend bumpmap 
	map textures/terrain/castle_dirt_001_local
	inverseVertexColor
	}

    {
    blend diffusemap
    map textures/terrain/castle_dirt_001
    inverseVertexColor
    }


}

terrain_blend_COPY
{
    	surftype15
    	description "grass"

	noshadows

    {
	blend bumpmap 
	map textures/terrain/generic_grass_001_local
	VertexColor
   }

    {
       	blend diffusemap                                                    
        	map textures/terrain/generic_grass_001
        	VertexColor                                                         
    }




    {
  	blend bumpmap 
	map textures/terrain/castle_dirt_001_local
	inverseVertexColor
    }

    {
        	blend diffusemap
      	map textures/terrain/castle_dirt_001
        	inverseVertexColor
    }


}

//		search	----------------------	index
//-------------- Electrical Equipment ----------------
//				----------------------

spotlight_harbour_001
{
    	surftype15
    	description "harbour spotlight by Epifire!"

    	metal

	noshadows
    forceOverlays
   	bumpmap         models/darkmod/props/textures/spotlight_harbour_001_local
	specularmap     models/darkmod/props/textures/spotlight_harbour_001_s
	qer_editorimage models/darkmod/props/textures/spotlight_harbour_001_ed


	{
		blend diffusemap
		map      models/darkmod/props/textures/spotlight_harbour_001
		alphatest 0.5
	}

    {
        if ( parm11 > 0 )
        blend       gl_dst_color, gl_one
        map         _white
        rgb         0.40 * parm11
    }
    {
        if ( parm11 > 0 )
        blend       add
        map         models/darkmod/props/textures/spotlight_harbour_001
        rgb         0.15 * parm11
    }



}

spotlight_harbour_glow
{
    	surftype15
    	description "harbour spotlight by Epifire!"

    	metal

//	noshadows
    forceOverlays
	diffusemap			models/darkmod/props/textures/spotlight_harbour_001
   	bumpmap         	models/darkmod/props/textures/spotlight_harbour_001_local
	qer_editorimage 	models/darkmod/props/textures/spotlight_harbour_001_ed

	{
		
	blend	add
		
	map	models/darkmod/props/textures/spotlight_harbour_001
	rgb	.8
	}


    {
        if ( parm11 > 0 )
        blend       gl_dst_color, gl_one
        map         _white
        rgb         0.40 * parm11
    }
    {
        if ( parm11 > 0 )
        blend       add
        map         models/darkmod/props/textures/spotlight_harbour_001
        rgb         0.15 * parm11
    }



}


transformer_needle_a
{

    nonsolid
    noshadows

      {
     blend diffusemap
       map models/darkmod/props/textures/transformer_needle
       alphaTest 0.5
       rotate 0.015 * sintable [ time * 5 ]

        clamp
    }





}

transformer_needle_b
{

    nonsolid
    noshadows

      {
     blend diffusemap
       map models/darkmod/props/textures/transformer_needle
       alphaTest 0.5
       rotate 0.02 * sintable [ time * 4 ]

        clamp
    }

      



}

transformer_gauge
{
    surftype15

    description "metal"

		noshadows
    	forceOverlays
    	diffusemap    	models/darkmod/props/textures/transformer_gauge	

	{
		
	blend	add
		
	map	models/darkmod/props/textures/transformer_gauge
	rgb	.45
	}


    {
        if ( parm11 > 0 )
        blend       gl_dst_color, gl_one
        map         _white
        rgb         0.40 * parm11
    }
    {
        if ( parm11 > 0 )
        blend       add
        map         models/darkmod/props/textures/transformer_gauge	
        rgb         0.15 * parm11
    }


}

control_junction_001
{
    	surftype15
    	description "metal"

		noshadows
    	forceOverlays
		bumpmap         	models/darkmod/props/textures/control_junction_001_local
    	specularmap     	models/darkmod/props/textures/control_junction_001_s
		qer_editorimage 	models/darkmod/props/textures/control_junction_001_ed


	{
		blend diffusemap
		map      models/darkmod/props/textures/control_junction_001
		alphatest 0.5
	}

    {
        if ( parm11 > 0 )
        blend       gl_dst_color, gl_one
        map         _white
        rgb         0.40 * parm11
    }
    {
        if ( parm11 > 0 )
        blend       add
        map         models/darkmod/props/textures/control_junction_001
        rgb         0.15 * parm11
    }



}

arc_transformer_001
{
    	surftype15
    	description "metal"
		
		noshadows
    	forceOverlays
		bumpmap         models/darkmod/props/textures/arc_transformer_001_local
    	specularmap     models/darkmod/props/textures/arc_transformer_001_s
		qer_editorimage models/darkmod/props/textures/arc_transformer_001_ed


	{
		blend diffusemap
		map      models/darkmod/props/textures/arc_transformer_001
		alphatest 0.5
	}

    {
        if ( parm11 > 0 )
        blend       gl_dst_color, gl_one
        map         _white
        rgb         0.40 * parm11
    }
    {
        if ( parm11 > 0 )
        blend       add
        map         models/darkmod/props/textures/arc_transformer_001
        rgb         0.15 * parm11
    }



}

arc_transformer_002
{
    	surftype15
    	description "metal"

		noshadows
    	forceOverlays
		bumpmap         models/darkmod/props/textures/arc_transformer_002_local
    	specularmap     models/darkmod/props/textures/arc_transformer_002_s
		qer_editorimage models/darkmod/props/textures/arc_transformer_002_ed


	{
		blend diffusemap
		map      models/darkmod/props/textures/arc_transformer_002
		alphatest 0.5
	}

    {
        if ( parm11 > 0 )
        blend       gl_dst_color, gl_one
        map         _white
        rgb         0.40 * parm11
    }
    {
        if ( parm11 > 0 )
        blend       add
        map         models/darkmod/props/textures/arc_transformer_002
        rgb         0.15 * parm11
    }



}

wiring_set_001
{
    surftype15

    description "metal"

    qer_editorimage	models/darkmod/props/textures/wiring_set_001_ed

		noshadows
    	forceOverlays
    	bumpmap     	models/darkmod/props/textures/wiring_set_001_local
    	diffusemap    	models/darkmod/props/textures/wiring_set_001	
    	specularmap 	models/darkmod/props/textures/wiring_set_001_s

    {
        if ( parm11 > 0 )
        blend       gl_dst_color, gl_one
        map         _white
        rgb         0.40 * parm11
    }
    {
        if ( parm11 > 0 )
        blend       add
        map         models/darkmod/props/textures/wiring_set_001	
        rgb         0.15 * parm11
    }



}

charger_mast_001
{
    surftype15

    description "metal"

    qer_editorimage	models/darkmod/props/textures/charger_mast_001_ed

		noshadows
    	forceOverlays
    	bumpmap     	models/darkmod/props/textures/charger_mast_001_local
    	diffusemap    	models/darkmod/props/textures/charger_mast_001	
    	specularmap 	models/darkmod/props/textures/charger_mast_001_s

    {
        if ( parm11 > 0 )
        blend       gl_dst_color, gl_one
        map         _white
        rgb         0.40 * parm11
    }
    {
        if ( parm11 > 0 )
        blend       add
        map         models/darkmod/props/textures/charger_mast_001	
        rgb         0.15 * parm11
    }



}

charger_mast_002
{
    surftype15

    description "metal"

    //qer_editorimage	models/darkmod/props/textures/charger_mast_002_ed

		noshadows
    	forceOverlays
    	bumpmap     	models/darkmod/props/textures/charger_mast_002_local
    	diffusemap    	models/darkmod/props/textures/charger_mast_002	
		specularmap 	models/darkmod/props/textures/charger_mast_002_s

    {
        if ( parm11 > 0 )
        blend       gl_dst_color, gl_one
        map         _white
        rgb         0.40 * parm11
    }
    {
        if ( parm11 > 0 )
        blend       add
        map         models/darkmod/props/textures/charger_mast_002	
        rgb         0.15 * parm11
    }



}


charger_mast_003      //(brass skin)
{
    surftype15

    description "metal"



		noshadows
    	forceOverlays
    	bumpmap     	models/darkmod/props/textures/charger_mast_002_local
    	diffusemap    	models/darkmod/props/textures/charger_mast_003
		specularmap 	models/darkmod/props/textures/charger_mast_002_s

    {
        if ( parm11 > 0 )
        blend       gl_dst_color, gl_one
        map         _white
        rgb         0.40 * parm11
    }
    {
        if ( parm11 > 0 )
        blend       add
        map         models/darkmod/props/textures/charger_mast_003
        rgb         0.15 * parm11
    }



}



//		search	-----------	index
//-------------- Furnature ----------------
//				-----------


leather_chair_001
{
    	surftype15

    	description "carpet"

    	qer_editorimage	models/darkmod/props/textures/leather_chair_001_ed

		noshadows
    	bumpmap     	models/darkmod/props/textures/leather_chair_001_local
    	diffusemap    	models/darkmod/props/textures/leather_chair_001	
    	specularmap 	models/darkmod/props/textures/leather_chair_001_s

    {
        if ( parm11 > 0 )
        blend       gl_dst_color, gl_one
        map         _white
        rgb         0.40 * parm11
    }
    {
        if ( parm11 > 0 )
        blend       add
        map         models/darkmod/props/textures/leather_chair_001	
        rgb         0.15 * parm11
    }



}



leather_ottoman_001
{

    	surftype15

    	description "carpet"

    	qer_editorimage	models/darkmod/props/textures/leather_ottoman_001_ed

    	forceOverlays
    	bumpmap     	models/darkmod/props/textures/leather_ottoman_001_local
    	diffusemap    	models/darkmod/props/textures/leather_ottoman_001
    	specularmap 	models/darkmod/props/textures/leather_ottoman_001_s

    {
        if ( parm11 > 0 )
        blend       gl_dst_color, gl_one
        map         _white
        rgb         0.40 * parm11
    }
    {
        if ( parm11 > 0 )
        blend       add
        map         models/darkmod/props/textures/leather_ottoman_001	
        rgb         0.15 * parm11
    }



}

//		search	------------	 index
//-------------- Castle_Lab ----------------
//				------------

flagstone_floor_001
{

    	surftype15

    	stone

//   	qer_editorimage	models/darkmod/props/textures/flagstone_floor_001_ed

    	forceOverlays
    	bumpmap     	models/darkmod/props/textures/flagstone_floor_001_local
    	diffusemap    	models/darkmod/props/textures/flagstone_floor_001
//    	specularmap 

    {
        if ( parm11 > 0 )
        blend       gl_dst_color, gl_one
        map         _white
        rgb         0.40 * parm11
    }
    {
        if ( parm11 > 0 )
        blend       add
        map         models/darkmod/props/textures/flagstone_floor_001
        rgb         0.15 * parm11
    }



}

old_brick_wall_001
{

    	surftype15

    	stone

//   	qer_editorimage	models/darkmod/props/textures/old_brick_wall_001_ed

    	forceOverlays
    	bumpmap     	models/darkmod/props/textures/old_brick_wall_001_local
    	diffusemap    	models/darkmod/props/textures/old_brick_wall_001
//    	specularmap 

    {
        if ( parm11 > 0 )
        blend       gl_dst_color, gl_one
        map         _white
        rgb         0.40 * parm11
    }
    {
        if ( parm11 > 0 )
        blend       add
        map         models/darkmod/props/textures/old_brick_wall_001
        rgb         0.15 * parm11
    }



}

stone_staircase_001
{

    	surftype15

    	stone

//   	qer_editorimage	models/darkmod/props/textures/stone_staircase_001_ed

    	forceOverlays
    	bumpmap     	models/darkmod/props/textures/stone_staircase_001_local
    	diffusemap    	models/darkmod/props/textures/stone_staircase_001
//    	specularmap 

    {
        if ( parm11 > 0 )
        blend       gl_dst_color, gl_one
        map         _white
        rgb         0.40 * parm11
    }
    {
        if ( parm11 > 0 )
        blend       add
        map         models/darkmod/props/textures/stone_staircase_001
        rgb         0.15 * parm11
    }



}

stone_staircase_002
{

    	surftype15

    	stone

//   	qer_editorimage	models/darkmod/props/textures/stone_staircase_002_ed

    	forceOverlays
    	bumpmap     	models/darkmod/props/textures/stone_staircase_002_local
    	diffusemap    	models/darkmod/props/textures/stone_staircase_002
//    	specularmap 

    {
        if ( parm11 > 0 )
        blend       gl_dst_color, gl_one
        map         _white
        rgb         0.40 * parm11
    }
    {
        if ( parm11 > 0 )
        blend       add
        map         models/darkmod/props/textures/stone_staircase_002
        rgb         0.15 * parm11
    }



}

stone_arch_001
{

    	surftype15

    	description "stone"

//   	qer_editorimage	models/darkmod/props/textures/stone_arch_001_ed

    	forceOverlays
    	bumpmap     	models/darkmod/props/textures/stone_arch_001_local
    	diffusemap    	models/darkmod/props/textures/stone_arch_001
//    	specularmap 

    {
        if ( parm11 > 0 )
        blend       gl_dst_color, gl_one
        map         _white
        rgb         0.40 * parm11
    }
    {
        if ( parm11 > 0 )
        blend       add
        map         models/darkmod/props/textures/stone_arch_001
        rgb         0.15 * parm11
    }



}

wood_arch_001
{

    	surftype15

    	description "wood"

//   	qer_editorimage	models/darkmod/props/textures/wood_arch_001_ed

    	forceOverlays
    	bumpmap     	models/darkmod/props/textures/wood_arch_001_local
    	diffusemap    	models/darkmod/props/textures/wood_arch_001
//    	specularmap 

    {
        if ( parm11 > 0 )
        blend       gl_dst_color, gl_one
        map         _white
        rgb         0.40 * parm11
    }
    {
        if ( parm11 > 0 )
        blend       add
        map         models/darkmod/props/textures/wood_arch_001
        rgb         0.15 * parm11
    }



}

barred_window_001
{

    	surftype15 

		description "stone"

//   	qer_editorimage	models/darkmod/props/textures/barred_window_001_ed

    	forceOverlays
    	bumpmap     	models/darkmod/props/textures/barred_window_001_local
    	diffusemap    	models/darkmod/props/textures/barred_window_001
		specularmap 	models/darkmod/props/textures/barred_window_001_s

    {
        if ( parm11 > 0 )
        blend       gl_dst_color, gl_one
        map         _white
        rgb         0.40 * parm11
    }
    {
        if ( parm11 > 0 )
        blend       add
        map         models/darkmod/props/textures/barred_window_001
        rgb         0.15 * parm11
    }



}

barred_window_002
{

    	surftype15 
	
	description "metal"

//   	qer_editorimage	models/darkmod/props/textures/barred_window_001_ed

    	forceOverlays
		noshadows
    	bumpmap     	models/darkmod/props/textures/barred_window_001_local
    	diffusemap    	models/darkmod/props/textures/barred_window_001
		specularmap 	models/darkmod/props/textures/barred_window_001_s

    {
        if ( parm11 > 0 )
        blend       gl_dst_color, gl_one
        map         _white
        rgb         0.40 * parm11
    }
    {
        if ( parm11 > 0 )
        blend       add
        map         models/darkmod/props/textures/barred_window_001
        rgb         0.15 * parm11
    }



}

brick_wall_debris_001
{

    	surftype15

    	description "stone"

//   	qer_editorimage	models/darkmod/props/textures/brick_wall_debris_001_ed

    	forceOverlays
    	bumpmap     	models/darkmod/props/textures/brick_wall_debris_001_local
    	diffusemap    	models/darkmod/props/textures/brick_wall_debris_001
//    	specularmap 

    {
        if ( parm11 > 0 )
        blend       gl_dst_color, gl_one
        map         _white
        rgb         0.40 * parm11
    }
    {
        if ( parm11 > 0 )
        blend       add
        map         models/darkmod/props/textures/brick_wall_debris_001
        rgb         0.15 * parm11
    }



}

castle_dirt_001
{

    	surftype15 

		description "dirt"

//   	qer_editorimage	textures/terrain/castle_dirt_001_ed

    	forceOverlays
    	bumpmap     	textures/terrain/castle_dirt_001_local
    	diffusemap    	textures/terrain/castle_dirt_001
//    	specularmap 

    {
        if ( parm11 > 0 )
        blend       gl_dst_color, gl_one
        map         _white
        rgb         0.40 * parm11
    }
    {
        if ( parm11 > 0 )
        blend       add
        map         textures/terrain/castle_dirt_001
        rgb         0.15 * parm11
    }



}

//		search	-----------------------	index
//-------------- The Accountant Series ----------------
//				-----------------------

mining_cart_001
{

    	surftype15

   	metal

   	qer_editorimage	models/darkmod/props/textures/mining_cart_001_ed

    	forceOverlays
    	bumpmap     	models/darkmod/props/textures/mining_cart_001_local
    	diffusemap    	models/darkmod/props/textures/mining_cart_001
    	specularmap  	models/darkmod/props/textures/mining_cart_001_s

    {
        if ( parm11 > 0 )
        blend       gl_dst_color, gl_one
        map         _white
        rgb         0.40 * parm11
    }
    {
        if ( parm11 > 0 )
        blend       add
        map         models/darkmod/props/textures/mining_cart_001
        rgb         0.15 * parm11
    }



}

telescope_stand_001
{

    	surftype15 

	description "wood"

    	forceOverlays
    	bumpmap     	models/darkmod/props/textures/telescope_stand_001_local
    	diffusemap    	models/darkmod/props/textures/telescope_stand_001

    {
        if ( parm11 > 0 )
        blend       gl_dst_color, gl_one
        map         _white
        rgb         0.40 * parm11
    }
    {
        if ( parm11 > 0 )
        blend       add
        map         models/darkmod/props/textures/telescope_stand_001
        rgb         0.15 * parm11
    }



}

shower_enclosure_001
{

    	surftype15 

	description "tile"

    forceOverlays
	diffusemap    	models/darkmod/props/textures/shower_enclosure_001
    bumpmap     	models/darkmod/props/textures/shower_enclosure_001_local
	specularmap     models/darkmod/props/textures/shower_enclosure_001_s_001

    {
        if ( parm11 > 0 )
        blend       gl_dst_color, gl_one
        map         _white
        rgb         0.40 * parm11
    }
    {
        if ( parm11 > 0 )
        blend       add
        map         models/darkmod/props/textures/shower_enclosure_001
        rgb         0.15 * parm11
    }



}
tdm_epi_shader.mtr (21,543 bytes)   
nbohr1more

nbohr1more

17.02.2022 03:17

developer   ~0014733

Sorry. I tried the new material and it did not correct the issue for me.

Your material significantly diverges from SVN.

Please review the attached files and apply edits to them to ensure that they comply with your intended design.

Also, adding a wrinkle to this whole mess is that the Accountant 1 mission has it's own material defs that are split between different "epi" files.
Once SVN is corrected we can see about removing the override materials in the mission.

I understand that this might sound a bit tedious. Let me know if we can move this to 2.11 if you aren't ready to touch it.
nbohr1more

nbohr1more

18.02.2022 01:59

developer   ~0014736

Too many materials are in this def to modify at the last minute ( 2.10 Release Candidate is out ).

Too risky.

Moving to 2.11
stgatilov

stgatilov

17.12.2023 11:08

administrator   ~0016246

Fixed ac1 mission in svn rev 242 (deleted alphatest on bumpmap).
Core materials are already fixed, as noted above.

Note however that these materials were copied over to many other missions:
  nobleaffairs
  northdale1
  northdale2
  itb
  penny3
  painterswife
  seeking
  ac2
Perhaps we'll see the same issue there.
Perhaps not: I guess people copied the whole thing, they not necessarily use it.
stgatilov

stgatilov

17.12.2023 11:17

administrator   ~0016247

Should I apply the same change to all these missions without testing?

Issue History

Date Modified Username Field Change
21.07.2020 15:41 cabalistic New Issue
21.07.2020 15:41 cabalistic Status new => assigned
21.07.2020 15:41 cabalistic Assigned To => duzenko
21.07.2020 15:41 cabalistic File Added: ac1_2020-07-21_12.41.06.jpg
21.07.2020 16:26 duzenko Note Added: 0012665
21.07.2020 18:49 cabalistic Note Added: 0012666
22.07.2020 02:22 nbohr1more Note Added: 0012668
22.07.2020 07:09 duzenko Note Added: 0012670
22.07.2020 18:29 nbohr1more Note Added: 0012671
22.07.2020 19:06 duzenko Note Added: 0012672
30.08.2020 13:56 VanishedOne Note Added: 0012766
05.12.2020 13:02 stgatilov Assigned To duzenko =>
05.12.2020 13:02 stgatilov Target Version TDM 2.09 => TDM 2.10
05.12.2020 13:02 stgatilov Status assigned => acknowledged
27.02.2021 09:04 stgatilov Note Added: 0013734
27.02.2021 09:08 stgatilov Note Added: 0013735
28.02.2021 10:08 duzenko Note Added: 0013742
28.02.2021 14:37 VanishedOne Note Added: 0013744
01.02.2022 04:49 nbohr1more Note Added: 0014706
01.02.2022 05:28 Epifire Note Added: 0014707
16.02.2022 19:15 nbohr1more Note Added: 0014727
16.02.2022 20:52 Epifire Note Added: 0014729
16.02.2022 20:52 Epifire File Added: tdm_epi_shader_2.mtr
17.02.2022 03:11 nbohr1more Note Added: 0014732
17.02.2022 03:11 nbohr1more File Added: tdm_epi_shader_2-2.mtr
17.02.2022 03:11 nbohr1more File Added: tdm_epi_shader.mtr
17.02.2022 03:17 nbohr1more Note Added: 0014733
18.02.2022 01:59 nbohr1more Note Added: 0014736
18.02.2022 01:59 nbohr1more Target Version TDM 2.10 => TDM 2.11
05.12.2022 20:55 nbohr1more Target Version TDM 2.11 => TDM 2.12
05.12.2023 01:45 nbohr1more Target Version TDM 2.12 => TDM 2.13
17.12.2023 11:08 stgatilov Note Added: 0016246
17.12.2023 11:17 stgatilov Note Added: 0016247
17.12.2023 11:20 stgatilov Target Version TDM 2.13 => TDM 2.12
17.12.2023 11:20 stgatilov Assigned To => stgatilov
17.12.2023 11:20 stgatilov Status acknowledged => resolved
17.12.2023 11:20 stgatilov Resolution open => fixed
17.12.2023 11:20 stgatilov Fixed in Version => TDM 2.12