2024-09-09 00:51:24 +00:00
|
|
|
//gu_fullbright.c
|
2022-02-08 21:49:56 +00:00
|
|
|
|
|
|
|
extern "C"
|
|
|
|
{
|
2024-09-09 00:51:24 +00:00
|
|
|
#include "../../quakedef.h"
|
2022-02-08 21:49:56 +00:00
|
|
|
}
|
|
|
|
#include <pspgu.h>
|
|
|
|
|
|
|
|
void DrawGLPoly_ex (glpoly_t *p);
|
|
|
|
|
|
|
|
int FindFullbrightTexture (byte *pixels, int num_pix)
|
|
|
|
{
|
|
|
|
int i;
|
|
|
|
for (i = 0; i < num_pix; i++)
|
|
|
|
if (pixels[i] > 223)
|
|
|
|
return 1;
|
|
|
|
|
|
|
|
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void ConvertPixels (byte *pixels, int num_pixels)
|
|
|
|
{
|
|
|
|
int i;
|
|
|
|
|
|
|
|
for (i = 0; i < num_pixels; i++)
|
|
|
|
if (pixels[i] < 224)
|
|
|
|
pixels[i] = 255;
|
|
|
|
}
|
|
|
|
|
|
|
|
void DrawFullBrightTextures (msurface_t *first_surf, int num_surfs)
|
|
|
|
{
|
|
|
|
// gl_texsort 1 version
|
|
|
|
int i;
|
|
|
|
msurface_t *fa;
|
|
|
|
texture_t *t;
|
|
|
|
|
|
|
|
if (r_fullbright.value)
|
|
|
|
return;
|
|
|
|
|
|
|
|
for (fa = first_surf, i = 0; i < num_surfs; fa++, i++)
|
|
|
|
{
|
|
|
|
// find the correct texture
|
|
|
|
t = R_TextureAnimation (fa->texinfo->texture);
|
|
|
|
|
|
|
|
if (t->fullbright != -1 && fa->draw_this_frame)
|
|
|
|
{
|
|
|
|
sceGuDisable(GU_FOG); //Disable fog for fullbright textures
|
|
|
|
sceGuEnable(GU_BLEND);
|
|
|
|
sceGuTexFunc(GU_TFX_REPLACE, GU_TCC_RGBA);
|
|
|
|
GL_Bind (t->fullbright);
|
|
|
|
DrawGLPoly_ex (fa->polys);
|
|
|
|
sceGuDisable (GU_BLEND);
|
|
|
|
sceGuTexFunc(GU_TFX_REPLACE, GU_TCC_RGBA);
|
|
|
|
sceGuEnable(GU_FOG);
|
|
|
|
}
|
|
|
|
|
|
|
|
fa->draw_this_frame = 0;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|