[Tux4kids-commits] r1224 - tuxmath/branches/lan/src
akash gangil
gangil-guest at alioth.debian.org
Fri Jul 17 19:53:36 UTC 2009
Author: gangil-guest
Date: 2009-07-17 19:53:28 +0000 (Fri, 17 Jul 2009)
New Revision: 1224
Modified:
tuxmath/branches/lan/src/highscore.c
tuxmath/branches/lan/src/highscore.h
tuxmath/branches/lan/src/titlescreen.c
Log:
Committing standby functions for the lan game
Modified: tuxmath/branches/lan/src/highscore.c
===================================================================
--- tuxmath/branches/lan/src/highscore.c 2009-07-17 18:44:57 UTC (rev 1223)
+++ tuxmath/branches/lan/src/highscore.c 2009-07-17 19:53:28 UTC (rev 1224)
@@ -606,9 +606,282 @@
strncpy((char*)pl_name, (char*)UTF8_buf, HIGH_SCORE_NAME_LENGTH * 3);
}
+void Ready(const char* heading)
+{
+ SDL_Rect loc;
+ SDL_Rect TuxRect,
+ stopRect,
+ okRect;
+ int finished = 0;
+ int tux_frame = 0;
+ Uint32 frame = 0;
+ Uint32 start = 0;
+ sprite* Tux = LoadSprite("tux/bigtux", IMG_ALPHA);
+ /* We need to get Unicode vals from SDL keysyms */
+ SDL_EnableUNICODE(SDL_ENABLE);
+
+
+
+ /* Draw background: */
+ if (current_bkg())
+ SDL_BlitSurface(current_bkg(), NULL, screen, NULL);
+
+ /* Red "Stop" circle in upper right corner to go back to main menu: */
+ if (images[IMG_STOP])
+ {
+ stopRect.w = images[IMG_STOP]->w;
+ stopRect.h = images[IMG_STOP]->h;
+ stopRect.x = screen->w - images[IMG_STOP]->w;
+ stopRect.y = 0;
+ SDL_BlitSurface(images[IMG_STOP], NULL, screen, &stopRect);
+ }
+
+ if (images[IMG_RIGHT])
+ {
+ okRect.w = (images[IMG_RIGHT]->w)*2;
+ okRect.h = (images[IMG_RIGHT]->h)*2;
+ okRect.x = (screen->w)/2;
+ okRect.y = 240;
+ SDL_BlitSurface(images[IMG_RIGHT], NULL, screen, &okRect);
+ }
+
+
+ if (Tux && Tux->frame[0]) /* make sure sprite has at least one frame */
+ {
+ TuxRect.w = Tux->frame[0]->w;
+ TuxRect.h = Tux->frame[0]->h;
+ TuxRect.x = 0;
+ TuxRect.y = screen->h - Tux->frame[0]->h;
+ }
+
+
+ /* Draw heading: */
+ {
+ SDL_Surface* s = BlackOutline(_(heading),
+ DEFAULT_MENU_FONT_SIZE, &white);
+ if (s)
+ {
+ loc.x = (screen->w/2) - (s->w/2);
+ loc.y = 110;
+ SDL_BlitSurface(s, NULL, screen, &loc);
+ SDL_FreeSurface(s);
+ }
+
+ }
+
+ /* and update: */
+ SDL_UpdateRect(screen, 0, 0, 0, 0);
+
+
+
+ while (!finished)
+ {
+ start = SDL_GetTicks();
+
+ while (SDL_PollEvent(&event))
+ {
+ switch (event.type)
+ {
+ case SDL_QUIT:
+ {
+ cleanup();
+ }
+
+ case SDL_MOUSEBUTTONDOWN:
+ /* "Stop" button - go to main menu: */
+ {
+ if (inRect(stopRect, event.button.x, event.button.y ))
+ {
+ finished = 1;
+ playsound(SND_TOCK);
+ break;
+ }
+
+ if (inRect(okRect, event.button.x, event.button.y ))
+ {
+ finished = 1;
+ playsound(SND_TOCK);
+ break;
+ }
+
+ }
+ }
+ }
+
+ /* --- make tux blink --- */
+ switch (frame % TUX6)
+ {
+ case 0: tux_frame = 1; break;
+ case TUX1: tux_frame = 2; break;
+ case TUX2: tux_frame = 3; break;
+ case TUX3: tux_frame = 4; break;
+ case TUX4: tux_frame = 3; break;
+ case TUX5: tux_frame = 2; break;
+ default: tux_frame = 0;
+ }
+
+ if (Tux && tux_frame)
+ {
+ SDL_BlitSurface(Tux->frame[tux_frame - 1], NULL, screen, &TuxRect);
+ SDL_UpdateRect(screen, TuxRect.x, TuxRect.y, TuxRect.w, TuxRect.h);
+ }
+
+ /* Wait so we keep frame rate constant: */
+ while ((SDL_GetTicks() - start) < 33)
+ {
+ SDL_Delay(20);
+ }
+ frame++;
+ } // End of while (!finished) loop
+
+ FreeSprite(Tux);
+
+ /* Turn off SDL Unicode lookup (because has some overhead): */
+ SDL_EnableUNICODE(SDL_DISABLE);
+
+}
+
+
+void Standby(const char* heading, const char* sub)
+{
+
+ SDL_Rect loc;
+ SDL_Rect TuxRect,
+ stopRect;
+
+ int finished = 0;
+ int tux_frame = 0;
+ Uint32 frame = 0;
+ Uint32 start = 0;
+ const int BG_Y = 100;
+ const int BG_WIDTH = 400;
+ const int BG_HEIGHT = 200;
+
+ sprite* Tux = LoadSprite("tux/bigtux", IMG_ALPHA);
+
+
+ /* We need to get Unicode vals from SDL keysyms */
+ SDL_EnableUNICODE(SDL_ENABLE);
+
+#ifdef TUXMATH_DEBUG
+ fprintf(stderr, "\nEnter HighScoreNameEntry()\n" );
+#endif
+
+
+ /* Draw background: */
+ if (current_bkg())
+ SDL_BlitSurface(current_bkg(), NULL, screen, NULL);
+
+ /* Red "Stop" circle in upper right corner to go back to main menu: */
+ if (images[IMG_STOP])
+ {
+ stopRect.w = images[IMG_STOP]->w;
+ stopRect.h = images[IMG_STOP]->h;
+ stopRect.x = screen->w - images[IMG_STOP]->w;
+ stopRect.y = 0;
+ SDL_BlitSurface(images[IMG_STOP], NULL, screen, &stopRect);
+ }
+
+ if (Tux && Tux->frame[0]) /* make sure sprite has at least one frame */
+ {
+ TuxRect.w = Tux->frame[0]->w;
+ TuxRect.h = Tux->frame[0]->h;
+ TuxRect.x = 0;
+ TuxRect.y = screen->h - Tux->frame[0]->h;
+ }
+
+ /* Draw heading: */
+ {
+ SDL_Surface* s = BlackOutline(_(heading),
+ DEFAULT_MENU_FONT_SIZE, &white);
+ if (s)
+ {
+ loc.x = (screen->w/2) - (s->w/2);
+ loc.y = 110;
+ SDL_BlitSurface(s, NULL, screen, &loc);
+ SDL_FreeSurface(s);
+ }
+
+ s = BlackOutline(_(sub),
+ DEFAULT_MENU_FONT_SIZE, &white);
+ if (s)
+ {
+ loc.x = (screen->w/2) - (s->w/2);
+ loc.y = 140;
+ SDL_BlitSurface(s, NULL, screen, &loc);
+ SDL_FreeSurface(s);
+ }
+ }
+
+ /* and update: */
+ SDL_UpdateRect(screen, 0, 0, 0, 0);
+
+
+
+ while (!finished)
+ {
+ start = SDL_GetTicks();
+
+ while (SDL_PollEvent(&event))
+ {
+ switch (event.type)
+ {
+ case SDL_QUIT:
+ {
+ cleanup();
+ }
+
+ case SDL_MOUSEBUTTONDOWN:
+ /* "Stop" button - go to main menu: */
+ {
+ if (inRect(stopRect, event.button.x, event.button.y ))
+ {
+ finished = 1;
+ playsound(SND_TOCK);
+ break;
+ }
+ }
+ }
+ }
+
+ /* --- make tux blink --- */
+ switch (frame % TUX6)
+ {
+ case 0: tux_frame = 1; break;
+ case TUX1: tux_frame = 2; break;
+ case TUX2: tux_frame = 3; break;
+ case TUX3: tux_frame = 4; break;
+ case TUX4: tux_frame = 3; break;
+ case TUX5: tux_frame = 2; break;
+ default: tux_frame = 0;
+ }
+
+ if (Tux && tux_frame)
+ {
+ SDL_BlitSurface(Tux->frame[tux_frame - 1], NULL, screen, &TuxRect);
+ SDL_UpdateRect(screen, TuxRect.x, TuxRect.y, TuxRect.w, TuxRect.h);
+ }
+
+ /* Wait so we keep frame rate constant: */
+ while ((SDL_GetTicks() - start) < 33)
+ {
+ SDL_Delay(20);
+ }
+ frame++;
+ } // End of while (!finished) loop
+
+ FreeSprite(Tux);
+
+ /* Turn off SDL Unicode lookup (because has some overhead): */
+ SDL_EnableUNICODE(SDL_DISABLE);
+
+}
+
+
+
/* Zero-out the array before use: */
void initialize_scores(void)
{
Modified: tuxmath/branches/lan/src/highscore.h
===================================================================
--- tuxmath/branches/lan/src/highscore.h 2009-07-17 18:44:57 UTC (rev 1223)
+++ tuxmath/branches/lan/src/highscore.h 2009-07-17 19:53:28 UTC (rev 1224)
@@ -20,6 +20,8 @@
void DisplayHighScores(int level);
void HighScoreNameEntry(char* pl_name);
void NameEntry(char* pl_name, const char* heading, const char* sub);
+void Standby(const char* heading, const char* sub);
+void Ready(const char* heading);
int check_score_place(int diff_level, int new_score);
int insert_score(char* playername, int diff_level, int new_score);
Modified: tuxmath/branches/lan/src/titlescreen.c
===================================================================
--- tuxmath/branches/lan/src/titlescreen.c 2009-07-17 18:44:57 UTC (rev 1223)
+++ tuxmath/branches/lan/src/titlescreen.c 2009-07-17 19:53:28 UTC (rev 1224)
@@ -48,7 +48,7 @@
SDL_Rect dstupdate[MAX_UPDATES];
int numupdates = 0; // tracks how many blits to be done
char host[1024]="NULL";
-char port[1024];
+char player_name[1024];
// Colors we use:
SDL_Color black;
@@ -884,13 +884,13 @@
if (mode == 2 || mode == -1)
break;
- if(mode == 0) //chooses Host
- run_server_menu();
+// if(mode == 0) //chooses Host
+// run_server_menu();
if(mode == 1)
- { NameEntry(host, _("Enter the name"),
+ { NameEntry(host, _("Enter the name or ip address"),
_("(of the Host)"));
- NameEntry(port, _("Enter you name"),
+ NameEntry(player_name, _("Enter you name"),
_(""));
@@ -900,10 +900,9 @@
LAN_Cleanup();
return 0;
}
-
- LAN_SetName(port);
-
-
+ LAN_SetName(player_name);
+ Ready(_("Click OK when Ready"));
+ Standby(_("Waiting For Other Players"),_("To Connect"));
game();
}
@@ -913,51 +912,51 @@
}
+/*Dont think we need this..*/
+//int run_server_menu(void)
+//{
-int run_server_menu(void)
-{
-
- int difficulty = -1;
+// int difficulty = -1;
// n=1;
- int g;
+// int g;
//just leech settings from arcade modes
- const char* diff_menu_text[NUM_MATH_COMMAND_LEVELS + 1] =
- {N_("Space Cadet"),
- N_("Scout"),
- N_("Ranger"),
- N_("Ace"),
- N_("Commando"),
- N_("Main menu")};
+// const char* diff_menu_text[NUM_MATH_COMMAND_LEVELS + 1] =
+// {N_("Space Cadet"),
+// N_("Scout"),
+// N_("Ranger"),
+// N_("Ace"),
+// N_("Commando"),
+// N_("Main menu")};
- sprite* diffsprites[6] = {NULL, NULL, NULL, NULL, NULL, NULL};
+// sprite* diffsprites[6] = {NULL, NULL, NULL, NULL, NULL, NULL};
- diffsprites[0] = sprite_list[SPRITE_CADET];
- diffsprites[1] = sprite_list[SPRITE_SCOUT];
- diffsprites[2] = sprite_list[SPRITE_RANGER];
- diffsprites[3] = sprite_list[SPRITE_ACE];
- diffsprites[4] = sprite_list[SPRITE_COMMANDO];
- diffsprites[5] = sprite_list[SPRITE_MAIN];
+// diffsprites[0] = sprite_list[SPRITE_CADET];
+// diffsprites[1] = sprite_list[SPRITE_SCOUT];
+// diffsprites[2] = sprite_list[SPRITE_RANGER];
+// diffsprites[3] = sprite_list[SPRITE_ACE];
+// diffsprites[4] = sprite_list[SPRITE_COMMANDO];
+// diffsprites[5] = sprite_list[SPRITE_MAIN];
- while (1)
- {
+// while (1)
+// {
//choose difficulty
- difficulty = choose_menu_item(diff_menu_text,diffsprites,6,NULL,NULL);
- if (difficulty == -1 || difficulty >= NUM_MATH_COMMAND_LEVELS)
- { break;} //user chose main menu or hit escape
- else
- {NameEntry(port, _("Enter the PORT"),
- _(""));
+// difficulty = choose_menu_item(diff_menu_text,diffsprites,6,NULL,NULL);
+// if (difficulty == -1 || difficulty >= NUM_MATH_COMMAND_LEVELS)
+// { break;} //user chose main menu or hit escape
+// else
+// {NameEntry(port, _("Enter the PORT"),
+// _(""));
- game();}
- break;
- }
- return 0;
+// game();}
+// break;
+// }
+// return 0;
-}
+//}
More information about the Tux4kids-commits
mailing list