[Tux4kids-commits] r559 - in tuxmath/branches/factroids: . data/images data/images/factroids data/images/sprites nsis src

fongog-guest at alioth.debian.org fongog-guest at alioth.debian.org
Thu Jul 3 06:06:00 UTC 2008


Author: fongog-guest
Date: 2008-07-03 06:05:59 +0000 (Thu, 03 Jul 2008)
New Revision: 559

Added:
   tuxmath/branches/factroids/data/images/factroids/
   tuxmath/branches/factroids/data/images/factroids/Makefile
   tuxmath/branches/factroids/data/images/factroids/Makefile.am
   tuxmath/branches/factroids/data/images/factroids/Makefile.in
   tuxmath/branches/factroids/data/images/factroids/asteroid1.png
   tuxmath/branches/factroids/data/images/factroids/asteroid2.png
   tuxmath/branches/factroids/data/images/factroids/asteroid3.png
   tuxmath/branches/factroids/data/images/factroids/galaxy1.png
   tuxmath/branches/factroids/data/images/factroids/galaxy2.png
   tuxmath/branches/factroids/data/images/factroids/gbstars.png
   tuxmath/branches/factroids/data/images/factroids/ship.png
   tuxmath/branches/factroids/data/images/factroids/ship01.png
   tuxmath/branches/factroids/data/images/factroids/ship02.png
   tuxmath/branches/factroids/data/images/factroids/ship03.png
   tuxmath/branches/factroids/data/images/factroids/ship04.png
   tuxmath/branches/factroids/data/images/factroids/ship05.png
   tuxmath/branches/factroids/data/images/factroids/ship06.png
   tuxmath/branches/factroids/data/images/factroids/ship07.png
   tuxmath/branches/factroids/data/images/factroids/ship08.png
   tuxmath/branches/factroids/data/images/factroids/ship09.png
   tuxmath/branches/factroids/data/images/factroids/ship10.png
   tuxmath/branches/factroids/data/images/factroids/ship11.png
   tuxmath/branches/factroids/data/images/factroids/ship12.png
   tuxmath/branches/factroids/data/images/factroids/star1.jpg
   tuxmath/branches/factroids/data/images/factroids/star1.png
   tuxmath/branches/factroids/data/images/factroids/star2.png
   tuxmath/branches/factroids/data/images/factroids/star3.png
   tuxmath/branches/factroids/data/images/factroids/star4.png
   tuxmath/branches/factroids/data/images/factroids/star5.png
   tuxmath/branches/factroids/src/factroids.c
   tuxmath/branches/factroids/src/factroids.h
Modified:
   tuxmath/branches/factroids/configure
   tuxmath/branches/factroids/configure.ac
   tuxmath/branches/factroids/data/images/sprites/Makefile
   tuxmath/branches/factroids/nsis/tuxmath.nsi
   tuxmath/branches/factroids/nsis/tuxmath_with_conf.nsi
   tuxmath/branches/factroids/src/Makefile.am
   tuxmath/branches/factroids/src/Makefile.in
   tuxmath/branches/factroids/src/fileops.c
   tuxmath/branches/factroids/src/fileops.h
   tuxmath/branches/factroids/src/titlescreen.c
Log:


Modified: tuxmath/branches/factroids/configure
===================================================================
--- tuxmath/branches/factroids/configure	2008-07-03 02:58:56 UTC (rev 558)
+++ tuxmath/branches/factroids/configure	2008-07-03 06:05:59 UTC (rev 559)
@@ -17132,7 +17132,7 @@
 # Create Makefiles
 # ---------------------------------------------------------------
 
-ac_config_files="$ac_config_files Makefile data/Makefile data/fonts/Makefile data/images/Makefile data/images/backgrounds/Makefile data/images/cities/Makefile data/images/comets/Makefile data/images/icons/Makefile data/images/igloos/Makefile data/images/penguins/Makefile data/images/sprites/Makefile data/images/status/Makefile data/images/title/Makefile data/images/tux/Makefile data/missions/Makefile data/missions/arcade/Makefile data/missions/lessons/Makefile data/sounds/Makefile doc/Makefile nsis/tuxmath.nsi nsis/tuxmath_with_conf.nsi src/Makefile intl/Makefile po/Makefile.in"
+ac_config_files="$ac_config_files Makefile data/Makefile data/fonts/Makefile data/images/Makefile data/images/backgrounds/Makefile data/images/cities/Makefile data/images/comets/Makefile data/images/icons/Makefile data/images/igloos/Makefile data/images/penguins/Makefile data/images/sprites/Makefile data/images/status/Makefile data/images/title/Makefile data/images/tux/Makefile data/images/factroids/Makefile data/missions/Makefile data/missions/arcade/Makefile data/missions/lessons/Makefile data/sounds/Makefile doc/Makefile nsis/tuxmath.nsi nsis/tuxmath_with_conf.nsi src/Makefile intl/Makefile po/Makefile.in"
 
 
 cat >confcache <<\_ACEOF
@@ -17757,6 +17757,7 @@
     "data/images/status/Makefile") CONFIG_FILES="$CONFIG_FILES data/images/status/Makefile" ;;
     "data/images/title/Makefile") CONFIG_FILES="$CONFIG_FILES data/images/title/Makefile" ;;
     "data/images/tux/Makefile") CONFIG_FILES="$CONFIG_FILES data/images/tux/Makefile" ;;
+    "data/images/factroids/Makefile") CONFIG_FILES="$CONFIG_FILES data/images/factroids/Makefile" ;;
     "data/missions/Makefile") CONFIG_FILES="$CONFIG_FILES data/missions/Makefile" ;;
     "data/missions/arcade/Makefile") CONFIG_FILES="$CONFIG_FILES data/missions/arcade/Makefile" ;;
     "data/missions/lessons/Makefile") CONFIG_FILES="$CONFIG_FILES data/missions/lessons/Makefile" ;;

Modified: tuxmath/branches/factroids/configure.ac
===================================================================
--- tuxmath/branches/factroids/configure.ac	2008-07-03 02:58:56 UTC (rev 558)
+++ tuxmath/branches/factroids/configure.ac	2008-07-03 06:05:59 UTC (rev 559)
@@ -217,6 +217,7 @@
 data/images/status/Makefile
 data/images/title/Makefile
 data/images/tux/Makefile
+data/images/factroids/Makefile
 data/missions/Makefile
 data/missions/arcade/Makefile
 data/missions/lessons/Makefile

