[Tux4kids-commits] r304 - in tuxmath/trunk: data/images/sprites data/missions/lessons docs intl po src

dbruce-guest at alioth.debian.org dbruce-guest at alioth.debian.org
Wed Oct 24 12:06:14 UTC 2007


Author: dbruce-guest
Date: 2007-10-24 12:06:14 +0000 (Wed, 24 Oct 2007)
New Revision: 304

Added:
   tuxmath/trunk/data/images/sprites/goldstar0.png
   tuxmath/trunk/data/images/sprites/goldstar1.png
   tuxmath/trunk/data/images/sprites/goldstard.png
   tuxmath/trunk/data/images/sprites/no_goldstar0.png
   tuxmath/trunk/data/images/sprites/no_goldstard.png
   tuxmath/trunk/src/lessons.c
   tuxmath/trunk/src/lessons.h
Modified:
   tuxmath/trunk/data/images/sprites/Makefile.am
   tuxmath/trunk/data/images/sprites/Makefile.in
   tuxmath/trunk/data/missions/lessons/Makefile.am
   tuxmath/trunk/docs/README_DATA_LICENSES.TXT
   tuxmath/trunk/intl/localename.c
   tuxmath/trunk/po/POTFILES.in
   tuxmath/trunk/po/nb.po
   tuxmath/trunk/po/nn.po
   tuxmath/trunk/po/tuxmath.pot
   tuxmath/trunk/po/update-po.sh
   tuxmath/trunk/src/Makefile.am
   tuxmath/trunk/src/Makefile.in
   tuxmath/trunk/src/fileops.c
   tuxmath/trunk/src/fileops.h
   tuxmath/trunk/src/setup.c
   tuxmath/trunk/src/titlescreen.c
   tuxmath/trunk/src/tuxmath.c
   tuxmath/trunk/src/tuxmath.h
Log:
"gold star" feature nearly completed


Modified: tuxmath/trunk/data/images/sprites/Makefile.am
===================================================================
--- tuxmath/trunk/data/images/sprites/Makefile.am	2007-10-19 16:37:30 UTC (rev 303)
+++ tuxmath/trunk/data/images/sprites/Makefile.am	2007-10-24 12:06:14 UTC (rev 304)
@@ -20,6 +20,7 @@
 	comet4.png	\
 	comet5.png	\
 	cometd.png	\
+	goldstard.png	\
 	keyboard0.png	\
 	keyboard1.png	\
 	keyboard2.png	\
@@ -50,6 +51,7 @@
 	main7.png	\
 	maind.png	\
 	quit0.png	\
+	no_goldstard.png	\
 	quit1.png	\
 	quit2.png	\
 	quit3.png	\

Modified: tuxmath/trunk/data/images/sprites/Makefile.in
===================================================================
--- tuxmath/trunk/data/images/sprites/Makefile.in	2007-10-19 16:37:30 UTC (rev 303)
+++ tuxmath/trunk/data/images/sprites/Makefile.in	2007-10-24 12:06:14 UTC (rev 304)
@@ -227,6 +227,7 @@
 	comet4.png	\
 	comet5.png	\
 	cometd.png	\
+	goldstard.png	\
 	keyboard0.png	\
 	keyboard1.png	\
 	keyboard2.png	\
@@ -257,6 +258,7 @@
 	main7.png	\
 	maind.png	\
 	quit0.png	\
+	no_goldstard.png	\
 	quit1.png	\
 	quit2.png	\
 	quit3.png	\

Added: tuxmath/trunk/data/images/sprites/goldstar0.png
===================================================================
(Binary files differ)


Property changes on: tuxmath/trunk/data/images/sprites/goldstar0.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: tuxmath/trunk/data/images/sprites/goldstar1.png
===================================================================
(Binary files differ)


Property changes on: tuxmath/trunk/data/images/sprites/goldstar1.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: tuxmath/trunk/data/images/sprites/goldstard.png
===================================================================
(Binary files differ)


Property changes on: tuxmath/trunk/data/images/sprites/goldstard.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: tuxmath/trunk/data/images/sprites/no_goldstar0.png
===================================================================
(Binary files differ)


Property changes on: tuxmath/trunk/data/images/sprites/no_goldstar0.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: tuxmath/trunk/data/images/sprites/no_goldstard.png
===================================================================
(Binary files differ)


Property changes on: tuxmath/trunk/data/images/sprites/no_goldstard.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Modified: tuxmath/trunk/data/missions/lessons/Makefile.am
===================================================================
--- tuxmath/trunk/data/missions/lessons/Makefile.am	2007-10-19 16:37:30 UTC (rev 303)
+++ tuxmath/trunk/data/missions/lessons/Makefile.am	2007-10-24 12:06:14 UTC (rev 304)
@@ -1,7 +1,7 @@
 ## Makefile.am for tuxmath - data/missions/lessons:
 ## Process with Automake to create Makefile.in
 
-EXTRA_DIST = lessons_desc	\
+EXTRA_DIST = descr_lessons	\
 	lesson00	\
 	lesson01	\
 	lesson02	\

Modified: tuxmath/trunk/docs/README_DATA_LICENSES.TXT
===================================================================
--- tuxmath/trunk/docs/README_DATA_LICENSES.TXT	2007-10-19 16:37:30 UTC (rev 303)
+++ tuxmath/trunk/docs/README_DATA_LICENSES.TXT	2007-10-24 12:06:14 UTC (rev 304)
@@ -33,8 +33,9 @@
   (license text: http://creativecommons.org/licenses/publicdomain/)
 data/images/sprites/*:
   All tux* images modified by David Bruce from either Larry Ewing's Tux drawing
-  or from GPL-licensed tux_config.png file in KDEArtwork from KDE. Other images
-  brought in from GPL-licensed images in Tux Typing.
+  or from GPL-licensed tux_config.png file in KDEArtwork from KDE. Goldstar*
+  images created by David Bruce using The GIMP. Other images
+  brought in from GPL-licensed images in Tux Typing. 
 data/imates/status/*:
   right.png, right_gray.png, left.png, left_gray.png, stop.png modified from
   GPL-licensed KDE icons by David Bruce using the GIMP. All other images created

Modified: tuxmath/trunk/intl/localename.c
===================================================================
--- tuxmath/trunk/intl/localename.c	2007-10-19 16:37:30 UTC (rev 303)
+++ tuxmath/trunk/intl/localename.c	2007-10-24 12:06:14 UTC (rev 304)
@@ -494,10 +494,10 @@
 # define SUBLANG_AZERI_CYRILLIC 0x02
 # endif
 # ifndef SUBLANG_BENGALI_INDIA
-# define SUBLANG_BENGALI_INDIA 0x00
+# define SUBLANG_BENGALI_INDIA 0x01
 # endif
 # ifndef SUBLANG_BENGALI_BANGLADESH
-# define SUBLANG_BENGALI_BANGLADESH 0x01
+# define SUBLANG_BENGALI_BANGLADESH 0x02
 # endif
 # ifndef SUBLANG_CHINESE_MACAU
 # define SUBLANG_CHINESE_MACAU 0x05
@@ -590,16 +590,16 @@
 # define SUBLANG_NEPALI_INDIA 0x02
 # endif
 # ifndef SUBLANG_PUNJABI_INDIA
-# define SUBLANG_PUNJABI_INDIA 0x00
+# define SUBLANG_PUNJABI_INDIA 0x01
 # endif
 # ifndef SUBLANG_PUNJABI_PAKISTAN
-# define SUBLANG_PUNJABI_PAKISTAN 0x01
+# define SUBLANG_PUNJABI_PAKISTAN 0x02
 # endif
 # ifndef SUBLANG_ROMANIAN_ROMANIA
-# define SUBLANG_ROMANIAN_ROMANIA 0x00
+# define SUBLANG_ROMANIAN_ROMANIA 0x01
 # endif
 # ifndef SUBLANG_ROMANIAN_MOLDOVA
-# define SUBLANG_ROMANIAN_MOLDOVA 0x01
+# define SUBLANG_ROMANIAN_MOLDOVA 0x02
 # endif
 # ifndef SUBLANG_SERBIAN_LATIN
 # define SUBLANG_SERBIAN_LATIN 0x02
@@ -607,12 +607,12 @@
 # ifndef SUBLANG_SERBIAN_CYRILLIC
 # define SUBLANG_SERBIAN_CYRILLIC 0x03
 # endif
-# ifndef SUBLANG_SINDHI_INDIA
-# define SUBLANG_SINDHI_INDIA 0x00
-# endif
 # ifndef SUBLANG_SINDHI_PAKISTAN
 # define SUBLANG_SINDHI_PAKISTAN 0x01
 # endif
+# ifndef SUBLANG_SINDHI_AFGHANISTAN
+# define SUBLANG_SINDHI_AFGHANISTAN 0x02
+# endif
 # ifndef SUBLANG_SPANISH_GUATEMALA
 # define SUBLANG_SPANISH_GUATEMALA 0x04
 # endif
@@ -670,14 +670,14 @@
 # ifndef SUBLANG_TAMAZIGHT_ARABIC
 # define SUBLANG_TAMAZIGHT_ARABIC 0x01
 # endif
-# ifndef SUBLANG_TAMAZIGHT_LATIN
-# define SUBLANG_TAMAZIGHT_LATIN 0x02
+# ifndef SUBLANG_TAMAZIGHT_ALGERIA_LATIN
+# define SUBLANG_TAMAZIGHT_ALGERIA_LATIN 0x02
 # endif
 # ifndef SUBLANG_TIGRINYA_ETHIOPIA
-# define SUBLANG_TIGRINYA_ETHIOPIA 0x00
+# define SUBLANG_TIGRINYA_ETHIOPIA 0x01
 # endif
 # ifndef SUBLANG_TIGRINYA_ERITREA
-# define SUBLANG_TIGRINYA_ERITREA 0x01
+# define SUBLANG_TIGRINYA_ERITREA 0x02
 # endif
 # ifndef SUBLANG_URDU_PAKISTAN
 # define SUBLANG_URDU_PAKISTAN 0x01
@@ -1142,7 +1142,7 @@
 	switch (sub)
 	  {
 	  case SUBLANG_BENGALI_INDIA: return "bn_IN";
-//	  case SUBLANG_BENGALI_BANGLADESH: return "bn_BD";
+	  case SUBLANG_BENGALI_BANGLADESH: return "bn_BD";
 	  }
 	return "bn";
       case LANG_BULGARIAN: return "bg_BG";
@@ -1356,7 +1356,7 @@
 	switch (sub)
 	  {
 	  case SUBLANG_PUNJABI_INDIA: return "pa_IN"; /* Gurmukhi script */
-//	  case SUBLANG_PUNJABI_PAKISTAN: return "pa_PK"; /* Arabic script */
+	  case SUBLANG_PUNJABI_PAKISTAN: return "pa_PK"; /* Arabic script */
 	  }
 	return "pa";
       case LANG_RHAETO_ROMANCE: return "rm_CH";
@@ -1364,7 +1364,7 @@
 	switch (sub)
 	  {
 	  case SUBLANG_ROMANIAN_ROMANIA: return "ro_RO";
-//	  case SUBLANG_ROMANIAN_MOLDOVA: return "ro_MD";
+	  case SUBLANG_ROMANIAN_MOLDOVA: return "ro_MD";
 	  }
 	return "ro";
       case LANG_RUSSIAN:

Modified: tuxmath/trunk/po/POTFILES.in
===================================================================
--- tuxmath/trunk/po/POTFILES.in	2007-10-19 16:37:30 UTC (rev 303)
+++ tuxmath/trunk/po/POTFILES.in	2007-10-24 12:06:14 UTC (rev 304)
@@ -1,4 +1,4 @@
 # List of source files which contain translatable strings.
 src/pause.c
 src/titlescreen.c
-data/missions/lessons/lessons_desc
+data/missions/lessons/descr_lessons

Modified: tuxmath/trunk/po/nb.po
===================================================================
--- tuxmath/trunk/po/nb.po	2007-10-19 16:37:30 UTC (rev 303)
+++ tuxmath/trunk/po/nb.po	2007-10-24 12:06:14 UTC (rev 304)
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: nb\n"
 "Report-Msgid-Bugs-To: tuxmath-devel at lists.sourceforge.net\n"
-"POT-Creation-Date: 2007-10-19 11:35-0400\n"
+"POT-Creation-Date: 2007-10-23 15:36-0400\n"
 "PO-Revision-Date: 2007-04-14 21:38+0200\n"
 "Last-Translator: Karl Ove Hufthammer <karl at huftis.org>\n"
 "Language-Team: Norwegian Nynorsk <i18n-nn at lister.ping.uio.no>\n"
@@ -155,366 +155,366 @@
 msgid "Discuss the future at tuxmath-devel at lists.sourceforge.net"
 msgstr "tuxmath-devel at lists.sourceforge.net"
 
-#: data/missions/lessons/lessons_desc:111
-#: data/missions/lessons/lessons_desc:166
-#: data/missions/lessons/lessons_desc:221
+#: data/missions/lessons/descr_lessons:111
+#: data/missions/lessons/descr_lessons:166
+#: data/missions/lessons/descr_lessons:221
 msgid "Number Typing"
 msgstr "Tallskriving"
 
-#: data/missions/lessons/lessons_desc:112
-#: data/missions/lessons/lessons_desc:167
-#: data/missions/lessons/lessons_desc:222
+#: data/missions/lessons/descr_lessons:112
+#: data/missions/lessons/descr_lessons:167
+#: data/missions/lessons/descr_lessons:222
 msgid "Addition: 1 to 3"
 msgstr "Addisjon: 1 til 3"
 
