EL_EM_KEY_3_FILE,
EL_EM_KEY_4_FILE,
- EL_EM_GATE_1_CLOSED,
- EL_EM_GATE_2_CLOSED,
- EL_EM_GATE_3_CLOSED,
- EL_EM_GATE_4_CLOSED,
-
- EL_EM_GATE_1_GRAY_CLOSED,
- EL_EM_GATE_2_GRAY_CLOSED,
- EL_EM_GATE_3_GRAY_CLOSED,
- EL_EM_GATE_4_GRAY_CLOSED,
+ EL_EM_GATE_1,
+ EL_EM_GATE_2,
+ EL_EM_GATE_3,
+ EL_EM_GATE_4,
+
+ EL_EM_GATE_1_GRAY,
+ EL_EM_GATE_2_GRAY,
+ EL_EM_GATE_3_GRAY,
+ EL_EM_GATE_4_GRAY,
};
static int num_editor_el_emerald_mine = SIZEOF_ARRAY_INT(editor_el_emerald_mine);
EL_KEY_3,
EL_KEY_4,
- EL_GATE_1_CLOSED,
- EL_GATE_2_CLOSED,
- EL_GATE_3_CLOSED,
- EL_GATE_4_CLOSED,
+ EL_GATE_1,
+ EL_GATE_2,
+ EL_GATE_3,
+ EL_GATE_4,
- EL_GATE_1_GRAY_CLOSED,
- EL_GATE_2_GRAY_CLOSED,
- EL_GATE_3_GRAY_CLOSED,
- EL_GATE_4_GRAY_CLOSED,
+ EL_GATE_1_GRAY,
+ EL_GATE_2_GRAY,
+ EL_GATE_3_GRAY,
+ EL_GATE_4_GRAY,
EL_ARROW_LEFT,
EL_ARROW_RIGHT,
int old_game_status = game_status;
/* setting 'game_status' is needed to get the right fonts for the editor */
- game_status = LEVELED;
+ game_status = GAME_MODE_EDITOR;
ReinitializeElementList();
else
DrawElementContentAreas();
}
+#if 1
else if (IS_CUSTOM_ELEMENT(properties_element))
DrawCustomChangedArea();
+#endif
}
if (IS_GEM(properties_element))
struct GadgetDesign *gd = &gd_gi->alt_design[GD_BUTTON_UNPRESSED];
int gd_x = gd->x + gd_gi->border.width / 2;
int gd_y = gd->y + gd_gi->height - 1;
- Pixel line_color = GetPixel(gd->bitmap, gd_x, gd_y);
+ Pixel tab_color = GetPixel(gd->bitmap, gd_x, gd_y);
int id_first = ED_TEXTBUTTON_ID_PROPERTIES_INFO;
int id_last = ED_TEXTBUTTON_ID_PROPERTIES_INFO;
int i;
int gadget_id = textbutton_info[i].gadget_id;
struct GadgetInfo *gi = level_editor_gadget[gadget_id];
boolean active = (i != edit_mode_properties);
- Pixel color = (active ? BLACK_PIXEL : line_color);
- /* draw solid or black line below tabulator button */
- FillRectangle(drawto, gi->x, gi->y + gi->height, gi->width, 1, color);
+ /* draw background line below tabulator button */
+ ClearRectangleOnBackground(drawto, gi->x, gi->y + gi->height, gi->width,1);
+
+ /* draw solid line below inactive tabulator buttons */
+ if (!active && tab_color != BLACK_PIXEL) /* black => transparent */
+ FillRectangle(drawto, gi->x, gi->y + gi->height, gi->width,1, tab_color);
ModifyGadget(gi, GDI_ACTIVE, active, GDI_END);
MapTextbuttonGadget(i);
}
/* draw little border line below tabulator buttons */
- FillRectangle(drawto, gd_gi->x, gd_gi->y + gd_gi->height + 1,
- 3 * gd_gi->width + 2 * ED_GADGET_DISTANCE, ED_GADGET_DISTANCE,
- line_color);
+ if (tab_color != BLACK_PIXEL) /* black => transparent */
+ FillRectangle(drawto, gd_gi->x, gd_gi->y + gd_gi->height + 1,
+ 3 * gd_gi->width + 2 * ED_GADGET_DISTANCE,
+ ED_GADGET_DISTANCE, tab_color);
}
static void DrawPropertiesInfo()
}
properties[] =
{
- { EP_AMOEBALIVE, "- living amoeba" },
- { EP_AMOEBOID, "- amoeboid" },
- { EP_SOLID, "- solid" },
- { EP_INDESTRUCTIBLE, "- undestructible" },
- { EP_SLIPPERY, "- slippery" },
- { EP_ENEMY, "- enemy" },
- { EP_MAUER, "- mauer" },
- { EP_CAN_FALL, "- can fall" },
- { EP_CAN_SMASH, "- can smash" },
- { EP_CAN_CHANGE, "- can change" },
- { EP_CAN_MOVE, "- can move" },
- { EP_COULD_MOVE, "- could move" },
- { EP_DONT_TOUCH, "- don't touch" },
- { EP_DONT_GO_TO, "- don't go to" },
- { EP_FOOD_DARK_YAMYAM, "- food for dark yamyam" },
- { EP_BD_ELEMENT, "- BD style" },
- { EP_SB_ELEMENT, "- SB style" },
- { EP_GEM, "- gem" },
- { EP_INACTIVE, "- inactive" },
- { EP_EXPLOSIVE, "- explosive" },
- { EP_FOOD_PENGUIN, "- food for penguin" },
- { EP_PUSHABLE, "- pushable" },
- { EP_PLAYER, "- player" },
- { EP_HAS_CONTENT, "- has content" },
- { EP_DIGGABLE, "- diggable" },
- { EP_SP_ELEMENT, "- SB style" },
- { EP_WALKABLE_INSIDE, "- walkable inside" },
- { EP_ACTIVE_BOMB, "- active bomb" },
- { EP_BELT, "- belt" },
- { EP_BELT_ACTIVE, "- active belt" },
- { EP_BELT_SWITCH, "- belt switch" },
- { EP_WALKABLE_UNDER, "- walkable under" },
- { EP_EM_SLIPPERY_WALL, "- EM style slippery wall" },
- { EP_CAN_BE_CRUMBLED, "- can be crumbled" },
- { -1, NULL }
+ /* configurable properties */
+ { EP_INDESTRUCTIBLE, "- undestructible" },
+ { EP_DIGGABLE, "- diggable" },
+ { EP_COLLECTIBLE, "- collectible" },
+ { EP_PUSHABLE, "- pushable" },
+ { EP_CAN_FALL, "- can fall" },
+ { EP_CAN_SMASH, "- can smash other objects" },
+ { EP_CAN_MOVE, "- can move" },
+ { EP_SLIPPERY, "- slippery for falling objects" },
+ { EP_EM_SLIPPERY_WALL, "- slippery for some gems (EM style)" },
+ { EP_WALKABLE_OVER, "- player can walk over it" },
+ { EP_WALKABLE_INSIDE, "- player can walk inside it" },
+ { EP_WALKABLE_UNDER, "- player can walk under it" },
+ { EP_PASSABLE_OVER, "- player can pass over it" },
+ { EP_PASSABLE_INSIDE, "- player can pass through it" },
+ { EP_PASSABLE_UNDER, "- player can pass under it" },
+
+ /* pre-defined properties */
+ { EP_CAN_PASS_MAGIC_WALL, "- can pass magic walls" },
+ { EP_DONT_TOUCH, "- deadly when touched" },
+ { EP_ENEMY, "- can kill the player" },
+ { EP_DONT_GO_TO, "- deadly when walked to" },
+ { EP_CAN_EXPLODE, "- can explode" },
+ { EP_HAS_CONTENT, "- can contain other elements" },
+
+ { -1, NULL }
};
char *filename = getElementDescriptionFilename(properties_element);
char *percentage_text = "In this level:";
TapeStartRecording();
level_editor_test_game = TRUE;
- game_status = PLAYING;
+ game_status = GAME_MODE_PLAYING;
InitGame();
}
char shortcut[MAX_OUTPUT_LINESIZE + 1];
int max_infotext_len = getMaxInfoTextLength();
- if (game_status != LEVELED)
+ if (game_status != GAME_MODE_EDITOR)
return;
ClearEditorGadgetInfoText();
/*
CloseDoor(DOOR_CLOSE_ALL);
*/
- game_status = MAINMENU;
+ game_status = GAME_MODE_MAIN;
DrawMainMenu();
}
else