X-Git-Url: http://de.git.xonotic.org/?p=xonotic%2Fdarkplaces.git;a=blobdiff_plain;f=gl_screen.c;h=624a9db635f77317e2b60489417202e3c7b990bc;hp=43923c65ebd5e8a5338601505cfdb3506bf3816a;hb=1a08a91aa795fdcb4df7b5718855d8d75b5d5759;hpb=9f6e4476fe8049342ac61c87ab7286912c1ff97c diff --git a/gl_screen.c b/gl_screen.c index 43923c65..624a9db6 100644 --- a/gl_screen.c +++ b/gl_screen.c @@ -89,6 +89,7 @@ cvar_t scr_showturtle = {"showturtle","0"}; cvar_t scr_showpause = {"showpause","1"}; cvar_t scr_printspeed = {"scr_printspeed","8"}; cvar_t showfps = {"showfps", "0", true}; +cvar_t r_render = {"r_render", "1"}; extern cvar_t crosshair; @@ -269,9 +270,6 @@ static void SCR_CalcRefdef (void) scr_fullupdate = 0; // force a background redraw vid.recalc_refdef = 0; -// force the status bar to redraw -// Sbar_Changed (); - //======================================== // bound viewsize @@ -369,12 +367,23 @@ void SCR_SizeDown_f (void) //============================================================================ +void gl_screen_start() +{ + scr_ram = Draw_PicFromWad ("ram"); + scr_net = Draw_PicFromWad ("net"); + scr_turtle = Draw_PicFromWad ("turtle"); +} + +void gl_screen_shutdown() +{ +} + /* ================== SCR_Init ================== */ -void SCR_Init (void) +void GL_Screen_Init (void) { Cvar_RegisterVariable (&scr_fov); @@ -386,6 +395,10 @@ void SCR_Init (void) Cvar_RegisterVariable (&scr_centertime); Cvar_RegisterVariable (&scr_printspeed); Cvar_RegisterVariable (&showfps); + Cvar_RegisterVariable (&r_render); +#ifdef NORENDER + r_render.value = 0; +#endif // // register our commands @@ -394,11 +407,9 @@ void SCR_Init (void) Cmd_AddCommand ("sizeup",SCR_SizeUp_f); Cmd_AddCommand ("sizedown",SCR_SizeDown_f); - scr_ram = Draw_PicFromWad ("ram"); - scr_net = Draw_PicFromWad ("net"); - scr_turtle = Draw_PicFromWad ("turtle"); - scr_initialized = true; + + R_RegisterModule("GL_Screen", gl_screen_start, gl_screen_shutdown); } @@ -572,15 +583,6 @@ void SCR_DrawConsole (void) ============================================================================== */ -typedef struct _TargaHeader { - unsigned char id_length, colormap_type, image_type; - unsigned short colormap_index, colormap_length; - unsigned char colormap_size; - unsigned short x_origin, y_origin, width, height; - unsigned char pixel_size, attributes; -} TargaHeader; - - /* ================== SCR_ScreenShot_f @@ -589,21 +591,21 @@ SCR_ScreenShot_f void SCR_ScreenShot_f (void) { byte *buffer; - char pcxname[80]; + char filename[80]; char checkname[MAX_OSPATH]; - int i, c, temp; + int i; // // find a file name to save it to // - strcpy(pcxname,"dp0000.tga"); + strcpy(filename,"dp0000.tga"); for (i=0 ; i<=9999 ; i++) { - pcxname[2] = (i/1000)%10 + '0'; - pcxname[3] = (i/ 100)%10 + '0'; - pcxname[4] = (i/ 10)%10 + '0'; - pcxname[5] = (i/ 1)%10 + '0'; - sprintf (checkname, "%s/%s", com_gamedir, pcxname); + filename[2] = (i/1000)%10 + '0'; + filename[3] = (i/ 100)%10 + '0'; + filename[4] = (i/ 10)%10 + '0'; + filename[5] = (i/ 1)%10 + '0'; + sprintf (checkname, "%s/%s", com_gamedir, filename); if (Sys_FileTime(checkname) == -1) break; // file doesn't exist } @@ -613,30 +615,12 @@ void SCR_ScreenShot_f (void) return; } - - buffer = malloc(glwidth*glheight*3 + 18); - memset (buffer, 0, 18); - buffer[2] = 2; // uncompressed type - buffer[12] = glwidth&255; - buffer[13] = glwidth>>8; - buffer[14] = glheight&255; - buffer[15] = glheight>>8; - buffer[16] = 24; // pixel size - - glReadPixels (glx, gly, glwidth, glheight, GL_RGB, GL_UNSIGNED_BYTE, buffer+18 ); - - // swap rgb to bgr - c = 18+glwidth*glheight*3; - for (i=18 ; i