[model] Swap fullbright/top/bottom color func params

This makes them semantically compatible with memcpy.
This commit is contained in:
Bill Currie 2021-12-07 12:51:33 +09:00
parent ff6d6f6dd6
commit ea4ac894d8
7 changed files with 24 additions and 21 deletions

View file

@ -22,8 +22,8 @@ typedef struct mod_alias_ctx_s {
} mod_alias_ctx_t;
int Mod_CalcFullbright (const byte *in, byte *out, int pixels);
void Mod_ClearFullbright (const byte *in, byte *out, int pixels);
int Mod_CalcFullbright (byte *out, const byte *in, size_t pixels);
int Mod_ClearFullbright (byte *out, const byte *in, size_t pixels);
void Mod_FloodFillSkin (byte *skin, int skinwidth, int skinheight);
//FIXME gl specific. rewrite to use above
int Mod_Fullbright (byte * skin, int width, int height, const char *name);
@ -97,10 +97,10 @@ void Skin_Init (void);
skin_t *Skin_SetColormap (skin_t *skin, int cmap);
skin_t *Skin_SetSkin (skin_t *skin, int cmap, const char *skinname);
void Skin_SetTranslation (int cmap, int top, int bottom);
int Skin_CalcTopColors (const byte *in, byte *out, int pixels);
int Skin_CalcBottomColors (const byte *in, byte *out, int pixels);
void Skin_ClearTopColors (const byte *in, byte *out, int pixels);
void Skin_ClearBottomColors (const byte *in, byte *out, int pixels);
int Skin_CalcTopColors (byte *out, const byte *in, size_t pixels);
int Skin_CalcBottomColors (byte *out, const byte *in, size_t pixels);
int Skin_ClearTopColors (byte *out, const byte *in, size_t pixels);
int Skin_ClearBottomColors (byte *out, const byte *in, size_t pixels);
void sw_Skin_SetupSkin (skin_t *skin, int cmap);
void sw_Skin_ProcessTranslation (int cmap, const byte *translation);

View file

@ -169,17 +169,17 @@ Vulkan_Mod_LoadSkin (mod_alias_ctx_t *alias_ctx, byte *skinpix, int skinsize,
byte *colb_data = QFV_PacketExtend (packet, skinsize * 4);
byte *glow_data = QFV_PacketExtend (packet, skinsize * 4);
Mod_CalcFullbright (tskin, tskin + skinsize, skinsize);
Mod_CalcFullbright (tskin + skinsize, tskin, skinsize);
Vulkan_ExpandPalette (glow_data, tskin + skinsize, vid.palette, 1,
skinsize);
Mod_ClearFullbright (tskin, tskin, skinsize);
Skin_CalcTopColors (tskin, tskin + skinsize, skinsize);
Skin_CalcTopColors (tskin + skinsize, tskin, skinsize);
Vulkan_ExpandPalette (cola_data, tskin + skinsize, vid.palette, 1,
skinsize);
Skin_ClearTopColors (tskin, tskin, skinsize);
Skin_CalcBottomColors (tskin, tskin + skinsize, skinsize);
Skin_CalcBottomColors (tskin + skinsize, tskin, skinsize);
Vulkan_ExpandPalette (colb_data, tskin + skinsize, vid.palette, 1,
skinsize);
Skin_ClearBottomColors (tskin, tskin, skinsize);

View file

@ -366,7 +366,7 @@ Vulkan_Mod_ProcessTexture (model_t *mod, texture_t *tx, vulkan_ctx_t *ctx)
size_t fullbright_mark = Hunk_LowMark (0);
byte *pixels = Hunk_AllocName (0, size, name);
if (!Mod_CalcFullbright ((byte *) (tx + 1), pixels, size)) {
if (!Mod_CalcFullbright (pixels, (byte *) (tx + 1), size)) {
Hunk_FreeToLowMark (0, fullbright_mark);
return;
}

View file

@ -34,7 +34,7 @@
#include "mod_internal.h"
VISIBLE int
Mod_CalcFullbright (const byte *in, byte *out, int pixels)
Mod_CalcFullbright (byte *out, const byte *in, size_t pixels)
{
byte fb = 0;
@ -50,8 +50,8 @@ Mod_CalcFullbright (const byte *in, byte *out, int pixels)
return fb;
}
VISIBLE void
Mod_ClearFullbright (const byte *in, byte *out, int pixels)
VISIBLE int
Mod_ClearFullbright (byte *out, const byte *in, size_t pixels)
{
while (pixels-- > 0) {
byte pix = *in++;
@ -61,4 +61,5 @@ Mod_ClearFullbright (const byte *in, byte *out, int pixels)
*out++ = pix;
}
}
return 0;
}

View file

@ -53,7 +53,7 @@ Mod_Fullbright (byte *skin, int width, int height, const char *name)
SYS_CHECKMEM (texels);
// Check for fullbright pixels
if (Mod_CalcFullbright (skin, texels, pixels)) {
if (Mod_CalcFullbright (texels, skin, pixels)) {
//FIXME black should be transparent for fullbrights (or just fix
//fullbright rendering in gl)
Sys_MaskPrintf (SYS_dev, "FB Model ID: '%s'\n", name);

View file

@ -78,7 +78,7 @@ do_fb_skin (glskin_t *s)
s->fb_tex->height = s->tex->height;
s->fb_tex->format = tex_palette;
s->fb_tex->palette = vid.palette;
s->fb = Mod_CalcFullbright (s->tex->data, s->fb_tex->data, size);
s->fb = Mod_CalcFullbright (s->fb_tex->data, s->tex->data, size);
}
void

View file

@ -248,7 +248,7 @@ Skin_Init (void)
}
VISIBLE int
Skin_CalcTopColors (const byte *in, byte *out, int pixels)
Skin_CalcTopColors (byte *out, const byte *in, size_t pixels)
{
byte tc = 0;
@ -265,7 +265,7 @@ Skin_CalcTopColors (const byte *in, byte *out, int pixels)
}
VISIBLE int
Skin_CalcBottomColors (const byte *in, byte *out, int pixels)
Skin_CalcBottomColors (byte *out, const byte *in, size_t pixels)
{
byte bc = 0;
@ -281,8 +281,8 @@ Skin_CalcBottomColors (const byte *in, byte *out, int pixels)
return bc;
}
VISIBLE void
Skin_ClearTopColors (const byte *in, byte *out, int pixels)
VISIBLE int
Skin_ClearTopColors (byte *out, const byte *in, size_t pixels)
{
while (pixels-- > 0) {
byte pix = *in++;
@ -292,10 +292,11 @@ Skin_ClearTopColors (const byte *in, byte *out, int pixels)
*out++ = pix;
}
}
return 0;
}
VISIBLE void
Skin_ClearBottomColors (const byte *in, byte *out, int pixels)
VISIBLE int
Skin_ClearBottomColors (byte *out, const byte *in, size_t pixels)
{
while (pixels-- > 0) {
byte pix = *in++;
@ -305,4 +306,5 @@ Skin_ClearBottomColors (const byte *in, byte *out, int pixels)
*out++ = pix;
}
}
return 0;
}