Added: tuxmath/branches/factroids/data/images/factroids/Makefile
===================================================================
--- tuxmath/branches/factroids/data/images/factroids/Makefile	                        (rev 0)
+++ tuxmath/branches/factroids/data/images/factroids/Makefile	2008-07-03 06:05:59 UTC (rev 559)
@@ -0,0 +1,434 @@
+# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# data/images/factroids/Makefile.  Generated from Makefile.in by configure.
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008  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.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+
+
+
+pkgdatadir = $(datadir)/tuxmath
+pkglibdir = $(libdir)/tuxmath
+pkgincludedir = $(includedir)/tuxmath
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = i686-pc-linux-gnu
+host_triplet = i686-pc-linux-gnu
+target_triplet = i686-pc-linux-gnu
+subdir = data/images/factroids
+DIST_COMMON = $(dist_comets_DATA) $(srcdir)/Makefile.am \
+	$(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/codeset.m4 \
+	$(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/glibc2.m4 \
+	$(top_srcdir)/m4/glibc21.m4 $(top_srcdir)/m4/iconv.m4 \
+	$(top_srcdir)/m4/intdiv0.m4 $(top_srcdir)/m4/intl.m4 \
+	$(top_srcdir)/m4/intldir.m4 $(top_srcdir)/m4/intmax.m4 \
+	$(top_srcdir)/m4/inttypes-pri.m4 \
+	$(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lcmessage.m4 \
+	$(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
+	$(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/lock.m4 \
+	$(top_srcdir)/m4/longdouble.m4 $(top_srcdir)/m4/longlong.m4 \
+	$(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+	$(top_srcdir)/m4/printf-posix.m4 $(top_srcdir)/m4/progtest.m4 \
+	$(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/stdint_h.m4 \
+	$(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \
+	$(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \
+	$(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \
+	$(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+SOURCES =
+DIST_SOURCES =
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+    $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+    *) f=$$p;; \
+  esac;
+am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__installdirs = "$(DESTDIR)$(cometsdir)"
+dist_cometsDATA_INSTALL = $(INSTALL_DATA)
+DATA = $(dist_comets_DATA)
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = ${SHELL} /home/gog/svntux/tuxmath/branches/factroids/missing --run aclocal-1.10
+ALLOCA = 
+AMTAR = ${SHELL} /home/gog/svntux/tuxmath/branches/factroids/missing --run tar
+AUTOCONF = ${SHELL} /home/gog/svntux/tuxmath/branches/factroids/missing --run autoconf
+AUTOHEADER = ${SHELL} /home/gog/svntux/tuxmath/branches/factroids/missing --run autoheader
+AUTOMAKE = ${SHELL} /home/gog/svntux/tuxmath/branches/factroids/missing --run automake-1.10
+AWK = mawk
+BUILD_INCLUDED_LIBINTL = no
+CATOBJEXT = .gmo
+CC = gcc
+CCDEPMODE = depmode=gcc3
+CFLAGS = -g -O2 -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT
+CFLAG_VISIBILITY = -fvisibility=hidden
+CPP = gcc -E
+CPPFLAGS = 
+CYGPATH_W = echo
+DATADIRNAME = share
+DEFS = -DHAVE_CONFIG_H
+DEPDIR = .deps
+ECHO_C = 
+ECHO_N = -n
+ECHO_T = 
+EGREP = /bin/grep -E
+EXEEXT = 
+GENCAT = gencat
+GLIBC2 = yes
+GLIBC21 = yes
+GMSGFMT = /usr/bin/msgfmt
+GMSGFMT_015 = /usr/bin/msgfmt
+GREP = /bin/grep
+HAVE_ASPRINTF = 1
+HAVE_POSIX_PRINTF = 1
+HAVE_SNPRINTF = 1
+HAVE_VISIBILITY = 1
+HAVE_WPRINTF = 0
+INSTALL = /usr/bin/install -c
+INSTALL_DATA = ${INSTALL} -m 644
+INSTALL_PROGRAM = ${INSTALL}
+INSTALL_SCRIPT = ${INSTALL}
+INSTALL_STRIP_PROGRAM = $(install_sh) -c -s
+INSTOBJEXT = .mo
+INTLBISON = :
+INTLLIBS = 
+INTLOBJS = 
+INTL_LIBTOOL_SUFFIX_PREFIX = 
+INTL_MACOSX_LIBS = 
+LDFLAGS = 
+LIBICONV = 
+LIBINTL = 
+LIBMULTITHREAD = -lpthread
+LIBOBJS = 
+LIBPTH = 
+LIBS =  -L/usr/lib -lSDL -lSDL_image -lSDL_mixer -lSDL_ttf
+LIBTHREAD = 
+LTLIBICONV = 
+LTLIBINTL = 
+LTLIBMULTITHREAD = -lpthread
+LTLIBOBJS = 
+LTLIBPTH = 
+LTLIBTHREAD = 
+MAKEINFO = ${SHELL} /home/gog/svntux/tuxmath/branches/factroids/missing --run makeinfo
+MKDIR_P = /bin/mkdir -p
+MSGFMT = /usr/bin/msgfmt
+MSGFMT_015 = /usr/bin/msgfmt
+MSGMERGE = /usr/bin/msgmerge
+NAME_VERSION = tuxmath-1.6.3
+NSIS = 
+NSI_DLL_DIR = /home/gog/tuxmath_dll
+NSI_INSTALL_DIR = mingw32
+OBJEXT = o
+PACKAGE = tuxmath
+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.6.3
+PACKAGE_TARNAME = tuxmath
+PACKAGE_VERSION = 1.6.3
+PATH_SEPARATOR = :
+POSUB = po
+POW_LIB = 
+PRI_MACROS_BROKEN = 0
+RANLIB = ranlib
+SDL_CFLAGS = -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT
+SDL_CONFIG = /usr/bin/sdl-config
+SDL_LIBS = -L/usr/lib -lSDL
+SET_MAKE = 
+SHELL = /bin/bash
+STRIP = 
+USE_INCLUDED_LIBINTL = no
+USE_NLS = yes
+VERSION = 1.6.3
+WINDRES = 
+WOE32DLL = no
+XGETTEXT = /usr/bin/xgettext
+XGETTEXT_015 = /usr/bin/xgettext
+YACC = yacc
+YFLAGS = 
+abs_builddir = /home/gog/svntux/tuxmath/branches/factroids/data/images/factroids
+abs_srcdir = /home/gog/svntux/tuxmath/branches/factroids/data/images/factroids
+abs_top_builddir = /home/gog/svntux/tuxmath/branches/factroids
+abs_top_srcdir = /home/gog/svntux/tuxmath/branches/factroids
+ac_ct_CC = gcc
+am__include = include
+am__leading_dot = .
+am__quote = 
+am__tar = ${AMTAR} chof - "$$tardir"
+am__untar = ${AMTAR} xf -
+bindir = ${exec_prefix}/bin
+build = i686-pc-linux-gnu
+build_alias = 
+build_cpu = i686
+build_os = linux-gnu
+build_vendor = pc
+builddir = .
+datadir = ${datarootdir}
+datarootdir = ${prefix}/share
+docdir = ${datarootdir}/doc/${PACKAGE_TARNAME}
+dvidir = ${docdir}
+exec_prefix = ${prefix}
+host = i686-pc-linux-gnu
+host_alias = 
+host_cpu = i686
+host_os = linux-gnu
+host_vendor = pc
+htmldir = ${docdir}
+includedir = ${prefix}/include
+infodir = ${datarootdir}/info
+install_sh = $(SHELL) /home/gog/svntux/tuxmath/branches/factroids/install-sh
+libdir = ${exec_prefix}/lib
+libexecdir = ${exec_prefix}/libexec
+localedir = ${datarootdir}/locale
+localstatedir = ${prefix}/var
+mandir = ${datarootdir}/man
+mkdir_p = /bin/mkdir -p
+oldincludedir = /usr/include
+pdfdir = ${docdir}
+prefix = /usr/local
+program_transform_name = s,x,x,
+psdir = ${docdir}
+sbindir = ${exec_prefix}/sbin
+sharedstatedir = ${prefix}/com
+srcdir = .
+sysconfdir = ${prefix}/etc
+target = i686-pc-linux-gnu
+target_alias = 
+target_cpu = i686
+target_os = linux-gnu
+target_vendor = pc
+top_builddir = ../../..
+top_srcdir = ../../..
+cometsdir = $(pkgdatadir)/images/factroids
+dist_comets_DATA = asteroid1.png \
+ 		 galaxy2.png	 \
+		 ship02.png	 \
+		 ship06.png	 \
+		 ship10.png 	 \
+		 star1.jpg 	 \
+		 star4.png	 \
+		 asteroid2.png 	 \
+		 gbstars.png 	 \
+		 ship03.png 	 \
+		 ship07.png 	 \
+		 ship11.png 	 \
+		 star1.png 	 \
+		 star5.png 	 \
+		 asteroid3.png   \
+		 ship04.png 	 \
+		 ship08.png 	 \
+		 ship12.png 	 \
+		 star2.png	 \
+		 galaxy1.png  	 \
+		 ship01.png 	 \
+		 ship05.png 	 \
+		 ship09.png 	 \
+		 ship.png	 \
+		 star3.png	 
+
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
+	@for dep in $?; do \
+	  case '$(am__configure_deps)' in \
+	    *$$dep*) \
+	      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+		&& exit 0; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign  data/images/factroids/Makefile'; \
+	cd $(top_srcdir) && \
+	  $(AUTOMAKE) --foreign  data/images/factroids/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+	@case '$?' in \
+	  *config.status*) \
+	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+	  *) \
+	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+	esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure:  $(am__configure_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+install-dist_cometsDATA: $(dist_comets_DATA)
+	@$(NORMAL_INSTALL)
+	test -z "$(cometsdir)" || $(MKDIR_P) "$(DESTDIR)$(cometsdir)"
+	@list='$(dist_comets_DATA)'; for p in $$list; do \
+	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+	  f=$(am__strip_dir) \
+	  echo " $(dist_cometsDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(cometsdir)/$$f'"; \
+	  $(dist_cometsDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(cometsdir)/$$f"; \
+	done
+
+uninstall-dist_cometsDATA:
+	@$(NORMAL_UNINSTALL)
+	@list='$(dist_comets_DATA)'; for p in $$list; do \
+	  f=$(am__strip_dir) \
+	  echo " rm -f '$(DESTDIR)$(cometsdir)/$$f'"; \
+	  rm -f "$(DESTDIR)$(cometsdir)/$$f"; \
+	done
+tags: TAGS
+TAGS:
+
+ctags: CTAGS
+CTAGS:
+
+
+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 \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); 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; \
+	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	  else \
+	    test -f $(distdir)/$$file \
+	    || cp -p $$d/$$file $(distdir)/$$file \
+	    || exit 1; \
+	  fi; \
+	done
+check-am: all-am
+check: check-am
+all-am: Makefile $(DATA)
+installdirs:
+	for dir in "$(DESTDIR)$(cometsdir)"; do \
+	  test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+	done
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	  `test -z '$(STRIP)' || \
+	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic mostlyclean-am
+
+distclean: distclean-am
+	-rm -f Makefile
+distclean-am: clean-am distclean-generic
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am: install-dist_cometsDATA
+
+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
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-dist_cometsDATA
+
+.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-dist_cometsDATA 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 maintainer-clean \
+	maintainer-clean-generic mostlyclean mostlyclean-generic pdf \
+	pdf-am ps ps-am uninstall uninstall-am \
+	uninstall-dist_cometsDATA
+
+# 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.
+.NOEXPORT:

Added: tuxmath/branches/factroids/data/images/factroids/Makefile.am
===================================================================
--- tuxmath/branches/factroids/data/images/factroids/Makefile.am	                        (rev 0)
+++ tuxmath/branches/factroids/data/images/factroids/Makefile.am	2008-07-03 06:05:59 UTC (rev 559)
@@ -0,0 +1,35 @@
+## Makefile.am for tuxmath data/images/factroids:
+## Process with AutoMake:
+
+cometsdir = $(pkgdatadir)/images/factroids
+
+dist_comets_DATA = asteroid1.png \
+ 		 galaxy2.png	 \
+		 ship02.png	 \
+		 ship06.png	 \
+		 ship10.png 	 \
+		 star1.jpg 	 \
+		 star4.png	 \
+		 asteroid2.png 	 \
+		 gbstars.png 	 \
+		 ship03.png 	 \
+		 ship07.png 	 \
+		 ship11.png 	 \
+		 star1.png 	 \
+		 star5.png 	 \
+		 asteroid3.png   \
+		 ship04.png 	 \
+		 ship08.png 	 \
+		 ship12.png 	 \
+		 star2.png	 \
+		 galaxy1.png  	 \
+		 ship01.png 	 \
+		 ship05.png 	 \
+		 ship09.png 	 \
+		 ship.png	 \
+		 star3.png	 
+
+
+
+
+

Added: tuxmath/branches/factroids/data/images/factroids/Makefile.in
===================================================================
--- tuxmath/branches/factroids/data/images/factroids/Makefile.in	                        (rev 0)
+++ tuxmath/branches/factroids/data/images/factroids/Makefile.in	2008-07-03 06:05:59 UTC (rev 559)
@@ -0,0 +1,434 @@
+# Makefile.in generated by automake 1.10.1 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008  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.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+ at SET_MAKE@
+
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+target_triplet = @target@
+subdir = data/images/factroids
+DIST_COMMON = $(dist_comets_DATA) $(srcdir)/Makefile.am \
+	$(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/codeset.m4 \
+	$(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/glibc2.m4 \
+	$(top_srcdir)/m4/glibc21.m4 $(top_srcdir)/m4/iconv.m4 \
+	$(top_srcdir)/m4/intdiv0.m4 $(top_srcdir)/m4/intl.m4 \
+	$(top_srcdir)/m4/intldir.m4 $(top_srcdir)/m4/intmax.m4 \
+	$(top_srcdir)/m4/inttypes-pri.m4 \
+	$(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lcmessage.m4 \
+	$(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
+	$(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/lock.m4 \
+	$(top_srcdir)/m4/longdouble.m4 $(top_srcdir)/m4/longlong.m4 \
+	$(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
+	$(top_srcdir)/m4/printf-posix.m4 $(top_srcdir)/m4/progtest.m4 \
+	$(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/stdint_h.m4 \
+	$(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \
+	$(top_srcdir)/m4/visibility.m4 $(top_srcdir)/m4/wchar_t.m4 \
+	$(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xsize.m4 \
+	$(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+SOURCES =
+DIST_SOURCES =
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+    $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+    *) f=$$p;; \
+  esac;
+am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__installdirs = "$(DESTDIR)$(cometsdir)"
+dist_cometsDATA_INSTALL = $(INSTALL_DATA)
+DATA = $(dist_comets_DATA)
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+ALLOCA = @ALLOCA@
+AMTAR = @AMTAR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@
+CATOBJEXT = @CATOBJEXT@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CFLAG_VISIBILITY = @CFLAG_VISIBILITY@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DATADIRNAME = @DATADIRNAME@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+GENCAT = @GENCAT@
+GLIBC2 = @GLIBC2@
+GLIBC21 = @GLIBC21@
+GMSGFMT = @GMSGFMT@
+GMSGFMT_015 = @GMSGFMT_015@
+GREP = @GREP@
+HAVE_ASPRINTF = @HAVE_ASPRINTF@
+HAVE_POSIX_PRINTF = @HAVE_POSIX_PRINTF@
+HAVE_SNPRINTF = @HAVE_SNPRINTF@
+HAVE_VISIBILITY = @HAVE_VISIBILITY@
+HAVE_WPRINTF = @HAVE_WPRINTF@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+INSTOBJEXT = @INSTOBJEXT@
+INTLBISON = @INTLBISON@
+INTLLIBS = @INTLLIBS@
+INTLOBJS = @INTLOBJS@
+INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@
+INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
+LDFLAGS = @LDFLAGS@
+LIBICONV = @LIBICONV@
+LIBINTL = @LIBINTL@
+LIBMULTITHREAD = @LIBMULTITHREAD@
+LIBOBJS = @LIBOBJS@
+LIBPTH = @LIBPTH@
+LIBS = @LIBS@
+LIBTHREAD = @LIBTHREAD@
+LTLIBICONV = @LTLIBICONV@
+LTLIBINTL = @LTLIBINTL@
+LTLIBMULTITHREAD = @LTLIBMULTITHREAD@
+LTLIBOBJS = @LTLIBOBJS@
+LTLIBPTH = @LTLIBPTH@
+LTLIBTHREAD = @LTLIBTHREAD@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+MSGFMT = @MSGFMT@
+MSGFMT_015 = @MSGFMT_015@
+MSGMERGE = @MSGMERGE@
+NAME_VERSION = @NAME_VERSION@
+NSIS = @NSIS@
+NSI_DLL_DIR = @NSI_DLL_DIR@
+NSI_INSTALL_DIR = @NSI_INSTALL_DIR@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_DATA_DIR = @PACKAGE_DATA_DIR@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+POSUB = @POSUB@
+POW_LIB = @POW_LIB@
+PRI_MACROS_BROKEN = @PRI_MACROS_BROKEN@
+RANLIB = @RANLIB@
+SDL_CFLAGS = @SDL_CFLAGS@
+SDL_CONFIG = @SDL_CONFIG@
+SDL_LIBS = @SDL_LIBS@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@
+USE_NLS = @USE_NLS@
+VERSION = @VERSION@
+WINDRES = @WINDRES@
+WOE32DLL = @WOE32DLL@
+XGETTEXT = @XGETTEXT@
+XGETTEXT_015 = @XGETTEXT_015@
+YACC = @YACC@
+YFLAGS = @YFLAGS@
+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__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+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@
+cometsdir = $(pkgdatadir)/images/factroids
+dist_comets_DATA = asteroid1.png \
+ 		 galaxy2.png	 \
+		 ship02.png	 \
+		 ship06.png	 \
+		 ship10.png 	 \
+		 star1.jpg 	 \
+		 star4.png	 \
+		 asteroid2.png 	 \
+		 gbstars.png 	 \
+		 ship03.png 	 \
+		 ship07.png 	 \
+		 ship11.png 	 \
+		 star1.png 	 \
+		 star5.png 	 \
+		 asteroid3.png   \
+		 ship04.png 	 \
+		 ship08.png 	 \
+		 ship12.png 	 \
+		 star2.png	 \
+		 galaxy1.png  	 \
+		 ship01.png 	 \
+		 ship05.png 	 \
+		 ship09.png 	 \
+		 ship.png	 \
+		 star3.png	 
+
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
+	@for dep in $?; do \
+	  case '$(am__configure_deps)' in \
+	    *$$dep*) \
+	      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+		&& exit 0; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign  data/images/factroids/Makefile'; \
+	cd $(top_srcdir) && \
+	  $(AUTOMAKE) --foreign  data/images/factroids/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+	@case '$?' in \
+	  *config.status*) \
+	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+	  *) \
+	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+	esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure:  $(am__configure_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+install-dist_cometsDATA: $(dist_comets_DATA)
+	@$(NORMAL_INSTALL)
+	test -z "$(cometsdir)" || $(MKDIR_P) "$(DESTDIR)$(cometsdir)"
+	@list='$(dist_comets_DATA)'; for p in $$list; do \
+	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+	  f=$(am__strip_dir) \
+	  echo " $(dist_cometsDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(cometsdir)/$$f'"; \
+	  $(dist_cometsDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(cometsdir)/$$f"; \
+	done
+
+uninstall-dist_cometsDATA:
+	@$(NORMAL_UNINSTALL)
+	@list='$(dist_comets_DATA)'; for p in $$list; do \
+	  f=$(am__strip_dir) \
+	  echo " rm -f '$(DESTDIR)$(cometsdir)/$$f'"; \
+	  rm -f "$(DESTDIR)$(cometsdir)/$$f"; \
+	done
+tags: TAGS
+TAGS:
+
+ctags: CTAGS
+CTAGS:
+
+
+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 \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); 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; \
+	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	  else \
+	    test -f $(distdir)/$$file \
+	    || cp -p $$d/$$file $(distdir)/$$file \
+	    || exit 1; \
+	  fi; \
+	done
+check-am: all-am
+check: check-am
+all-am: Makefile $(DATA)
+installdirs:
+	for dir in "$(DESTDIR)$(cometsdir)"; do \
+	  test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+	done
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	  `test -z '$(STRIP)' || \
+	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic mostlyclean-am
+
+distclean: distclean-am
+	-rm -f Makefile
+distclean-am: clean-am distclean-generic
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am: install-dist_cometsDATA
+
+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
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-dist_cometsDATA
+
+.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-dist_cometsDATA 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 maintainer-clean \
+	maintainer-clean-generic mostlyclean mostlyclean-generic pdf \
+	pdf-am ps ps-am uninstall uninstall-am \
+	uninstall-dist_cometsDATA
+
+# 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.
+.NOEXPORT:

Added: tuxmath/branches/factroids/data/images/factroids/asteroid1.png
===================================================================
(Binary files differ)


Property changes on: tuxmath/branches/factroids/data/images/factroids/asteroid1.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: tuxmath/branches/factroids/data/images/factroids/asteroid2.png
===================================================================
(Binary files differ)


Property changes on: tuxmath/branches/factroids/data/images/factroids/asteroid2.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: tuxmath/branches/factroids/data/images/factroids/asteroid3.png
===================================================================
(Binary files differ)


Property changes on: tuxmath/branches/factroids/data/images/factroids/asteroid3.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: tuxmath/branches/factroids/data/images/factroids/galaxy1.png
===================================================================
(Binary files differ)


Property changes on: tuxmath/branches/factroids/data/images/factroids/galaxy1.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: tuxmath/branches/factroids/data/images/factroids/galaxy2.png
===================================================================
(Binary files differ)


Property changes on: tuxmath/branches/factroids/data/images/factroids/galaxy2.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: tuxmath/branches/factroids/data/images/factroids/gbstars.png
===================================================================
(Binary files differ)


Property changes on: tuxmath/branches/factroids/data/images/factroids/gbstars.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: tuxmath/branches/factroids/data/images/factroids/ship.png
===================================================================
(Binary files differ)


Property changes on: tuxmath/branches/factroids/data/images/factroids/ship.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: tuxmath/branches/factroids/data/images/factroids/ship01.png
===================================================================
(Binary files differ)


Property changes on: tuxmath/branches/factroids/data/images/factroids/ship01.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: tuxmath/branches/factroids/data/images/factroids/ship02.png
===================================================================
(Binary files differ)


Property changes on: tuxmath/branches/factroids/data/images/factroids/ship02.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: tuxmath/branches/factroids/data/images/factroids/ship03.png
===================================================================
(Binary files differ)


Property changes on: tuxmath/branches/factroids/data/images/factroids/ship03.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: tuxmath/branches/factroids/data/images/factroids/ship04.png
===================================================================
(Binary files differ)


Property changes on: tuxmath/branches/factroids/data/images/factroids/ship04.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: tuxmath/branches/factroids/data/images/factroids/ship05.png
===================================================================
(Binary files differ)


Property changes on: tuxmath/branches/factroids/data/images/factroids/ship05.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: tuxmath/branches/factroids/data/images/factroids/ship06.png
===================================================================
(Binary files differ)


Property changes on: tuxmath/branches/factroids/data/images/factroids/ship06.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: tuxmath/branches/factroids/data/images/factroids/ship07.png
===================================================================
(Binary files differ)


Property changes on: tuxmath/branches/factroids/data/images/factroids/ship07.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: tuxmath/branches/factroids/data/images/factroids/ship08.png
===================================================================
(Binary files differ)


Property changes on: tuxmath/branches/factroids/data/images/factroids/ship08.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: tuxmath/branches/factroids/data/images/factroids/ship09.png
===================================================================
(Binary files differ)


Property changes on: tuxmath/branches/factroids/data/images/factroids/ship09.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: tuxmath/branches/factroids/data/images/factroids/ship10.png
===================================================================
(Binary files differ)


Property changes on: tuxmath/branches/factroids/data/images/factroids/ship10.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: tuxmath/branches/factroids/data/images/factroids/ship11.png
===================================================================
(Binary files differ)


Property changes on: tuxmath/branches/factroids/data/images/factroids/ship11.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: tuxmath/branches/factroids/data/images/factroids/ship12.png
===================================================================
(Binary files differ)


Property changes on: tuxmath/branches/factroids/data/images/factroids/ship12.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: tuxmath/branches/factroids/data/images/factroids/star1.jpg
===================================================================
(Binary files differ)


Property changes on: tuxmath/branches/factroids/data/images/factroids/star1.jpg
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: tuxmath/branches/factroids/data/images/factroids/star1.png
===================================================================
(Binary files differ)


Property changes on: tuxmath/branches/factroids/data/images/factroids/star1.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: tuxmath/branches/factroids/data/images/factroids/star2.png
===================================================================
(Binary files differ)


Property changes on: tuxmath/branches/factroids/data/images/factroids/star2.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: tuxmath/branches/factroids/data/images/factroids/star3.png
===================================================================
(Binary files differ)


Property changes on: tuxmath/branches/factroids/data/images/factroids/star3.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: tuxmath/branches/factroids/data/images/factroids/star4.png
===================================================================
(Binary files differ)


Property changes on: tuxmath/branches/factroids/data/images/factroids/star4.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: tuxmath/branches/factroids/data/images/factroids/star5.png
===================================================================
(Binary files differ)


Property changes on: tuxmath/branches/factroids/data/images/factroids/star5.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Modified: tuxmath/branches/factroids/data/images/sprites/Makefile
===================================================================
--- tuxmath/branches/factroids/data/images/sprites/Makefile	2008-07-03 02:58:56 UTC (rev 558)
+++ tuxmath/branches/factroids/data/images/sprites/Makefile	2008-07-03 06:05:59 UTC (rev 559)
@@ -1,8 +1,8 @@
-# Makefile.in generated by automake 1.10 from Makefile.am.
+# Makefile.in generated by automake 1.10.1 from Makefile.am.
 # data/images/sprites/Makefile.  Generated from Makefile.in by configure.
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006  Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008  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.
@@ -71,12 +71,12 @@
 dist_spritesDATA_INSTALL = $(INSTALL_DATA)
 DATA = $(dist_sprites_DATA)
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = ${SHELL} /home/dbruce/tux4kids/tuxmath/trunk/missing --run aclocal-1.10
+ACLOCAL = ${SHELL} /home/gog/svntux/tuxmath/branches/factroids/missing --run aclocal-1.10
 ALLOCA = 
-AMTAR = ${SHELL} /home/dbruce/tux4kids/tuxmath/trunk/missing --run tar
-AUTOCONF = ${SHELL} /home/dbruce/tux4kids/tuxmath/trunk/missing --run autoconf
-AUTOHEADER = ${SHELL} /home/dbruce/tux4kids/tuxmath/trunk/missing --run autoheader
-AUTOMAKE = ${SHELL} /home/dbruce/tux4kids/tuxmath/trunk/missing --run automake-1.10
+AMTAR = ${SHELL} /home/gog/svntux/tuxmath/branches/factroids/missing --run tar
+AUTOCONF = ${SHELL} /home/gog/svntux/tuxmath/branches/factroids/missing --run autoconf
+AUTOHEADER = ${SHELL} /home/gog/svntux/tuxmath/branches/factroids/missing --run autoheader
+AUTOMAKE = ${SHELL} /home/gog/svntux/tuxmath/branches/factroids/missing --run automake-1.10
 AWK = mawk
 BUILD_INCLUDED_LIBINTL = no
 CATOBJEXT = .gmo
@@ -112,7 +112,7 @@
 INSTALL_SCRIPT = ${INSTALL}
 INSTALL_STRIP_PROGRAM = $(install_sh) -c -s
 INSTOBJEXT = .mo
-INTLBISON = bison
+INTLBISON = :
 INTLLIBS = 
 INTLOBJS = 
 INTL_LIBTOOL_SUFFIX_PREFIX = 
@@ -131,23 +131,23 @@
 LTLIBOBJS = 
 LTLIBPTH = 
 LTLIBTHREAD = 
-MAKEINFO = ${SHELL} /home/dbruce/tux4kids/tuxmath/trunk/missing --run makeinfo
+MAKEINFO = ${SHELL} /home/gog/svntux/tuxmath/branches/factroids/missing --run makeinfo
 MKDIR_P = /bin/mkdir -p
 MSGFMT = /usr/bin/msgfmt
 MSGFMT_015 = /usr/bin/msgfmt
 MSGMERGE = /usr/bin/msgmerge
-NAME_VERSION = tuxmath-1.6.0
-NSIS = /usr/bin/makensis
-NSI_DLL_DIR = /home/dbruce/tuxmath_dll
+NAME_VERSION = tuxmath-1.6.3
+NSIS = 
+NSI_DLL_DIR = /home/gog/tuxmath_dll
 NSI_INSTALL_DIR = mingw32
 OBJEXT = o
 PACKAGE = tuxmath
 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.6.0
+PACKAGE_STRING = Tux Of Math Command 1.6.3
 PACKAGE_TARNAME = tuxmath
-PACKAGE_VERSION = 1.6.0
+PACKAGE_VERSION = 1.6.3
 PATH_SEPARATOR = :
 POSUB = po
 POW_LIB = 
@@ -161,17 +161,17 @@
 STRIP = 
 USE_INCLUDED_LIBINTL = no
 USE_NLS = yes
-VERSION = 1.6.0
+VERSION = 1.6.3
 WINDRES = 
 WOE32DLL = no
 XGETTEXT = /usr/bin/xgettext
 XGETTEXT_015 = /usr/bin/xgettext
-YACC = bison -y
+YACC = yacc
 YFLAGS = 
-abs_builddir = /home/dbruce/tux4kids/tuxmath/trunk/data/images/sprites
-abs_srcdir = /home/dbruce/tux4kids/tuxmath/trunk/data/images/sprites
-abs_top_builddir = /home/dbruce/tux4kids/tuxmath/trunk
-abs_top_srcdir = /home/dbruce/tux4kids/tuxmath/trunk
+abs_builddir = /home/gog/svntux/tuxmath/branches/factroids/data/images/sprites
+abs_srcdir = /home/gog/svntux/tuxmath/branches/factroids/data/images/sprites
+abs_top_builddir = /home/gog/svntux/tuxmath/branches/factroids
+abs_top_srcdir = /home/gog/svntux/tuxmath/branches/factroids
 ac_ct_CC = gcc
 am__include = include
 am__leading_dot = .
@@ -198,7 +198,7 @@
 htmldir = ${docdir}
 includedir = ${prefix}/include
 infodir = ${datarootdir}/info
-install_sh = $(SHELL) /home/dbruce/tux4kids/tuxmath/trunk/install-sh
+install_sh = $(SHELL) /home/gog/svntux/tuxmath/branches/factroids/install-sh
 libdir = ${exec_prefix}/lib
 libexecdir = ${exec_prefix}/libexec
 localedir = ${datarootdir}/locale

Modified: tuxmath/branches/factroids/nsis/tuxmath.nsi
===================================================================
--- tuxmath/branches/factroids/nsis/tuxmath.nsi	2008-07-03 02:58:56 UTC (rev 558)
+++ tuxmath/branches/factroids/nsis/tuxmath.nsi	2008-07-03 06:05:59 UTC (rev 559)
@@ -3,7 +3,7 @@
 # modified for tuxmath by Yves Combe (yves at ycombe.net)
 # modified more for tuxmath by David Bruce <dbruce at tampabay.rr.com>
 
-!define PKG_VERSION "1.6.0"
+!define PKG_VERSION "1.6.3"
 !define PKG_PREFIX  "tuxmath"
 
 !define APP_PREFIX  "TuxMath"

Modified: tuxmath/branches/factroids/nsis/tuxmath_with_conf.nsi
===================================================================
--- tuxmath/branches/factroids/nsis/tuxmath_with_conf.nsi	2008-07-03 02:58:56 UTC (rev 558)
+++ tuxmath/branches/factroids/nsis/tuxmath_with_conf.nsi	2008-07-03 06:05:59 UTC (rev 559)
@@ -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.6.0"
+!define PKG_VERSION "1.6.3"
 !define PKG_PREFIX  "tuxmath"
 
 !define APP_PREFIX  "TuxMath"

Modified: tuxmath/branches/factroids/src/Makefile.am
===================================================================
--- tuxmath/branches/factroids/src/Makefile.am	2008-07-03 02:58:56 UTC (rev 558)
+++ tuxmath/branches/factroids/src/Makefile.am	2008-07-03 06:05:59 UTC (rev 559)
@@ -26,6 +26,7 @@
 	setup.c 	\
 	titlescreen.c	\
 	game.c 		\
+	factroids.c     \
 	options.c	\
 	credits.c	\
 	highscore.c	\
@@ -46,6 +47,7 @@
 EXTRA_DIST = 	credits.h 	\
 		fileops.h 	\
 		game.h		\
+		factroids.h	\
 		highscore.h 	\
 		mathcards.h 	\
 		options.h	\

Modified: tuxmath/branches/factroids/src/Makefile.in
===================================================================
--- tuxmath/branches/factroids/src/Makefile.in	2008-07-03 02:58:56 UTC (rev 558)
+++ tuxmath/branches/factroids/src/Makefile.in	2008-07-03 06:05:59 UTC (rev 559)
@@ -67,21 +67,21 @@
 binPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
 PROGRAMS = $(bin_PROGRAMS)
 am__objects_1 = tuxmath.$(OBJEXT) setup.$(OBJEXT) \
-	titlescreen.$(OBJEXT) game.$(OBJEXT) options.$(OBJEXT) \
-	credits.$(OBJEXT) highscore.$(OBJEXT) loaders.$(OBJEXT) \
-	audio.$(OBJEXT) mathcards.$(OBJEXT) fileops.$(OBJEXT) \
-	ConvertUTF.$(OBJEXT) SDL_extras.$(OBJEXT) lessons.$(OBJEXT) \
-	scandir.$(OBJEXT) pixels.$(OBJEXT)
+	titlescreen.$(OBJEXT) game.$(OBJEXT) factroids.$(OBJEXT) \
+	options.$(OBJEXT) credits.$(OBJEXT) highscore.$(OBJEXT) \
+	loaders.$(OBJEXT) audio.$(OBJEXT) mathcards.$(OBJEXT) \
+	fileops.$(OBJEXT) ConvertUTF.$(OBJEXT) SDL_extras.$(OBJEXT) \
+	lessons.$(OBJEXT) scandir.$(OBJEXT) pixels.$(OBJEXT)
 am_TuxMath_OBJECTS = $(am__objects_1)
 TuxMath_OBJECTS = $(am_TuxMath_OBJECTS)
 TuxMath_LDADD = $(LDADD)
 TuxMath_DEPENDENCIES =
 am_tuxmath_OBJECTS = tuxmath.$(OBJEXT) setup.$(OBJEXT) \
-	titlescreen.$(OBJEXT) game.$(OBJEXT) options.$(OBJEXT) \
-	credits.$(OBJEXT) highscore.$(OBJEXT) loaders.$(OBJEXT) \
-	audio.$(OBJEXT) mathcards.$(OBJEXT) fileops.$(OBJEXT) \
-	ConvertUTF.$(OBJEXT) SDL_extras.$(OBJEXT) lessons.$(OBJEXT) \
-	scandir.$(OBJEXT) pixels.$(OBJEXT)
+	titlescreen.$(OBJEXT) game.$(OBJEXT) factroids.$(OBJEXT) \
+	options.$(OBJEXT) credits.$(OBJEXT) highscore.$(OBJEXT) \
+	loaders.$(OBJEXT) audio.$(OBJEXT) mathcards.$(OBJEXT) \
+	fileops.$(OBJEXT) ConvertUTF.$(OBJEXT) SDL_extras.$(OBJEXT) \
+	lessons.$(OBJEXT) scandir.$(OBJEXT) pixels.$(OBJEXT)
 tuxmath_OBJECTS = $(am_tuxmath_OBJECTS)
 tuxmath_LDADD = $(LDADD)
 tuxmath_DEPENDENCIES =
@@ -268,6 +268,7 @@
 	setup.c 	\
 	titlescreen.c	\
 	game.c 		\
+	factroids.c     \
 	options.c	\
 	credits.c	\
 	highscore.c	\
@@ -286,6 +287,7 @@
 EXTRA_DIST = credits.h 	\
 		fileops.h 	\
 		game.h		\
+		factroids.h	\
 		highscore.h 	\
 		mathcards.h 	\
 		options.h	\
@@ -379,6 +381,7 @@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/SDL_extras.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@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/factroids.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/fileops.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/game.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/highscore.Po at am__quote@

Added: tuxmath/branches/factroids/src/factroids.c
===================================================================
--- tuxmath/branches/factroids/src/factroids.c	                        (rev 0)
+++ tuxmath/branches/factroids/src/factroids.c	2008-07-03 06:05:59 UTC (rev 559)
@@ -0,0 +1,1569 @@
+/************************************************************
+ *  factroids.c                                             *
+ *                                                          *
+ *  Description: Code for the factor and fraction activity  *
+ *                                                          *
+ *  Autor:       Jesus M. Mager H. (fongog at gmail.com) 2008  *
+ *  Copyright:   GPL v3 or later                            *
+ *                                                          *
+ *  Code based on the work made by:                         *
+ *               Bull kendrick (vectoroids 1.1.0)          *
+ *               and Bill Kendrick avid Bruce, Tim Holy    *
+ *               and others (Tuxmath 1.6.3)                *
+ *                                                          *
+ *  TuxMath                                                 *
+ *  Part of "Tux4Kids" Project                              *
+ *  http://tux4kids.alioth.debian.org/                      *
+ ************************************************************/
+
+#include "tuxmath.h"
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+#include "SDL.h"
+#ifndef NOSOUND
+#include "SDL_mixer.h"
+#endif
+#include "SDL_image.h"
+  
+
+#include "game.h"
+#include "fileops.h"
+#include "setup.h"
+#include "mathcards.h"
+#include "titlescreen.h"
+#include "options.h"
+#include "SDL_extras.h"
+
+#define FPS 15                     /* 15 frames per second */
+#define MS_PER_FRAME (1000 / FPS)
+
+#define MAX_LASER 5
+#define MAX_ASTEROIDS 50
+#define NUM_TUXSHIPS 2
+#define NUM_SPRITES 11
+#define TUXSHIP_LIVES 3
+
+#define DEG_TO_RAD 0.0174532925
+#define MAX(a,b)    (((a) > (b)) ? (a) : (b))
+
+/* ---- Structures */
+
+typedef struct colorRGBA_type {
+  Uint8 r;
+  Uint8 g;
+  Uint8 b;
+  Uint8 a;
+} ColorRGBA_type;
+
+typedef struct asteroid_type {
+  int alive, size;
+  int angle, angle_speed;
+  int xspeed, yspeed;
+  int x, y;
+  int centerx, centery;
+  int fact_number;
+  int isprime;
+  int a, b; /*  a / b */
+  MC_FlashCard flashcard;
+  Uint32 time_started;
+} asteroid_type;
+
+
+typedef struct tuxship_type {
+  int lives, size;
+  int xspeed, yspeed;
+  int x, y;
+  int centerx, centery;
+  int angle;
+} tuxship_type;
+
+typedef struct FF_laser_type{
+  int alive;
+  int x, y;
+  int destx,desty;
+  int r, g, b;
+  int count;
+  int angle;
+  int m;
+} FF_laser_type;
+
+typedef struct {
+  int x_is_blinking;
+  int extra_life_is_blinking;
+  int laser_enabled;
+} help_controls_type;
+
+//static help_controls_type help_controls;
+
+/* Trig junk:  (thanks to Atari BASIC for this) */
+
+static int trig[12] = {
+  1024,
+  1014,
+  984,
+  935,
+  868,
+  784,
+  685,
+  572,
+  448,
+  316,
+  117,
+  0
+};
+
+static char operchars[4] = {
+   "+-*/"
+};
+
+// ControlKeys
+static int left_pressed;
+static int right_pressed;
+static int up_pressed;
+static int shift_pressed;
+static int shoot_pressed;
+
+// GameControl
+static int points;
+static int game_status;
+static int gameover_counter;
+static int escape_received;
+
+//SDL Variables
+static SDL_Surface *bg; //The background
+
+static SDL_Rect bgSrc, bgScreen2, bgScreen;
+
+
+// Game vars
+static int score;
+static int wave;
+static int paused;
+static int key_pressed;
+static int escape_received;
+static int gameover_counter;
+static int game_status;
+static int SDL_quit_received;
+static int done, quit;
+static int digits[3];
+static int num;
+
+static int neg_answer_picked;
+static int tux_pressing;
+static int doing_answer;
+static int level_start_wait;
+//static int FF_level;
+
+static asteroid_type* asteroid = NULL;
+static tuxship_type tuxship;
+static FF_laser_type laser[MAX_LASER];
+
+static int NUM_ASTEROIDS;
+static int bkg_h, counter;
+static int xdead, ydead, isdead, countdead;
+
+//static int SDL_Surface *screen2;
+
+static int FF_init(void);
+static void FF_intro(void);
+static void FF_handle_ship(void);
+static void FF_handle_asteroids(void);
+static void FF_handle_answer(void);
+static void FF_draw(void);
+static void FF_add_level(void);
+static void FF_loose(void);
+static void FF_win(void);
+static void FF_exit_free(void);
+static int FF_add_laser(void);
+static int FF_add_asteroid(int x, int y, int xspeed, int yspeed, int size, int angle, int angle_speed, int fact_num);
+static int FF_destroy_asteroid(int i, int xspeed, int yspeed);
+
+//void draw_nums(const char* str, int x, int y);
+static void draw_numbers(const char* str, int x, int y);
+static void draw_line(int x1, int y1, int x2, int y2, int red, int grn, int blu);
+static void putpixel(SDL_Surface* surface, int x, int y, Uint32 pixel);
+static int pause_game(void);
+
+static int is_prime(int num);
+static int fast_cos(int angle);
+static int fast_sin(int angle);
+
+
+void factors(void){
+
+
+  Uint32 last_time, now_time; 
+  
+  done = 0;
+  quit = 0;
+  counter = 0;
+  
+
+  
+  #ifdef TUXMATH_DEBUG
+     fprintf(stderr, "Entering factors():\n");
+  #endif
+
+
+  if (!FF_init())
+  {
+    fprintf(stderr, "FF_init() failed!\n");
+    FF_exit_free();
+    return;
+  } 
+  
+  FF_intro();
+  
+  while (!done){
+      last_time = SDL_GetTicks();
+      counter++;
+      if(tuxship.lives<=0)
+        done=1;
+      
+   
+    game_handle_user_events();
+
+    FF_handle_ship();
+    FF_handle_asteroids();
+    FF_handle_answer();
+    FF_draw();
+
+    game_status = check_exit_conditions();
+
+    if (paused)
+    {
+      pause_game();
+      paused = 0;
+    }
+
+
+#ifndef NOSOUND
+    if (Opts_UsingSound())
+    {
+      if (!Mix_PlayingMusic())
+      {
+	    Mix_PlayMusic(musics[MUS_GAME + (rand() % 3)], 0);
+      }  
+    }
+#endif
+
+
+
+      /* Pause (keep frame-rate event) */
+    now_time = SDL_GetTicks();
+    if (now_time < last_time + MS_PER_FRAME)
+    {
+      //Prevent any possibility of a time wrap-around
+      // (this is a very unlikely problem unless there is an SDL bug
+      //  or you leave tuxmath running for 49 days...)
+      now_time = (last_time+MS_PER_FRAME) - now_time;  // this holds the delay
+      if (now_time > MS_PER_FRAME)
+	now_time = MS_PER_FRAME;
+      SDL_Delay(now_time);
+    }
+  }
+}
+
+void fractions(void){return;}
+
+static int FF_init(void){
+  int i;
+  SDL_FillRect(screen, NULL, SDL_MapRGB(screen->format, 0, 0, 0));
+  SDL_Flip(screen);
+  bkg_h=(images[BG_STARS]->h)>>1;
+  bgSrc.y=((images[BG_STARS]->h)>>1)-bkg_h;
+  bgSrc.x=0;
+  bgSrc.w=screen->w;
+  bgSrc.h=screen->h;
+  
+  game_status = GAME_IN_PROGRESS;  
+  
+  // Allocate memory 
+  asteroid = NULL;  // set in case allocation fails partway through
+  
+  asteroid = (asteroid_type *) malloc(MAX_ASTEROIDS * sizeof(asteroid_type));
+  if (asteroid == NULL) {
+    printf("Allocation of asteroids failed");
+    return 0;
+  }
+  NUM_ASTEROIDS=4;
+  FF_add_level();
+  tuxship.x=((screen->w)/2)-20;
+  tuxship.y=((screen->h)/2)-20;
+  tuxship.lives=TUXSHIP_LIVES;
+  tuxship.angle=90;
+  tuxship.xspeed=0;
+  tuxship.yspeed=0;
+  tuxship.centerx=(images[IMG_SHIP01]->w)/2;
+  tuxship.centery=(images[IMG_SHIP01]->h)/2;
+  shoot_pressed=0;
+  score=0;
+  for (i=0; i<MAX_LASER; i++)
+    laser[i].alive=0;
+  return 1;
+}
+
+
+static void FF_intro(void){}
+
+static void FF_handle_ship(void){
+
+/****************** Ship center... ******************/
+
+  tuxship.centerx=((images[IMG_SHIP01]->w)/2)+tuxship.x;
+  tuxship.centery=((images[IMG_SHIP01]->h)/2)+tuxship.y;  
+
+/******************* Extra live *********************/
+
+  if ((wave%5==0) || (score%100==0))
+    tuxship.lives++;
+ 
+/****************** Rotate Ship *********************/
+
+  if (right_pressed)
+  {
+    tuxship.angle=tuxship.angle - 30;
+    if (tuxship.angle < 0)
+      tuxship.angle = tuxship.angle + 360;
+  }
+  else if (left_pressed)
+  {
+    tuxship.angle=tuxship.angle + 30;
+    if (tuxship.angle >= 360)
+      tuxship.angle = tuxship.angle - 360;
+  }
+
+/**************** Move, and increse speed ***************/
+
+      
+  if (up_pressed && (tuxship.lives>0))
+  {
+     tuxship.xspeed = tuxship.xspeed + ((fast_cos(tuxship.angle >> 3) * 3) >> 10);
+     tuxship.yspeed = tuxship.yspeed - ((fast_sin(tuxship.angle >> 3) * 3) >> 10);
+  }
+  else
+  {
+    if ((counter % 8) == 0)
+    {
+       tuxship.xspeed = (tuxship.xspeed * 7) / 8;
+       tuxship.yspeed = (tuxship.yspeed * 7) / 8;
+    }
+  }
+
+  tuxship.x = tuxship.x + tuxship.xspeed;
+  tuxship.y = tuxship.y + tuxship.yspeed;
+
+/*************** Wrap ship around edges of screen ****************/
+  
+  if(tuxship.x >= (screen->w))
+    tuxship.x = tuxship.x - (screen->w);
+  else if (tuxship.x < -60)
+    tuxship.x = tuxship.x + (screen->w);
+      
+  if(tuxship.y >= (screen->h))
+    tuxship.y = tuxship.y - (screen->h);
+  else if (tuxship.y < -60)
+	tuxship.y = tuxship.y + (screen->h);
+/**************** Shoot ***************/   
+  if(shoot_pressed)
+  {
+    FF_add_laser();
+    shoot_pressed=0;
+  }
+}
+
+
+static void FF_handle_asteroids(void){
+
+  int i, found=0;
+      for (i = 0; i < MAX_ASTEROIDS; i++){
+	  if (asteroid[i].alive)
+	    {
+
+	      found=1;
+
+              /**************Move the astroids ****************/
+
+	      asteroid[i].x = asteroid[i].x + asteroid[i].xspeed;
+	      asteroid[i].y = asteroid[i].y + asteroid[i].yspeed;
+	      
+	      // Wrap asteroid around edges of screen: 
+	      
+	      if (asteroid[i].x >= (screen->w))
+		asteroid[i].x = asteroid[i].x - (screen->w);
+	      else if (asteroid[i].x < 0)
+		asteroid[i].x = asteroid[i].x + (screen->w);
+	      
+	      if (asteroid[i].y >= (screen->h))
+		asteroid[i].y = asteroid[i].y - (screen->h);
+	      else if (asteroid[i].y < 0)
+		asteroid[i].y = asteroid[i].y + (screen->h);
+	      
+	      
+	      // Rotate asteroid: 
+	      
+	      asteroid[i].angle = (asteroid[i].angle + asteroid[i].angle_speed);
+	      
+	      
+	      // Wrap rotation angle... 
+	      
+	      if (asteroid[i].angle < 0)
+		asteroid[i].angle = asteroid[i].angle + 360;
+	      else if (asteroid[i].angle >= 360)
+		asteroid[i].angle = asteroid[i].angle - 360;
+            // Collitions!
+              if(asteroid[i].size<=2){
+	         if(tuxship.x+30<asteroid[i].x+80 && 
+                    tuxship.x+30>asteroid[i].x && 
+                    tuxship.y+30<asteroid[i].y+80 && 
+                    tuxship.y+30>asteroid[i].y &&
+                    tuxship.lives>0 &&
+                    asteroid[i].alive){ 
+
+		      tuxship.lives--;
+		      FF_destroy_asteroid(i, tuxship.xspeed, tuxship.yspeed);
+
+                }
+	    }
+         }
+     }
+  if(!found)
+    FF_add_level();
+}
+
+static void FF_handle_answer(void)
+{
+  
+  num = (digits[0] * 100 +
+         digits[1] * 10 +
+         digits[2]);
+  /* negative answer support DSB */
+  if (neg_answer_picked)
+  {
+    num = -num;
+  }	
+
+  if (!doing_answer)
+  {
+    return;
+  }
+  
+  doing_answer = 0;
+  
+    /* Clear digits: */
+  digits[0] = 0;
+  digits[1] = 0;
+  digits[2] = 0;
+  neg_answer_picked = 0;
+
+}
+
+static void FF_draw(void){
+  SDL_Rect dest;
+  int i, offset;
+  char str[64];
+  
+  SDL_FillRect(screen, NULL, SDL_MapRGB(screen->format, 0, 0, 0));
+
+  /************ Draw Background ***************/ 
+
+  SDL_BlitSurface(images[BG_STARS], NULL, screen, NULL);
+  //if(bgSrc.y>bkg_h)
+  //  SDL_BlitSurface(images[BG_STARS], NULL, screen, &bgScreen);
+/******************* Draw laser *************************/
+  for (i=0;i<MAX_LASER;i++){
+    if(laser[i].alive)
+    {
+      if(laser[i].count>0)
+      {
+        laser[i].count--;
+        draw_line(laser[i].x, laser[i].y, laser[i].destx, laser[i].desty, 255, 0, 0);
+      } else if (laser[i].count <= 0)
+      {
+        laser[i].alive=0;
+      }
+    }
+  }
+  /*************** Draw Ship ******************/ 
+  dest.x=tuxship.x;
+  dest.y=tuxship.y;
+  for(i=0;i<12;i++)
+    if((i*30<=tuxship.angle) && (tuxship.angle<((i*30)+30)))
+       SDL_BlitSurface(images[IMG_SHIP01+i], NULL, screen, &dest);
+ 
+  /************* Draw Asteroids ***************/
+  for(i=0; i<NUM_ASTEROIDS; i++){
+    if(asteroid[i].alive>0){
+     dest.x=asteroid[i].x;
+     dest.y=asteroid[i].y;
+     if(asteroid[i].size==0){
+        SDL_BlitSurface(images[IMG_ASTEROID1], NULL, screen, &dest);
+     }
+     if(asteroid[i].size==1){
+        SDL_BlitSurface(images[IMG_ASTEROID2], NULL, screen, &dest);
+     }
+     if(asteroid[i].size==2){
+        SDL_BlitSurface(images[IMG_ASTEROID2], NULL, screen, &dest);
+     }
+     sprintf(str, "%.1d", asteroid[i].fact_number);
+     draw_numbers(str, asteroid[i].x,asteroid[i].y);
+    }
+  }
+  /*************** Draw Strem ***************/
+  
+  if(isdead)
+  {
+    dest.x=xdead;
+    dest.y=ydead;
+    SDL_BlitSurface(images[IMG_STEAM1+countdead], NULL, screen, &dest);
+    countdead++;
+    if(countdead>5){
+      isdead=0;
+      countdead=0;
+    }
+  }
+  /* Draw wave: */
+  if (1)//Opts_BonusCometInterval())
+    offset = images[IMG_EXTRA_LIFE]->w + 5;
+  else
+    offset = 0;
+
+  dest.x = offset;
+
+  dest.y = 0;
+  dest.w = images[IMG_WAVE]->w;
+  dest.h = images[IMG_WAVE]->h;
+
+  SDL_BlitSurface(images[IMG_WAVE], NULL, screen, &dest);
+
+  sprintf(str, "%d", wave);
+  draw_numbers(str, offset+images[IMG_WAVE]->w + (images[IMG_NUMBERS]->w / 10), 0);
+
+  /* Draw "score" label: */
+  dest.x = (screen->w - ((images[IMG_NUMBERS]->w / 10) * 7) -
+	        images[IMG_SCORE]->w -
+                images[IMG_STOP]->w - 5);
+  dest.y = 0;
+  dest.w = images[IMG_SCORE]->w;
+  dest.h = images[IMG_SCORE]->h;
+
+  SDL_BlitSurface(images[IMG_SCORE], NULL, screen, &dest);
+        
+  sprintf(str, "%.6d", score);
+  draw_numbers(str,
+               screen->w - ((images[IMG_NUMBERS]->w / 10) * 6) - images[IMG_STOP]->w - 5,
+               0);
+
+  /* Draw stop button: */
+//  if (!help_controls.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 pre answer ************/
+
+  
+    sprintf(str, "%.3d", num);
+    draw_numbers(str, ((screen->w)/2)-50, (screen->h)-30);
+ 
+ 
+  /************ Doublebuffering.. ***********/
+  SDL_Flip(screen);
+
+}
+
+static void FF_add_level(void)
+{
+  int i;
+  wave++;
+  NUM_ASTEROIDS=NUM_ASTEROIDS+wave;
+  for (i=0; i<MAX_ASTEROIDS; i++)
+    asteroid[i].alive=0;
+  for (i=0; (i<(NUM_ASTEROIDS/2)) && NUM_ASTEROIDS<MAX_ASTEROIDS; i++){
+   
+   //int FF_add_asteroid(int x, int y, int xspeed, int yspeed, int size, int angle, int angle_speed, int fact_number)
+   FF_add_asteroid(rand()%(screen->w), rand()%(screen->h),
+		   rand()%4, rand()%3,
+                   rand()%2, 
+		   0, 3,
+                   (rand()%(31+(wave*2))));
+
+   FF_add_asteroid(rand()%(screen->w), rand()%(screen->h),
+		   (-1*rand()%4), (-1*rand()%3),
+                   rand()%2, 
+		   0, 3,
+                   (rand()%(31+(wave*2))));
+   } 
+   if((NUM_ASTEROIDS%2)==1){
+     
+       FF_add_asteroid(rand()%(screen->w), rand()%(screen->h),
+		   (-1*rand()%4), (-1*rand()%3),
+                   rand()%2, 
+		   0, 3,
+                   (rand()%(31+(wave*2))));
+   }
+}
+
+static void FF_loose(void){}
+static void FF_win(void){}
+
+static void FF_exit_free()
+{
+ free(asteroid);
+}
+
+/******************* Math Funcs ***********************/
+
+/* Return 1 if the number is prime and 0 if its not */
+int is_prime(int num)
+{
+  int i;
+  //int divisor=2;
+  if (num==0 || num==1 || num==-1) return 1;
+  else if (num>0)
+  {
+    for(i=2; i<num; i++)
+    {
+      if(num%i==0) return 0; 
+    }
+  }
+  else if (num<0)
+  {
+    for(i=2; i>num; i--)
+    {
+      if(num%i==0) return 0; 
+    } 
+  }
+  return 1;
+}
+
+/*** Fast cos by Bill***/
+
+int fast_cos(int angle)
+{
+  angle = (angle % 45);
+  
+  if (angle < 12)
+    return(trig[angle]);
+  else if (angle < 23)
+    return(-trig[10 - (angle - 12)]);
+  else if (angle < 34)
+    return(-trig[angle - 22]);
+  else
+    return(trig[45 - angle]);
+}
+
+
+/*** Sine based on fast cosine..., by Bill ***/
+
+int fast_sin(int angle)
+{
+  return(- fast_cos((angle + 11) % 45));
+}
+
+/******************* LASER FUNCTIONS *********************/
+
+/*Return -1 if no laser is avable*/
+int FF_add_laser(void)
+{
+  int i, k;
+  int dx,dy;
+  int xcount, ycount;
+  float m, b;
+  for(i=0; i<=MAX_LASER; i++)
+  {
+    if(laser[i].alive==0)
+    {
+      laser[i].alive=1;
+      laser[i].x=tuxship.centerx;
+      laser[i].y=tuxship.centery;
+      laser[i].angle=tuxship.angle;
+      laser[i].count=7;
+
+      if(laser[i].angle>=0 && laser[i].angle<=360)
+      {
+	laser[i].m     = (int)sin((float)laser[i].angle * DEG_TO_RAD);
+	laser[i].destx = laser[i].x + (int)(cos((float)laser[i].angle * DEG_TO_RAD) * 1400);
+	laser[i].desty = laser[i].y - (int)(sin((float)laser[i].angle * DEG_TO_RAD) * 1400);
+	
+	xcount = laser[i].x;
+	ycount = laser[i].y;
+
+	dx = laser[i].destx - xcount;
+	dy = laser[i].desty - ycount;
+	if (dx != 0)
+	{
+
+    	  m = ((float) dy) / ((float) dx);
+	  b = ycount  - m * xcount;
+
+	  if (laser[i].destx > xcount) dx = 1;
+	  else dx = -1;
+
+	  while (xcount != laser[i].destx)
+	  {
+            xcount = xcount + dx;
+	    ycount = m * xcount + b;
+	    for(k=0; k<MAX_ASTEROIDS; k++)
+	    {
+		if(xcount<asteroid[k].x+70 && 
+                   xcount>asteroid[k].x && 
+                   ycount<asteroid[k].y+70 && 
+                   ycount>asteroid[k].y &&
+                   asteroid[k].alive)
+	        {
+                   if(asteroid[k].isprime)
+ 		   {
+		     isdead=1;
+		     xdead=asteroid[k].x;
+		     ydead=asteroid[k].y;
+		     if(tuxship.x<asteroid[k].x)
+		       FF_destroy_asteroid(k, m, m);
+		     if(tuxship.x>=asteroid[k].x)
+		       FF_destroy_asteroid(k, -m, m);
+
+		     laser[i].destx=xcount;
+		     laser[i].desty=ycount;
+		     return 1;
+		   }
+                   if (num!=0)
+		   {  
+                     if(((asteroid[k].fact_number%num)==0) && (num!=asteroid[k].fact_number))
+		     {
+		       isdead=1;
+		       xdead=asteroid[k].x;
+		       ydead=asteroid[k].y;
+		       if(tuxship.x<asteroid[k].x)
+		         FF_destroy_asteroid(k, m, m);
+		       if(tuxship.x>=asteroid[k].x)
+		         FF_destroy_asteroid(k, -m, m);
+		       score=score+num;
+		       laser[i].destx=xcount;
+		       laser[i].desty=ycount;
+		       return 1;
+		     }
+		   }
+	         } 
+               }
+	    }
+	  }
+	  else
+	  {
+ 	   while (ycount != laser[i].desty)
+	   {
+   	     if (laser[i].desty > ycount) dy = 1;
+	     else dy = -1;
+             ycount=ycount+dy;
+  	     for(k=0; k<MAX_ASTEROIDS; k++)
+	     {
+                 if(xcount<asteroid[k].x+70 && 
+                   xcount>asteroid[k].x && 
+                   ycount<asteroid[k].y+70 && 
+                   ycount>asteroid[k].y &&
+                   asteroid[k].alive)
+	         {
+                   if(asteroid[k].isprime)
+ 		   {
+		     isdead=1;
+		     xdead=asteroid[k].x;
+		     ydead=asteroid[k].y;
+		     if(tuxship.x<asteroid[k].x)
+		       FF_destroy_asteroid(k, m, m);
+		     if(tuxship.x>=asteroid[k].x)
+		       FF_destroy_asteroid(k, -m, m);
+
+		     laser[i].destx=xcount;
+		     laser[i].desty=ycount;
+		     return 1;
+		   }
+                  if (num!=0)
+		  {  
+		   if(((asteroid[k].fact_number%num)==0) && (num!=asteroid[k].fact_number))
+		   {
+
+		     isdead=1;
+		     xdead=asteroid[k].x;
+		     ydead=asteroid[k].y;
+		     if(tuxship.x<asteroid[k].x)
+		       FF_destroy_asteroid(k, m, m);
+		     if(tuxship.x>=asteroid[k].x)
+		       FF_destroy_asteroid(k, -m, m);
+		     score=score+num;
+		     laser[i].destx=xcount;
+		     laser[i].desty=ycount;
+		     return 1;
+		   }
+	        }
+	      }
+            }
+	  }
+      }
+
+      return 1;
+    }
+   }
+  }
+  fprintf(stderr, "Laser could't be created!\n");
+  return -1;
+}
+
+/******************* ASTEROIDS FUNCTIONS *******************/
+
+
+
+static int FF_add_asteroid(int x, int y, int xspeed, int yspeed, int size, int angle, int angle_speed, int fact_number)
+{
+  int i;
+  for(i=0; i<MAX_ASTEROIDS; i++){
+    if(asteroid[i].alive==0)
+    {
+      asteroid[i].alive=1;
+      asteroid[i].x=x;
+      asteroid[i].y=y;
+      asteroid[i].xspeed=xspeed;
+      asteroid[i].yspeed=yspeed;
+      asteroid[i].angle=angle;
+      asteroid[i].angle_speed=angle_speed;
+      asteroid[i].fact_number=fact_number;
+      asteroid[i].isprime=is_prime(fact_number);
+      
+      if(asteroid[i].isprime)
+      {
+        asteroid[i].size=0;
+        asteroid[i].centerx=x+30;
+        asteroid[i].centery=y+30;
+      }
+      else if(!asteroid[i].isprime)
+      {
+        asteroid[i].size=1;
+        asteroid[i].centerx=x+40;
+        asteroid[i].centery=y+40;
+      }
+       
+      while (asteroid[i].xspeed==0)
+      {
+        asteroid[i].xspeed = (rand() % 3) - 1;
+      }
+      return 1;
+    }
+  }
+  fprintf(stderr, "Asteroid could't be created!\n");
+  return -1;
+}
+
+int FF_destroy_asteroid(int i, int xspeed, int yspeed)
+{
+  if(asteroid[i].alive==1){
+     if(asteroid[i].size>0){
+      /* Break the rock into two smaller ones! */
+      if(num!=0){
+        FF_add_asteroid(asteroid[i].x,
+	  	   asteroid[i].y,
+	  	   ((asteroid[i].xspeed + xspeed) / 2),
+	  	   (asteroid[i].yspeed + yspeed),
+	  	   0,
+	  	   0, 0, (int)(asteroid[i].fact_number/num));
+      
+        FF_add_asteroid(asteroid[i].x,
+	  	   asteroid[i].y,
+	  	   (asteroid[i].xspeed + xspeed),
+	  	   ((asteroid[i].yspeed + yspeed) / 2),
+	  	   0,
+	  	   0, 0, num);
+      } 
+    }
+
+    /* Destroy the old asteroid */
+
+    asteroid[i].alive=0;		  
+    playsound(SND_EXPLOSION);
+    return 1;
+  }
+  return 0;
+}
+
+/*******************************************************************************/
+/************************* FROM game.c FUTURE GLOBAL FUNCS! ********************/
+/*******************************************************************************/
+
+
+/* Draw status numbers: */
+void draw_numbers(const char* str, int x, int y)
+{
+  int i, cur_x, c;
+  SDL_Rect src, dest;
+
+
+  cur_x = x;
+
+
+  /* Draw each character: */
+  
+  for (i = 0; i < strlen(str); i++)
+    {
+      c = -1;
+
+
+      /* Determine which character to display: */
+      
+      if (str[i] >= '0' && str[i] <= '9')
+	c = str[i] - '0';
+      
+
+      /* Display this character! */
+      
+      if (c != -1)
+	{
+	  src.x = c * (images[IMG_NUMBERS]->w / 10);
+	  src.y = 0;
+	  src.w = (images[IMG_NUMBERS]->w / 10);
+	  src.h = images[IMG_NUMBERS]->h;
+	  
+	  dest.x = cur_x;
+	  dest.y = y;
+	  dest.w = src.w;
+	  dest.h = src.h;
+	  
+	  SDL_BlitSurface(images[IMG_NUMBERS], &src,
+			  screen, &dest);
+
+
+          /* Move the 'cursor' one character width: */
+
+	  cur_x = cur_x + (images[IMG_NUMBERS]->w / 10);
+	}
+    }
+}
+
+
+void draw_line(int x1, int y1, int x2, int y2, int red, int grn, int blu){
+  int dx, dy, tmp;
+  float m, b;
+  Uint32 pixel;
+  SDL_Rect dest;
+ 
+  pixel = SDL_MapRGB(screen->format, red, grn, blu);
+
+  dx = x2 - x1;
+  dy = y2 - y1;
+
+  putpixel(screen, x1, y1, pixel);
+  
+  if (dx != 0)
+  {
+    m = ((float) dy) / ((float) dx);
+    b = y1 - m * x1;
+
+    if (x2 > x1) dx = 1;
+    else dx = -1;
+
+    while (x1 != x2)
+    {
+      x1 = x1 + dx;
+      y1 = m * x1 + b;
+      
+      putpixel(screen, x1, y1, pixel);
+    }
+  }
+  else
+  {
+    if (y1 > y2)
+    {
+      tmp = y1;
+      y1 = y2;
+      y2 = tmp;
+    }
+    
+    dest.x = x1;
+    dest.y = y1;
+    dest.w = 3;
+    dest.h = y2 - y1;
+
+    SDL_FillRect(screen, &dest, pixel);
+  }
+}
+
+void putpixel(SDL_Surface* surface, int x, int y, Uint32 pixel)
+{
+#ifdef PUTPIXEL_RAW
+  int bpp;
+  Uint8* p;
+  
+  /* Determine bytes-per-pixel for the surface in question: */
+  
+  bpp = surface->format->BytesPerPixel;
+  
+  
+  /* Set a pointer to the exact location in memory of the pixel
+     in question: */
+  
+  p = (Uint8 *) (surface->pixels +       /* Start at beginning of RAM */
+                 (y * surface->pitch) +  /* Go down Y lines */
+                 (x * bpp));             /* Go in X pixels */
+  
+  
+  /* Assuming the X/Y values are within the bounds of this surface... */
+  
+  if (x >= 0 && y >= 0 && x < surface->w && y < surface->h)
+    {
+      /* Set the (correctly-sized) piece of data in the surface's RAM
+         to the pixel value sent in: */
+      
+      if (bpp == 1)
+        *p = pixel;
+      else if (bpp == 2)
+        *(Uint16 *)p = pixel;
+      else if (bpp == 3)
+        {
+          if (SDL_BYTEORDER == SDL_BIG_ENDIAN)
+            {
+              p[0] = (pixel >> 16) & 0xff;
+              p[1] = (pixel >> 8) & 0xff;
+              p[2] = pixel & 0xff;
+            }
+          else
+            {
+              p[0] = pixel & 0xff;
+              p[1] = (pixel >> 8) & 0xff;
+              p[2] = (pixel >> 16) & 0xff;
+            }
+        }
+      else if (bpp == 4)
+        {
+          *(Uint32 *)p = pixel;
+        }
+    }
+#else
+  SDL_Rect dest;
+
+  dest.x = x;
+  dest.y = y;
+  dest.w = 3;
+  dest.h = 4;
+
+  SDL_FillRect(surface, &dest, pixel);
+#endif
+}
+
+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())
+  {
+    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)
+      {
+        SDL_quit_received = 1;
+ 	pause_quit = 1;
+      }
+    }
+
+    SDL_Delay(100);
+  }
+  while (!pause_done && !pause_quit);
+
+
+#ifndef NOSOUND
+  if (Opts_UsingSound())
+    Mix_ResumeMusic();
+#endif
+
+  return (pause_quit);
+}  
+
+
+
+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;
+      done = 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! 
+	            done = 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;
+    	  }
+  	}
+  /* The rest of the keys control the numeric answer console: */
+	      
+  if (key >= SDLK_0 && key <= SDLK_9)
+  {
+    /* [0]-[9]: Add a new digit: */
+    digits[0] = digits[1];
+    digits[1] = digits[2];
+    digits[2] = key - SDLK_0;
+    tux_pressing = 1;
+    playsound(SND_SHIELDSDOWN);
+  }
+  else if (key >= SDLK_KP0 && key <= SDLK_KP9)
+  {
+    /* Keypad [0]-[9]: Add a new digit: */
+    digits[0] = digits[1];
+    digits[1] = digits[2];
+    digits[2] = key - SDLK_KP0;
+    tux_pressing = 1;
+    playsound(SND_SHIELDSDOWN);
+  }
+  /* support for negative answer input DSB */
+  else if ((key == SDLK_MINUS || key == SDLK_KP_MINUS)
+        && MC_AllowNegatives())  /* do nothing unless neg answers allowed */
+  {
+    /* allow player to make answer negative: */
+    neg_answer_picked = 1;
+    tux_pressing = 1;
+    playsound(SND_SHIELDSDOWN);
+  }
+  else if ((key == SDLK_PLUS || key == SDLK_KP_PLUS)
+         && MC_AllowNegatives())  /* do nothing unless neg answers allowed */
+  {
+    /* allow player to make answer positive: */
+    neg_answer_picked = 0;
+    tux_pressing = 1;
+    playsound(SND_SHIELDSDOWN);
+  }
+  else if (key == SDLK_BACKSPACE ||
+           key == SDLK_CLEAR ||
+	   key == SDLK_DELETE)
+  {
+    /* [BKSP]: Clear digits! */
+    digits[0] = 0;
+    digits[1] = 0;
+    digits[2] = 0;
+    tux_pressing = 1;
+    playsound(SND_SHIELDSDOWN);
+  }
+ 	else if (key == SDLK_RETURN ||
+        	   key == SDLK_KP_ENTER ||
+		   key == SDLK_SPACE)
+ 	 {
+	       shoot_pressed = 1;
+               doing_answer = 1;
+	       playsound(SND_LASER);
+  }
+
+
+	  }
+      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;
+	    }
+	}
+    }
+
+#ifdef JOY_YES
+	  else if (event.type == SDL_JOYBUTTONDOWN &&
+		   player_alive)
+	    {
+	      if (event.jbutton.button == JOY_B)
+		{
+                  shoot_pressed = 1;
+		}
+	      else if (event.jbutton.button == JOY_A)
+		{
+		  // Thrust:
+		  
+		  up_pressed = 1;
+		}
+	      else
+		{
+		  shift_pressed = 1;
+		}
+	    }
+	  else if (event.type == SDL_JOYBUTTONUP)
+	    {
+	      if (event.jbutton.button == JOY_A)
+		{
+		  // Stop thrust: 
+		  
+		  up_pressed = 0;
+		}
+	      else if (event.jbutton.button != JOY_B)
+		{
+		  shift_pressed = 0;
+		}
+	    }
+	  else if (event.type == SDL_JOYAXISMOTION)
+	    {
+	      if (event.jaxis.axis == JOY_X)
+		{
+		  if (event.jaxis.value < -256)
+		    {
+		      left_pressed = 1;
+		      right_pressed = 0;
+		    }
+		  else if (event.jaxis.value > 256)
+		    {
+		      left_pressed = 0;
+		      right_pressed = 1;
+		    }
+		  else
+		    {
+		      left_pressed = 0;
+		      right_pressed = 0;
+		    }
+		}
+	  }
+#endif
+
+    }
+  
+}
+
+int game_mouse_event(SDL_Event event)
+{
+  int keypad_w, keypad_h, x, y, row, column;
+  SDLKey key = SDLK_UNKNOWN;
+
+  keypad_w = 0;
+  keypad_h = 0;
+
+  /* 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;
+    done = 1;
+    quit = 1;
+    return -1;
+  } 
+
+  /* get out unless we really are using keypad */
+  if ( level_start_wait 
+    || Opts_DemoMode()
+    || !Opts_UseKeypad())
+  {
+    return -1;
+  }
+
+
+  /* make sure keypad image is valid and has non-zero dimensions: */
+  /* FIXME maybe this checking should be done once at the start */
+  /* of game() rather than with every mouse click */
+  if (MC_AllowNegatives())
+  {
+    if (!images[IMG_KEYPAD])
+      return -1;
+    else
+    {
+      keypad_w = images[IMG_KEYPAD]->w;
+      keypad_h = images[IMG_KEYPAD]->h;
+    }
+  }
+  else
+  {
+    if (!images[IMG_KEYPAD_NO_NEG])
+      return -1;
+    else
+    {
+      keypad_w = images[IMG_KEYPAD]->w;
+      keypad_h = images[IMG_KEYPAD]->h;
+    }
+  }
+ 
+  if (!keypad_w || !keypad_h)
+  {
+    return -1;
+  }
+
+  
+  /* only proceed if click falls within keypad: */
+  if (!((event.button.x >=
+        (screen->w / 2) - (keypad_w / 2) &&
+        event.button.x <=
+        (screen->w / 2) + (keypad_w / 2) &&
+        event.button.y >= 
+        (screen->h / 2) - (keypad_h / 2) &&
+        event.button.y <=
+        (screen->h / 2) + (keypad_h / 2))))
+  /* click outside of keypad - do nothing */
+  {
+    return -1;
+  }
+  
+  else /* click was within keypad */ 
+  {
+    x = (event.button.x - ((screen->w / 2) - (keypad_w / 2)));
+    y = (event.button.y - ((screen->h / 2) - (keypad_h / 2)));
+ 
+  /* Now determine what onscreen key was pressed */
+  /*                                             */
+  /* The on-screen keypad has a 4 x 4 layout:    */
+  /*                                             */
+  /*    *********************************        */
+  /*    *       *       *       *       *        */
+  /*    *   7   *   8   *   9   *   -   *        */
+  /*    *       *       *       *       *        */
+  /*    *********************************        */
+  /*    *       *       *       *       *        */
+  /*    *   4   *   5   *   6   *       *        */
+  /*    *       *       *       *       *        */
+  /*    *************************   +   *        */
+  /*    *       *       *       *       *        */
+  /*    *   1   *   2   *   3   *       *        */
+  /*    *       *       *       *       *        */
+  /*    *********************************        */
+  /*    *       *                       *        */
+  /*    *   0   *         Enter         *        */
+  /*    *       *                       *        */
+  /*    *********************************        */
+  /*                                             */
+  /*  The following code simply figures out the  */
+  /*  row and column based on x and y and looks  */
+  /*  up the SDlKey accordingly.                 */
+
+    column = x/((keypad_w)/4);
+    row    = y/((keypad_h)/4);
+
+    /* make sure row and column are sane */
+    if (column < 0
+     || column > 3
+     || row    < 0
+     || row    > 3)
+    {
+      printf("\nIllegal row or column value!\n");
+      return -1;
+    }
+
+    /* simple but tedious - I am sure this could be done more elegantly */
+
+    if (0 == row)
+    {
+      if (0 == column)
+        key = SDLK_7;
+      if (1 == column)
+        key = SDLK_8;
+      if (2 == column)
+        key = SDLK_9;
+      if (3 == column)
+        key = SDLK_MINUS;
+    } 
+    if (1 == row)
+    {
+      if (0 == column)
+        key = SDLK_4;
+      if (1 == column)
+        key = SDLK_5;
+      if (2 == column)
+        key = SDLK_6;
+      if (3 == column)
+        key = SDLK_PLUS;
+    }     
+    if (2 == row)
+    {
+      if (0 == column)
+        key = SDLK_1;
+      if (1 == column)
+        key = SDLK_2;
+      if (2 == column)
+        key = SDLK_3;
+      if (3 == column)
+        key = SDLK_PLUS;
+    } 
+    if (3 == row)
+    {
+      if (0 == column)
+        key = SDLK_0;
+      if (1 == column)
+        key = SDLK_RETURN;
+      if (2 == column)
+        key = SDLK_RETURN;
+      if (3 == column)
+        key = SDLK_RETURN;
+    }     
+
+    if (key == SDLK_UNKNOWN)
+    {
+      return -1;
+    }
+
+    /* now can proceed as if keyboard was used */
+    //game_key_event(key);
+    return key;
+  }
+}
+
+/* called by either key presses or mouse clicks on */
+/* on-screen keypad */
+
+
+/***************** END OF game.c FUNCS! *********************/
+/************** MODIFIED FUNCS FROM game.c ******************/
+
+int check_exit_conditions(void)
+{
+  if(SDL_quit_received)
+  {
+    return GAME_OVER_WINDOW_CLOSE;
+  }
+
+  if(escape_received)
+  {
+    return GAME_OVER_ESCAPE;
+  }
+  if(tuxship.lives<=0)
+  {
+     GAME_OVER_LOST;
+  }
+  /* determine if game lost (i.e. all cities blown up): */
+  /*if (!num_cities_alive)
+  {
+    if (gameover_counter < 0)
+      gameover_counter = GAMEOVER_COUNTER_START;
+    gameover_counter--;
+    if (gameover_counter == 0)
+      return GAME_OVER_LOST;
+  }*/
+  
+  /* determine if game won (i.e. all questions in mission answered correctly): */
+  /*if (MC_MissionAccomplished())
+  {
+    return GAME_OVER_WON;
+  }*/
+
+  /* Could have situation where mathcards doesn't have more questions */
+  /* even though not all questions answered correctly:                */
+  /*if (!MC_TotalQuestionsLeft())
+  {
+    return GAME_OVER_OTHER;
+  }*/
+
+  /* Need to get out if no comets alive and MathCards has no questions left in list, */
+  /* even though MathCards thinks there are still questions "in play".  */
+  /* This SHOULD NOT HAPPEN and means we have a bug somewhere. */
+ /* if (!MC_ListQuestionsLeft() && !num_comets_alive)
+  {
+    #ifdef TUXMATH_DEBUG
+    printf("\nListQuestionsLeft() = %d", MC_ListQuestionsLeft());
+    printf("\nnum_comets_alive = %d", num_comets_alive);
+    #endif 
+    return GAME_OVER_ERROR;
+  }
+  */
+  /* If using demo mode, see if counter has run out: */ 
+  /*if (Opts_DemoMode())
+  {
+    if (demo_countdown <= 0 )
+      return GAME_OVER_OTHER;
+  }*/
+
+  /* if we made it to here, the game goes on! */
+  return GAME_IN_PROGRESS;
+}

