projects
/
rocksndiamonds.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
added description for BD style explosion
[rocksndiamonds.git]
/
src
/
game_mm
/
mm_main.c
diff --git
a/src/game_mm/mm_main.c
b/src/game_mm/mm_main.c
index 2209d0924d81985b6baf6108567d0a7d97f74bc1..048d8fd3240c157ae8b2231706def056f059a7ed 100644
(file)
--- a/
src/game_mm/mm_main.c
+++ b/
src/game_mm/mm_main.c
@@
-4,7
+4,7
@@
// (c) 1994-2017 by Artsoft Entertainment
// Holger Schemel
// info@artsoft.org
// (c) 1994-2017 by Artsoft Entertainment
// Holger Schemel
// info@artsoft.org
-// http://www.artsoft.org/
+// http
s
://www.artsoft.org/
// ----------------------------------------------------------------------------
// mm_main.c
// ============================================================================
// ----------------------------------------------------------------------------
// mm_main.c
// ============================================================================
@@
-28,8
+28,15
@@
unsigned int Elementeigenschaften[MAX_ELEMENTS];
struct LaserInfo laser;
struct LaserInfo laser;
-short LX,LY, XS,YS, ELX,ELY;
-short CT,Ct;
+short LX, LY;
+short XS, YS;
+short 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;
Pixel pen_fg, pen_bg, pen_ray, pen_magicolor[2];
int color_status;
@@
-95,7
+102,7
@@
short Sign[16] =
char *element_info_mm[] =
{
char *element_info_mm[] =
{
- "empty space", /
* 0 */
+ "empty space", /
/ 0
"mirror (0\xb0)",
"mirror (11.25\xb0)",
"mirror (22.5\xb0)",
"mirror (0\xb0)",
"mirror (11.25\xb0)",
"mirror (22.5\xb0)",
@@
-105,7
+112,7
@@
char *element_info_mm[] =
"mirror (67.5\xb0)",
"mirror (78.75\xb0)",
"mirror (90\xb0)",
"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 (112.5\xb0)",
"mirror (123.75\xb0)",
"mirror (135\xb0)",
@@
-115,7
+122,7
@@
char *element_info_mm[] =
"fixed steel polarizer (0\xb0)",
"fixed steel polarizer (90\xb0)",
"fixed steel polarizer (45\xb0)",
"fixed steel polarizer (0\xb0)",
"fixed steel polarizer (90\xb0)",
"fixed steel polarizer (45\xb0)",
- "fixed steel polarizer (135\xb0)", /
* 20 */
+ "fixed steel polarizer (135\xb0)", /
/ 20
"Gregor McDuffin (looking right)",
"Gregor McDuffin (looking up)",
"Gregor McDuffin (looking left)",
"Gregor McDuffin (looking right)",
"Gregor McDuffin (looking up)",
"Gregor McDuffin (looking left)",
@@
-125,7
+132,7
@@
char *element_info_mm[] =
"opening exit",
"open exit",
"magic kettle",
"opening exit",
"open exit",
"magic kettle",
- "bomb", /
* 30 */
+ "bomb", /
/ 30
"prism",
"steel wall",
"steel wall",
"prism",
"steel wall",
"steel wall",
@@
-135,7
+142,7
@@
char *element_info_mm[] =
"steel wall",
"steel wall",
"steel wall",
"steel wall",
"steel wall",
"steel wall",
- "steel wall", /
* 40 */
+ "steel wall", /
/ 40
"steel wall",
"steel wall",
"steel wall",
"steel wall",
"steel wall",
"steel wall",
@@
-145,7
+152,7
@@
char *element_info_mm[] =
"steel wall",
"wooden wall",
"wooden wall",
"steel wall",
"wooden wall",
"wooden wall",
- "wooden wall", /
* 50 */
+ "wooden wall", /
/ 50
"wooden wall",
"wooden wall",
"wooden wall",
"wooden wall",
"wooden wall",
"wooden wall",
@@
-155,7
+162,7
@@
char *element_info_mm[] =
"wooden wall",
"wooden wall",
"wooden wall",
"wooden wall",
"wooden wall",
"wooden wall",
- "wooden wall", /
* 60 */
+ "wooden wall", /
/ 60
"wooden wall",
"wooden wall",
"wooden wall",
"wooden wall",
"wooden wall",
"wooden wall",
@@
-165,7
+172,7
@@
char *element_info_mm[] =
"ice wall",
"ice wall",
"ice wall",
"ice wall",
"ice wall",
"ice wall",
- "ice wall", /
* 70 */
+ "ice wall", /
/ 70
"ice wall",
"ice wall",
"ice wall",
"ice wall",
"ice wall",
"ice wall",
@@
-175,7
+182,7
@@
char *element_info_mm[] =
"ice wall",
"ice wall",
"ice wall",
"ice wall",
"ice wall",
"ice wall",
- "amoeba wall", /
* 80 */
+ "amoeba wall", /
/ 80
"amoeba wall",
"amoeba wall",
"amoeba wall",
"amoeba wall",
"amoeba wall",
"amoeba wall",
@@
-185,7
+192,7
@@
char *element_info_mm[] =
"amoeba wall",
"amoeba wall",
"amoeba wall",
"amoeba wall",
"amoeba wall",
"amoeba wall",
- "amoeba wall", /
* 90 */
+ "amoeba wall", /
/ 90
"amoeba wall",
"amoeba wall",
"amoeba wall",
"amoeba wall",
"amoeba wall",
"amoeba wall",
@@
-195,7
+202,7
@@
char *element_info_mm[] =
"gray ball",
"teleporter (0\xb0)",
"teleporter (22.5\xb0)",
"gray ball",
"teleporter (0\xb0)",
"teleporter (22.5\xb0)",
- "teleporter (45\xb0)", /
* 100 */
+ "teleporter (45\xb0)", /
/ 100
"teleporter (67.5\xb0)",
"teleporter (90\xb0)",
"teleporter (112.5\xb0)",
"teleporter (67.5\xb0)",
"teleporter (90\xb0)",
"teleporter (112.5\xb0)",
@@
-205,7
+212,7
@@
char *element_info_mm[] =
"teleporter (202.5\xb0)",
"teleporter (225\xb0)",
"teleporter (247.5\xb0)",
"teleporter (202.5\xb0)",
"teleporter (225\xb0)",
"teleporter (247.5\xb0)",
- "teleporter (270\xb0)", /
* 110 */
+ "teleporter (270\xb0)", /
/ 110
"teleporter (292.5\xb0)",
"teleporter (315\xb0)",
"teleporter (337.5\xb0)",
"teleporter (292.5\xb0)",
"teleporter (315\xb0)",
"teleporter (337.5\xb0)",
@@
-215,7
+222,7
@@
char *element_info_mm[] =
"pac man (starts moving left)",
"pac man (starts moving down)",
"polarizer (0\xb0)",
"pac man (starts moving left)",
"pac man (starts moving down)",
"polarizer (0\xb0)",
- "polarizer (11.25\xb0)", /
* 120 */
+ "polarizer (11.25\xb0)", /
/ 120
"polarizer (22.5\xb0)",
"polarizer (33.75\xb0)",
"polarizer (45\xb0)",
"polarizer (22.5\xb0)",
"polarizer (33.75\xb0)",
"polarizer (45\xb0)",
@@
-225,7
+232,7
@@
char *element_info_mm[] =
"polarizer (90\xb0)",
"polarizer (101.25\xb0)",
"polarizer (112.5\xb0)",
"polarizer (90\xb0)",
"polarizer (101.25\xb0)",
"polarizer (112.5\xb0)",
- "polarizer (123.75\xb0)", /
* 130 */
+ "polarizer (123.75\xb0)", /
/ 130
"polarizer (135\xb0)",
"polarizer (146.25\xb0)",
"polarizer (157.5\xb0)",
"polarizer (135\xb0)",
"polarizer (146.25\xb0)",
"polarizer (157.5\xb0)",
@@
-235,7
+242,7
@@
char *element_info_mm[] =
"two-way polarizer (45\xb0)",
"two-way polarizer (67.5\xb0)",
"fixed mirror (0\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",
"fixed mirror (90\xb0)",
"fixed mirror (135\xb0)",
"reflecting stone lock",
@@
-245,7
+252,7
@@
char *element_info_mm[] =
"bonus ball",
"reflecting stone block",
"wooden lock",
"bonus ball",
"reflecting stone block",
"wooden lock",
- "extra energy ball (full)", /
* 150 */
+ "extra energy ball (full)", /
/ 150
"fixed wooden polarizer (0\xb0)",
"fixed wooden polarizer (90\xb0)",
"fixed wooden polarizer (45\xb0)",
"fixed wooden polarizer (0\xb0)",
"fixed wooden polarizer (90\xb0)",
"fixed wooden polarizer (45\xb0)",
@@
-255,7
+262,7
@@
char *element_info_mm[] =
"unused",
"unused",
"unused",
"unused",
"unused",
"unused",
- "letter ' '", /
* 160 */
+ "letter ' '", /
/ 160
"letter '!'",
"letter '\"'",
"letter '#'",
"letter '!'",
"letter '\"'",
"letter '#'",
@@
-265,7
+272,7
@@
char *element_info_mm[] =
"letter '''",
"letter '('",
"letter ')'",
"letter '''",
"letter '('",
"letter ')'",
- "letter '*'", /
* 170 */
+ "letter '*'", /
/ 170
"letter '+'",
"letter ','",
"letter '-'",
"letter '+'",
"letter ','",
"letter '-'",
@@
-275,7
+282,7
@@
char *element_info_mm[] =
"letter '1'",
"letter '2'",
"letter '3'",
"letter '1'",
"letter '2'",
"letter '3'",
- "letter '4'", /
* 180 */
+ "letter '4'", /
/ 180
"letter '5'",
"letter '6'",
"letter '7'",
"letter '5'",
"letter '6'",
"letter '7'",
@@
-285,7
+292,7
@@
char *element_info_mm[] =
"letter ';'",
"letter '<'",
"letter '='",
"letter ';'",
"letter '<'",
"letter '='",
- "letter '>'", /
* 190 */
+ "letter '>'", /
/ 190
"letter '?'",
"letter '@'",
"letter 'A'",
"letter '?'",
"letter '@'",
"letter 'A'",
@@
-295,7
+302,7
@@
char *element_info_mm[] =
"letter 'E'",
"letter 'F'",
"letter 'G'",
"letter 'E'",
"letter 'F'",
"letter 'G'",
- "letter 'H'", /
* 200 */
+ "letter 'H'", /
/ 200
"letter 'I'",
"letter 'J'",
"letter 'K'",
"letter 'I'",
"letter 'J'",
"letter 'K'",
@@
-305,7
+312,7
@@
char *element_info_mm[] =
"letter 'O'",
"letter 'P'",
"letter 'Q'",
"letter 'O'",
"letter 'P'",
"letter 'Q'",
- "letter 'R'", /
* 210 */
+ "letter 'R'", /
/ 210
"letter 'S'",
"letter 'T'",
"letter 'U'",
"letter 'S'",
"letter 'T'",
"letter 'U'",
@@
-315,7
+322,7
@@
char *element_info_mm[] =
"letter 'Y'",
"letter 'Z'",
"letter '\xc4'",
"letter 'Y'",
"letter 'Z'",
"letter '\xc4'",
- "letter '\xd6'", /
* 220 */
+ "letter '\xd6'", /
/ 220
"letter '\xdc'",
"letter '^'",
"letter ''",
"letter '\xdc'",
"letter '^'",
"letter ''",
@@
-325,7
+332,7
@@
char *element_info_mm[] =
"letter ''",
"letter ''",
"letter ''",
"letter ''",
"letter ''",
"letter ''",
- "letter ''", /
* 230 */
+ "letter ''", /
/ 230
"letter ''",
"letter ''",
"letter ''",
"letter ''",
"letter ''",
"letter ''",
@@
-335,7
+342,7
@@
char *element_info_mm[] =
"letter ''",
"letter ''",
"letter ''",
"letter ''",
"letter ''",
"letter ''",
- "mirror (0\xb0)", /
* 240 */
+ "mirror (0\xb0)", /
/ 240
"mirror (11.25\xb0)",
"mirror (22.5\xb0)",
"mirror (33.75\xb0)",
"mirror (11.25\xb0)",
"mirror (22.5\xb0)",
"mirror (33.75\xb0)",
@@
-345,7
+352,7
@@
char *element_info_mm[] =
"mirror (78.75\xb0)",
"mirror (90\xb0)",
"mirror (101.25\xb0)",
"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 (123.75\xb0)",
"mirror (135\xb0)",
"mirror (146.25\xb0)",
@@
-355,7
+362,7
@@
char *element_info_mm[] =
"fixed wooden polarizer (22.5\xb0)",
"fixed wooden polarizer (45\xb0)",
"fixed wooden polarizer (67.5\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 (90\xb0)", /
/ 260
"fixed wooden polarizer (112.5\xb0)",
"fixed wooden polarizer (135\xb0)",
"fixed wooden polarizer (157.5\xb0)",
"fixed wooden polarizer (112.5\xb0)",
"fixed wooden polarizer (135\xb0)",
"fixed wooden polarizer (157.5\xb0)",
@@
-365,7
+372,7
@@
char *element_info_mm[] =
"fixed steel polarizer (67.5\xb0)",
"fixed steel polarizer (90\xb0)",
"fixed steel polarizer (112.5\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 (135\xb0)", /
/ 270
"fixed steel polarizer (157.5\xb0)",
"deflektor style wooden wall",
"deflektor style wooden wall",
"fixed steel polarizer (157.5\xb0)",
"deflektor style wooden wall",
"deflektor style wooden wall",
@@
-375,7
+382,7
@@
char *element_info_mm[] =
"deflektor style wooden wall",
"deflektor style wooden wall",
"deflektor style wooden wall",
"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",
"deflektor style wooden wall",
"deflektor style wooden wall",
"deflektor style wooden wall",
@@
-385,7
+392,7
@@
char *element_info_mm[] =
"deflektor style wooden wall",
"deflektor style steel wall",
"deflektor style steel wall",
"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",
"deflektor style steel wall",
"deflektor style steel wall",
"deflektor style steel wall",
@@
-395,7
+402,7
@@
char *element_info_mm[] =
"deflektor style steel wall",
"deflektor style steel wall",
"deflektor style steel wall",
"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",
"deflektor style steel wall",
"deflektor style steel wall",
"deflektor style steel wall",
@@
-405,7
+412,7
@@
char *element_info_mm[] =
"refractor",
"laser cannon (shooting right)",
"laser cannon (shooting up)",
"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)",
"laser cannon (shooting down)",
"laser receiver (directed right)",
"laser receiver (directed up)",
@@
-415,7
+422,7
@@
char *element_info_mm[] =
"fibre optic (1b)",
"fibre optic (2a)",
"fibre optic (2b)",
"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)",
"fibre optic (3b)",
"fibre optic (4a)",
"fibre optic (4b)",
@@
-425,7
+432,7
@@
char *element_info_mm[] =
"rotating mirror (33.75\xb0)",
"rotating mirror (45\xb0)",
"rotating mirror (56.25\xb0)",
"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)",
"rotating mirror (78.75\xb0)",
"rotating mirror (90\xb0)",
"rotating mirror (101.25\xb0)",
@@
-435,7
+442,7
@@
char *element_info_mm[] =
"rotating mirror (146.25\xb0)",
"rotating mirror (157.5\xb0)",
"rotating mirror (168.75\xb0)",
"rotating mirror (146.25\xb0)",
"rotating mirror (157.5\xb0)",
"rotating mirror (168.75\xb0)",
- "rotating wooden polarizer (0\xb0)", /
* 340 */
+ "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 (22.5\xb0)",
"rotating wooden polarizer (45\xb0)",
"rotating wooden polarizer (67.5\xb0)",
@@
-445,7
+452,7
@@
char *element_info_mm[] =
"rotating wooden polarizer (157.5\xb0)",
"rotating steel polarizer (0\xb0)",
"rotating steel polarizer (22.5\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 (45\xb0)", /
/ 350
"rotating steel polarizer (67.5\xb0)",
"rotating steel polarizer (90\xb0)",
"rotating steel polarizer (112.5\xb0)",
"rotating steel polarizer (67.5\xb0)",
"rotating steel polarizer (90\xb0)",
"rotating steel polarizer (112.5\xb0)",
@@
-455,7
+462,7
@@
char *element_info_mm[] =
"red teleporter (22.5\xb0)",
"red teleporter (45\xb0)",
"red teleporter (67.5\xb0)",
"red teleporter (22.5\xb0)",
"red teleporter (45\xb0)",
"red teleporter (67.5\xb0)",
- "red teleporter (90\xb0)", /
* 360 */
+ "red teleporter (90\xb0)", /
/ 360
"red teleporter (112.5\xb0)",
"red teleporter (135\xb0)",
"red teleporter (157.5\xb0)",
"red teleporter (112.5\xb0)",
"red teleporter (135\xb0)",
"red teleporter (157.5\xb0)",
@@
-465,7
+472,7
@@
char *element_info_mm[] =
"red teleporter (247.5\xb0)",
"red teleporter (270\xb0)",
"red teleporter (292.5\xb0)",
"red teleporter (247.5\xb0)",
"red teleporter (270\xb0)",
"red teleporter (292.5\xb0)",
- "red teleporter (315\xb0)", /
* 370 */
+ "red teleporter (315\xb0)", /
/ 370
"red teleporter (337.5\xb0)",
"yellow teleporter (0\xb0)",
"yellow teleporter (22.5\xb0)",
"red teleporter (337.5\xb0)",
"yellow teleporter (0\xb0)",
"yellow teleporter (22.5\xb0)",
@@
-475,7
+482,7
@@
char *element_info_mm[] =
"yellow teleporter (112.5\xb0)",
"yellow teleporter (135\xb0)",
"yellow teleporter (157.5\xb0)",
"yellow teleporter (112.5\xb0)",
"yellow teleporter (135\xb0)",
"yellow teleporter (157.5\xb0)",
- "yellow teleporter (180\xb0)", /
* 380 */
+ "yellow teleporter (180\xb0)", /
/ 380
"yellow teleporter (202.5\xb0)",
"yellow teleporter (225\xb0)",
"yellow teleporter (247.5\xb0)",
"yellow teleporter (202.5\xb0)",
"yellow teleporter (225\xb0)",
"yellow teleporter (247.5\xb0)",
@@
-485,7
+492,7
@@
char *element_info_mm[] =
"yellow teleporter (337.5\xb0)",
"green teleporter (0\xb0)",
"green teleporter (22.5\xb0)",
"yellow teleporter (337.5\xb0)",
"green teleporter (0\xb0)",
"green teleporter (22.5\xb0)",
- "green teleporter (45\xb0)", /
* 390 */
+ "green teleporter (45\xb0)", /
/ 390
"green teleporter (67.5\xb0)",
"green teleporter (90\xb0)",
"green teleporter (112.5\xb0)",
"green teleporter (67.5\xb0)",
"green teleporter (90\xb0)",
"green teleporter (112.5\xb0)",
@@
-495,7
+502,7
@@
char *element_info_mm[] =
"green teleporter (202.5\xb0)",
"green teleporter (225\xb0)",
"green teleporter (247.5\xb0)",
"green teleporter (202.5\xb0)",
"green teleporter (225\xb0)",
"green teleporter (247.5\xb0)",
- "green teleporter (270\xb0)", /
* 400 */
+ "green teleporter (270\xb0)", /
/ 400
"green teleporter (292.5\xb0)",
"green teleporter (315\xb0)",
"green teleporter (337.5\xb0)",
"green teleporter (292.5\xb0)",
"green teleporter (315\xb0)",
"green teleporter (337.5\xb0)",
@@
-505,7
+512,7
@@
char *element_info_mm[] =
"blue teleporter (67.5\xb0)",
"blue teleporter (90\xb0)",
"blue teleporter (112.5\xb0)",
"blue teleporter (67.5\xb0)",
"blue teleporter (90\xb0)",
"blue teleporter (112.5\xb0)",
- "blue teleporter (135\xb0)", /
* 410 */
+ "blue teleporter (135\xb0)", /
/ 410
"blue teleporter (157.5\xb0)",
"blue teleporter (180\xb0)",
"blue teleporter (202.5\xb0)",
"blue teleporter (157.5\xb0)",
"blue teleporter (180\xb0)",
"blue teleporter (202.5\xb0)",
@@
-515,7
+522,7
@@
char *element_info_mm[] =
"blue teleporter (292.5\xb0)",
"blue teleporter (315\xb0)",
"blue teleporter (337.5\xb0)",
"blue teleporter (292.5\xb0)",
"blue teleporter (315\xb0)",
"blue teleporter (337.5\xb0)",
- "unknown", /
* 420 */
+ "unknown", /
/ 420
/*
"-------------------------------",
/*
"-------------------------------",