Make Screenshots over backbuffer; Implmented filtered mouse delta reading
This commit is contained in:
parent
9af74225ed
commit
d6e16c54d4
|
@ -1,5 +1,9 @@
|
|||
D1X-Rebirth Changelog
|
||||
|
||||
20080521
|
||||
--------
|
||||
arch/ogl/gr.c, arch/sdl/mouse.c, main/game.h: Make Screenshots over backbuffer; Implmented filtered mouse delta reading
|
||||
|
||||
20080520
|
||||
--------
|
||||
main/kconfig.c: Decreasing divisor for mouse axis reading - making mouse sensitivity practically much higher
|
||||
|
|
|
@ -45,6 +45,7 @@
|
|||
#include "config.h"
|
||||
#include "playsave.h"
|
||||
#include "vers_id.h"
|
||||
#include "gr.h"
|
||||
|
||||
int gr_installed = 0;
|
||||
int gl_initialized=0;
|
||||
|
@ -585,8 +586,7 @@ void save_screen_shot(int automap_flag)
|
|||
char savename[13+sizeof(SCRNS_DIR)];
|
||||
unsigned char *buf;
|
||||
|
||||
if (!GameArg.DbgGlReadPixelsOk)
|
||||
{
|
||||
if (!GameArg.DbgGlReadPixelsOk){
|
||||
if (!automap_flag)
|
||||
hud_message(MSGC_GAME_FEEDBACK,"glReadPixels not supported on your configuration");
|
||||
return;
|
||||
|
@ -602,7 +602,7 @@ void save_screen_shot(int automap_flag)
|
|||
sprintf(savename, "%sscrn%04d.tga",SCRNS_DIR, savenum++);
|
||||
} while (PHYSFS_exists(savename));
|
||||
|
||||
sprintf( message, "%s '%s'", TXT_DUMPING_SCREEN, savename );
|
||||
sprintf( message, "%s 'scrn%04d.tga'", TXT_DUMPING_SCREEN, savenum-1 );
|
||||
|
||||
if (!automap_flag)
|
||||
hud_message(MSGC_GAME_FEEDBACK,message);
|
||||
|
@ -613,12 +613,13 @@ void save_screen_shot(int automap_flag)
|
|||
render_frame(0);
|
||||
gr_set_curfont(MEDIUM2_FONT);
|
||||
gr_printf(SWIDTH-FSPACX(92),SHEIGHT-LINE_SPACING,"DXX-Rebirth\n");
|
||||
glReadBuffer(GL_BACK);
|
||||
}
|
||||
else
|
||||
{
|
||||
glReadBuffer(GL_FRONT);
|
||||
game_do_render_frame(0);
|
||||
}
|
||||
ogl_do_palfx();
|
||||
glReadBuffer(GL_BACK);
|
||||
buf = d_malloc(grd_curscreen->sc_w*grd_curscreen->sc_h*3);
|
||||
write_bmp(savename,grd_curscreen->sc_w,grd_curscreen->sc_h,buf);
|
||||
d_free(buf);
|
||||
|
|
|
@ -120,19 +120,29 @@ void mouse_get_pos( int *x, int *y, int *z )
|
|||
|
||||
void mouse_get_delta( int *dx, int *dy, int *dz )
|
||||
{
|
||||
static int old_delta_x = 0, old_delta_y = 0, old_delta_z = 0;
|
||||
|
||||
Mouse.delta_time += FrameTime;
|
||||
event_poll();
|
||||
*dx = Mouse.delta_x;
|
||||
*dy = Mouse.delta_y;
|
||||
*dz = Mouse.delta_z;
|
||||
// reset all ~33ms
|
||||
if (Mouse.delta_time >= F1_0/30)
|
||||
{
|
||||
Mouse.delta_x = 0;
|
||||
Mouse.delta_y = 0;
|
||||
SDL_GetRelativeMouseState( Mouse.delta_x, Mouse.delta_y );
|
||||
*dz = old_delta_dz = Mouse.delta_z;
|
||||
Mouse.delta_z = 0;
|
||||
Mouse.delta_time = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
*dx = old_delta_dx;
|
||||
*dy = old_delta_dy;
|
||||
*dz = old_delta_dz;
|
||||
}
|
||||
|
||||
// filter delta
|
||||
*dx = (Mouse.delta_x + old_delta_dx) * 0.5;
|
||||
*dy = (Mouse.delta_y + old_delta_dy) * 0.5;
|
||||
|
||||
old_delta_dx = Mouse.delta_x;
|
||||
old_delta_dy = Mouse.delta_y;
|
||||
}
|
||||
|
||||
int mouse_get_btns()
|
||||
|
|
|
@ -218,6 +218,7 @@ extern grs_canvas VR_screen_sub_pages[2]; // Two sub pages of VRAM if paging is
|
|||
extern grs_canvas *VR_offscreen_menu; // The offscreen data buffer for menus
|
||||
|
||||
void game_init_render_buffers (int render_max_w, int render_max_h, int render_method);
|
||||
void game_do_render_frame(int flip);
|
||||
extern int Allow_primary_cycle;
|
||||
extern int Allow_secondary_cycle;
|
||||
|
||||
|
|
Loading…
Reference in a new issue