Now the growings animation looks pretty cool :)
[supertux.git] / src / configfile.cpp
index c415d13..76f065c 100644 (file)
@@ -23,6 +23,7 @@
 #include "setup.h"
 #include "globals.h"
 #include "lispreader.h"
+#include "player.h"
 
 #ifdef WIN32
 const char * config_filename = "/st_config.dat";
@@ -73,36 +74,44 @@ void loadconfig(void)
 
   LispReader reader(lisp_cdr(root_obj));
 
-  reader.read_bool("fullscreen", &use_fullscreen);
-  reader.read_bool("sound",      &use_sound);
-  reader.read_bool("music",      &use_music);
-  reader.read_bool("show_fps",   &show_fps);
+  reader.read_bool("fullscreen", use_fullscreen);
+  reader.read_bool("sound",      use_sound);
+  reader.read_bool("music",      use_music);
+  reader.read_bool("show_fps",   show_fps);
 
   std::string video;
-  reader.read_string ("video", &video);
+  reader.read_string ("video", video);
   if (video == "opengl")
     use_gl = true;
   else
     use_gl = false;
 
-  reader.read_int ("joystick", &joystick_num);
+  reader.read_int ("joystick", joystick_num);
   if (!(joystick_num >= 0))
     use_joystick = false;
   else
     use_joystick = true;
 
-  reader.read_int ("joystick-x", &joystick_keymap.x_axis);
-  reader.read_int ("joystick-y", &joystick_keymap.y_axis);
-  reader.read_int ("joystick-a", &joystick_keymap.a_button);
-  reader.read_int ("joystick-b", &joystick_keymap.b_button);
-  reader.read_int ("joystick-start", &joystick_keymap.start_button);
-  reader.read_int ("joystick-deadzone", &joystick_keymap.dead_zone);
+  reader.read_int ("joystick-x", joystick_keymap.x_axis);
+  reader.read_int ("joystick-y", joystick_keymap.y_axis);
+  reader.read_int ("joystick-a", joystick_keymap.a_button);
+  reader.read_int ("joystick-b", joystick_keymap.b_button);
+  reader.read_int ("joystick-start", joystick_keymap.start_button);
+  reader.read_int ("joystick-deadzone", joystick_keymap.dead_zone);
+
+  reader.read_int ("keyboard-jump", keymap.jump);
+  reader.read_int ("keyboard-activate", keymap.activate);
+  reader.read_int ("keyboard-duck", keymap.duck);
+  reader.read_int ("keyboard-left", keymap.left);
+  reader.read_int ("keyboard-right", keymap.right);
+  reader.read_int ("keyboard-fire", keymap.fire);
+
+  lisp_free(root_obj);
 }
 
 void saveconfig (void)
 {
   /* write settings to config file */
-
   FILE * config = opendata(config_filename, "w");
 
   if(config)
@@ -127,6 +136,12 @@ void saveconfig (void)
       fprintf(config, "\t(joystick-start  %d)\n", joystick_keymap.start_button);
       fprintf(config, "\t(joystick-deadzone  %d)\n", joystick_keymap.dead_zone);
 
+      fprintf(config, "\t(keyboard-jump  %d)\n", keymap.jump);
+      fprintf(config, "\t(keyboard-duck  %d)\n", keymap.duck);
+      fprintf(config, "\t(keyboard-left  %d)\n", keymap.left);
+      fprintf(config, "\t(keyboard-right %d)\n", keymap.right);
+      fprintf(config, "\t(keyboard-fire  %d)\n", keymap.fire);
+
       fprintf(config, ")\n");
     }
 }