diff options
Diffstat (limited to 'emulators/gens/patches/patch-aq')
-rw-r--r-- | emulators/gens/patches/patch-aq | 112 |
1 files changed, 112 insertions, 0 deletions
diff --git a/emulators/gens/patches/patch-aq b/emulators/gens/patches/patch-aq new file mode 100644 index 00000000000..36597893820 --- /dev/null +++ b/emulators/gens/patches/patch-aq @@ -0,0 +1,112 @@ +$NetBSD: patch-aq,v 1.1 2004/08/15 12:13:53 dillo Exp $ + +--- src/gens/sdllayer/g_sdldraw.c.orig 2004-08-15 11:46:04.000000000 +0200 ++++ src/gens/sdllayer/g_sdldraw.c +@@ -462,7 +462,11 @@ Update_Emulation (void) + Write_Sound_Buffer (NULL); + } + +- Update_Controllers (); ++ if (MoviePlaying) ++ MoviePlayingStuff(); ++ else ++ Update_Controllers(); ++ FrameCount++; + + if (Frame_Number++ < Frame_Skip) + { +@@ -487,7 +491,12 @@ Update_Emulation (void) + //{ + Write_Sound_Buffer (NULL); + //WP = (WP + 1) & (Sound_Segs - 1); +- Update_Controllers (); ++ if (MoviePlaying) ++ MoviePlayingStuff(); ++ else ++ Update_Controllers(); ++ FrameCount++; ++ + + //if (WP != RP) + //{ +@@ -518,13 +527,21 @@ Update_Emulation (void) + + for (; Frame_Number > 1; Frame_Number--) + { +- Update_Controllers (); ++ if (MoviePlaying) ++ MoviePlayingStuff(); ++ else ++ Update_Controllers(); ++ FrameCount++; + Update_Frame_Fast (); + } + + if (Frame_Number) + { +- Update_Controllers (); ++ if (MoviePlaying) ++ MoviePlayingStuff(); ++ else ++ Update_Controllers(); ++ FrameCount++; + Update_Frame (); + Flip (); + } +@@ -540,7 +557,12 @@ Update_Emulation (void) + int + Update_Emulation_One (void) + { +- Update_Controllers (); ++ if (MoviePlaying) ++ MoviePlayingStuff(); ++ else ++ Update_Controllers(); ++ FrameCount++; ++ + Update_Frame (); + Flip (); + +@@ -686,3 +708,42 @@ Take_Shot () + surface->h, surface->w * 2); + return 0; + } ++ ++void ++MoviePlayingStuff() ++{ ++ char PadData[3]; //Modif ++ ++ if(FrameCount >= MovieLastFrame) ++ { ++ MoviePlaying=0; ++ sprintf(Str_Tmp, "Movie finished", Current_State); ++ Put_Info(Str_Tmp, 2000); ++ return; ++ } ++ ReadInMovie(FrameCount,&PadData[0],&PadData[1],&PadData[2]); ++ Controller_1_Up=(PadData[0]&1); ++ Controller_1_Down=(PadData[0]&2)>>1; ++ Controller_1_Left=(PadData[0]&4)>>2; ++ Controller_1_Right=(PadData[0]&8)>>3; ++ Controller_1_A=(PadData[0]&16)>>4; ++ Controller_1_B=(PadData[0]&32)>>5; ++ Controller_1_C=(PadData[0]&64)>>6; ++ Controller_1_Start=(PadData[0]&128)>>7; ++ Controller_2_Up=(PadData[1]&1); ++ Controller_2_Down=(PadData[1]&2)>>1; ++ Controller_2_Left=(PadData[1]&4)>>2; ++ Controller_2_Right=(PadData[1]&8)>>3; ++ Controller_2_A=(PadData[1]&16)>>4; ++ Controller_2_B=(PadData[1]&32)>>5; ++ Controller_2_C=(PadData[1]&64)>>6; ++ Controller_2_Start=(PadData[1]&128)>>7; ++ Controller_1_X=(PadData[2]&1); ++ Controller_1_Y=(PadData[2]&2)>>1; ++ Controller_1_Z=(PadData[2]&4)>>2; ++ Controller_1_Mode=(PadData[2]&8)>>3; ++ Controller_2_X=(PadData[2]&16)>>4; ++ Controller_2_Y=(PadData[2]&32)>>5; ++ Controller_2_Z=(PadData[2]&64)>>6; ++ Controller_2_Mode=(PadData[2]&128)>>7; ++} |