summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/games/sfcave/sfcave.cpp17
1 files changed, 13 insertions, 4 deletions
diff --git a/noncore/games/sfcave/sfcave.cpp b/noncore/games/sfcave/sfcave.cpp
index 93f5f82..d551afe 100644
--- a/noncore/games/sfcave/sfcave.cpp
+++ b/noncore/games/sfcave/sfcave.cpp
@@ -827,5 +827,5 @@ void SFCave :: keyPressEvent( QKeyEvent *e )
case Qt::Key_F9:
case Qt::Key_Space:
- if ( !press )
+ if ( !replay && !press )
{
press = true;
@@ -863,5 +863,5 @@ void SFCave :: keyReleaseEvent( QKeyEvent *e )
case Qt::Key_Space:
case Qt::Key_Up:
- if ( press )
+ if ( !replay && press )
{
press = false;
@@ -884,9 +884,11 @@ void SFCave :: keyReleaseEvent( QKeyEvent *e )
case Qt::Key_S:
- saveReplay();
+ if ( state == STATE_CRASHED )
+ saveReplay();
break;
case Qt::Key_L:
- loadReplay();
+ if ( state == STATE_CRASHED )
+ loadReplay();
break;
default:
@@ -1066,4 +1068,9 @@ void SFCave :: loadReplay()
FILE *in = fopen( (const char *)replayFile, "r" );
+ if ( in == 0 )
+ {
+ printf( "Couldn't load replay file!\n" );
+ return;
+ }
// Read size of next line
char line[10+1];
@@ -1094,3 +1101,5 @@ void SFCave :: loadReplay()
fclose( in );
+
+ printf( "Replay loaded from %s\n", (const char *)replayFile );
} \ No newline at end of file