Link the model libs to the render plugins.

This commit is contained in:
Bill Currie 2012-02-14 21:25:19 +09:00
parent 8e91fb7bc1
commit 8530959752
34 changed files with 173 additions and 238 deletions

View File

@ -40,7 +40,7 @@ if test "x$HAVE_FBDEV" = xyes; then
CL_TARGETS="$CL_TARGETS FBDEV"
VID_TARGETS="$VID_TARGETS libQFfbdev.la"
QF_NEED(vid_render, [sw])
QF_NEED(QFmodels, [sw])
QF_NEED(models, [sw])
QF_NEED(alias, [sw])
QF_NEED(brush, [sw])
QF_NEED(sprite, [sw])
@ -55,38 +55,10 @@ if test "x$HAVE_FBDEV" = xyes; then
fi
if test "x$HAVE_X" = xyes; then
if test "x$ENABLE_clients_glx" = xyes; then
QW_TARGETS="$QW_TARGETS qw-client-glx\$(EXEEXT)"
NQ_TARGETS="$NQ_TARGETS nq-glx\$(EXEEXT)"
QW_DESKTOP_DATA="$QW_DESKTOP_DATA quakeforge-qw-glx.desktop"
NQ_DESKTOP_DATA="$NQ_DESKTOP_DATA quakeforge-nq-glx.desktop"
CL_TARGETS="$CL_TARGETS GLX"
VID_TARGETS="$VID_TARGETS libQFglx.la"
QF_NEED(vid_render, [gl])
QF_NEED(QFmodels, [gl])
QF_NEED(alias, [gl])
QF_NEED(brush, [gl])
QF_NEED(sprite, [gl])
QF_NEED(vid, [common gl x11])
QF_NEED(qw, [client common])
QF_NEED(nq, [client common])
QF_NEED(console, [client])
fi
if test "x$ENABLE_clients_glslx" = xyes; then
QW_TARGETS="$QW_TARGETS qw-client-glslx\$(EXEEXT)"
NQ_TARGETS="$NQ_TARGETS nq-glslx\$(EXEEXT)"
QW_DESKTOP_DATA="$QW_DESKTOP_DATA quakeforge-qw-glx.desktop"
NQ_DESKTOP_DATA="$NQ_DESKTOP_DATA quakeforge-nq-glslx.desktop"
CL_TARGETS="$CL_TARGETS GLSLX"
VID_TARGETS="$VID_TARGETS libQFglslx.la"
QF_NEED(vid_render, [glsl])
QF_NEED(QFmodels, [glsl])
QF_NEED(alias, [glsl])
QF_NEED(brush, [glsl])
QF_NEED(sprite, [glsl])
QF_NEED(vid, [common glsl x11])
QF_NEED(qw, [client common])
QF_NEED(nq, [client common])
QF_NEED(console, [client])
fi
if test "x$ENABLE_clients_x11" = xyes; then
QW_TARGETS="$QW_TARGETS qw-client-x11\$(EXEEXT)"
@ -95,11 +67,11 @@ if test "x$HAVE_X" = xyes; then
NQ_DESKTOP_DATA="$NQ_DESKTOP_DATA quakeforge-nq-x11.desktop"
CL_TARGETS="$CL_TARGETS X11"
VID_TARGETS="$VID_TARGETS libQFx11.la"
QF_NEED(vid_render, [sw])
QF_NEED(QFmodels, [sw])
QF_NEED(alias, [sw])
QF_NEED(brush, [sw])
QF_NEED(sprite, [sw])
QF_NEED(vid_render, [sw sw32 gl glsl])
QF_NEED(models, [sw gl glsl])
QF_NEED(alias, [sw gl glsl])
QF_NEED(brush, [sw gl glsl])
QF_NEED(sprite, [sw gl glsl])
if test "x$ASM_ARCH" = "xyes"; then
QF_NEED(swrend, [asm])
fi
@ -109,26 +81,6 @@ if test "x$HAVE_X" = xyes; then
QF_NEED(console, [client])
fi
fi
if test "x$HAVE_MGL" = xyes; then
if test "x$ENABLE_clients_mgl" = xyes; then
QW_TARGETS="$QW_TARGETS qw-client-mgl\$(EXEEXT)"
NQ_TARGETS="$NQ_TARGETS nq-mgl\$(EXEEXT)"
CL_TARGETS="$CL_TARGETS MGL"
VID_TARGETS="$VID_TARGETS libQFwgl.la"
QF_NEED(vid_render, [sw])
QF_NEED(QFmodels, [sw])
QF_NEED(alias, [sw])
QF_NEED(brush, [sw])
QF_NEED(sprite, [sw])
if test "x$ASM_ARCH" = "xyes"; then
QF_NEED(swrend, [asm])
fi
QF_NEED(vid, [common sw])
QF_NEED(qw, [client common])
QF_NEED(nq, [client common])
QF_NEED(console, [client])
fi
fi
if test "x$HAVE_SDL" = xyes; then
if test "x$ENABLE_clients_sdl" = xyes; then
QW_TARGETS="$QW_TARGETS qw-client-sdl\$(EXEEXT)"
@ -137,11 +89,11 @@ if test "x$HAVE_SDL" = xyes; then
NQ_DESKTOP_DATA="$NQ_DESKTOP_DATA quakeforge-nq-sdl.desktop"
CL_TARGETS="$CL_TARGETS SDL"
VID_TARGETS="$VID_TARGETS libQFsdl.la"
QF_NEED(vid_render, [sw])
QF_NEED(QFmodels, [sw])
QF_NEED(alias, [sw])
QF_NEED(brush, [sw])
QF_NEED(sprite, [sw])
QF_NEED(vid_render, [sw sw32 gl glsl])
QF_NEED(models, [sw gl glsl])
QF_NEED(alias, [sw gl glsl])
QF_NEED(brush, [sw gl glsl])
QF_NEED(sprite, [sw gl glsl])
if test "x$ASM_ARCH" = "xyes"; then
QF_NEED(swrend, [asm])
fi
@ -150,57 +102,6 @@ if test "x$HAVE_SDL" = xyes; then
QF_NEED(nq, [client common sdl])
QF_NEED(console, [client])
fi
if test "x$ENABLE_clients_sdl32" = xyes; then
QW_TARGETS="$QW_TARGETS qw-client-sdl32\$(EXEEXT)"
NQ_TARGETS="$NQ_TARGETS nq-sdl32\$(EXEEXT)"
QW_DESKTOP_DATA="$QW_DESKTOP_DATA quakeforge-qw-sdl32.desktop"
NQ_DESKTOP_DATA="$NQ_DESKTOP_DATA quakeforge-nq-sdl32.desktop"
CL_TARGETS="$CL_TARGETS SDL32"
VID_TARGETS="$VID_TARGETS libQFsdl32.la"
QF_NEED(vid_render, [sw32])
QF_NEED(QFmodels, [sw])
QF_NEED(alias, [sw])
QF_NEED(brush, [sw])
QF_NEED(sprite, [sw])
QF_NEED(vid, [common sdl sw32])
QF_NEED(qw, [client common sdl])
QF_NEED(nq, [client common sdl])
QF_NEED(console, [client])
fi
if test "x$ENABLE_clients_sgl" = xyes; then
QW_TARGETS="$QW_TARGETS qw-client-sgl\$(EXEEXT)"
NQ_TARGETS="$NQ_TARGETS nq-sgl\$(EXEEXT)"
QW_DESKTOP_DATA="$QW_DESKTOP_DATA quakeforge-qw-sgl.desktop"
NQ_DESKTOP_DATA="$NQ_DESKTOP_DATA quakeforge-nq-sgl.desktop"
CL_TARGETS="$CL_TARGETS SDL-GL"
VID_TARGETS="$VID_TARGETS libQFsgl.la"
QF_NEED(vid_render, [gl])
QF_NEED(QFmodels, [gl])
QF_NEED(alias, [gl])
QF_NEED(brush, [gl])
QF_NEED(sprite, [gl])
QF_NEED(vid, [common sdl gl])
QF_NEED(qw, [client common sdl])
QF_NEED(nq, [client common sdl])
QF_NEED(console, [client])
fi
if test "x$ENABLE_clients_sglsl" = xyes; then
QW_TARGETS="$QW_TARGETS qw-client-sglsl\$(EXEEXT)"
NQ_TARGETS="$NQ_TARGETS nq-sglsl\$(EXEEXT)"
QW_DESKTOP_DATA="$QW_DESKTOP_DATA quakeforge-qw-sglsl.desktop"
NQ_DESKTOP_DATA="$NQ_DESKTOP_DATA quakeforge-nq-sglsl.desktop"
CL_TARGETS="$CL_TARGETS SDL-GLSL"
VID_TARGETS="$VID_TARGETS libQFsglsl.la"
QF_NEED(vid_render, [glsl])
QF_NEED(QFmodels, [glsl])
QF_NEED(alias, [glsl])
QF_NEED(brush, [glsl])
QF_NEED(sprite, [glsl])
QF_NEED(vid, [common sdl glsl])
QF_NEED(qw, [client common sdl])
QF_NEED(nq, [client common sdl])
QF_NEED(console, [client])
fi
fi
if test "x$HAVE_SVGA" = xyes; then
if test "x$ENABLE_clients_svga" = xyes; then
@ -209,7 +110,7 @@ if test "x$HAVE_SVGA" = xyes; then
CL_TARGETS="$CL_TARGETS SVGAlib"
VID_TARGETS="$VID_TARGETS libQFsvga.la"
QF_NEED(vid_render, [sw])
QF_NEED(QFmodels, [sw])
QF_NEED(models, [sw])
QF_NEED(alias, [sw])
QF_NEED(brush, [sw])
QF_NEED(sprite, [sw])
@ -221,39 +122,24 @@ if test "x$HAVE_SVGA" = xyes; then
QF_NEED(nq, [client common])
QF_NEED(console, [client])
fi
if test "x$ENABLE_clients_3dfx" = xyes; then
QW_TARGETS="$QW_TARGETS qw-client-3dfx\$(EXEEXT)"
NQ_TARGETS="$NQ_TARGETS nq-3dfx\$(EXEEXT)"
CL_TARGETS="$CL_TARGETS 3dfx"
VID_TARGETS="$VID_TARGETS libQFtdfx.la"
QF_NEED(vid_render, [gl])
QF_NEED(QFmodels, [gl])
QF_NEED(alias, [gl])
QF_NEED(brush, [gl])
QF_NEED(sprite, [gl])
QF_NEED(vid, [asm common gl svga])
QF_NEED(qw, [client common])
QF_NEED(nq, [client common])
QF_NEED(console, [client])
fi
fi
if test "x$mingw" = xyes; then
if test "x$ENABLE_clients_wgl" = xyes; then
QW_TARGETS="$QW_TARGETS qw-client-wgl\$(EXEEXT)"
NQ_TARGETS="$NQ_TARGETS nq-wgl\$(EXEEXT)"
CL_TARGETS="$CL_TARGETS WGL"
VID_TARGETS="$VID_TARGETS libQFwgl.la"
QF_NEED(vid_render, [gl])
QF_NEED(QFmodels, [gl])
QF_NEED(alias, [gl])
QF_NEED(brush, [gl])
QF_NEED(sprite, [gl])
QF_NEED(vid, [common gl])
QF_NEED(qw, [client common])
QF_NEED(nq, [client common])
QF_NEED(console, [client])
fi
fi
#if test "x$mingw" = xyes; then
# if test "x$ENABLE_clients_wgl" = xyes; then
# QW_TARGETS="$QW_TARGETS qw-client-wgl\$(EXEEXT)"
# NQ_TARGETS="$NQ_TARGETS nq-wgl\$(EXEEXT)"
# CL_TARGETS="$CL_TARGETS WGL"
# VID_TARGETS="$VID_TARGETS libQFwgl.la"
# QF_NEED(vid_render, [gl])
# QF_NEED(models, [gl])
# QF_NEED(alias, [gl])
# QF_NEED(brush, [gl])
# QF_NEED(sprite, [gl])
# QF_NEED(vid, [common gl])
# QF_NEED(qw, [client common])
# QF_NEED(nq, [client common])
# QF_NEED(console, [client])
# fi
#fi
unset SV_TARGETS
if test "x$ENABLE_servers_nq" = xyes; then
@ -339,7 +225,7 @@ QF_PROCESS_NEED_DIRS(top, [libs hw nq qtv qw tools ruamoko])
QF_PROCESS_NEED_LIBS(swrend, [asm])
QF_PROCESS_NEED_DIRS(vid_render, [gl glsl sw sw32])
QF_PROCESS_NEED_LIBS(QFmodels, [gl glsl sw])
QF_PROCESS_NEED_LIBS(models, [gl glsl sw])
QF_PROCESS_NEED_LIBS(alias, [gl glsl sw])
QF_PROCESS_NEED_LIBS(brush, [gl glsl sw])
QF_PROCESS_NEED_LIBS(sprite, [gl glsl sw])