-#: data/missions/lessons/lessons_desc:113
-#: data/missions/lessons/lessons_desc:168
-#: data/missions/lessons/lessons_desc:223
+#: data/missions/lessons/descr_lessons:113
+#: data/missions/lessons/descr_lessons:168
+#: data/missions/lessons/descr_lessons:223
 msgid "Addition: 0 to 5"
 msgstr "Addisjon: 0 til 5"
 
-#: data/missions/lessons/lessons_desc:114
+#: data/missions/lessons/descr_lessons:114
 msgid "Addition: Sums To 10"
 msgstr "Addisjon: Summer til 10"
 
-#: data/missions/lessons/lessons_desc:115
+#: data/missions/lessons/descr_lessons:115
 msgid "Addition: Sums To 15"
 msgstr "Addisjon: Summer til 15"
 
-#: data/missions/lessons/lessons_desc:116
+#: data/missions/lessons/descr_lessons:116
 msgid "Addition: Sums To 20"
 msgstr "Addisjon: Summer til 20"
 
-#: data/missions/lessons/lessons_desc:117
-#: data/missions/lessons/lessons_desc:172
-#: data/missions/lessons/lessons_desc:227
+#: data/missions/lessons/descr_lessons:117
+#: data/missions/lessons/descr_lessons:172
+#: data/missions/lessons/descr_lessons:227
 msgid "Addition: Two Digit Numbers"
 msgstr "Addisjon: Tosifrede tall"
 
-#: data/missions/lessons/lessons_desc:118
-#: data/missions/lessons/lessons_desc:173
-#: data/missions/lessons/lessons_desc:228
+#: data/missions/lessons/descr_lessons:118
+#: data/missions/lessons/descr_lessons:173
+#: data/missions/lessons/descr_lessons:228
 msgid "Addition: Missing Numbers"
 msgstr "Addisjon: Manglende tall"
 
-#: data/missions/lessons/lessons_desc:119
-#: data/missions/lessons/lessons_desc:174
-#: data/missions/lessons/lessons_desc:229
+#: data/missions/lessons/descr_lessons:119
+#: data/missions/lessons/descr_lessons:174
+#: data/missions/lessons/descr_lessons:229
 msgid "Subtraction: 0 to 10"
 msgstr "Subtraksjon: 0 til 10"
 
-#: data/missions/lessons/lessons_desc:120
-#: data/missions/lessons/lessons_desc:175
-#: data/missions/lessons/lessons_desc:230
+#: data/missions/lessons/descr_lessons:120
+#: data/missions/lessons/descr_lessons:175
+#: data/missions/lessons/descr_lessons:230
 msgid "Subtraction: Two Digit Numbers"
 msgstr "Subtraksjon: Tosifrede tall"
 
-#: data/missions/lessons/lessons_desc:121
-#: data/missions/lessons/lessons_desc:176
-#: data/missions/lessons/lessons_desc:231
+#: data/missions/lessons/descr_lessons:121
+#: data/missions/lessons/descr_lessons:176
+#: data/missions/lessons/descr_lessons:231
 msgid "Addition and Subtraction Review"
 msgstr "Gjennomgang: Addisjon og subtraksjon"
 
-#: data/missions/lessons/lessons_desc:122
-#: data/missions/lessons/lessons_desc:177
-#: data/missions/lessons/lessons_desc:232
+#: data/missions/lessons/descr_lessons:122
+#: data/missions/lessons/descr_lessons:177
+#: data/missions/lessons/descr_lessons:232
 msgid "Multiplication: 0 to 3"
 msgstr "Multiplikasjon: 0 til 3"
 
-#: data/missions/lessons/lessons_desc:123
-#: data/missions/lessons/lessons_desc:178
-#: data/missions/lessons/lessons_desc:233
+#: data/missions/lessons/descr_lessons:123
+#: data/missions/lessons/descr_lessons:178
+#: data/missions/lessons/descr_lessons:233
 msgid "Multiples of 2"
 msgstr "Multiplum av 2"
 
-#: data/missions/lessons/lessons_desc:124
-#: data/missions/lessons/lessons_desc:179
-#: data/missions/lessons/lessons_desc:234
+#: data/missions/lessons/descr_lessons:124
+#: data/missions/lessons/descr_lessons:179
+#: data/missions/lessons/descr_lessons:234
 msgid "Multiples of 3"
 msgstr "Multiplum av 3"
 
-#: data/missions/lessons/lessons_desc:125
-#: data/missions/lessons/lessons_desc:180
-#: data/missions/lessons/lessons_desc:235
+#: data/missions/lessons/descr_lessons:125
+#: data/missions/lessons/descr_lessons:180
+#: data/missions/lessons/descr_lessons:235
 msgid "Multiples of 4"
 msgstr "Multiplum av 4"
 
-#: data/missions/lessons/lessons_desc:126
-#: data/missions/lessons/lessons_desc:181
-#: data/missions/lessons/lessons_desc:236
+#: data/missions/lessons/descr_lessons:126
+#: data/missions/lessons/descr_lessons:181
+#: data/missions/lessons/descr_lessons:236
 msgid "Multiples of 5"
 msgstr "Multiplum av 5"
 
-#: data/missions/lessons/lessons_desc:127
-#: data/missions/lessons/lessons_desc:182
-#: data/missions/lessons/lessons_desc:237
+#: data/missions/lessons/descr_lessons:127
+#: data/missions/lessons/descr_lessons:182
+#: data/missions/lessons/descr_lessons:237
 msgid "Multiplication: 0 to 5"
 msgstr "Multiplikasjon: 0 til 5"
 
-#: data/missions/lessons/lessons_desc:128
-#: data/missions/lessons/lessons_desc:183
-#: data/missions/lessons/lessons_desc:238
+#: data/missions/lessons/descr_lessons:128
+#: data/missions/lessons/descr_lessons:183
+#: data/missions/lessons/descr_lessons:238
 msgid "Multiples of 6"
 msgstr "Multiplum av 6"
 
-#: data/missions/lessons/lessons_desc:129
-#: data/missions/lessons/lessons_desc:184
-#: data/missions/lessons/lessons_desc:239
+#: data/missions/lessons/descr_lessons:129
+#: data/missions/lessons/descr_lessons:184
+#: data/missions/lessons/descr_lessons:239
 msgid "Multiples of 7"
 msgstr "Multiplum av 7"
 
-#: data/missions/lessons/lessons_desc:130
-#: data/missions/lessons/lessons_desc:185
-#: data/missions/lessons/lessons_desc:240
+#: data/missions/lessons/descr_lessons:130
+#: data/missions/lessons/descr_lessons:185
+#: data/missions/lessons/descr_lessons:240
 msgid "Multiplication: 0 to 7"
 msgstr "Multiplikasjon: 0 til 7"
 
-#: data/missions/lessons/lessons_desc:131
-#: data/missions/lessons/lessons_desc:186
-#: data/missions/lessons/lessons_desc:241
+#: data/missions/lessons/descr_lessons:131
+#: data/missions/lessons/descr_lessons:186
+#: data/missions/lessons/descr_lessons:241
 msgid "Multiples of 8"
 msgstr "Multiplum av 8"
 
-#: data/missions/lessons/lessons_desc:132
-#: data/missions/lessons/lessons_desc:187
-#: data/missions/lessons/lessons_desc:242
+#: data/missions/lessons/descr_lessons:132
+#: data/missions/lessons/descr_lessons:187
+#: data/missions/lessons/descr_lessons:242
 msgid "Multiples of 9"
 msgstr "Multiplum av 9"
 
-#: data/missions/lessons/lessons_desc:133
-#: data/missions/lessons/lessons_desc:188
-#: data/missions/lessons/lessons_desc:243
+#: data/missions/lessons/descr_lessons:133
+#: data/missions/lessons/descr_lessons:188
+#: data/missions/lessons/descr_lessons:243
 msgid "Multiples of 10"
 msgstr "Multiplum av 10"
 
-#: data/missions/lessons/lessons_desc:134
-#: data/missions/lessons/lessons_desc:189
-#: data/missions/lessons/lessons_desc:244
+#: data/missions/lessons/descr_lessons:134
+#: data/missions/lessons/descr_lessons:189
+#: data/missions/lessons/descr_lessons:244
 msgid "Multiplication: 0 to 10"
 msgstr "Multiplikasjon: 0 til 10"
 
-#: data/missions/lessons/lessons_desc:135
-#: data/missions/lessons/lessons_desc:190
-#: data/missions/lessons/lessons_desc:245
+#: data/missions/lessons/descr_lessons:135
+#: data/missions/lessons/descr_lessons:190
+#: data/missions/lessons/descr_lessons:245
 msgid "Multiples of 11 and 12"
 msgstr "Multiplum av 11 og 12"
 
-#: data/missions/lessons/lessons_desc:136
-#: data/missions/lessons/lessons_desc:191
-#: data/missions/lessons/lessons_desc:246
+#: data/missions/lessons/descr_lessons:136
+#: data/missions/lessons/descr_lessons:191
+#: data/missions/lessons/descr_lessons:246
 msgid "Multiplication: 0 to 12"
 msgstr "Multiplikasjon: 0 til 12"
 
-#: data/missions/lessons/lessons_desc:137
-#: data/missions/lessons/lessons_desc:192
-#: data/missions/lessons/lessons_desc:247
+#: data/missions/lessons/descr_lessons:137
+#: data/missions/lessons/descr_lessons:192
+#: data/missions/lessons/descr_lessons:247
 msgid "Multiples of 13, 14, and 15"
 msgstr "Multiplum av 13, 14 og 15"
 
-#: data/missions/lessons/lessons_desc:138
-#: data/missions/lessons/lessons_desc:193
-#: data/missions/lessons/lessons_desc:248
+#: data/missions/lessons/descr_lessons:138
+#: data/missions/lessons/descr_lessons:193
+#: data/missions/lessons/descr_lessons:248
 msgid "Multiplication: 0 to 15"
 msgstr "Multiplikasjon: 0 til 15"
 
-#: data/missions/lessons/lessons_desc:139
-#: data/missions/lessons/lessons_desc:194
-#: data/missions/lessons/lessons_desc:249
+#: data/missions/lessons/descr_lessons:139
+#: data/missions/lessons/descr_lessons:194
+#: data/missions/lessons/descr_lessons:249
 msgid "Multiplication: Missing Numbers"
 msgstr "Multiplikasjon: Manglende tall"
 
-#: data/missions/lessons/lessons_desc:140
-#: data/missions/lessons/lessons_desc:195
-#: data/missions/lessons/lessons_desc:250
+#: data/missions/lessons/descr_lessons:140
+#: data/missions/lessons/descr_lessons:195
+#: data/missions/lessons/descr_lessons:250
 msgid "Division by 2"
 msgstr "Divisjon med 2"
 
-#: data/missions/lessons/lessons_desc:141
-#: data/missions/lessons/lessons_desc:196
-#: data/missions/lessons/lessons_desc:251
+#: data/missions/lessons/descr_lessons:141
+#: data/missions/lessons/descr_lessons:196
+#: data/missions/lessons/descr_lessons:251
 msgid "Division by 3"
 msgstr "Divisjon med 3"
 
-#: data/missions/lessons/lessons_desc:142
-#: data/missions/lessons/lessons_desc:197
-#: data/missions/lessons/lessons_desc:252
+#: data/missions/lessons/descr_lessons:142
+#: data/missions/lessons/descr_lessons:197
+#: data/missions/lessons/descr_lessons:252
 msgid "Division by 4"
 msgstr "Divisjon med 4"
 
-#: data/missions/lessons/lessons_desc:143
-#: data/missions/lessons/lessons_desc:198
-#: data/missions/lessons/lessons_desc:253
+#: data/missions/lessons/descr_lessons:143
+#: data/missions/lessons/descr_lessons:198
+#: data/missions/lessons/descr_lessons:253
 msgid "Division by 5"
 msgstr "Divisjon med 5"
 
-#: data/missions/lessons/lessons_desc:144
-#: data/missions/lessons/lessons_desc:199
-#: data/missions/lessons/lessons_desc:254
+#: data/missions/lessons/descr_lessons:144
+#: data/missions/lessons/descr_lessons:199
+#: data/missions/lessons/descr_lessons:254
 msgid "Division: 1 to 5"
 msgstr "Divisjon: 1 til 5"
 
-#: data/missions/lessons/lessons_desc:145
-#: data/missions/lessons/lessons_desc:200
-#: data/missions/lessons/lessons_desc:255
+#: data/missions/lessons/descr_lessons:145
+#: data/missions/lessons/descr_lessons:200
+#: data/missions/lessons/descr_lessons:255
 msgid "Division by 6"
 msgstr "Divisjon med 6"
 
-#: data/missions/lessons/lessons_desc:146
-#: data/missions/lessons/lessons_desc:201
-#: data/missions/lessons/lessons_desc:256
+#: data/missions/lessons/descr_lessons:146
+#: data/missions/lessons/descr_lessons:201
+#: data/missions/lessons/descr_lessons:256
 msgid "Division by 7"
 msgstr "Divisjon med 7"
 
-#: data/missions/lessons/lessons_desc:147
-#: data/missions/lessons/lessons_desc:202
-#: data/missions/lessons/lessons_desc:257
+#: data/missions/lessons/descr_lessons:147
+#: data/missions/lessons/descr_lessons:202
+#: data/missions/lessons/descr_lessons:257
 msgid "Division by 8"
 msgstr "Divisjon med 8"
 
