home *** CD-ROM | disk | FTP | other *** search
/ Maximum CD 2002 August / maximum-cd-2002-08.iso / Software / Extras / Patches / QuakeIII / q3pointrelease_131.exe / Main / pak4.pk3 / scripts / gfx.shader
Encoding:
Text File  |  2000-09-14  |  23.2 KB  |  1,367 lines

  1. // GFX.SHADER
  2. // 
  3. // this file contains shaders that are used by the programmers to
  4. // generate special effects not attached to specific geometry.  This
  5. // also has 2D shaders such as fonts, etc.
  6. //
  7.  
  8. // the REGION shader is generated by the map editor on temporary
  9. // brushes around a selected area for testing parts of maps
  10. textures/REGION
  11. {
  12.     surfaceparm nolightmap
  13. }
  14.  
  15. // the background for the netgraph
  16. lagometer
  17. {
  18.     nopicmip
  19.     {
  20.         map gfx/2d/lag.tga
  21.     }
  22. }
  23.  
  24. // blinked on top of lagometer when connection is interrupted
  25. disconnected
  26. {
  27.     nopicmip
  28.     {
  29.         map gfx/2d/net.tga
  30.     }
  31. }
  32.  
  33. white
  34. {
  35.     {
  36.         map *white
  37.         blendfunc    GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
  38.         rgbgen vertex
  39.     }
  40. }
  41.  
  42. console
  43. {
  44.     nopicmip
  45.     nomipmaps
  46.     
  47.         {
  48.         map gfx/misc/console01.tga
  49.                 blendFunc GL_ONE GL_ZERO
  50.                 tcMod scroll .02  0
  51.                 tcmod scale 2 1
  52.     }
  53.         {
  54.                 map gfx/misc/console02.tga
  55.                 //map textures/sfx/firegorre3.tga
  56.                 blendFunc add
  57.                 tcMod turb 0 .1 0 .1
  58.                 tcMod scale 2 1
  59.                 tcmod scroll 0.2  .1
  60.     } 
  61.  
  62. }
  63.  
  64. menuback
  65. {
  66.     nopicmip
  67.     nomipmaps
  68.         //{
  69.         //        map textures/sfx/logo512.tga
  70.         //}
  71.  
  72.         //{
  73.         //        map textures/sfx/specular.tga
  74.          //       //blendfunc add
  75.         //        tcMod turb 0 .8 0 .2
  76.         //        tcmod scroll -.1  -.2
  77.     //} 
  78.          {
  79.                 map textures/sfx/logo512.tga
  80.                 // blendFunc blend
  81.                 rgbgen identity
  82.         }
  83.         //{
  84.     //    map textures/sfx/proto_zzzdrk.tga
  85.         //        blendFunc add
  86.         //        tcMod turb 0 .1 0 .9
  87.         //         tcmod scale .2 .2
  88.         //         tcMod scroll .02  0.7
  89.         //         rgbgen identity
  90.     //} 
  91.         
  92. }
  93. menubacknologo
  94. {
  95.     nopicmip
  96.     nomipmaps
  97.        
  98.         {
  99.                map gfx/colors/black.tga
  100.            //map textures/sfx/proto_zzzdrk.tga
  101.                // tcMod turb 0 .1 0 .9
  102.                // tcmod scale .2 .2
  103.                // tcMod scroll .02  0.7
  104.     } 
  105.         
  106. }
  107.  
  108. menubackRagePro    // blends turn to shit on rage pro, so skip it
  109. {
  110.     nopicmip
  111.     nomipmaps
  112.         {
  113.                 map textures/sfx/logo512.tga
  114.         }
  115.         
  116. }
  117.  
  118.  
  119. levelShotDetail
  120. // used to break up the blur on levelshots
  121. {
  122.     nopicmip
  123.     {
  124.         map textures/sfx/detail.tga
  125.         blendFunc GL_DST_COLOR GL_SRC_COLOR
  126.         rgbgen identity
  127.     }
  128. }
  129.  
  130. //
  131. // special effects as seen on players
  132. //
  133. powerups/battleSuit
  134. {
  135.     deformVertexes wave 100 sin 1 0 0 0
  136.     {
  137.         map textures/effects/envmapgold2.tga
  138.                 //map textures/sfx/specular.tga
  139.         tcGen environment
  140.         tcMod turb 0 0.15 0 0.3
  141.                 tcmod rotate 333
  142.                 tcmod scroll .3 .3
  143.         blendfunc GL_ONE GL_ONE
  144.     }
  145. }
  146. powerups/battleWeapon
  147. {
  148.     deformVertexes wave 100 sin 0.5 0 0 0
  149.     {
  150.         map textures/effects/envmapgold2.tga
  151.                 //map textures/sfx/specular.tga
  152.         tcGen environment
  153.         tcMod turb 0 0.15 0 0.3
  154.                 tcmod rotate 333
  155.                 tcmod scroll .3 .3
  156.         blendfunc GL_ONE GL_ONE
  157.     }
  158. }
  159.  
  160. powerups/invisibility
  161. {
  162.     {
  163.         map textures/effects/invismap.tga
  164.                 //map textures/sfx/specular.tga
  165.         blendfunc GL_ONE GL_ONE
  166.         tcMod turb 0 0.15 0 0.25
  167.         tcGen environment
  168.     }
  169. }
  170. powerups/quad
  171. {
  172.     deformVertexes wave 100 sin 3 0 0 0
  173.     {
  174.         map textures/effects/quadmap2.tga
  175.         blendfunc GL_ONE GL_ONE
  176.         tcGen environment
  177.                 tcmod rotate 30
  178.         //tcMod turb 0 0.2 0 .2
  179.                 tcmod scroll 1 .1
  180.     }
  181. }
  182. powerups/quadWeapon
  183. {
  184.     deformVertexes wave 100 sin 0.5 0 0 0
  185.     {
  186.         map textures/effects/quadmap2.tga
  187.         blendfunc GL_ONE GL_ONE
  188.         tcGen environment
  189.                 tcmod rotate 30
  190.         //tcMod turb 0 0.2 0 .2
  191.                 tcmod scroll 1 .1
  192.     }
  193. }
  194. powerups/regen
  195. {
  196.     deformVertexes wave 100 sin 3 0 0 0
  197.     {
  198.         map textures/effects/regenmap2.tga
  199.         blendfunc GL_ONE GL_ONE
  200.         tcGen environment
  201.                 tcmod rotate 30
  202.         //tcMod turb 0 0.2 0 .2
  203.                 tcmod scroll 1 .1
  204.     }
  205. }
  206.  
  207.  
  208. //=========================
  209.  
  210. //
  211. // holdable item icons
  212. //
  213. icons/teleporter
  214. {
  215.     nopicmip
  216.     {
  217.         map icons/teleporter.tga
  218.         blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
  219.     }
  220. }
  221. icons/medkit
  222. {
  223.     nopicmip
  224.     {
  225.         map icons/medkit.tga
  226.         blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
  227.     }
  228. }
  229.  
  230. //
  231. // powerup icons
  232. //
  233. icons/envirosuit
  234. {
  235.     nopicmip
  236.     {
  237.         map icons/envirosuit.tga
  238.         blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
  239.     }
  240. }
  241. icons/quad
  242. {
  243.     nopicmip
  244.     {
  245.         map icons/quad.tga
  246.         blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
  247.     }
  248. }
  249. icons/haste
  250. {
  251.     nopicmip
  252.     {
  253.         map icons/haste.tga
  254.         blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
  255.     }
  256. }
  257. icons/invis
  258. {
  259.     nopicmip
  260.     {
  261.         map icons/invis.tga
  262.         blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
  263.     }
  264. }
  265. icons/regen
  266. {
  267.     nopicmip
  268.     {
  269.         map icons/regen.tga
  270.         blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
  271.     }
  272. }
  273. icons/flight
  274. {
  275.     nopicmip
  276.     {
  277.         map icons/flight.tga
  278.         blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
  279.     }
  280. }
  281.  
  282.  
  283. // reward medals used in the game floating over client's heads
  284. medal_impressive
  285. {
  286.     nopicmip
  287.     {
  288.         clampmap menu/medals/medal_impressive.tga
  289.         blendFunc blend
  290.     }
  291. }
  292.  
  293. medal_excellent
  294. {
  295.     nopicmip
  296.     {
  297.         clampmap menu/medals/medal_excellent.tga
  298.         blendFunc blend
  299.     }
  300. }
  301.  
  302. medal_gauntlet
  303. {
  304.     nopicmip
  305.     {
  306.         clampmap menu/medals/medal_gauntlet.tga
  307.         blendFunc blend
  308.     }
  309. }
  310.  
  311. medal_assist
  312. {
  313.     nopicmip
  314.     {
  315.         clampmap menu/medals/medal_assist.tga
  316.         blendFunc blend
  317.     }
  318. }
  319.  
  320. medal_defend
  321. {
  322.     nopicmip
  323.     {
  324.         clampmap menu/medals/medal_defend.tga
  325.         blendFunc blend
  326.     }
  327. }
  328.  
  329.  
  330.  
  331. //
  332. // weapon icons
  333. //
  334. icons/iconw_gauntlet
  335. {
  336.     nopicmip
  337.     {
  338.         map icons/iconw_gauntlet.tga
  339.         blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
  340.     }
  341. }
  342. icons/iconw_machinegun
  343. {
  344.     nopicmip
  345.     {
  346.         map icons/iconw_machinegun.tga
  347.         blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
  348.     }
  349. }
  350. icons/iconw_rocket
  351. {
  352.     nopicmip
  353.     {
  354.         map icons/iconw_rocket.tga
  355.         blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
  356.     }
  357. }
  358.  
  359. icons/iconw_shotgun
  360. {
  361.     nopicmip
  362.     {
  363.         map icons/iconw_shotgun.tga
  364.         blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
  365.         rgbgen identitylighting
  366.     }
  367. }
  368.  
  369. icons/iconw_grenade
  370. {
  371.     nopicmip
  372.     {
  373.         map icons/iconw_grenade.tga
  374.         blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
  375.     }
  376. }
  377.  
  378. icons/iconw_lightning
  379. {
  380.     nopicmip
  381.     {
  382.         map icons/iconw_lightning.tga
  383.         blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
  384.     }
  385. }
  386.  
  387. icons/iconw_plasma
  388. {
  389.     nopicmip
  390.     {
  391.         map icons/iconw_plasma.tga
  392.         blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
  393.     }
  394. }
  395.  
  396. icons/iconw_railgun
  397. {
  398.     nopicmip
  399.     {
  400.         map icons/iconw_railgun.tga
  401.         blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
  402.     }
  403. }
  404.  
  405. icons/iconw_bfg
  406. {
  407.     nopicmip
  408.     {
  409.         map icons/iconw_bfg.tga
  410.         blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
  411.     }
  412. }
  413.  
  414. icons/iconw_grapple
  415. {
  416.     nopicmip
  417.     {
  418.         map icons/iconw_grapple.tga
  419.         blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
  420.     }
  421. }
  422.  
  423. //
  424. // ammo icons
  425. //
  426. icons/icona_machinegun
  427. {
  428.     nopicmip
  429.     {
  430.         map icons/icona_machinegun.tga
  431.         blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
  432.     }
  433. }
  434. icons/icona_rocket
  435. {
  436.     nopicmip
  437.     {
  438.         map icons/icona_rocket.tga
  439.         blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
  440.     }
  441. }
  442.  
  443. icons/icona_shotgun
  444. {
  445.     nopicmip
  446.     {
  447.         map icons/icona_shotgun.tga
  448.         blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
  449.         rgbgen identitylighting
  450.     }
  451. }
  452.  
  453. icons/icona_grenade
  454. {
  455.     nopicmip
  456.     {
  457.         map icons/icona_grenade.tga
  458.         blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
  459.     }
  460. }
  461.  
  462. icons/icona_lightning
  463. {
  464.     nopicmip
  465.     {
  466.         map icons/icona_lightning.tga
  467.         blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
  468.     }
  469. }
  470.  
  471. icons/icona_plasma
  472. {
  473.     nopicmip
  474.     {
  475.         map icons/icona_plasma.tga
  476.         blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
  477.     }
  478. }
  479.  
  480. icons/icona_railgun
  481. {
  482.     nopicmip
  483.     {
  484.         map icons/icona_railgun.tga
  485.         blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
  486.     }
  487. }
  488.  
  489. icons/icona_bfg
  490. {
  491.     nopicmip
  492.     {
  493.         map icons/icona_bfg.tga
  494.         blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
  495.     }
  496. }
  497.  
  498.  
  499. //
  500. // armor icons
  501. //
  502. icons/iconr_shard
  503. {
  504.     nopicmip
  505.     {
  506.         map icons/iconr_shard.tga
  507.         blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
  508.     }
  509. }
  510.  
  511. icons/iconr_yellow
  512. {
  513.     nopicmip
  514.     {
  515.         map icons/iconr_yellow.tga
  516.         blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
  517.     }
  518. }
  519.  
  520. icons/iconr_red
  521. {
  522.     nopicmip
  523.     {
  524.         map icons/iconr_red.tga
  525.         blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
  526.     }
  527. }
  528.  
  529. //
  530. // health icons
  531. //
  532. icons/iconh_green
  533. {
  534.     nopicmip
  535.     {
  536.         map icons/iconh_green.tga
  537.         blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
  538.     }
  539. }
  540.  
  541. icons/iconh_yellow
  542. {
  543.     nopicmip
  544.     {
  545.         map icons/iconh_yellow.tga
  546.         blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
  547.     }
  548. }
  549.  
  550. icons/iconh_red
  551. {
  552.     nopicmip
  553.     {
  554.         map icons/iconh_red.tga
  555.         blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
  556.     }
  557.         //{
  558.     //    clampmap icons/iconh_red2.tga
  559.     //    blendFunc blend
  560.         //        tcMod stretch sin .04 1 0 1
  561.     //}
  562. }
  563.  
  564. icons/iconh_mega
  565. {
  566.     nopicmip
  567.     {
  568.         map icons/iconh_mega.tga
  569.         blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
  570.     }
  571. }
  572.  
  573. //
  574. // CTF icons
  575. //
  576. icons/iconf_red
  577. {
  578.     nopicmip
  579.     {
  580.         map icons/iconf_red.tga
  581.         blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
  582.     }
  583. }
  584.  
  585. icons/iconf_blu
  586. {
  587.     nopicmip
  588.     {
  589.         map icons/iconf_blu.tga
  590.         blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
  591.     }
  592. }
  593.  
  594.  
  595. //===================================================
  596.  
  597. gfx/2d/menuinfo
  598. {
  599.     nopicmip
  600.     {
  601.         map gfx/2d/menuinfo.tga
  602.     }
  603. }
  604.  
  605. gfx/2d/menuinfo2
  606. {
  607.     nopicmip
  608.     {
  609.         map gfx/2d/menuinfo2.tga
  610.     }
  611. }
  612.  
  613. gfx/2d/quit
  614. {
  615.     nopicmip
  616.     nomipmaps
  617.     {
  618.         map gfx/2d/quit.tga
  619.     }
  620. }
  621.  
  622. gfx/2d/cursor
  623. {
  624.     nopicmip
  625.     nomipmaps
  626.     {
  627.         map gfx/2d/cursor.tga
  628.     }
  629. }
  630.  
  631. //==========================================================================
  632.  
  633.  
  634. sprites/balloon3
  635. {
  636.     {
  637.         map sprites/balloon4.tga
  638.         blendfunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
  639.     }
  640. }
  641.  
  642. // this is an example of a crossfaded animation cycle
  643. textures/animationTest
  644. {
  645.     qer_editorimage    textures/liquids/bloodwater1.tga
  646.     {
  647.         animMap 0.5 textures/liquids/bloodwater1.tga textures/liquids/pool.tga textures/liquids/slime7.tga
  648.     }    
  649.     {
  650.         animMap 0.5 textures/liquids/pool.tga textures/liquids/slime7.tga textures/liquids/bloodwater1.tga
  651.         blendFunc    GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
  652.         alphaGen    wave sawtooth 0 1 0 0.5
  653.     }    
  654.     {
  655.         map $lightmap
  656.         blendFunc GL_DST_COLOR GL_ZERO
  657.     }
  658. }
  659.  
  660. teleportEffect
  661. {
  662.     cull none
  663.     {
  664.         map gfx/misc/teleportEffect2.tga
  665.                 blendFunc GL_ONE GL_ONE
  666.         rgbGen entity
  667.         tcMod scale 1 4
  668.         tcMod scroll 0 2
  669.     }
  670. }
  671.  
  672. // markShadow is the very cheap blurry blob underneat the player
  673. markShadow
  674. {
  675.     polygonOffset
  676.     {
  677.         map gfx/damage/shadow.tga
  678.         blendFunc GL_ZERO GL_ONE_MINUS_SRC_COLOR
  679.         rgbGen exactVertex
  680.     }    
  681. }
  682.  
  683. // projectionShadow is used for cheap squashed model shadows
  684. projectionShadow
  685. {
  686.     polygonOffset
  687.     deformVertexes projectionShadow
  688.     {
  689.         map            *white
  690.         blendFunc GL_ONE GL_ZERO
  691.         rgbGen wave square 0 0 0 0                // just solid black
  692.     }    
  693. }
  694.  
  695.  
  696. // wake is the mark on water surfaces for paddling players
  697. wake
  698. {
  699.     {
  700.         clampmap sprites/splash.tga
  701.         blendFunc GL_ONE GL_ONE
  702.         rgbGen vertex
  703.                 tcmod rotate 250
  704.                 tcMod stretch sin .9 0.1 0 0.7
  705.         rgbGen wave sin .7 .3 .25 .5
  706.     }    
  707.         {
  708.         clampmap sprites/splash.tga
  709.         blendFunc GL_ONE GL_ONE
  710.         rgbGen vertex
  711.                 tcmod rotate -230
  712.                 tcMod stretch sin .9 0.05 0 0.9
  713.         rgbGen wave sin .7 .3 .25 .4
  714.     }    
  715. }
  716.  
  717.  
  718. // viewBloodBlend gives the blended directional cue when you get hit
  719. viewBloodBlend
  720. {
  721.     sort    nearest
  722.     {
  723.         //map models/weaphits/blood201.tga
  724.                 map gfx/damage/blood_screen.tga
  725.         blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
  726.         rgbGen identityLighting
  727.         alphaGen vertex
  728.     }
  729. }
  730.  
  731. waterBubble
  732. {
  733.     sort    underwater
  734.     cull none
  735.     entityMergable        // allow all the sprites to be merged together
  736.     {
  737.         map sprites/bubble.tga
  738.         blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
  739.         rgbGen        vertex
  740.         alphaGen    vertex
  741.     }
  742. }
  743.  
  744. smokePuff
  745. {
  746.     cull none
  747.     entityMergable        // allow all the sprites to be merged together
  748.     {
  749.         map gfx/misc/smokepuff3.tga
  750.         blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
  751.         rgbGen        vertex
  752.         alphaGen    vertex
  753.     }
  754. }
  755.  
  756. hasteSmokePuff            // drops behind player's feet when speeded
  757. {
  758.     cull none
  759.     entityMergable        // allow all the sprites to be merged together
  760.     {
  761.         map gfx/misc/smokepuff3.tga
  762.         blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
  763.                 //blendfunc GL_ONE GL_ONE
  764.         rgbGen        vertex
  765.         alphaGen    vertex
  766.     }
  767. }
  768.  
  769. smokePuffRagePro
  770. {
  771.     cull none
  772.     entityMergable        // allow all the sprites to be merged together
  773.     {
  774.         map gfx/misc/smokepuffragepro.tga
  775.         blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
  776.     }
  777. }
  778.  
  779. shotgunSmokePuff
  780. {
  781.     cull none
  782.     {
  783.         map gfx/misc/smokepuff2b.tga
  784.         blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
  785.         alphaGen entity        
  786.         rgbGen entity
  787.     }
  788. }
  789.  
  790. flareShader
  791. {
  792.     cull none
  793.     {
  794.         map gfx/misc/flare.tga
  795.         blendFunc GL_ONE GL_ONE
  796.         rgbGen vertex
  797.     }
  798. }
  799. sun
  800. {
  801.     cull none
  802.     {
  803.         map gfx/misc/sun.tga
  804.         blendFunc GL_ONE GL_ONE
  805.         rgbGen vertex
  806.     }
  807. }
  808. railDisc
  809. {
  810.     sort nearest
  811.     cull none
  812.         deformVertexes wave 100 sin 0 .5 0 2.4
  813.     {
  814.         clampmap gfx/misc/raildisc_mono2.tga 
  815.         blendFunc GL_ONE GL_ONE
  816.         rgbGen vertex
  817.                  tcMod rotate -30
  818.     }
  819. }
  820.  
  821. railCore
  822. {
  823.     sort nearest
  824.     cull none
  825.     {
  826.         map gfx/misc/railcorethin_mono.tga
  827.         blendFunc GL_ONE GL_ONE
  828.         rgbGen vertex
  829.         tcMod scroll -1 0
  830.     }
  831. }
  832.  
  833. lightningBolt
  834. {
  835.     cull none
  836.     {
  837.         map gfx/misc/lightning3.tga
  838.         blendFunc GL_ONE GL_ONE
  839. //                rgbgen wave sin 1 5.1 0 7.1
  840.                 rgbgen wave sin 1 0.5 0 7.1
  841.                  tcmod scale  2 1
  842.         tcMod scroll -5 0
  843.     }
  844.     {
  845.         map gfx/misc/lightning3.tga
  846.         blendFunc GL_ONE GL_ONE
  847. //                rgbgen wave sin 1 8.3 0 8.1
  848.                 rgbgen wave sin 1 0.8 0 8.1
  849.                 tcmod scale  -1.3 -1
  850.         tcMod scroll -7.2 0
  851.     }
  852. }
  853.  
  854. // shader used on the occasional machinegun bullet tracers
  855. gfx/misc/tracer
  856. {
  857.     cull none
  858.     {
  859.         map    gfx/misc/tracer2.tga
  860.         blendFunc GL_ONE GL_ONE
  861.     }
  862. }
  863.  
  864. //
  865. // wall marks
  866. // use blendFunc GL_ZERO GL_ONE_MINUS_SRC_COLOR so that
  867. // their "contribution" can be damped down in fog volumes
  868. // with distance
  869. bloodMark
  870. {
  871.     nopicmip            // make sure a border remains
  872.     polygonOffset
  873.     {
  874.         clampmap gfx/damage/blood_stain.tga
  875.         blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
  876.         rgbGen identityLighting
  877.         alphaGen vertex
  878.     }
  879. }
  880.  
  881. bloodTrail
  882. {
  883.         
  884.     nopicmip            // make sure a border remains
  885.     entityMergable        // allow all the sprites to be merged together
  886.     {
  887.         //clampmap gfx/misc/blood.tga
  888.                 clampmap gfx/damage/blood_spurt.tga
  889.         blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
  890.         rgbGen        vertex
  891.         alphaGen    vertex
  892.     }
  893. }
  894.  
  895. gfx/damage/bullet_mrk
  896. {
  897.     polygonOffset
  898.     {
  899.         map gfx/damage/bullet_mrk.tga
  900.         blendFunc GL_ZERO GL_ONE_MINUS_SRC_COLOR
  901.         rgbGen exactVertex
  902.     }
  903. }
  904. gfx/damage/burn_med_mrk
  905. {
  906.     polygonOffset
  907.     {
  908.         map gfx/damage/burn_med_mrk.tga
  909.         blendFunc GL_ZERO GL_ONE_MINUS_SRC_COLOR
  910.         rgbGen exactVertex
  911.     }
  912. }
  913. gfx/damage/hole_lg_mrk
  914. {
  915.     polygonOffset
  916.     {
  917.         map gfx/damage/hole_lg_mrk.tga
  918.         blendFunc GL_ZERO GL_ONE_MINUS_SRC_COLOR
  919.         rgbGen exactVertex
  920.     }
  921. }
  922. gfx/damage/plasma_mrk
  923. {
  924.     polygonOffset
  925.     {
  926.         map gfx/damage/plasma_mrk.tga
  927.         blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
  928.         rgbGen vertex
  929.         alphaGen vertex
  930.     }
  931. }
  932.  
  933.  
  934. //===============================================================
  935.  
  936. // scoreboard header tabs
  937.  
  938. scoreboardName
  939. {
  940.     nopicmip
  941.     nomipmaps
  942.     {
  943.         clampmap menu/tab/name.tga
  944.         blendfunc blend
  945.     }
  946. }
  947.  
  948. scoreboardScore
  949. {
  950.     nopicmip
  951.     nomipmaps
  952.     {
  953.         clampmap menu/tab/score.tga
  954.         blendfunc blend
  955.     }
  956. }
  957.  
  958. scoreboardTime
  959. {
  960.     nopicmip
  961.     nomipmaps
  962.     {
  963.         clampmap menu/tab/time.tga
  964.         blendfunc blend
  965.     }
  966. }
  967.  
  968. scoreboardPing
  969. {
  970.     nopicmip
  971.     nomipmaps
  972.     {
  973.         clampmap menu/tab/ping.tga
  974.         blendfunc blend
  975.     }
  976. }
  977.  
  978. //===============================================================
  979.  
  980. gfx/2d/crosshair
  981. {
  982.     nopicmip
  983.     {
  984.         map gfx/2d/crosshair.tga          
  985.         blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA                
  986.         rgbGen identity
  987.     }
  988. }
  989.  
  990. gfx/2d/crosshairb
  991. {
  992.     nopicmip
  993.     {
  994.         map gfx/2d/crosshairb.tga
  995.         blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
  996.         rgbGen identity
  997.     }
  998. }
  999.  
  1000. gfx/2d/crosshairc
  1001. {
  1002.     nopicmip
  1003.     {
  1004.         map gfx/2d/crosshairc.tga
  1005.         blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
  1006.         rgbGen identity
  1007.     }
  1008. }
  1009.  
  1010. gfx/2d/crosshaird
  1011. {
  1012.     nopicmip
  1013.     {
  1014.         map gfx/2d/crosshaird.tga
  1015.         blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
  1016.         rgbGen identity
  1017.     }
  1018. }
  1019.  
  1020. gfx/2d/crosshaire
  1021. {
  1022.     nopicmip
  1023.     {
  1024.         map gfx/2d/crosshaire.tga
  1025.         blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
  1026.         rgbGen identity
  1027.     }
  1028. }
  1029.  
  1030. gfx/2d/crosshairf
  1031. {
  1032.     nopicmip
  1033.     {
  1034.         map gfx/2d/crosshairf.tga
  1035.         blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
  1036.         rgbGen identity
  1037.     }
  1038. }
  1039.  
  1040. gfx/2d/crosshairg
  1041. {
  1042.     nopicmip
  1043.     {
  1044.         map gfx/2d/crosshairg.tga
  1045.         blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
  1046.         rgbGen identity
  1047.     }
  1048. }
  1049.  
  1050. gfx/2d/crosshairh
  1051. {
  1052.     nopicmip
  1053.     {
  1054.         map gfx/2d/crosshairh.tga
  1055.         blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
  1056.         rgbGen identity
  1057.     }
  1058. }
  1059.  
  1060. gfx/2d/crosshairi
  1061. {
  1062.     nopicmip
  1063.     {
  1064.         map gfx/2d/crosshairi.tga
  1065.         blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
  1066.         rgbGen identity
  1067.     }
  1068.  
  1069. }
  1070. gfx/2d/crosshairj
  1071. {
  1072.     nopicmip
  1073.     {
  1074.         map gfx/2d/crosshairj.tga       
  1075.         blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
  1076.         rgbGen identity
  1077.     }
  1078. }
  1079. gfx/2d/crosshairk
  1080. {
  1081.     nopicmip
  1082.     {
  1083.         map gfx/2d/crosshairk.tga       
  1084.         blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
  1085.         rgbGen identity
  1086.     }
  1087. }
  1088.  
  1089.  
  1090.  
  1091.  
  1092. gfx/2d/bigchars
  1093. {
  1094.     nopicmip
  1095.     nomipmaps
  1096.     {
  1097.         map gfx/2d/bigchars.tga
  1098.         blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
  1099.         rgbgen vertex
  1100.     }
  1101. }
  1102. gfx/2d/select
  1103. {
  1104.     nopicmip
  1105.     {
  1106.         map gfx/2d/select.tga
  1107.         blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
  1108.         rgbGen identity
  1109.         rgbgen vertex
  1110.     }
  1111. }
  1112.  
  1113.  
  1114. gfx/2d/assault1d
  1115. {
  1116.     nopicmip
  1117.     {
  1118.         map gfx/2d/assault1d.tga
  1119.         blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
  1120.     }
  1121. }
  1122. gfx/2d/armor1h
  1123. {
  1124.     nopicmip
  1125.     {
  1126.         map gfx/2d/armor1h.tga
  1127.         blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
  1128.     }
  1129. }
  1130. gfx/2d/health
  1131. {
  1132.     nopicmip
  1133.     {
  1134.         map gfx/2d/health.tga
  1135.         blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
  1136.     }
  1137. }
  1138. gfx/2d/blank
  1139. {
  1140.     nopicmip
  1141.     {
  1142.         map gfx/2d/blank.tga
  1143.         blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
  1144.     }
  1145. }
  1146. gfx/2d/numbers/zero_32b
  1147. {
  1148.     nopicmip
  1149.     {
  1150.         map gfx/2d/numbers/zero_32b.tga
  1151.         blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
  1152.         rgbgen vertex
  1153.     }
  1154. }
  1155. gfx/2d/numbers/one_32b
  1156. {
  1157.     nopicmip
  1158.     {
  1159.         map gfx/2d/numbers/one_32b.tga
  1160.         blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
  1161.         rgbgen vertex
  1162.     }
  1163. }
  1164. gfx/2d/numbers/two_32b
  1165. {
  1166.     nopicmip
  1167.     {
  1168.         map gfx/2d/numbers/two_32b.tga
  1169.         blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
  1170.         rgbgen vertex
  1171.     }
  1172. }
  1173. gfx/2d/numbers/three_32b
  1174. {
  1175.     nopicmip
  1176.     {
  1177.         map gfx/2d/numbers/three_32b.tga
  1178.         blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
  1179.         rgbgen vertex
  1180.     }
  1181. }
  1182. gfx/2d/numbers/four_32b
  1183. {
  1184.     nopicmip
  1185.     {
  1186.         map gfx/2d/numbers/four_32b.tga
  1187.         blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
  1188.         rgbgen vertex
  1189.     }
  1190. }
  1191. gfx/2d/numbers/five_32b
  1192. {
  1193.     nopicmip
  1194.     {
  1195.         map gfx/2d/numbers/five_32b.tga
  1196.         blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
  1197.         rgbgen vertex
  1198.     }
  1199. }
  1200. gfx/2d/numbers/six_32b
  1201. {
  1202.     nopicmip
  1203.     {
  1204.         map gfx/2d/numbers/six_32b.tga
  1205.         blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
  1206.         rgbgen vertex
  1207.     }
  1208. }
  1209. gfx/2d/numbers/seven_32b
  1210. {
  1211.     nopicmip
  1212.     {
  1213.         map gfx/2d/numbers/seven_32b.tga
  1214.         blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
  1215.         rgbgen vertex
  1216.     }
  1217. }
  1218. gfx/2d/numbers/eight_32b
  1219. {
  1220.     nopicmip
  1221.     {
  1222.         map gfx/2d/numbers/eight_32b.tga
  1223.         blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
  1224.         rgbgen vertex
  1225.     }
  1226. }
  1227. gfx/2d/numbers/nine_32b
  1228. {
  1229.     nopicmip
  1230.     {
  1231.         map gfx/2d/numbers/nine_32b.tga
  1232.         blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
  1233.         rgbgen vertex
  1234.     }
  1235. }
  1236. gfx/2d/numbers/minus_32b
  1237. {
  1238.     nopicmip
  1239.     {
  1240.         map gfx/2d/numbers/minus_32b.tga
  1241.         blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA
  1242.         rgbgen vertex
  1243.     }
  1244. }
  1245.  
  1246.  
  1247. //
  1248. // weapon hits
  1249. // All of these will be put on entities with a shaderTime offset, so they
  1250. // can be expected to start at time 0 for each separate explosion
  1251. //
  1252. // Many of these are use smoothly morphed animating textures by pairing
  1253. // sawtooth and iverse sawtooth rgbGens
  1254. plasmaExplosion
  1255. {
  1256.     cull disable
  1257.     {
  1258.         clampmap models/weaphits/plasmaboom.tga
  1259.         blendfunc add
  1260.                 tcMod stretch triangle .6 0.1 0 8
  1261.                 tcmod rotate 999
  1262.                 rgbGen wave inversesawtooth 0 1 0 1.5
  1263.     }
  1264. }
  1265.  
  1266. railExplosion
  1267. {
  1268.     cull disable
  1269.         {
  1270.         animmap 5 models/weaphits/ring02_1.tga  models/weaphits/ring02_2.tga  models/weaphits/ring02_3.tga models/weaphits/ring02_4.tga gfx/colors/black.tga
  1271.         alphaGen wave inversesawtooth 0 1 0 5
  1272.         blendfunc blend
  1273.     }
  1274.     {
  1275.         animmap 5 models/weaphits/ring02_2.tga  models/weaphits/ring02_3.tga models/weaphits/ring02_4.tga gfx/colors/black.tga gfx/colors/black.tga
  1276.         alphaGen wave sawtooth 0 1 0 5
  1277.         blendfunc blend
  1278.     }
  1279. }
  1280.  
  1281. lightningExplosion
  1282. {
  1283.     cull disable
  1284.     {
  1285.         animmap 5 models/weaphits/ring02_1.tga  models/weaphits/ring02_3.tga  models/weaphits/ring02_3.tga gfx/colors/black.tga
  1286.         rgbGen wave inversesawtooth 0 1 0 5
  1287.         blendfunc add
  1288.     }
  1289.     {
  1290.         animmap 5 models/weaphits/ring02_2.tga  models/weaphits/ring02_3.tga  gfx/colors/black.tga gfx/colors/black.tga
  1291.         rgbGen wave sawtooth 0 1 0 5
  1292.         blendfunc add
  1293.     }
  1294. }
  1295.  
  1296. bulletExplosion
  1297. {
  1298.     cull disable
  1299.     {
  1300.         animmap 5 models/weaphits/bullet1.tga  models/weaphits/bullet2.tga  models/weaphits/bullet3.tga gfx/colors/black.tga
  1301.         rgbGen wave inversesawtooth 0 1 0 5
  1302.         blendfunc add
  1303.     }
  1304.     {
  1305.         animmap 5 models/weaphits/bullet2.tga  models/weaphits/bullet3.tga  gfx/colors/black.tga gfx/colors/black.tga
  1306.         rgbGen wave sawtooth 0 1 0 5
  1307.         blendfunc add
  1308.     }
  1309. }
  1310.  
  1311. rocketExplosion
  1312. {
  1313.     cull disable
  1314.     {
  1315.         animmap 8 models/weaphits/rlboom/rlboom_1.tga  models/weaphits/rlboom/rlboom_2.tga models/weaphits/rlboom/rlboom_3.tga models/weaphits/rlboom/rlboom_4.tga models/weaphits/rlboom/rlboom_5.tga models/weaphits/rlboom/rlboom_6.tga models/weaphits/rlboom/rlboom_7.tga models/weaphits/rlboom/rlboom_8.tga
  1316.         rgbGen wave inversesawtooth 0 1 0 8
  1317.         blendfunc add
  1318.     }
  1319.     {
  1320.         animmap 8 models/weaphits/rlboom/rlboom_2.tga models/weaphits/rlboom/rlboom_3.tga models/weaphits/rlboom/rlboom_4.tga models/weaphits/rlboom/rlboom_5.tga models/weaphits/rlboom/rlboom_6.tga models/weaphits/rlboom/rlboom_7.tga models/weaphits/rlboom/rlboom_8.tga gfx/colors/black.tga
  1321.         rgbGen wave sawtooth 0 1 0 8
  1322.         blendfunc add
  1323.     }
  1324. }
  1325.  
  1326. grenadeExplosion
  1327. {
  1328.     cull disable
  1329.     {
  1330.         animmap 5 models/weaphits/glboom/glboom_1.tga  models/weaphits/glboom/glboom_2.tga models/weaphits/glboom/glboom_3.tga
  1331.         rgbGen wave inversesawtooth 0 1 0 5
  1332.         blendfunc add
  1333.     }
  1334.     {
  1335.         animmap 5 models/weaphits/glboom/glboom_2.tga  models/weaphits/glboom/glboom_3.tga gfx/colors/black.tga
  1336.         rgbGen wave sawtooth 0 1 0 5
  1337.         blendfunc add
  1338.     }
  1339. }
  1340.  
  1341. bfgExplosion
  1342. {
  1343.     cull disable
  1344.     {
  1345.         animmap 5 models/weaphits/bfgboom/bfgboom_1.tga  models/weaphits/bfgboom/bfgboom_2.tga models/weaphits/bfgboom/bfgboom_3.tga
  1346.         rgbGen wave inversesawtooth 0 1 0 5
  1347.         blendfunc add
  1348.     }
  1349.     {
  1350.         animmap 5 models/weaphits/bfgboom/bfgboom_2.tga models/weaphits/bfgboom/bfgboom_3.tga gfx/colors/black.tga
  1351.         rgbGen wave sawtooth 0 1 0 5
  1352.         blendfunc add
  1353.     }
  1354. }
  1355.  
  1356. bloodExplosion        // spurt of blood at point of impact
  1357. {
  1358.     cull disable
  1359.     {
  1360.         animmap 5 models/weaphits/blood201.tga models/weaphits/blood202.tga models/weaphits/blood203.tga models/weaphits/blood204.tga models/weaphits/blood205.tga
  1361.         blendfunc blend
  1362.     }
  1363. }
  1364.  
  1365.  
  1366.  
  1367.