[Tux4kids-commits] [SCM] tuxhistory - Educational history game branch, master, updated. f9eb89b4d701a1321a4b991b5c50c85bca7c0f6e

julio (none) julio at julio-desktop.
Wed Jun 16 03:12:06 UTC 2010


The following commit has been merged in the master branch:
commit f9eb89b4d701a1321a4b991b5c50c85bca7c0f6e
Author: julio <julio at julio-desktop.(none)>
Date:   Tue Jun 15 22:10:58 2010 -0500

    Fixing make problems and adding event handling to game.c

diff --git a/configure.ac b/configure.ac
index 2318e0d..d716798 100644
--- a/configure.ac
+++ b/configure.ac
@@ -425,6 +425,7 @@ data/images/penguins/Makefile
 data/images/status/Makefile
 data/images/title/Makefile
 data/images/tux/Makefile
+data/images/terrain/Makefile
 data/images/terrain/arctic/Makefile
 data/images/terrain/desert/Makefile
 data/images/terrain/grassland/Makefile
diff --git a/data/images/Makefile.am b/data/images/Makefile.am
index 73573d5..99ca50f 100644
--- a/data/images/Makefile.am
+++ b/data/images/Makefile.am
@@ -1,7 +1,8 @@
-## Makefile.am for tuxmath data/images:
+## Makefile.am for TuxHistorudata/images:
 ## Process with AutoMake:
 
 SUBDIRS = backgrounds \
+  terrain \
   icons \
   penguins \
   status \
diff --git a/data/images/terrain/Makefile.am b/data/images/terrain/Makefile.am
index dfcac0f..e040d00 100644
--- a/data/images/terrain/Makefile.am
+++ b/data/images/terrain/Makefile.am
@@ -2,19 +2,15 @@
 ## Process with Automake to create Makefile.in
 
 SUBDIRS = arctic\
-	beach	\
 	desert \
 	grassland \
 	highSeas \
-	hills \
 	marsh \
-	mountains \
 	ocean \
 	plains \
 	prairie \
 	savannah \
 	swamp \
-	terrain13 \
 	tundra \
 	unexplored
 
diff --git a/data/images/terrain/arctic/Makefile.am b/data/images/terrain/arctic/Makefile.am
index dc005af..63ddeed 100644
--- a/data/images/terrain/arctic/Makefile.am
+++ b/data/images/terrain/arctic/Makefile.am
@@ -4,11 +4,10 @@
 
 arcticdir = $(pkgdatadir)/images/terrain/arctic
 
-dist_arctic_DATA = 
-border_E_even.png \
+dist_arctic_DATA = border_E_even.png \
 border_E_odd.png \
 border_NE_even.png \
-border_NE_odd.png \
+border_NE_odd.png\
 border_N_even.png \
 border_N_odd.png \
 border_NW_even.png \
diff --git a/data/images/terrain/desert/Makefile.am b/data/images/terrain/desert/Makefile.am
index d5743ed..1ae6240 100644
--- a/data/images/terrain/desert/Makefile.am
+++ b/data/images/terrain/desert/Makefile.am
@@ -4,8 +4,7 @@
 
 desertdir = $(pkgdatadir)/images/terrain/desert
 
-dist_desert_DATA = 
-border_E_even.png \
+dist_desert_DATA = border_E_even.png \
 border_E_odd.png \
 border_NE_even.png \
 border_NE_odd.png \
diff --git a/data/images/terrain/grassland/Makefile.am b/data/images/terrain/grassland/Makefile.am
index 4a465d6..4dda38f 100644
--- a/data/images/terrain/grassland/Makefile.am
+++ b/data/images/terrain/grassland/Makefile.am
@@ -4,8 +4,7 @@
 
 grasslanddir = $(pkgdatadir)/images/terrain/grassland
 
-dist_grassland_DATA = 
-border_E_even.png \
+dist_grassland_DATA = border_E_even.png \
 border_E_odd.png \
 border_NE_even.png \
 border_NE_odd.png \