-#: data/missions/lessons/lessons_desc:148
-#: data/missions/lessons/lessons_desc:203
-#: data/missions/lessons/lessons_desc:258
+#: data/missions/lessons/descr_lessons:148
+#: data/missions/lessons/descr_lessons:203
+#: data/missions/lessons/descr_lessons:258
 msgid "Division by 9"
 msgstr "Divisjon med 9"
 
-#: data/missions/lessons/lessons_desc:149
-#: data/missions/lessons/lessons_desc:204
-#: data/missions/lessons/lessons_desc:259
+#: data/missions/lessons/descr_lessons:149
+#: data/missions/lessons/descr_lessons:204
+#: data/missions/lessons/descr_lessons:259
 msgid "Division by 10"
 msgstr "Divisjon med 10"
 
-#: data/missions/lessons/lessons_desc:150
-#: data/missions/lessons/lessons_desc:205
-#: data/missions/lessons/lessons_desc:260
+#: data/missions/lessons/descr_lessons:150
+#: data/missions/lessons/descr_lessons:205
+#: data/missions/lessons/descr_lessons:260
 msgid "Division: 1 to 10"
 msgstr "Divisjon: 1 til 10"
 
-#: data/missions/lessons/lessons_desc:151
-#: data/missions/lessons/lessons_desc:206
-#: data/missions/lessons/lessons_desc:261
+#: data/missions/lessons/descr_lessons:151
+#: data/missions/lessons/descr_lessons:206
+#: data/missions/lessons/descr_lessons:261
 msgid "Division by 11 and 12"
 msgstr "Divisjon med 11 og 12"
 
-#: data/missions/lessons/lessons_desc:152
-#: data/missions/lessons/lessons_desc:207
-#: data/missions/lessons/lessons_desc:262
+#: data/missions/lessons/descr_lessons:152
+#: data/missions/lessons/descr_lessons:207
+#: data/missions/lessons/descr_lessons:262
 msgid "Division: 1 to 12"
 msgstr "Divisjon: 1 til 12"
 
-#: data/missions/lessons/lessons_desc:153
+#: data/missions/lessons/descr_lessons:153
 msgid "Division by 13, 14 and 15"
 msgstr "Divisjon med 13, 14 og 15"
 
-#: data/missions/lessons/lessons_desc:154
-#: data/missions/lessons/lessons_desc:209
-#: data/missions/lessons/lessons_desc:264
+#: data/missions/lessons/descr_lessons:154
+#: data/missions/lessons/descr_lessons:209
+#: data/missions/lessons/descr_lessons:264
 msgid "Division: 1 to 15"
 msgstr "Divisjon: 1 til 15"
 
-#: data/missions/lessons/lessons_desc:155
+#: data/missions/lessons/descr_lessons:155
 msgid "Multiplication/Division Super Review!"
 msgstr "Gjennomgang: Multiplikasjon og divisjon"
 
-#: data/missions/lessons/lessons_desc:156
-#: data/missions/lessons/lessons_desc:211
-#: data/missions/lessons/lessons_desc:266
+#: data/missions/lessons/descr_lessons:156
+#: data/missions/lessons/descr_lessons:211
+#: data/missions/lessons/descr_lessons:266
 msgid "Typing Negative Numbers"
 msgstr "Negative tall"
 
-#: data/missions/lessons/lessons_desc:157
-#: data/missions/lessons/lessons_desc:212
-#: data/missions/lessons/lessons_desc:267
+#: data/missions/lessons/descr_lessons:157
+#: data/missions/lessons/descr_lessons:212
+#: data/missions/lessons/descr_lessons:267
 msgid "Subtraction: Negative Answers"
 msgstr "Subtraksjon: Negative svar"
 
-#: data/missions/lessons/lessons_desc:158
+#: data/missions/lessons/descr_lessons:158
 msgid "Adding Negatives To Positives"
 msgstr "Addisjon av negative til positive tall"
 
-#: data/missions/lessons/lessons_desc:159
-#: data/missions/lessons/lessons_desc:214
-#: data/missions/lessons/lessons_desc:269
+#: data/missions/lessons/descr_lessons:159
+#: data/missions/lessons/descr_lessons:214
+#: data/missions/lessons/descr_lessons:269
 msgid "Subtracting Negatives From Positives"
 msgstr "Subtraksjon av negative fra positive tall"
 
-#: data/missions/lessons/lessons_desc:160
+#: data/missions/lessons/descr_lessons:160
 msgid "Adding Negatives To Negatives"
 msgstr "Addisjon av negative til negative tall"
 
-#: data/missions/lessons/lessons_desc:161
-#: data/missions/lessons/lessons_desc:216
-#: data/missions/lessons/lessons_desc:271
+#: data/missions/lessons/descr_lessons:161
+#: data/missions/lessons/descr_lessons:216
+#: data/missions/lessons/descr_lessons:271
 msgid "Subtracting Negatives From Negatives"
 msgstr "Subtraksjon av negative fra negative tall"
 
-#: data/missions/lessons/lessons_desc:162
+#: data/missions/lessons/descr_lessons:162
 msgid "Neg/Pos Review"
 msgstr "Gjennomgang: Negative og positive tall"
 
-#: data/missions/lessons/lessons_desc:163
+#: data/missions/lessons/descr_lessons:163
 msgid "Multiplication And Division Of Negatives"
 msgstr "Multiplikasjon og divisjon av negative tall"
 
-#: data/missions/lessons/lessons_desc:164
+#: data/missions/lessons/descr_lessons:164
 msgid "Multiplication Of Positives And Negatives"
 msgstr "Multiplikasjon av positive og negative tall"
 
-#: data/missions/lessons/lessons_desc:165
+#: data/missions/lessons/descr_lessons:165
 msgid "Division Of Positives And Negatives"
 msgstr "Divisjon av positive og negative tall"
 
-#: data/missions/lessons/lessons_desc:169
-#: data/missions/lessons/lessons_desc:224
+#: data/missions/lessons/descr_lessons:169
+#: data/missions/lessons/descr_lessons:224
 msgid "Addition: Sums to 10"
 msgstr "Addisjon: Summer til 10"
 
-#: data/missions/lessons/lessons_desc:170
-#: data/missions/lessons/lessons_desc:225
+#: data/missions/lessons/descr_lessons:170
+#: data/missions/lessons/descr_lessons:225
 msgid "Addition: Sums to 15"
 msgstr "Addisjon: Summer til 15"
 
-#: data/missions/lessons/lessons_desc:171
-#: data/missions/lessons/lessons_desc:226
+#: data/missions/lessons/descr_lessons:171
+#: data/missions/lessons/descr_lessons:226
 msgid "Addition: Sums to 20"
 msgstr "Addisjon: Summer til 20"
 
-#: data/missions/lessons/lessons_desc:208
-#: data/missions/lessons/lessons_desc:263
+#: data/missions/lessons/descr_lessons:208
+#: data/missions/lessons/descr_lessons:263
 msgid "Division by 13, 14, and 15"
 msgstr "Divisjon med 13, 14 og 15"
 
-#: data/missions/lessons/lessons_desc:210
-#: data/missions/lessons/lessons_desc:265
+#: data/missions/lessons/descr_lessons:210
+#: data/missions/lessons/descr_lessons:265
 msgid "Multiplication and Division Review"
 msgstr "Gjennomgang: Multiplikasjon og divisjon"
 
-#: data/missions/lessons/lessons_desc:213
-#: data/missions/lessons/lessons_desc:268
+#: data/missions/lessons/descr_lessons:213
+#: data/missions/lessons/descr_lessons:268
 msgid "Adding Negatives to Positives"
 msgstr "Addisjon av negative til positive tall"
 
-#: data/missions/lessons/lessons_desc:215
-#: data/missions/lessons/lessons_desc:270
+#: data/missions/lessons/descr_lessons:215
+#: data/missions/lessons/descr_lessons:270
 msgid "Adding Negatives to Negatives"
 msgstr "Addisjon av negative til negative tall"
 
-#: data/missions/lessons/lessons_desc:217
-#: data/missions/lessons/lessons_desc:272
+#: data/missions/lessons/descr_lessons:217
+#: data/missions/lessons/descr_lessons:272
 msgid "Negative and Positive Numbers Review"
 msgstr "Gjennomgang: Negative og positive tall"
 
-#: data/missions/lessons/lessons_desc:218
-#: data/missions/lessons/lessons_desc:273
+#: data/missions/lessons/descr_lessons:218
+#: data/missions/lessons/descr_lessons:273
 msgid "Multiplication and Division of Negatives"
 msgstr "Multiplikasjon og divisjon av negative tall"
 
-#: data/missions/lessons/lessons_desc:219
-#: data/missions/lessons/lessons_desc:274
+#: data/missions/lessons/descr_lessons:219
+#: data/missions/lessons/descr_lessons:274
 msgid "Multiplication of Positives and Negatives"
 msgstr "Multiplikasjon av positive og negative tall"
 
-#: data/missions/lessons/lessons_desc:220
-#: data/missions/lessons/lessons_desc:275
+#: data/missions/lessons/descr_lessons:220
+#: data/missions/lessons/descr_lessons:275
 msgid "Division of Positives and Negatives"
 msgstr "Divisjon av positive og negative tall"
 

Modified: tuxmath/trunk/po/nn.po
===================================================================
--- tuxmath/trunk/po/nn.po	2007-10-19 16:37:30 UTC (rev 303)
+++ tuxmath/trunk/po/nn.po	2007-10-24 12:06:14 UTC (rev 304)
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: nn\n"
 "Report-Msgid-Bugs-To: tuxmath-devel at lists.sourceforge.net\n"
-"POT-Creation-Date: 2007-10-19 11:35-0400\n"
+"POT-Creation-Date: 2007-10-23 15:36-0400\n"
 "PO-Revision-Date: 2007-04-14 21:31+0200\n"
 "Last-Translator: Karl Ove Hufthammer <karl at huftis.org>\n"
 "Language-Team: Norwegian Nynorsk <i18n-nn at lister.ping.uio.no>\n"
@@ -155,366 +155,366 @@
 msgid "Discuss the future at tuxmath-devel at lists.sourceforge.net"
 msgstr "tuxmath-devel at lists.sourceforge.net"
 
-#: data/missions/lessons/lessons_desc:111
-#: data/missions/lessons/lessons_desc:166
-#: data/missions/lessons/lessons_desc:221
+#: data/missions/lessons/descr_lessons:111
+#: data/missions/lessons/descr_lessons:166
+#: data/missions/lessons/descr_lessons:221
 msgid "Number Typing"
 msgstr "Talskriving"
 
-#: data/missions/lessons/lessons_desc:112
-#: data/missions/lessons/lessons_desc:167
-#: data/missions/lessons/lessons_desc:222
+#: data/missions/lessons/descr_lessons:112
+#: data/missions/lessons/descr_lessons:167
+#: data/missions/lessons/descr_lessons:222
 msgid "Addition: 1 to 3"
 msgstr "Addisjon: 1 til 3"
 
-#: data/missions/lessons/lessons_desc:113
-#: data/missions/lessons/lessons_desc:168
-#: data/missions/lessons/lessons_desc:223
+#: data/missions/lessons/descr_lessons:113
+#: data/missions/lessons/descr_lessons:168
+#: data/missions/lessons/descr_lessons:223
 msgid "Addition: 0 to 5"
 msgstr "Addisjon: 0 til 5"
 
-#: data/missions/lessons/lessons_desc:114
+#: data/missions/lessons/descr_lessons:114
 msgid "Addition: Sums To 10"
 msgstr "Addisjon: Summar til 10"
 
-#: data/missions/lessons/lessons_desc:115
+#: data/missions/lessons/descr_lessons:115
 msgid "Addition: Sums To 15"
 msgstr "Addisjon: Summar til 15"
 
-#: data/missions/lessons/lessons_desc:116
+#: data/missions/lessons/descr_lessons:116
 msgid "Addition: Sums To 20"
 msgstr "Addisjon: Summar til 20"
 
-#: data/missions/lessons/lessons_desc:117
-#: data/missions/lessons/lessons_desc:172
-#: data/missions/lessons/lessons_desc:227
+#: data/missions/lessons/descr_lessons:117
+#: data/missions/lessons/descr_lessons:172
+#: data/missions/lessons/descr_lessons:227
 msgid "Addition: Two Digit Numbers"
 msgstr "Addisjon: Tosifra tal"
 
-#: data/missions/lessons/lessons_desc:118
-#: data/missions/lessons/lessons_desc:173
-#: data/missions/lessons/lessons_desc:228
+#: data/missions/lessons/descr_lessons:118
+#: data/missions/lessons/descr_lessons:173
+#: data/missions/lessons/descr_lessons:228
 msgid "Addition: Missing Numbers"
 msgstr "Addisjon: Manglande tal"
 
-#: data/missions/lessons/lessons_desc:119
-#: data/missions/lessons/lessons_desc:174
-#: data/missions/lessons/lessons_desc:229
+#: data/missions/lessons/descr_lessons:119
+#: data/missions/lessons/descr_lessons:174
+#: data/missions/lessons/descr_lessons:229
 msgid "Subtraction: 0 to 10"
 msgstr "Subtraksjon: 0 til 10"
 
