From c0e925c3727f09bcaa003660c7673991802c9738 Mon Sep 17 00:00:00 2001 From: Nikoli Date: Wed, 7 Aug 2013 13:28:36 +0400 Subject: [PATCH] Server does not need renderer --- cl_parse.c | 2 + host.c | 4 + makefile.inc | 40 ++-- r_null.c | 564 +++++++++++++++++++++++++++++++++++++++++++++++++++ vid_shared.c | 4 + 5 files changed, 595 insertions(+), 19 deletions(-) create mode 100644 r_null.c diff --git a/cl_parse.c b/cl_parse.c index 3ae26aa9..bf25e20e 100644 --- a/cl_parse.c +++ b/cl_parse.c @@ -494,8 +494,10 @@ static void CL_SetupWorldModel(void) // make sure we send enough keepalives CL_KeepaliveMessage(false); +#ifdef CONFIG_CLIENT // reset particles and other per-level things R_Modules_NewMap(); +#endif // make sure we send enough keepalives CL_KeepaliveMessage(false); diff --git a/host.c b/host.c index a54067af..02f6edf3 100644 --- a/host.c +++ b/host.c @@ -1275,6 +1275,7 @@ static void Host_Init (void) Cmd_AddCommand ("disconnect", CL_Disconnect_f, "disconnect from server (or disconnect all clients if running a server)"); else { +#ifdef CONFIG_CLIENT Con_DPrintf("Initializing client\n"); R_Modules_Init(); @@ -1291,6 +1292,7 @@ static void Host_Init (void) #endif Key_Init(); CL_Init(); +#endif } // save off current state of aliases, commands and cvars for later restore if FS_GameDir_f is called @@ -1440,7 +1442,9 @@ void Host_Shutdown(void) if (cls.state != ca_dedicated) { +#ifdef CONFIG_CLIENT R_Modules_Shutdown(); +#endif VID_Shutdown(); } diff --git a/makefile.inc b/makefile.inc index 80ab84b7..54d79674 100644 --- a/makefile.inc +++ b/makefile.inc @@ -98,18 +98,12 @@ OBJ_COMMON= \ csprogs.o \ curves.o \ cvar.o \ - dpsoftrast.o \ dpvsimpledecode.o \ filematch.o \ fractalnoise.o \ fs.o \ ft2.o \ utf8lib.o \ - gl_backend.o \ - gl_draw.o \ - gl_rmain.o \ - gl_rsurf.o \ - gl_textures.o \ hmac.o \ host.o \ host_cmd.o \ @@ -137,13 +131,6 @@ OBJ_COMMON= \ prvm_cmds.o \ prvm_edict.o \ prvm_exec.o \ - r_explosion.o \ - r_lerpanim.o \ - r_lightning.o \ - r_modules.o \ - r_shadow.o \ - r_sky.o \ - r_sprites.o \ sbar.o \ sv_demo.o \ sv_main.o \ @@ -159,6 +146,21 @@ OBJ_COMMON= \ world.o \ zone.o +OBJ_RENDERER= \ + dpsoftrast.o \ + gl_backend.o \ + gl_draw.o \ + gl_rmain.o \ + gl_rsurf.o \ + gl_textures.o \ + r_explosion.o \ + r_lerpanim.o \ + r_lightning.o \ + r_modules.o \ + r_shadow.o \ + r_sky.o \ + r_sprites.o + OBJ_MENU= \ menu.o \ mvm_cmds.o @@ -166,13 +168,13 @@ OBJ_MENU= \ # note that builddate.c is very intentionally not compiled to a .o before # being linked, because it should be recompiled every time an executable is # built to give the executable a proper date string -OBJ_SV= builddate.c sys_linux.o vid_null.o thread_null.o $(OBJ_SND_NULL) $(OBJ_COMMON) -OBJ_SDL= builddate.c sys_sdl.o vid_sdl.o thread_sdl.o $(OBJ_MENU) $(OBJ_SND_COMMON) snd_sdl.o $(OBJ_SDLCD) $(OBJ_VIDEO_CAPTURE) $(OBJ_COMMON) +OBJ_SV= builddate.c sys_linux.o vid_null.o thread_null.o r_null.o $(OBJ_SND_NULL) $(OBJ_COMMON) +OBJ_SDL= builddate.c sys_sdl.o vid_sdl.o thread_sdl.o $(OBJ_RENDERER) $(OBJ_MENU) $(OBJ_SND_COMMON) snd_sdl.o $(OBJ_SDLCD) $(OBJ_VIDEO_CAPTURE) $(OBJ_COMMON) # Compilation CFLAGS_COMMON=$(CFLAGS_MAKEDEP) $(CFLAGS_PRELOAD) $(CFLAGS_FS) $(CFLAGS_WARNINGS) $(CFLAGS_LIBZ) $(CFLAGS_LIBJPEG) $(CFLAGS_D3D) -D_FILE_OFFSET_BITS=64 -D__KERNEL_STRICT_NAMES -I../../../ -CFLAGS_CLIENT=-DCONFIG_MENU -DCONFIG_CD $(CFLAGS_VIDEO_CAPTURE) +CFLAGS_CLIENT=-DCONFIG_CLIENT -DCONFIG_MENU -DCONFIG_CD $(CFLAGS_VIDEO_CAPTURE) CFLAGS_SERVER= CFLAGS_DEBUG=-ggdb CFLAGS_PROFILE=-g -pg -ggdb -fprofile-arcs @@ -202,7 +204,7 @@ LDFLAGS_RELEASE=$(OPTIM_RELEASE) -DSVNREVISION=`{ test -d .svn && svnversion; } ##### UNIX specific variables ##### -OBJ_GLX= builddate.c sys_linux.o vid_glx.o thread_pthread.o keysym2ucs.o $(OBJ_MENU) $(OBJ_SOUND) $(OBJ_CD) $(OBJ_VIDEO_CAPTURE) $(OBJ_COMMON) +OBJ_GLX= builddate.c sys_linux.o vid_glx.o thread_pthread.o keysym2ucs.o $(OBJ_RENDERER) $(OBJ_MENU) $(OBJ_SOUND) $(OBJ_CD) $(OBJ_VIDEO_CAPTURE) $(OBJ_COMMON) LDFLAGS_UNIXCOMMON=-lm $(LIB_ODE) $(LIB_Z) $(LIB_JPEG) $(LIB_CRYPTO) $(LIB_CRYPTO_RIJNDAEL) LDFLAGS_UNIXCL=-L$(UNIX_X11LIBPATH) -lX11 -lXpm -lXext -lXxf86vm -pthread $(LIB_SOUND) @@ -242,7 +244,7 @@ LDFLAGS_MACOSXCL=$(LDFLAGS_UNIXCOMMON) -ldl -framework IOKit -framework Carbon $ LDFLAGS_MACOSXSV=$(LDFLAGS_UNIXCOMMON) -ldl LDFLAGS_MACOSXSDL=$(LDFLAGS_UNIXCOMMON) -ldl -framework IOKit $(SDLCONFIG_STATICLIBS) ../../../SDLMain.m -OBJ_AGL= builddate.c sys_linux.o vid_agl.o thread_null.o $(OBJ_MENU) $(OBJ_SOUND) $(OBJ_CD) $(OBJ_VIDEO_CAPTURE) $(OBJ_COMMON) +OBJ_AGL= builddate.c sys_linux.o vid_agl.o thread_null.o $(OBJ_RENDERER) $(OBJ_MENU) $(OBJ_SOUND) $(OBJ_CD) $(OBJ_VIDEO_CAPTURE) $(OBJ_COMMON) EXE_MACOSXCL=darkplaces-agl EXE_MACOSXCLNEXUIZ=nexuiz-agl @@ -273,7 +275,7 @@ LDFLAGS_BSDSDL=$(LDFLAGS_UNIXCOMMON) $(LDFLAGS_UNIXSDL) WINDRES ?= windres -OBJ_WGL= builddate.c sys_win.o vid_wgl.o thread_null.o $(OBJ_MENU) $(OBJ_SND_WIN) $(OBJ_WINCD) $(OBJ_VIDEO_CAPTURE) $(OBJ_COMMON) +OBJ_WGL= builddate.c sys_win.o vid_wgl.o thread_null.o $(OBJ_RENDERER) $(OBJ_MENU) $(OBJ_SND_WIN) $(OBJ_WINCD) $(OBJ_VIDEO_CAPTURE) $(OBJ_COMMON) # Link # see LDFLAGS_WINCOMMON in makefile diff --git a/r_null.c b/r_null.c new file mode 100644 index 00000000..62c0ac3e --- /dev/null +++ b/r_null.c @@ -0,0 +1,564 @@ +#include "quakedef.h" +#include "cl_collision.h" +#include "dpsoftrast.h" +#ifdef SUPPORTD3D +#include +#endif +#include "image.h" +#include "wad.h" +#include "cl_video.h" +#include "cl_dyntexture.h" +#include "ft2.h" +#include "ft2_fontdefs.h" +#include "r_shadow.h" +#include "polygon.h" +#include "csprogs.h" +#ifdef SUPPORTD3D +#include +#endif +#include "portals.h" +#include "jpeg.h" +#include "image_png.h" +#include "intoverflow.h" +#ifdef __ANDROID__ +#include "ktx10/include/ktx.h" +#endif + +cvar_t developer_texturelogging = {0, "developer_texturelogging", "0", "produces a textures.log file containing names of skins and map textures the engine tried to load"}; +cvar_t gl_dither = {CVAR_SAVE, "gl_dither", "1", "enables OpenGL dithering (16bit looks bad with this off)"}; +cvar_t gl_max_lightmapsize = {CVAR_SAVE, "gl_max_lightmapsize", "1024", "maximum allowed texture size for lightmap textures, use larger values to improve rendering speed, as long as there is enough video memory available (setting it too high for the hardware will cause very bad performance)"}; +cvar_t gl_paranoid = {0, "gl_paranoid", "0", "enables OpenGL error checking and other tests"}; +cvar_t gl_polyblend = {CVAR_SAVE, "gl_polyblend", "1", "tints view while underwater, hurt, etc"}; +cvar_t gl_printcheckerror = {0, "gl_printcheckerror", "0", "prints all OpenGL error checks, useful to identify location of driver crashes"}; +cvar_t gl_texturecompression = {CVAR_SAVE, "gl_texturecompression", "0", "whether to compress textures, a value of 0 disables compression (even if the individual cvars are 1), 1 enables fast (low quality) compression at startup, 2 enables slow (high quality) compression at startup"}; +cvar_t gl_texturecompression_q3bspdeluxemaps = {CVAR_SAVE, "gl_texturecompression_q3bspdeluxemaps", "0", "whether to compress deluxemaps in q3bsp format levels (only levels compiled with q3map2 -deluxe have these)"}; +cvar_t gl_texturecompression_q3bsplightmaps = {CVAR_SAVE, "gl_texturecompression_q3bsplightmaps", "0", "whether to compress lightmaps in q3bsp format levels"}; +cvar_t gl_texturecompression_sprites = {CVAR_SAVE, "gl_texturecompression_sprites", "1", "whether to compress sprites"}; +cvar_t r_drawworld = {0, "r_drawworld","1", "draw world (most static stuff)"}; +cvar_t r_dynamic = {CVAR_SAVE, "r_dynamic","1", "enables dynamic lights (rocket glow and such)"}; +cvar_t r_equalize_entities_fullbright = {CVAR_SAVE, "r_equalize_entities_fullbright", "0", "render fullbright entities by equalizing their lightness, not by not rendering light"}; +cvar_t r_fog_clear = {0, "r_fog_clear", "1", "clears renderbuffer with fog color before render starts"}; +cvar_t r_fullbright = {0, "r_fullbright","0", "makes map very bright and renders faster"}; +cvar_t r_fullbrights = {CVAR_SAVE, "r_fullbrights", "1", "enables glowing pixels in quake textures (changes need r_restart to take effect)"}; +cvar_t r_lerplightstyles = {CVAR_SAVE, "r_lerplightstyles", "0", "enable animation smoothing on flickering lights"}; +cvar_t r_lerpmodels = {CVAR_SAVE, "r_lerpmodels", "1", "enables animation smoothing on models"}; +cvar_t r_lerpsprites = {CVAR_SAVE, "r_lerpsprites", "0", "enables animation smoothing on sprites"}; +cvar_t r_shadow_lightattenuationdividebias = {0, "r_shadow_lightattenuationdividebias", "1", "changes attenuation texture generation"}; +cvar_t r_shadow_lightattenuationlinearscale = {0, "r_shadow_lightattenuationlinearscale", "2", "changes attenuation texture generation"}; +cvar_t r_smoothnormals_areaweighting = {0, "r_smoothnormals_areaweighting", "1", "uses significantly faster (and supposedly higher quality) area-weighted vertex normals and tangent vectors rather than summing normalized triangle normals and tangents"}; +cvar_t r_speeds = {0, "r_speeds","0", "displays rendering statistics and per-subsystem timings"}; +cvar_t r_texture_dds_save = {CVAR_SAVE, "r_texture_dds_save", "0", "save compressed dds/filename.dds texture when filename.tga is loaded, so that it can be loaded instead next time"}; +cvar_t r_transparent_sortarraysize = {CVAR_SAVE, "r_transparent_sortarraysize", "4096", "number of distance-sorting layers"}; +cvar_t r_transparent_sortmaxdist = {CVAR_SAVE, "r_transparent_sortmaxdist", "32768", "upper distance limit for transparent sorting"}; +cvar_t r_transparent_sortmindist = {CVAR_SAVE, "r_transparent_sortmindist", "0", "lower distance limit for transparent sorting"}; +cvar_t r_transparent_useplanardistance = {0, "r_transparent_useplanardistance", "0", "sort transparent meshes by distance from view plane rather than spherical distance to the chosen point"}; +cvar_t r_viewfbo = {CVAR_SAVE, "r_viewfbo", "0", "enables use of an 8bit (1) or 16bit (2) or 32bit (3) per component float framebuffer render, which may be at a different resolution than the video mode"}; +cvar_t r_waterwarp = {CVAR_SAVE, "r_waterwarp", "1", "warp view while underwater"}; +cvar_t v_flipped = {0, "v_flipped", "0", "mirror the screen (poor man's left handed mode)"}; + +rtexturepool_t *r_main_texturepool; +rtexturepool_t *drawtexturepool; + +rtexture_t *r_texture_blanknormalmap; +rtexture_t *r_texture_white; +rtexture_t *r_texture_grey128; +rtexture_t *r_texture_notexture; + +r_refdef_t r_refdef; + +dp_fonts_t dp_fonts; + +int polygonelement3i[(POLYGONELEMENTS_MAXPOINTS-2)*3]; +unsigned short polygonelement3s[(POLYGONELEMENTS_MAXPOINTS-2)*3]; +int quadelement3i[QUADELEMENTS_MAXQUADS*6]; +unsigned short quadelement3s[QUADELEMENTS_MAXQUADS*6]; + +qboolean r_draw2d_force = false; + +skinframe_t *R_SkinFrame_LoadExternal(const char *name, int textureflags, qboolean complain) +{ +} + +skinframe_t *R_SkinFrame_LoadInternalQuake(const char *name, int textureflags, int loadpantsandshirt, int loadglowtexture, const unsigned char *skindata, int width, int height) +{ +} + +skinframe_t *R_SkinFrame_FindNextByName( skinframe_t *last, const char *name ) +{ +} + +skinframe_t *R_SkinFrame_LoadInternalBGRA(const char *name, int textureflags, const unsigned char *skindata, int width, int height, qboolean sRGB) +{ +} + +skinframe_t *R_SkinFrame_LoadMissing(void) +{ +} + +rtexture_t *R_LoadTexture2D(rtexturepool_t *rtexturepool, const char *identifier, int width, int height, const unsigned char *data, textype_t textype, int flags, int miplevel, const unsigned int *palette) +{ +} + +rtexture_t *R_GetCubemap(const char *basename) +{ +} + +rtexturepool_t *R_AllocTexturePool(void) +{ +} + +cachepic_t *Draw_CachePic_Flags(const char *path, unsigned int cachepicflags) +{ +} + +cachepic_t *Draw_CachePic (const char *path) +{ +} + +rtexture_t *Draw_GetPicTexture(cachepic_t *pic) +{ +} + +cachepic_t *Draw_NewPic(const char *picname, int width, int height, int alpha, unsigned char *pixels_bgra) +{ +} + +float DrawQ_Color[4]; +float DrawQ_String_Scale(float startx, float starty, const char *text, size_t maxlen, float w, float h, float sw, float sh, float basered, float basegreen, float baseblue, float basealpha, int flags, int *outcolor, qboolean ignorecolorcodes, const dp_font_t *fnt) +{ +} + +float DrawQ_String(float startx, float starty, const char *text, size_t maxlen, float w, float h, float basered, float basegreen, float baseblue, float basealpha, int flags, int *outcolor, qboolean ignorecolorcodes, const dp_font_t *fnt) +{ +} + +float DrawQ_TextWidth_UntilWidth_TrackColors(const char *text, size_t *maxlen, float w, float h, int *outcolor, qboolean ignorecolorcodes, const dp_font_t *fnt, float maxwidth) +{ +} + +float DrawQ_TextWidth(const char *text, size_t maxlen, float w, float h, qboolean ignorecolorcodes, const dp_font_t *fnt) +{ +} + +float DrawQ_TextWidth_UntilWidth(const char *text, size_t *maxlen, float w, float h, qboolean ignorecolorcodes, const dp_font_t *fnt, float maxWidth) +{ +} + +float DrawQ_TextWidth_UntilWidth_TrackColors_Scale(const char *text, size_t *maxlen, float w, float h, float sw, float sh, int *outcolor, qboolean ignorecolorcodes, const dp_font_t *fnt, float maxwidth) +{ +} + +dp_font_t *FindFont(const char *title, qboolean allocate_new) +{ +} + +r_meshbuffer_t *R_Mesh_CreateMeshBuffer(const void *data, size_t size, const char *name, qboolean isindexbuffer, qboolean isuniformbuffer, qboolean isdynamic, qboolean isindex16) +{ +} + +r_vertexgeneric_t *R_Mesh_PrepareVertices_Generic_Lock(int numvertices) +{ +} + +qboolean R_Mesh_PrepareVertices_Generic_Unlock(void) +{ +} + +int R_PicmipForFlags(int flags) +{ +} + +int R_SaveTextureDDSFile(rtexture_t *rt, const char *filename, qboolean skipuncompressed, qboolean hasalpha) +{ +} + +int R_TextureWidth(rtexture_t *rt) +{ +} + +int R_TextureHeight(rtexture_t *rt) +{ +} + +int R_Shadow_GetRTLightInfo(unsigned int lightindex, float *origin, float *radius, float *color) +{ +} + +int R_SetSkyBox(const char *sky) +{ +} + +void Draw_Frame(void) +{ +} + +void Draw_FreePic(const char *picname) +{ +} + +void DrawQ_Fill(float x, float y, float width, float height, float red, float green, float blue, float alpha, int flags) +{ +} + +void DrawQ_Finish(void) +{ +} + +void DrawQ_Line(float width, float x1, float y1, float x2, float y2, float r, float g, float b, float alpha, int flags) +{ +} + +void DrawQ_Lines(float width, int numlines, int flags, qboolean hasalpha) +{ +} + +void DrawQ_Mesh(drawqueuemesh_t *mesh, int flags, qboolean hasalpha) +{ +} + +void DrawQ_Pic(float x, float y, cachepic_t *pic, float width, float height, float red, float green, float blue, float alpha, int flags) +{ +} + +void DrawQ_ProcessDrawFlag(int flags, qboolean alpha) +{ +} + +void DrawQ_RecalcView(void) +{ +} + +void DrawQ_ResetClipArea(void) +{ +} + +void DrawQ_RotPic(float x, float y, cachepic_t *pic, float width, float height, float org_x, float org_y, float angle, float red, float green, float blue, float alpha, int flags) +{ +} + +void DrawQ_SetClipArea(float x, float y, float width, float height) +{ +} + +void DrawQ_SuperPic(float x, float y, cachepic_t *pic, float width, float height, float s1, float t1, float r1, float g1, float b1, float a1, float s2, float t2, float r2, float g2, float b2, float a2, float s3, float t3, float r3, float g3, float b3, float a3, float s4, float t4, float r4, float g4, float b4, float a4, int flags) +{ +} + +void FOG_clear(void) +{ +} + + + +void GL_BlendFunc(int blendfunc1, int blendfunc2) +{ +} + +void GL_Clear(int mask, const float *colorvalue, float depthvalue, int stencilvalue) +{ +} + +void GL_Color(float cr, float cg, float cb, float ca) +{ +} + +void GL_ColorMask(int r, int g, int b, int a) +{ +} + +void GL_CullFace(int state) +{ +} + +void GL_DepthMask(int state) +{ +} + +void GL_DepthRange(float nearfrac, float farfrac) +{ +} + +void GL_DepthTest(int state) +{ +} + +void GL_Finish(void) +{ +} + +void GL_Mesh_ListVBOs(qboolean printeach) +{ +} + +void GL_PolygonOffset(float planeoffset, float depthoffset) +{ +} + +#ifdef DEBUGGL +int errornumber = 0; +void GL_PrintError(int errornumber, const char *filename, int linenumber) +{ +} +#endif + +void GL_ReadPixelsBGRA(int x, int y, int width, int height, unsigned char *outpixels) +{ +} + +void GL_Scissor(int x, int y, int width, int height) +{ +} + +void GL_ScissorTest(int state) +{ +} + +void LoadFont(qboolean override, const char *name, dp_font_t *fnt, float scale, float voffset) +{ +} + + +void R_BufferData_NewFrame(void) +{ +} + +void R_CalcBeam_Vertex3f(float *vert, const float *org1, const float *org2, float width) +{ +} + +void R_CompleteLightPoint(vec3_t ambient, vec3_t diffuse, vec3_t lightdir, const vec3_t p, const int flags) +{ +} + +void R_DecalSystem_Reset(decalsystem_t *decalsystem) +{ +} + +void R_DecalSystem_SplatEntities(const vec3_t worldorigin, const vec3_t worldnormal, float r, float g, float b, float a, float s1, float t1, float s2, float t2, float worldsize) +{ +} + + +void R_DrawGamma(void) +{ +} + + + + +void R_EntityMatrix(const matrix4x4_t *matrix) +{ +} + +void R_FrameData_NewFrame(void) +{ +} + + +void R_FreeTexturePool(rtexturepool_t **rtexturepool) +{ +} + +void R_FreeTexture(rtexture_t *rt) +{ +} + +void R_HDR_UpdateIrisAdaptation(const vec3_t point) +{ +} + +void R_LightPoint(float *color, const vec3_t p, const int flags) +{ +} + +void R_MakeTextureDynamic(rtexture_t *rt, updatecallback_t updatecallback, void *data) +{ +} + +void R_MarkDirtyTexture(rtexture_t *rt) +{ +} + + + +void R_Mesh_CopyToTexture(rtexture_t *tex, int tx, int ty, int sx, int sy, int width, int height) +{ +} + +void R_Mesh_DestroyMeshBuffer(r_meshbuffer_t *buffer) +{ +} + +void R_Mesh_Draw(int firstvertex, int numvertices, int firsttriangle, int numtriangles, const int *element3i, const r_meshbuffer_t *element3i_indexbuffer, int element3i_bufferoffset, const unsigned short *element3s, const r_meshbuffer_t *element3s_indexbuffer, int element3s_bufferoffset) +{ +} + +void R_Mesh_Finish(void) +{ +} + +void R_Mesh_PrepareVertices_Generic_Arrays(int numvertices, const float *vertex3f, const float *color4f, const float *texcoord2f) +{ +} + +void R_Mesh_PrepareVertices_Generic(int numvertices, const r_vertexgeneric_t *vertex, const r_meshbuffer_t *vertexbuffer, int bufferoffset) +{ +} + + +void R_Mesh_ResetTextureState(void) +{ +} + +void R_Mesh_SetRenderTargets(int fbo, rtexture_t *depthtexture, rtexture_t *colortexture, rtexture_t *colortexture2, rtexture_t *colortexture3, rtexture_t *colortexture4) +{ +} + +void R_Mesh_Start(void) +{ +} + + + + +void R_Model_Sprite_Draw(entity_render_t *ent) +{ +} + +void R_NewExplosion(const vec3_t org) +{ +} + +void R_Q1BSP_CompileShadowMap(entity_render_t *ent, vec3_t relativelightorigin, vec3_t relativelightdirection, float lightradius, int numsurfaces, const int *surfacelist) +{ +} + +void R_Q1BSP_CompileShadowVolume(entity_render_t *ent, vec3_t relativelightorigin, vec3_t relativelightdirection, float lightradius, int numsurfaces, const int *surfacelist) +{ +} + +void R_Q1BSP_DrawAddWaterPlanes(entity_render_t *ent) +{ +} + +void R_Q1BSP_DrawDebug(entity_render_t *ent) +{ +} + +void R_Q1BSP_DrawDepth(entity_render_t *ent) +{ +} + +void R_Q1BSP_Draw(entity_render_t *ent) +{ +} + +void R_Q1BSP_DrawLight(entity_render_t *ent, int numsurfaces, const int *surfacelist, const unsigned char *lighttrispvs) +{ +} + +void R_Q1BSP_DrawPrepass(entity_render_t *ent) +{ +} + +void R_Q1BSP_DrawShadowMap(int side, entity_render_t *ent, const vec3_t relativelightorigin, const vec3_t relativelightdirection, float lightradius, int modelnumsurfaces, const int *modelsurfacelist, const unsigned char *surfacesides, const vec3_t lightmins, const vec3_t lightmaxs) +{ +} + +void R_Q1BSP_DrawShadowVolume(entity_render_t *ent, const vec3_t relativelightorigin, const vec3_t relativelightdirection, float lightradius, int modelnumsurfaces, const int *modelsurfacelist, const vec3_t lightmins, const vec3_t lightmaxs) +{ +} + +void R_Q1BSP_DrawSky(entity_render_t *ent) +{ +} + +void R_Q1BSP_GetLightInfo(entity_render_t *ent, vec3_t relativelightorigin, float lightradius, vec3_t outmins, vec3_t outmaxs, int *outleaflist, unsigned char *outleafpvs, int *outnumleafspointer, int *outsurfacelist, unsigned char *outsurfacepvs, int *outnumsurfacespointer, unsigned char *outshadowtrispvs, unsigned char *outlighttrispvs, unsigned char *visitingleafpvs, int numfrustumplanes, const mplane_t *frustumplanes) +{ +} + +void R_RegisterModule(const char *name, void(*start)(void), void(*shutdown)(void), void(*newmap)(void), void(*devicelost)(void), void(*devicerestored)(void)) +{ +} + +void R_RenderView_UpdateViewVectors(void) +{ +} + +void R_RenderView(void) +{ +} + +void R_ResetSkyBox(void) +{ +} + + + +void R_RTLight_Update(rtlight_t *rtlight, int isstatic, matrix4x4_t *matrix, vec3_t color, int style, const char *cubemapname, int shadow, vec_t corona, vec_t coronasizescale, vec_t ambientscale, vec_t diffusescale, vec_t specularscale, int flags) +{ +} + +void R_SelectScene( r_refdef_scene_type_t scenetype ) +{ +} + + + +void R_SetupShader_Generic_NoTexture(qboolean usegamma, qboolean notrippy) +{ +} + +void R_SetupShader_Generic(rtexture_t *first, rtexture_t *second, int texturemode, int rgbscale, qboolean usegamma, qboolean notrippy, qboolean suppresstexalpha) +{ +} + +void R_SetViewport(const r_viewport_t *v) +{ +} + +void R_Shadow_EditLights_DrawSelectedLightProperties(void) +{ +} + +void R_SkinFrame_MarkUsed(skinframe_t *skinframe) +{ +} + +void R_Stain(const vec3_t origin, float radius, int cr1, int cg1, int cb1, int ca1, int cr2, int cg2, int cb2, int ca2) +{ +} + +void RSurf_ActiveWorldEntity(void) +{ +} + +float RSurf_FogVertex(const float *v) +{ +} + +void R_Textures_Frame(void) +{ +} + +void R_TextureStats_Print(qboolean printeach, qboolean printpool, qboolean printtotal) +{ +} + +void R_UpdateFog(void) +{ +} + +void R_UpdateTexture(rtexture_t *rt, const unsigned char *data, int x, int y, int z, int width, int height, int depth) +{ +} + +void R_UpdateVariables(void) +{ +} + +void R_Viewport_InitOrtho(r_viewport_t *v, const matrix4x4_t *cameramatrix, int x, int y, int width, int height, float x1, float y1, float x2, float y2, float nearclip, float farclip, const float *nearplane) +{ +} + + diff --git a/vid_shared.c b/vid_shared.c index 175c7512..1efc2376 100644 --- a/vid_shared.c +++ b/vid_shared.c @@ -1919,14 +1919,18 @@ static int VID_Mode(int fullscreen, int width, int height, int bpp, float refres static void VID_OpenSystems(void) { +#ifdef CONFIG_CLIENT R_Modules_Start(); +#endif S_Startup(); } static void VID_CloseSystems(void) { S_Shutdown(); +#ifdef CONFIG_CLIENT R_Modules_Shutdown(); +#endif } qboolean vid_commandlinecheck = true; -- 2.39.2