mirror of
https://git.code.sf.net/p/quake/quakeforge
synced 2024-11-29 15:41:59 +00:00
Do a const-correctness run on palettes.
This commit is contained in:
parent
c56a075199
commit
1740e14d2a
11 changed files with 29 additions and 24 deletions
|
@ -29,15 +29,16 @@
|
||||||
#ifndef __QF_image_h
|
#ifndef __QF_image_h
|
||||||
#define __QF_image_h
|
#define __QF_image_h
|
||||||
|
|
||||||
|
#include "QF/qtypes.h"
|
||||||
#include "QF/quakeio.h"
|
#include "QF/quakeio.h"
|
||||||
|
|
||||||
// could not use texture_t as that is used for models.
|
// could not use texture_t as that is used for models.
|
||||||
typedef struct tex_s {
|
typedef struct tex_s {
|
||||||
int width;
|
int width;
|
||||||
int height;
|
int height;
|
||||||
int format;
|
int format;
|
||||||
unsigned char *palette; // 0 = 32 bit, otherwise 8
|
const byte *palette; // 0 = 32 bit, otherwise 8
|
||||||
unsigned char data[4]; // variable length
|
byte data[4]; // variable length
|
||||||
} tex_t;
|
} tex_t;
|
||||||
|
|
||||||
#define tex_palette 0
|
#define tex_palette 0
|
||||||
|
|
|
@ -62,8 +62,8 @@ typedef struct
|
||||||
\return A pointer to the newly-coded PCX data.
|
\return A pointer to the newly-coded PCX data.
|
||||||
\warning Uses Hunk_TempAlloc() to allocate the output PCX content.
|
\warning Uses Hunk_TempAlloc() to allocate the output PCX content.
|
||||||
*/
|
*/
|
||||||
pcx_t *EncodePCX (byte *data, int width, int height, int rowbytes,
|
pcx_t *EncodePCX (const byte *data, int width, int height, int rowbytes,
|
||||||
byte *palette, qboolean flip, int *length);
|
const byte *palette, qboolean flip, int *length);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Load a texture from a PCX file.
|
Load a texture from a PCX file.
|
||||||
|
@ -75,6 +75,6 @@ pcx_t *EncodePCX (byte *data, int width, int height, int rowbytes,
|
||||||
\return A pointer to the texture.
|
\return A pointer to the texture.
|
||||||
\warning Uses Hunk_TempAlloc() to allocate the texture.
|
\warning Uses Hunk_TempAlloc() to allocate the texture.
|
||||||
*/
|
*/
|
||||||
struct tex_s *LoadPCX (QFile *f, qboolean convert, byte *pal);
|
struct tex_s *LoadPCX (QFile *f, qboolean convert, const byte *pal);
|
||||||
|
|
||||||
#endif // __pcx_h
|
#endif // __pcx_h
|
||||||
|
|
|
@ -41,7 +41,7 @@ typedef struct {
|
||||||
short *zbuffer;
|
short *zbuffer;
|
||||||
void *surfcache;
|
void *surfcache;
|
||||||
byte *gammatable; // 256
|
byte *gammatable; // 256
|
||||||
byte *basepal; // 256 * 3
|
const byte *basepal; // 256 * 3
|
||||||
byte *palette; // 256 * 3
|
byte *palette; // 256 * 3
|
||||||
byte *colormap8; // 256 * VID_GRADES size
|
byte *colormap8; // 256 * VID_GRADES size
|
||||||
unsigned short *colormap16; // 256 * VID_GRADES size
|
unsigned short *colormap16; // 256 * VID_GRADES size
|
||||||
|
|
|
@ -12,7 +12,7 @@ extern unsigned short sw32_8to16table[256];
|
||||||
|
|
||||||
void VID_GetWindowSize (int def_w, int def_h);
|
void VID_GetWindowSize (int def_w, int def_h);
|
||||||
|
|
||||||
void VID_InitGamma (unsigned char *);
|
void VID_InitGamma (const byte *);
|
||||||
qboolean VID_SetGamma (double);
|
qboolean VID_SetGamma (double);
|
||||||
void VID_UpdateGamma (struct cvar_s *);
|
void VID_UpdateGamma (struct cvar_s *);
|
||||||
|
|
||||||
|
|
|
@ -47,7 +47,7 @@
|
||||||
|
|
||||||
|
|
||||||
VISIBLE tex_t *
|
VISIBLE tex_t *
|
||||||
LoadPCX (QFile *f, qboolean convert, byte *pal)
|
LoadPCX (QFile *f, qboolean convert, const byte *pal)
|
||||||
{
|
{
|
||||||
pcx_t *pcx;
|
pcx_t *pcx;
|
||||||
int pcx_mark;
|
int pcx_mark;
|
||||||
|
@ -141,12 +141,13 @@ LoadPCX (QFile *f, qboolean convert, byte *pal)
|
||||||
}
|
}
|
||||||
|
|
||||||
VISIBLE pcx_t *
|
VISIBLE pcx_t *
|
||||||
EncodePCX (byte * data, int width, int height,
|
EncodePCX (const byte *data, int width, int height,
|
||||||
int rowbytes, byte * palette, qboolean flip, int *length)
|
int rowbytes, const byte *palette, qboolean flip, int *length)
|
||||||
{
|
{
|
||||||
int i, run, pix, size;
|
int i, run, pix, size;
|
||||||
pcx_t *pcx;
|
pcx_t *pcx;
|
||||||
byte *pack, *dataend;
|
byte *pack;
|
||||||
|
const byte *dataend;
|
||||||
|
|
||||||
size = width * height * 2 + 1000;
|
size = width * height * 2 + 1000;
|
||||||
if (!(pcx = Hunk_TempAlloc (size))) {
|
if (!(pcx = Hunk_TempAlloc (size))) {
|
||||||
|
|
|
@ -132,7 +132,8 @@ build_skin_32 (tex_t *tex, int texnum, byte *translate,
|
||||||
unsigned i, j;
|
unsigned i, j;
|
||||||
int samples = alpha ? gl_alpha_format : gl_solid_format;
|
int samples = alpha ? gl_alpha_format : gl_solid_format;
|
||||||
unsigned frac, fracstep;
|
unsigned frac, fracstep;
|
||||||
byte pixels[512 * 256 * 4], *out, *pal;
|
byte pixels[512 * 256 * 4], *out;
|
||||||
|
const byte *pal;
|
||||||
byte c;
|
byte c;
|
||||||
|
|
||||||
out = pixels;
|
out = pixels;
|
||||||
|
|
|
@ -67,7 +67,7 @@ glsl_Skin_ProcessTranslation (int cmap, const byte *translation)
|
||||||
for (i = 0, dst = top; i < VID_GRADES; i++, src += 256 - 16) {
|
for (i = 0, dst = top; i < VID_GRADES; i++, src += 256 - 16) {
|
||||||
for (j = 0; j < 16; j++) {
|
for (j = 0; j < 16; j++) {
|
||||||
byte c = *src++;
|
byte c = *src++;
|
||||||
byte *in = vid.palette + c * 3;
|
const byte *in = vid.palette + c * 3;
|
||||||
*dst++ = *in++;
|
*dst++ = *in++;
|
||||||
*dst++ = *in++;
|
*dst++ = *in++;
|
||||||
*dst++ = *in++;
|
*dst++ = *in++;
|
||||||
|
@ -78,7 +78,7 @@ glsl_Skin_ProcessTranslation (int cmap, const byte *translation)
|
||||||
for (i = 0, dst = bottom; i < VID_GRADES; i++, src += 256 - 16) {
|
for (i = 0, dst = bottom; i < VID_GRADES; i++, src += 256 - 16) {
|
||||||
for (j = 0; j < 16; j++) {
|
for (j = 0; j < 16; j++) {
|
||||||
byte c = *src++;
|
byte c = *src++;
|
||||||
byte *in = vid.palette + c * 3;
|
const byte *in = vid.palette + c * 3;
|
||||||
*dst++ = *in++;
|
*dst++ = *in++;
|
||||||
*dst++ = *in++;
|
*dst++ = *in++;
|
||||||
*dst++ = *in++;
|
*dst++ = *in++;
|
||||||
|
@ -129,7 +129,7 @@ glsl_Skin_InitTranslations (void)
|
||||||
|
|
||||||
for (i = 0, dst = map, src = vid.colormap8; i < 256 * VID_GRADES; i++) {
|
for (i = 0, dst = map, src = vid.colormap8; i < 256 * VID_GRADES; i++) {
|
||||||
byte c = *src++;
|
byte c = *src++;
|
||||||
byte *in = vid.palette + c * 3;
|
const byte *in = vid.palette + c * 3;
|
||||||
*dst++ = *in++;
|
*dst++ = *in++;
|
||||||
*dst++ = *in++;
|
*dst++ = *in++;
|
||||||
*dst++ = *in++;
|
*dst++ = *in++;
|
||||||
|
|
|
@ -805,7 +805,8 @@ void
|
||||||
Draw_BlendScreen (quat_t color)
|
Draw_BlendScreen (quat_t color)
|
||||||
{
|
{
|
||||||
int r, g, b, i;
|
int r, g, b, i;
|
||||||
byte *basepal, *newpal;
|
const byte *basepal;
|
||||||
|
byte *newpal;
|
||||||
byte pal[768];
|
byte pal[768];
|
||||||
basepal = vid.basepal;
|
basepal = vid.basepal;
|
||||||
newpal = pal;
|
newpal = pal;
|
||||||
|
|
|
@ -1275,7 +1275,8 @@ void
|
||||||
sw32_Draw_BlendScreen (quat_t color)
|
sw32_Draw_BlendScreen (quat_t color)
|
||||||
{
|
{
|
||||||
int r, g, b, i;
|
int r, g, b, i;
|
||||||
byte *basepal, *newpal;
|
const byte *basepal;
|
||||||
|
byte *newpal;
|
||||||
byte pal[768];
|
byte pal[768];
|
||||||
|
|
||||||
switch(sw32_r_pixbytes) {
|
switch(sw32_r_pixbytes) {
|
||||||
|
|
|
@ -230,7 +230,7 @@ VID_UpdateGamma (cvar_t *vid_gamma)
|
||||||
Initialize the vid_gamma Cvar, and set up the palette
|
Initialize the vid_gamma Cvar, and set up the palette
|
||||||
*/
|
*/
|
||||||
void
|
void
|
||||||
VID_InitGamma (unsigned char *pal)
|
VID_InitGamma (const byte *pal)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
double gamma = 1.0;
|
double gamma = 1.0;
|
||||||
|
|
|
@ -104,7 +104,7 @@ load_image (const char *name)
|
||||||
switch (tex->format) {
|
switch (tex->format) {
|
||||||
case tex_palette:
|
case tex_palette:
|
||||||
for (i = 0, s = tex->data, d = image->data; i < pixels; i++) {
|
for (i = 0, s = tex->data, d = image->data; i < pixels; i++) {
|
||||||
byte *v = tex->palette + *s++ * 3;
|
const byte *v = tex->palette + *s++ * 3;
|
||||||
*d++ = *v++;
|
*d++ = *v++;
|
||||||
*d++ = *v++;
|
*d++ = *v++;
|
||||||
*d++ = *v++;
|
*d++ = *v++;
|
||||||
|
|
Loading…
Reference in a new issue