[model] Move Mod_CalcFullbright to its own file

This allows it to be shared between renderers.
This commit is contained in:
Bill Currie 2021-01-19 14:54:39 +09:00
parent 7a353d5aee
commit ba5e86d927
3 changed files with 56 additions and 19 deletions

View file

@ -12,7 +12,13 @@ EXTRA_LTLIBRARIES += \
libs/models/libmodels_sw.la \
libs/models/libmodels_vulkan.la
models_sources = libs/models/clip_hull.c libs/models/model.c libs/models/portal.c libs/models/trace.c libs/models/winding.c
models_sources = \
libs/models/clip_hull.c \
libs/models/fullbright.c \
libs/models/model.c \
libs/models/portal.c \
libs/models/trace.c \
libs/models/winding.c
common_libs = \
libs/util/libQFutil.la

49
libs/models/fullbright.c Normal file
View file

@ -0,0 +1,49 @@
/*
fullbright.c
fullbright skin handling
Copyright (C) 1996-1997 Id Software, Inc.
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to:
Free Software Foundation, Inc.
59 Temple Place - Suite 330
Boston, MA 02111-1307, USA
*/
// models are the only shared resource between a client and server running
// on the same machine.
#ifdef HAVE_CONFIG_H
# include "config.h"
#endif
#include "r_local.h"
VISIBLE int
Mod_CalcFullbright (byte *in, byte *out, int pixels)
{
byte fb = 0;
while (pixels--) {
byte pix = *in++;
byte mask = (pix >= 256 - 32) - 1;
fb |= mask + 1;
*out++ = pix | mask;
}
return fb;
}

View file

@ -40,24 +40,6 @@
#include "r_local.h"
VISIBLE int
Mod_CalcFullbright (byte *in, byte *out, int pixels)
{
int fb = 0;
while (pixels--) {
if (*in >= 256 - 32) {
fb = 1;
*out++ = *in++;
} else {
*out++ = 255;
in++;
}
}
return fb;
}
int
Mod_Fullbright (byte *skin, int width, int height, const char *name)
{