X-Git-Url: https://git.xonotic.org/?a=blobdiff_plain;f=r_modules.c;h=8021ade76fb46312c98e327eda819731a6ca02d7;hb=95ea7cd538122ca0fc56dec276c6900ef47ae56d;hp=e3729796bad69bd58f1c884e5fa5292fed3a4d30;hpb=6f079ecb90e1e6b7597d4da1a98f95c5822aad8d;p=xonotic%2Fdarkplaces.git diff --git a/r_modules.c b/r_modules.c index e3729796..8021ade7 100644 --- a/r_modules.c +++ b/r_modules.c @@ -1,7 +1,7 @@ #include "quakedef.h" -#define MAXRENDERMODULES 64 +#define MAXRENDERMODULES 20 typedef struct rendermodule_s { @@ -17,7 +17,7 @@ rendermodule_t rendermodule[MAXRENDERMODULES]; void R_Modules_Init(void) { - Cmd_AddCommand("r_restart", R_Modules_Restart); + Cmd_AddCommand("r_restart", R_Modules_Restart, "restarts renderer"); } void R_RegisterModule(char *name, void(*start)(void), void(*shutdown)(void), void(*newmap)(void)) @@ -34,7 +34,7 @@ void R_RegisterModule(char *name, void(*start)(void), void(*shutdown)(void), voi } } if (i >= MAXRENDERMODULES) - Sys_Error("R_RegisterModule: ran out of renderer module slots (%i)\n", MAXRENDERMODULES); + Sys_Error("R_RegisterModule: ran out of renderer module slots (%i)", MAXRENDERMODULES); rendermodule[i].active = 0; rendermodule[i].name = name; rendermodule[i].start = start; @@ -76,6 +76,7 @@ void R_Modules_Shutdown(void) void R_Modules_Restart(void) { + Host_StartVideo(); Con_Print("restarting renderer\n"); R_Modules_Shutdown(); R_Modules_Start(); @@ -84,6 +85,7 @@ void R_Modules_Restart(void) void R_Modules_NewMap(void) { int i; + R_SkinFrame_PrepareForPurge(); for (i = 0;i < MAXRENDERMODULES;i++) { if (rendermodule[i].name == NULL) @@ -92,5 +94,6 @@ void R_Modules_NewMap(void) continue; rendermodule[i].newmap(); } + R_SkinFrame_Purge(); }