-#: data/missions/lessons/lessons_desc:120
-#: data/missions/lessons/lessons_desc:175
-#: data/missions/lessons/lessons_desc:230
+#: data/missions/lessons/descr_lessons:120
+#: data/missions/lessons/descr_lessons:175
+#: data/missions/lessons/descr_lessons:230
 msgid "Subtraction: Two Digit Numbers"
 msgstr "Subtraksjon: Tosifra tal"
 
-#: data/missions/lessons/lessons_desc:121
-#: data/missions/lessons/lessons_desc:176
-#: data/missions/lessons/lessons_desc:231
+#: data/missions/lessons/descr_lessons:121
+#: data/missions/lessons/descr_lessons:176
+#: data/missions/lessons/descr_lessons:231
 msgid "Addition and Subtraction Review"
 msgstr "Gjennomgang: Addisjon og subtraksjon"
 
-#: data/missions/lessons/lessons_desc:122
-#: data/missions/lessons/lessons_desc:177
-#: data/missions/lessons/lessons_desc:232
+#: data/missions/lessons/descr_lessons:122
+#: data/missions/lessons/descr_lessons:177
+#: data/missions/lessons/descr_lessons:232
 msgid "Multiplication: 0 to 3"
 msgstr "Multiplikasjon: 0 til 3"
 
-#: data/missions/lessons/lessons_desc:123
-#: data/missions/lessons/lessons_desc:178
-#: data/missions/lessons/lessons_desc:233
+#: data/missions/lessons/descr_lessons:123
+#: data/missions/lessons/descr_lessons:178
+#: data/missions/lessons/descr_lessons:233
 msgid "Multiples of 2"
 msgstr "Multiplum av 2"
 
-#: data/missions/lessons/lessons_desc:124
-#: data/missions/lessons/lessons_desc:179
-#: data/missions/lessons/lessons_desc:234
+#: data/missions/lessons/descr_lessons:124
+#: data/missions/lessons/descr_lessons:179
+#: data/missions/lessons/descr_lessons:234
 msgid "Multiples of 3"
 msgstr "Multiplum av 3"
 
-#: data/missions/lessons/lessons_desc:125
-#: data/missions/lessons/lessons_desc:180
-#: data/missions/lessons/lessons_desc:235
+#: data/missions/lessons/descr_lessons:125
+#: data/missions/lessons/descr_lessons:180
+#: data/missions/lessons/descr_lessons:235
 msgid "Multiples of 4"
 msgstr "Multiplum av 4"
 
-#: data/missions/lessons/lessons_desc:126
-#: data/missions/lessons/lessons_desc:181
-#: data/missions/lessons/lessons_desc:236
+#: data/missions/lessons/descr_lessons:126
+#: data/missions/lessons/descr_lessons:181
+#: data/missions/lessons/descr_lessons:236
 msgid "Multiples of 5"
 msgstr "Multiplum av 5"
 
-#: data/missions/lessons/lessons_desc:127
-#: data/missions/lessons/lessons_desc:182
-#: data/missions/lessons/lessons_desc:237
+#: data/missions/lessons/descr_lessons:127
+#: data/missions/lessons/descr_lessons:182
+#: data/missions/lessons/descr_lessons:237
 msgid "Multiplication: 0 to 5"
 msgstr "Multiplikasjon: 0 til 5"
 
-#: data/missions/lessons/lessons_desc:128
-#: data/missions/lessons/lessons_desc:183
-#: data/missions/lessons/lessons_desc:238
+#: data/missions/lessons/descr_lessons:128
+#: data/missions/lessons/descr_lessons:183
+#: data/missions/lessons/descr_lessons:238
 msgid "Multiples of 6"
 msgstr "Multiplum av 6"
 
-#: data/missions/lessons/lessons_desc:129
-#: data/missions/lessons/lessons_desc:184
-#: data/missions/lessons/lessons_desc:239
+#: data/missions/lessons/descr_lessons:129
+#: data/missions/lessons/descr_lessons:184
+#: data/missions/lessons/descr_lessons:239
 msgid "Multiples of 7"
 msgstr "Multiplum av 7"
 
-#: data/missions/lessons/lessons_desc:130
-#: data/missions/lessons/lessons_desc:185
-#: data/missions/lessons/lessons_desc:240
+#: data/missions/lessons/descr_lessons:130
+#: data/missions/lessons/descr_lessons:185
+#: data/missions/lessons/descr_lessons:240
 msgid "Multiplication: 0 to 7"
 msgstr "Multiplikasjon: 0 til 7"
 
-#: data/missions/lessons/lessons_desc:131
-#: data/missions/lessons/lessons_desc:186
-#: data/missions/lessons/lessons_desc:241
+#: data/missions/lessons/descr_lessons:131
+#: data/missions/lessons/descr_lessons:186
+#: data/missions/lessons/descr_lessons:241
 msgid "Multiples of 8"
 msgstr "Multiplum av 8"
 
-#: data/missions/lessons/lessons_desc:132
-#: data/missions/lessons/lessons_desc:187
-#: data/missions/lessons/lessons_desc:242
+#: data/missions/lessons/descr_lessons:132
+#: data/missions/lessons/descr_lessons:187
+#: data/missions/lessons/descr_lessons:242
 msgid "Multiples of 9"
 msgstr "Multiplum av 9"
 
-#: data/missions/lessons/lessons_desc:133
-#: data/missions/lessons/lessons_desc:188
-#: data/missions/lessons/lessons_desc:243
+#: data/missions/lessons/descr_lessons:133
+#: data/missions/lessons/descr_lessons:188
+#: data/missions/lessons/descr_lessons:243
 msgid "Multiples of 10"
 msgstr "Multiplum av 10"
 
-#: data/missions/lessons/lessons_desc:134
-#: data/missions/lessons/lessons_desc:189
-#: data/missions/lessons/lessons_desc:244
+#: data/missions/lessons/descr_lessons:134
+#: data/missions/lessons/descr_lessons:189
+#: data/missions/lessons/descr_lessons:244
 msgid "Multiplication: 0 to 10"
 msgstr "Multiplikasjon: 0 til 10"
 
-#: data/missions/lessons/lessons_desc:135
-#: data/missions/lessons/lessons_desc:190
-#: data/missions/lessons/lessons_desc:245
+#: data/missions/lessons/descr_lessons:135
+#: data/missions/lessons/descr_lessons:190
+#: data/missions/lessons/descr_lessons:245
 msgid "Multiples of 11 and 12"
 msgstr "Multiplum av 11 og 12"
 
-#: data/missions/lessons/lessons_desc:136
-#: data/missions/lessons/lessons_desc:191
-#: data/missions/lessons/lessons_desc:246
+#: data/missions/lessons/descr_lessons:136
+#: data/missions/lessons/descr_lessons:191
+#: data/missions/lessons/descr_lessons:246
 msgid "Multiplication: 0 to 12"
 msgstr "Multiplikasjon: 0 til 12"
 
-#: data/missions/lessons/lessons_desc:137
-#: data/missions/lessons/lessons_desc:192
-#: data/missions/lessons/lessons_desc:247
+#: data/missions/lessons/descr_lessons:137
+#: data/missions/lessons/descr_lessons:192
+#: data/missions/lessons/descr_lessons:247
 msgid "Multiples of 13, 14, and 15"
 msgstr "Multiplum av 13, 14 og 15"
 
-#: data/missions/lessons/lessons_desc:138
-#: data/missions/lessons/lessons_desc:193
-#: data/missions/lessons/lessons_desc:248
+#: data/missions/lessons/descr_lessons:138
+#: data/missions/lessons/descr_lessons:193
+#: data/missions/lessons/descr_lessons:248
 msgid "Multiplication: 0 to 15"
 msgstr "Multiplikasjon: 0 til 15"
 
-#: data/missions/lessons/lessons_desc:139
-#: data/missions/lessons/lessons_desc:194
-#: data/missions/lessons/lessons_desc:249
+#: data/missions/lessons/descr_lessons:139
+#: data/missions/lessons/descr_lessons:194
+#: data/missions/lessons/descr_lessons:249
 msgid "Multiplication: Missing Numbers"
 msgstr "Multiplikasjon: Manglande tal"
 
-#: data/missions/lessons/lessons_desc:140
-#: data/missions/lessons/lessons_desc:195
-#: data/missions/lessons/lessons_desc:250
+#: data/missions/lessons/descr_lessons:140
+#: data/missions/lessons/descr_lessons:195
+#: data/missions/lessons/descr_lessons:250
 msgid "Division by 2"
 msgstr "Divisjon med 2"
 
-#: data/missions/lessons/lessons_desc:141
-#: data/missions/lessons/lessons_desc:196
-#: data/missions/lessons/lessons_desc:251
+#: data/missions/lessons/descr_lessons:141
+#: data/missions/lessons/descr_lessons:196
+#: data/missions/lessons/descr_lessons:251
 msgid "Division by 3"
 msgstr "Divisjon med 3"
 
-#: data/missions/lessons/lessons_desc:142
-#: data/missions/lessons/lessons_desc:197
-#: data/missions/lessons/lessons_desc:252
+#: data/missions/lessons/descr_lessons:142
+#: data/missions/lessons/descr_lessons:197
+#: data/missions/lessons/descr_lessons:252
 msgid "Division by 4"
 msgstr "Divisjon med 4"
 
-#: data/missions/lessons/lessons_desc:143
-#: data/missions/lessons/lessons_desc:198
-#: data/missions/lessons/lessons_desc:253
+#: data/missions/lessons/descr_lessons:143
+#: data/missions/lessons/descr_lessons:198
+#: data/missions/lessons/descr_lessons:253
 msgid "Division by 5"
 msgstr "Divisjon med 5"
 
-#: data/missions/lessons/lessons_desc:144
-#: data/missions/lessons/lessons_desc:199
-#: data/missions/lessons/lessons_desc:254
+#: data/missions/lessons/descr_lessons:144
+#: data/missions/lessons/descr_lessons:199
+#: data/missions/lessons/descr_lessons:254
 msgid "Division: 1 to 5"
 msgstr "Divisjon: 1 til 5"
 
-#: data/missions/lessons/lessons_desc:145
-#: data/missions/lessons/lessons_desc:200
-#: data/missions/lessons/lessons_desc:255
+#: data/missions/lessons/descr_lessons:145
+#: data/missions/lessons/descr_lessons:200
+#: data/missions/lessons/descr_lessons:255
 msgid "Division by 6"
 msgstr "Divisjon med 6"
 
-#: data/missions/lessons/lessons_desc:146
-#: data/missions/lessons/lessons_desc:201
-#: data/missions/lessons/lessons_desc:256
+#: data/missions/lessons/descr_lessons:146
+#: data/missions/lessons/descr_lessons:201
+#: data/missions/lessons/descr_lessons:256
 msgid "Division by 7"
 msgstr "Divisjon med 7"
 
-#: data/missions/lessons/lessons_desc:147
-#: data/missions/lessons/lessons_desc:202
-#: data/missions/lessons/lessons_desc:257
+#: data/missions/lessons/descr_lessons:147
+#: data/missions/lessons/descr_lessons:202
+#: data/missions/lessons/descr_lessons:257
 msgid "Division by 8"
 msgstr "Divisjon med 8"
 
-#: data/missions/lessons/lessons_desc:148
-#: data/missions/lessons/lessons_desc:203
-#: data/missions/lessons/lessons_desc:258
+#: data/missions/lessons/descr_lessons:148
+#: data/missions/lessons/descr_lessons:203
+#: data/missions/lessons/descr_lessons:258
 msgid "Division by 9"
 msgstr "Divisjon med 9"
 
-#: data/missions/lessons/lessons_desc:149
-#: data/missions/lessons/lessons_desc:204
-#: data/missions/lessons/lessons_desc:259
+#: data/missions/lessons/descr_lessons:149
+#: data/missions/lessons/descr_lessons:204
+#: data/missions/lessons/descr_lessons:259
 msgid "Division by 10"
 msgstr "Divisjon med 10"
 
-#: data/missions/lessons/lessons_desc:150
-#: data/missions/lessons/lessons_desc:205
-#: data/missions/lessons/lessons_desc:260
+#: data/missions/lessons/descr_lessons:150
+#: data/missions/lessons/descr_lessons:205
+#: data/missions/lessons/descr_lessons:260
 msgid "Division: 1 to 10"
 msgstr "Divisjon: 1 til 10"
 
-#: data/missions/lessons/lessons_desc:151
-#: data/missions/lessons/lessons_desc:206
-#: data/missions/lessons/lessons_desc:261
+#: data/missions/lessons/descr_lessons:151
+#: data/missions/lessons/descr_lessons:206
+#: data/missions/lessons/descr_lessons:261
 msgid "Division by 11 and 12"
 msgstr "Divisjon med 11 og 12"
 
-#: data/missions/lessons/lessons_desc:152
-#: data/missions/lessons/lessons_desc:207
-#: data/missions/lessons/lessons_desc:262
+#: data/missions/lessons/descr_lessons:152
+#: data/missions/lessons/descr_lessons:207
+#: data/missions/lessons/descr_lessons:262
 msgid "Division: 1 to 12"
 msgstr "Divisjon: 1 til 12"
 
-#: data/missions/lessons/lessons_desc:153
+#: data/missions/lessons/descr_lessons:153
 msgid "Division by 13, 14 and 15"
 msgstr "Divisjon med 13, 14 og 15"
 
-#: data/missions/lessons/lessons_desc:154
-#: data/missions/lessons/lessons_desc:209
-#: data/missions/lessons/lessons_desc:264
+#: data/missions/lessons/descr_lessons:154
+#: data/missions/lessons/descr_lessons:209
+#: data/missions/lessons/descr_lessons:264
 msgid "Division: 1 to 15"
 msgstr "Divisjon: 1 til 15"
 
