#!/bin/sh # This script generate shader script and define files for eth SHADER_SCRIPT=pk3/scripts/eth.shader SHADER_DEFINE=shaders.h rm -rf $SHADER_SCRIPT $SHADER_DEFINE # Function to create script and define files makeShader() { for SHADER in $1; do # Create shader script NAME=`echo $SHADER | cut -f1 -d:` SIZE=`echo $SHADER | cut -f2 -d:` MAP=`echo $SHADER | cut -f3 -d:` $2 >> $SHADER_SCRIPT # Create shader define COLOR=`echo $SHADER | cut -f4 -d:` echo "eth.shaders[$COLOR][$3] = syscall_CG_R_RegisterShader(\"$NAME\");" >> $SHADER_DEFINE done echo >> $SHADER_SCRIPT echo >> $SHADER_DEFINE } # Function to create script and define files makeMenuShader() { for SHADER in $1; do # Create shader script NAME=`echo $SHADER | cut -f1 -d:` MAP=`echo $SHADER | cut -f2 -d:` $2 >> $SHADER_SCRIPT # Create shader define SHADERNAME=`echo $SHADER | cut -f3 -d:` echo "eth.menuShader[$SHADERNAME] = syscall_CG_R_RegisterShader(\"$NAME\");" >> $SHADER_DEFINE done echo >> $SHADER_SCRIPT echo >> $SHADER_DEFINE } # Function to create script and define files makeMenuPartShader() { for SHADER in $1; do # Create shader script NAME=`echo $SHADER | cut -f1 -d:` MAP=`echo $SHADER | cut -f2 -d:` $2 >> $SHADER_SCRIPT # Create shader define SHADERNAME=`echo $SHADER | cut -f3 -d:` echo "eth.menuPart[$SHADERNAME] = syscall_CG_R_RegisterShader(\"$NAME\");" >> $SHADER_DEFINE done echo >> $SHADER_SCRIPT echo >> $SHADER_DEFINE } # Quake shader type A quakeAShaderSkel() { echo "$NAME { q3map_surfacelight 1800 deformVertexes wave 100 sin $SIZE 0 0 0 { map $MAP.tga blendfunc GL_ONE GL_ONE tcGen environment tcmod rotate 15 tcmod scroll 1 .1 } }" } QUAKE_A_SHADERS=" quakeABlueShader:2:gfx/effects/quadblue:GFX_BLUE quakeACyanShader:2:gfx/effects/quadcyan:GFX_CYAN quakeAGreenShader:2:gfx/effects/quadgreen:GFX_GREEN quakeARedShader:2:gfx/effects/quadred:GFX_RED quakeATealShader:2:gfx/effects/quadteal:GFX_TEAL quakeAYellowShader:2:gfx/effects/quadyellow:GFX_YELLOW " makeShader "$QUAKE_A_SHADERS" quakeAShaderSkel CHAM_QUAKE # Quake shader type B quakeBShaderSkel() { echo "$NAME { q3map_surfacelight 1800 deformVertexes wave 100 sin $SIZE 0 0 0 nofog { map $MAP.tga tcGen environment } }" } QUAKE_B_SHADERS=" quakeBBlueShader:2:gfx/effects/quadblue:GFX_BLUE quakeBCyanShader:2:gfx/effects/quadcyan:GFX_CYAN quakeBGreenShader:2:gfx/effects/quadgreen:GFX_GREEN quakeBRedShader:2:gfx/effects/quadred:GFX_RED quakeBTealShader:2:gfx/effects/quadteal:GFX_TEAL quakeBYellowShader:2:gfx/effects/quadyellow:GFX_YELLOW " makeShader "$QUAKE_B_SHADERS" quakeBShaderSkel CHAM_QUAKEB # Quake shader type C quakeCShaderSkel() { echo "$NAME { q3map_surfacelight 1800 { map textures/effects/envmap_slate.tga rgbGen lightingDiffuse tcGen environment } cull none { map $MAP.tga tcmod rotate 2 tcmod scroll 1 .01 tcGen environment rgbGen lightingDiffuse } }" } QUAKE_C_SHADERS=" quakeCBlueShader:0:gfx/effects/quadblue:GFX_BLUE quakeCCyanShader:0:gfx/effects/quadcyan:GFX_CYAN quakeCGreenShader:0:gfx/effects/quadgreen:GFX_GREEN quakeCRedShader:0:gfx/effects/quadred:GFX_RED quakeCTealShader:0:gfx/effects/quadteal:GFX_TEAL quakeCYellowShader:0:gfx/effects/quadyellow:GFX_YELLOW " makeShader "$QUAKE_C_SHADERS" quakeCShaderSkel CHAM_QUAKEC # Glow shader glowShaderSkel() { echo "$NAME { deformVertexes wave 100 sin $SIZE 0 0 0 { map $MAP.tga blendfunc GL_ONE GL_ONE } }" } GLOW_SHADERS=" glowBlueShader:4:menu/art/fx_blue:GFX_BLUE glowCyanShader:4:menu/art/fx_teal:GFX_CYAN glowGreenShader:4:menu/art/fx_grn:GFX_GREEN glowRedShader:4:menu/art/fx_red:GFX_RED glowTealShader:4:menu/art/fx_cyan:GFX_TEAL glowYellowShader:4:menu/art/fx_yel:GFX_YELLOW " makeShader "$GLOW_SHADERS" glowShaderSkel CHAM_GLOW # Flat shader flatShaderSkel() { echo "$NAME { cull back surfaceparm nodlight surfaceparm nolightmap sort 3 { map $MAP.tga } }" } FLAT_SHADERS=" flatBlueShader:0:gfx/colors/blue:GFX_BLUE flatCyanShader:0:gfx/colors/cyan:GFX_CYAN flatGreenShader:0:gfx/colors/green:GFX_GREEN flatRedShader:0:gfx/colors/red:GFX_RED flatTealShader:0:gfx/colors/teal:GFX_TEAL flatYellowShader:0:gfx/colors/yellow:GFX_YELLOW " makeShader "$FLAT_SHADERS" flatShaderSkel CHAM_FLAT # Flat white shader echo "flatWhiteShader { cull back surfaceparm nodlight surfaceparm nolightmap sort 3 { map menu/art/fx_white.tga } }" >> $SHADER_SCRIPT echo "eth.whiteFlatShader = syscall_CG_R_RegisterShader(\"flatWhiteShader\");" >> $SHADER_DEFINE # Mortar shader echo "friendMortarShader { q3map_surfacelight 1800 deformVertexes wave 100 sin 40 0 0 0 { map gfx/effects/quadblue.tga blendfunc GL_ONE GL_ONE tcGen environment tcmod rotate 15 tcmod scroll 1 .1 } }" >> $SHADER_SCRIPT echo "eth.friendMortarShader = syscall_CG_R_RegisterShader(\"friendMortarShader\");" >> $SHADER_DEFINE echo "enemyMortarShader { q3map_surfacelight 1800 deformVertexes wave 100 sin 40 0 0 0 { map gfx/effects/quadred.tga blendfunc GL_ONE GL_ONE tcGen environment tcmod rotate 15 tcmod scroll 1 .1 } }" >> $SHADER_SCRIPT echo "eth.enemyMortarShader = syscall_CG_R_RegisterShader(\"enemyMortarShader\");" >> $SHADER_DEFINE # Quake shader type PORTAL echo "qPortalShaderA { { map gfx/effects/portal1.tga rgbGen vertex tcGen environment } { map gfx/effects/portal2.tga blendfunc GL_ONE GL_ONE rgbgen wave inversesawtooth 0 1 .2 .5 } }" >> $SHADER_SCRIPT echo "eth.quakeportalA = syscall_CG_R_RegisterShader(\"qPortalShaderA\");" >> $SHADER_DEFINE echo "qPortalShaderB { q3map_surfacelight 1800 deformVertexes wave 20 sin 2 0 0 0 { map gfx/effects/portal1.tga blendfunc GL_ONE GL_ONE tcGen environment } }" >> $SHADER_SCRIPT echo "eth.quakeportalB = syscall_CG_R_RegisterShader(\"qPortalShaderB\");" >> $SHADER_DEFINE fragShaderSkel() { echo "$NAME { surfaceparm nonsolid surfaceparm noimpact surfaceparm lava surfaceparm nolightmap q3map_surfacelight 300 tesssize 64 qer_editorimage $MAP.tga deformVertexes wave 100 sin $SIZE 2 .1 0.1 { map $MAP.tga tcmod scale .03 .85 tcmod scroll 1 .0025 tcMod turb 0 .1 0 .05 tcGen environment rgbGen lightingDiffuse } }" } FRAG_SHADERS=" fragBlueShader:2:gfx/effects/fragblue:GFX_BLUE fragCyanShader:2:gfx/effects/fragcyan:GFX_CYAN fragGreenShader:2:gfx/effects/fraggreen:GFX_GREEN fragRedShader:2:gfx/effects/fragred:GFX_RED fragTealShader:2:gfx/effects/fragteal:GFX_TEAL fragYellowShader:2:gfx/effects/fragyellow:GFX_YELLOW " makeShader "$FRAG_SHADERS" fragShaderSkel CHAM_FRAG # Menu shader menuShaderSkel() { echo "$NAME { nocompress nomipmaps nopicmip { map $MAP.tga blendFunc GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA rgbGen vertex } }" } MENU_SHADERS=" aimbot:gfx/menu/aimbot:CAT_AIMBOTM aimbot:gfx/menu/aimbot:CAT_AIMBOTP esp:gfx/menu/esp:CAT_ESP hud:gfx/menu/hud:CAT_HUD irc:gfx/menu/irc:CAT_TRA misc:gfx/menu/misc:CAT_MISC sounds:gfx/menu/sounds:CAT_SOUND spycam:gfx/menu/spycam:CAT_SPYCAM visual:gfx/menu/visual:CAT_VISUAL " makeMenuShader "$MENU_SHADERS" menuShaderSkel