diff --git a/data/images/terrain/highSeas/Makefile.am b/data/images/terrain/highSeas/Makefile.am
index 9eacea1..6887eba 100644
--- a/data/images/terrain/highSeas/Makefile.am
+++ b/data/images/terrain/highSeas/Makefile.am
@@ -4,8 +4,7 @@
 
 highSeasdir = $(pkgdatadir)/images/terrain/highSeas
 
-dist_highSeas_DATA = 
-border_E_even.png \
+dist_highSeas_DATA = border_E_even.png \
 border_E_odd.png \
 border_NE_even.png \
 border_NE_odd.png \
diff --git a/data/images/terrain/marsh/Makefile.am b/data/images/terrain/marsh/Makefile.am
index d17be4b..ba07908 100644
--- a/data/images/terrain/marsh/Makefile.am
+++ b/data/images/terrain/marsh/Makefile.am
@@ -4,8 +4,7 @@
 
 marshdir = $(pkgdatadir)/images/terrain/marsh
 
-dist_marsh_DATA = 
-border_E_even.png \
+dist_marsh_DATA = border_E_even.png \
 border_E_odd.png \
 border_NE_even.png \
 border_NE_odd.png \
diff --git a/data/images/terrain/ocean/Makefile.am b/data/images/terrain/ocean/Makefile.am
index caa2485..26b9cb5 100644
--- a/data/images/terrain/ocean/Makefile.am
+++ b/data/images/terrain/ocean/Makefile.am
@@ -4,8 +4,7 @@
 
 oceandir = $(pkgdatadir)/images/terrain/ocean
 
-dist_ocean_DATA = 
-border_E_even.png \
+dist_ocean_DATA = border_E_even.png \
 border_E_odd.png \
 border_NE_even.png \
 border_NE_odd.png \
diff --git a/data/images/terrain/plains/Makefile.am b/data/images/terrain/plains/Makefile.am
index c28437e..ebba025 100644
--- a/data/images/terrain/plains/Makefile.am
+++ b/data/images/terrain/plains/Makefile.am
@@ -4,8 +4,7 @@
 
 plainsdir = $(pkgdatadir)/images/terrain/plains
 
-dist_plains_DATA = 
-border_E_even.png \
+dist_plains_DATA = border_E_even.png \
 border_E_odd.png \
 border_NE_even.png \
 border_NE_odd.png \
diff --git a/data/images/terrain/prairie/Makefile.am b/data/images/terrain/prairie/Makefile.am
index 2da1222..afe765e 100644
--- a/data/images/terrain/prairie/Makefile.am
+++ b/data/images/terrain/prairie/Makefile.am
@@ -4,8 +4,7 @@
 
 prairiedir = $(pkgdatadir)/images/terrain/prairie
 
-dist_prairie_DATA = 
-border_E_even.png \
+dist_prairie_DATA = border_E_even.png \
 border_E_odd.png \
 border_NE_even.png \
 border_NE_odd.png \
diff --git a/data/images/terrain/savannah/Makefile.am b/data/images/terrain/savannah/Makefile.am
index 2c39157..042115a 100644
--- a/data/images/terrain/savannah/Makefile.am
+++ b/data/images/terrain/savannah/Makefile.am
@@ -4,8 +4,7 @@
 
 savannahdir = $(pkgdatadir)/images/terrain/savannah
 
-dist_savannah_DATA = 
-border_E_even.png \
+dist_savannah_DATA = border_E_even.png \
 border_E_odd.png \
 border_NE_even.png \
 border_NE_odd.png \
diff --git a/data/images/terrain/swamp/Makefile.am b/data/images/terrain/swamp/Makefile.am
index d1c7dc0..2255dfc 100644
--- a/data/images/terrain/swamp/Makefile.am
+++ b/data/images/terrain/swamp/Makefile.am
@@ -4,8 +4,7 @@
 
 swampdir = $(pkgdatadir)/images/terrain/swamp
 
-dist_swamp_DATA = 
-border_E_even.png \
+dist_swamp_DATA = border_E_even.png \
 border_E_odd.png \
 border_NE_even.png \
 border_NE_odd.png \
