rnd-20031004-1-src
[rocksndiamonds.git] / src / editor.c
index 0fb85a1a7fdc0c710f15e71333b11cfafc1ee6a8..0b9ad87861e15e2c3a0906bf7babe8d99290e4f2 100644 (file)
@@ -950,7 +950,7 @@ static struct
     GADGET_ID_CHANGE_CONT_RND_DOWN,    GADGET_ID_CHANGE_CONT_RND_UP,
     GADGET_ID_CHANGE_CONT_RND_TEXT,    GADGET_ID_NONE,
     &custom_element_change.random,
-    NULL,                              "use random change:", "(%)"
+    NULL,                              "use random replace:", "%"
   },
 };
 
@@ -1043,6 +1043,7 @@ static struct ValueTextInfo options_move_pattern[] =
   { MV_ALONG_RIGHT_SIDE,       "along right side"              },
   { MV_TURNING_LEFT,           "turning left"                  },
   { MV_TURNING_RIGHT,          "turning right"                 },
+  { MV_WHEN_PUSHED,            "when pushed"                   },
   { -1,                                NULL                            }
 };
 
@@ -1104,20 +1105,21 @@ static struct ValueTextInfo options_consistency[] =
 
 static struct ValueTextInfo options_time_units[] =
 {
-  { FRAMES_PER_SECOND,         "seconds"                       },
   { 1,                         "frames"                        },
+  { FRAMES_PER_SECOND,         "seconds"                       },
   { -1,                                NULL                            }
 };
 
 static struct ValueTextInfo options_change_direct_action[] =
 {
-  { CE_TOUCHED_BY_PLAYER,      "touched by player"             },
-  { CE_PRESSED_BY_PLAYER,      "pressed by player"             },
-  { CE_PUSHED_BY_PLAYER,       "pushed by player"              },
-  { CE_ENTERED_BY_PLAYER,      "entered by player"             },
-  { CE_LEFT_BY_PLAYER,         "left by player"                },
+  { CE_TOUCHED_BY_PLAYER,      "touched by player ..."         },
+  { CE_PRESSED_BY_PLAYER,      "pressed by player ..."         },
+  { CE_SWITCHED_BY_PLAYER,     "switched by player ..."        },
+  { CE_PUSHED_BY_PLAYER,       "pushed by player ..."          },
+  { CE_ENTERED_BY_PLAYER,      "entered by player ..."         },
+  { CE_LEFT_BY_PLAYER,         "left by player ..."            },
   { CE_DROPPED_BY_PLAYER,      "dropped by player"             },
-  { CE_COLLISION,              "collision"                     },
+  { CE_COLLISION,              "collision ..."                 },
   { CE_IMPACT,                 "impact"                        },
   { CE_SMASHED,                        "smashed"                       },
   { -1,                                NULL                            }
@@ -1125,11 +1127,12 @@ static struct ValueTextInfo options_change_direct_action[] =
 
 static struct ValueTextInfo options_change_other_action[] =
 {
-  { CE_OTHER_GETS_TOUCHED,     "player touches"                },
-  { CE_OTHER_GETS_PRESSED,     "player presses"                },
-  { CE_OTHER_GETS_PUSHED,      "player pushes"                 },
-  { CE_OTHER_GETS_ENTERED,     "player enters"                 },
-  { CE_OTHER_GETS_LEFT,                "player leaves"                 },
+  { CE_OTHER_GETS_TOUCHED,     "player touches ..."            },
+  { CE_OTHER_GETS_PRESSED,     "player presses ..."            },
+  { CE_OTHER_GETS_SWITCHED,    "player switches ..."           },
+  { CE_OTHER_GETS_PUSHED,      "player pushes ..."             },
+  { CE_OTHER_GETS_ENTERED,     "player enters ..."             },
+  { CE_OTHER_GETS_LEFT,                "player leaves ..."             },
   { CE_OTHER_GETS_DIGGED,      "player digs"                   },
   { CE_OTHER_GETS_COLLECTED,   "player collects"               },
   { CE_OTHER_GETS_DROPPED,     "player drops"                  },
@@ -1659,13 +1662,13 @@ static struct
     ED_SETTINGS_XPOS(2),               ED_SETTINGS_YPOS(11),
     GADGET_ID_CHANGE_ONLY_COMPLETE,    GADGET_ID_NONE,
     &custom_element_change.only_complete,
-    NULL, "only use complete change",  "only use complete extended content"
+    NULL, "replace all or nothing",    "only replace when all can be changed"
   },
   {
     ED_SETTINGS_XPOS(2),               ED_SETTINGS_YPOS(12),
     GADGET_ID_CHANGE_USE_RANDOM,       GADGET_ID_NONE,
     &custom_element_change.use_random_change,
-    NULL, NULL,                                "use random value for new content"
+    NULL, NULL,                                "use percentage for random replace"
   },
   {
     ED_SETTINGS_XPOS(0),               ED_SETTINGS_YPOS(13),
@@ -2092,17 +2095,17 @@ static int editor_el_more[] =
   EL_PIG,
   EL_DRAGON,
 
-  EL_EMPTY,
+  EL_BUG,
   EL_MOLE_UP,
-  EL_EMPTY,
-  EL_EMPTY,
+  EL_BD_BUTTERFLY,
+  EL_BD_FIREFLY,
 
   EL_MOLE_LEFT,
   EL_EMPTY,
   EL_MOLE_RIGHT,
-  EL_EMPTY,
+  EL_PACMAN,
 
-  EL_EMPTY,
+  EL_SPACESHIP,
   EL_MOLE_DOWN,
   EL_BALLOON,
   EL_BALLOON_SWITCH_ANY,
@@ -4588,6 +4591,7 @@ static void CopyCustomElementPropertiesToEditor(int element)
   custom_element_change.direct_action =
     (HAS_CHANGE_EVENT(element, CE_TOUCHED_BY_PLAYER) ? CE_TOUCHED_BY_PLAYER :
      HAS_CHANGE_EVENT(element, CE_PRESSED_BY_PLAYER) ? CE_PRESSED_BY_PLAYER :
+     HAS_CHANGE_EVENT(element, CE_SWITCHED_BY_PLAYER) ? CE_SWITCHED_BY_PLAYER :
      HAS_CHANGE_EVENT(element, CE_PUSHED_BY_PLAYER) ? CE_PUSHED_BY_PLAYER :
      HAS_CHANGE_EVENT(element, CE_ENTERED_BY_PLAYER) ? CE_ENTERED_BY_PLAYER :
      HAS_CHANGE_EVENT(element, CE_LEFT_BY_PLAYER) ? CE_LEFT_BY_PLAYER :
@@ -4601,6 +4605,7 @@ static void CopyCustomElementPropertiesToEditor(int element)
   custom_element_change.other_action =
     (HAS_CHANGE_EVENT(element, CE_OTHER_GETS_TOUCHED) ? CE_OTHER_GETS_TOUCHED :
      HAS_CHANGE_EVENT(element, CE_OTHER_GETS_PRESSED) ? CE_OTHER_GETS_PRESSED :
+     HAS_CHANGE_EVENT(element, CE_OTHER_GETS_SWITCHED) ? CE_OTHER_GETS_SWITCHED :
      HAS_CHANGE_EVENT(element, CE_OTHER_GETS_PUSHED) ? CE_OTHER_GETS_PUSHED :
      HAS_CHANGE_EVENT(element, CE_OTHER_GETS_ENTERED) ? CE_OTHER_GETS_ENTERED :
      HAS_CHANGE_EVENT(element, CE_OTHER_GETS_LEFT) ? CE_OTHER_GETS_LEFT :
@@ -4704,6 +4709,7 @@ static void CopyCustomElementPropertiesToGame(int element)
   /* set player change event from checkbox and selectbox */
   custom_element_change_events[CE_TOUCHED_BY_PLAYER] = FALSE;
   custom_element_change_events[CE_PRESSED_BY_PLAYER] = FALSE;
+  custom_element_change_events[CE_SWITCHED_BY_PLAYER] = FALSE;
   custom_element_change_events[CE_PUSHED_BY_PLAYER] = FALSE;
   custom_element_change_events[CE_ENTERED_BY_PLAYER] = FALSE;
   custom_element_change_events[CE_LEFT_BY_PLAYER] = FALSE;
@@ -4717,6 +4723,7 @@ static void CopyCustomElementPropertiesToGame(int element)
   /* set other element action change event from checkbox and selectbox */
   custom_element_change_events[CE_OTHER_GETS_TOUCHED] = FALSE;
   custom_element_change_events[CE_OTHER_GETS_PRESSED] = FALSE;
+  custom_element_change_events[CE_OTHER_GETS_SWITCHED] = FALSE;
   custom_element_change_events[CE_OTHER_GETS_PUSHED] = FALSE;
   custom_element_change_events[CE_OTHER_GETS_ENTERED] = FALSE;
   custom_element_change_events[CE_OTHER_GETS_LEFT] = FALSE;
@@ -7571,10 +7578,12 @@ void RequestExitLevelEditor(boolean ask_if_level_has_changed)
       Request("Level has changed! Exit without saving ?",
              REQ_ASK | REQ_STAY_OPEN))
   {
+#if 1
     CloseDoor(DOOR_CLOSE_1);
-    /*
+    SetDoorState(DOOR_CLOSE_2);
+#else
     CloseDoor(DOOR_CLOSE_ALL);
-    */
+#endif
     game_status = GAME_MODE_MAIN;
     DrawMainMenu();
   }