Added: tuxmath/branches/factroids/src/factroids.h
===================================================================
--- tuxmath/branches/factroids/src/factroids.h	                        (rev 0)
+++ tuxmath/branches/factroids/src/factroids.h	2008-07-03 06:05:59 UTC (rev 559)
@@ -0,0 +1,24 @@
+/************************************************************
+ *  factroids.h                                             *
+ *                                                          *
+ *  Description: Contains headers for the fractor and       *
+ *               fraction activities.                       *
+ *                                                          *
+ *  Autor:       Jesus M. Mager H. (fongog at gmail.com) 2008  *
+ *  Copyright:   GPL v3 or later                            *
+ *                                                          *
+ *  TuxMath                                                 *
+ *  Part of "Tux4Kids" Project                              *
+ *  http://tux4kids.alioth.debian.org/                      *
+ ************************************************************/
+
+#ifndef FACTROIDS_H
+#define FACTROIDS_H
+
+// Used in titleecreen.c
+
+int factors(void);
+int fractions(void);
+
+
+#endif
\ No newline at end of file

Modified: tuxmath/branches/factroids/src/fileops.c
===================================================================
--- tuxmath/branches/factroids/src/fileops.c	2008-07-03 02:58:56 UTC (rev 558)
+++ tuxmath/branches/factroids/src/fileops.c	2008-07-03 06:05:59 UTC (rev 559)
@@ -2988,7 +2988,23 @@
   DATA_PREFIX "/images/status/stop.png",
   DATA_PREFIX "/images/status/numbers.png",
   DATA_PREFIX "/images/status/gameover.png",