-#: data/missions/lessons/lessons_desc:155
+#: data/missions/lessons/descr_lessons:155
 msgid "Multiplication/Division Super Review!"
 msgstr "Gjennomgang: Multiplikasjon og divisjon"
 
-#: data/missions/lessons/lessons_desc:156
-#: data/missions/lessons/lessons_desc:211
-#: data/missions/lessons/lessons_desc:266
+#: data/missions/lessons/descr_lessons:156
+#: data/missions/lessons/descr_lessons:211
+#: data/missions/lessons/descr_lessons:266
 msgid "Typing Negative Numbers"
 msgstr "Negative tal"
 
-#: data/missions/lessons/lessons_desc:157
-#: data/missions/lessons/lessons_desc:212
-#: data/missions/lessons/lessons_desc:267
+#: data/missions/lessons/descr_lessons:157
+#: data/missions/lessons/descr_lessons:212
+#: data/missions/lessons/descr_lessons:267
 msgid "Subtraction: Negative Answers"
 msgstr "Subtraksjon: Negative svar"
 
-#: data/missions/lessons/lessons_desc:158
+#: data/missions/lessons/descr_lessons:158
 msgid "Adding Negatives To Positives"
 msgstr "Addisjon av negative til positive tal"
 
-#: data/missions/lessons/lessons_desc:159
-#: data/missions/lessons/lessons_desc:214
-#: data/missions/lessons/lessons_desc:269
+#: data/missions/lessons/descr_lessons:159
+#: data/missions/lessons/descr_lessons:214
+#: data/missions/lessons/descr_lessons:269
 msgid "Subtracting Negatives From Positives"
 msgstr "Subtraksjon av negative frå positive tal"
 
-#: data/missions/lessons/lessons_desc:160
+#: data/missions/lessons/descr_lessons:160
 msgid "Adding Negatives To Negatives"
 msgstr "Addisjon av negative til negative tal"
 
-#: data/missions/lessons/lessons_desc:161
-#: data/missions/lessons/lessons_desc:216
-#: data/missions/lessons/lessons_desc:271
+#: data/missions/lessons/descr_lessons:161
+#: data/missions/lessons/descr_lessons:216
+#: data/missions/lessons/descr_lessons:271
 msgid "Subtracting Negatives From Negatives"
 msgstr "Subtraksjon av negative frå negative tal"
 
-#: data/missions/lessons/lessons_desc:162
+#: data/missions/lessons/descr_lessons:162
 msgid "Neg/Pos Review"
 msgstr "Gjennomgang: Negative og positive tal"
 
-#: data/missions/lessons/lessons_desc:163
+#: data/missions/lessons/descr_lessons:163
 msgid "Multiplication And Division Of Negatives"
 msgstr "Multiplikasjon og divisjon av negative tal"
 
-#: data/missions/lessons/lessons_desc:164
+#: data/missions/lessons/descr_lessons:164
 msgid "Multiplication Of Positives And Negatives"
 msgstr "Multiplikasjon av positive og negative tal"
 
-#: data/missions/lessons/lessons_desc:165
+#: data/missions/lessons/descr_lessons:165
 msgid "Division Of Positives And Negatives"
 msgstr "Divisjon av positive og negative tal"
 
-#: data/missions/lessons/lessons_desc:169
-#: data/missions/lessons/lessons_desc:224
+#: data/missions/lessons/descr_lessons:169
+#: data/missions/lessons/descr_lessons:224
 msgid "Addition: Sums to 10"
 msgstr "Addisjon: Summar til 10"
 
-#: data/missions/lessons/lessons_desc:170
-#: data/missions/lessons/lessons_desc:225
+#: data/missions/lessons/descr_lessons:170
+#: data/missions/lessons/descr_lessons:225
 msgid "Addition: Sums to 15"
 msgstr "Addisjon: Summar til 15"
 
-#: data/missions/lessons/lessons_desc:171
-#: data/missions/lessons/lessons_desc:226
+#: data/missions/lessons/descr_lessons:171
+#: data/missions/lessons/descr_lessons:226
 msgid "Addition: Sums to 20"
 msgstr "Addisjon: Summar til 20"
 
-#: data/missions/lessons/lessons_desc:208
-#: data/missions/lessons/lessons_desc:263
+#: data/missions/lessons/descr_lessons:208
+#: data/missions/lessons/descr_lessons:263
 msgid "Division by 13, 14, and 15"
 msgstr "Divisjon med 13, 14 og 15"
 
-#: data/missions/lessons/lessons_desc:210
-#: data/missions/lessons/lessons_desc:265
+#: data/missions/lessons/descr_lessons:210
+#: data/missions/lessons/descr_lessons:265
 msgid "Multiplication and Division Review"
 msgstr "Gjennomgang: Multiplikasjon og divisjon"
 
-#: data/missions/lessons/lessons_desc:213
-#: data/missions/lessons/lessons_desc:268
+#: data/missions/lessons/descr_lessons:213
+#: data/missions/lessons/descr_lessons:268
 msgid "Adding Negatives to Positives"
 msgstr "Addisjon av negative til positive tal"
 
-#: data/missions/lessons/lessons_desc:215
-#: data/missions/lessons/lessons_desc:270
+#: data/missions/lessons/descr_lessons:215
+#: data/missions/lessons/descr_lessons:270
 msgid "Adding Negatives to Negatives"
 msgstr "Addisjon av negative til negative tal"
 
-#: data/missions/lessons/lessons_desc:217
-#: data/missions/lessons/lessons_desc:272
+#: data/missions/lessons/descr_lessons:217
+#: data/missions/lessons/descr_lessons:272
 msgid "Negative and Positive Numbers Review"
 msgstr "Gjennomgang: Negative og positive tal"
 
-#: data/missions/lessons/lessons_desc:218
-#: data/missions/lessons/lessons_desc:273
+#: data/missions/lessons/descr_lessons:218
+#: data/missions/lessons/descr_lessons:273
 msgid "Multiplication and Division of Negatives"
 msgstr "Multiplikasjon og divisjon av negative tal"
 
-#: data/missions/lessons/lessons_desc:219
-#: data/missions/lessons/lessons_desc:274
+#: data/missions/lessons/descr_lessons:219
+#: data/missions/lessons/descr_lessons:274
 msgid "Multiplication of Positives and Negatives"
 msgstr "Multiplikasjon av positive og negative tal"
 
-#: data/missions/lessons/lessons_desc:220
-#: data/missions/lessons/lessons_desc:275
+#: data/missions/lessons/descr_lessons:220
+#: data/missions/lessons/descr_lessons:275
 msgid "Division of Positives and Negatives"
 msgstr "Divisjon av positive og negative tal"
 

Modified: tuxmath/trunk/po/tuxmath.pot
===================================================================
--- tuxmath/trunk/po/tuxmath.pot	2007-10-19 16:37:30 UTC (rev 303)
+++ tuxmath/trunk/po/tuxmath.pot	2007-10-24 12:06:14 UTC (rev 304)
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: tuxmath-devel at lists.sourceforge.net\n"
-"POT-Creation-Date: 2007-10-19 11:35-0400\n"
+"POT-Creation-Date: 2007-10-23 15:36-0400\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
 "Language-Team: LANGUAGE <LL at li.org>\n"
@@ -151,365 +151,365 @@
 msgid "Discuss the future at tuxmath-devel at lists.sourceforge.net"
 msgstr ""
 
-#: data/missions/lessons/lessons_desc:111
-#: data/missions/lessons/lessons_desc:166
-#: data/missions/lessons/lessons_desc:221
+#: data/missions/lessons/descr_lessons:111
+#: data/missions/lessons/descr_lessons:166
+#: data/missions/lessons/descr_lessons:221
 msgid "Number Typing"
 msgstr ""
 
-#: data/missions/lessons/lessons_desc:112
-#: data/missions/lessons/lessons_desc:167
-#: data/missions/lessons/lessons_desc:222
+#: data/missions/lessons/descr_lessons:112
+#: data/missions/lessons/descr_lessons:167
+#: data/missions/lessons/descr_lessons:222
 msgid "Addition: 1 to 3"
 msgstr ""
 
-#: data/missions/lessons/lessons_desc:113
-#: data/missions/lessons/lessons_desc:168
-#: data/missions/lessons/lessons_desc:223
+#: data/missions/lessons/descr_lessons:113
+#: data/missions/lessons/descr_lessons:168
+#: data/missions/lessons/descr_lessons:223
 msgid "Addition: 0 to 5"
 msgstr ""
 
-#: data/missions/lessons/lessons_desc:114
+#: data/missions/lessons/descr_lessons:114
 msgid "Addition: Sums To 10"
 msgstr ""
 
-#: data/missions/lessons/lessons_desc:115
+#: data/missions/lessons/descr_lessons:115
 msgid "Addition: Sums To 15"
 msgstr ""
 
-#: data/missions/lessons/lessons_desc:116
+#: data/missions/lessons/descr_lessons:116
 msgid "Addition: Sums To 20"
 msgstr ""
 
-#: data/missions/lessons/lessons_desc:117
-#: data/missions/lessons/lessons_desc:172
-#: data/missions/lessons/lessons_desc:227
+#: data/missions/lessons/descr_lessons:117
+#: data/missions/lessons/descr_lessons:172
+#: data/missions/lessons/descr_lessons:227
 msgid "Addition: Two Digit Numbers"
 msgstr ""
 
-#: data/missions/lessons/lessons_desc:118
-#: data/missions/lessons/lessons_desc:173
-#: data/missions/lessons/lessons_desc:228
+#: data/missions/lessons/descr_lessons:118
+#: data/missions/lessons/descr_lessons:173
+#: data/missions/lessons/descr_lessons:228
 msgid "Addition: Missing Numbers"
 msgstr ""
 
-#: data/missions/lessons/lessons_desc:119
-#: data/missions/lessons/lessons_desc:174
-#: data/missions/lessons/lessons_desc:229
+#: data/missions/lessons/descr_lessons:119
+#: data/missions/lessons/descr_lessons:174
+#: data/missions/lessons/descr_lessons:229
 msgid "Subtraction: 0 to 10"
 msgstr ""
 
-#: data/missions/lessons/lessons_desc:120
-#: data/missions/lessons/lessons_desc:175
-#: data/missions/lessons/lessons_desc:230
+#: data/missions/lessons/descr_lessons:120
+#: data/missions/lessons/descr_lessons:175
+#: data/missions/lessons/descr_lessons:230
 msgid "Subtraction: Two Digit Numbers"
 msgstr ""
 
-#: data/missions/lessons/lessons_desc:121
-#: data/missions/lessons/lessons_desc:176
-#: data/missions/lessons/lessons_desc:231
+#: data/missions/lessons/descr_lessons:121
+#: data/missions/lessons/descr_lessons:176
+#: data/missions/lessons/descr_lessons:231
 msgid "Addition and Subtraction Review"
 msgstr ""
 
-#: data/missions/lessons/lessons_desc:122
-#: data/missions/lessons/lessons_desc:177
-#: data/missions/lessons/lessons_desc:232
+#: data/missions/lessons/descr_lessons:122
+#: data/missions/lessons/descr_lessons:177
+#: data/missions/lessons/descr_lessons:232
 msgid "Multiplication: 0 to 3"
 msgstr ""
 
-#: data/missions/lessons/lessons_desc:123
-#: data/missions/lessons/lessons_desc:178
-#: data/missions/lessons/lessons_desc:233
+#: data/missions/lessons/descr_lessons:123
+#: data/missions/lessons/descr_lessons:178
+#: data/missions/lessons/descr_lessons:233
 msgid "Multiples of 2"
 msgstr ""
 
-#: data/missions/lessons/lessons_desc:124
-#: data/missions/lessons/lessons_desc:179
-#: data/missions/lessons/lessons_desc:234
+#: data/missions/lessons/descr_lessons:124
+#: data/missions/lessons/descr_lessons:179
+#: data/missions/lessons/descr_lessons:234
 msgid "Multiples of 3"
 msgstr ""
 
-#: data/missions/lessons/lessons_desc:125
-#: data/missions/lessons/lessons_desc:180
-#: data/missions/lessons/lessons_desc:235
+#: data/missions/lessons/descr_lessons:125
+#: data/missions/lessons/descr_lessons:180
+#: data/missions/lessons/descr_lessons:235
 msgid "Multiples of 4"
 msgstr ""
 
-#: data/missions/lessons/lessons_desc:126
-#: data/missions/lessons/lessons_desc:181
-#: data/missions/lessons/lessons_desc:236
+#: data/missions/lessons/descr_lessons:126
+#: data/missions/lessons/descr_lessons:181
+#: data/missions/lessons/descr_lessons:236
 msgid "Multiples of 5"
 msgstr ""
 
-#: data/missions/lessons/lessons_desc:127
-#: data/missions/lessons/lessons_desc:182
-#: data/missions/lessons/lessons_desc:237
+#: data/missions/lessons/descr_lessons:127
+#: data/missions/lessons/descr_lessons:182
+#: data/missions/lessons/descr_lessons:237
 msgid "Multiplication: 0 to 5"
 msgstr ""
 
-#: data/missions/lessons/lessons_desc:128
-#: data/missions/lessons/lessons_desc:183
-#: data/missions/lessons/lessons_desc:238
+#: data/missions/lessons/descr_lessons:128
+#: data/missions/lessons/descr_lessons:183
+#: data/missions/lessons/descr_lessons:238
 msgid "Multiples of 6"
 msgstr ""
 
