Nuclide
Software Development Kit for id Tech
materials.h File Reference

Go to the source code of this file.

Classes

struct  hlmaterials_lut
 hlmaterial to classname mapper table More...
 

Macros

#define SURF_NODAMAGE   0x1i
 
#define SURF_SLICK   0x2i
 
#define SURF_SKY   0x4i
 
#define SURF_LADDER   0x8i
 
#define SURF_NOIMPACT   0x10i
 
#define SURF_NOMARKS   0x20i
 
#define SURF_Q3FLESH   0x40i
 
#define SURF_NODRAW   0x80i
 
#define SURF_HINT   0x100i
 
#define SURF_SKIP   0x200i
 
#define SURF_NOLIGHTMAP   0x400i
 
#define SURF_POINTLIGHT   0x800i
 
#define SURF_METALSTEPS   0x1000i
 
#define SURF_NOSTEPS   0x2000i
 
#define SURF_NONSOLID   0x4000i
 
#define SURF_LIGHTFILTER   0x8000i
 
#define SURF_ALPHASHADOW   0x10000i
 
#define SURF_NODLIGHT   0x20000i
 
#define SURF_DUST   0x40000i
 
#define SURF_LEAKSTEAM   0x00080000i /* when shot, the material emits steam */
 
#define SURF_LEAKWATER   0x00100000i /* when shot, the material emits water */
 
#define SURF_RESERVED1   0x00200000i
 
#define SURF_RESERVED2   0x00400000i
 
#define SURF_RESERVED3   0x00800000i
 
#define SURF_RESERVED4   0x01000000i
 
#define SURF_RESERVED5   0x02000000i
 
#define SURF_RESERVED6   0x04000000i
 
#define SURF_PENETRATE   0x08000000i
 
#define SURF_MASK   0x0FFFFFFFi
 
#define SURF_ALIEN   0x10000000i
 
#define SURF_BLOODYFLESH   0x20000000i
 
#define SURF_FOLIAGE   0x30000000i
 
#define SURF_COMPUTER   0x40000000i
 
#define SURF_DIRT   0x50000000i
 
#define SURF_VENT   0x60000000i
 
#define SURF_GRATE   0x70000000i
 
#define SURF_METAL   0x80000000i
 
#define SURF_GLASS   0x90000000i
 
#define SURF_SAND   0xA0000000i
 
#define SURF_SLOSH   0xB0000000i
 
#define SURF_SNOW   0xC0000000i
 
#define SURF_TILE   0xD0000000i
 
#define SURF_WOOD   0xE0000000i
 
#define SURF_CONCRETE   0xF0000000i
 

Enumerations

enum  impactType_t {
  IMPACT_MELEE , IMPACT_EXPLOSION , IMPACT_DEFAULT , IMPACT_ALIEN ,
  IMPACT_COMPUTER , IMPACT_CONCRETE , IMPACT_DIRT , IMPACT_FLESH ,
  IMPACT_FOLIAGE , IMPACT_GLASS , IMPACT_GRATE , IMPACT_METAL ,
  IMPACT_SAND , IMPACT_SLOSH , IMPACT_SNOW , IMPACT_TILE ,
  IMPACT_VENT , IMPACT_WOOD
}
 
enum  materialType_t {
  GSMATERIAL_GLASS , GSMATERIAL_WOOD , GSMATERIAL_METAL , GSMATERIAL_FLESH ,
  GSMATERIAL_CINDER , GSMATERIAL_TILE , GSMATERIAL_COMPUTER , GSMATERIAL_GLASS_UNBREAKABLE ,
  GSMATERIAL_ROCK , GSMATERIAL_NONE
}
 

Functions

void Materials_Init (void)
 Initialize our material backbone. More...
 
string Materials_FixName (string old_name)
 

Variables

hashtable g_hashMaterials
 
hlmaterials_lutg_hlmlut
 
var int g_hlmlut_count
 
var int g_hlmaterial_entries
 