-  DATA_PREFIX "/images/status/gameover_won.png"
+  DATA_PREFIX "/images/status/gameover_won.png",
+  DATA_PREFIX "/images/factroids/gbstars.png",
+  DATA_PREFIX "/images/factroids/asteroid1.png",
+  DATA_PREFIX "/images/factroids/asteroid2.png",
+  DATA_PREFIX "/images/factroids/asteroid3.png",
+  DATA_PREFIX "/images/factroids/ship01.png",
+  DATA_PREFIX "/images/factroids/ship02.png",
+  DATA_PREFIX "/images/factroids/ship03.png",
+  DATA_PREFIX "/images/factroids/ship04.png",
+  DATA_PREFIX "/images/factroids/ship05.png",
+  DATA_PREFIX "/images/factroids/ship06.png",
+  DATA_PREFIX "/images/factroids/ship07.png",
+  DATA_PREFIX "/images/factroids/ship08.png",
+  DATA_PREFIX "/images/factroids/ship09.png",
+  DATA_PREFIX "/images/factroids/ship10.png",
+  DATA_PREFIX "/images/factroids/ship11.png",
+  DATA_PREFIX "/images/factroids/ship12.png"
   };
 
   /* Load images: */

Modified: tuxmath/branches/factroids/src/fileops.h
===================================================================
--- tuxmath/branches/factroids/src/fileops.h	2008-07-03 02:58:56 UTC (rev 558)
+++ tuxmath/branches/factroids/src/fileops.h	2008-07-03 06:05:59 UTC (rev 559)
@@ -185,6 +185,22 @@
   IMG_NUMBERS,
   IMG_GAMEOVER,
   IMG_GAMEOVER_WON,