-#: data/missions/lessons/lessons_desc:129
-#: data/missions/lessons/lessons_desc:184
-#: data/missions/lessons/lessons_desc:239
+#: data/missions/lessons/descr_lessons:129
+#: data/missions/lessons/descr_lessons:184
+#: data/missions/lessons/descr_lessons:239
 msgid "Multiples of 7"
 msgstr ""
 
-#: data/missions/lessons/lessons_desc:130
-#: data/missions/lessons/lessons_desc:185
-#: data/missions/lessons/lessons_desc:240
+#: data/missions/lessons/descr_lessons:130
+#: data/missions/lessons/descr_lessons:185
+#: data/missions/lessons/descr_lessons:240
 msgid "Multiplication: 0 to 7"
 msgstr ""
 
-#: data/missions/lessons/lessons_desc:131
-#: data/missions/lessons/lessons_desc:186
-#: data/missions/lessons/lessons_desc:241
+#: data/missions/lessons/descr_lessons:131
+#: data/missions/lessons/descr_lessons:186
+#: data/missions/lessons/descr_lessons:241
 msgid "Multiples of 8"
 msgstr ""
 
-#: data/missions/lessons/lessons_desc:132
-#: data/missions/lessons/lessons_desc:187
-#: data/missions/lessons/lessons_desc:242
+#: data/missions/lessons/descr_lessons:132
+#: data/missions/lessons/descr_lessons:187
+#: data/missions/lessons/descr_lessons:242
 msgid "Multiples of 9"
 msgstr ""
 
-#: data/missions/lessons/lessons_desc:133
-#: data/missions/lessons/lessons_desc:188
-#: data/missions/lessons/lessons_desc:243
+#: data/missions/lessons/descr_lessons:133
+#: data/missions/lessons/descr_lessons:188
+#: data/missions/lessons/descr_lessons:243
 msgid "Multiples of 10"
 msgstr ""
 
-#: data/missions/lessons/lessons_desc:134
-#: data/missions/lessons/lessons_desc:189
-#: data/missions/lessons/lessons_desc:244
+#: data/missions/lessons/descr_lessons:134
+#: data/missions/lessons/descr_lessons:189
+#: data/missions/lessons/descr_lessons:244
 msgid "Multiplication: 0 to 10"
 msgstr ""
 
-#: data/missions/lessons/lessons_desc:135
-#: data/missions/lessons/lessons_desc:190
-#: data/missions/lessons/lessons_desc:245
+#: data/missions/lessons/descr_lessons:135
+#: data/missions/lessons/descr_lessons:190
+#: data/missions/lessons/descr_lessons:245
 msgid "Multiples of 11 and 12"
 msgstr ""
 
-#: data/missions/lessons/lessons_desc:136
-#: data/missions/lessons/lessons_desc:191
-#: data/missions/lessons/lessons_desc:246
+#: data/missions/lessons/descr_lessons:136
+#: data/missions/lessons/descr_lessons:191
+#: data/missions/lessons/descr_lessons:246
 msgid "Multiplication: 0 to 12"
 msgstr ""
 
-#: data/missions/lessons/lessons_desc:137
-#: data/missions/lessons/lessons_desc:192
-#: data/missions/lessons/lessons_desc:247
+#: data/missions/lessons/descr_lessons:137
+#: data/missions/lessons/descr_lessons:192
+#: data/missions/lessons/descr_lessons:247
 msgid "Multiples of 13, 14, and 15"
 msgstr ""
 
-#: data/missions/lessons/lessons_desc:138
-#: data/missions/lessons/lessons_desc:193
-#: data/missions/lessons/lessons_desc:248
+#: data/missions/lessons/descr_lessons:138
+#: data/missions/lessons/descr_lessons:193
+#: data/missions/lessons/descr_lessons:248
 msgid "Multiplication: 0 to 15"
 msgstr ""
 
-#: data/missions/lessons/lessons_desc:139
-#: data/missions/lessons/lessons_desc:194
-#: data/missions/lessons/lessons_desc:249
+#: data/missions/lessons/descr_lessons:139
+#: data/missions/lessons/descr_lessons:194
+#: data/missions/lessons/descr_lessons:249
 msgid "Multiplication: Missing Numbers"
 msgstr ""
 
-#: data/missions/lessons/lessons_desc:140
-#: data/missions/lessons/lessons_desc:195
-#: data/missions/lessons/lessons_desc:250
+#: data/missions/lessons/descr_lessons:140
+#: data/missions/lessons/descr_lessons:195
+#: data/missions/lessons/descr_lessons:250
 msgid "Division by 2"
 msgstr ""
 
-#: data/missions/lessons/lessons_desc:141
-#: data/missions/lessons/lessons_desc:196
-#: data/missions/lessons/lessons_desc:251
+#: data/missions/lessons/descr_lessons:141
+#: data/missions/lessons/descr_lessons:196
+#: data/missions/lessons/descr_lessons:251
 msgid "Division by 3"
 msgstr ""
 
-#: data/missions/lessons/lessons_desc:142
-#: data/missions/lessons/lessons_desc:197
-#: data/missions/lessons/lessons_desc:252
+#: data/missions/lessons/descr_lessons:142
+#: data/missions/lessons/descr_lessons:197
+#: data/missions/lessons/descr_lessons:252
 msgid "Division by 4"
 msgstr ""
 
-#: data/missions/lessons/lessons_desc:143
-#: data/missions/lessons/lessons_desc:198
-#: data/missions/lessons/lessons_desc:253
+#: data/missions/lessons/descr_lessons:143
+#: data/missions/lessons/descr_lessons:198
+#: data/missions/lessons/descr_lessons:253
 msgid "Division by 5"
 msgstr ""
 
-#: data/missions/lessons/lessons_desc:144
-#: data/missions/lessons/lessons_desc:199
-#: data/missions/lessons/lessons_desc:254
+#: data/missions/lessons/descr_lessons:144
+#: data/missions/lessons/descr_lessons:199
+#: data/missions/lessons/descr_lessons:254
 msgid "Division: 1 to 5"
 msgstr ""
 
-#: data/missions/lessons/lessons_desc:145
-#: data/missions/lessons/lessons_desc:200
-#: data/missions/lessons/lessons_desc:255
+#: data/missions/lessons/descr_lessons:145
+#: data/missions/lessons/descr_lessons:200
+#: data/missions/lessons/descr_lessons:255
 msgid "Division by 6"
 msgstr ""
 
-#: data/missions/lessons/lessons_desc:146
-#: data/missions/lessons/lessons_desc:201
-#: data/missions/lessons/lessons_desc:256
+#: data/missions/lessons/descr_lessons:146
+#: data/missions/lessons/descr_lessons:201
+#: data/missions/lessons/descr_lessons:256
 msgid "Division by 7"
 msgstr ""
 
-#: data/missions/lessons/lessons_desc:147
-#: data/missions/lessons/lessons_desc:202
-#: data/missions/lessons/lessons_desc:257
+#: data/missions/lessons/descr_lessons:147
+#: data/missions/lessons/descr_lessons:202
+#: data/missions/lessons/descr_lessons:257
 msgid "Division by 8"
 msgstr ""
 
-#: data/missions/lessons/lessons_desc:148
-#: data/missions/lessons/lessons_desc:203
-#: data/missions/lessons/lessons_desc:258
+#: data/missions/lessons/descr_lessons:148
+#: data/missions/lessons/descr_lessons:203
+#: data/missions/lessons/descr_lessons:258
 msgid "Division by 9"
 msgstr ""
 
-#: data/missions/lessons/lessons_desc:149
-#: data/missions/lessons/lessons_desc:204
-#: data/missions/lessons/lessons_desc:259
+#: data/missions/lessons/descr_lessons:149
+#: data/missions/lessons/descr_lessons:204
+#: data/missions/lessons/descr_lessons:259
 msgid "Division by 10"
 msgstr ""
 
-#: data/missions/lessons/lessons_desc:150
-#: data/missions/lessons/lessons_desc:205
-#: data/missions/lessons/lessons_desc:260
+#: data/missions/lessons/descr_lessons:150
+#: data/missions/lessons/descr_lessons:205
+#: data/missions/lessons/descr_lessons:260
 msgid "Division: 1 to 10"
 msgstr ""
 
-#: data/missions/lessons/lessons_desc:151
-#: data/missions/lessons/lessons_desc:206
-#: data/missions/lessons/lessons_desc:261
+#: data/missions/lessons/descr_lessons:151
+#: data/missions/lessons/descr_lessons:206
+#: data/missions/lessons/descr_lessons:261
 msgid "Division by 11 and 12"
 msgstr ""
 
-#: data/missions/lessons/lessons_desc:152
-#: data/missions/lessons/lessons_desc:207
-#: data/missions/lessons/lessons_desc:262
+#: data/missions/lessons/descr_lessons:152
+#: data/missions/lessons/descr_lessons:207
+#: data/missions/lessons/descr_lessons:262
 msgid "Division: 1 to 12"
 msgstr ""
 
-#: data/missions/lessons/lessons_desc:153
+#: data/missions/lessons/descr_lessons:153
 msgid "Division by 13, 14 and 15"
 msgstr ""
 
-#: data/missions/lessons/lessons_desc:154
-#: data/missions/lessons/lessons_desc:209
-#: data/missions/lessons/lessons_desc:264
+#: data/missions/lessons/descr_lessons:154
+#: data/missions/lessons/descr_lessons:209
+#: data/missions/lessons/descr_lessons:264
 msgid "Division: 1 to 15"
 msgstr ""
 
-#: data/missions/lessons/lessons_desc:155
+#: data/missions/lessons/descr_lessons:155
 msgid "Multiplication/Division Super Review!"
 msgstr ""
 
-#: data/missions/lessons/lessons_desc:156
-#: data/missions/lessons/lessons_desc:211
-#: data/missions/lessons/lessons_desc:266
+#: data/missions/lessons/descr_lessons:156
+#: data/missions/lessons/descr_lessons:211
+#: data/missions/lessons/descr_lessons:266
 msgid "Typing Negative Numbers"
 msgstr ""
 
-#: data/missions/lessons/lessons_desc:157
-#: data/missions/lessons/lessons_desc:212
-#: data/missions/lessons/lessons_desc:267
+#: data/missions/lessons/descr_lessons:157
+#: data/missions/lessons/descr_lessons:212
+#: data/missions/lessons/descr_lessons:267
 msgid "Subtraction: Negative Answers"
 msgstr ""
 
-#: data/missions/lessons/lessons_desc:158
+#: data/missions/lessons/descr_lessons:158
 msgid "Adding Negatives To Positives"
 msgstr ""
 
-#: data/missions/lessons/lessons_desc:159
-#: data/missions/lessons/lessons_desc:214
-#: data/missions/lessons/lessons_desc:269
+#: data/missions/lessons/descr_lessons:159
+#: data/missions/lessons/descr_lessons:214
+#: data/missions/lessons/descr_lessons:269
 msgid "Subtracting Negatives From Positives"
 msgstr ""
 
-#: data/missions/lessons/lessons_desc:160
+#: data/missions/lessons/descr_lessons:160
 msgid "Adding Negatives To Negatives"
 msgstr ""
 
-#: data/missions/lessons/lessons_desc:161
-#: data/missions/lessons/lessons_desc:216
-#: data/missions/lessons/lessons_desc:271
+#: data/missions/lessons/descr_lessons:161
+#: data/missions/lessons/descr_lessons:216
+#: data/missions/lessons/descr_lessons:271
 msgid "Subtracting Negatives From Negatives"
 msgstr ""
 
-#: data/missions/lessons/lessons_desc:162
+#: data/missions/lessons/descr_lessons:162
 msgid "Neg/Pos Review"
 msgstr ""
 
-#: data/missions/lessons/lessons_desc:163
+#: data/missions/lessons/descr_lessons:163
 msgid "Multiplication And Division Of Negatives"
 msgstr ""
 
-#: data/missions/lessons/lessons_desc:164
+#: data/missions/lessons/descr_lessons:164
 msgid "Multiplication Of Positives And Negatives"
 msgstr ""
 
-#: data/missions/lessons/lessons_desc:165
+#: data/missions/lessons/descr_lessons:165
 msgid "Division Of Positives And Negatives"
 msgstr ""
 
-#: data/missions/lessons/lessons_desc:169
-#: data/missions/lessons/lessons_desc:224
+#: data/missions/lessons/descr_lessons:169
+#: data/missions/lessons/descr_lessons:224
 msgid "Addition: Sums to 10"
 msgstr ""
 
-#: data/missions/lessons/lessons_desc:170
-#: data/missions/lessons/lessons_desc:225
+#: data/missions/lessons/descr_lessons:170
+#: data/missions/lessons/descr_lessons:225
 msgid "Addition: Sums to 15"
 msgstr ""
 
-#: data/missions/lessons/lessons_desc:171
-#: data/missions/lessons/lessons_desc:226
+#: data/missions/lessons/descr_lessons:171
+#: data/missions/lessons/descr_lessons:226
 msgid "Addition: Sums to 20"
 msgstr ""
 
-#: data/missions/lessons/lessons_desc:208
-#: data/missions/lessons/lessons_desc:263
+#: data/missions/lessons/descr_lessons:208
+#: data/missions/lessons/descr_lessons:263
 msgid "Division by 13, 14, and 15"
 msgstr ""
 
