X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fmain.c;h=e9817ae3b7e59b8a8dc1cf13b13ad10c8b57f503;hb=ac4c028b525860750de315d626730ac493f56944;hp=bcd5dce7d742449b346de7d08f1e968a5650ae7d;hpb=ea933dd51bfca7ddcc6b75465476cce57afd1682;p=rocksndiamonds.git diff --git a/src/main.c b/src/main.c index bcd5dce7..e9817ae3 100644 --- a/src/main.c +++ b/src/main.c @@ -47,6 +47,7 @@ short MovDelay[MAX_LEV_FIELDX][MAX_LEV_FIELDY]; short Store[MAX_LEV_FIELDX][MAX_LEV_FIELDY]; short Store2[MAX_LEV_FIELDX][MAX_LEV_FIELDY]; short StorePlayer[MAX_LEV_FIELDX][MAX_LEV_FIELDY]; +short Back[MAX_LEV_FIELDX][MAX_LEV_FIELDY]; boolean Stop[MAX_LEV_FIELDX][MAX_LEV_FIELDY]; short JustStopped[MAX_LEV_FIELDX][MAX_LEV_FIELDY]; short AmoebaNr[MAX_LEV_FIELDX][MAX_LEV_FIELDY]; @@ -55,8 +56,7 @@ short AmoebaCnt2[MAX_NUM_AMOEBA]; short ExplodePhase[MAX_LEV_FIELDX][MAX_LEV_FIELDY]; short ExplodeField[MAX_LEV_FIELDX][MAX_LEV_FIELDY]; -unsigned long Properties1[MAX_NUM_ELEMENTS]; -unsigned long Properties2[MAX_NUM_ELEMENTS]; +unsigned long Properties[MAX_NUM_ELEMENTS][NUM_EP_BITFIELDS]; int GfxFrame[MAX_LEV_FIELDX][MAX_LEV_FIELDY]; int GfxAction[MAX_LEV_FIELDX][MAX_LEV_FIELDY]; @@ -289,42 +289,45 @@ struct ElementInfo element_info[MAX_NUM_ELEMENTS + 1] = "blue key" }, { - "gate_1", + "gate_1_closed", "gate", "red door" }, { - "gate_2", + "gate_2_closed", "gate", "yellow door" }, { - "gate_3", + "gate_3_closed", "gate", "green door" }, { - "gate_4", + "gate_4_closed", "gate", "blue door" }, { - "gate_1_gray", + "gate_1_gray_closed", "gate", "gray door (opened by red key)" }, { - "gate_2_gray", + "gate_2_gray_closed", "gate", - "gray door (opened by yellow key)"}, + "gray door (opened by yellow key)" + }, { - "gate_3_gray", + "gate_3_gray_closed", "gate", - "gray door (opened by green key)"}, + "gray door (opened by green key)" + }, { - "gate_4_gray", + "gate_4_gray_closed", "gate", - "gray door (opened by blue key)"}, + "gray door (opened by blue key)" + }, { "dynamite", "dynamite", @@ -995,64 +998,64 @@ struct ElementInfo element_info[MAX_NUM_ELEMENTS + 1] = "letter 'Z'" }, { - "char_ae", + "char_bracketleft", "char", - "letter 'Ä'" + "letter '['" }, { - "char_oe", + "char_backslash", "char", - "letter 'Ö'" + "letter '\\'" }, { - "char_ue", + "char_bracketright", "char", - "letter 'Ü'" + "letter ']'" }, { - "char_copyright", + "char_asciicircum", "char", "letter '^'" }, { "char_underscore", "char", - "letter ''" + "letter '_'" }, { - "char_empty", + "char_copyright", "char", - "letter ''" + "letter '©'" }, { - "char_degree", + "char_aumlaut", "char", - "letter ''" + "letter 'Ä'" }, { - "char_tm", + "char_oumlaut", "char", - "letter ''" + "letter 'Ö'" }, { - "char_cursor", + "char_uumlaut", "char", - "letter ''" + "letter 'Ü'" }, { - "char_unused", + "char_degree", "char", - "letter ''" + "letter '°'" }, { - "char_unused", + "char_trademark", "char", - "letter ''" + "letter '®'" }, { - "char_unused", + "char_cursor", "char", - "letter ''" + "letter ' '" }, { "char_unused", @@ -1115,22 +1118,22 @@ struct ElementInfo element_info[MAX_NUM_ELEMENTS + 1] = "growing wall (any direction)" }, { - "em_gate_1", + "em_gate_1_closed", "gate", "red door (EM style)" }, { - "em_gate_2", + "em_gate_2_closed", "gate", "yellow door (EM style)" }, { - "em_gate_3", + "em_gate_3_closed", "gate", "green door (EM style)" }, { - "em_gate_4", + "em_gate_4_closed", "gate", "blue door (EM style)" }, @@ -1350,22 +1353,22 @@ struct ElementInfo element_info[MAX_NUM_ELEMENTS + 1] = "chip (lower half)" }, { - "em_gate_1_gray", + "em_gate_1_gray_closed", "gate", "gray door (EM style, red key)" }, { - "em_gate_2_gray", + "em_gate_2_gray_closed", "gate", "gray door (EM style, yellow key)" }, { - "em_gate_3_gray", + "em_gate_3_gray_closed", "gate", "gray door (EM style, green key)" }, { - "em_gate_4_gray", + "em_gate_4_gray_closed", "gate", "gray door (EM style, blue key)" }, @@ -2774,6 +2777,86 @@ struct ElementInfo element_info[MAX_NUM_ELEMENTS + 1] = "magic_wall", "-" }, + { + "gate_1_open", + "gate", + "red door" + }, + { + "gate_2_open", + "gate", + "yellow door" + }, + { + "gate_3_open", + "gate", + "green door" + }, + { + "gate_4_open", + "gate", + "blue door" + }, + { + "gate_1_gray_open", + "gate", + "gray door (opened by red key)" + }, + { + "gate_2_gray_open", + "gate", + "gray door (opened by yellow key)" + }, + { + "gate_3_gray_open", + "gate", + "gray door (opened by green key)" + }, + { + "gate_4_gray_open", + "gate", + "gray door (opened by blue key)" + }, + { + "em_gate_1_open", + "gate", + "red door (EM style)" + }, + { + "em_gate_2_open", + "gate", + "yellow door (EM style)" + }, + { + "em_gate_3_open", + "gate", + "green door (EM style)" + }, + { + "em_gate_4_open", + "gate", + "blue door (EM style)" + }, + { + "em_gate_1_gray_open", + "gate", + "gray door (EM style, red key)" + }, + { + "em_gate_2_gray_open", + "gate", + "gray door (EM style, yellow key)" + }, + { + "em_gate_3_gray_open", + "gate", + "gray door (EM style, green key)" + }, + { + "em_gate_4_gray_open", + "gate", + "gray door (EM style, blue key)" + }, /* ----------------------------------------------------------------------- */ /* "unreal" (and therefore not drawable) runtime elements */