From 6f9e25d673fb7ab21c25db9df986baf2adbf3e6e Mon Sep 17 00:00:00 2001 From: pagefault <> Date: Sun, 2 Mar 2003 21:05:06 +0000 Subject: [PATCH] Begin supporting motion blur in linux --- zsnes/src/linux/sdlintrf.asm | 1 + zsnes/src/linux/sdllink.c | 12 ++++++++++++ 2 files changed, 13 insertions(+) diff --git a/zsnes/src/linux/sdlintrf.asm b/zsnes/src/linux/sdlintrf.asm index f02e0763..b8220bc6 100644 --- a/zsnes/src/linux/sdlintrf.asm +++ b/zsnes/src/linux/sdlintrf.asm @@ -933,6 +933,7 @@ NEWSYM GUIDSIZE, db 0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0 NEWSYM GUIRATIO, db 0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0 NEWSYM GUIBIFIL, db 0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1 ; binlinear = 1, nearest = 0 NEWSYM GUITBWVID, db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ; Triple Buffering (Win) +NEWSYM GUIMBVID, db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 SECTION .text diff --git a/zsnes/src/linux/sdllink.c b/zsnes/src/linux/sdllink.c index ec71023a..7279fc08 100644 --- a/zsnes/src/linux/sdllink.c +++ b/zsnes/src/linux/sdllink.c @@ -121,6 +121,12 @@ void UpdateSound(void *userdata, Uint8 * stream, int len); extern int GUI36hzcall(void); extern int Game60hzcall(void); extern void SoundProcess(); +extern VOID *blur_temp=0; +extern VOID *blur_buffer=0; +extern _int64 copymaskRB = 0x001FF800001FF800; +extern _int64 copymaskG = 0x0000FC000000FC00; +extern _int64 copymagic = 0x0008010000080100; +extern _int64 coef = 0x0066009a0066009a; #ifdef __OPENGL__ extern void gl_clearwin(void); #endif @@ -800,6 +806,12 @@ void initwinvideo(void) if (((PrevStereoSound != StereoSound) || (PrevSoundQuality != SoundQuality))) ReInitSound(); + + if (!blur_buffer) blur_buffer = malloc(SurfaceX * SurfaceY * (BitDepth == 16 ? 2 : 4)); + else blur_buffer = realloc(blur_buffer, SurfaceX * SurfaceY * (BitDepth == 16 ? 2 : 4)); + if (!blur_temp) blur_temp = malloc(SurfaceX * SurfaceY * (BitDepth == 16 ? 2 : 4)); + else blur_temp = realloc(blur_temp, SurfaceX * SurfaceY * (BitDepth == 16 ? 2 : 4)); + } void CheckTimers(void)