-#: data/missions/lessons/lessons_desc:210
-#: data/missions/lessons/lessons_desc:265
+#: data/missions/lessons/descr_lessons:210
+#: data/missions/lessons/descr_lessons:265
 msgid "Multiplication and Division Review"
 msgstr ""
 
-#: data/missions/lessons/lessons_desc:213
-#: data/missions/lessons/lessons_desc:268
+#: data/missions/lessons/descr_lessons:213
+#: data/missions/lessons/descr_lessons:268
 msgid "Adding Negatives to Positives"
 msgstr ""
 
-#: data/missions/lessons/lessons_desc:215
-#: data/missions/lessons/lessons_desc:270
+#: data/missions/lessons/descr_lessons:215
+#: data/missions/lessons/descr_lessons:270
 msgid "Adding Negatives to Negatives"
 msgstr ""
 
-#: data/missions/lessons/lessons_desc:217
-#: data/missions/lessons/lessons_desc:272
+#: data/missions/lessons/descr_lessons:217
+#: data/missions/lessons/descr_lessons:272
 msgid "Negative and Positive Numbers Review"
 msgstr ""
 
-#: data/missions/lessons/lessons_desc:218
-#: data/missions/lessons/lessons_desc:273
+#: data/missions/lessons/descr_lessons:218
+#: data/missions/lessons/descr_lessons:273
 msgid "Multiplication and Division of Negatives"
 msgstr ""
 
-#: data/missions/lessons/lessons_desc:219
-#: data/missions/lessons/lessons_desc:274
+#: data/missions/lessons/descr_lessons:219
+#: data/missions/lessons/descr_lessons:274
 msgid "Multiplication of Positives and Negatives"
 msgstr ""
 
-#: data/missions/lessons/lessons_desc:220
-#: data/missions/lessons/lessons_desc:275
+#: data/missions/lessons/descr_lessons:220
+#: data/missions/lessons/descr_lessons:275
 msgid "Division of Positives and Negatives"
 msgstr ""

Modified: tuxmath/trunk/po/update-po.sh
===================================================================
--- tuxmath/trunk/po/update-po.sh	2007-10-19 16:37:30 UTC (rev 303)
+++ tuxmath/trunk/po/update-po.sh	2007-10-24 12:06:14 UTC (rev 304)
@@ -2,9 +2,9 @@
 
 # Create a 'source' file holding all the descriptions for the missions.
 cd ../data/missions/lessons
-rm -f ../lessons_desc
+rm -f ../descr_lessons
 for i in ./lesson*; do
- head --lines=1 $i | sed 's/^# \(.*\)$/_("\1")/' >> lessons_desc;
+ head --lines=1 $i | sed 's/^# \(.*\)$/_("\1")/' >> descr_lessons;
 done;
 
 # Update the POT translation template file.

Modified: tuxmath/trunk/src/Makefile.am
===================================================================
--- tuxmath/trunk/src/Makefile.am	2007-10-19 16:37:30 UTC (rev 303)
+++ tuxmath/trunk/src/Makefile.am	2007-10-24 12:06:14 UTC (rev 304)
@@ -26,7 +26,8 @@
 	mathcards.c	\
 	fileops.c	\
 	ConvertUTF.c	\
-	SDL_extras.c
+	SDL_extras.c	\
+	lessons.c
 
 TuxMath_SOURCES  = $(tuxmath_SOURCES) tuxmathrc.rc
 
@@ -42,6 +43,7 @@
 		tuxmath.h	\
 		ConvertUTF.h	\
 		SDL_extras.h	\
+		lessons.h	\
 		gettext.h
 
 

Modified: tuxmath/trunk/src/Makefile.in
===================================================================
--- tuxmath/trunk/src/Makefile.in	2007-10-19 16:37:30 UTC (rev 303)
+++ tuxmath/trunk/src/Makefile.in	2007-10-24 12:06:14 UTC (rev 304)
@@ -71,7 +71,8 @@
 	credits.$(OBJEXT) playsound.$(OBJEXT) highscore.$(OBJEXT) \
 	theme.$(OBJEXT) loaders.$(OBJEXT) alphabet.$(OBJEXT) \
 	pause.$(OBJEXT) audio.$(OBJEXT) mathcards.$(OBJEXT) \
-	fileops.$(OBJEXT) ConvertUTF.$(OBJEXT) SDL_extras.$(OBJEXT)
+	fileops.$(OBJEXT) ConvertUTF.$(OBJEXT) SDL_extras.$(OBJEXT) \
+	lessons.$(OBJEXT)
 am_TuxMath_OBJECTS = $(am__objects_1)
 TuxMath_OBJECTS = $(am_TuxMath_OBJECTS)
 TuxMath_LDADD = $(LDADD)
@@ -80,7 +81,8 @@
 	credits.$(OBJEXT) playsound.$(OBJEXT) highscore.$(OBJEXT) \
 	theme.$(OBJEXT) loaders.$(OBJEXT) alphabet.$(OBJEXT) \
 	pause.$(OBJEXT) audio.$(OBJEXT) mathcards.$(OBJEXT) \
-	fileops.$(OBJEXT) ConvertUTF.$(OBJEXT) SDL_extras.$(OBJEXT)
+	fileops.$(OBJEXT) ConvertUTF.$(OBJEXT) SDL_extras.$(OBJEXT) \
+	lessons.$(OBJEXT)
 tuxmath_OBJECTS = $(am_tuxmath_OBJECTS)
 tuxmath_LDADD = $(LDADD)
 DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@
@@ -262,7 +264,8 @@
 	mathcards.c	\
 	fileops.c	\
 	ConvertUTF.c	\
-	SDL_extras.c
+	SDL_extras.c	\
+	lessons.c
 
 TuxMath_SOURCES = $(tuxmath_SOURCES) tuxmathrc.rc
 EXTRA_DIST = credits.h 	\
@@ -277,6 +280,7 @@
 		tuxmath.h	\
 		ConvertUTF.h	\
 		SDL_extras.h	\
+		lessons.h	\
 		gettext.h
 
 @BUILD_MINGW32_FALSE at DATA_PREFIX = ${pkgdatadir}
@@ -362,6 +366,7 @@
 @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@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/lessons.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/loaders.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/mathcards.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/options.Po at am__quote@

Modified: tuxmath/trunk/src/fileops.c
===================================================================
--- tuxmath/trunk/src/fileops.c	2007-10-19 16:37:30 UTC (rev 303)
+++ tuxmath/trunk/src/fileops.c	2007-10-24 12:06:14 UTC (rev 304)
@@ -33,6 +33,7 @@
 #include "mathcards.h"
 #include "options.h"
 #include "highscore.h"
+#include "lessons.h"
 #include "titlescreen.h"
 
 #ifndef MACOSX
@@ -206,9 +207,9 @@
 static int read_config_file(FILE* fp, int file_type);
 static int write_config_file(FILE* fp, int verbose);
 static int is_lesson_file(const struct dirent *lfdirent);
+static int read_goldstars(void);
 
 
-
 /* fix HOME on windows */
 #ifdef BUILD_MINGW32
 #include <windows.h>
@@ -391,16 +392,18 @@
 
 
 /* Windows XP: User/App Data/TuxMath/ */
-/* WIndows 98/ME: TuxMath install dir/userdata/Options */
+/* Windows 98/ME: TuxMath install dir/userdata/Options */
 #define OPTIONS_SUBDIR ""
 #define OPTIONS_FILENAME "options.cfg"
 #define HIGHSCORE_FILENAME "highscores.txt"
+#define GOLDSTAR_FILENAME "goldstars.txt"
 #else
 
 # define get_home getenv("HOME")
 #define OPTIONS_SUBDIR "/.tuxmath"
 #define OPTIONS_FILENAME "options"
 #define HIGHSCORE_FILENAME "highscores"
+#define GOLDSTAR_FILENAME "goldstars"
 
 #endif
 
@@ -842,11 +845,84 @@
   /* many there are */
   num_lessons = lessons;
 
+  /* Now we check to see which lessons have been previously completed */
+  /* so we can display the Gold Stars: */
+  read_goldstars();
+
   return (num_lessons > 0);  /* Success! */
 }
 
+
+/* Look for a completed lessons file in the user's homedir   */
+/* and if found, pass the FILE* to read_goldstars_fp()       */
+/* to actually read the data. The idea is to have TuxMath    */
+/* keep track of what lessons the student has successfully   */
+/* completed and display the "Gold Star" icon for those,     */
+/* versus a grayed-out one for lessons remaining to be done. */
+int read_goldstars(void)
+{
+  FILE* fp;
+  char opt_path[PATH_MAX];
+
+  /* find $HOME and tack on file name: */
+  strcpy(opt_path, get_user_data_dir());
+  strcat(opt_path, OPTIONS_SUBDIR "/" GOLDSTAR_FILENAME);
+
+  #ifdef TUXMATH_DEBUG
+  printf("\nIn read_goldstars() full path to file is: = %s\n", opt_path);
+  #endif
+
+  fp = fopen(opt_path, "r");
+  if (fp) /* file exists */
+  {
+    read_goldstars_fp(fp);
+    fclose(fp);
+    fp = NULL;
+    return 1;
+  }
+  else  /* could not open goldstar file: */
+  {
+    return 0;
+  }
+}
+
+
+/* Write gold star list in user's homedir in format     */
+/* compatible with read_goldstars() above.              */
+int write_goldstars(void)
+{
+  char opt_path[PATH_MAX];
+  FILE* fp;
+
+  if (!find_tuxmath_dir())
+  {
+    fprintf(stderr, "\nCould not find or create tuxmath dir\n");
+    return 0;
+  }
+
+  /* find $HOME and add rest of path to config file: */
+  strcpy(opt_path, get_user_data_dir());
+  strcat(opt_path, OPTIONS_SUBDIR "/" GOLDSTAR_FILENAME);
+
+  #ifdef TUXMATH_DEBUG
+  printf("\nIn write_goldstars() full path to file is: = %s\n", opt_path);
+  #endif
+
+  fp = fopen(opt_path, "w");
+  if (fp)
+  {
+    write_goldstars_fp(fp);
+    fclose(fp);
+    fp = NULL;
+    return 1;
+  }
+  else
+    return 0;
+}
+
+
 /* Look for a high score table file in the user's homedir */
-/* and if found, pass the FILE* to read_high_scores_() in */
+/* and if found, pass the FILE* to read_high_scores_fp() in */
 /* highscore.c to actually read in scores. (A "global"    */
 /* location might in theory be better, but most schools   */
 /* run Windows with all students sharing a common login   */
@@ -872,7 +948,7 @@
     fp = NULL;
     return 1;
   }
-  else  /* could not open config file: */
+  else  /* could not open highscore file: */
   {
     return 0;
   }

Modified: tuxmath/trunk/src/fileops.h
===================================================================
--- tuxmath/trunk/src/fileops.h	2007-10-19 16:37:30 UTC (rev 303)
+++ tuxmath/trunk/src/fileops.h	2007-10-24 12:06:14 UTC (rev 304)
@@ -235,6 +235,7 @@
 int write_user_config_file(void);
 int read_high_scores(void);
 int write_high_scores(void);
+int write_goldstars(void);
 
 /* These functions used by game() to record game summary: */
 int write_pregame_summary(void);