View File

@ -35,6 +35,8 @@
#include "QF/modelgen.h"
#include "QF/zone.h"
extern struct vid_model_funcs_s *mod_funcs;
/*
d*_t structures are on-disk representations
m*_t structures are in-memory
@ -438,10 +440,7 @@ void Mod_TouchModel (const char *name);
mleaf_t *Mod_PointInLeaf (const vec3_t p, model_t *model);
byte *Mod_LeafPVS (mleaf_t *leaf, model_t *model);
model_t *Mod_FindName (const char *name);
void Mod_ProcessTexture(texture_t *tx);
void Mod_LoadExternalSkins (model_t * mod);
void Mod_LoadExternalTextures (model_t * mod);
void Mod_LoadLighting (bsp_t *bsp);
int Mod_CalcFullbright (byte *in, byte *out, int pixels);
int Mod_Fullbright (byte * skin, int width, int height, char *name);
@ -457,13 +456,6 @@ void Mod_FinalizeAliasModel (model_t *m, aliashdr_t *hdr);
void Mod_SpriteLoadTexture (mspriteframe_t *pspriteframe, int framenum);
void Mod_LoadBrushModel (model_t *mod, void *buffer);
void Mod_LoadAliasModel (model_t *mod, void *buffer,
cache_allocator_t allocator);
void Mod_LoadAlias2Model (model_t *mod, void *buffer,
cache_allocator_t allocator);
void Mod_LoadSpriteModel (model_t *mod, void *buffer);
void Mod_LoadSprite2Model (model_t *mod, void *buffer);
void Mod_SubdivideSurface (msurface_t *fa);
void Mod_FloodFillSkin (byte * skin, int skinwidth, int skinheight);
void Mod_Print (void);

View File

@ -36,6 +36,7 @@
struct plitem_s;
struct cvar_s;
struct skin_s;
/*
All video plugins must export these functions
@ -79,6 +80,26 @@ typedef struct vid_particle_funcs_s {
float ramp);
} vid_particle_funcs_t;
typedef struct vid_model_funcs_s {
void (*Mod_LoadExternalTextures) (model_t *mod);
void (*Mod_LoadLighting) (bsp_t *bsp);
void (*Mod_SubdivideSurface) (msurface_t *fa);
void (*Mod_ProcessTexture) (texture_t *tx);
void (*Mod_LoadAliasModel) (model_t *mod, void *buffer,
cache_allocator_t allocator);
void (*Mod_LoadSpriteModel) (model_t *mod, void *buffer);
struct skin_s *(*Skin_SetColormap) (struct skin_s *skin, int cmap);
struct skin_s *(*Skin_SetSkin) (struct skin_s *skin, int cmap,
const char *skinname);
void (*Skin_SetupSkin) (struct skin_s *skin, int cmap);
void (*Skin_SetTranslation) (int cmap, int top, int bottom);
void (*Skin_ProcessTranslation) (int cmap, const byte *translation);
void (*Skin_InitTranslations) (void);
int (*Skin_Init_Textures) (int base);
void (*Skin_SetPlayerSkin) (int width, int height, const byte *data);
} vid_model_funcs_t;
typedef struct vid_render_funcs_s {
void (*Draw_Init) (void);
void (*Draw_Character) (int x, int y, unsigned ch);

View File

@ -58,15 +58,4 @@ typedef struct skin_s {
int auxtex;
} skin_t;
skin_t *Skin_SetColormap (skin_t *skin, int cmap);
skin_t *Skin_SetSkin (skin_t *skin, int cmap, const char *skinname);
void Skin_SetupSkin (skin_t *skin, int cmap);
void Skin_SetTranslation (int cmap, int top, int bottom);
void Skin_ProcessTranslation (int cmap, const byte *translation);
void Skin_InitTranslations (void);
int Skin_Init_Textures (int base); // only GL
void Skin_SetPlayerSkin (int width, int height, const byte *data); // only GL
void Skin_Init (void);
#endif

24
include/mod_internal.h Normal file
View File

@ -0,0 +1,24 @@
#ifndef __mod_internal_h
#define __mod_internal_h
#include "QF/model.h"
#include "QF/skin.h"
void Mod_LoadExternalTextures (model_t *mod);
void Mod_LoadLighting (bsp_t *bsp);
void Mod_SubdivideSurface (msurface_t *fa);
void Mod_ProcessTexture(texture_t *tx);
void Mod_LoadAliasModel (model_t *mod, void *buffer,
cache_allocator_t allocator);
void Mod_LoadSpriteModel (model_t *mod, void *buffer);
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_SetupSkin (skin_t *skin, int cmap);
void Skin_SetTranslation (int cmap, int top, int bottom);
void Skin_ProcessTranslation (int cmap, const byte *translation);
void Skin_InitTranslations (void);
int Skin_Init_Textures (int base);
void Skin_SetPlayerSkin (int width, int height, const byte *data);
#endif// __mod_internal_h

View File

@ -4,8 +4,9 @@ SUBDIRS= alias brush sprite . test
AM_CFLAGS= @PREFER_PIC@
INCLUDES= -I$(top_srcdir)/include
lib_LTLIBRARIES= libQFmodels.la @QFmodels_libs@
EXTRA_LTLIBRARIES= libQFmodels_gl.la libQFmodels_glsl.la libQFmodels_sw.la
lib_LTLIBRARIES= libQFmodels.la
noinst_LTLIBRARIES= @models_libs@
EXTRA_LTLIBRARIES= libmodels_gl.la libmodels_glsl.la libmodels_sw.la
lib_ldflags=-version-info $(QUAKE_LIBRARY_VERSION_INFO) \
-rpath $(libdir) -no-undefined
@ -21,34 +22,32 @@ models_libs=brush/libbrush.la $(common_libs)
libQFmodels_la_LDFLAGS= $(lib_ldflags)
libQFmodels_la_LIBADD= $(models_libs)
libQFmodels_la_DEPENDENCIES= $(models_libs)
libQFmodels_la_SOURCES= $(models_sources) null_model.c
libQFmodels_la_SOURCES= $(models_sources)
gl_sources=gl_model_fullbright.c gl_skin.c skin.c
gl_libs= \
alias/libalias_gl.la \
brush/libbrush_gl.la \
sprite/libsprite_gl.la
libQFmodels_gl_la_LDFLAGS= $(lib_ldflags)
libQFmodels_gl_la_LIBADD= $(gl_libs)
libQFmodels_gl_la_DEPENDENCIES= $(gl_libs)
libQFmodels_gl_la_SOURCES= $(models_sources) $(gl_sources)
libmodels_gl_la_LDFLAGS=
libmodels_gl_la_LIBADD= $(gl_libs)
libmodels_gl_la_DEPENDENCIES= $(gl_libs)
libmodels_gl_la_SOURCES= $(gl_sources)
glsl_libs= \
alias/libalias_glsl.la \
brush/libbrush_glsl.la \
sprite/libsprite_glsl.la \
$(common_libs)
libQFmodels_glsl_la_LDFLAGS= $(lib_ldflags)
libQFmodels_glsl_la_LIBADD= $(glsl_libs)
libQFmodels_glsl_la_DEPENDENCIES= $(glsl_libs)
libQFmodels_glsl_la_SOURCES= $(models_sources) glsl_skin.c skin.c
sprite/libsprite_glsl.la
libmodels_glsl_la_LDFLAGS=
libmodels_glsl_la_LIBADD= $(glsl_libs)
libmodels_glsl_la_DEPENDENCIES= $(glsl_libs)
libmodels_glsl_la_SOURCES= glsl_skin.c skin.c
sw_libs= \
alias/libalias_sw.la \
brush/libbrush_sw.la \
sprite/libsprite_sw.la \
$(common_libs)
libQFmodels_sw_la_LDFLAGS= $(lib_ldflags)
libQFmodels_sw_la_LIBADD= $(sw_libs)
libQFmodels_sw_la_DEPENDENCIES= $(sw_libs)
libQFmodels_sw_la_SOURCES= $(models_sources) sw_skin.c skin.c
sprite/libsprite_sw.la
libmodels_sw_la_LDFLAGS=
libmodels_sw_la_LIBADD= $(sw_libs)
libmodels_sw_la_DEPENDENCIES= $(sw_libs)
libmodels_sw_la_SOURCES= sw_skin.c skin.c

View File

@ -33,10 +33,11 @@
static __attribute__ ((used)) const char rcsid[] = "$Id$";
#include "QF/model.h"
#include "QF/sys.h"
#include "QF/vid.h"
#include "mod_internal.h"
// a pose is a single set of vertexes. a frame may be
// an animating sequence of poses

View File

@ -43,10 +43,11 @@ static __attribute__ ((used)) const char rcsid[] =
#include "QF/cvar.h"
#include "QF/dstring.h"
#include "QF/mdfour.h"
#include "QF/model.h"
#include "QF/quakefs.h"
#include "QF/sys.h"
#include "mod_internal.h"
#include "compat.h"
// ALIAS MODEL DISPLAY LIST GENERATION ========================================

View File

@ -41,7 +41,6 @@ static __attribute__ ((used)) const char rcsid[] = "$Id$";
#endif
#include "QF/image.h"
#include "QF/model.h"
#include "QF/qendian.h"
#include "QF/quakefs.h"
#include "QF/skin.h"
@ -50,6 +49,8 @@ static __attribute__ ((used)) const char rcsid[] = "$Id$";
#include "QF/vid.h"
#include "QF/GL/qf_textures.h"
#include "mod_internal.h"
#include "compat.h"
int alias_cache = 1;

View File

@ -42,7 +42,6 @@ static __attribute__ ((used)) const char rcsid[] = "$Id$";
#include <stdlib.h>
#include "QF/model.h"
#include "QF/va.h"
#include "QF/GLSL/defines.h"
@ -50,6 +49,7 @@ static __attribute__ ((used)) const char rcsid[] = "$Id$";
#include "QF/GLSL/qf_alias.h"
#include "QF/GLSL/qf_textures.h"
#include "mod_internal.h"
#include "r_shared.h"
int alias_cache = 0;

View File

@ -42,7 +42,6 @@ static __attribute__ ((used)) const char rcsid[] =
#endif
#include "QF/crc.h"
#include "QF/model.h"
#include "QF/msg.h"
#include "QF/qendian.h"
#include "QF/quakefs.h"
@ -50,6 +49,7 @@ static __attribute__ ((used)) const char rcsid[] =
#include "compat.h"
#include "d_iface.h"
#include "mod_internal.h"
#include "r_local.h"
extern int alias_cache; //FIXME extern

View File

@ -40,12 +40,12 @@ static __attribute__ ((used)) const char rcsid[] = "$Id$";
# include <strings.h>
#endif
#include "QF/model.h"
#include "QF/qendian.h"
#include "QF/sys.h"
#include "compat.h"
#include "d_iface.h"
#include "mod_internal.h"
int alias_cache = 1;

View File

@ -44,7 +44,6 @@ static __attribute__ ((used)) const char rcsid[] =
#include "QF/cvar.h"
#include "QF/dstring.h"
#include "QF/image.h"
#include "QF/model.h"
#include "QF/qendian.h"
#include "QF/quakefs.h"
#include "QF/sys.h"
@ -53,6 +52,7 @@ static __attribute__ ((used)) const char rcsid[] =
#include "QF/GL/qf_textures.h"
#include "compat.h"
#include "mod_internal.h"
void

View File

@ -46,7 +46,6 @@ static __attribute__ ((used)) const char rcsid[] = "$Id$";
#include "QF/cvar.h"
#include "QF/dstring.h"
#include "QF/image.h"
#include "QF/model.h"
#include "QF/qendian.h"
#include "QF/quakefs.h"
#include "QF/sys.h"
@ -57,6 +56,7 @@ static __attribute__ ((used)) const char rcsid[] = "$Id$";
#include "QF/GLSL/qf_textures.h"
#include "compat.h"
#include "mod_internal.h"
static void
glsl_brush_clear (model_t *m)

View File

@ -52,6 +52,8 @@ static __attribute__ ((used)) const char rcsid[] =
#include "QF/sys.h"
#include "QF/va.h"
#include "QF/plugin/vid_render.h"
#include "compat.h"
byte mod_novis[MAX_MAP_LEAFS / 8];
@ -204,7 +206,7 @@ Mod_LoadTextures (bsp_t *bsp)
if (!strncmp (mt->name, "sky", 3))
loadmodel->skytexture = tx;
Mod_ProcessTexture (tx);
mod_funcs->Mod_ProcessTexture (tx);
}
// sequence the animations
@ -542,7 +544,7 @@ Mod_LoadFaces (bsp_t *bsp)
if (!strncmp (out->texinfo->texture->name, "sky", 3)) { // sky
out->flags |= (SURF_DRAWSKY | SURF_DRAWTILED);
if (gl_sky_divide && gl_sky_divide->int_val)
Mod_SubdivideSurface (out);
mod_funcs->Mod_SubdivideSurface (out);
continue;
}
@ -554,7 +556,7 @@ Mod_LoadFaces (bsp_t *bsp)
out->extents[i] = 16384;
out->texturemins[i] = -8192;
}
Mod_SubdivideSurface (out); // cut up polygon for warps
mod_funcs->Mod_SubdivideSurface (out); // cut up polygon for warps
continue;
}
}
@ -900,7 +902,7 @@ Mod_LoadBrushModel (model_t *mod, void *buffer)
Mod_LoadEdges (bsp);
Mod_LoadSurfedges (bsp);
Mod_LoadTextures (bsp);
Mod_LoadLighting (bsp);
mod_funcs->Mod_LoadLighting (bsp);
Mod_LoadPlanes (bsp);
Mod_LoadTexinfo (bsp);
Mod_LoadFaces (bsp);

View File

@ -41,7 +41,7 @@ static __attribute__ ((used)) const char rcsid[] =
# include <strings.h>
#endif
#include "QF/model.h"
#include "mod_internal.h"
void

View File

@ -53,6 +53,7 @@ static __attribute__ ((used)) const char rcsid[] = "$Id$";
#include "QF/GL/funcs.h"
#include "QF/GL/qf_textures.h"
#include "mod_internal.h"
#include "r_internal.h"
typedef struct {

View File

@ -50,6 +50,7 @@ static __attribute__ ((used)) const char rcsid[] = "$Id$";
#include "QF/GLSL/defines.h"
#include "QF/GLSL/funcs.h"
#include "mod_internal.h"
#include "r_internal.h"
static GLuint cmap_tex[MAX_TRANSLATIONS];

View File

@ -47,8 +47,12 @@ static __attribute__ ((used)) const char rcsid[] =
#include "QF/quakefs.h"
#include "QF/sys.h"
#include "QF/plugin/vid_render.h"
#include "compat.h"
vid_model_funcs_t *mod_funcs;
model_t *loadmodel;
char *loadname; // for hunk tags
@ -208,13 +212,13 @@ Mod_RealLoadModel (model_t *mod, qboolean crash, cache_allocator_t allocator)
} else if (strequal (mod->name, "progs/player.mdl")) {
mod->min_light = 0.04;
}
Mod_LoadAliasModel (mod, buf, allocator);
mod_funcs->Mod_LoadAliasModel (mod, buf, allocator);
break;
case IDHEADER_MD2: // Type 8: Quake 2 .md2
// Mod_LoadMD2 (mod, buf, allocator);
break;
case IDHEADER_SPR: // Type 1: Quake 1 .spr
Mod_LoadSpriteModel (mod, buf);
mod_funcs->Mod_LoadSpriteModel (mod, buf);
break;
case IDHEADER_SP2: // Type 2: Quake 2 .sp2
// Mod_LoadSP2 (mod, buf);
@ -224,7 +228,7 @@ Mod_RealLoadModel (model_t *mod, qboolean crash, cache_allocator_t allocator)
Mod_LoadBrushModel (mod, buf);
if (gl_textures_external->int_val)
Mod_LoadExternalTextures (mod);
mod_funcs->Mod_LoadExternalTextures (mod);
break;
}
free (buf);

View File

@ -47,12 +47,13 @@ static __attribute__ ((used)) const char rcsid[] = "$Id$";
#include "QF/model.h"
#include "QF/pcx.h"
#include "QF/quakefs.h"
#include "QF/skin.h"
#include "QF/sys.h"
#include "QF/va.h"
#include "QF/plugin/vid_render.h"
#include "mod_internal.h"
typedef struct skinbank_s {
char *name;
tex_t *texels;

View File

@ -39,12 +39,12 @@ static __attribute__ ((used)) const char rcsid[] =
#endif
#include "QF/image.h"
#include "QF/model.h"
#include "QF/quakefs.h"
#include "QF/va.h"
#include "QF/GL/qf_textures.h"
#include "compat.h"
#include "mod_internal.h"
void
Mod_SpriteLoadTexture (mspriteframe_t *pspriteframe, int framenum)

View File

@ -41,12 +41,12 @@ static __attribute__ ((used)) const char rcsid[] = "$Id$";
#endif
#include "QF/image.h"
#include "QF/model.h"
#include "QF/quakefs.h"
#include "QF/va.h"
#include "QF/GLSL/qf_textures.h"
#include "compat.h"
#include "mod_internal.h"
static void
glsl_sprite_clear (model_t *m)

View File

@ -38,11 +38,11 @@ static __attribute__ ((used)) const char rcsid[] =
# include <strings.h>
#endif
#include "QF/model.h"
#include "QF/qendian.h"
#include "QF/sys.h"
#include "compat.h"
#include "mod_internal.h"
static void *
Mod_LoadSpriteFrame (void *pin, mspriteframe_t **ppframe, int framenum)

View File

@ -31,7 +31,7 @@
static __attribute__ ((used)) const char rcsid[] =
"$Id$";
#include "QF/model.h"
#include "mod_internal.h"
void
Mod_SpriteLoadTexture (mspriteframe_t *pspriteframe, int framenum)

View File

@ -33,7 +33,7 @@
static __attribute__ ((used)) const char rcsid[] = "$Id$";
#include "QF/skin.h"
#include "mod_internal.h"
void
Skin_ProcessTranslation (int cmap, const byte *translation)

View File

@ -27,22 +27,34 @@ libQFrenderer_la_LIBADD=
libQFrenderer_la_DEPENDENCIES=
libQFrenderer_la_SOURCES= r_init.c r_progs.c
gl_libs= \
gl/libgl.la \
$(top_builddir)/libs/models/libmodels_gl.la
vid_render_gl_la_LDFLAGS= $(plugin_ldflags)
vid_render_gl_la_LIBADD= gl/libgl.la
vid_render_gl_la_DEPENDENCIES= gl/libgl.la
vid_render_gl_la_LIBADD= $(gl_libs)
vid_render_gl_la_DEPENDENCIES= $(gl_libs)
vid_render_gl_la_SOURCES= $(common_sources) #vid_render_gl.c
glsl_libs= \
glsl/libglsl.la \
$(top_builddir)/libs/models/libmodels_glsl.la
vid_render_glsl_la_LDFLAGS= $(plugin_ldflags)
vid_render_glsl_la_LIBADD= glsl/libglsl.la
vid_render_glsl_la_DEPENDENCIES=glsl/libglsl.la
vid_render_glsl_la_LIBADD= $(glsl_libs)
vid_render_glsl_la_DEPENDENCIES=$(glsl_libs)
vid_render_glsl_la_SOURCES= $(common_sources) #vid_render_glsl.c
sw_libs= \
sw/libsw.la \
$(top_builddir)/libs/models/libmodels_sw.la
vid_render_sw_la_LDFLAGS= $(plugin_ldflags)
vid_render_sw_la_LIBADD= sw/libsw.la
vid_render_sw_la_DEPENDENCIES= sw/libsw.la
vid_render_sw_la_LIBADD= $(sw_libs)
vid_render_sw_la_DEPENDENCIES= $(sw_libs)
vid_render_sw_la_SOURCES= $(common_sources) #vid_render_sw.c
sw32_libs= \
sw32/libsw32.la \
$(top_builddir)/libs/models/libmodels_sw.la
vid_render_sw32_la_LDFLAGS= $(plugin_ldflags)
vid_render_sw32_la_LIBADD= sw32/libsw32.la
vid_render_sw32_la_DEPENDENCIES=sw32/libsw32.la
vid_render_sw32_la_LIBADD= $(sw32_libs)
vid_render_sw32_la_DEPENDENCIES=$(sw32_libs)
vid_render_sw32_la_SOURCES= $(common_sources) #vid_render_sw32.c

View File

@ -61,6 +61,7 @@ static __attribute__ ((used)) const char rcsid[] =
#include "QF/GL/qf_textures.h"
#include "QF/GL/qf_vid.h"
#include "mod_internal.h"
#include "r_internal.h"
#include "varrays.h"

View File

@ -88,7 +88,7 @@ server_libs = libnq_server.a libnq_common.a
# Software-rendering targets
soft_QFLIBS= $(top_builddir)/libs/video/renderer/libQFrenderer.la \
$(top_builddir)/libs/models/libQFmodels_sw.la
$(top_builddir)/libs/models/libQFmodels.la
# ... Linux FBDev
nq_fbdev_libs= \
@ -133,7 +133,7 @@ nq_sdl32_libs= \
$(client_libs) \
$(cl_plugin_LIBS) \
$(top_builddir)/libs/video/renderer/libQFrenderer.la \
$(top_builddir)/libs/models/libQFmodels_sw.la \
$(top_builddir)/libs/models/libQFmodels.la \
$(top_builddir)/libs/video/targets/libQFsdl32.la \
$(client_LIBS)
nq_sdl32_SOURCES=sdl_link.c
@ -171,11 +171,11 @@ nq_x11_DEPENDENCIES= $(nq_x11_libs)
opengl_QFLIBS= \
$(top_builddir)/libs/video/renderer/libQFrenderer.la \
$(top_builddir)/libs/models/libQFmodels_gl.la
$(top_builddir)/libs/models/libQFmodels.la
glsl_QFLIBS= \
$(top_builddir)/libs/video/renderer/libQFrenderer.la \
$(top_builddir)/libs/models/libQFmodels_glsl.la
$(top_builddir)/libs/models/libQFmodels.la
# ... Linux 3DFX
nq_3dfx_libs= \

View File

@ -523,7 +523,6 @@ CL_Init (cbuf_t *cbuf)
CL_TEnts_Init ();
CL_ClearState ();
Skin_Init ();
V_Init ();
Cmd_AddCommand ("entities", CL_PrintEntities_f, "No Description");

View File

@ -525,7 +525,7 @@ CL_ParseUpdate (int bits)
i = state->baseline.colormap;
if (i > cl.maxclients)
Sys_Error ("i > cl.maxclients");
ent->skin = Skin_SetColormap (ent->skin, i);
ent->skin = mod_funcs->Skin_SetColormap (ent->skin, i);
if (bits & U_SKIN)
skin = MSG_ReadByte (net_message);
@ -534,9 +534,9 @@ CL_ParseUpdate (int bits)
if (skin != ent->skinnum) {
ent->skinnum = skin;
if (num <= cl.maxclients) {
ent->skin = Skin_SetColormap (ent->skin, num);
Skin_SetTranslation (num, cl.scores[num].colors >> 4,
cl.scores[num].colors & 0xf);
ent->skin = mod_funcs->Skin_SetColormap (ent->skin, num);
mod_funcs->Skin_SetTranslation (num, cl.scores[num].colors >> 4,
cl.scores[num].colors & 0xf);
}
}
@ -612,7 +612,7 @@ CL_ParseUpdate (int bits)
} else
forcelink = true; // hack to make null model players work
if (num >= 0 && num <= cl.maxclients)
ent->skin = Skin_SetColormap (ent->skin, num);
ent->skin = mod_funcs->Skin_SetColormap (ent->skin, num);
}
if (forcelink) { // didn't have an update last message
@ -1021,9 +1021,10 @@ CL_ParseServerMessage (void)
entity_t *ent = &cl_entities[i+1];
byte col = MSG_ReadByte (net_message);
if (col != cl.scores[i].colors)
Skin_SetTranslation (i + 1, col >> 4, col & 0xf);
mod_funcs->Skin_SetTranslation (i + 1, col >> 4,
col & 0xf);
cl.scores[i].colors = col;
ent->skin = Skin_SetColormap (ent->skin, i + 1);
ent->skin = mod_funcs->Skin_SetColormap (ent->skin, i + 1);
}
break;

View File

@ -118,7 +118,7 @@ libqw_client_a_SOURCES= \
# Software-rendering clients
soft_LIBS= $(top_builddir)/libs/video/renderer/libQFrenderer.la \
$(top_builddir)/libs/models/libQFmodels_sw.la
$(top_builddir)/libs/models/libQFmodels.la
# ... Linux FBDev
qw_client_fbdev_libs= \
@ -163,7 +163,7 @@ qw_client_sdl32_libs= \
$(client_libs) \
$(cl_plugin_LIBS) \
$(top_builddir)/libs/video/renderer/libQFrenderer.la \
$(top_builddir)/libs/models/libQFmodels_sw.la \
$(top_builddir)/libs/models/libQFmodels.la \
$(top_builddir)/libs/video/targets/libQFsdl32.la \
$(client_LIBS)
qw_client_sdl32_SOURCES=sdl_link.c
@ -200,10 +200,10 @@ qw_client_x11_DEPENDENCIES= $(qw_client_x11_libs)
# OpenGL-using clients
opengl_LIBS= $(top_builddir)/libs/video/renderer/libQFrenderer.la \
$(top_builddir)/libs/models/libQFmodels_gl.la
$(top_builddir)/libs/models/libQFmodels.la
glsl_LIBS= $(top_builddir)/libs/video/renderer/libQFrenderer.la \
$(top_builddir)/libs/models/libQFmodels_glsl.la
$(top_builddir)/libs/models/libQFmodels.la
# ... OpenGL in X Window
qw_client_glx_libs= \

View File

@ -109,7 +109,7 @@ CL_ParseDelta (entity_state_t *from, entity_state_t *to, int bits)
if (bits & U_COLORMAP) {
byte cmap = MSG_ReadByte (net_message);
if (cmap != to->colormap)
to->skin = Skin_SetColormap (to->skin, cmap);
to->skin = mod_funcs->Skin_SetColormap (to->skin, cmap);
to->colormap = cmap;
}

View File

@ -364,7 +364,7 @@ Model_NextDownload (void)
if (strequal (cl.model_name[i], "progs/player.mdl")
&& cl.model_precache[i]->type == mod_alias) {
info_key = pmodel_name;
//XXX Skin_Player_Model (cl.model_precache[i]);
//XXX mod_funcs->Skin_Player_Model (cl.model_precache[i]);
}
if (strequal (cl.model_name[i], "progs/eyes.mdl")
&& cl.model_precache[i]->type == mod_alias)
@ -1114,10 +1114,11 @@ CL_ProcessUserInfo (int slot, player_info_t *player)
else
player->spectator = false;
Skin_SetTranslation (slot + 1, player->topcolor, player->bottomcolor);
player->skin = Skin_SetSkin (player->skin, slot + 1,
player->skinname->value);
player->skin = Skin_SetColormap (player->skin, slot + 1);
mod_funcs->Skin_SetTranslation (slot + 1, player->topcolor,
player->bottomcolor);
player->skin = mod_funcs->Skin_SetSkin (player->skin, slot + 1,
player->skinname->value);
player->skin = mod_funcs->Skin_SetColormap (player->skin, slot + 1);
Sbar_Changed ();
}

View File

@ -193,8 +193,6 @@ skin_f (cvar_t *var)
void
CL_Skin_Init (void)
{
Skin_Init ();
//Skin_Init_Cvars ();
Cmd_AddCommand ("skins", CL_Skins_f, "Download all skins that are "
"currently in use");
Cmd_AddCommand ("allskins", CL_AllSkins_f, "Force all player skins to "