var bool g_materialsAreLegacy
 
string materials_file
 
const int CONTENTBIT_NONE = 0x00000000i
 
const int CONTENTBIT_SOLID = 0x00000001i
 
const int CONTENTBIT_UNUSED1 = 0x00000002i
 
const int CONTENTBIT_UNUSED2 = 0x00000004i
 
const int CONTENTBIT_LAVA = 0x00000008i
 
const int CONTENTBIT_SLIME = 0x00000010i
 
const int CONTENTBIT_WATER = 0x00000020i
 
const int CONTENTBIT_UNUSED3 = 0x00000040i
 
const int CONTENTBIT_GRENADECLIP = 0x00000080i
 
const int CONTENTBIT_UNUSED4 = 0x00000100i
 
const int CONTENTBIT_UNUSED5 = 0x00000200i
 
const int CONTENTBIT_UNUSED6 = 0x00000400i
 
const int CONTENTBIT_UNUSED7 = 0x00000800i
 
const int CONTENTBIT_UNUSED8 = 0x00001000i
 
const int CONTENTBIT_UNUSED9 = 0x00002000i
 
const int CONTENTBIT_FTELADDER = 0x00004000i
 
const int CONTENTBIT_VEHICLECLIP = 0x00008000i
 
const int CONTENTBIT_PLAYERCLIP = 0x00010000i
 
const int CONTENTBIT_MONSTERCLIP = 0x00020000i
 
const int CONTENTBIT_PROJECTILE = 0x00040000i
 
const int CONTENTBIT_UNUSED12 = 0x00080000i
 
const int CONTENTBIT_CLUSTERPORTAL = 0x00100000i
 
const int CONTENTBIT_DONOTENTER = 0x00200000i
 
const int CONTENTBIT_BOTCLIP = 0x00400000i
 
const int CONTENTBIT_MOVER = 0x00800000i
 
const int CONTENTBIT_UNUSED13 = 0x01000000i
 
const int CONTENTBIT_BODY = 0x02000000i
 
const int CONTENTBIT_CORPSE = 0x04000000i
 
const int CONTENTBIT_UNUSED14 = 0x08000000i
 
const int CONTENTBIT_UNUSED15 = 0x10000000i
 
const int CONTENTBIT_Q2LADDER = 0x20000000i
 
const int CONTENTBIT_UNUSED16 = 0x40000000i
 
const int CONTENTBIT_SKY = 0x80000000i
 
const int CONTENTBITS_MONSTER = CONTENTBIT_SOLID|CONTENTBIT_BODY|CONTENTBIT_MONSTERCLIP|CONTENTBIT_BOTCLIP
 

Macro Definition Documentation

◆ SURF_ALIEN

#define SURF_ALIEN   0x10000000i

◆ SURF_ALPHASHADOW

#define SURF_ALPHASHADOW   0x10000i

◆ SURF_BLOODYFLESH

#define SURF_BLOODYFLESH   0x20000000i

◆ SURF_COMPUTER

#define SURF_COMPUTER   0x40000000i

◆ SURF_CONCRETE

#define SURF_CONCRETE   0xF0000000i

◆ SURF_DIRT

#define SURF_DIRT   0x50000000i

◆ SURF_DUST

#define SURF_DUST   0x40000i

◆ SURF_FOLIAGE

#define SURF_FOLIAGE   0x30000000i

◆ SURF_GLASS

#define SURF_GLASS   0x90000000i

◆ SURF_GRATE

#define SURF_GRATE   0x70000000i

◆ SURF_HINT

#define SURF_HINT   0x100i

◆ SURF_LADDER

#define SURF_LADDER   0x8i

◆ SURF_LEAKSTEAM

#define SURF_LEAKSTEAM   0x00080000i /* when shot, the material emits steam */

◆ SURF_LEAKWATER

#define SURF_LEAKWATER   0x00100000i /* when shot, the material emits water */

◆ SURF_LIGHTFILTER