diff --git a/data/images/terrain/tundra/Makefile.am b/data/images/terrain/tundra/Makefile.am
index 5258010..b039409 100644
--- a/data/images/terrain/tundra/Makefile.am
+++ b/data/images/terrain/tundra/Makefile.am
@@ -4,8 +4,7 @@
 
 tundradir = $(pkgdatadir)/images/terrain/tundra
 
-dist_tundra_DATA = 
-border_E_even.png \
+dist_tundra_DATA = border_E_even.png \
 border_E_odd.png \
 border_NE_even.png \
 border_NE_odd.png \
diff --git a/data/images/terrain/unexplored/Makefile.am b/data/images/terrain/unexplored/Makefile.am
index 6350172..e3ff30b 100644
--- a/data/images/terrain/unexplored/Makefile.am
+++ b/data/images/terrain/unexplored/Makefile.am
@@ -4,8 +4,7 @@
 
 unexploreddir = $(pkgdatadir)/images/terrain/unexplored
 
-dist_unexplored_DATA = 
-border_E_even.png \
+dist_unexplored_DATA = border_E_even.png \
 border_E_odd.png \
 border_NE_even.png \
 border_NE_odd.png \
diff --git a/src/fileops_media.c b/src/fileops_media.c
index 354775c..75f3ba0 100644
--- a/src/fileops_media.c
+++ b/src/fileops_media.c
@@ -215,7 +215,7 @@ int load_image_data()
     "terrain/ocean/border_S_odd.png",
     "terrain/ocean/border_N_odd.png",
     "terrain/ocean/center1.png",
-    "terrain/ocean/border_S_even.png"
+    "terrain/ocean/border_S_even.png",
     "terrain/marsh/border_E_odd.png",//MARSH
     "terrain/marsh/border_SW_even.png",
     "terrain/marsh/border_NW_odd.png",
diff --git a/src/game.c b/src/game.c
index 05afa35..acfd671 100644
--- a/src/game.c
+++ b/src/game.c
@@ -1,22 +1,15 @@
 /*
-  game.c
-
-  For TuxMath
-  The main game loop!
-
-  by Bill Kendrick
-  bill at newbreedsoftware.com
-  http://www.newbreedsoftware.com/
-
-
-  Part of "Tux4Kids" Project
-  http://www.tux4kids.org/
-
-  August 26, 2001 - February 18, 2004
-
-  Revised by David Bruce, Tim Holy and others
-  2005-2009
-*/
+ * game.c
+ *
+ * Description: The main game loop for TuxHistory
+ * 
+ * Author: Jesús Manuel Mager Hois (fongog at gmail.com) 2010
+ * Copyright: GPL v3 or later
+ *
+ * Part of "Tux4Kids Project
+ * http://www.tux4kids.com
+ * 
+ */
 
 /* put this first so we get <config.h> and <gettext.h> immediately: */
 #include "tuxhistory.h"
@@ -41,30 +34,404 @@
 #include "options.h"
 #include "SDL_extras.h"
 #include "pixels.h"
+#include "map.h"
 
 
-#define FPS 15                     /* 15 frames per second */
+#define FPS 15               /* 15 frames per second */
 #define MS_PER_FRAME (1000 / FPS)
 
+/************ Static Variable definitions ***********/
+//Game variables
+
+static int quit;
+
+// ControlKeys
+static int left_pressed;
+static int right_pressed;
+static int up_pressed;
+static int shift_pressed;
+static int shoot_pressed;
+
+// GameControl
+static int game_status;
+static int paused;
+static int user_quit_received;
+static int SDL_quit_received;
+//static int gameover_counter;
+static int escape_received;
+
+// Background Surfaces
 static SDL_Surface* bkgd = NULL; //640x480 background (windowed)
 static SDL_Surface* scaled_bkgd = NULL; //native resolution (fullscreen)
 
