[Tux4kids-commits] r289 - in tuxmath/trunk: . data/images/sprites docs nsis src
tholy-guest at alioth.debian.org
tholy-guest at alioth.debian.org
Tue Oct 9 05:19:16 UTC 2007
Author: tholy-guest
Date: 2007-10-09 05:19:15 +0000 (Tue, 09 Oct 2007)
New Revision: 289
Modified:
tuxmath/trunk/configure
tuxmath/trunk/data/images/sprites/Makefile
tuxmath/trunk/data/images/sprites/Makefile.in
tuxmath/trunk/docs/TODO.txt
tuxmath/trunk/docs/changelog
tuxmath/trunk/nsis/tuxmath.nsi
tuxmath/trunk/nsis/tuxmath_with_conf.nsi
tuxmath/trunk/src/Makefile.in
tuxmath/trunk/src/fileops.c
tuxmath/trunk/src/game.c
tuxmath/trunk/src/game.h
tuxmath/trunk/src/mathcards.c
tuxmath/trunk/src/options.c
tuxmath/trunk/src/options.h
tuxmath/trunk/src/titlescreen.c
tuxmath/trunk/src/tuxmath.h
Log:
The beginning of "real" help for tuxmath. I moved the help menu item
onto the first screen since it's something we might want new users to
notice right away. Definitely needs a help sprite.
Modified: tuxmath/trunk/configure
===================================================================
--- tuxmath/trunk/configure 2007-10-07 15:26:41 UTC (rev 288)
+++ tuxmath/trunk/configure 2007-10-09 05:19:15 UTC (rev 289)
@@ -666,7 +666,6 @@
INSTALL_PROGRAM
INSTALL_SCRIPT
INSTALL_DATA
-am__isrc
CYGPATH_W
PACKAGE
VERSION
@@ -1976,8 +1975,7 @@
NONENONEs,x,x, &&
program_prefix=${target_alias}-
-am__api_version='1.10'
-
+am__api_version="1.9"
# Find a good install program. We prefer a C program (faster),
# so one script is as good as another. But avoid the broken or
# incompatible versions:
@@ -2129,54 +2127,39 @@
echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
fi
-{ echo "$as_me:$LINENO: checking for a thread-safe mkdir -p" >&5
-echo $ECHO_N "checking for a thread-safe mkdir -p... $ECHO_C" >&6; }
-if test -z "$MKDIR_P"; then
- if test "${ac_cv_path_mkdir+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
+if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then
+ # We used to keeping the `.' as first argument, in order to
+ # allow $(mkdir_p) to be used without argument. As in
+ # $(mkdir_p) $(somedir)
+ # where $(somedir) is conditionally defined. However this is wrong
+ # for two reasons:
+ # 1. if the package is installed by a user who cannot write `.'
+ # make install will fail,
+ # 2. the above comment should most certainly read
+ # $(mkdir_p) $(DESTDIR)$(somedir)
+ # so it does not work when $(somedir) is undefined and
+ # $(DESTDIR) is not.
+ # To support the latter case, we have to write
+ # test -z "$(somedir)" || $(mkdir_p) $(DESTDIR)$(somedir),
+ # so the `.' trick is pointless.
+ mkdir_p='mkdir -p --'
else
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_prog in mkdir gmkdir; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue
- case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #(
- 'mkdir (GNU coreutils) '* | \
- 'mkdir (coreutils) '* | \
- 'mkdir (fileutils) '4.1*)
- ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext
- break 3;;
- esac
- done
- done
-done
-IFS=$as_save_IFS
-
-fi
-
- if test "${ac_cv_path_mkdir+set}" = set; then
- MKDIR_P="$ac_cv_path_mkdir -p"
+ # On NextStep and OpenStep, the `mkdir' command does not
+ # recognize any option. It will interpret all options as
+ # directories to create, and then abort because `.' already
+ # exists.
+ for d in ./-p ./--version;
+ do
+ test -d $d && rmdir $d
+ done
+ # $(mkinstalldirs) is defined by Automake if mkinstalldirs exists.
+ if test -f "$ac_aux_dir/mkinstalldirs"; then
+ mkdir_p='$(mkinstalldirs)'
else
- # As a last resort, use the slow shell script. Don't cache a
- # value for MKDIR_P within a source directory, because that will
- # break other packages using the cache if that directory is
- # removed, or if the value is a relative name.
- test -d ./--version && rmdir ./--version
- MKDIR_P="$ac_install_sh -d"
+ mkdir_p='$(install_sh) -d'
fi
fi
-{ echo "$as_me:$LINENO: result: $MKDIR_P" >&5
-echo "${ECHO_T}$MKDIR_P" >&6; }
-mkdir_p="$MKDIR_P"
-case $mkdir_p in
- [\\/$]* | ?:[\\/]*) ;;
- */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
-esac
-
for ac_prog in gawk mawk nawk awk
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
@@ -2258,16 +2241,12 @@
fi
rmdir .tst 2>/dev/null
-if test "`cd $srcdir && pwd`" != "`pwd`"; then
- # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
- # is not polluted with repeated "-I."
- am__isrc=' -I$(srcdir)'
- # test to see if srcdir already configured
- if test -f $srcdir/config.status; then
- { { echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5
+# test to see if srcdir already configured
+if test "`cd $srcdir && pwd`" != "`pwd`" &&
+ test -f $srcdir/config.status; then
+ { { echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5
echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;}
{ (exit 1); exit 1; }; }
- fi
fi
# test whether we have cygpath
@@ -2310,7 +2289,7 @@
MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
-install_sh=${install_sh-"\$(SHELL) $am_aux_dir/install-sh"}
+install_sh=${install_sh-"$am_aux_dir/install-sh"}
# Installed binaries are usually stripped using `strip' when the user
# run `make install-strip'. However `strip' might not be the right
@@ -2414,7 +2393,7 @@
fi
fi
-INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
+INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s"
# We need awk for the "check" target. The system "awk" is bad on
# some platforms.
@@ -3413,7 +3392,9 @@
am_depcomp="$ac_aux_dir/depcomp"
AMDEPBACKSLASH='\'
fi
- if test "x$enable_dependency_tracking" != xno; then
+
+
+if test "x$enable_dependency_tracking" != xno; then
AMDEP_TRUE=
AMDEP_FALSE='#'
else
@@ -3423,6 +3404,7 @@
+
depcc="$CC" am_compiler_list=
{ echo "$as_me:$LINENO: checking dependency style of $depcc" >&5
@@ -3490,7 +3472,6 @@
depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
$SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \
>/dev/null 2>conftest.err &&
- grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
${MAKE-make} -s -f confmf > /dev/null 2>&1; then
@@ -3520,7 +3501,9 @@
echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6; }
CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
- if
+
+
+if
test "x$enable_dependency_tracking" != xno \
&& test "$am_cv_CC_dependencies_compiler_type" = gcc3; then
am__fastdepCC_TRUE=
@@ -3890,7 +3873,9 @@
{ echo "$as_me:$LINENO: result: $native_win32" >&5
echo "${ECHO_T}$native_win32" >&6; }
- if test "$native_win32" = yes; then
+
+
+if test "$native_win32" = yes; then
BUILD_MINGW32_TRUE=
BUILD_MINGW32_FALSE='#'
else
@@ -5569,7 +5554,9 @@
PACKAGE_DATA_DIR="data"
- if test "$native_win32" = yes; then
+
+
+if test "$native_win32" = yes; then
BUILD_MINGW32_TRUE=
BUILD_MINGW32_FALSE='#'
else
@@ -5648,7 +5635,9 @@
fi
- if test "$dll_path" = no; then
+
+
+if test "$dll_path" = no; then
NSI_BUILD_TRUE=
NSI_BUILD_FALSE='#'
else
@@ -5672,7 +5661,9 @@
fi
- if test "$tuxmath_config_path" != no; then
+
+
+if test "$tuxmath_config_path" != no; then
NSI_USE_TUXMATH_CONF_TRUE=
NSI_USE_TUXMATH_CONF_FALSE='#'
else
@@ -6234,7 +6225,6 @@
ac_pwd='$ac_pwd'
srcdir='$srcdir'
INSTALL='$INSTALL'
-MKDIR_P='$MKDIR_P'
_ACEOF
cat >>$CONFIG_STATUS <<\_ACEOF
@@ -6476,7 +6466,6 @@
INSTALL_PROGRAM!$INSTALL_PROGRAM$ac_delim
INSTALL_SCRIPT!$INSTALL_SCRIPT$ac_delim
INSTALL_DATA!$INSTALL_DATA$ac_delim
-am__isrc!$am__isrc$ac_delim
CYGPATH_W!$CYGPATH_W$ac_delim
PACKAGE!$PACKAGE$ac_delim
VERSION!$VERSION$ac_delim
@@ -6521,6 +6510,7 @@
GREP!$GREP$ac_delim
EGREP!$EGREP$ac_delim
POW_LIB!$POW_LIB$ac_delim
+LIBOBJS!$LIBOBJS$ac_delim
_ACEOF
if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then
@@ -6562,7 +6552,6 @@
ac_delim='%!_!# '
for ac_last_try in false false false false false :; do
cat >conf$$subs.sed <<_ACEOF
-LIBOBJS!$LIBOBJS$ac_delim
WINDRES!$WINDRES$ac_delim
PACKAGE_DATA_DIR!$PACKAGE_DATA_DIR$ac_delim
NSI_INSTALL_DIR!$NSI_INSTALL_DIR$ac_delim
@@ -6576,7 +6565,7 @@
LTLIBOBJS!$LTLIBOBJS$ac_delim
_ACEOF
- if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 12; then
+ if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 11; then
break
elif $ac_last_try; then
{ { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
@@ -6803,11 +6792,6 @@
[\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
*) ac_INSTALL=$ac_top_build_prefix$INSTALL ;;
esac
- ac_MKDIR_P=$MKDIR_P
- case $MKDIR_P in
- [\\/$]* | ?:[\\/]* ) ;;
- */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;;
- esac
_ACEOF
cat >>$CONFIG_STATUS <<\_ACEOF
@@ -6861,7 +6845,6 @@
s&@abs_builddir@&$ac_abs_builddir&;t t
s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
s&@INSTALL@&$ac_INSTALL&;t t
-s&@MKDIR_P@&$ac_MKDIR_P&;t t
$ac_datarootdir_hack
" $ac_file_inputs | sed -f "$tmp/subs-1.sed" | sed -f "$tmp/subs-2.sed" >$tmp/out
@@ -7026,9 +7009,8 @@
# some people rename them; so instead we look at the file content.
# Grep'ing the first line is not enough: some people post-process
# each Makefile.in and add a new line on top of each file to say so.
- # Grep'ing the whole file is not good either: AIX grep has a line
- # limit of 2048, but all sed's we know have understand at least 4000.
- if sed 10q "$mf" | grep '^#.*generated by automake' > /dev/null 2>&1; then
+ # So let's grep whole file.
+ if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then
dirpart=`$as_dirname -- "$mf" ||
$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X"$mf" : 'X\(//\)[^/]' \| \
Modified: tuxmath/trunk/data/images/sprites/Makefile
===================================================================
--- tuxmath/trunk/data/images/sprites/Makefile 2007-10-07 15:26:41 UTC (rev 288)
+++ tuxmath/trunk/data/images/sprites/Makefile 2007-10-09 05:19:15 UTC (rev 289)
@@ -49,13 +49,13 @@
SOURCES =
DIST_SOURCES =
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = ${SHELL} /home/tim/src/tux4kids/tuxmath/trunk/missing --run aclocal-1.10
+ACLOCAL = ${SHELL} /home/tim/src/tux4kids/tuxmath/trunk/missing --run aclocal-1.9
AMDEP_FALSE = #
AMDEP_TRUE =
AMTAR = ${SHELL} /home/tim/src/tux4kids/tuxmath/trunk/missing --run tar
AUTOCONF = ${SHELL} /home/tim/src/tux4kids/tuxmath/trunk/missing --run autoconf
AUTOHEADER = ${SHELL} /home/tim/src/tux4kids/tuxmath/trunk/missing --run autoheader
-AUTOMAKE = ${SHELL} /home/tim/src/tux4kids/tuxmath/trunk/missing --run automake-1.10
+AUTOMAKE = ${SHELL} /home/tim/src/tux4kids/tuxmath/trunk/missing --run automake-1.9
AWK = gawk
BUILD_MINGW32_FALSE =
BUILD_MINGW32_TRUE = #
@@ -76,13 +76,13 @@
INSTALL_DATA = ${INSTALL} -m 644
INSTALL_PROGRAM = ${INSTALL}
INSTALL_SCRIPT = ${INSTALL}
-INSTALL_STRIP_PROGRAM = $(install_sh) -c -s
+INSTALL_STRIP_PROGRAM = ${SHELL} $(install_sh) -c -s
LDFLAGS =
LIBOBJS =
LIBS = -L/usr/lib -lSDL -lSDL_image -lSDL_mixer -lSDL_ttf
LTLIBOBJS =
MAKEINFO = ${SHELL} /home/tim/src/tux4kids/tuxmath/trunk/missing --run makeinfo
-NAME_VERSION = tuxmath-1.5.4
+NAME_VERSION = tuxmath-1.5.5
NSIS = no
NSI_BUILD_FALSE = #
NSI_BUILD_TRUE =
@@ -96,9 +96,9 @@
PACKAGE_BUGREPORT = tuxmath-devel at lists.sourceforge.net
PACKAGE_DATA_DIR = data
PACKAGE_NAME = Tux Of Math Command
-PACKAGE_STRING = Tux Of Math Command 1.5.4
+PACKAGE_STRING = Tux Of Math Command 1.5.5
PACKAGE_TARNAME = tuxmath
-PACKAGE_VERSION = 1.5.4
+PACKAGE_VERSION = 1.5.5
PATH_SEPARATOR = :
POW_LIB =
SDL_CFLAGS = -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT
@@ -107,7 +107,7 @@
SET_MAKE =
SHELL = /bin/bash
STRIP =
-VERSION = 1.5.4
+VERSION = 1.5.5
WINDRES =
ac_ct_CC = gcc
am__fastdepCC_FALSE = #
@@ -136,13 +136,13 @@
htmldir = ${docdir}
includedir = ${prefix}/include
infodir = ${datarootdir}/info
-install_sh = $(SHELL) /home/tim/src/tux4kids/tuxmath/trunk/install-sh
+install_sh = /home/tim/src/tux4kids/tuxmath/trunk/install-sh
libdir = ${exec_prefix}/lib
libexecdir = ${exec_prefix}/libexec
localedir = ${datarootdir}/locale
localstatedir = ${prefix}/var
mandir = ${datarootdir}/man
-mkdir_p = /bin/mkdir -p
+mkdir_p = mkdir -p --
oldincludedir = /usr/include
pdfdir = ${docdir}
prefix = /usr/local
Modified: tuxmath/trunk/data/images/sprites/Makefile.in
===================================================================
--- tuxmath/trunk/data/images/sprites/Makefile.in 2007-10-07 15:26:41 UTC (rev 288)
+++ tuxmath/trunk/data/images/sprites/Makefile.in 2007-10-09 05:19:15 UTC (rev 289)
@@ -1,8 +1,8 @@
-# Makefile.in generated by automake 1.10 from Makefile.am.
+# Makefile.in generated by automake 1.9.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+# 2003, 2004, 2005 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -13,11 +13,15 @@
# PARTICULAR PURPOSE.
@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = ../../..
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
@@ -46,11 +50,15 @@
DIST_SOURCES =
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
+AMDEP_FALSE = @AMDEP_FALSE@
+AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
+BUILD_MINGW32_FALSE = @BUILD_MINGW32_FALSE@
+BUILD_MINGW32_TRUE = @BUILD_MINGW32_TRUE@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
@@ -65,7 +73,6 @@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
GREP = @GREP@
-INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
@@ -75,12 +82,15 @@
LIBS = @LIBS@
LTLIBOBJS = @LTLIBOBJS@
MAKEINFO = @MAKEINFO@
-MKDIR_P = @MKDIR_P@
NAME_VERSION = @NAME_VERSION@
NSIS = @NSIS@
+NSI_BUILD_FALSE = @NSI_BUILD_FALSE@
+NSI_BUILD_TRUE = @NSI_BUILD_TRUE@
NSI_DLL_DIR = @NSI_DLL_DIR@
NSI_INSTALL_DIR = @NSI_INSTALL_DIR@
NSI_TUXMATH_CONF_DIR = @NSI_TUXMATH_CONF_DIR@
+NSI_USE_TUXMATH_CONF_FALSE = @NSI_USE_TUXMATH_CONF_FALSE@
+NSI_USE_TUXMATH_CONF_TRUE = @NSI_USE_TUXMATH_CONF_TRUE@
OBJEXT = @OBJEXT@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
@@ -99,11 +109,9 @@
STRIP = @STRIP@
VERSION = @VERSION@
WINDRES = @WINDRES@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
ac_ct_CC = @ac_ct_CC@
+am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
+am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
@@ -115,7 +123,6 @@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
-builddir = @builddir@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@
@@ -143,15 +150,12 @@
psdir = @psdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
-srcdir = @srcdir@
sysconfdir = @sysconfdir@
target = @target@
target_alias = @target_alias@
target_cpu = @target_cpu@
target_os = @target_os@
target_vendor = @target_vendor@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
EXTRA_DIST = cascade0.png \
cascade10.png \
cascade1.png \
@@ -287,6 +291,7 @@
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+uninstall-info-am:
tags: TAGS
TAGS:
@@ -295,21 +300,22 @@
distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- list='$(DISTFILES)'; \
- dist_files=`for file in $$list; do echo $$file; done | \
- sed -e "s|^$$srcdirstrip/||;t" \
- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
- case $$dist_files in \
- */*) $(MKDIR_P) `echo "$$dist_files" | \
- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
- sort -u` ;; \
- esac; \
- for file in $$dist_files; do \
+ @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+ list='$(DISTFILES)'; for file in $$list; do \
+ case $$file in \
+ $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+ $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+ esac; \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+ dir="/$$dir"; \
+ $(mkdir_p) "$(distdir)$$dir"; \
+ else \
+ dir=''; \
+ fi; \
if test -d $$d/$$file; then \
- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
fi; \
@@ -368,20 +374,12 @@
install-data-am:
-install-dvi: install-dvi-am
-
install-exec-am:
-install-html: install-html-am
-
install-info: install-info-am
install-man:
-install-pdf: install-pdf-am
-
-install-ps: install-ps-am
-
installcheck-am:
maintainer-clean: maintainer-clean-am
@@ -400,19 +398,16 @@
ps-am:
-uninstall-am:
+uninstall-am: uninstall-info-am
-.MAKE: install-am install-strip
-
.PHONY: all all-am check check-am clean clean-generic distclean \
distclean-generic distdir dvi dvi-am html html-am info info-am \
- install install-am install-data install-data-am install-dvi \
- install-dvi-am install-exec install-exec-am install-html \
- install-html-am install-info install-info-am install-man \
- install-pdf install-pdf-am install-ps install-ps-am \
+ install install-am install-data install-data-am install-exec \
+ install-exec-am install-info install-info-am install-man \
install-strip installcheck installcheck-am installdirs \
maintainer-clean maintainer-clean-generic mostlyclean \
- mostlyclean-generic pdf pdf-am ps ps-am uninstall uninstall-am
+ mostlyclean-generic pdf pdf-am ps ps-am uninstall uninstall-am \
+ uninstall-info-am
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
Modified: tuxmath/trunk/docs/TODO.txt
===================================================================
--- tuxmath/trunk/docs/TODO.txt 2007-10-07 15:26:41 UTC (rev 288)
+++ tuxmath/trunk/docs/TODO.txt 2007-10-09 05:19:15 UTC (rev 289)
@@ -1,8 +1,9 @@
TODO.txt for "tuxmath"
-2007.Mar.05
+2007.Oct.08
Build:
+ * Make a relocatable binary for Linux (klik package?)
* Refine NSIS installer for Windows (or perhaps executable
itself) to create Start Menu link to options.txt file
@@ -13,12 +14,12 @@
* svg support - allow game to draw correctly at any resolution.
Interface:
+ * Create a Help sprite
* Add more sound effects and music files
* Speech mode
* Add option for number-keys to control main menu and possible options
(for mouseless scenarios where arrow keys might not be the available...
is there such a thing as numeric-only keyboards for PCs???)
- * High-score table
* Implement lockfile to prevent multiple invocations.
Game Play:
@@ -30,6 +31,8 @@
correct, etc. on a per-user basis, even if installation doesn't have
students log into computers individually.
* Multiplayer mode - points go to whoever shoots the comet first.
+ * Re-examine algorithm for spacing of comets (allow game to deliver
+ problems faster even if the comet speed limit is not raised).
Documentation:
* Finish README.txt
@@ -48,3 +51,5 @@
* Abstract SDL_BlitSurface() calls
* Consider moving to C++ (ducks!)
+Website:
+ * Make something more user-friendly
Modified: tuxmath/trunk/docs/changelog
===================================================================
--- tuxmath/trunk/docs/changelog 2007-10-07 15:26:41 UTC (rev 288)
+++ tuxmath/trunk/docs/changelog 2007-10-09 05:19:15 UTC (rev 289)
@@ -1,3 +1,12 @@
+2007.Oct.09 (svn.debian.org/tux4kids - revision 289)
+ Options:
+ * Start of "real" help for tuxmath. I've tried to keep the text
+ simple for early readers, but I imagine this could be improved.
+ Needs a help sprite in the menu.
+
+ Tim Holy <holy at wustl.edu>
+
+
2007.Oct.03 (svn.debian.org/tux4kids - revision 283)
Version 1.5.5
Code:
Modified: tuxmath/trunk/nsis/tuxmath.nsi
===================================================================
--- tuxmath/trunk/nsis/tuxmath.nsi 2007-10-07 15:26:41 UTC (rev 288)
+++ tuxmath/trunk/nsis/tuxmath.nsi 2007-10-09 05:19:15 UTC (rev 289)
@@ -2,7 +2,7 @@
# with a few tiny modifications by Phil Harper(philh at theopencd.org)
# modified for tuxmath by Yves Combe (yves at ycombe.net)
-!define PKG_VERSION "1.5.4"
+!define PKG_VERSION "1.5.5"
!define PKG_PREFIX "tuxmath"
!define APP_PREFIX "TuxMath"
Modified: tuxmath/trunk/nsis/tuxmath_with_conf.nsi
===================================================================
--- tuxmath/trunk/nsis/tuxmath_with_conf.nsi 2007-10-07 15:26:41 UTC (rev 288)
+++ tuxmath/trunk/nsis/tuxmath_with_conf.nsi 2007-10-09 05:19:15 UTC (rev 289)
@@ -2,7 +2,7 @@
# with a few tiny modifications by Phil Harper(philh at theopencd.org)
# modified for tuxmath by Yves Combe (yves at ycombe.net)
-!define PKG_VERSION "1.5.4"
+!define PKG_VERSION "1.5.5"
!define PKG_PREFIX "tuxmath"
!define APP_PREFIX "TuxMath"
Modified: tuxmath/trunk/src/Makefile.in
===================================================================
--- tuxmath/trunk/src/Makefile.in 2007-10-07 15:26:41 UTC (rev 288)
+++ tuxmath/trunk/src/Makefile.in 2007-10-09 05:19:15 UTC (rev 289)
@@ -1,8 +1,8 @@
-# Makefile.in generated by automake 1.10 from Makefile.am.
+# Makefile.in generated by automake 1.9.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+# 2003, 2004, 2005 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -15,11 +15,15 @@
@SET_MAKE@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = ..
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
@@ -67,7 +71,7 @@
fileops.$(OBJEXT) ConvertUTF.$(OBJEXT) SDL_extras.$(OBJEXT)
tuxmath_OBJECTS = $(am_tuxmath_OBJECTS)
tuxmath_LDADD = $(LDADD)
-DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@
+DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
@@ -78,24 +82,25 @@
DIST_SOURCES = $(TuxMath_SOURCES) $(tuxmath_SOURCES)
RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
html-recursive info-recursive install-data-recursive \
- install-dvi-recursive install-exec-recursive \
- install-html-recursive install-info-recursive \
- install-pdf-recursive install-ps-recursive install-recursive \
- installcheck-recursive installdirs-recursive pdf-recursive \
- ps-recursive uninstall-recursive
+ install-exec-recursive install-info-recursive \
+ install-recursive installcheck-recursive installdirs-recursive \
+ pdf-recursive ps-recursive uninstall-info-recursive \
+ uninstall-recursive
HEADERS = $(noinst_HEADERS)
-RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
- distclean-recursive maintainer-clean-recursive
ETAGS = etags
CTAGS = ctags
DIST_SUBDIRS = $(SUBDIRS)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
+AMDEP_FALSE = @AMDEP_FALSE@
+AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
+BUILD_MINGW32_FALSE = @BUILD_MINGW32_FALSE@
+BUILD_MINGW32_TRUE = @BUILD_MINGW32_TRUE@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
@@ -110,7 +115,6 @@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
GREP = @GREP@
-INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
@@ -120,12 +124,15 @@
LIBS = @LIBS@
LTLIBOBJS = @LTLIBOBJS@
MAKEINFO = @MAKEINFO@
-MKDIR_P = @MKDIR_P@
NAME_VERSION = @NAME_VERSION@
NSIS = @NSIS@
+NSI_BUILD_FALSE = @NSI_BUILD_FALSE@
+NSI_BUILD_TRUE = @NSI_BUILD_TRUE@
NSI_DLL_DIR = @NSI_DLL_DIR@
NSI_INSTALL_DIR = @NSI_INSTALL_DIR@
NSI_TUXMATH_CONF_DIR = @NSI_TUXMATH_CONF_DIR@
+NSI_USE_TUXMATH_CONF_FALSE = @NSI_USE_TUXMATH_CONF_FALSE@
+NSI_USE_TUXMATH_CONF_TRUE = @NSI_USE_TUXMATH_CONF_TRUE@
OBJEXT = @OBJEXT@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
@@ -146,11 +153,9 @@
# SUBDIRS = po
WINDRES = @WINDRES@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
ac_ct_CC = @ac_ct_CC@
+am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
+am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
@@ -162,7 +167,6 @@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
-builddir = @builddir@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@
@@ -190,15 +194,12 @@
psdir = @psdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
-srcdir = @srcdir@
sysconfdir = @sysconfdir@
target = @target@
target_alias = @target_alias@
target_cpu = @target_cpu@
target_os = @target_os@
target_vendor = @target_vendor@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
SUBDIRS = po
@BUILD_MINGW32_FALSE at TUXMATHRC =
tuxmath_SOURCES = tuxmath.c \
@@ -274,7 +275,7 @@
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
install-binPROGRAMS: $(bin_PROGRAMS)
@$(NORMAL_INSTALL)
- test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)"
+ test -z "$(bindir)" || $(mkdir_p) "$(DESTDIR)$(bindir)"
@list='$(bin_PROGRAMS)'; for p in $$list; do \
p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
if test -f $$p \
@@ -297,10 +298,10 @@
-test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS)
TuxMath$(EXEEXT): $(TuxMath_OBJECTS) $(TuxMath_DEPENDENCIES)
@rm -f TuxMath$(EXEEXT)
- $(LINK) $(TuxMath_OBJECTS) $(TuxMath_LDADD) $(LIBS)
+ $(LINK) $(TuxMath_LDFLAGS) $(TuxMath_OBJECTS) $(TuxMath_LDADD) $(LIBS)
tuxmath$(EXEEXT): $(tuxmath_OBJECTS) $(tuxmath_DEPENDENCIES)
@rm -f tuxmath$(EXEEXT)
- $(LINK) $(tuxmath_OBJECTS) $(tuxmath_LDADD) $(LIBS)
+ $(LINK) $(tuxmath_LDFLAGS) $(tuxmath_OBJECTS) $(tuxmath_LDADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
@@ -327,18 +328,19 @@
@AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/tuxmath.Po at am__quote@
.c.o:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
+ at am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(COMPILE) -c $<
.c.obj:
- at am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
- at am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
+ at am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
+uninstall-info-am:
# This directory's subdirectories are mostly independent; you can cd
# into them and run `make' without going through this Makefile.
@@ -371,7 +373,8 @@
$(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
fi; test -z "$$fail"
-$(RECURSIVE_CLEAN_TARGETS):
+mostlyclean-recursive clean-recursive distclean-recursive \
+maintainer-clean-recursive:
@failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
@@ -472,21 +475,22 @@
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- list='$(DISTFILES)'; \
- dist_files=`for file in $$list; do echo $$file; done | \
- sed -e "s|^$$srcdirstrip/||;t" \
- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
- case $$dist_files in \
- */*) $(MKDIR_P) `echo "$$dist_files" | \
- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
- sort -u` ;; \
- esac; \
- for file in $$dist_files; do \
+ @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+ list='$(DISTFILES)'; for file in $$list; do \
+ case $$file in \
+ $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+ $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+ esac; \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+ dir="/$$dir"; \
+ $(mkdir_p) "$(distdir)$$dir"; \
+ else \
+ dir=''; \
+ fi; \
if test -d $$d/$$file; then \
- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
fi; \
@@ -500,7 +504,7 @@
list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test -d "$(distdir)/$$subdir" \
- || $(MKDIR_P) "$(distdir)/$$subdir" \
+ || $(mkdir_p) "$(distdir)/$$subdir" \
|| exit 1; \
distdir=`$(am__cd) $(distdir) && pwd`; \
top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
@@ -508,8 +512,6 @@
$(MAKE) $(AM_MAKEFLAGS) \
top_distdir="$$top_distdir" \
distdir="$$distdir/$$subdir" \
- am__remove_distdir=: \
- am__skip_length_check=: \
distdir) \
|| exit 1; \
fi; \
@@ -520,7 +522,7 @@
installdirs: installdirs-recursive
installdirs-am:
for dir in "$(DESTDIR)$(bindir)"; do \
- test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+ test -z "$$dir" || $(mkdir_p) "$$dir"; \
done
install: install-recursive
install-exec: install-exec-recursive
@@ -568,20 +570,12 @@
install-data-am:
-install-dvi: install-dvi-recursive
-
install-exec-am: install-binPROGRAMS
-install-html: install-html-recursive
-
install-info: install-info-recursive
install-man:
-install-pdf: install-pdf-recursive
-
-install-ps: install-ps-recursive
-
installcheck-am:
maintainer-clean: maintainer-clean-recursive
@@ -601,25 +595,23 @@
ps-am:
-uninstall-am: uninstall-binPROGRAMS
+uninstall-am: uninstall-binPROGRAMS uninstall-info-am
-.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \
- install-strip
+uninstall-info: uninstall-info-recursive
-.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
- all all-am check check-am clean clean-binPROGRAMS \
- clean-generic ctags ctags-recursive distclean \
- distclean-compile distclean-generic distclean-tags distdir dvi \
- dvi-am html html-am info info-am install install-am \
- install-binPROGRAMS install-data install-data-am install-dvi \
- install-dvi-am install-exec install-exec-am install-html \
- install-html-am install-info install-info-am install-man \
- install-pdf install-pdf-am install-ps install-ps-am \
- install-strip installcheck installcheck-am installdirs \
- installdirs-am maintainer-clean maintainer-clean-generic \
- mostlyclean mostlyclean-compile mostlyclean-generic pdf pdf-am \
- ps ps-am tags tags-recursive uninstall uninstall-am \
- uninstall-binPROGRAMS
+.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am \
+ clean clean-binPROGRAMS clean-generic clean-recursive ctags \
+ ctags-recursive distclean distclean-compile distclean-generic \
+ distclean-recursive distclean-tags distdir dvi dvi-am html \
+ html-am info info-am install install-am install-binPROGRAMS \
+ install-data install-data-am install-exec install-exec-am \
+ install-info install-info-am install-man install-strip \
+ installcheck installcheck-am installdirs installdirs-am \
+ maintainer-clean maintainer-clean-generic \
+ maintainer-clean-recursive mostlyclean mostlyclean-compile \
+ mostlyclean-generic mostlyclean-recursive pdf pdf-am ps ps-am \
+ tags tags-recursive uninstall uninstall-am \
+ uninstall-binPROGRAMS uninstall-info-am
# How to make an RC file
Modified: tuxmath/trunk/src/fileops.c
===================================================================
--- tuxmath/trunk/src/fileops.c 2007-10-07 15:26:41 UTC (rev 288)
+++ tuxmath/trunk/src/fileops.c 2007-10-09 05:19:15 UTC (rev 289)
@@ -85,6 +85,7 @@
};
TTF_Font *default_font;
+TTF_Font *help_font;
/* local function prototypes: */
static int find_tuxmath_dir(void);
@@ -2644,8 +2645,10 @@
{
default_font = LoadFont((const unsigned char*)DEFAULT_FONT_NAME,
DEFAULT_MENU_FONT_SIZE);
+ help_font = LoadFont((const unsigned char*)DEFAULT_FONT_NAME,
+ DEFAULT_HELP_FONT_SIZE);
- if (default_font)
+ if (default_font && help_font)
{
#ifdef TUXMATH_DEBUG
fprintf(stderr, "load_default_font(): %s loaded successfully\n\n",
Modified: tuxmath/trunk/src/game.c
===================================================================
--- tuxmath/trunk/src/game.c 2007-10-07 15:26:41 UTC (rev 288)
+++ tuxmath/trunk/src/game.c 2007-10-09 05:19:15 UTC (rev 289)
@@ -145,8 +145,13 @@
static laser_type laser;
static SDL_Surface* bkgd = NULL;
+static game_message s1, s2, s3, s4;
+static int x_is_blinking = 0;
+
/* Local function prototypes: */
static int game_initialize(void);
+static void game_cleanup(void);
+static void game_handle_help(void);
static void game_handle_user_events(void);
static void game_handle_demo(void);
static void game_handle_answer(void);
@@ -162,6 +167,10 @@
static int check_exit_conditions(void);
static void draw_numbers(const char* str, int x, int y);
+static void game_set_message(game_message *,unsigned char *,int x, int y);
+static void game_clear_message(game_message*);
+static void game_write_message(const game_message*);
+static void game_write_messages(void);
static void draw_led_console(void);
static void draw_question_counter(void);
static void draw_console_image(int i);
@@ -204,6 +213,12 @@
return 0;
}
+ if (Opts_HelpMode()) {
+ game_handle_help();
+ game_cleanup();
+ return 0;
+ }
+
/* --- MAIN GAME LOOP: --- */
do
{
@@ -414,28 +429,8 @@
}
- /* Free background: */
- if (bkgd != NULL)
- {
- SDL_FreeSurface(bkgd);
- bkgd = NULL;
- }
+ game_cleanup();
- /* Free dynamically-allocated items */
- free_on_exit();
-
- /* Stop music: */
-#ifndef NOSOUND
- if (Opts_UsingSound())
- {
- if (Mix_PlayingMusic())
- {
- Mix_HaltMusic();
- }
- }
-#endif
-
-
/* Write post-game info to game summary file: */
if (Opts_SaveSummary())
{
@@ -445,11 +440,6 @@
/* Save score in case needed for high score table: */
Opts_SetLastScore(score);
-#ifdef TUXMATH_DEBUG
- fprintf(stderr, "Leaving game():\n");
-#endif
-
-
/* Return the chosen command: */
if (GAME_OVER_WINDOW_CLOSE == game_status)
{
@@ -615,9 +605,322 @@
tux_anim = -1;
tux_anim_frame = 0;
+ // Initialize the messages
+ game_clear_message(&s1);
+ game_clear_message(&s2);
+ game_clear_message(&s3);
+ game_clear_message(&s4);
+
+ x_is_blinking = 0;
+
return 1;
}
+
+void game_cleanup(void)
+{
+ /* Free background: */
+ if (bkgd != NULL)
+ {
+ SDL_FreeSurface(bkgd);
+ bkgd = NULL;
+ }
+
+ /* Free dynamically-allocated items */
+ free_on_exit();
+
+ /* Stop music: */
+#ifndef NOSOUND
+ if (Opts_UsingSound())
+ {
+ if (Mix_PlayingMusic())
+ {
+ Mix_HaltMusic();
+ }
+ }
+#endif
+
+
+#ifdef TUXMATH_DEBUG
+ fprintf(stderr, "Leaving game():\n");
+#endif
+
+}
+
+void game_handle_help(void)
+{
+ Uint32 last_time, now_time;
+ SDL_Rect dest;
+ const int left_edge = 140;
+
+ // Here are some things that have to happen before we can safely
+ // draw the screen
+ tux_img = IMG_TUX_CONSOLE1;
+ old_tux_img = tux_img;
+ tux_pressing = 0;
+
+ game_handle_user_events();
+ game_handle_cities();
+ game_handle_penguins();
+
+ // Write the introductory text
+ game_set_message(&s1,"Welcome to TuxMath!",-1,50);
+
+ // Draw the screen
+ game_draw();
+
+#ifndef NOSOUND
+ if (Opts_UsingSound())
+ {
+ if (!Mix_PlayingMusic())
+ {
+ Mix_PlayMusic(musics[MUS_GAME], 0);
+ }
+ }
+#endif
+
+ // Pause while accepting user input
+ for (frame = 0; frame < 20; frame++) {
+ if (game_delay_and_exit())
+ return;
+ }
+
+ game_set_message(&s2,"Your mission is to save your", left_edge, 100);
+ game_set_message(&s3,"penguins' igloos from the", left_edge, 135);
+ game_set_message(&s4,"falling comets.", left_edge, 170);
+ game_draw();
+
+ for (frame = 0; frame < 50; frame++) {
+ if (game_delay_and_exit())
+ return;
+ }
+
+ // Bring in a comet
+ speed = 2;
+ comets[0].alive = 1;
+ comets[0].expl = 0;
+ comets[0].answer = 3;
+ num_comets_alive = 1;
+ comets[0].city = 0;
+ comets[0].x = cities[0].x;
+ comets[0].y = 0;
+ comets[0].zapped = 0;
+ comets[0].bonus = 0;
+ comets[0].flashcard.num1 = 2;
+ comets[0].flashcard.num2 = 1;
+ comets[0].flashcard.num3 = 3;
+ comets[0].flashcard.operation = MC_OPER_ADD;
+ comets[0].flashcard.format = MC_FORMAT_ANS_LAST;
+ strncpy(comets[0].flashcard.formula_string,"2 + 1 = ?",MC_FORMULA_LEN);
+ strncpy(comets[0].flashcard.answer_string,"3",MC_ANSWER_LEN);
+
+ last_time = SDL_GetTicks();
+ for (frame = 0; frame < 50; frame++) {
+ game_handle_user_events();
+ game_handle_comets();
+ game_handle_cities();
+ game_handle_penguins();
+ game_draw();
+ game_status = check_exit_conditions();
+ if (game_status != GAME_IN_PROGRESS)
+ return;
+ now_time = SDL_GetTicks();
+ if (now_time < last_time + FPS)
+ SDL_Delay(last_time+FPS - now_time);
+ last_time = now_time;
+ }
+
+ game_set_message(&s1,"Stop a comet by typing",left_edge,100);
+ game_set_message(&s2,"the answer to the math problem",left_edge,135);
+ game_set_message(&s3,"and hitting 'space' or 'enter'.",left_edge,170);
+ game_clear_message(&s4);
+
+ for (frame = 0; frame < 30; frame++) {
+ game_handle_user_events();
+ game_handle_comets();
+ game_handle_cities();
+ game_handle_penguins();
+ game_draw();
+ game_status = check_exit_conditions();
+ if (game_status != GAME_IN_PROGRESS)
+ return;
+ now_time = SDL_GetTicks();
+ if (now_time < last_time + FPS)
+ SDL_Delay(last_time+FPS - now_time);
+ last_time = now_time;
+ }
+
+ tux_pressing = 1;
+ digits[2] = 3;
+ game_handle_user_events();
+ game_handle_answer();
+ game_handle_tux();
+ game_handle_comets();
+ game_handle_cities();
+ game_handle_penguins();
+ game_draw();
+ now_time = SDL_GetTicks();
+ if (now_time < last_time + FPS)
+ SDL_Delay(last_time+FPS - now_time);
+ last_time = now_time;
+
+ tux_pressing = 1;
+ doing_answer = 1;
+ for (frame = 0; frame < 100; frame++) {
+ if (laser.alive > 0)
+ laser.alive--;
+ game_handle_answer();
+ game_handle_comets();
+ game_handle_cities();
+ game_handle_penguins();
+ game_draw();
+ game_handle_user_events();
+ game_status = check_exit_conditions();
+ if (game_status != GAME_IN_PROGRESS)
+ return;
+ now_time = SDL_GetTicks();
+ if (now_time < last_time + FPS)
+ SDL_Delay(last_time+FPS - now_time);
+ last_time = now_time;
+ }
+
+ game_set_message(&s1,"Fix your igloos by stopping",left_edge,100);
+ game_set_message(&s2,"bonus comets.",left_edge,135);
+ game_clear_message(&s3);
+
+ comets[0].alive = 1;
+ comets[0].expl = 0;
+ comets[0].answer = 9;
+ num_comets_alive = 1;
+ comets[0].city = 0;
+ comets[0].x = cities[0].x;
+ comets[0].y = 0;
+ comets[0].zapped = 0;
+ comets[0].bonus = 1;
+ comets[0].flashcard.num1 = 3;
+ comets[0].flashcard.num2 = 3;
+ comets[0].flashcard.num3 = 9;
+ comets[0].flashcard.operation = MC_OPER_MULT;
+ comets[0].flashcard.format = MC_FORMAT_ANS_LAST;
+ strncpy(comets[0].flashcard.formula_string,"3 * 3 = ?",MC_FORMULA_LEN);
+ strncpy(comets[0].flashcard.answer_string,"9",MC_ANSWER_LEN);
+
+ last_time = SDL_GetTicks();
+ for (frame = 0; frame < 75; frame++) {
+ game_handle_user_events();
+ game_handle_comets();
+ game_handle_cities();
+ game_handle_penguins();
+ game_draw();
+ game_status = check_exit_conditions();
+ if (game_status != GAME_IN_PROGRESS)
+ return;
+ now_time = SDL_GetTicks();
+ if (now_time < last_time + FPS)
+ SDL_Delay(last_time+FPS - now_time);
+ last_time = now_time;
+ }
+
+ tux_pressing = 1;
+ digits[2] = 9;
+ game_handle_user_events();
+ game_handle_answer();
+ game_handle_tux();
+ game_handle_comets();
+ game_handle_cities();
+ game_handle_penguins();
+ game_draw();
+ SDL_Delay(FPS);
+
+ tux_pressing = 1;
+ doing_answer = 1;
+ last_time = SDL_GetTicks();
+ for (frame = 0; frame < 100; frame++) {
+ if (laser.alive > 0)
+ laser.alive--;
+ game_handle_answer();
+ game_handle_comets();
+ game_handle_cities();
+ game_handle_penguins();
+ game_draw();
+ game_handle_user_events();
+ game_status = check_exit_conditions();
+ if (game_status != GAME_IN_PROGRESS)
+ return;
+ now_time = SDL_GetTicks();
+ if (now_time < last_time + FPS)
+ SDL_Delay(last_time+FPS - now_time);
+ last_time = now_time;
+ }
+
+ game_set_message(&s1,"Quit at any time by pressing",left_edge,100);
+ game_set_message(&s2,"'Esc' or clicking the 'X'",left_edge,135);
+ game_set_message(&s3,"in the upper right corner.",left_edge,170);
+
+ frame = 0;
+ x_is_blinking = 1;
+ do {
+ game_draw();
+ game_handle_user_events();
+ game_status = check_exit_conditions();
+ now_time = SDL_GetTicks();
+ if (now_time < last_time + FPS)
+ SDL_Delay(last_time+FPS - now_time);
+ last_time = now_time;
+ frame++;
+ } while (game_status == GAME_IN_PROGRESS);
+
+ x_is_blinking = 0;
+}
+
+int game_delay_and_exit(void)
+{
+ SDL_Delay(100);
+ game_handle_user_events();
+ game_status = check_exit_conditions();
+ return (game_status != GAME_IN_PROGRESS);
+}
+
+void game_set_message(game_message *msg,unsigned char *txt,int x,int y)
+{
+ msg->x = x;
+ msg->y = y;
+ strncpy(msg->message,txt,GAME_MESSAGE_LENGTH);
+}
+
+void game_clear_message(game_message *msg)
+{
+ game_set_message(msg,"",0,0);
+}
+
+void game_write_message(const game_message *msg)
+{
+ SDL_Surface *surf;
+ SDL_Rect rect;
+
+ if (strlen(msg->message) > 0) {
+ surf = BlackOutline( _(msg->message), help_font, &white);
+ rect.w = surf->w;
+ rect.h = surf->h;
+ if (msg->x < 0)
+ rect.x = (screen->w/2) - (rect.w/2); // centered
+ else
+ rect.x = msg->x; // left justified
+ rect.y = msg->y;
+ SDL_BlitSurface(surf, NULL, screen, &rect);
+ SDL_FreeSurface(surf);
+ //SDL_UpdateRect(screen, rect.x, rect.y, rect.w, rect.h);
+ }
+}
+
+void game_write_messages(void)
+{
+ game_write_message(&s1);
+ game_write_message(&s2);
+ game_write_message(&s3);
+ game_write_message(&s4);
+}
+
void game_handle_user_events(void)
{
SDL_Event event;
@@ -1478,12 +1781,14 @@
0);
/* Draw stop button: */
- dest.x = (screen->w - images[IMG_STOP]->w);
- dest.y = 0;
- dest.w = images[IMG_STOP]->w;
- dest.h = images[IMG_STOP]->h;
-
- SDL_BlitSurface(images[IMG_STOP], NULL, screen, &dest);
+ if (!x_is_blinking || (frame % 10 < 5)) {
+ dest.x = (screen->w - images[IMG_STOP]->w);
+ dest.y = 0;
+ dest.w = images[IMG_STOP]->w;
+ dest.h = images[IMG_STOP]->h;
+
+ SDL_BlitSurface(images[IMG_STOP], NULL, screen, &dest);
+ }
/* Draw cities/igloos and (if applicable) penguins: */
if (Opts_UseIgloos()) {
@@ -1730,6 +2035,9 @@
/* Draw console, LED numbers, & tux: */
draw_led_console();
draw_console_image(tux_img);
+
+ /* Draw any messages on the screen (used for the help mode) */
+ game_write_messages();
/* Swap buffers: */
SDL_Flip(screen);
Modified: tuxmath/trunk/src/game.h
===================================================================
--- tuxmath/trunk/src/game.h 2007-10-07 15:26:41 UTC (rev 288)
+++ tuxmath/trunk/src/game.h 2007-10-09 05:19:15 UTC (rev 289)
@@ -82,6 +82,13 @@
int snowflake_size[NUM_SNOWFLAKES];
} cloud_type;
+#define GAME_MESSAGE_LENGTH 100
+
+typedef struct {
+ int x,y;
+ char message[GAME_MESSAGE_LENGTH];
+} game_message;
+
enum {
GAME_IN_PROGRESS,
GAME_OVER_WON,
Modified: tuxmath/trunk/src/mathcards.c
===================================================================
--- tuxmath/trunk/src/mathcards.c 2007-10-07 15:26:41 UTC (rev 288)
+++ tuxmath/trunk/src/mathcards.c 2007-10-09 05:19:15 UTC (rev 289)
@@ -2052,6 +2052,9 @@
if (math_opts->addition_allowed)
{
+ #ifdef MC_DEBUG
+ printf("\nAddition problems");
+ #endif
for (i = math_opts->min_augend; i <= math_opts->max_augend; i++)
{
for (j = math_opts->min_addend; j <= math_opts->max_addend; j++)
@@ -2122,6 +2125,9 @@
if (math_opts->subtraction_allowed)
{
+ #ifdef MC_DEBUG
+ printf("\nSubtraction problems");
+ #endif
for (i = math_opts->min_minuend; i <= math_opts->max_minuend; i++)
{
for (j = math_opts->min_subtrahend; j <= math_opts->max_subtrahend; j++)
@@ -2193,6 +2199,9 @@
if (math_opts->multiplication_allowed)
{
+ #ifdef MC_DEBUG
+ printf("\nMultiplication problems");
+ #endif
for (i = math_opts->min_multiplier; i <= math_opts->max_multiplier; i++)
{
for (j = math_opts->min_multiplicand; j <= math_opts->max_multiplicand; j++)
@@ -2266,6 +2275,9 @@
if (math_opts->division_allowed)
{
+ #ifdef MC_DEBUG
+ printf("\nDivision problems");
+ #endif
for (i = math_opts->min_quotient; i <= math_opts->max_quotient; i++)
{
for (j = math_opts->min_divisor; j <= math_opts->max_divisor; j++)
@@ -2338,6 +2350,9 @@
if (math_opts->typing_practice_allowed)
{
+ #ifdef MC_DEBUG
+ printf("\nTyping problems");
+ #endif
for (i = math_opts->min_typing_num; i <= math_opts->max_typing_num; i++)
{
/* check if max_answer exceeded or if question */
Modified: tuxmath/trunk/src/options.c
===================================================================
--- tuxmath/trunk/src/options.c 2007-10-07 15:26:41 UTC (rev 288)
+++ tuxmath/trunk/src/options.c 2007-10-09 05:19:15 UTC (rev 289)
@@ -377,6 +377,7 @@
game_options->menu_music = DEFAULT_MENU_MUSIC;
game_options->fullscreen = DEFAULT_FULLSCREEN;
game_options->use_bkgd = DEFAULT_USE_BKGD;
+ game_options->help_mode = DEFAULT_HELP_MODE;
game_options->demo_mode = DEFAULT_DEMO_MODE;
game_options->oper_override = DEFAULT_OPER_OVERRIDE;
game_options->use_keypad = DEFAULT_USE_KEYPAD;
@@ -464,6 +465,12 @@
}
+void Opts_SetHelpMode(int val)
+{
+ game_options->help_mode = int_to_bool(val);
+}
+
+
void Opts_SetDemoMode(int val)
{
game_options->demo_mode = int_to_bool(val);
@@ -819,6 +826,17 @@
}
+int Opts_HelpMode(void)
+{
+ if (!game_options)
+ {
+ fprintf(stderr, "\nOpts_HelpMode(): game_options not valid!\n");
+ return GAME_OPTS_INVALID;
+ }
+ return game_options->help_mode;
+}
+
+
int Opts_DemoMode(void)
{
if (!game_options)
Modified: tuxmath/trunk/src/options.h
===================================================================
--- tuxmath/trunk/src/options.h 2007-10-07 15:26:41 UTC (rev 288)
+++ tuxmath/trunk/src/options.h 2007-10-09 05:19:15 UTC (rev 289)
@@ -34,6 +34,7 @@
int menu_music;
int fullscreen;
int use_bkgd;
+ int help_mode;
int demo_mode;
int oper_override;
int use_keypad;
@@ -99,6 +100,7 @@
void Opts_SetMenuMusic(int val);
void Opts_SetFullscreen(int val);
void Opts_SetUseBkgd(int val);
+void Opts_SetHelpMode(int val);
void Opts_SetDemoMode(int val);
void Opts_SetOperOverride(int val);
void Opts_SetUseKeypad(int val);
@@ -136,6 +138,7 @@
int Opts_MenuMusic(void);
int Opts_Fullscreen(void);
int Opts_UseBkgd(void);
+int Opts_HelpMode(void);
int Opts_DemoMode(void);
int Opts_OperOverride(void);
int Opts_AllowPause(void);
Modified: tuxmath/trunk/src/titlescreen.c
===================================================================
--- tuxmath/trunk/src/titlescreen.c 2007-10-07 15:26:41 UTC (rev 288)
+++ tuxmath/trunk/src/titlescreen.c 2007-10-09 05:19:15 UTC (rev 289)
@@ -609,14 +609,15 @@
int run_main_menu(void)
{
- const unsigned char* menu_text[5] =
+ const unsigned char* menu_text[6] =
{(const unsigned char*)N_("Math Command Training Academy"),
(const unsigned char*)N_("Play Arcade Game"),
(const unsigned char*)N_("Play Custom Game"),
+ (const unsigned char*)N_("Help"),
(const unsigned char*)N_("More Options"),
(const unsigned char*)N_("Quit")};
- sprite* sprites[5] =
- {NULL, NULL, NULL, NULL, NULL};
+ sprite* sprites[6] =
+ {NULL, NULL, NULL, NULL, NULL, NULL};
menu_options menu_opts;
int choice,ret;
@@ -624,57 +625,76 @@
sprites[0] = sprite_list[SPRITE_TRAINING];
sprites[1] = sprite_list[SPRITE_ARCADE];
sprites[2] = sprite_list[SPRITE_CUSTOM];
- sprites[3] = sprite_list[SPRITE_OPTIONS];
- sprites[4] = sprite_list[SPRITE_QUIT];
+ sprites[3] = NULL; // no help sprite yet
+ sprites[4] = sprite_list[SPRITE_OPTIONS];
+ sprites[5] = sprite_list[SPRITE_QUIT];
set_default_menu_options(&menu_opts);
menu_opts.ytop = 100;
menu_opts.ygap = 15;
- choice = choose_menu_item(menu_text,sprites,5,menu_opts);
-
+ choice = choose_menu_item(menu_text,sprites,6,menu_opts);
+
while (choice >= 0) {
switch (choice) {
case 0: {
- ret = choose_config_file();
- break;
+ // Training academy lessons
+ ret = choose_config_file();
+ break;
}
case 1: {
- ret = run_arcade_menu();
- break;
+ // Arcade games
+ ret = run_arcade_menu();
+ break;
}
case 2: {
- ret = run_custom_menu();
- break;
+ // Custom game
+ ret = run_custom_menu();
+ break;
}
case 3: {
- ret = run_options_menu();
+ // Help
+ Opts_SetHelpMode(1);
+ Opts_SetDemoMode(0);
+ if (Opts_MenuMusic()) //Turn menu music off for game
+ {audioMusicUnload();}
+ game();
+ if (Opts_MenuMusic()) //Turn menu music back on
+ {audioMusicLoad( "tuxi.ogg", -1 );}
+ Opts_SetHelpMode(0);
+ break;
+ }
+ case 4: {
+ // More options
+ ret = run_options_menu();
break;
}
- case 4: {
+ case 5: {
+ // Quit
return 0;
}
}
menu_opts.starting_entry = choice;
- choice = choose_menu_item(menu_text,sprites,5,menu_opts);
+ choice = choose_menu_item(menu_text,sprites,6,menu_opts);
}
return 0;
}
int run_arcade_menu(void)
{
- const unsigned char* menu_text[5] =
+ const unsigned char* menu_text[6] =
{(const unsigned char*)N_("Space Cadet"),
(const unsigned char*)N_("Scout"),
(const unsigned char*)N_("Ranger"),
(const unsigned char*)N_("Ace"),
- (const unsigned char*)N_("Hall Of Fame")};
+ (const unsigned char*)N_("Hall Of Fame"),
+ (const unsigned char*)N_("Main menu")};
const char* arcade_config_files[4] =
{"arcade/space_cadet", "arcade/scout", "arcade/ranger", "arcade/ace"};
const int arcade_high_score_tables[4] =
{CADET_HIGH_SCORE,SCOUT_HIGH_SCORE,RANGER_HIGH_SCORE,ACE_HIGH_SCORE};
- sprite* sprites[5] =
- {NULL, NULL, NULL, NULL, NULL};
+ sprite* sprites[6] =
+ {NULL, NULL, NULL, NULL, NULL, NULL};
menu_options menu_opts;
int choice,hs_table;
@@ -683,12 +703,13 @@
sprites[1] = sprite_list[SPRITE_SCOUT];
sprites[2] = sprite_list[SPRITE_RANGER];
sprites[3] = sprite_list[SPRITE_ACE];
- sprites[4] = sprite_list[SPRITE_MAIN];
+ sprites[4] = NULL;
+ sprites[5] = sprite_list[SPRITE_MAIN];
set_default_menu_options(&menu_opts);
menu_opts.ytop = 100;
- choice = choose_menu_item(menu_text,sprites,5,menu_opts);
+ choice = choose_menu_item(menu_text,sprites,6,menu_opts);
while (choice >= 0) {
if (choice < 4) {
@@ -721,13 +742,17 @@
fprintf(stderr, "\nCould not find %s config file\n",arcade_config_files[choice]);
}
- } else {
+ } else if (choice == 4) {
// Display the Hall of Fame
DisplayHighScores(CADET_HIGH_SCORE);
}
+ else {
+ // Return to main menu
+ return 0;
+ }
menu_opts.starting_entry = choice;
- choice = choose_menu_item(menu_text,sprites,5,menu_opts);
+ choice = choose_menu_item(menu_text,sprites,6,menu_opts);
}
return 0;
@@ -759,25 +784,24 @@
int run_options_menu(void)
{
- const unsigned char* menu_text[6] =
+ const unsigned char* menu_text[5] =
{(const unsigned char*)N_("Settings"),
- (const unsigned char*)N_("Help"),
(const unsigned char*)N_("Demo"),
(const unsigned char*)N_("Credits"),
(const unsigned char*)N_("Project Info"),
(const unsigned char*)N_("Main Menu")};
- sprite* sprites[6] =
- {NULL, NULL, NULL, NULL, NULL, NULL};
+ sprite* sprites[5] =
+ {NULL, NULL, NULL, NULL, NULL};
menu_options menu_opts;
int choice;
// Set up the sprites
- sprites[5] = sprite_list[SPRITE_MAIN];
+ sprites[4] = sprite_list[SPRITE_MAIN];
set_default_menu_options(&menu_opts);
menu_opts.ytop = 100;
- choice = choose_menu_item(menu_text,sprites,6,menu_opts);
+ choice = choose_menu_item(menu_text,sprites,5,menu_opts);
while (choice >= 0) {
switch (choice) {
@@ -787,11 +811,6 @@
break;
}
case 1: {
- // Help
- NotImplemented();
- break;
- }
- case 2: {
// Demo
if (read_named_config_file("demo"))
{
@@ -806,26 +825,26 @@
break;
}
- case 3: {
+ case 2: {
// Credits
//TitleScreen_unload_media();
credits();
//TitleScreen_load_media();
break;
}
- case 4: {
+ case 3: {
// Project Info
NotImplemented();
break;
}
- case 5: {
+ case 4: {
// Main menu
return 0;
}
}
menu_opts.starting_entry = choice;
- choice = choose_menu_item(menu_text,sprites,6,menu_opts);
+ choice = choose_menu_item(menu_text,sprites,5,menu_opts);
}
return 0;
Modified: tuxmath/trunk/src/tuxmath.h
===================================================================
--- tuxmath/trunk/src/tuxmath.h 2007-10-07 15:26:41 UTC (rev 288)
+++ tuxmath/trunk/src/tuxmath.h 2007-10-09 05:19:15 UTC (rev 289)
@@ -66,6 +66,7 @@
#define DEFAULT_MENU_MUSIC 1
#define DEFAULT_FULLSCREEN 1
#define DEFAULT_USE_BKGD 1
+#define DEFAULT_HELP_MODE 0
#define DEFAULT_DEMO_MODE 0
#define DEFAULT_OPER_OVERRIDE 0
#define DEFAULT_USE_KEYPAD 0
@@ -106,6 +107,7 @@
#define DEFAULT_FONT_NAME "AndikaDesRevG.ttf"
#define DEFAULT_MENU_FONT_SIZE 18
+#define DEFAULT_HELP_FONT_SIZE 32
#define HIGH_SCORES_SAVED 10
@@ -160,6 +162,7 @@
extern int flipped_img_lookup[];
extern TTF_Font *default_font;
+extern TTF_Font *help_font;
#ifndef NOSOUND
More information about the Tux4kids-commits
mailing list