author | andyq <andyq> | 2002-12-11 17:58:53 (UTC) |
---|---|---|
committer | andyq <andyq> | 2002-12-11 17:58:53 (UTC) |
commit | f4865ac8e114baedd13c95160631e4574da9dc84 (patch) (side-by-side diff) | |
tree | ecc74f212ffde8b9733ad6a7dd9e2360717917ef /noncore/games/sfcave | |
parent | 676f39d78772b19d11471db55ece82262278f942 (diff) | |
download | opie-f4865ac8e114baedd13c95160631e4574da9dc84.zip opie-f4865ac8e114baedd13c95160631e4574da9dc84.tar.gz opie-f4865ac8e114baedd13c95160631e4574da9dc84.tar.bz2 |
Added check for no replay file on loading and fixed bugs where you could screw up the replay by pressing stuff
-rw-r--r-- | noncore/games/sfcave/sfcave.cpp | 17 |
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 @@ -826,7 +826,7 @@ void SFCave :: keyPressEvent( QKeyEvent *e ) case Qt::Key_Up: case Qt::Key_F9: case Qt::Key_Space: - if ( !press ) + if ( !replay && !press ) { press = true; replayList.append( new int( nrFrames ) ); @@ -862,7 +862,7 @@ void SFCave :: keyReleaseEvent( QKeyEvent *e ) case Qt::Key_F9: case Qt::Key_Space: case Qt::Key_Up: - if ( press ) + if ( !replay && press ) { press = false; @@ -883,11 +883,13 @@ void SFCave :: keyReleaseEvent( QKeyEvent *e ) break; case Qt::Key_S: - saveReplay(); + if ( state == STATE_CRASHED ) + saveReplay(); break; case Qt::Key_L: - loadReplay(); + if ( state == STATE_CRASHED ) + loadReplay(); break; default: e->ignore(); @@ -1065,6 +1067,11 @@ 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]; fgets( line, 10, in ); @@ -1093,4 +1100,6 @@ void SFCave :: loadReplay() delete data; fclose( in ); + + printf( "Replay loaded from %s\n", (const char *)replayFile ); }
\ No newline at end of file |