X-Git-Url: http://de.git.xonotic.org/?a=blobdiff_plain;f=r_lightning.c;h=8568292d098b83113f898bfc5fa773200b35fb7a;hb=221a6cb74c3a3b30b9e60247d6e42d7a6fcdebf0;hp=cc3afdbf6871b63cb95ab07dffb55e74fa63c9f4;hpb=59158546b21b9ef4b9f7ead745ad544363907af6;p=xonotic%2Fdarkplaces.git diff --git a/r_lightning.c b/r_lightning.c index cc3afdbf..8568292d 100644 --- a/r_lightning.c +++ b/r_lightning.c @@ -16,20 +16,20 @@ skinframe_t *r_lightningbeamqmbtexture; int r_lightningbeamelement3i[18] = {0, 1, 2, 0, 2, 3, 4, 5, 6, 4, 6, 7, 8, 9, 10, 8, 10, 11}; unsigned short r_lightningbeamelement3s[18] = {0, 1, 2, 0, 2, 3, 4, 5, 6, 4, 6, 7, 8, 9, 10, 8, 10, 11}; -void r_lightningbeams_start(void) +static void r_lightningbeams_start(void) { r_lightningbeamtexture = NULL; r_lightningbeamqmbtexture = NULL; } -void r_lightningbeams_setupqmbtexture(void) +static void r_lightningbeams_setupqmbtexture(void) { - r_lightningbeamqmbtexture = R_SkinFrame_LoadExternal("textures/particles/lightning.pcx", TEXF_ALPHA | TEXF_PRECACHE | TEXF_FORCELINEAR, false); + r_lightningbeamqmbtexture = R_SkinFrame_LoadExternal("textures/particles/lightning.pcx", TEXF_ALPHA | TEXF_FORCELINEAR, false); if (r_lightningbeamqmbtexture == NULL) Cvar_SetValueQuick(&r_lightningbeam_qmbtexture, false); } -void r_lightningbeams_setuptexture(void) +static void r_lightningbeams_setuptexture(void) { #if 0 #define BEAMWIDTH 128 @@ -103,10 +103,10 @@ void r_lightningbeams_setuptexture(void) } } - Image_WriteTGABGRA(va("lightningbeam%i.tga", imagenumber), BEAMWIDTH, BEAMHEIGHT, pixels); + Image_WriteTGABGRA(va(vabuf, sizeof(vabuf), "lightningbeam%i.tga", imagenumber), BEAMWIDTH, BEAMHEIGHT, pixels); } - r_lightningbeamtexture = R_LoadTexture2D(r_lightningbeamtexturepool, "lightningbeam", BEAMWIDTH, BEAMHEIGHT, pixels, TEXTYPE_BGRA, TEXF_PRECACHE | TEXF_FORCELINEAR, NULL); + r_lightningbeamtexture = R_LoadTexture2D(r_lightningbeamtexturepool, "lightningbeam", BEAMWIDTH, BEAMHEIGHT, pixels, TEXTYPE_BGRA, TEXF_FORCELINEAR, NULL); Mem_Free(pixels); Mem_Free(image); @@ -144,20 +144,20 @@ void r_lightningbeams_setuptexture(void) } } - r_lightningbeamtexture = R_SkinFrame_LoadInternalBGRA("lightningbeam", TEXF_PRECACHE | TEXF_FORCELINEAR, data, BEAMWIDTH, BEAMHEIGHT); + r_lightningbeamtexture = R_SkinFrame_LoadInternalBGRA("lightningbeam", TEXF_FORCELINEAR, data, BEAMWIDTH, BEAMHEIGHT, false); Mem_Free(noise1); Mem_Free(noise2); Mem_Free(data); #endif } -void r_lightningbeams_shutdown(void) +static void r_lightningbeams_shutdown(void) { r_lightningbeamtexture = NULL; r_lightningbeamqmbtexture = NULL; } -void r_lightningbeams_newmap(void) +static void r_lightningbeams_newmap(void) { if (r_lightningbeamtexture) R_SkinFrame_MarkUsed(r_lightningbeamtexture); @@ -174,10 +174,10 @@ void R_LightningBeams_Init(void) Cvar_RegisterVariable(&r_lightningbeam_color_green); Cvar_RegisterVariable(&r_lightningbeam_color_blue); Cvar_RegisterVariable(&r_lightningbeam_qmbtexture); - R_RegisterModule("R_LightningBeams", r_lightningbeams_start, r_lightningbeams_shutdown, r_lightningbeams_newmap); + R_RegisterModule("R_LightningBeams", r_lightningbeams_start, r_lightningbeams_shutdown, r_lightningbeams_newmap, NULL, NULL); } -void R_CalcLightningBeamPolygonVertex3f(float *v, const float *start, const float *end, const float *offset) +static void R_CalcLightningBeamPolygonVertex3f(float *v, const float *start, const float *end, const float *offset) { // near right corner VectorAdd (start, offset, (v + 0)); @@ -189,7 +189,7 @@ void R_CalcLightningBeamPolygonVertex3f(float *v, const float *start, const floa VectorAdd (end , offset, (v + 9)); } -void R_CalcLightningBeamPolygonTexCoord2f(float *tc, float t1, float t2) +static void R_CalcLightningBeamPolygonTexCoord2f(float *tc, float t1, float t2) { if (r_lightningbeam_qmbtexture.integer) { @@ -217,13 +217,13 @@ void R_CalcLightningBeamPolygonTexCoord2f(float *tc, float t1, float t2) float beamrepeatscale; -void R_DrawLightningBeam_TransparentCallback(const entity_render_t *ent, const rtlight_t *rtlight, int numsurfaces, int *surfacelist) +static void R_DrawLightningBeam_TransparentCallback(const entity_render_t *ent, const rtlight_t *rtlight, int numsurfaces, int *surfacelist) { int surfacelistindex; float vertex3f[12*3]; float texcoord2f[12*2]; - RSurf_ActiveCustomEntity(&identitymatrix, &identitymatrix, 0, 0, r_lightningbeam_color_red.value * r_refdef.view.colorscale, r_lightningbeam_color_green.value * r_refdef.view.colorscale, r_lightningbeam_color_blue.value * r_refdef.view.colorscale, 1, 12, vertex3f, texcoord2f, NULL, NULL, NULL, NULL, 6, r_lightningbeamelement3i, r_lightningbeamelement3s, false, false); + RSurf_ActiveCustomEntity(&identitymatrix, &identitymatrix, 0, 0, r_lightningbeam_color_red.value, r_lightningbeam_color_green.value, r_lightningbeam_color_blue.value, 1, 12, vertex3f, texcoord2f, NULL, NULL, NULL, NULL, 6, r_lightningbeamelement3i, r_lightningbeamelement3s, false, false); if (r_lightningbeam_qmbtexture.integer && r_lightningbeamqmbtexture == NULL) r_lightningbeams_setupqmbtexture(); @@ -293,7 +293,7 @@ void R_DrawLightningBeam_TransparentCallback(const entity_render_t *ent, const r R_CalcLightningBeamPolygonTexCoord2f(texcoord2f + 16, t1 + 0.66, t2 + 0.66); // draw the 3 polygons as one batch of 6 triangles using the 12 vertices - R_DrawCustomSurface(r_lightningbeam_qmbtexture.integer ? r_lightningbeamqmbtexture : r_lightningbeamtexture, &identitymatrix, MATERIALFLAG_ADD | MATERIALFLAG_BLENDED | MATERIALFLAG_FULLBRIGHT | MATERIALFLAG_NOCULLFACE, 0, 12, 0, 6, false); + R_DrawCustomSurface(r_lightningbeam_qmbtexture.integer ? r_lightningbeamqmbtexture : r_lightningbeamtexture, &identitymatrix, MATERIALFLAG_ADD | MATERIALFLAG_BLENDED | MATERIALFLAG_FULLBRIGHT | MATERIALFLAG_NOCULLFACE, 0, 12, 0, 6, false, false); } } @@ -320,7 +320,7 @@ void R_DrawLightningBeams(void) dist = bound(0, dist, 1); VectorLerp(start, dist, end, org); // now we have the nearest point on the line, so sort with it - R_MeshQueue_AddTransparent(org, R_DrawLightningBeam_TransparentCallback, NULL, i, NULL); + R_MeshQueue_AddTransparent(TRANSPARENTSORT_DISTANCE, org, R_DrawLightningBeam_TransparentCallback, NULL, i, NULL); } } }