[Tux4kids-commits] r269 - in tuxmath/trunk: . data/images/sprites src

dbruce-guest at alioth.debian.org dbruce-guest at alioth.debian.org
Fri Sep 21 10:35:19 UTC 2007


Author: dbruce-guest
Date: 2007-09-21 10:35:19 +0000 (Fri, 21 Sep 2007)
New Revision: 269

Modified:
   tuxmath/trunk/configure
   tuxmath/trunk/data/images/sprites/Makefile.in
   tuxmath/trunk/src/Makefile.am
   tuxmath/trunk/src/Makefile.in
   tuxmath/trunk/src/titlescreen.c
   tuxmath/trunk/src/titlescreen.h
   tuxmath/trunk/src/tuxmath.h
Log:
work on high score table


Modified: tuxmath/trunk/configure
===================================================================
--- tuxmath/trunk/configure	2007-09-20 10:19:55 UTC (rev 268)
+++ tuxmath/trunk/configure	2007-09-21 10:35:19 UTC (rev 269)
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.61 for tuxmath 1.5.4.
+# Generated by GNU Autoconf 2.61 for Tux Of Math Command 1.5.4.
 #
 # Report bugs to <tuxmath-devel at lists.sourceforge.net>.
 #
@@ -572,10 +572,10 @@
 SHELL=${CONFIG_SHELL-/bin/sh}
 
 # Identity of this package.
-PACKAGE_NAME='tuxmath'
+PACKAGE_NAME='Tux Of Math Command'
 PACKAGE_TARNAME='tuxmath'
 PACKAGE_VERSION='1.5.4'
-PACKAGE_STRING='tuxmath 1.5.4'
+PACKAGE_STRING='Tux Of Math Command 1.5.4'
 PACKAGE_BUGREPORT='tuxmath-devel at lists.sourceforge.net'
 
 # Factoring default headers for most tests.
@@ -685,9 +685,6 @@
 AMTAR
 am__tar
 am__untar
-MAINTAINER_MODE_TRUE
-MAINTAINER_MODE_FALSE
-MAINT
 NAME_VERSION
 CC
 CFLAGS
