Code: Select all
$ diff -Nur /home/mvg/.Osmos{.bac,}/Config.cfg
--- ~/.Osmos.bac/Config.cfg 2010-10-11 18:48:35.019527006 +0200
+++ ~/.Osmos/Config.cfg 2010-10-11 19:11:59.875644582 +0200
@@ -10,9 +10,9 @@
promptFullscreenOnStartup "0"
mouseOnly "0"
vsync "0"
-drawOrbit "1"
+drawOrbit "0"
drawHUD "1"
-ss_EffectsGain "0,300000"
-ss_MusicGain "0,200000"
+ss_EffectsGain "1.0"
+ss_MusicGain "1.0"
streamMusic "1"
soundDevice "-1"
$ locale
LANG=de_DE.utf8
LC_CTYPE=de_DE.utf8
LC_NUMERIC="de_DE.utf8"
LC_TIME="de_DE.utf8"
LC_COLLATE="de_DE.utf8"
LC_MONETARY="de_DE.utf8"
LC_MESSAGES=C
LC_PAPER="de_DE.utf8"
LC_NAME="de_DE.utf8"
LC_ADDRESS="de_DE.utf8"
LC_TELEPHONE="de_DE.utf8"
LC_MEASUREMENT="de_DE.utf8"
LC_IDENTIFICATION="de_DE.utf8"
LC_ALL=
I suggest you set the LC_NUMERIC facet of the locale to "C" when saving and loading the configuration file, so that the semantics of the file won't depend on the current locale. As an additional improvement you might also detect parsing errors for these numbers (perhaps using strtol instead of atoi), and use the same default you use for a new profile if the numbers couldn't be parsed.