//
// Asura_MaterialFlags.h
//
// Created by Richard Rice - 11/02/2003
// 
// Copyright (C) 2003 Rebellion, All Rights Reserved.
//

#ifdef ASURA_USE_PRAGMA_ONCE
    #pragma once
#endif

#ifndef __ASURA_MATERIALFLAGS_H__
#define __ASURA_MATERIALFLAGS_H__

#define ASURA_MATERIAL_NONE -1

#define AsuraMaterialFlag_SelfIlluminate	0x00000001
#define AsuraMaterialFlag_Transparent		0x00000002
#define AsuraMaterialFlag_UseDetailMap		0x00000004
#define AsuraMaterialFlag_Reflective		0x00000080
#define AsuraMaterialFlag_FMV				0x00000100
#define AsuraMaterialFlag_FlowingWater	    0x00000200  // (MH - 13.09.2002) these are currently supported on PS2 
#define AsuraMaterialFlag_Waterfall	        0x00000400  // for GF2 - they might end up being project-specific.
#define AsuraMaterialFlag_SubdividePolygon  0x00000800  // Used on the water to indicate that extra subdivision should be done(RAR 24/09/02)
#define AsuraMaterialFlag_PS2AdditiveAlpha  0x00001000  // (MH - 17.10.2002) implicitly 8-bit alpha, draw in translucent pass with glowing alpha blend.
#define AsuraMaterialFlag_3dDecal			0x00002000  // alpha blend mode sets fully transparent pixels still to write to the Z-buffer.
#define AsuraMaterialFlag_RainSplashes		0x00004000
#define AsuraMaterialFlag_Specular_Soft     0x00008000
#define AsuraMaterialFlag_Specular_Sharp    0x00010000
#define AsuraMaterialFlag_AlphaDecal		0x00020000 // KJFL - poly is drawn using 'normal' transparency with z-write disabled
#define AsuraMaterialFlag_TextureAnim		0x00040000 // RAR - Flag gets set automatically if material has a texture animation.
#define AsuraMaterialFlag_DontRender		0x00080000 // RAR - Unlike the other don't render flags , this one is intended to be changed dynamically via texture anims
#define AsuraMaterialFlag_ParallaxMapping	0x00100000 // KJFL - denotes that parallax mapping should be used rather than just normal mapping
#define AsuraMaterialFlag_NoCollisions		0x00200000 // RAR 02/06/2006 - As with the don't render flag , this is intended for use by texture animations as a means for dynamically disabling collisions
#define AsuraMaterialFlag_IgnoreLOS			0x00400000 // RAR 02/06/2006 - Ditto for ignore LOS

#define AsuraMaterialFlag_AdReceiver		0x01000000 // DWW add reciver

#define AsuraMaterialFlagsToCopyFromTextureFlags (AsuraMaterialFlag_SelfIlluminate|\
													AsuraMaterialFlag_Transparent|\
													AsuraMaterialFlag_UseDetailMap|\
													AsuraMaterialFlag_Reflective|\
													AsuraMaterialFlag_FlowingWater|\
													AsuraMaterialFlag_Waterfall|\
													AsuraMaterialFlag_SubdividePolygon|\
													AsuraMaterialFlag_PS2AdditiveAlpha|\
													AsuraMaterialFlag_RainSplashes)




#endif //__ASURA_MATERIALFLAGS_H__