+/********** Static functions definitions *********/
+
+static void game_handle_user_events(void);
+static int game_mouse_event(SDL_Event event);
+
+static int check_exit_conditions(void);
+static int game_over(int);
+static int pause_game(void);
+
+/************** Implementation *******************/
 
 static SDL_Surface* current_bkgd()
-  { 
-      return screen->flags & SDL_FULLSCREEN ? scaled_bkgd : bkgd; 
-  }
+{ 
+    return screen->flags & SDL_FULLSCREEN ? scaled_bkgd : bkgd; 
+}
 
 int game(void)
 {
-  Uint32 timer = 0;
+    Uint32 last_time, now_time;
+
+    DEBUGMSG(debug_game, "Entering game():\n");
+
+      //see if the option matches the actual screen
+    if (Opts_GetGlobalOpt(FULLSCREEN) == !(screen->flags & SDL_FULLSCREEN) )
+    {
+        ;//SwitchScreenMode();  //Huh??
+    }
+
+    while(game_status == GAME_IN_PROGRESS)
+    {
+        last_time = SDL_GetTicks();
+        
+        game_handle_user_events();
+        game_status = check_exit_conditions();
 
-  DEBUGMSG(debug_game, "Entering game():\n");
+        if(paused)
+        {
+            pause_game();
+            paused = 0;
+        }
 
-  //see if the option matches the actual screen
-  if (Opts_GetGlobalOpt(FULLSCREEN) == !(screen->flags & SDL_FULLSCREEN) )
+        // Maintain Frame-rate
+        now_time = SDL_GetTicks();
+        if(now_time < last_time + MS_PER_FRAME)
+        {
+            now_time = (last_time+MS_PER_FRAME) - now_time;
+            if (now_time > MS_PER_FRAME)
+                now_time = MS_PER_FRAME;
+            SDL_Delay(now_time);
+        }
+    }
+    game_over(game_status);
+}
+
+static int pause_game(void)
+{
+  /* NOTE - done and quit changed to pause_done and pause_quit */
+  /* due to potentially confusing name collision */
+  int pause_done, pause_quit;
+  SDL_Event event;
+  SDL_Rect dest;
+
+  /* Only pause if pause allowed: */
+  if (!Opts_AllowPause())
   {
-    ;//SwitchScreenMode();  //Huh??
+    fprintf(stderr, "Pause requested but not allowed by Opts!\n");
+    return 0;
   }
 
+  pause_done = 0;
+  pause_quit = 0;
+
+  dest.x = (screen->w - images[IMG_PAUSED]->w) / 2;
+  dest.y = (screen->h - images[IMG_PAUSED]->h) / 2;
+  dest.w = images[IMG_PAUSED]->w;
+  dest.h = images[IMG_PAUSED]->h;
+
+  DarkenScreen(1);  // cut all channels by half
+  SDL_BlitSurface(images[IMG_PAUSED], NULL, screen, &dest);
+  SDL_UpdateRect(screen, 0, 0, 0, 0);
+
+#ifndef NOSOUND
+  if (Opts_UsingSound())
+    Mix_PauseMusic();
+#endif
+
+  do
+  {
+    while (SDL_PollEvent(&event))
+    {
+      if (event.type == SDL_KEYDOWN)
+        pause_done = 1;
+      else if (event.type == SDL_QUIT)
+      {
+        user_quit_received = GAME_OVER_WINDOW_CLOSE;
+        pause_quit = 1;
+      }
+    }
+
+    SDL_Delay(100);
+  }
+  while (!pause_done && !pause_quit);
+
+#ifndef NOSOUND
+  if (Opts_UsingSound())
+    Mix_ResumeMusic();
+#endif
+
+  return (pause_quit);
 }
