diff --git a/include/QF/plugin/vid_render.h b/include/QF/plugin/vid_render.h index fd24b78f9..5aab30862 100644 --- a/include/QF/plugin/vid_render.h +++ b/include/QF/plugin/vid_render.h @@ -117,7 +117,7 @@ typedef struct vid_render_funcs_s { struct psystem_s *(*ParticleSystem) (void); struct psystem_s *(*TrailSystem) (void); - void (*R_Init) (void); + void (*R_Init) (struct plitem_s *config); void (*R_ClearState) (void); void (*R_LoadSkys) (const char *); void (*R_NewScene) (struct scene_s *scene); diff --git a/include/QF/render.h b/include/QF/render.h index 4e2be3586..6247728b4 100644 --- a/include/QF/render.h +++ b/include/QF/render.h @@ -187,7 +187,8 @@ typedef struct { extern struct texture_s *r_notexture_mip; -void R_Init (void); +struct plitem_s; +void R_Init (struct plitem_s *config); struct vid_internal_s; void R_LoadModule (struct vid_internal_s *vid_internal); struct progs_s; @@ -195,7 +196,6 @@ void R_Progs_Init (struct progs_s *pr); void Fog_Update (float density, float red, float green, float blue, float time); -struct plitem_s; void Fog_ParseWorldspawn (struct plitem_s *worldspawn); vec4f_t Fog_Get (void) __attribute__((pure)); diff --git a/include/r_internal.h b/include/r_internal.h index 69ada6e3f..15ff6d06c 100644 --- a/include/r_internal.h +++ b/include/r_internal.h @@ -27,10 +27,10 @@ extern int r_viewsize; void R_LineGraph (int x, int y, int *h_vals, int count, int height); -void gl_R_Init (void); -void glsl_R_Init (void); +void gl_R_Init (struct plitem_s *config); +void glsl_R_Init (struct plitem_s *config); void glsl_R_Shutdown (void); -void sw_R_Init (void); +void sw_R_Init (struct plitem_s *config); void R_RenderFrame (SCR_Func *scr_funcs); void R_Init_Cvars (void); void R_InitEfrags (void); diff --git a/libs/video/renderer/gl/gl_rmisc.c b/libs/video/renderer/gl/gl_rmisc.c index aa139f4f4..955243af8 100644 --- a/libs/video/renderer/gl/gl_rmisc.c +++ b/libs/video/renderer/gl/gl_rmisc.c @@ -115,8 +115,11 @@ gl_R_TimeRefresh_f (void) } void -gl_R_Init (void) +gl_R_Init (struct plitem_s *config) { + if (config) { + Sys_Printf (ONG"WARNING"DFL": gl_R_Init: render config ignored\n"); + } r_notexture_mip->render = &gl_notexture; R_Init_Cvars (); diff --git a/libs/video/renderer/glsl/glsl_main.c b/libs/video/renderer/glsl/glsl_main.c index b8bd98d31..d9f5a9d69 100644 --- a/libs/video/renderer/glsl/glsl_main.c +++ b/libs/video/renderer/glsl/glsl_main.c @@ -174,8 +174,11 @@ glsl_R_TimeRefresh_f (void) } void -glsl_R_Init (void) +glsl_R_Init (struct plitem_s *config) { + if (config) { + Sys_Printf (ONG"WARNING"DFL": glsl_R_Init: render config ignored\n"); + } Cmd_AddCommand ("timerefresh", glsl_R_TimeRefresh_f, "Test the current refresh rate for the current location."); R_Init_Cvars (); diff --git a/libs/video/renderer/r_init.c b/libs/video/renderer/r_init.c index e81d924cc..df1a63608 100644 --- a/libs/video/renderer/r_init.c +++ b/libs/video/renderer/r_init.c @@ -101,10 +101,10 @@ R_LoadModule (vid_internal_t *vid_internal) } VISIBLE void -R_Init (void) +R_Init (struct plitem_s *config) { qfZoneScoped (true); - r_funcs->R_Init (); + r_funcs->R_Init (config); R_ClearEfrags (); //FIXME force link of r_efrag.o for qwaq Fog_Init (); R_Trails_Init (); diff --git a/libs/video/renderer/sw/sw_rmain.c b/libs/video/renderer/sw/sw_rmain.c index e974f1f98..f71ef241e 100644 --- a/libs/video/renderer/sw/sw_rmain.c +++ b/libs/video/renderer/sw/sw_rmain.c @@ -105,8 +105,11 @@ float r_viewmatrix[3][4]; float r_aliastransition, r_resfudge; void -sw_R_Init (void) +sw_R_Init (struct plitem_s *config) { + if (config) { + Sys_Printf (ONG"WARNING"DFL": sw_R_Init: render config ignored\n"); + } int dummy; // get stack position so we can guess if we are going to overflow diff --git a/libs/video/renderer/vid_render_vulkan.c b/libs/video/renderer/vid_render_vulkan.c index 43c79b933..2184ae670 100644 --- a/libs/video/renderer/vid_render_vulkan.c +++ b/libs/video/renderer/vid_render_vulkan.c @@ -90,7 +90,7 @@ vulkan_ParticleSystem (void) } static void -vulkan_R_Init (void) +vulkan_R_Init (struct plitem_s *config) { QFV_Render_Init (vulkan_ctx); diff --git a/nq/source/cl_main.c b/nq/source/cl_main.c index 0dcb9c83c..82470f3f4 100644 --- a/nq/source/cl_main.c +++ b/nq/source/cl_main.c @@ -735,7 +735,7 @@ CL_Init (cbuf_t *cbuf) VID_Init (basepal, colormap); IN_Init (); GIB_Key_Init (); - R_Init (); + R_Init (nullptr); r_data->lightstyle = cl.lightstyle; S_Init (&cl.viewentity, &host_frametime); Font_Init (); //FIXME not here diff --git a/qw/source/cl_main.c b/qw/source/cl_main.c index a928d3d1d..410bd940e 100644 --- a/qw/source/cl_main.c +++ b/qw/source/cl_main.c @@ -1472,7 +1472,7 @@ CL_Init (void) VID_Init (basepal, colormap); IN_Init (); Mod_Init (); - R_Init (); + R_Init (nullptr); r_data->lightstyle = cl.lightstyle; Font_Init (); //FIXME not here diff --git a/ruamoko/qwaq/builtins/graphics.c b/ruamoko/qwaq/builtins/graphics.c index 6fa565f8a..7ac638f26 100644 --- a/ruamoko/qwaq/builtins/graphics.c +++ b/ruamoko/qwaq/builtins/graphics.c @@ -383,7 +383,7 @@ BI_Graphics_Init (progs_t *pr) VID_Init (default_palette[0], default_colormap); IN_Init (); Mod_Init (); - R_Init (); + R_Init (nullptr); Font_Init (); R_Progs_Init (pr);