+  BG_STARS,
+  IMG_ASTEROID1,
+  IMG_ASTEROID2,
+  IMG_ASTEROID3,
+  IMG_SHIP01,
+  IMG_SHIP02,
+  IMG_SHIP03,
+  IMG_SHIP04,
+  IMG_SHIP05,
+  IMG_SHIP06,
+  IMG_SHIP07,
+  IMG_SHIP08,
+  IMG_SHIP09,
+  IMG_SHIP10,
+  IMG_SHIP11,
+  IMG_SHIP12,
   NUM_IMAGES
 };
 

Modified: tuxmath/branches/factroids/src/titlescreen.c
===================================================================
--- tuxmath/branches/factroids/src/titlescreen.c	2008-07-03 02:58:56 UTC (rev 558)
+++ tuxmath/branches/factroids/src/titlescreen.c	2008-07-03 06:05:59 UTC (rev 559)
@@ -154,6 +154,7 @@
 int run_main_menu(void);
 int run_arcade_menu(void);
 int run_custom_menu(void);
+int run_activities_menu(void);
 int run_options_menu(void);
 int run_lessons_menu(void);
 int handle_easter_egg(const SDL_Event* evt);
@@ -628,15 +629,16 @@
 }
 int run_main_menu(void)
 {
-  const unsigned char* menu_text[6] =
+  const unsigned char* menu_text[7] =
     {(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_("Play Activities"),
      (const unsigned char*)N_("Help"),
      (const unsigned char*)N_("More Options"),
      (const unsigned char*)N_("Quit")};
-  sprite* sprites[6] =
-    {NULL, NULL, NULL, NULL, NULL, NULL};
+  sprite* sprites[7] =
+    {NULL, NULL, NULL, NULL, NULL, NULL, NULL};
   menu_options menu_opts;
   int choice,ret;
 
@@ -644,9 +646,10 @@
   sprites[0] = sprite_list[SPRITE_TRAINING];
   sprites[1] = sprite_list[SPRITE_ARCADE];
   sprites[2] = sprite_list[SPRITE_CUSTOM];
-  sprites[3] = sprite_list[SPRITE_HELP];
-  sprites[4] = sprite_list[SPRITE_OPTIONS];
-  sprites[5] = sprite_list[SPRITE_QUIT];
+  sprites[3] = sprite_list[SPRITE_CADET];
+  sprites[4] = sprite_list[SPRITE_HELP];
+  sprites[5] = sprite_list[SPRITE_OPTIONS];
+  sprites[6] = sprite_list[SPRITE_QUIT];
 
 
   //set_default_menu_options(&menu_opts);
@@ -655,7 +658,7 @@
 
   //This function takes care of all the drawing and receives
   //user input:
-  choice = choose_menu_item(menu_text,sprites,6,NULL,main_scmo);
+  choice = choose_menu_item(menu_text,sprites,7,NULL,main_scmo);
 
   while (choice >= 0) {
     switch (choice) {
@@ -674,7 +677,11 @@
 	ret = run_custom_menu();
 	break;
       }
-      case 3: {
+      case 3:{
+         ret = run_activities_menu();
+         break;
+      }
+      case 4: {
 	// Help
 	Opts_SetHelpMode(1);
 	Opts_SetDemoMode(0);
@@ -687,12 +694,12 @@
 	Opts_SetHelpMode(0);
 	break;
       }
-      case 4: {
+      case 5: {
 	// More options
 	ret = run_options_menu();
         break;
       }
-      case 5: {
+      case 6: {
 	// Quit
         return 0;
       }
@@ -814,6 +821,61 @@
   return 0;
 }
 
+int run_activities_menu(void)
+{ 
+  const unsigned char* menu_text[3] =
+    {(const unsigned char*)N_("Factors"),
+     (const unsigned char*)N_("Fractions"),
+     (const unsigned char*)N_("Main menu")};
+  sprite* sprites[3] =
+    {NULL, NULL, NULL};
+  menu_options menu_opts;
+  int choice,hs_table;
+
+  // Set up the sprites
+  sprites[0] = sprite_list[SPRITE_CADET];
+  sprites[1] = sprite_list[SPRITE_SCOUT];
+  sprites[2] = sprite_list[SPRITE_MAIN];
+
+  set_default_menu_options(&menu_opts);
+  menu_opts.ytop = 100;
+
+  //This function takes care of all the drawing and receives
+  //user input:
+  choice = choose_menu_item(menu_text,sprites,3,NULL,NULL);
+
+  while (choice >= 0) {
+    switch(choice){
+      case 0:
+          audioMusicUnload();
+          factors();
+	  
+	  if (Opts_MenuMusic()) {
+	      audioMusicLoad( "tuxi.ogg", -1 );
+	  }
+	  break;
+      case 1:
+          audioMusicUnload(); 
+          fractions();
+	  
+	  if (Opts_MenuMusic()) {
+	     audioMusicLoad( "tuxi.ogg", -1 );
+	  }
+	  break;
+     case 2:
+          // Return to main menu
+          return 0;
+    }
+  
+
+    menu_opts.starting_entry = choice;
+    choice = choose_menu_item(menu_text,sprites,3,NULL,NULL);
+  }
+
+  return 0; 
+}
+
+
 int run_options_menu(void)
 {
   /*




More information about the Tux4kids-commits mailing list