Added: tuxmath/trunk/src/lessons.c
===================================================================
--- tuxmath/trunk/src/lessons.c	                        (rev 0)
+++ tuxmath/trunk/src/lessons.c	2007-10-24 12:06:14 UTC (rev 304)
@@ -0,0 +1,150 @@
+/*
+*  C Implementation: lessons
+*
+* Description: 
+*
+*
+* Author: David Bruce <dbruce at tampabay.rr.com>, (C) 2007
+*
+* Copyright: See COPYING file that comes with this distribution
+*
+*/
+#include "lessons.h"
+
+// extern unsigned char **lesson_list_titles;
+// extern unsigned char **lesson_list_filenames;
+int* lesson_list_goldstars = NULL;
+// extern int num_lessons;
+
+/* local function prototypes: */
+static int filename_comp(const unsigned char* s1, const unsigned char* s2);
+
+/* Reads the file pointed to by the arg and sets */
+/* lesson_list_goldstars* accordingly:           */
+int read_goldstars_fp(FILE* fp)
+{
+  char buf[PATH_MAX];
+  char* token;
+  const char delimiters[] = "\t\n\r"; /* this will keep newline chars out of string */
+  int i;
+
+#ifdef TUXMATH_DEBUG
+  printf("\nEntering read_goldstars_fp()\n");
+#endif
+
+  /* get out if file pointer invalid: */
+  if(!fp)
+  {
+    fprintf(stderr, "In read_goldstars_fp(), file pointer invalid!\n");
+    return 0;
+  }
+
+  if (num_lessons <= 0)
+  {
+    perror("no lessons - returning");
+    num_lessons = 0;
+    return 0;
+  }
+
+  /* Allocate storage for lesson list */
+
+  /* prevent memory leak in case we called this already and */
+  /* free the list:                                         */
+  if(lesson_list_goldstars)
+  {
+    free(lesson_list_goldstars);
+    lesson_list_goldstars = NULL;
+  }
+
+  lesson_list_goldstars = (int*)malloc(num_lessons*sizeof(int));
+  if (!lesson_list_goldstars)
+  {
+    perror("unable to allocate memory for gold star list");
+    return 0;
+  }
+  for (i = 0; i < num_lessons; i++)
+  {
+    lesson_list_goldstars[i] = 0;
+  }
+
+  /* make sure we start at beginning: */
+  rewind(fp);
+
+  /* read in a line at a time: */
+  while (fgets (buf, PATH_MAX, fp))
+  { 
+    /* Ignore comment lines: */
+    if ((buf[0] == ';') || (buf[0] == '#'))
+    {
+      continue;
+    }
+
+    /* Split up line with strtok()to get needed values -    */ 
+    /* for now, each line just contains a lesson file name, */
+    /* but eventually there may be more fields (e.g date, % correct) */
+    token = strtok(buf, delimiters);
+    if (!token)
+      continue;
+
+
+    /* Now set "goldstar" to 1 if we find a matching lesson: */
+    for (i = 0; i < num_lessons; i++)
+    {
+      /* compare basenames only, not entire path (see below): */
+      if (0 == filename_comp(token, lesson_list_filenames[i]))
+      {
+        lesson_list_goldstars[i] = 1;
+        break; //should not have to worry about duplicates
+      }
+    }
+  }
+  return 1;
+}
+
+
+/* Write lessons gold star list provided FILE* in format  */
+/* compatible with read_goldstars_fp () above.            */
+
+void write_goldstars_fp(FILE* fp)
+{
+  int i = 0;
+
+#ifdef TUXMATH_DEBUG
+  fprintf(stderr, "\nEntering write_goldstars_fp()\n");
+#endif
+
+  /* get out if file pointer invalid: */
+  if(!fp)
+  {
+    fprintf(stderr, "In write_goldstars_fp(), file pointer invalid!\n");
+    return;
+  }
+
+  /* make sure we start at beginning: */
+  rewind(fp);
+
+  for (i = 0; i < num_lessons; i++)
+  {
+#ifdef TUXMATH_DEBUG
+    printf("i = %d\nfilename = %s\ngoldstar = %d\n",
+           i, lesson_list_filenames[i],
+           lesson_list_goldstars[i]);
+#endif
+
+    if(lesson_list_goldstars[i] == 1)
+    {
+      fprintf(fp, "%s\n", lesson_list_filenames[i]);
+    }
+  }
+  return;
+}
+
+/* Perform a strcasecmp() on two path strings, stripping away all the */
+/* dirs in the path and just comparing the filenames themselves:      */
+static int filename_comp(const unsigned char* s1, const unsigned char* s2)
+{
+  char* f1 = basename(s1);
+  char* f2 = basename(s2);
+  return strcasecmp(f1, f2);
+}
+

Added: tuxmath/trunk/src/lessons.h
===================================================================
--- tuxmath/trunk/src/lessons.h	                        (rev 0)
+++ tuxmath/trunk/src/lessons.h	2007-10-24 12:06:14 UTC (rev 304)
@@ -0,0 +1,21 @@
+//
+// C Interface: lessons
+//
+// Description: Code for reading and parsing the lessons directory,
+//              as well as keeping track of the player's progress
+//
+//
+// Author: David Bruce <dbruce at tampabay.rr.com>, (C) 2007
+//
+// Copyright: See COPYING file that comes with this distribution
+// (Briefly, GNU GPL version 2 or greater).
+//
+#ifndef LESSONS_H
+#define LESSONS_H
+
+#include "tuxmath.h"
+
+int read_goldstars_fp(FILE* fp);
+void write_goldstars_fp(FILE* fp);
+
+#endif

Modified: tuxmath/trunk/src/setup.c
===================================================================
--- tuxmath/trunk/src/setup.c	2007-10-19 16:37:30 UTC (rev 303)
+++ tuxmath/trunk/src/setup.c	2007-10-24 12:06:14 UTC (rev 304)
@@ -643,8 +643,10 @@
   }
   free(lesson_list_titles);
   free(lesson_list_filenames);
+  free(lesson_list_goldstars);
   lesson_list_titles = NULL;
   lesson_list_filenames = NULL;
+  lesson_list_goldstars = NULL;
 
   // Close the audio mixer. We have to do this at least as many times
   // as it was opened.

Modified: tuxmath/trunk/src/titlescreen.c
===================================================================
--- tuxmath/trunk/src/titlescreen.c	2007-10-19 16:37:30 UTC (rev 303)
+++ tuxmath/trunk/src/titlescreen.c	2007-10-24 12:06:14 UTC (rev 304)
@@ -52,8 +52,8 @@
 } blits[MAX_UPDATES];
 
 // Lessons available for play
-unsigned char **lesson_list_titles;
-unsigned char **lesson_list_filenames;
+unsigned char **lesson_list_titles = NULL;
+unsigned char **lesson_list_filenames = NULL;
 int num_lessons = 0;
 
 // globals from tuxtype's globals.h defined outside of titlescreen.c (in tuxtype):
@@ -76,20 +76,26 @@
   SPRITE_ACE,
   SPRITE_QUIT,
   SPRITE_MAIN,
+  SPRITE_GOLDSTAR,
+  SPRITE_NO_GOLDSTAR,
   N_SPRITES};
 
 const unsigned char* menu_sprite_files[N_SPRITES] =
-  {"lesson",
-   "comet",
-   "help",
-   "tux_config",
-   "tux_config_brown",
-   "tux_helmet_yellow",
-   "tux_helmet_green",
-   "tux_helmet_blue",
-   "tux_helmet_red",
-   "quit",
-   "main"};
+{
+  "lesson",
+  "comet",
+  "help",
+  "tux_config",
+  "tux_config_brown",
+  "tux_helmet_yellow",
+  "tux_helmet_green",
+  "tux_helmet_blue",
+  "tux_helmet_red",
+  "quit",
+  "main",
+  "goldstar",
+  "no_goldstar"
+};
    
 sprite **sprite_list = NULL;
 
@@ -125,7 +131,7 @@
 int run_arcade_menu(void);
 int run_custom_menu(void);
 int run_options_menu(void);
-int choose_config_file(void);
+int run_lessons_menu(void);
 
 
 
@@ -643,7 +649,7 @@
     switch (choice) {
       case 0: {
 	// Training academy lessons
-	ret = choose_config_file();
+	ret = run_lessons_menu();
 	break;
       }
       case 1: {
@@ -878,15 +884,29 @@
 /* returns 0 if user pressed escape
  *         1 if config was set correctly
  */
-int choose_config_file(void)
+int run_lessons_menu(void)
 {
+  int i;
   int chosen_lesson = -1;
   menu_options menu_opts;
+  sprite** star_sprites = NULL;
 
+  /* Set up sprites with: */
+  star_sprites = (sprite**)malloc(num_lessons * sizeof(sprite*));
+  for (i = 0; i < num_lessons; i++)
+  {
+    if (lesson_list_goldstars[i])
+      star_sprites[i] = sprite_list[SPRITE_GOLDSTAR];
+    else
+      star_sprites[i] = sprite_list[SPRITE_NO_GOLDSTAR];
+  }
+
   set_default_menu_options(&menu_opts);
 
-  chosen_lesson = choose_menu_item((const) lesson_list_titles,NULL,num_lessons,menu_opts);
-  while (chosen_lesson >= 0) {
+  chosen_lesson = choose_menu_item((const)lesson_list_titles, star_sprites, num_lessons, menu_opts);
+
+  while (chosen_lesson >= 0) 
+  {
     if (Opts_MenuSound())
       {tuxtype_playsound(sounds[SND_POP]);}
     
@@ -896,25 +916,38 @@
     
     /* Now read the selected file and play the "mission": */ 
     if (read_named_config_file(lesson_list_filenames[chosen_lesson]))
+    {
+      if (Opts_MenuMusic())  //Turn menu music off for game
+        {audioMusicUnload();}
+
+      game();
+
+      /* If successful, display Gold Star for this lesson: */
+      if (MC_MissionAccomplished())
       {
-	if (Opts_MenuMusic())  //Turn menu music off for game
-	  {audioMusicUnload();}
-	
-	game();
-	
-	if (Opts_MenuMusic()) //Turn menu music back on
-	  {audioMusicLoad( "tuxi.ogg", -1 );}
+        lesson_list_goldstars[chosen_lesson] = 1;
+        star_sprites[chosen_lesson] = sprite_list[SPRITE_GOLDSTAR];
+       /* and save to disk: */
+        write_goldstars();
       }
-    else  // Something went wrong - could not read config file:
-      {
-	fprintf(stderr, "\nCould not find file: %s\n", lesson_list_filenames[chosen_lesson]);
-	chosen_lesson = -1;
-      }
+
+      if (Opts_MenuMusic()) //Turn menu music back on
+        {audioMusicLoad("tuxi.ogg", -1);}
+    }
+    else  // Something went wrong - could not read lesson config file:
+    {
+      fprintf(stderr, "\nCould not find file: %s\n", lesson_list_filenames[chosen_lesson]);
+      chosen_lesson = -1;
+    }
     // Let the user choose another lesson; start with the screen and
     // selection that we ended with
     menu_opts.starting_entry = chosen_lesson;
-    chosen_lesson = choose_menu_item((const) lesson_list_titles,NULL,num_lessons,menu_opts);
+    chosen_lesson = choose_menu_item((const)lesson_list_titles, star_sprites, num_lessons, menu_opts);
   }
+
+  free(star_sprites);
+  star_sprites = NULL;
+
   if (chosen_lesson < 0)
     return 0;
   else
@@ -924,6 +957,7 @@
 
 /****************************************************************/
 /* choose_menu_item: menu navigation utility function           */
+/* (the function returns the index for the selected menu item)  */
 /****************************************************************/
 int choose_menu_item(const unsigned char **menu_text, sprite **menu_sprites, int n_menu_entries, menu_options menu_opts)
 {
@@ -1005,15 +1039,15 @@
     n_entries_per_screen = n_menu_entries;
 
   /**** Memory allocation for current screen rects  ****/
-  menu_text_rect = (SDL_Rect*) malloc(n_entries_per_screen*sizeof(SDL_Rect));
-  menu_button_rect = (SDL_Rect*) malloc(n_entries_per_screen*sizeof(SDL_Rect));
+  menu_text_rect = (SDL_Rect*) malloc(n_entries_per_screen * sizeof(SDL_Rect));
+  menu_button_rect = (SDL_Rect*) malloc(n_entries_per_screen * sizeof(SDL_Rect));
   if (menu_text_rect == NULL || menu_button_rect == NULL) {
     free(menu_text_rect);
     free(menu_button_rect);
     return -2;
   }
   if (menu_sprites != NULL) {
-    menu_sprite_rect = (SDL_Rect*) malloc(n_entries_per_screen*sizeof(SDL_Rect));
+    menu_sprite_rect = (SDL_Rect*) malloc(n_entries_per_screen * sizeof(SDL_Rect));
     if (menu_sprite_rect == NULL) {
       free(menu_sprite_rect);
       return -2;
@@ -1130,7 +1164,7 @@
                 tuxtype_playsound(sounds[SND_TOCK]);
               }
               loc = loc_screen_start + i;
-              break;
+              break;   /* from for loop */
             }
           }
 
@@ -1144,8 +1178,8 @@
                 tuxtype_playsound(sounds[SND_TOCK]);
                 click_flag = 0;
               }
-              break;
             }
+            break;  /* from case switch */
           }
 
           /* "Right" button - go to next page: */
@@ -1158,13 +1192,14 @@
                 tuxtype_playsound(sounds[SND_TOCK]);
                 click_flag = 0;
               }
-              break;
             }
+            break;  /* from case switch */
           }
+
           else  // Mouse outside of arrow rects - re-enable click sound:
           {
             click_flag = 1;
-            break;
+            break;  /* from case switch */
           }
         }
 

Modified: tuxmath/trunk/src/tuxmath.c
===================================================================
--- tuxmath/trunk/src/tuxmath.c	2007-10-19 16:37:30 UTC (rev 303)
+++ tuxmath/trunk/src/tuxmath.c	2007-10-24 12:06:14 UTC (rev 304)
@@ -34,10 +34,10 @@
 {
 #ifndef MACOSX
 #ifndef WIN32
-setlocale(LC_ALL, "");
-bindtextdomain(PACKAGE, LOCALEDIR);
-bind_textdomain_codeset(PACKAGE, "UTF-8");
-textdomain(PACKAGE);
+  setlocale(LC_ALL, "");
+  bindtextdomain(PACKAGE, LOCALEDIR);
+  bind_textdomain_codeset(PACKAGE, "UTF-8");
+  textdomain(PACKAGE);
 #endif
 #endif
 

Modified: tuxmath/trunk/src/tuxmath.h
===================================================================
--- tuxmath/trunk/src/tuxmath.h	2007-10-19 16:37:30 UTC (rev 303)
+++ tuxmath/trunk/src/tuxmath.h	2007-10-24 12:06:14 UTC (rev 304)
@@ -49,7 +49,7 @@
 #endif
 
 //#define NOSOUND
-//#define TUXMATH_DEBUG   /* for conditional compilation of debugging output */
+#define TUXMATH_DEBUG   /* for conditional compilation of debugging output */
 //#define FEEDBACK_DEBUG  /* for Tim's feedback speed control code           */
 
 /* Maximum length of file path: */
@@ -177,8 +177,11 @@
 extern int opers[NUM_OPERS], range_enabled[NUM_Q_RANGES];
 
 #define NAME_BUF_SIZE 200
+
+/* data for 'Training Academy' lessons: */
 extern unsigned char **lesson_list_titles;
 extern unsigned char **lesson_list_filenames;
+extern int* lesson_list_goldstars;
 extern int num_lessons;
 
 /* NOTE: default values for math options are now in mathcards.h */




More information about the Tux4kids-commits mailing list