+
+static int game_over(int game_status)
+{
+  Uint32 last_time, now_time; 
+  SDL_Rect dest_message;
+  SDL_Event event;
+
+
+  /* TODO: need better "victory" screen with animation, special music, etc., */
+  /* as well as options to review missed questions, play again using missed  */
+  /* questions as question list, etc.                                        */
+  switch (game_status)
+  {
+    case GAME_OVER_WON:
+    {
+      int looping = 1;
+//      int frame;
+      /* set up victory message: */
+      dest_message.x = (screen->w - images[IMG_GAMEOVER_WON]->w) / 2;
+      dest_message.y = (screen->h - images[IMG_GAMEOVER_WON]->h) / 2;
+      dest_message.w = images[IMG_GAMEOVER_WON]->w;
+      dest_message.h = images[IMG_GAMEOVER_WON]->h;
+
+      do
+      {
+        last_time = SDL_GetTicks();
+
+        SDL_BlitSurface(images[IMG_GAMEOVER_WON], NULL, screen, &dest_message);
+        SDL_Flip(screen);
+
+        while (1)
+        {
+	      SDL_PollEvent(&event);
+          if  (event.type == SDL_QUIT
+            || event.type == SDL_KEYDOWN
+            || event.type == SDL_MOUSEBUTTONDOWN)
+          {
+            looping = 0;
+	    break;
+          }
+        }
+
+        now_time = SDL_GetTicks();
+
+        if (now_time < last_time + MS_PER_FRAME)
+	  SDL_Delay(last_time + MS_PER_FRAME - now_time);
+      }
+      while (looping);
+      break;
+    }
+
+    case GAME_OVER_ERROR:
+    {
+      DEBUGMSG(debug_factoroids, "game() exiting with error");
+    }
+    case GAME_OVER_LOST:
+    case GAME_OVER_OTHER:
+    {
+      int looping = 1;
+
+      /* set up GAMEOVER message: */
+      dest_message.x = (screen->w - images[IMG_GAMEOVER]->w) / 2;
+      dest_message.y = (screen->h - images[IMG_GAMEOVER]->h) / 2;
+      dest_message.w = images[IMG_GAMEOVER]->w;
+      dest_message.h = images[IMG_GAMEOVER]->h;
+
+      do
+      {
+        //frame++;
+        last_time = SDL_GetTicks();
+
+        SDL_BlitSurface(images[IMG_GAMEOVER], NULL, screen, &dest_message);
+        SDL_Flip(screen);
+
+        while (1)
+        {
+	  SDL_PollEvent(&event);
+          if  (event.type == SDL_QUIT
+            || event.type == SDL_KEYDOWN
+            || event.type == SDL_MOUSEBUTTONDOWN)
+          {
+            looping = 0;
+	    break;
+          }
+        }
+
+        now_time = SDL_GetTicks();
+
+        if (now_time < last_time + MS_PER_FRAME)
+	  SDL_Delay(last_time + MS_PER_FRAME - now_time);
+      }
+      while (looping);
+
+      break;
+    }
+
+    case GAME_OVER_ESCAPE:
+    {
+      break;
+    }
+
+    case GAME_OVER_WINDOW_CLOSE:
+    {
+      break;
+    }
+
+  }
+
+  /* Return the chosen command: */
+  if (GAME_OVER_WINDOW_CLOSE == game_status)
+  {
+    /* program exits: */
+    return 1;
+  }
+  else
+  {
+    /* return to title() screen: */
+    return 0;
+  }
+}
+
+
+
+static void game_handle_user_events(void)
+{
+  SDL_Event event;
+  SDLKey key;
+
+  while (SDL_PollEvent(&event) > 0)
+  {
+    if (event.type == SDL_QUIT)
+    {
+      SDL_quit_received = 1;
+      quit = 1;
+    }
+    if (event.type == SDL_MOUSEBUTTONDOWN)
+    {
+      key = game_mouse_event(event);
+    }
+    if (event.type == SDL_KEYDOWN ||
+	event.type == SDL_KEYUP)
+    {
+      key = event.key.keysym.sym;
+      
+      if (event.type == SDL_KEYDOWN)
+	  {
+	    if (key == SDLK_ESCAPE)
+	    {
+            // Return to menu! 
+            escape_received = 1;
+
+	    }
+	  
+	    // Key press... 
+	 
+	    if (key == SDLK_RIGHT)
+	    {
+	      // Rotate CW 
+	      
+ 	      left_pressed = 0;
+	      right_pressed = 1;
+	    }
+	    else if (key == SDLK_LEFT)
+	    {
+	      // Rotate CCW 
+	      
+	      left_pressed = 1;
+	      right_pressed = 0;
+	    }
+	    else if (key == SDLK_UP)
+	    {
+	      // Thrust! 
+	      
+	      up_pressed = 1;
+	    }
+	  
+	    if (key == SDLK_LSHIFT || key == SDLK_RSHIFT)
+	    {
+	      // Respawn now (if applicable) 
+	      shift_pressed = 1;
+	    }
+
+	    if (key == SDLK_TAB || key == SDLK_p)
+  	    {
+        /* [TAB] or [P]: Pause! (if settings allow) */
+    	  if (Opts_AllowPause())
+    	  {
+    	    paused = 1;
+    	  }
+  	    }
+	  }
+      else if (event.type == SDL_KEYUP)
+	  {
+	    // Key release... 
+	  
+	    if (key == SDLK_RIGHT)
+	    {
+	      right_pressed = 0;
+	    }
+	    else if (key == SDLK_LEFT)
+	    {
+               left_pressed = 0;
+ 	    }
+	    else if (key == SDLK_UP)
+	    {
+	      up_pressed = 0;
+	    }
+	    if (key == SDLK_LSHIFT ||
+	        key == SDLK_RSHIFT)
+	    {
+	      // Respawn now (if applicable) 
+	      shift_pressed = 0;
+	    }
+      }
+    }
+  }
+}
+
+static int game_mouse_event(SDL_Event event)
+{
+  SDLKey key = SDLK_UNKNOWN;
+
+  /* Check to see if user clicked exit button: */
+  /* The exit button is in the upper right corner of the screen: */
+  if ((event.button.x >= (screen->w - images[IMG_STOP]->w))
+    &&(event.button.y <= images[IMG_STOP]->h))
+  {
+    key = SDLK_ESCAPE;
+    //game_key_event(key);
+    escape_received = 1;
+    quit = 1;
+    return -1;
+  } 
+
+  if (key == SDLK_UNKNOWN)
+  {
+      return -1;
+  }
+
+    /* now can proceed as if keyboard was used */
+    //game_key_event(key);
+    return key;
+  }
+}
+
+
+static int check_exit_conditions(void)
+{
+  if(SDL_quit_received)
+  {
+    return GAME_OVER_WINDOW_CLOSE;
+  }
+
+  if(escape_received)
+  {
+    return GAME_OVER_ESCAPE;
+  }
+  // TODO: Loose or win...
+  return GAME_IN_PROGRESS;
+}
+
diff --git a/src/game.h b/src/game.h
index fc804d6..69433d9 100644
--- a/src/game.h
+++ b/src/game.h
@@ -1,87 +1,21 @@
 /*
-  game.h
-
-  For TuxMath
-  The main game loop!
-
-  by Bill Kendrick
-  bill at newbreedsoftware.com
-  http://www.newbreedsoftware.com/
-
-
-  Part of "Tux4Kids" Project
-  http://www.tux4kids.org/
-      
-  August 26, 2001 - February 18, 2004
-*/
-
+ * game.c
+ *
+ * Description: The main game loop for TuxHistory
+ * 
+ * Author: Jesús Manuel Mager Hois (fongog at gmail.com) 2010
+ * Copyright: GPL v3 or later
+ *
+ * Part of "Tux4Kids Project
+ * http://www.tux4kids.com
+ * 
+ */
 
 #ifndef GAME_H
 #define GAME_H
 