@@ -1238,7 +1235,7 @@
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures tuxmath 1.5.4 to adapt to many kinds of systems.
+\`configure' configures Tux Of Math Command 1.5.4 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1309,15 +1306,13 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of tuxmath 1.5.4:";;
+     short | recursive ) echo "Configuration of Tux Of Math Command 1.5.4:";;
    esac
   cat <<\_ACEOF
 
 Optional Features:
   --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
   --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
-  --enable-maintainer-mode  enable make rules and dependencies not useful
-			  (and sometimes confusing) to the casual installer
   --disable-dependency-tracking  speeds up one-time build
   --enable-dependency-tracking   do not reject slow dependency extractors
   --disable-sdltest       Do not try to compile and run a test SDL program
@@ -1408,7 +1403,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-tuxmath configure 1.5.4
+Tux Of Math Command configure 1.5.4
 generated by GNU Autoconf 2.61
 
 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@@ -1422,7 +1417,7 @@
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by tuxmath $as_me 1.5.4, which was
+It was created by Tux Of Math Command $as_me 1.5.4, which was
 generated by GNU Autoconf 2.61.  Invocation command line was
 
   $ $0 $@
@@ -1891,6 +1886,52 @@
 case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
 
 
+# Make sure we can run config.sub.
+$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
+  { { echo "$as_me:$LINENO: error: cannot run $SHELL $ac_aux_dir/config.sub" >&5
+echo "$as_me: error: cannot run $SHELL $ac_aux_dir/config.sub" >&2;}
+   { (exit 1); exit 1; }; }
+
+{ echo "$as_me:$LINENO: checking build system type" >&5
+echo $ECHO_N "checking build system type... $ECHO_C" >&6; }
+if test "${ac_cv_build+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_build_alias=$build_alias
+test "x$ac_build_alias" = x &&
+  ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
+test "x$ac_build_alias" = x &&
+  { { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5
+echo "$as_me: error: cannot guess build type; you must specify one" >&2;}
+   { (exit 1); exit 1; }; }
+ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
+  { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&5
+echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&2;}
+   { (exit 1); exit 1; }; }
+
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_build" >&5
+echo "${ECHO_T}$ac_cv_build" >&6; }
+case $ac_cv_build in
+*-*-*) ;;
+*) { { echo "$as_me:$LINENO: error: invalid value of canonical build" >&5
+echo "$as_me: error: invalid value of canonical build" >&2;}
+   { (exit 1); exit 1; }; };;
+esac
+build=$ac_cv_build
+ac_save_IFS=$IFS; IFS='-'
+set x $ac_cv_build
+shift
+build_cpu=$1
+build_vendor=$2
+shift; shift
+# Remember, the first character of IFS is used to create $*,
+# except with old shells:
+build_os=$*
+IFS=$ac_save_IFS
+case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
+
+
 { echo "$as_me:$LINENO: checking target system type" >&5
 echo $ECHO_N "checking target system type... $ECHO_C" >&6; }
 if test "${ac_cv_target+set}" = set; then
@@ -2240,8 +2281,8 @@
 
 
 # Define the identity of the package.
- PACKAGE=tuxmath
- VERSION=1.5.4
+ PACKAGE='tuxmath'
+ VERSION='1.5.4'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -2389,29 +2430,8 @@
 
 ac_config_headers="$ac_config_headers config.h"
 
-{ echo "$as_me:$LINENO: checking whether to enable maintainer-specific portions of Makefiles" >&5
-echo $ECHO_N "checking whether to enable maintainer-specific portions of Makefiles... $ECHO_C" >&6; }
-    # Check whether --enable-maintainer-mode was given.
-if test "${enable_maintainer_mode+set}" = set; then
-  enableval=$enable_maintainer_mode; USE_MAINTAINER_MODE=$enableval
-else
-  USE_MAINTAINER_MODE=no
-fi
+# AM_MAINTAINER_MODE
 
-  { echo "$as_me:$LINENO: result: $USE_MAINTAINER_MODE" >&5
-echo "${ECHO_T}$USE_MAINTAINER_MODE" >&6; }
-   if test $USE_MAINTAINER_MODE = yes; then
-  MAINTAINER_MODE_TRUE=
-  MAINTAINER_MODE_FALSE='#'
-else
-  MAINTAINER_MODE_TRUE='#'
-  MAINTAINER_MODE_FALSE=
-fi
-
-  MAINT=$MAINTAINER_MODE_TRUE
-
-
-
 NAME_VERSION=$PACKAGE-$VERSION
 
 
@@ -5809,13 +5829,6 @@
 LTLIBOBJS=$ac_ltlibobjs
 
 
-if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
-  { { echo "$as_me:$LINENO: error: conditional \"MAINTAINER_MODE\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"MAINTAINER_MODE\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
-   { (exit 1); exit 1; }; }
-fi
 if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then
   { { echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined.
 Usually this means the macro was only invoked conditionally." >&5
@@ -6158,7 +6171,7 @@
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by tuxmath $as_me 1.5.4, which was
+This file was extended by Tux Of Math Command $as_me 1.5.4, which was
 generated by GNU Autoconf 2.61.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -6211,7 +6224,7 @@
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF
 ac_cs_version="\\
-tuxmath config.status 1.5.4
+Tux Of Math Command config.status 1.5.4
 configured by $0, generated by GNU Autoconf 2.61,
   with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
 
@@ -6483,9 +6496,6 @@
 AMTAR!$AMTAR$ac_delim
 am__tar!$am__tar$ac_delim
 am__untar!$am__untar$ac_delim
-MAINTAINER_MODE_TRUE!$MAINTAINER_MODE_TRUE$ac_delim
-MAINTAINER_MODE_FALSE!$MAINTAINER_MODE_FALSE$ac_delim
-MAINT!$MAINT$ac_delim
 NAME_VERSION!$NAME_VERSION$ac_delim
 CC!$CC$ac_delim
 CFLAGS!$CFLAGS$ac_delim
@@ -6509,6 +6519,9 @@
 BUILD_MINGW32_TRUE!$BUILD_MINGW32_TRUE$ac_delim
 BUILD_MINGW32_FALSE!$BUILD_MINGW32_FALSE$ac_delim
 CPP!$CPP$ac_delim
+GREP!$GREP$ac_delim
+EGREP!$EGREP$ac_delim
+POW_LIB!$POW_LIB$ac_delim
 _ACEOF
 
   if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then
@@ -6550,9 +6563,6 @@
 ac_delim='%!_!# '
 for ac_last_try in false false false false false :; do
   cat >conf$$subs.sed <<_ACEOF
-GREP!$GREP$ac_delim
-EGREP!$EGREP$ac_delim
-POW_LIB!$POW_LIB$ac_delim
 LIBOBJS!$LIBOBJS$ac_delim
 WINDRES!$WINDRES$ac_delim
 PACKAGE_DATA_DIR!$PACKAGE_DATA_DIR$ac_delim
@@ -6567,7 +6577,7 @@
 LTLIBOBJS!$LTLIBOBJS$ac_delim
 _ACEOF
 
-  if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 15; then
+  if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 12; then
     break
   elif $ac_last_try; then
     { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5

Modified: tuxmath/trunk/data/images/sprites/Makefile.in
===================================================================
--- tuxmath/trunk/data/images/sprites/Makefile.in	2007-09-20 10:19:55 UTC (rev 268)
+++ tuxmath/trunk/data/images/sprites/Makefile.in	2007-09-21 10:35:19 UTC (rev 269)
@@ -74,7 +74,6 @@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
 MAKEINFO = @MAKEINFO@
 MKDIR_P = @MKDIR_P@
 NAME_VERSION = @NAME_VERSION@
@@ -259,7 +258,7 @@
 all: all-am
 
 .SUFFIXES:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__configure_deps)
+$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
 	@for dep in $?; do \
 	  case '$(am__configure_deps)' in \
 	    *$$dep*) \
@@ -268,9 +267,9 @@
 	      exit 1;; \
 	  esac; \
 	done; \
-	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  data/images/sprites/Makefile'; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign  data/images/sprites/Makefile'; \
 	cd $(top_srcdir) && \
-	  $(AUTOMAKE) --gnu  data/images/sprites/Makefile
+	  $(AUTOMAKE) --foreign  data/images/sprites/Makefile
 .PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
@@ -284,9 +283,9 @@
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 
-$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+$(top_srcdir)/configure:  $(am__configure_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 tags: TAGS
 TAGS:

Modified: tuxmath/trunk/src/Makefile.am
===================================================================
--- tuxmath/trunk/src/Makefile.am	2007-09-20 10:19:55 UTC (rev 268)
+++ tuxmath/trunk/src/Makefile.am	2007-09-21 10:35:19 UTC (rev 269)
@@ -18,7 +18,7 @@
 tuxmath_SOURCES = tuxmath.c setup.c titlescreen.c game.c \
 		options.c credits.c playsound.c highscore.c \
 		theme.c loaders.c alphabet.c pause.c audio.c \
-                mathcards.c fileops.c
+                mathcards.c fileops.c ConvertUTF.c
 
 EXTRA_DIST = 	credits.h 	\
 		fileops.h 	\
@@ -29,7 +29,8 @@
 		playsound.h	\
 		setup.h		\
 		titlescreen.h	\
-		tuxmath.h
+		tuxmath.h	\
+		ConvertUTF.h
 
 
 # SUBDIRS = po

Modified: tuxmath/trunk/src/Makefile.in
===================================================================
--- tuxmath/trunk/src/Makefile.in	2007-09-20 10:19:55 UTC (rev 268)
+++ tuxmath/trunk/src/Makefile.in	2007-09-21 10:35:19 UTC (rev 269)
@@ -63,7 +63,7 @@
 	credits.$(OBJEXT) playsound.$(OBJEXT) highscore.$(OBJEXT) \
 	theme.$(OBJEXT) loaders.$(OBJEXT) alphabet.$(OBJEXT) \
 	pause.$(OBJEXT) audio.$(OBJEXT) mathcards.$(OBJEXT) \
-	fileops.$(OBJEXT)
+	fileops.$(OBJEXT) ConvertUTF.$(OBJEXT)
 tuxmath_OBJECTS = $(am_tuxmath_OBJECTS)
 tuxmath_LDADD = $(LDADD)
 DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@
@@ -118,7 +118,6 @@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
 MAKEINFO = @MAKEINFO@
 MKDIR_P = @MKDIR_P@
 NAME_VERSION = @NAME_VERSION@
@@ -209,7 +208,7 @@
 tuxmath_SOURCES = tuxmath.c setup.c titlescreen.c game.c \
 		options.c credits.c playsound.c highscore.c \
 		theme.c loaders.c alphabet.c pause.c audio.c \
-                mathcards.c fileops.c
+                mathcards.c fileops.c ConvertUTF.c
 
 EXTRA_DIST = credits.h 	\
 		fileops.h 	\
@@ -220,7 +219,8 @@
 		playsound.h	\
 		setup.h		\
 		titlescreen.h	\
-		tuxmath.h
+		tuxmath.h	\
+		ConvertUTF.h
 
 @BUILD_MINGW32_FALSE at DATA_PREFIX = ${pkgdatadir}
 @BUILD_MINGW32_TRUE at DATA_PREFIX = @PACKAGE_DATA_DIR@
@@ -232,7 +232,7 @@
 
 .SUFFIXES:
 .SUFFIXES: .c .o .obj
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__configure_deps)
+$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
 	@for dep in $?; do \
 	  case '$(am__configure_deps)' in \
 	    *$$dep*) \
@@ -241,9 +241,9 @@
 	      exit 1;; \
 	  esac; \
 	done; \
-	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  src/Makefile'; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign  src/Makefile'; \
 	cd $(top_srcdir) && \
-	  $(AUTOMAKE) --gnu  src/Makefile
+	  $(AUTOMAKE) --foreign  src/Makefile
 .PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
@@ -257,9 +257,9 @@
 $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 
-$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+$(top_srcdir)/configure:  $(am__configure_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 install-binPROGRAMS: $(bin_PROGRAMS)
 	@$(NORMAL_INSTALL)
@@ -297,6 +297,7 @@
 distclean-compile:
 	-rm -f *.tab.c
 
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ConvertUTF.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/alphabet.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/audio.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/credits.Po at am__quote@

Modified: tuxmath/trunk/src/titlescreen.c
===================================================================
--- tuxmath/trunk/src/titlescreen.c	2007-09-20 10:19:55 UTC (rev 268)
+++ tuxmath/trunk/src/titlescreen.c	2007-09-21 10:35:19 UTC (rev 269)
@@ -34,9 +34,9 @@
 #include "setup.h"     //for cleanup()
 #include "credits.h"
 #include "highscore.h"
+#include "ConvertUTF.h" // for wide char to UTF-8 conversion
 
 
-
 /* --- Data Structure for Dirty Blitting --- */
 SDL_Rect srcupdate[MAX_UPDATES];
 SDL_Rect dstupdate[MAX_UPDATES];
@@ -1291,8 +1291,8 @@
   SDL_Surface* score_entries[HIGH_SCORES_SAVED] = {NULL};
   /* 20 spaces should be enough room for place and score on each line: */
   char score_texts[HIGH_SCORES_SAVED][HIGH_SCORE_NAME_LENGTH + 20] = {{'\0'}};
+  unsigned char player_name[HIGH_SCORE_NAME_LENGTH * 3] = {'\0'};
 
-
   SDL_Rect score_rects[HIGH_SCORES_SAVED];
   SDL_Rect leftRect, rightRect;
 
@@ -1505,21 +1505,31 @@
     }
     frame++;
   }  // End of while (!finished) loop
-  HighScoreNameEntry(NULL);
+  HighScoreNameEntry(player_name);
 }
 
-/* Display screen to allow player to enter name for high score table: */
+/* Display screen to allow player to enter name for high score table:     */
+/* The name_buf argument *must* point to a validly allocated string array */
+/* at least three times HIGH_SCORE_NAME_LENGTH because UTF-8 is a         */
+/* multibyte encoding.                                                    */
 void HighScoreNameEntry(unsigned char* name_buf)
 {
   SDL_Surface *s1, *s2, *s3, *s4;
   SDL_Rect loc;
+  SDL_Rect redraw_rect;
+  int redraw = 0;
+  int first_draw = 1;
   int finished = 0;
   int tux_frame = 0;
   Uint32 frame = 0;
   Uint32 start = 0;
   char* str1, *str2, *str3, *str4;
   wchar_t buf[HIGH_SCORE_NAME_LENGTH + 1] = {'\0'};
+  unsigned char player_name[HIGH_SCORE_NAME_LENGTH * 3] = {'\0'};
 
+  if (!name_buf)
+    return;
+  
   s1 = s2 = s3 = s4 = NULL;
   str1 = str2  = str3 = str4 = NULL;
 
@@ -1615,6 +1625,10 @@
         }
         case SDL_KEYDOWN:
         {
+#ifdef TUXMATH_DEBUG
+          fprintf(stderr, "Before keypress, string is %S\tlength = %d\n",
+                  buf, (int)wcslen(buf));
+#endif
           switch (event.key.keysym.sym)
           {
             case SDLK_ESCAPE:
@@ -1627,24 +1641,77 @@
             }
             case SDLK_BACKSPACE:
             {
+              if (wcslen(buf) > 0)
+                buf[(int)wcslen(buf) - 1] = '\0';
+              redraw = 1;
               break;
             }
-            case SDLK_CLEAR:
-            {
-              break;
-            }
 
+
             /* For any other keys, if the key has a Unicode value, */
             /* we add it to our string:                            */
             default:
             {
+              if ((event.key.keysym.unicode > 0)
+              && (wcslen(buf) < HIGH_SCORE_NAME_LENGTH)) 
+              {
+                buf[(int)wcslen(buf)] = event.key.keysym.unicode;
+                redraw = 1;
+              } 
+            }
+          }  /* end  'switch (event.key.keysym.sym)'  */
 
+#ifdef TUXMATH_DEBUG
+          fprintf(stderr, "After keypress, string is %S\tlength = %d\n",
+                    buf, (int)wcslen(buf));
+#endif
+            /* Now draw name, if needed: */
+          if (redraw)
+          {
+            redraw = 0;
+            /* Redraw background in area where we drew text last time: */ 
+            if (!first_draw)
+            {
+              SDL_BlitSurface(images[IMG_MENU_BKG], &redraw_rect, screen, &redraw_rect);
+              SDL_UpdateRect(screen,
+                             redraw_rect.x,
+                             redraw_rect.y,
+                             redraw_rect.w,
+                             redraw_rect.h);
             }
+
+            /* Convert text to UTF-8: */
+            //Unicode_to_UTF8((const wchar_t*)buf, player_name);
+            wcstombs((char*) player_name, buf, HIGH_SCORE_NAME_LENGTH * 3);
+
+            s3 = black_outline(player_name, default_font, &yellow);
+            if (s3)
+            {
+              loc.x = 320 - (s3->w/2);
+              loc.y = 300;
+              SDL_BlitSurface( s3, NULL, screen, &loc);
+
+              /* for some reason we need to update a little beyond s3 to get clean image */
+              redraw_rect.x = loc.x - 20;
+              redraw_rect.y = loc.y - 10;
+              redraw_rect.h = s3->h + 20;
+              redraw_rect.w = s3->w + 40;
+              first_draw = 0;
+
+              SDL_UpdateRect(screen,
+                             redraw_rect.x,
+                             redraw_rect.y,
+                             redraw_rect.w,
+                             redraw_rect.h);
+              SDL_FreeSurface(s3);
+              s3 = NULL;
+            }
+
           }
         }
       }
     }
-
+ 
     /* --- make tux blink --- */
     switch (frame % TUX6)
     {
@@ -1662,6 +1729,10 @@
       SDL_BlitSurface(Tux->frame[tux_frame - 1], NULL, screen, &Tuxdest);
       SDL_UpdateRect(screen, Tuxdest.x+37, Tuxdest.y+40, 70, 45);
     }
+
+
+
+
     /* Wait so we keep frame rate constant: */
     while ((SDL_GetTicks() - start) < 33)
     {

Modified: tuxmath/trunk/src/titlescreen.h
===================================================================
--- tuxmath/trunk/src/titlescreen.h	2007-09-20 10:19:55 UTC (rev 268)
+++ tuxmath/trunk/src/titlescreen.h	2007-09-21 10:35:19 UTC (rev 269)
@@ -247,7 +247,6 @@
 extern void TitleScreen( void );
 extern void switch_screen_mode( void );
 extern int choose_config_file(void);  //FIXME really should be in fileops.c
-extern int Phrases(char *practice_phrase); // NOTE this is not implemented
 
 /* in theme.c (from tuxtype): */
 extern void chooseTheme(void);

Modified: tuxmath/trunk/src/tuxmath.h
===================================================================
--- tuxmath/trunk/src/tuxmath.h	2007-09-20 10:19:55 UTC (rev 268)
+++ tuxmath/trunk/src/tuxmath.h	2007-09-21 10:35:19 UTC (rev 269)
@@ -39,6 +39,8 @@
 #endif
 #endif
 
+#include <wchar.h>
+
 #include "SDL.h"
 #include "SDL_ttf.h"
 
@@ -47,7 +49,7 @@
 #endif
 
 //#define NOSOUND
-//#define TUXMATH_DEBUG   /* for conditional compilation of debugging output */
+#define TUXMATH_DEBUG   /* for conditional compilation of debugging output */
 //#define FEEDBACK_DEBUG  /* for Tim's feedback speed control code           */
 
 /* Maximum length of file path: */




More information about the Tux4kids-commits mailing list