home *** CD-ROM | disk | FTP | other *** search
/ MacFormat 2003 June / macformat-130.iso / mac / Reviewed⁄Demos / Spearhead Demo / demota / pak1.pk3 / scripts / common.shader < prev    next >
Encoding:
Text File  |  2002-10-21  |  15.8 KB  |  892 lines

  1. textures/common/blastmark3
  2. {
  3.     qer_keyword special
  4.     qer_keyword masked
  5.     surfaceparm metal
  6.     surfaceparm fence
  7.     qer_editorimage textures/common/blastmark3.tga
  8.     PolygonOffset
  9.     nopicmip
  10.     {
  11.         map textures/common/blastmark3.tga
  12.         depthWrite
  13.         alphaFunc GE128
  14.         nextbundle
  15.         map $lightmap
  16.     }
  17. }
  18.  
  19.  
  20. textures/common/black
  21. {
  22.     qer_keyword utility
  23.     surfaceparm nolightmap
  24.     surfaceparm rock
  25.     {
  26.         map textures/common/black.tga
  27.         blendFunc GL_ONE GL_ZERO
  28.     }
  29.  
  30. textures/common/vis
  31. {
  32.     qer_editorimage textures/common/vis.tga
  33.     qer_keyword utility
  34.     qer_nocarve
  35.     qer_trans .4
  36.     surfaceparm nolightmap
  37.     surfaceparm nodraw
  38.     surfaceparm noimpact
  39.     surfaceparm nonsolid
  40.     surfaceparm structural
  41. //    surfaceparm trans
  42.     surfaceparm hint
  43. }
  44.  
  45. textures/common/trigger
  46. {
  47.     qer_keyword utility
  48.     qer_nocarve
  49.     qer_trans .4
  50.     surfaceparm nodraw
  51.     surfaceparm rock
  52.  
  53. textures/common/rain
  54. {
  55.     qer_editorimage textures/common/rain.tga
  56.     qer_keyword utility
  57.     qer_nocarve
  58.     qer_trans .4
  59.     surfaceparm nodraw
  60. }
  61.  
  62. textures/common/origin
  63. {
  64.     qer_keyword utility
  65.     qer_nocarve
  66.     qer_trans .4
  67.     surfaceparm nodraw
  68.     surfaceparm nonsolid
  69.     surfaceparm origin
  70. }
  71.  
  72. textures/common/caulk
  73. {
  74.     qer_editorimage textures/common/caulk.tga // needed for recognition by the fence tracing system
  75.     qer_keyword utility
  76.     surfaceparm nodraw
  77.     surfaceparm nomarks
  78.     surfaceparm rock
  79. }
  80.  
  81. textures/common/sunblock
  82. {
  83.     qer_editorimage textures/common/sunblock.tga // needed for recognition by the fence tracing system
  84.     surfaceparm alphashadow
  85.     qer_keyword utility
  86.     surfaceparm nodraw
  87.     surfaceparm nomarks
  88.     surfaceparm trans    
  89. }
  90.  
  91. // For removing the sky entirely, mainly for fogged levels
  92. textures/common/caulksky
  93. {
  94.     qer_keyword utility
  95.     qer_keyword sky
  96.     surfaceparm nolightmap
  97.     surfaceparm noimpact
  98.     surfaceparm sky
  99.     skyParms env/idontexist 512 - 
  100. }
  101.  
  102. textures/common/caulkshadow
  103. {
  104.     qer_keyword utility
  105.     surfaceparm nodraw
  106.     surfaceparm castshadow
  107.     surfaceparm nomarks
  108.     surfaceparm nolightmap
  109. }
  110.  
  111. textures/common/nodraw
  112. {
  113.     qer_editorimage textures/common/nodraw.tga // needed for recognition by the fence tracing system
  114.     qer_keyword utility
  115.     qer_nocarve
  116. //    qer_trans .3
  117.         // made it trans again
  118.  
  119.     surfaceparm nodraw
  120.     surfaceparm nonsolid
  121.     surfaceparm trans
  122.     surfaceparm nomarks
  123.     surfaceparm noimpact
  124.  
  125. textures/common/patharea
  126. {
  127.     qer_editorimage textures/common/patharea.tga
  128.     qer_keyword utility
  129.     qer_nocarve
  130.     qer_trans .5
  131. }
  132.  
  133. textures/common/clip
  134. {
  135.     qer_keyword utility
  136.     qer_trans .4
  137.     surfaceparm nodamage
  138.     surfaceparm nodraw
  139.     surfaceparm noimpact
  140.     surfaceparm nonsolid
  141.     surfaceparm playerclip
  142.     surfaceparm monsterclip
  143. }
  144.  
  145. // for use as a collision volume for foliage
  146. textures/common/foliageclip
  147. {
  148.     qer_editorimage textures/common/foliageclip.tga
  149.     qer_keyword utility
  150.     qer_trans .4
  151.     surfaceparm foliage
  152.        surfaceparm nodraw
  153.     surfaceparm nomarks
  154.     surfaceparm nonsolid
  155.     surfaceparm shootonly // only collide with bullets
  156.     surfaceparm trans
  157. }
  158.  
  159. // for use as a collision volume for tree trunks & amodel wooden furniture
  160. textures/common/woodclip
  161. {
  162.     qer_editorimage textures/common/woodclip.tga
  163.     qer_keyword utility
  164.     qer_trans .4
  165.     surfaceparm wood
  166.     surfaceparm nodraw
  167.     surfaceparm trans
  168.     surfaceparm nomarks
  169.  
  170. // for use as a collision volume for paper (pretty useless!)(probably using this for cloth or cushion models, like beds or chairs)
  171. textures/common/paperclip
  172. {
  173.     qer_editorimage textures/common/paperclip.tga
  174.     qer_keyword utility
  175.     qer_trans .4
  176.     surfaceparm paper
  177.        surfaceparm nodraw
  178.     surfaceparm trans
  179.     surfaceparm nomarks
  180. }
  181.  
  182. // for use as a collision volume for metal
  183. textures/common/metalclip
  184. {
  185.     qer_editorimage textures/common/metalclip.tga
  186.     qer_keyword utility
  187.     qer_trans .4
  188.     surfaceparm metal
  189.        surfaceparm nodraw
  190.     surfaceparm trans
  191.     surfaceparm nomarks
  192.  
  193. // for use as a collision volume for tanks
  194. textures/common/tankclip
  195. {
  196.     qer_editorimage textures/common/tankclip.tga
  197.     qer_keyword utility
  198.     qer_trans .4
  199.     surfaceparm metal
  200.     surfaceparm nonsolid
  201.     surfaceparm playerclip
  202.     surfaceparm monsterclip
  203.     surfaceparm vehicleclip    
  204.     surfaceparm weaponclip
  205.        surfaceparm nodraw
  206.     surfaceparm nomarks
  207.  
  208. // for use as a collision volume for stone
  209. textures/common/stoneclip
  210. {
  211.     qer_editorimage textures/common/stoneclip.tga
  212.     qer_keyword utility
  213.     qer_trans .4
  214.     surfaceparm rock
  215.        surfaceparm nodraw
  216.     surfaceparm trans
  217.     surfaceparm nomarks
  218.  
  219. // for use as a collision volume for dirt
  220. textures/common/dirtclip
  221. {
  222.     qer_editorimage textures/common/dirtclip.tga
  223.     qer_keyword utility
  224.     qer_trans .4
  225.     surfaceparm dirt
  226.        surfaceparm nodraw
  227.     surfaceparm trans
  228.     surfaceparm nomarks
  229. }
  230.  
  231. // for use as a collision volume for mud
  232. textures/common/mudclip
  233. {
  234.     qer_editorimage textures/common/mudclip.tga
  235.     qer_keyword utility
  236.     qer_trans .4
  237.     surfaceparm dirt
  238.        surfaceparm nodraw
  239.     surfaceparm trans
  240.     surfaceparm nomarks
  241.  
  242. // for use as a collision volume for grill
  243. textures/common/grillclip
  244. {
  245.     qer_editorimage textures/common/grillclip.tga
  246.     qer_keyword utility
  247.     qer_trans .4
  248.     surfaceparm grill
  249.        surfaceparm nodraw
  250.     surfaceparm trans
  251.     surfaceparm nomarks
  252.     surfaceparm nonsolid
  253.     surfaceparm playerclip
  254.     surfaceparm monsterclip
  255.     surfaceparm vehicleclip    
  256.     surfaceparm weaponclip
  257.  
  258. // for use as a collision volume for barbwire bplane
  259. textures/common/bplaneclip
  260. {
  261.     qer_editorimage textures/models/items/bplane.tga
  262.     qer_keyword utility
  263. //    qer_trans .4
  264.     cull none
  265.     surfaceparm grill
  266.     surfaceparm fence
  267.     surfaceparm nonsolid
  268.     surfaceparm playerclip
  269.     surfaceparm monsterclip
  270.     surfaceparm vehicleclip    
  271.     surfaceparm weaponclip
  272.        surfaceparm nodraw
  273.     surfaceparm nomarks
  274.  
  275. // for use as a collision volume for barbwire bspindle
  276. textures/common/bspindleclip
  277. {
  278.     qer_editorimage textures/models/items/bspindle.tga
  279.     qer_keyword utility
  280. //    qer_trans .4
  281.     cull none
  282.     surfaceparm grill
  283.     surfaceparm fence
  284.     surfaceparm nonsolid
  285.     surfaceparm playerclip
  286.     surfaceparm monsterclip
  287.     surfaceparm vehicleclip    
  288.     surfaceparm weaponclip
  289.        surfaceparm nodraw
  290.     surfaceparm nomarks
  291.  
  292. // for use as a collision volume for hedgehogs
  293. textures/common/hedgehogclip
  294. {
  295.     qer_editorimage textures/models/items/hedgehog.tga
  296.     qer_keyword utility
  297. //    qer_trans .4
  298.     cull none
  299.     surfaceparm grill
  300.     surfaceparm fence
  301.     surfaceparm nonsolid
  302.     surfaceparm playerclip
  303.     surfaceparm monsterclip
  304.     surfaceparm vehicleclip    
  305.     surfaceparm weaponclip
  306.        surfaceparm nodraw
  307.     surfaceparm nomarks
  308.  
  309. // for use as a collision volume for grass
  310. textures/common/grassclip
  311. {
  312.     qer_editorimage textures/common/grassclip.tga
  313.     qer_keyword utility
  314.     qer_trans .4
  315.     surfaceparm grass
  316.        surfaceparm nodraw
  317.     surfaceparm trans
  318.     surfaceparm nomarks
  319.  
  320. // for use as a collision volume for puddle
  321. textures/common/puddleclip
  322. {
  323.     qer_editorimage textures/common/puddleclip.tga
  324.     qer_keyword utility
  325.     qer_trans .4
  326.     surfaceparm puddle
  327.        surfaceparm nodraw
  328.     surfaceparm trans
  329.     surfaceparm nomarks
  330.  
  331. // for use as a collision volume for glass
  332. textures/common/glassclip
  333. {
  334.     qer_editorimage textures/common/glassclip.tga
  335.     qer_keyword utility
  336.     qer_trans .4
  337.     surfaceparm glass
  338.        surfaceparm nodraw
  339.     surfaceparm trans
  340.     surfaceparm nomarks
  341.  
  342. // for use as a collision volume for gravel
  343. textures/common/gravelclip
  344. {
  345.     qer_editorimage textures/common/gravelclip.tga
  346.     qer_keyword utility
  347.     qer_trans .4
  348.     surfaceparm dirt
  349.        surfaceparm nodraw
  350.     surfaceparm trans
  351.     surfaceparm nomarks
  352.  
  353. // for use as a collision volume for sand
  354. textures/common/sandclip
  355. {
  356.     qer_editorimage textures/common/sandclip.tga
  357.     qer_keyword utility
  358.     qer_trans .4
  359.     surfaceparm dirt
  360.        surfaceparm nodraw
  361.     surfaceparm trans
  362.     surfaceparm nomarks
  363.  
  364. textures/common/snowclip
  365. {
  366.     qer_editorimage textures/common/snowclip.tga
  367.     qer_keyword utility
  368.     qer_trans .4
  369.     surfaceparm snow
  370.        surfaceparm nodraw
  371.     surfaceparm trans
  372.     surfaceparm nomarks
  373. }
  374.  
  375. textures/common/snowweaponclip
  376. {
  377.     qer_editorimage textures/common/snowweaponclip.tga
  378.     qer_keyword utility
  379.     qer_trans .4
  380.     surfaceparm snow
  381.        surfaceparm nodraw
  382.     surfaceparm trans
  383.     surfaceparm nomarks
  384.     surfaceparm nodamage
  385.     surfaceparm noimpact
  386.     surfaceparm nonsolid
  387.     surfaceparm weaponclip
  388. }
  389.  
  390.  
  391. // for use as a collision volume for carpet
  392. textures/common/carpetclip
  393. {
  394.     qer_editorimage textures/common/carpetclip.tga
  395.     qer_keyword utility
  396.     qer_trans .4
  397.     surfaceparm carpet
  398.        surfaceparm nodraw
  399.     surfaceparm trans
  400.     surfaceparm nomarks
  401. }
  402.  
  403. textures/common/monster
  404. {
  405.     qer_keyword utility
  406.     qer_trans .4
  407.     surfaceparm nodamage
  408.     surfaceparm nodraw
  409.     surfaceparm noimpact
  410.     surfaceparm nonsolid
  411.     surfaceparm monsterclip
  412. }
  413.  
  414. textures/common/playerclip
  415. {
  416.     qer_keyword utility
  417.     qer_trans .4
  418.     surfaceparm nodamage
  419.     surfaceparm nodraw
  420.     surfaceparm noimpact
  421.     surfaceparm nonsolid
  422.     surfaceparm playerclip
  423. }
  424.  
  425. textures/common/weapon
  426. {
  427.     qer_keyword utility
  428.     qer_trans .4
  429.     surfaceparm nodamage
  430.     surfaceparm nodraw
  431.     surfaceparm noimpact
  432.     surfaceparm nonsolid
  433.     surfaceparm weaponclip
  434. }
  435.  
  436. textures/common/clipall
  437. {
  438.     qer_keyword utility
  439.     qer_trans .4
  440.     surfaceparm nodamage
  441.     surfaceparm nodraw
  442.     surfaceparm noimpact
  443.     surfaceparm nonsolid
  444.     surfaceparm playerclip
  445.     surfaceparm monsterclip
  446.     surfaceparm vehicleclip    
  447.     surfaceparm weaponclip
  448. }
  449.  
  450. textures/common/hint
  451. {
  452.     qer_keyword utility
  453.     qer_nocarve
  454.     qer_trans .4
  455.     surfaceparm nodraw
  456.     surfaceparm noimpact
  457.     surfaceparm nonsolid
  458.     surfaceparm structural
  459. //    surfaceparm trans
  460.     surfaceparm hint
  461. }
  462.  
  463. textures/common/skip
  464. {
  465.     qer_keyword utility
  466.     qer_nocarve
  467.     qer_trans .4
  468.     surfaceparm nodraw
  469.     surfaceparm nonsolid
  470.     surfaceparm noimpact
  471. //    surfaceparm structural
  472.     surfaceparm trans    
  473. }
  474.  
  475. textures/common/waterskip
  476. {
  477.     qer_editorimage textures/common/skip.tga
  478.     qer_keyword utility
  479.     qer_nocarve
  480.     qer_trans .4
  481.     surfaceparm water
  482.     surfaceparm nodraw
  483.     surfaceparm noimpact
  484.     surfaceparm nonsolid
  485.     surfaceparm trans
  486. }
  487.  
  488. textures/common/areaportal
  489. {
  490.     qer_keyword utility
  491.     qer_nocarve
  492.     qer_trans .4
  493.     surfaceparm areaportal
  494.     surfaceparm nodraw
  495.     surfaceparm noimpact
  496.     surfaceparm nonsolid
  497.     surfaceparm structural
  498.     surfaceparm trans
  499.  
  500. textures/common/portal
  501. {
  502.     qer_keyword utility
  503.     qer_trans .4
  504.     surfaceparm nolightmap
  505.     portal
  506.     {
  507.         map textures/common/portal.tga
  508.         blendFunc GL_ZERO GL_ONE
  509.         depthWrite
  510.     }
  511. }
  512.  
  513. textures/common/light
  514. {
  515.     qer_keyword utility
  516.     qer_trans .4
  517.     surfaceparm nolightmap
  518.     surfaceColor 1 1 1
  519.     {
  520.         map textures/common/light.tga
  521.     }
  522. }
  523.  
  524. textures/common/ladder
  525. {
  526.     qer_keyword utility
  527.     qer_trans .4
  528.     surfaceparm nodraw
  529.     surfaceparm ladder
  530.         
  531.     {
  532.         map textures/common/ladder.tga
  533.     }
  534. }
  535.  
  536. textures/common/skyportal
  537. {
  538.     qer_keyword utility
  539.     surfaceparm nolightmap
  540.     surfaceparm sky
  541.     portalsky
  542.     {
  543.         map $whiteimage
  544.         blendFunc GL_ZERO GL_ONE
  545.         depthWrite
  546.     }
  547. }
  548.  
  549. textures/common/modelshader
  550. {
  551.     qer_keyword utility
  552.     qer_trans .4
  553.     surfaceparm nodraw
  554.     surfaceparm nolightmap
  555. }
  556.  
  557. // projectionShadow is used for cheap squashed model shadows
  558. projectionShadow
  559. {
  560.     polygonOffset
  561.     deformVertexes projectionShadow
  562.     {
  563.         map *white
  564.         blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
  565.         rgbGen constant 0 0 0
  566.         alphaGen entity
  567.     }
  568. }
  569.  
  570. // markShadow is the very cheap blurry blob underneat the player
  571. markShadow
  572. {
  573.     polygonOffset
  574.     {
  575.         map textures/common/shadow.tga
  576.         blendFunc GL_ZERO GL_ONE_MINUS_SRC_COLOR
  577.         rgbGen exactVertex
  578.     }
  579. }
  580.  
  581. beamshader
  582. {
  583.     surfaceparm nolightmap
  584.     sort additive
  585.     {
  586.         map $whiteimage
  587.         blendFunc add
  588.         rgbGen vertex
  589.         alphaGen vertex
  590.     }
  591. }
  592.  
  593. flatbeamshader
  594. {
  595.     surfaceparm nolightmap
  596.     {
  597.         map $whiteimage
  598.         blendFunc GL_ONE GL_ZERO
  599.         rgbGen vertex
  600.         alphaGen vertex
  601.     }
  602. }
  603.  
  604. flare
  605. {
  606.     cull none
  607.     {
  608.         map textures/sprites/flare.tga
  609.         blendFunc add
  610.         rgbGen vertex
  611.     }
  612. }
  613.  
  614. flareshader
  615. {
  616.     cull none
  617.     {
  618.         map textures/sprites/flare.tga
  619.         blendFunc add
  620.         rgbGen vertex
  621.     }
  622. }
  623.  
  624. textures/common/white_volumetric
  625. {
  626.     qer_editorimage textures/common/qer_volumetric_fade.tga
  627.     qer_keyword utility
  628.     qer_trans .4
  629.     surfaceparm nolightmap
  630.     surfaceparm nonsolid
  631.     surfaceparm trans
  632.     sort additive
  633.     cull none
  634.     {
  635.         map $whiteimage
  636.         blendFunc add
  637.         rgbGen constant .15 .15 .15
  638.     nextbundle
  639.         map textures/common/qer_volumetric_fade.tga
  640.     }
  641.     {
  642.         map textures/common/dust.tga
  643.         blendFunc add
  644.         rgbGen constant .2 .2 .2
  645.         tcMod scroll -.1 0
  646.         tcMod scale 4 4
  647.     nextbundle
  648.         map textures/common/qer_volumetric_fade.tga
  649.     }
  650. }
  651.  
  652. textures/common/adjustable_color
  653. {
  654.     qer_editorimage textures/common/white.tga
  655.     surfaceparm nolightmap
  656.     {
  657.         map $whiteimage
  658.         blendFunc GL_DST_COLOR GL_ZERO
  659.         rgbGen fromEntity
  660.     }
  661. }
  662.  
  663. textures/common/adjustable_volumetric
  664. {
  665.     qer_editorimage textures/common/qer_volumetric_fade.tga
  666.     qer_keyword utility
  667.     qer_trans .4
  668.     surfaceparm nolightmap
  669.     surfaceparm nonsolid
  670.     surfaceparm trans
  671.     cull none
  672.     sort additive
  673.     {
  674.         map textures/common/dust.tga
  675.         blendFunc add
  676.         rgbGen fromEntity
  677.         tcMod scroll .1 0
  678.         tcMod scale 2 2
  679.     nextbundle
  680.         map textures/common/qer_volumetric_fade.tga
  681.     }
  682.     {
  683.         map textures/common/dust.tga
  684.         blendFunc add
  685.         rgbGen fromEntity
  686.         tcMod scroll -.03 0
  687.         tcMod scale 4 4
  688.     nextbundle
  689.         map textures/common/qer_volumetric_fade.tga
  690.     }
  691. }
  692.  
  693. textures/common/adjustable_volumetric2
  694. {
  695.     qer_editorimage textures/common/qer_volumetric_fade.tga
  696.     qer_keyword utility
  697.     qer_trans .4    
  698.     surfaceparm nolightmap
  699.     surfaceparm nonsolid
  700.     surfaceparm trans
  701.     cull none
  702.     sort additive
  703.     {
  704.         map textures/common/volumetric_fade.tga
  705.         blendFunc add
  706.         rgbGen fromEntity
  707.     }
  708. }
  709.  
  710. textures/common/rope
  711. {
  712.     qer_editorimage textures/sprites/rope.tga
  713.     surfaceparm nolightmap
  714.     {
  715.         map textures/sprites/rope.tga
  716.     }
  717. }
  718.  
  719. blank
  720. {
  721.     {
  722.         map $whiteimage
  723.         rgbGen identity
  724.     }
  725. }
  726.  
  727. blank_spherical
  728. {
  729.     {
  730.         map $whiteimage
  731.         rgbGen lightingSpherical
  732.     }
  733. }
  734.  
  735. textures/common/blank_lightmap
  736. {
  737.     qer_editorimage textures/common/caulk.tga
  738.     {
  739.         map $whiteimage
  740.         nextbundle
  741.         map $lightmap
  742.     }
  743. }
  744.  
  745. textures/common/static_visible
  746. {
  747.     qer_editorimage textures/common/caulk.tga
  748.     surfaceparm nonsolid
  749.     {
  750.         map $whiteimage
  751.         blendfunc blend
  752. //        rgbGen const 1.0 1.0 1.0
  753.         alphaGen const 0.3
  754.         nextbundle
  755.         map $lightmap
  756.     }
  757. }
  758.  
  759. // for lighting test sphere
  760. blank_spherical_gray
  761. {
  762.     {
  763.         map $whiteimage
  764.         rgbGen lightingSpherical
  765.     }
  766.     {
  767.         map $whiteimage
  768.         rgbGen const .5 .5 .5
  769.         blendFunc filter
  770.     }
  771. }
  772. // for testing alphagen dot
  773. dotTest
  774. {
  775.     {
  776.         map $whiteimage
  777.         rgbGen identity
  778.         blendfunc blend
  779.         alphaGen dot 0 2
  780.     }
  781. }
  782. oneMinusDotTest
  783. {
  784.     {
  785.         map $whiteimage
  786.         rgbGen identity
  787.         blendfunc blend
  788.         alphaGen oneMinusDot 0 2
  789.     }
  790. }
  791.  
  792. static_blank
  793. {
  794.     {
  795.         map $whiteimage
  796.         rgbGen vertex
  797.     }
  798. }
  799. static_cullblank
  800. {
  801.      cull none
  802.     {
  803.         map $whiteimage
  804.         rgbGen vertex
  805.     }
  806. }
  807. textures/common/vehicleclip
  808. {
  809.     qer_editorimage textures/common/vehicleclip.tga
  810.     qer_keyword utility
  811.     qer_trans .4
  812.     surfaceparm nodamage
  813.     surfaceparm nodraw
  814.     surfaceparm noimpact
  815.     surfaceparm nonsolid
  816.     surfaceparm vehicleclip
  817.     surfaceparm nomarks
  818.     surfaceparm trans
  819. }
  820.  
  821. showgrid
  822. {
  823.     deformVertexes autosprite
  824.     cull none
  825.     {
  826.         map $whiteimage
  827.         rgbGen vertex
  828.     }
  829. }
  830.  
  831. textures/common/switchflat
  832. {
  833.     surfaceparm metal
  834.     {
  835.         map textures/common/switchflat.tga
  836.         depthWrite
  837.         rgbGen identity
  838.     }
  839.     {
  840.         map $lightmap
  841.         rgbGen identity
  842.         blendFunc GL_DST_COLOR GL_ZERO
  843.         depthFunc equal
  844.     }
  845.  
  846. textures/common/switchflat_pulse
  847. {
  848.     surfaceparm metal
  849.     {
  850.         map textures/common/switchflat.tga
  851.         depthWrite
  852.         rgbGen identity
  853.     }
  854.     { // pulsating layer
  855.         map textures/models/items/pulse.tga
  856.         blendFunc GL_SRC_ALPHA GL_ONE // this is an additive blend that uses alpha
  857.         rgbGen wave sin 0.25 0.25 0 0.75
  858.         //rgbGen wave sin 0.15 0.075 0 0.75
  859.         alphaGen distFade 1024 512 // this makes the pulsating fade when you go away from it
  860.     }
  861. }
  862.  
  863. //textures/notexture
  864. //{
  865. //    surfaceparm metal
  866. //    surfaceparm nodraw
  867. //    surfaceparm nolightmap
  868. //    {
  869. //        map textures/notexture.tga
  870. //        depthWrite
  871. //        rgbGen identity
  872. //    }
  873. //}