X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fmain.c;h=c4b8a2b1e65bb8fbb677a13c5cf8ab88b0ac78cc;hb=b640b9d7647df4cbba0e530f6f4bcece384048e4;hp=d62be79e4f1615e87b6d44c7177d83cbf8ac879e;hpb=380afea8229172182d887138b6e72751669cf6e0;p=rocksndiamonds.git diff --git a/src/main.c b/src/main.c index d62be79e..c4b8a2b1 100644 --- a/src/main.c +++ b/src/main.c @@ -16,6 +16,7 @@ #include "main.h" #include "init.h" #include "game.h" +#include "tape.h" #include "events.h" #include "config.h" @@ -64,7 +65,9 @@ short ExplodeDelay[MAX_LEV_FIELDX][MAX_LEV_FIELDY]; int RunnerVisit[MAX_LEV_FIELDX][MAX_LEV_FIELDY]; int PlayerVisit[MAX_LEV_FIELDX][MAX_LEV_FIELDY]; +#if 0 unsigned long Properties[MAX_NUM_ELEMENTS][NUM_EP_BITFIELDS]; +#endif int GfxFrame[MAX_LEV_FIELDX][MAX_LEV_FIELDY]; int GfxRandom[MAX_LEV_FIELDX][MAX_LEV_FIELDY]; @@ -185,7 +188,7 @@ struct ElementNameInfo element_name_info[MAX_NUM_ELEMENTS + 1] = { "yamyam", "yamyam", - "yam yam" + "yam yam (random start direction)" }, { "robot", @@ -290,60 +293,63 @@ struct ElementNameInfo element_name_info[MAX_NUM_ELEMENTS + 1] = { "key_1", "key", - "red key" + "key 1" }, { "key_2", "key", - "yellow key" + "key 2" }, { "key_3", "key", - "green key" + "key 3" }, { "key_4", "key", - "blue key" + "key 4" }, { "gate_1", "gate", - "red door" + "door 1" }, { "gate_2", "gate", - "yellow door" + "door 2" }, { "gate_3", "gate", - "green door" + "door 3" }, { "gate_4", "gate", - "blue door" + "door 4" }, { "gate_1_gray", "gate", - "gray door (opened by red key)" + "gray door (opened by key 1)" }, { "gate_2_gray", "gate", - "gray door (opened by yellow key)"}, + "gray door (opened by key 2)" + }, { "gate_3_gray", "gate", - "gray door (opened by green key)"}, + "gray door (opened by key 3)" + }, { "gate_4_gray", "gate", - "gray door (opened by blue key)"}, + "gray door (opened by key 4)" + }, { "dynamite", "dynamite", @@ -524,22 +530,22 @@ struct ElementNameInfo element_name_info[MAX_NUM_ELEMENTS + 1] = { "player_1", "player", - "yellow player" + "player 1" }, { "player_2", "player", - "red player" + "player 2" }, { "player_3", "player", - "green player" + "player 3" }, { "player_4", "player", - "blue player" + "player 4" }, { "bug.right", @@ -1136,22 +1142,22 @@ struct ElementNameInfo element_name_info[MAX_NUM_ELEMENTS + 1] = { "em_gate_1", "gate", - "red door (EM style)" + "door 1 (EM style)" }, { "em_gate_2", "gate", - "yellow door (EM style)" + "door 2 (EM style)" }, { "em_gate_3", "gate", - "green door (EM style)" + "door 3 (EM style)" }, { "em_gate_4", "gate", - "blue door (EM style)" + "door 4 (EM style)" }, { "em_key_2_file_obsolete", @@ -1371,32 +1377,32 @@ struct ElementNameInfo element_name_info[MAX_NUM_ELEMENTS + 1] = { "em_gate_1_gray", "gate", - "gray door (EM style, red key)" + "gray door (EM style, key 1)" }, { "em_gate_2_gray", "gate", - "gray door (EM style, yellow key)" + "gray door (EM style, key 2)" }, { "em_gate_3_gray", "gate", - "gray door (EM style, green key)" + "gray door (EM style, key 3)" }, { "em_gate_4_gray", "gate", - "gray door (EM style, blue key)" + "gray door (EM style, key 4)" }, { - "unused_254", - "unused", - "(not used)" + "em_dynamite", + "dynamite", + "dynamite (EM style)" }, { - "unused_255", - "unused", - "(not used)" + "em_dynamite.active", + "dynamite", + "burning dynamite (EM style)" }, { "pearl", @@ -1476,122 +1482,122 @@ struct ElementNameInfo element_name_info[MAX_NUM_ELEMENTS + 1] = { "conveyor_belt_1_left", "conveyor_belt", - "red conveyor belt (left)" + "conveyor belt 1 (left)" }, { "conveyor_belt_1_middle", "conveyor_belt", - "red conveyor belt (middle)" + "conveyor belt 1 (middle)" }, { "conveyor_belt_1_right", "conveyor_belt", - "red conveyor belt (right)" + "conveyor belt 1 (right)" }, { "conveyor_belt_1_switch_left", "conveyor_belt_switch", - "switch for red conveyor belt (left)" + "switch for conveyor belt 1 (left)" }, { "conveyor_belt_1_switch_middle", "conveyor_belt_switch", - "switch for red conveyor belt (middle)" + "switch for conveyor belt 1 (middle)" }, { "conveyor_belt_1_switch_right", "conveyor_belt_switch", - "switch for red conveyor belt (right)" + "switch for conveyor belt 1 (right)" }, { "conveyor_belt_2_left", "conveyor_belt", - "yellow conveyor belt (left)" + "conveyor belt 2 (left)" }, { "conveyor_belt_2_middle", "conveyor_belt", - "yellow conveyor belt (middle)" + "conveyor belt 2 (middle)" }, { "conveyor_belt_2_right", "conveyor_belt", - "yellow conveyor belt (right)" + "conveyor belt 2 (right)" }, { "conveyor_belt_2_switch_left", "conveyor_belt_switch", - "switch for yellow conveyor belt (left)" + "switch for conveyor belt 2 (left)" }, { "conveyor_belt_2_switch_middle", "conveyor_belt_switch", - "switch for yellow conveyor belt (middle)" + "switch for conveyor belt 2 (middle)" }, { "conveyor_belt_2_switch_right", "conveyor_belt_switch", - "switch for yellow conveyor belt (right)" + "switch for conveyor belt 2 (right)" }, { "conveyor_belt_3_left", "conveyor_belt", - "green conveyor belt (left)" + "conveyor belt 3 (left)" }, { "conveyor_belt_3_middle", "conveyor_belt", - "green conveyor belt (middle)" + "conveyor belt 3 (middle)" }, { "conveyor_belt_3_right", "conveyor_belt", - "green conveyor belt (right)" + "conveyor belt 3 (right)" }, { "conveyor_belt_3_switch_left", "conveyor_belt_switch", - "switch for green conveyor belt (left)" + "switch for conveyor belt 3 (left)" }, { "conveyor_belt_3_switch_middle", "conveyor_belt_switch", - "switch for green conveyor belt (middle)" + "switch for conveyor belt 3 (middle)" }, { "conveyor_belt_3_switch_right", "conveyor_belt_switch", - "switch for green conveyor belt (right)" + "switch for conveyor belt 3 (right)" }, { "conveyor_belt_4_left", "conveyor_belt", - "blue conveyor belt (left)" + "conveyor belt 4 (left)" }, { "conveyor_belt_4_middle", "conveyor_belt", - "blue conveyor belt (middle)" + "conveyor belt 4 (middle)" }, { "conveyor_belt_4_right", "conveyor_belt", - "blue conveyor belt (right)" + "conveyor belt 4 (right)" }, { "conveyor_belt_4_switch_left", "conveyor_belt_switch", - "switch for blue conveyor belt (left)" + "switch for conveyor belt 4 (left)" }, { "conveyor_belt_4_switch_middle", "conveyor_belt_switch", - "switch for blue conveyor belt (middle)" + "switch for conveyor belt 4 (middle)" }, { "conveyor_belt_4_switch_right", "conveyor_belt_switch", - "switch for blue conveyor belt (right)" + "switch for conveyor belt 4 (right)" }, { "landmine", @@ -3201,22 +3207,22 @@ struct ElementNameInfo element_name_info[MAX_NUM_ELEMENTS + 1] = { "em_key_1", "key", - "red key (EM style)" + "key 1 (EM style)" }, { "em_key_2", "key", - "yellow key (EM style)" + "key 2 (EM style)" }, { "em_key_3", "key", - "green key (EM style)" + "key 3 (EM style)" }, { "em_key_4", "key", - "blue key (EM style)" + "key 4 (EM style)" }, { "envelope_1", @@ -3643,6 +3649,46 @@ struct ElementNameInfo element_name_info[MAX_NUM_ELEMENTS + 1] = "dripper", "dripper" }, + { + "trigger_ce_value", + "trigger", + "CE value of element triggering change" + }, + { + "trigger_ce_score", + "trigger", + "CE score of element triggering change" + }, + { + "current_ce_value", + "current", + "CE value of current element" + }, + { + "current_ce_score", + "current", + "CE score of current element" + }, + { + "yamyam.left", + "yamyam", + "yam yam (starts moving left)" + }, + { + "yamyam.right", + "yamyam", + "yam yam (starts moving right)" + }, + { + "yamyam.up", + "yamyam", + "yam yam (starts moving up)" + }, + { + "yamyam.down", + "yamyam", + "yam yam (starts moving down)" + }, /* ----------------------------------------------------------------------- */ /* "real" (and therefore drawable) runtime elements */ @@ -3949,16 +3995,6 @@ struct ElementNameInfo element_name_info[MAX_NUM_ELEMENTS + 1] = "emc_spring_bumper", "spring bumper", }, - { - "emc_android.shrinking", - "emc_android", - "android", - }, - { - "emc_android.growing", - "emc_android", - "android", - }, /* ----------------------------------------------------------------------- */ /* "unreal" (and therefore not drawable) runtime elements */ @@ -4059,6 +4095,16 @@ struct ElementNameInfo element_name_info[MAX_NUM_ELEMENTS + 1] = "-", "-" }, + { + "diagonal.shrinking", + "-", + "-" + }, + { + "diagonal.growing", + "-", + "-" + }, /* ----------------------------------------------------------------------- */ /* dummy elements (never used as game elements, only used as graphics) */ @@ -4415,7 +4461,7 @@ struct ElementActionInfo element_action_info[NUM_ACTIONS + 1 + 1] = { ".turning_from_down", ACTION_TURNING_FROM_DOWN, FALSE }, { ".smashed_by_rock", ACTION_SMASHED_BY_ROCK, FALSE }, { ".smashed_by_spring", ACTION_SMASHED_BY_SPRING, FALSE }, - { ".slurped_by_spring", ACTION_SLURPED_BY_SPRING, FALSE }, + { ".eating", ACTION_EATING, FALSE }, { ".twinkling", ACTION_TWINKLING, FALSE }, { ".splashing", ACTION_SPLASHING, FALSE }, { ".page[1]", ACTION_PAGE_1, FALSE }, @@ -4458,12 +4504,16 @@ struct ElementActionInfo element_action_info[NUM_ACTIONS + 1 + 1] = { NULL, 0, 0 } }; -struct ElementDirectionInfo element_direction_info[NUM_DIRECTIONS + 1] = +struct ElementDirectionInfo element_direction_info[NUM_DIRECTIONS_FULL + 1] = { { ".left", MV_BIT_LEFT }, { ".right", MV_BIT_RIGHT }, { ".up", MV_BIT_UP }, { ".down", MV_BIT_DOWN }, + { ".upleft", MV_BIT_UP }, + { ".upright", MV_BIT_RIGHT }, + { ".downleft", MV_BIT_LEFT }, + { ".downright", MV_BIT_DOWN }, { NULL, 0 } }; @@ -4572,6 +4622,7 @@ struct FontInfo font_info[NUM_FONTS + 1] = { "font.value_1" }, { "font.value_2" }, { "font.value_old" }, + { "font.level_number.active" }, { "font.level_number" }, { "font.tape_recorder" }, { "font.game_info" },