{ "spring.ypos", "13" },
{ "spring.frames", "1" },
+ { "spring.left", UNDEFINED_FILENAME },
+ { "spring.left.clone_from", "spring" },
+ { "spring.right", UNDEFINED_FILENAME },
+ { "spring.right.clone_from", "spring" },
+
{ "emc_steelwall_1", "RocksDC.png" },
{ "emc_steelwall_1.xpos", "14" },
{ "emc_steelwall_1.ypos", "0" },
EL_EMC_MAGIC_BALL,
EL_EMC_MAGIC_BALL_SWITCH,
- EL_SPRING,
- EL_EMC_SPRING_BUMPER,
-
EL_EMC_LENSES,
EL_EMC_MAGNIFIER,
- EL_EMPTY,
- EL_EMPTY,
+
+ EL_SPRING_LEFT,
+ EL_SPRING,
+ EL_SPRING_RIGHT,
+ EL_EMC_SPRING_BUMPER,
EL_BALLOON,
EL_YAMYAM_UP,
{ EL_EMC_LENSES, &level.lenses_score, TEXT_COLLECTING },
{ EL_EMC_MAGNIFIER, &level.magnify_score, TEXT_COLLECTING },
{ EL_SPRING, &level.slurp_score, TEXT_SLURPING },
+ { EL_SPRING_LEFT, &level.slurp_score, TEXT_SLURPING },
+ { EL_SPRING_RIGHT, &level.slurp_score, TEXT_SLURPING },
{ EL_EMC_LENSES, &level.lenses_time, TEXT_DURATION },
{ EL_EMC_MAGNIFIER, &level.magnify_time, TEXT_DURATION },
{ EL_MM_FUSE_ACTIVE, &level.mm_time_fuse, TEXT_DELAY_OFF },
if (MAYBE_DONT_COLLIDE_WITH(properties_element))
MapCheckbuttonGadget(ED_CHECKBUTTON_ID_DONT_COLLIDE_WITH);
- if (properties_element == EL_SPRING)
+ if (properties_element == EL_SPRING ||
+ properties_element == EL_SPRING_LEFT ||
+ properties_element == EL_SPRING_RIGHT)
MapCheckbuttonGadget(ED_CHECKBUTTON_ID_USE_SPRING_BUG);
if (properties_element == EL_TIME_ORB_FULL)
case EL_MOLE_RIGHT:
case EL_MOLE_UP:
case EL_MOLE_DOWN:
+ case EL_SPRING_LEFT:
+ case EL_SPRING_RIGHT:
InitMovDir(x, y);
break;
MovDir[x][y] = direction[2][element - EL_MOLE_LEFT];
break;
+ case EL_SPRING_LEFT:
+ case EL_SPRING_RIGHT:
+ Feld[x][y] = EL_SPRING;
+ MovDir[x][y] = direction[2][element - EL_SPRING_LEFT];
+ break;
+
default:
if (IS_CUSTOM_ELEMENT(element))
{
EL_MOLE_LEFT, EL_MOLE_RIGHT,
EL_MOLE_UP, EL_MOLE_DOWN
},
+ {
+ EL_SPRING,
+ EL_SPRING_LEFT, EL_SPRING_RIGHT,
+ EL_SPRING_LEFT, EL_SPRING_RIGHT, // (to match array size)
+ },
{
-1,
-1, -1, -1, -1
{ EL_SP_ELECTRON, 15 },
{ EL_BALLOON, 16 },
{ EL_SPRING, 17 },
+ { EL_SPRING_LEFT, 17 },
+ { EL_SPRING_RIGHT, 17 },
{ EL_EMC_ANDROID, 18 },
{ -1, -1 },
"df_wooden_wall",
"wooden wall (DF style)",
},
+ {
+ "spring.left",
+ "spring",
+ "spring (starts moving left)"
+ },
+ {
+ "spring.right",
+ "spring",
+ "spring (starts moving right)"
+ },
// --------------------------------------------------------------------------
// "real" (and therefore drawable) runtime elements
#define EL_MM_END_2 (EL_DF_START2 + 430)
#define EL_MM_END EL_MM_END_2
-#define NUM_FILE_ELEMENTS 1215
+#define EL_SPRING_LEFT 1215
+#define EL_SPRING_RIGHT 1216
+
+#define NUM_FILE_ELEMENTS 1217
// "real" (and therefore drawable) runtime elements
},
{
Xspring_e, FALSE, FALSE,
- EL_SPRING, -1, -1
+ EL_SPRING_RIGHT, -1, -1
},
{
Xspring_w, FALSE, FALSE,
- EL_SPRING, -1, -1
+ EL_SPRING_LEFT, -1, -1
},
{
Xspring_fall, FALSE, FALSE,
EL_NUT, -1, MV_BIT_LEFT
},
{
- Xpush_spring_e, FALSE, FALSE,
- EL_SPRING, -1, MV_BIT_RIGHT
+ Xpush_spring_e, TRUE, FALSE,
+ EL_SPRING_RIGHT, -1, MV_BIT_RIGHT
},
{
- Xpush_spring_w, FALSE, FALSE,
- EL_SPRING, -1, MV_BIT_LEFT
+ Xpush_spring_w, TRUE, FALSE,
+ EL_SPRING_LEFT, -1, MV_BIT_LEFT
},
{