Only in .: .deps
Only in .: Makefile
Only in .: archi.o
Only in .: bonus.o
Only in .: config.log
Only in .: config.status
diff -u ../toppler-1.0.2-org/configuration.cc ./configuration.cc
--- ../toppler-1.0.2-org/configuration.cc	Sat Mar  8 11:01:00 2003
+++ ./configuration.cc	Tue Jun 10 00:05:52 2003
@@ -104,6 +104,9 @@
   i_debug_level = 0;
   i_game_speed = DEFAULT_GAME_SPEED;
 
+  i_no_collisions = false;
+  i_infinite_lives = false;
+
   first_data = 0;
   need_save = (local == 0);
 
Only in .: configuration.cc~
diff -u ../toppler-1.0.2-org/configuration.h ./configuration.h
--- ../toppler-1.0.2-org/configuration.h	Sat Mar  8 11:01:00 2003
+++ ./configuration.h	Tue Jun 10 00:05:17 2003
@@ -94,6 +94,12 @@
   int  game_speed() const { return i_game_speed; }
   void game_speed(int spd) { need_save = true; i_game_speed = spd; }
 
+  bool infinite_lives() const { return i_infinite_lives; }
+  void infinite_lives(bool on) { i_infinite_lives = on; }
+
+  bool no_collisions() const { return i_no_collisions; }
+  void no_collisions(bool on) { i_no_collisions = on; }
+
 private:
 
   FILE *f;
@@ -138,6 +144,8 @@
 
   bool need_save;
 
+  bool i_no_collisions;
+  bool i_infinite_lives;
 };
 
 extern configuration config;
Only in .: configuration.h~
Only in .: configuration.o
Only in .: decl.o
Only in .: elevators.o
Only in .: game.o
Only in .: highscore.o
Only in .: keyb.o
Only in .: level.o
Only in .: leveledit.o
diff -u ../toppler-1.0.2-org/main.cc ./main.cc
--- ../toppler-1.0.2-org/main.cc	Sat Mar  8 16:01:00 2003
+++ ./main.cc	Tue Jun 10 00:05:37 2003
@@ -37,6 +37,8 @@
   printf("  -f\tEnable fullscreen mode\n");
   printf("  -s\tSilence, disable all sound\n");
   printf("  -dX\tSet debug level to X  (default: %i)\n", config.debug_level());
+  printf("  -l\tInfinite Lives\n");
+  printf("  -c\tNo Collisions\n");
 }
 
 static bool parse_arguments(int argc, char *argv[]) {
@@ -49,6 +51,10 @@
         printf("Debug level is now %c.\n", parm);
         config.debug_level(parm - '0');
       } else printf("Illegal debug level value, using default.\n");
+    } else if (!strncmp(argv[t], "-l", 2)) {
+      config.infinite_lives(true);
+    } else if (!strncmp(argv[t], "-c", 2)) {
+      config.no_collisions(true);
     } else {
       printhelp();
       return false;
Only in .: main.cc~
Only in .: main.o
Only in .: menu.o
Only in .: menusys.o
diff -u ../toppler-1.0.2-org/points.cc ./points.cc
--- ../toppler-1.0.2-org/points.cc	Sun Jan 26 14:26:00 2003
+++ ./points.cc	Tue Jun 10 00:06:22 2003
@@ -56,7 +56,8 @@
 }
 
 void pts_died(void) {
-  lifes--;
+  if (!config.infinite_lives())
+    lifes--;
 }
 
 bool pts_lifesleft(void) {
Only in .: points.cc~
Only in .: points.o
Only in .: robots.o
Only in .: screen.o
Only in .: snowball.o
Only in .: sound.o
Only in .: sprites.o
Only in .: stars.o
Only in .: toppler
diff -u ../toppler-1.0.2-org/toppler.cc ./toppler.cc
--- ../toppler-1.0.2-org/toppler.cc	Sun Jan 26 14:26:00 2003
+++ ./toppler.cc	Tue Jun 10 00:06:09 2003
@@ -23,6 +23,7 @@
 #include "snowball.h"
 #include "level.h"
 #include "sound.h"
+#include "configuration.h"
 
 /* the position of the animal on the tower */
 int anglepos;
@@ -716,6 +717,10 @@
     return;
   } else {
     nr = rob_topplercollision(anglepos, verticalpos + 1);
+
+    if (config.no_collisions())
+      nr = -1;
+
     if (nr != -1) {
 
       if (rob_kind(nr) == OBJ_KIND_CROSS)
Only in .: toppler.cc~
Only in .: toppler.desktop
Only in .: toppler.o
Only in .: txtsys.o
