rnd-19981221-1
[rocksndiamonds.git] / src / init.c
index 4ff449d904886b55daa253e80a5d2325308292f8..6527025dca50f3c45dad13a761c8783dfe6cc1d0 100644 (file)
@@ -17,6 +17,7 @@
 #include "misc.h"
 #include "sound.h"
 #include "screens.h"
+#include "editor.h"
 #include "tools.h"
 #include "files.h"
 #include "joystick.h"
@@ -66,6 +67,7 @@ void OpenAll(int argc, char *argv[])
   InitSoundServer();
   InitJoysticks();
   InitRND(NEW_RANDOMIZE);
+  InitLevelEditorGadgets();
 
   signal(SIGINT, CloseAllAndExit);
   signal(SIGTERM, CloseAllAndExit);
@@ -160,20 +162,21 @@ void InitSound()
   */
 
 #endif
-#else
+#else /* MSDOS */
   sound_loops_allowed = TRUE;
 
   /*
   setup.sound_loops_on = TRUE;
   */
 
-#endif
+#endif /* MSDOS */
 
   for(i=0; i<NUM_SOUNDS; i++)
   {
 #ifdef MSDOS
-  sprintf(sound_name[i], "%d", i+1);
+    sprintf(sound_name[i], "%d", i + 1);
 #endif
+
     Sound[i].name = sound_name[i];
     if (!LoadSound(&Sound[i]))
     {
@@ -189,6 +192,7 @@ void InitSoundServer()
     return;
 
 #ifndef MSDOS
+
   if (pipe(sound_pipe)<0)
   {
     Error(ERR_WARN, "cannot create pipe - no sounds");
@@ -212,9 +216,12 @@ void InitSoundServer()
   }
   else                         /* we are parent */
     close(sound_pipe[0]);      /* no reading from pipe needed */
-#else
+
+#else /* MSDOS */
+
   SoundServer();
-#endif
+
+#endif /* MSDOS */
 }
 
 void InitJoysticks()
@@ -255,7 +262,8 @@ void InitJoysticks()
 
     joystick_status = JOYSTICK_AVAILABLE;
   }
-#else
+
+#else /* MSDOS */
 
   /* try to access two joysticks; if that fails, try to access just one */
   if (install_joystick(JOY_TYPE_2PADS) == 0 ||
@@ -533,7 +541,7 @@ void InitGfx()
 #ifdef MSDOS
   DrawInitText("MSDOS version done by Guido Schulz",210,FC_BLUE);
   rest(200);
-#endif MSDOS
+#endif /* MSDOS */
   DrawInitText("Loading graphics:",120,FC_GREEN);
 
   for(i=0; i<NUM_PICTURES; i++)
@@ -659,13 +667,7 @@ void LoadGfx(int pos, struct PictureFileInfo *pic)
   char *picturemask_ext = "Mask.xbm";
 #else
   int pcx_err;
-
-#if 1
   char *picture_ext = ".pcx";
-#else
-  char *picture_ext = ".gif";
-#endif
-
 #endif
 
   /* Grafik laden */
@@ -678,7 +680,7 @@ void LoadGfx(int pos, struct PictureFileInfo *pic)
 
 #ifdef MSDOS
     rest(100);
-#endif MSDOS
+#endif /* MSDOS */
 
 #if DEBUG_TIMING
     debug_print_timestamp(1, NULL);    /* initialize timestamp function */
@@ -1243,6 +1245,16 @@ void InitElementProperties()
   };
   static int ep_player_num = sizeof(ep_player)/sizeof(int);
 
+  static int ep_has_content[] =
+  {
+    EL_MAMPFER,
+    EL_AMOEBE_NASS,
+    EL_AMOEBE_NORM,
+    EL_AMOEBE_VOLL,
+    EL_AMOEBE_BD
+  };
+  static int ep_has_content_num = sizeof(ep_has_content)/sizeof(int);
+
   static long ep_bit[] =
   {
     EP_BIT_AMOEBALIVE,
@@ -1269,7 +1281,8 @@ void InitElementProperties()
     EP_BIT_EXPLOSIVE,
     EP_BIT_MAMPF3,
     EP_BIT_PUSHABLE,
-    EP_BIT_PLAYER
+    EP_BIT_PLAYER,
+    EP_BIT_HAS_CONTENT
   };
   static int *ep_array[] =
   {
@@ -1297,7 +1310,8 @@ void InitElementProperties()
     ep_explosive,
     ep_mampf3,
     ep_pushable,
-    ep_player
+    ep_player,
+    ep_has_content
   };
   static int *ep_num[] =
   {
@@ -1325,7 +1339,8 @@ void InitElementProperties()
     &ep_explosive_num,
     &ep_mampf3_num,
     &ep_pushable_num,
-    &ep_player_num
+    &ep_player_num,
+    &ep_has_content_num
   };
   static int num_properties = sizeof(ep_num)/sizeof(int *);