-#define MAX_COMETS 10
-#define NUM_CITIES 4   /* MUST BE AN EVEN NUMBER! */
-
 #define NUM_BKGDS 8
 
-#define MAX_CITY_COLORS 4
-
-typedef struct laser_type {
-  int alive;
-  int x1, y1;
-  int x2, y2;
-} laser_type;
-
-/* Note: both igloos and the original "cities" graphics are handled
-   with the "cities" structure.
-   hits_left holds the number of hits it can withstand before
-   being "dead". If using the original cities graphics,
-      2 = with shield,
-      1 = without shield,
-      0 = dead
-   If using the igloo graphics,
-      2 = intact,
-      1 = half-melted
-      0 = melted
-*/
-
-/* For both cities/igloos & penguins, the animation state is
-   controlled by "status", and "counter" is used for timing.  We also
-   have "img" and "layer" so that the image can be pre-planned to have
-   a specific rendering order (so that foreground/background issues
-   are handled properly). Layer 0 is rendered first, then layer 1, and
-   so on. */
-
-typedef struct city_type {
-  int hits_left;
-  int status, counter;
-  int threatened;   /* true if a comet is near */
-  int x;
-  int img,layer;
-} city_type;
-
-typedef struct penguin_type {
-  int status, counter;
-  int x;
-  int img,layer;
-} penguin_type;
-
-typedef struct steam_type {
-  int status, counter;
-  int img,layer;
-} steam_type;
-
-#define NUM_SNOWFLAKES 100
-
-typedef struct cloud_type {
-  int status;
-  int city;
-  int x,y;
-  int snowflake_x[NUM_SNOWFLAKES];
-  int snowflake_y[NUM_SNOWFLAKES];
-  int snowflake_size[NUM_SNOWFLAKES];
-} cloud_type;
-
 #define GAME_MESSAGE_LENGTH 100
 
 typedef struct {
@@ -101,51 +35,10 @@ enum {
   GAME_OVER_ERROR
 };
 
-/* City animation status types */
-enum {
-  CITY_PRESENT,
-  CITY_EXPLODING,
-  CITY_EVAPORATING,
-  CITY_REBUILDING,
-  CITY_GONE
-};
-
-/* Penguin animation status types */
-enum {
-  PENGUIN_OFFSCREEN,
-  PENGUIN_HAPPY,
-  PENGUIN_FLAPPING,
-  PENGUIN_DUCKING,
-  PENGUIN_GRUMPY,
-  PENGUIN_WORRIED,
-  PENGUIN_WALKING_OFF,
-  PENGUIN_WALKING_ON,
-  PENGUIN_STANDING_UP,
-  PENGUIN_SITTING_DOWN,
-  PENGUIN_BOWING
-};
-
-/* Steam animation status types */
-enum {
-  STEAM_OFF,
-  STEAM_ON
-};
-
-/* Cloud & snowflake animation types */
-enum {
-  EXTRA_LIFE_OFF,
-  EXTRA_LIFE_ON
-};
-
 int game(void);
 void game_set_start_message(const char*, const char*, const char*, const char*);
 
-/* draw_nums() is used in options.c and factoroids.c/h so need extern linkage */
 void draw_nums(const char* str, int x, int y);
-
-/*used in factoroids.c/h*/
-int pause_game(void);
-//void putpixel(SDL_Surface* surface, int x, int y, Uint32 pixel);
 void draw_line(int x1, int y1, int x2, int y2, int r, int g, int b);
 void draw_numbers(const char* str, int x, int y);
 
diff --git a/src/map.h b/src/map.h
index f4434a7..bc5539d 100644
--- a/src/map.h
+++ b/src/map.h
@@ -23,5 +23,5 @@ void th_draw_map(void);
 //Generates the th_map from a XML string.
 th_map** th_make_map(char *);
 
-char* th_serialize_map(th_map **)
+char* th_serialize_map(th_map **);
 
diff --git a/tuxmath.spec.in b/tuxmath.spec.in
index b04bfba..770bee4 100644
--- a/tuxmath.spec.in
+++ b/tuxmath.spec.in
@@ -14,7 +14,7 @@ Obsoletes: 	tuxmath_preview <= @VERSION@
 Provides:  	tuxmath_preview = @VERSION@
 %define         realname @PACKAGE@
 %define         progname @PACKAGE@
-Summary:        Tux Math - educational math game
+Summary:        Tux History - educational History game
 Version:        @VERSION@
 Release:        1
 License:        GPL

-- 
tuxhistory - Educational history game



More information about the Tux4kids-commits mailing list