#define SURF_LIGHTFILTER   0x8000i

◆ SURF_MASK

#define SURF_MASK   0x0FFFFFFFi

◆ SURF_METAL

#define SURF_METAL   0x80000000i

◆ SURF_METALSTEPS

#define SURF_METALSTEPS   0x1000i

◆ SURF_NODAMAGE

#define SURF_NODAMAGE   0x1i

◆ SURF_NODLIGHT

#define SURF_NODLIGHT   0x20000i

◆ SURF_NODRAW

#define SURF_NODRAW   0x80i

◆ SURF_NOIMPACT

#define SURF_NOIMPACT   0x10i

◆ SURF_NOLIGHTMAP

#define SURF_NOLIGHTMAP   0x400i

◆ SURF_NOMARKS

#define SURF_NOMARKS   0x20i

◆ SURF_NONSOLID

#define SURF_NONSOLID   0x4000i

◆ SURF_NOSTEPS

#define SURF_NOSTEPS   0x2000i

◆ SURF_PENETRATE

#define SURF_PENETRATE   0x08000000i

◆ SURF_POINTLIGHT

#define SURF_POINTLIGHT   0x800i

◆ SURF_Q3FLESH

#define SURF_Q3FLESH   0x40i

◆ SURF_RESERVED1

#define SURF_RESERVED1   0x00200000i

◆ SURF_RESERVED2

#define SURF_RESERVED2   0x00400000i

◆ SURF_RESERVED3

#define SURF_RESERVED3   0x00800000i

◆ SURF_RESERVED4

#define SURF_RESERVED4   0x01000000i

◆ SURF_RESERVED5

#define SURF_RESERVED5   0x02000000i

◆ SURF_RESERVED6

#define SURF_RESERVED6   0x04000000i

◆ SURF_SAND

#define SURF_SAND   0xA0000000i

◆ SURF_SKIP

#define SURF_SKIP   0x200i

◆ SURF_SKY

#define SURF_SKY   0x4i

◆ SURF_SLICK

#define SURF_SLICK   0x2i

◆ SURF_SLOSH

#define SURF_SLOSH   0xB0000000i

◆ SURF_SNOW

#define SURF_SNOW   0xC0000000i

◆ SURF_TILE

#define SURF_TILE   0xD0000000i

◆ SURF_VENT

#define SURF_VENT   0x60000000i

◆ SURF_WOOD

#define SURF_WOOD   0xE0000000i

Enumeration Type Documentation

◆ impactType_t

Enumerator
IMPACT_MELEE 
IMPACT_EXPLOSION 
IMPACT_DEFAULT 
IMPACT_ALIEN 
IMPACT_COMPUTER 
IMPACT_CONCRETE 
IMPACT_DIRT 
IMPACT_FLESH 
IMPACT_FOLIAGE 
IMPACT_GLASS 
IMPACT_GRATE 
IMPACT_METAL 
IMPACT_SAND 
IMPACT_SLOSH 
IMPACT_SNOW 
IMPACT_TILE 
IMPACT_VENT 
IMPACT_WOOD 

◆ materialType_t

Enumerator
GSMATERIAL_GLASS 
GSMATERIAL_WOOD 
GSMATERIAL_METAL 
GSMATERIAL_FLESH 
GSMATERIAL_CINDER 
GSMATERIAL_TILE 
GSMATERIAL_COMPUTER 
GSMATERIAL_GLASS_UNBREAKABLE 
GSMATERIAL_ROCK 
GSMATERIAL_NONE 

Function Documentation

◆ Materials_FixName()

string Materials_FixName ( string  old_name)

◆ Materials_Init()

void Materials_Init ( void  )

Initialize our material backbone.

Variable Documentation

◆ CONTENTBIT_BODY

const int CONTENTBIT_BODY = 0x02000000i

◆ CONTENTBIT_BOTCLIP

const int CONTENTBIT_BOTCLIP = 0x00400000i

◆ CONTENTBIT_CLUSTERPORTAL

