mirror of
https://git.code.sf.net/p/quake/quakeforge
synced 2025-03-22 10:21:21 +00:00
[model] Swap fullbright/top/bottom color func params
This makes them semantically compatible with memcpy.
This commit is contained in:
parent
ff6d6f6dd6
commit
ea4ac894d8
7 changed files with 24 additions and 21 deletions
|
@ -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);
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue