X-Git-Url: https://git.artsoft.org/?p=rocksndiamonds.git;a=blobdiff_plain;f=src%2Fgame_mm%2Fmm_main.c;h=6ead97a63a311308f54fc33cea7719fdf42e4649;hp=6af8f484c4e49a47164d370d39f9875e13d81983;hb=64e7c54dce6ea8c063f04198c64c5057d751c928;hpb=98272a6958328946fb3ceab794cb21f59f91d22f diff --git a/src/game_mm/mm_main.c b/src/game_mm/mm_main.c index 6af8f484..6ead97a6 100644 --- a/src/game_mm/mm_main.c +++ b/src/game_mm/mm_main.c @@ -31,6 +31,11 @@ struct LaserInfo laser; short LX,LY, XS,YS, ELX,ELY; short CT,Ct; +int dSX, dSY; +int cSX, cSY; +int cSX2, cSY2; +int cFX, cFY; + Pixel pen_fg, pen_bg, pen_ray, pen_magicolor[2]; int color_status; @@ -95,7 +100,7 @@ short Sign[16] = char *element_info_mm[] = { - "empty space", /* 0 */ + "empty space", // 0 "mirror (0\xb0)", "mirror (11.25\xb0)", "mirror (22.5\xb0)", @@ -105,17 +110,17 @@ char *element_info_mm[] = "mirror (67.5\xb0)", "mirror (78.75\xb0)", "mirror (90\xb0)", - "mirror (101.25\xb0)", /* 10 */ + "mirror (101.25\xb0)", // 10 "mirror (112.5\xb0)", "mirror (123.75\xb0)", "mirror (135\xb0)", "mirror (146.25\xb0)", "mirror (157.5\xb0)", "mirror (168.75\xb0)", - "fixed steel polarisator (0\xb0)", - "fixed steel polarisator (90\xb0)", - "fixed steel polarisator (45\xb0)", - "fixed steel polarisator (135\xb0)", /* 20 */ + "fixed steel polarizer (0\xb0)", + "fixed steel polarizer (90\xb0)", + "fixed steel polarizer (45\xb0)", + "fixed steel polarizer (135\xb0)", // 20 "Gregor McDuffin (looking right)", "Gregor McDuffin (looking up)", "Gregor McDuffin (looking left)", @@ -125,7 +130,7 @@ char *element_info_mm[] = "opening exit", "open exit", "magic kettle", - "bomb", /* 30 */ + "bomb", // 30 "prism", "steel wall", "steel wall", @@ -135,7 +140,7 @@ char *element_info_mm[] = "steel wall", "steel wall", "steel wall", - "steel wall", /* 40 */ + "steel wall", // 40 "steel wall", "steel wall", "steel wall", @@ -145,7 +150,7 @@ char *element_info_mm[] = "steel wall", "wooden wall", "wooden wall", - "wooden wall", /* 50 */ + "wooden wall", // 50 "wooden wall", "wooden wall", "wooden wall", @@ -155,7 +160,7 @@ char *element_info_mm[] = "wooden wall", "wooden wall", "wooden wall", - "wooden wall", /* 60 */ + "wooden wall", // 60 "wooden wall", "wooden wall", "wooden wall", @@ -165,7 +170,7 @@ char *element_info_mm[] = "ice wall", "ice wall", "ice wall", - "ice wall", /* 70 */ + "ice wall", // 70 "ice wall", "ice wall", "ice wall", @@ -175,7 +180,7 @@ char *element_info_mm[] = "ice wall", "ice wall", "ice wall", - "amoeba wall", /* 80 */ + "amoeba wall", // 80 "amoeba wall", "amoeba wall", "amoeba wall", @@ -185,7 +190,7 @@ char *element_info_mm[] = "amoeba wall", "amoeba wall", "amoeba wall", - "amoeba wall", /* 90 */ + "amoeba wall", // 90 "amoeba wall", "amoeba wall", "amoeba wall", @@ -193,69 +198,69 @@ char *element_info_mm[] = "amoeba wall", "wooden block", "gray ball", - "beamer (0\xb0)", - "beamer (22.5\xb0)", - "beamer (45\xb0)", /* 100 */ - "beamer (67.5\xb0)", - "beamer (90\xb0)", - "beamer (112.5\xb0)", - "beamer (135\xb0)", - "beamer (157.5\xb0)", - "beamer (180\xb0)", - "beamer (202.5\xb0)", - "beamer (225\xb0)", - "beamer (247.5\xb0)", - "beamer (270\xb0)", /* 110 */ - "beamer (292.5\xb0)", - "beamer (315\xb0)", - "beamer (337.5\xb0)", + "teleporter (0\xb0)", + "teleporter (22.5\xb0)", + "teleporter (45\xb0)", // 100 + "teleporter (67.5\xb0)", + "teleporter (90\xb0)", + "teleporter (112.5\xb0)", + "teleporter (135\xb0)", + "teleporter (157.5\xb0)", + "teleporter (180\xb0)", + "teleporter (202.5\xb0)", + "teleporter (225\xb0)", + "teleporter (247.5\xb0)", + "teleporter (270\xb0)", // 110 + "teleporter (292.5\xb0)", + "teleporter (315\xb0)", + "teleporter (337.5\xb0)", "fuse", "pac man (starts moving right)", "pac man (starts moving up)", "pac man (starts moving left)", "pac man (starts moving down)", - "polarisator (0\xb0)", - "polarisator (11.25\xb0)", /* 120 */ - "polarisator (22.5\xb0)", - "polarisator (33.75\xb0)", - "polarisator (45\xb0)", - "polarisator (56.25\xb0)", - "polarisator (67.5\xb0)", - "polarisator (78.75\xb0)", - "polarisator (90\xb0)", - "polarisator (101.25\xb0)", - "polarisator (112.5\xb0)", - "polarisator (123.75\xb0)", /* 130 */ - "polarisator (135\xb0)", - "polarisator (146.25\xb0)", - "polarisator (157.5\xb0)", - "polarisator (168.75\xb0)", - "two-way polarisator (0\xb0)", - "two-way polarisator (22.5\xb0)", - "two-way polarisator (45\xb0)", - "two-way polarisator (67.5\xb0)", + "polarizer (0\xb0)", + "polarizer (11.25\xb0)", // 120 + "polarizer (22.5\xb0)", + "polarizer (33.75\xb0)", + "polarizer (45\xb0)", + "polarizer (56.25\xb0)", + "polarizer (67.5\xb0)", + "polarizer (78.75\xb0)", + "polarizer (90\xb0)", + "polarizer (101.25\xb0)", + "polarizer (112.5\xb0)", + "polarizer (123.75\xb0)", // 130 + "polarizer (135\xb0)", + "polarizer (146.25\xb0)", + "polarizer (157.5\xb0)", + "polarizer (168.75\xb0)", + "two-way polarizer (0\xb0)", + "two-way polarizer (22.5\xb0)", + "two-way polarizer (45\xb0)", + "two-way polarizer (67.5\xb0)", "fixed mirror (0\xb0)", - "fixed mirror (45\xb0)", /* 140 */ + "fixed mirror (45\xb0)", // 140 "fixed mirror (90\xb0)", "fixed mirror (135\xb0)", "reflecting stone lock", "key", "light bulb (dark)", - "ligh bulb (glowing)", + "light bulb (glowing)", "bonus ball", "reflecting stone block", "wooden lock", - "extra energy ball (full)", /* 150 */ - "fixed wooden polarisator (0\xb0)", - "fixed wooden polarisator (90\xb0)", - "fixed wooden polarisator (45\xb0)", - "fixed wooden polarisator (135\xb0)", + "extra energy ball (full)", // 150 + "fixed wooden polarizer (0\xb0)", + "fixed wooden polarizer (90\xb0)", + "fixed wooden polarizer (45\xb0)", + "fixed wooden polarizer (135\xb0)", "extra energy ball (empty)", "unused", "unused", "unused", "unused", - "letter ' '", /* 160 */ + "letter ' '", // 160 "letter '!'", "letter '\"'", "letter '#'", @@ -265,7 +270,7 @@ char *element_info_mm[] = "letter '''", "letter '('", "letter ')'", - "letter '*'", /* 170 */ + "letter '*'", // 170 "letter '+'", "letter ','", "letter '-'", @@ -275,7 +280,7 @@ char *element_info_mm[] = "letter '1'", "letter '2'", "letter '3'", - "letter '4'", /* 180 */ + "letter '4'", // 180 "letter '5'", "letter '6'", "letter '7'", @@ -285,7 +290,7 @@ char *element_info_mm[] = "letter ';'", "letter '<'", "letter '='", - "letter '>'", /* 190 */ + "letter '>'", // 190 "letter '?'", "letter '@'", "letter 'A'", @@ -295,7 +300,7 @@ char *element_info_mm[] = "letter 'E'", "letter 'F'", "letter 'G'", - "letter 'H'", /* 200 */ + "letter 'H'", // 200 "letter 'I'", "letter 'J'", "letter 'K'", @@ -305,7 +310,7 @@ char *element_info_mm[] = "letter 'O'", "letter 'P'", "letter 'Q'", - "letter 'R'", /* 210 */ + "letter 'R'", // 210 "letter 'S'", "letter 'T'", "letter 'U'", @@ -315,7 +320,7 @@ char *element_info_mm[] = "letter 'Y'", "letter 'Z'", "letter '\xc4'", - "letter '\xd6'", /* 220 */ + "letter '\xd6'", // 220 "letter '\xdc'", "letter '^'", "letter ''", @@ -325,7 +330,7 @@ char *element_info_mm[] = "letter ''", "letter ''", "letter ''", - "letter ''", /* 230 */ + "letter ''", // 230 "letter ''", "letter ''", "letter ''", @@ -335,7 +340,7 @@ char *element_info_mm[] = "letter ''", "letter ''", "letter ''", - "mirror (0\xb0)", /* 240 */ + "mirror (0\xb0)", // 240 "mirror (11.25\xb0)", "mirror (22.5\xb0)", "mirror (33.75\xb0)", @@ -345,28 +350,28 @@ char *element_info_mm[] = "mirror (78.75\xb0)", "mirror (90\xb0)", "mirror (101.25\xb0)", - "mirror (112.5\xb0)", /* 250 */ + "mirror (112.5\xb0)", // 250 "mirror (123.75\xb0)", "mirror (135\xb0)", "mirror (146.25\xb0)", "mirror (157.5\xb0)", "mirror (168.75\xb0)", - "fixed wooden polarisator (0\xb0)", - "fixed wooden polarisator (22.5\xb0)", - "fixed wooden polarisator (45\xb0)", - "fixed wooden polarisator (67.5\xb0)", - "fixed wooden polarisator (90\xb0)", /* 260 */ - "fixed wooden polarisator (112.5\xb0)", - "fixed wooden polarisator (135\xb0)", - "fixed wooden polarisator (157.5\xb0)", - "fixed steel polarisator (0\xb0)", - "fixed steel polarisator (22.5\xb0)", - "fixed steel polarisator (45\xb0)", - "fixed steel polarisator (67.5\xb0)", - "fixed steel polarisator (90\xb0)", - "fixed steel polarisator (112.5\xb0)", - "fixed steel polarisator (135\xb0)", /* 270 */ - "fixed steel polarisator (157.5\xb0)", + "fixed wooden polarizer (0\xb0)", + "fixed wooden polarizer (22.5\xb0)", + "fixed wooden polarizer (45\xb0)", + "fixed wooden polarizer (67.5\xb0)", + "fixed wooden polarizer (90\xb0)", // 260 + "fixed wooden polarizer (112.5\xb0)", + "fixed wooden polarizer (135\xb0)", + "fixed wooden polarizer (157.5\xb0)", + "fixed steel polarizer (0\xb0)", + "fixed steel polarizer (22.5\xb0)", + "fixed steel polarizer (45\xb0)", + "fixed steel polarizer (67.5\xb0)", + "fixed steel polarizer (90\xb0)", + "fixed steel polarizer (112.5\xb0)", + "fixed steel polarizer (135\xb0)", // 270 + "fixed steel polarizer (157.5\xb0)", "deflektor style wooden wall", "deflektor style wooden wall", "deflektor style wooden wall", @@ -375,7 +380,7 @@ char *element_info_mm[] = "deflektor style wooden wall", "deflektor style wooden wall", "deflektor style wooden wall", - "deflektor style wooden wall", /* 280 */ + "deflektor style wooden wall", // 280 "deflektor style wooden wall", "deflektor style wooden wall", "deflektor style wooden wall", @@ -385,7 +390,7 @@ char *element_info_mm[] = "deflektor style wooden wall", "deflektor style steel wall", "deflektor style steel wall", - "deflektor style steel wall", /* 290 */ + "deflektor style steel wall", // 290 "deflektor style steel wall", "deflektor style steel wall", "deflektor style steel wall", @@ -395,7 +400,7 @@ char *element_info_mm[] = "deflektor style steel wall", "deflektor style steel wall", "deflektor style steel wall", - "deflektor style steel wall", /* 300 */ + "deflektor style steel wall", // 300 "deflektor style steel wall", "deflektor style steel wall", "deflektor style steel wall", @@ -405,7 +410,7 @@ char *element_info_mm[] = "refractor", "laser cannon (shooting right)", "laser cannon (shooting up)", - "laser cannon (shooting left)", /* 310 */ + "laser cannon (shooting left)", // 310 "laser cannon (shooting down)", "laser receiver (directed right)", "laser receiver (directed up)", @@ -415,7 +420,7 @@ char *element_info_mm[] = "fibre optic (1b)", "fibre optic (2a)", "fibre optic (2b)", - "fibre optic (3a)", /* 320 */ + "fibre optic (3a)", // 320 "fibre optic (3b)", "fibre optic (4a)", "fibre optic (4b)", @@ -425,7 +430,7 @@ char *element_info_mm[] = "rotating mirror (33.75\xb0)", "rotating mirror (45\xb0)", "rotating mirror (56.25\xb0)", - "rotating mirror (67.5\xb0)", /* 330 */ + "rotating mirror (67.5\xb0)", // 330 "rotating mirror (78.75\xb0)", "rotating mirror (90\xb0)", "rotating mirror (101.25\xb0)", @@ -435,87 +440,87 @@ char *element_info_mm[] = "rotating mirror (146.25\xb0)", "rotating mirror (157.5\xb0)", "rotating mirror (168.75\xb0)", - "rotating wooden polarisator (0\xb0)", /* 340 */ - "rotating wooden polarisator (22.5\xb0)", - "rotating wooden polarisator (45\xb0)", - "rotating wooden polarisator (67.5\xb0)", - "rotating wooden polarisator (90\xb0)", - "rotating wooden polarisator (112.5\xb0)", - "rotating wooden polarisator (135\xb0)", - "rotating wooden polarisator (157.5\xb0)", - "rotating steel polarisator (0\xb0)", - "rotating steel polarisator (22.5\xb0)", - "rotating steel polarisator (45\xb0)", /* 350 */ - "rotating steel polarisator (67.5\xb0)", - "rotating steel polarisator (90\xb0)", - "rotating steel polarisator (112.5\xb0)", - "rotating steel polarisator (135\xb0)", - "rotating steel polarisator (157.5\xb0)", - "red beamer (0\xb0)", - "red beamer (22.5\xb0)", - "red beamer (45\xb0)", - "red beamer (67.5\xb0)", - "red beamer (90\xb0)", /* 360 */ - "red beamer (112.5\xb0)", - "red beamer (135\xb0)", - "red beamer (157.5\xb0)", - "red beamer (180\xb0)", - "red beamer (202.5\xb0)", - "red beamer (225\xb0)", - "red beamer (247.5\xb0)", - "red beamer (270\xb0)", - "red beamer (292.5\xb0)", - "red beamer (315\xb0)", /* 370 */ - "red beamer (337.5\xb0)", - "yellow beamer (0\xb0)", - "yellow beamer (22.5\xb0)", - "yellow beamer (45\xb0)", - "yellow beamer (67.5\xb0)", - "yellow beamer (90\xb0)", - "yellow beamer (112.5\xb0)", - "yellow beamer (135\xb0)", - "yellow beamer (157.5\xb0)", - "yellow beamer (180\xb0)", /* 380 */ - "yellow beamer (202.5\xb0)", - "yellow beamer (225\xb0)", - "yellow beamer (247.5\xb0)", - "yellow beamer (270\xb0)", - "yellow beamer (292.5\xb0)", - "yellow beamer (315\xb0)", - "yellow beamer (337.5\xb0)", - "green beamer (0\xb0)", - "green beamer (22.5\xb0)", - "green beamer (45\xb0)", /* 390 */ - "green beamer (67.5\xb0)", - "green beamer (90\xb0)", - "green beamer (112.5\xb0)", - "green beamer (135\xb0)", - "green beamer (157.5\xb0)", - "green beamer (180\xb0)", - "green beamer (202.5\xb0)", - "green beamer (225\xb0)", - "green beamer (247.5\xb0)", - "green beamer (270\xb0)", /* 400 */ - "green beamer (292.5\xb0)", - "green beamer (315\xb0)", - "green beamer (337.5\xb0)", - "blue beamer (0\xb0)", - "blue beamer (22.5\xb0)", - "blue beamer (45\xb0)", - "blue beamer (67.5\xb0)", - "blue beamer (90\xb0)", - "blue beamer (112.5\xb0)", - "blue beamer (135\xb0)", /* 410 */ - "blue beamer (157.5\xb0)", - "blue beamer (180\xb0)", - "blue beamer (202.5\xb0)", - "blue beamer (225\xb0)", - "blue beamer (247.5\xb0)", - "blue beamer (270\xb0)", - "blue beamer (292.5\xb0)", - "blue beamer (315\xb0)", - "blue beamer (337.5\xb0)", - "unknown", /* 420 */ + "rotating wooden polarizer (0\xb0)", // 340 + "rotating wooden polarizer (22.5\xb0)", + "rotating wooden polarizer (45\xb0)", + "rotating wooden polarizer (67.5\xb0)", + "rotating wooden polarizer (90\xb0)", + "rotating wooden polarizer (112.5\xb0)", + "rotating wooden polarizer (135\xb0)", + "rotating wooden polarizer (157.5\xb0)", + "rotating steel polarizer (0\xb0)", + "rotating steel polarizer (22.5\xb0)", + "rotating steel polarizer (45\xb0)", // 350 + "rotating steel polarizer (67.5\xb0)", + "rotating steel polarizer (90\xb0)", + "rotating steel polarizer (112.5\xb0)", + "rotating steel polarizer (135\xb0)", + "rotating steel polarizer (157.5\xb0)", + "red teleporter (0\xb0)", + "red teleporter (22.5\xb0)", + "red teleporter (45\xb0)", + "red teleporter (67.5\xb0)", + "red teleporter (90\xb0)", // 360 + "red teleporter (112.5\xb0)", + "red teleporter (135\xb0)", + "red teleporter (157.5\xb0)", + "red teleporter (180\xb0)", + "red teleporter (202.5\xb0)", + "red teleporter (225\xb0)", + "red teleporter (247.5\xb0)", + "red teleporter (270\xb0)", + "red teleporter (292.5\xb0)", + "red teleporter (315\xb0)", // 370 + "red teleporter (337.5\xb0)", + "yellow teleporter (0\xb0)", + "yellow teleporter (22.5\xb0)", + "yellow teleporter (45\xb0)", + "yellow teleporter (67.5\xb0)", + "yellow teleporter (90\xb0)", + "yellow teleporter (112.5\xb0)", + "yellow teleporter (135\xb0)", + "yellow teleporter (157.5\xb0)", + "yellow teleporter (180\xb0)", // 380 + "yellow teleporter (202.5\xb0)", + "yellow teleporter (225\xb0)", + "yellow teleporter (247.5\xb0)", + "yellow teleporter (270\xb0)", + "yellow teleporter (292.5\xb0)", + "yellow teleporter (315\xb0)", + "yellow teleporter (337.5\xb0)", + "green teleporter (0\xb0)", + "green teleporter (22.5\xb0)", + "green teleporter (45\xb0)", // 390 + "green teleporter (67.5\xb0)", + "green teleporter (90\xb0)", + "green teleporter (112.5\xb0)", + "green teleporter (135\xb0)", + "green teleporter (157.5\xb0)", + "green teleporter (180\xb0)", + "green teleporter (202.5\xb0)", + "green teleporter (225\xb0)", + "green teleporter (247.5\xb0)", + "green teleporter (270\xb0)", // 400 + "green teleporter (292.5\xb0)", + "green teleporter (315\xb0)", + "green teleporter (337.5\xb0)", + "blue teleporter (0\xb0)", + "blue teleporter (22.5\xb0)", + "blue teleporter (45\xb0)", + "blue teleporter (67.5\xb0)", + "blue teleporter (90\xb0)", + "blue teleporter (112.5\xb0)", + "blue teleporter (135\xb0)", // 410 + "blue teleporter (157.5\xb0)", + "blue teleporter (180\xb0)", + "blue teleporter (202.5\xb0)", + "blue teleporter (225\xb0)", + "blue teleporter (247.5\xb0)", + "blue teleporter (270\xb0)", + "blue teleporter (292.5\xb0)", + "blue teleporter (315\xb0)", + "blue teleporter (337.5\xb0)", + "unknown", // 420 /* "-------------------------------",