]> de.git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - r_modules.c
r_colorscale gone, v_overbrightbits (cvar which controlled r_colorscale) gone
[xonotic/darkplaces.git] / r_modules.c
index 69086f6771d81d795f973b1ff9ecc3ee1b4c90eb..a4e046ebadc7826f7cc4ebf46fee424215e36dbf 100644 (file)
@@ -7,22 +7,23 @@ typedef struct rendermodule_s
 {
        int active; // set by start, cleared by shutdown
        char *name;
-       void(*start)();
-       void(*shutdown)();
-       void(*newmap)();
+       void(*start)(void);
+       void(*shutdown)(void);
+       void(*newmap)(void);
 }
 rendermodule_t;
 
 rendermodule_t rendermodule[MAXRENDERMODULES];
 
-void R_Modules_Init()
+void R_Modules_Init(void)
 {
        int i;
+       Cmd_AddCommand("r_restart", R_Modules_Restart);
        for (i = 0;i < MAXRENDERMODULES;i++)
                rendermodule[i].name = NULL;
 }
 
-void R_RegisterModule(char *name, void(*start)(), void(*shutdown)(), void(*newmap)())
+void R_RegisterModule(char *name, void(*start)(void), void(*shutdown)(void), void(*newmap)(void))
 {
        int i;
        for (i = 0;i < MAXRENDERMODULES;i++)
@@ -41,7 +42,7 @@ void R_RegisterModule(char *name, void(*start)(), void(*shutdown)(), void(*newma
        rendermodule[i].newmap = newmap;
 }
 
-void R_Modules_Start ()
+void R_Modules_Start(void)
 {
        int i;
        for (i = 0;i < MAXRENDERMODULES;i++)
@@ -55,10 +56,11 @@ void R_Modules_Start ()
        }
 }
 
-void R_Modules_Shutdown ()
+void R_Modules_Shutdown(void)
 {
        int i;
-       for (i = 0;i < MAXRENDERMODULES;i++)
+       // shutdown in reverse
+       for (i = MAXRENDERMODULES - 1;i >= 0;i--)
        {
                if (rendermodule[i].name == NULL)
                        continue;
@@ -69,13 +71,14 @@ void R_Modules_Shutdown ()
        }
 }
 
-void R_Modules_Restart ()
+void R_Modules_Restart(void)
 {
+       Con_Printf("restarting renderer\n");
        R_Modules_Shutdown();
        R_Modules_Start();
 }
 
-void R_Modules_NewMap ()
+void R_Modules_NewMap(void)
 {
        int i;
        for (i = 0;i < MAXRENDERMODULES;i++)
@@ -87,3 +90,4 @@ void R_Modules_NewMap ()
                rendermodule[i].newmap();
        }
 }
+