summaryrefslogtreecommitdiff
path: root/noncore/games/sfcave-sdl/sfcave_game.cpp
Unidiff
Diffstat (limited to 'noncore/games/sfcave-sdl/sfcave_game.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/games/sfcave-sdl/sfcave_game.cpp14
1 files changed, 13 insertions, 1 deletions
diff --git a/noncore/games/sfcave-sdl/sfcave_game.cpp b/noncore/games/sfcave-sdl/sfcave_game.cpp
index 72c5ce3..1b00e14 100644
--- a/noncore/games/sfcave-sdl/sfcave_game.cpp
+++ b/noncore/games/sfcave-sdl/sfcave_game.cpp
@@ -36,12 +36,25 @@ void SFCaveGame :: init()
36 case MENU_DIFFICULTY_NORMAL: 36 case MENU_DIFFICULTY_NORMAL:
37 blockDistance = 40; 37 blockDistance = 40;
38 break; 38 break;
39 case MENU_DIFFICULTY_HARD: 39 case MENU_DIFFICULTY_HARD:
40 blockDistance = 30; 40 blockDistance = 30;
41 break; 41 break;
42 case MENU_DIFFICULTY_CUSTOM:
43 {
44 // Read custom difficulty settings for this game
45 blockDistance = parent->loadIntSetting( "SFCave_custom_blockdistance", 50 );
46
47 double thrust = parent->loadDoubleSetting( "SFCave_custom_player_thrust", 0.4 );
48 double gravity = parent->loadDoubleSetting( "SFCave_custom_player_gravity", 0.6 );
49 double maxUp = parent->loadDoubleSetting( "SFCave_custom_player_maxupspeed", 4.0 );
50 double maxDown = parent->loadDoubleSetting( "SFCave_custom_player_maxdownspeed", 5.0 );
51 player->setMovementInfo( thrust, gravity, maxUp, maxDown );
52
53 break;
54 }
42 } 55 }
43 56
44 for ( int i = 0 ; i < BLOCKSIZE ; ++i ) 57 for ( int i = 0 ; i < BLOCKSIZE ; ++i )
45 blocks[i].y( -1 ); 58 blocks[i].y( -1 );
46} 59}
47 60
@@ -65,13 +78,12 @@ void SFCaveGame :: update( int state )
65 blockHeight -= 5; 78 blockHeight -= 5;
66 } 79 }
67 } 80 }
68 81
69 if ( checkCollisions() ) 82 if ( checkCollisions() )
70 { 83 {
71 // printf( "Crashed!\n" );
72 parent->changeState( STATE_CRASHING ); 84 parent->changeState( STATE_CRASHING );
73 return; 85 return;
74 } 86 }
75 87
76 if ( nrFrames % blockDistance == 0 ) 88 if ( nrFrames % blockDistance == 0 )
77 addBlock(); 89 addBlock();