All pastes #625103 Raw Edit

Miscellany

public text v1 · immutable
·published 2007-07-18 19:22 UTC
rendered paste body
#!/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