@@ -697,6 +697,10 @@ - (void)controller:(GCController *)controller buttonChanged:(GCControllerButtonI
697697 case GBSelect:
698698 case GBStart:
699699 GB_set_key_state (&_gb, (GB_key_t)gbButton, button.value > 0.25 );
700+ if (_runMode == GBRunModeRewind || _runMode == GBRunModePaused) {
701+ self.runMode = GBRunModeNormal;
702+ [_backgroundView fadeOverlayOut ];
703+ }
700704 break ;
701705 case GBRapidA:
702706 _rapidA = button.value > 0.25 ;
@@ -795,6 +799,10 @@ - (void)controller:(GCController *)controller axisChanged:(GCControllerDirection
795799 GB_set_key_state (&_gb, GB_KEY_RIGHT, right);
796800 GB_set_key_state (&_gb, GB_KEY_UP, up);
797801 GB_set_key_state (&_gb, GB_KEY_DOWN, down);
802+ if (_runMode == GBRunModeRewind || _runMode == GBRunModePaused) {
803+ self.runMode = GBRunModeNormal;
804+ [_backgroundView fadeOverlayOut ];
805+ }
798806}
799807
800808- (void )controller : (GCController *)controller motionChanged : (GCMotion *)motion
@@ -1649,6 +1657,12 @@ - (void)vblankWithType:(GB_vblank_type_t)type
16491657 _rapidBCount++;
16501658 GB_set_key_state (&_gb, GB_KEY_B, !(_rapidBCount & 2 ));
16511659 }
1660+ if (_rapidA || _rapidB) {
1661+ if (_runMode == GBRunModeRewind || _runMode == GBRunModePaused) {
1662+ self.runMode = GBRunModeNormal;
1663+ [_backgroundView fadeOverlayOut ];
1664+ }
1665+ }
16521666 _rewind = _runMode == GBRunModeRewind;
16531667}
16541668
0 commit comments