const int CONTENTBIT_CLUSTERPORTAL = 0x00100000i

◆ CONTENTBIT_CORPSE

const int CONTENTBIT_CORPSE = 0x04000000i

◆ CONTENTBIT_DONOTENTER

const int CONTENTBIT_DONOTENTER = 0x00200000i

◆ CONTENTBIT_FTELADDER

const int CONTENTBIT_FTELADDER = 0x00004000i

◆ CONTENTBIT_GRENADECLIP

const int CONTENTBIT_GRENADECLIP = 0x00000080i

◆ CONTENTBIT_LAVA

const int CONTENTBIT_LAVA = 0x00000008i

◆ CONTENTBIT_MONSTERCLIP

const int CONTENTBIT_MONSTERCLIP = 0x00020000i

◆ CONTENTBIT_MOVER

const int CONTENTBIT_MOVER = 0x00800000i

◆ CONTENTBIT_NONE

const int CONTENTBIT_NONE = 0x00000000i

◆ CONTENTBIT_PLAYERCLIP

const int CONTENTBIT_PLAYERCLIP = 0x00010000i

◆ CONTENTBIT_PROJECTILE

const int CONTENTBIT_PROJECTILE = 0x00040000i

◆ CONTENTBIT_Q2LADDER

const int CONTENTBIT_Q2LADDER = 0x20000000i

◆ CONTENTBIT_SKY

const int CONTENTBIT_SKY = 0x80000000i

◆ CONTENTBIT_SLIME

const int CONTENTBIT_SLIME = 0x00000010i

◆ CONTENTBIT_SOLID

const int CONTENTBIT_SOLID = 0x00000001i

◆ CONTENTBIT_UNUSED1

const int CONTENTBIT_UNUSED1 = 0x00000002i

◆ CONTENTBIT_UNUSED12

const int CONTENTBIT_UNUSED12 = 0x00080000i

◆ CONTENTBIT_UNUSED13

const int CONTENTBIT_UNUSED13 = 0x01000000i

◆ CONTENTBIT_UNUSED14

const int CONTENTBIT_UNUSED14 = 0x08000000i

◆ CONTENTBIT_UNUSED15

const int CONTENTBIT_UNUSED15 = 0x10000000i

◆ CONTENTBIT_UNUSED16

const int CONTENTBIT_UNUSED16 = 0x40000000i

◆ CONTENTBIT_UNUSED2

const int CONTENTBIT_UNUSED2 = 0x00000004i

◆ CONTENTBIT_UNUSED3

const int CONTENTBIT_UNUSED3 = 0x00000040i

◆ CONTENTBIT_UNUSED4

const int CONTENTBIT_UNUSED4 = 0x00000100i

◆ CONTENTBIT_UNUSED5

const int CONTENTBIT_UNUSED5 = 0x00000200i

◆ CONTENTBIT_UNUSED6

const int CONTENTBIT_UNUSED6 = 0x00000400i

◆ CONTENTBIT_UNUSED7

const int CONTENTBIT_UNUSED7 = 0x00000800i

◆ CONTENTBIT_UNUSED8

const int CONTENTBIT_UNUSED8 = 0x00001000i

◆ CONTENTBIT_UNUSED9

const int CONTENTBIT_UNUSED9 = 0x00002000i

◆ CONTENTBIT_VEHICLECLIP

const int CONTENTBIT_VEHICLECLIP = 0x00008000i

◆ CONTENTBIT_WATER

const int CONTENTBIT_WATER = 0x00000020i

◆ CONTENTBITS_MONSTER

◆ g_hashMaterials

hashtable g_hashMaterials

◆ g_hlmaterial_entries

var int g_hlmaterial_entries

◆ g_hlmlut

hlmaterials_lut* g_hlmlut

◆ g_hlmlut_count

var int g_hlmlut_count

◆ g_materialsAreLegacy

var bool g_materialsAreLegacy

◆ materials_file

string materials_file