This is a patch file for "fishsupper" 0.1.6. IMHO: These changes make the game less confusing and more fun to play. However, your mileage may vary. --- fishsupper-0.1.6.old/src/Get_ready_screen.cpp +++ fishsupper-0.1.6/src/Get_ready_screen.cpp @@ -142,7 +142,7 @@ void FS::Get_ready_screen::init_countdown(int t, int lev) { start_time = t; - draw_countdown(10, lev); + draw_countdown (5, lev); } // FS::Get_ready_screen::init_countdown @@ -185,7 +185,8 @@ while ( input_ptr->next_event(ke) ) { - if ( ke == User_input::JUMP_KEY_PRESSED ) + if (( ke == User_input::JUMP_KEY_PRESSED ) || + ( ke == User_input::ESCAPE_PRESSED )) { jump_pressed = true; break; --- fishsupper-0.1.6.old/src/Get_ready_screen.h +++ fishsupper-0.1.6/src/Get_ready_screen.h @@ -61,7 +61,7 @@ private: - static const int SECONDS_TO_WAIT = 10; + static const int SECONDS_TO_WAIT = 5; int start_time; int current_start_level; --- fishsupper-0.1.6.old/src/Pause_menu.cpp +++ fishsupper-0.1.6/src/Pause_menu.cpp @@ -70,7 +70,7 @@ { if (User_input::ESCAPE_PRESSED == ke) { - current_selection = PMS_CONTINUE; + current_selection = PMS_QUIT; selection_made = true; break; } --- fishsupper-0.1.6.old/src/Player_data.h +++ fishsupper-0.1.6/src/Player_data.h @@ -76,7 +76,7 @@ int get_score() const { return score; } // returns number of lives left - void dec_num_lives() { --num_lives; } + void dec_num_lives() {} int get_num_lives() const { return num_lives; } //const SDL_Rect & get_crystals_held_bounding_box() { return dirty_rect; } --- fishsupper-0.1.6.old/src/Settings_screen.h +++ fishsupper-0.1.6/src/Settings_screen.h @@ -71,8 +71,8 @@ static const int tick1_x = 252; static const int tick_y_offset = 33; static const int sprite_texture_start = FS_gfx::JOYSTICK; - static const float bold = 1.0; - static const float faded = 0.2; + static constexpr float bold = 1.0; + static constexpr float faded = 0.2; Settings* settings_ptr; int current_option; --- fishsupper-0.1.6.old/src/Sprite_manager.cpp +++ fishsupper-0.1.6/src/Sprite_manager.cpp @@ -20,7 +20,7 @@ - +#include #include "Sprite_manager.h" @@ -154,6 +154,8 @@ alberts_row = ROW_NONE; player_data_ptr->dec_num_lives(); redraw_lives = true; + +#ifdef NOTDEF if ( player_data_ptr->get_num_lives() == 0 ) { the_cat.start_leave_in_a_huff(time_passed); @@ -162,7 +164,11 @@ break; } else +#endif { + if ((rand() & 0xFF) < 75) + sound_engine_ptr->play_sound (Sound_engine::MIAOW); + current_state = REQUEST_LEVEL_RESTART; break; } // if ... else --- fishsupper-0.1.6.old/src/Star_particle_system.h +++ fishsupper-0.1.6/src/Star_particle_system.h @@ -77,7 +77,7 @@ static const int STAR_WIDTH = 30; static const int STAR_HEIGHT = 30; // This is a float so that we get floating-point division in update. - static const float lifespan = 1500.0; // in ms + static constexpr float lifespan = 1500; // in ms // A particle is basically a lightweight sprite. // Unlike a usual sprite, we don't need to worry about --- fishsupper-0.1.6.old/src/User_input.cpp +++ fishsupper-0.1.6/src/User_input.cpp @@ -62,7 +62,8 @@ { if (event.type == SDL_KEYDOWN) { - if (event.key.keysym.sym == SDLK_ESCAPE) + if ((event.key.keysym.sym == SDLK_ESCAPE) || + (event.key.keysym.sym == SDLK_q)) { my_list.push_back(ESCAPE_PRESSED); } @@ -84,7 +85,11 @@ { my_list.push_back(LEFT_KEY_PRESSED); } - else if (event.key.keysym.sym == jump_key) + else if ((event.key.keysym.sym == jump_key ) || + (event.key.keysym.sym == SDLK_KP_ENTER ) || + (event.key.keysym.sym == SDLK_LCTRL ) || + (event.key.keysym.sym == SDLK_RETURN )) + { my_list.push_back(JUMP_KEY_PRESSED); } // if ... else