+void
+draw_game_over(void)
+{
+ int x;
+ char *text0, *text1;
+ SDL_Rect dest;
+ float a_game = 0, a_over = 0;
+
+ // fade in "GAME", then "OVER".
+ a_game = min(1.0, faderate*fadetimer/3.0);
+ if(a_game == 1.0) a_over = min(1.0, faderate*fadetimer/3.0 - 1);
+
+ fadetimer += t_frame;
+
+ dest.x = (XSIZE-surf_b_game->w)/2;
+ dest.y = (YSIZE-surf_b_game->h)/2-40;
+ SDL_SetAlpha(surf_b_game, SDL_SRCALPHA, (int)(a_game*(200 + 55*cos(fadetimer))));
+ SDL_BlitSurface(surf_b_game,NULL,surf_screen,&dest);
+
+ dest.x = (XSIZE-surf_b_over->w)/2;
+ dest.y = (YSIZE-surf_b_over->h)/2 + 40;
+ SDL_SetAlpha(surf_b_over, SDL_SRCALPHA, (int)(a_over*(200 + 55*sin(fadetimer))));
+ SDL_BlitSurface(surf_b_over,NULL,surf_screen,&dest);
+
+ if(new_high_score(score)) {
+ text0 = "New High Score!";
+ text1 = "Press SPACE to continue";
+ } else if(initial_rocks == EASY_I_ROCKS) {
+ text0 = space_msgs[1]; sequence[0] = text0;
+ text1 = other_msgs[1]; sequence[1] = text1;
+ } else {
+ text0 = space_msgs[0]; sequence[0] = space_msgs[2];
+ text1 = other_msgs[0]; sequence[1] = text1;