From cd9add1d9479d1938d05ca9df4f31c3f99bd5f3e Mon Sep 17 00:00:00 2001 From: Holger Schemel Date: Sun, 6 Oct 2002 04:09:11 +0200 Subject: [PATCH] rnd-20021006-1-src --- Makefile | 1 + src/conf_chr.c | 362 +++++++++++++++++++++++++++++++++++++++ src/conf_e2g.c | 26 ++- src/conf_gfx.h | 454 ++++++++++++++++++++++++++++--------------------- src/conf_snd.h | 2 +- src/conftime.h | 2 +- src/game.c | 162 +++++++++++++++--- src/init.c | 10 +- src/main.c | 51 +++++- src/main.h | 65 +++---- src/tools.c | 16 +- 11 files changed, 883 insertions(+), 268 deletions(-) create mode 100644 src/conf_chr.c diff --git a/Makefile b/Makefile index a75133cc..6fb23c4a 100644 --- a/Makefile +++ b/Makefile @@ -90,6 +90,7 @@ clean: auto-conf: ./Scripts/create_element_defs.pl --graphics > src/conf_gfx.h ./Scripts/create_element_defs.pl --sounds > src/conf_snd.h + ./Scripts/create_element_defs.pl --chars > src/conf_chr.c ./Scripts/create_element_defs.pl --el2gfx > src/conf_e2g.c run: diff --git a/src/conf_chr.c b/src/conf_chr.c new file mode 100644 index 00000000..127a270f --- /dev/null +++ b/src/conf_chr.c @@ -0,0 +1,362 @@ +/*********************************************************** +* Rocks'n'Diamonds -- McDuffin Strikes Back! * +*----------------------------------------------------------* +* (c) 1995-2002 Artsoft Entertainment * +* Holger Schemel * +* Detmolder Strasse 189 * +* 33604 Bielefeld * +* Germany * +* e-mail: info@artsoft.org * +*----------------------------------------------------------* +* conf_chr.c * +***********************************************************/ + +/* ----- this file was automatically generated -- do not edit by hand ----- */ + +#ifndef CONF_CHR_C +#define CONF_CHR_C + +/* values for character graphics configuration */ + + { "char_space", "RocksFontEM.pcx" }, + { "char_space.xpos", "0" }, + { "char_space.ypos", "0" }, + { "char_space.frames", "1" }, + + { "char_exclam", "RocksFontEM.pcx" }, + { "char_exclam.xpos", "1" }, + { "char_exclam.ypos", "0" }, + { "char_exclam.frames", "1" }, + + { "char_quotedbl", "RocksFontEM.pcx" }, + { "char_quotedbl.xpos", "2" }, + { "char_quotedbl.ypos", "0" }, + { "char_quotedbl.frames", "1" }, + + { "char_numbersign", "RocksFontEM.pcx" }, + { "char_numbersign.xpos", "3" }, + { "char_numbersign.ypos", "0" }, + { "char_numbersign.frames", "1" }, + + { "char_dollar", "RocksFontEM.pcx" }, + { "char_dollar.xpos", "4" }, + { "char_dollar.ypos", "0" }, + { "char_dollar.frames", "1" }, + + { "char_procent", "RocksFontEM.pcx" }, + { "char_procent.xpos", "5" }, + { "char_procent.ypos", "0" }, + { "char_procent.frames", "1" }, + + { "char_ampersand", "RocksFontEM.pcx" }, + { "char_ampersand.xpos", "6" }, + { "char_ampersand.ypos", "0" }, + { "char_ampersand.frames", "1" }, + + { "char_apostrophe", "RocksFontEM.pcx" }, + { "char_apostrophe.xpos", "7" }, + { "char_apostrophe.ypos", "0" }, + { "char_apostrophe.frames", "1" }, + + { "char_parenleft", "RocksFontEM.pcx" }, + { "char_parenleft.xpos", "8" }, + { "char_parenleft.ypos", "0" }, + { "char_parenleft.frames", "1" }, + + { "char_parenright", "RocksFontEM.pcx" }, + { "char_parenright.xpos", "9" }, + { "char_parenright.ypos", "0" }, + { "char_parenright.frames", "1" }, + + { "char_asterisk", "RocksFontEM.pcx" }, + { "char_asterisk.xpos", "10" }, + { "char_asterisk.ypos", "0" }, + { "char_asterisk.frames", "1" }, + + { "char_plus", "RocksFontEM.pcx" }, + { "char_plus.xpos", "11" }, + { "char_plus.ypos", "0" }, + { "char_plus.frames", "1" }, + + { "char_comma", "RocksFontEM.pcx" }, + { "char_comma.xpos", "12" }, + { "char_comma.ypos", "0" }, + { "char_comma.frames", "1" }, + + { "char_minus", "RocksFontEM.pcx" }, + { "char_minus.xpos", "13" }, + { "char_minus.ypos", "0" }, + { "char_minus.frames", "1" }, + + { "char_period", "RocksFontEM.pcx" }, + { "char_period.xpos", "14" }, + { "char_period.ypos", "0" }, + { "char_period.frames", "1" }, + + { "char_slash", "RocksFontEM.pcx" }, + { "char_slash.xpos", "15" }, + { "char_slash.ypos", "0" }, + { "char_slash.frames", "1" }, + + { "char_0", "RocksFontEM.pcx" }, + { "char_0.xpos", "0" }, + { "char_0.ypos", "1" }, + { "char_0.frames", "1" }, + + { "char_1", "RocksFontEM.pcx" }, + { "char_1.xpos", "1" }, + { "char_1.ypos", "1" }, + { "char_1.frames", "1" }, + + { "char_2", "RocksFontEM.pcx" }, + { "char_2.xpos", "2" }, + { "char_2.ypos", "1" }, + { "char_2.frames", "1" }, + + { "char_3", "RocksFontEM.pcx" }, + { "char_3.xpos", "3" }, + { "char_3.ypos", "1" }, + { "char_3.frames", "1" }, + + { "char_4", "RocksFontEM.pcx" }, + { "char_4.xpos", "4" }, + { "char_4.ypos", "1" }, + { "char_4.frames", "1" }, + + { "char_5", "RocksFontEM.pcx" }, + { "char_5.xpos", "5" }, + { "char_5.ypos", "1" }, + { "char_5.frames", "1" }, + + { "char_6", "RocksFontEM.pcx" }, + { "char_6.xpos", "6" }, + { "char_6.ypos", "1" }, + { "char_6.frames", "1" }, + + { "char_7", "RocksFontEM.pcx" }, + { "char_7.xpos", "7" }, + { "char_7.ypos", "1" }, + { "char_7.frames", "1" }, + + { "char_8", "RocksFontEM.pcx" }, + { "char_8.xpos", "8" }, + { "char_8.ypos", "1" }, + { "char_8.frames", "1" }, + + { "char_9", "RocksFontEM.pcx" }, + { "char_9.xpos", "9" }, + { "char_9.ypos", "1" }, + { "char_9.frames", "1" }, + + { "char_colon", "RocksFontEM.pcx" }, + { "char_colon.xpos", "10" }, + { "char_colon.ypos", "1" }, + { "char_colon.frames", "1" }, + + { "char_semicolon", "RocksFontEM.pcx" }, + { "char_semicolon.xpos", "11" }, + { "char_semicolon.ypos", "1" }, + { "char_semicolon.frames", "1" }, + + { "char_less", "RocksFontEM.pcx" }, + { "char_less.xpos", "12" }, + { "char_less.ypos", "1" }, + { "char_less.frames", "1" }, + + { "char_equal", "RocksFontEM.pcx" }, + { "char_equal.xpos", "13" }, + { "char_equal.ypos", "1" }, + { "char_equal.frames", "1" }, + + { "char_greater", "RocksFontEM.pcx" }, + { "char_greater.xpos", "14" }, + { "char_greater.ypos", "1" }, + { "char_greater.frames", "1" }, + + { "char_question", "RocksFontEM.pcx" }, + { "char_question.xpos", "15" }, + { "char_question.ypos", "1" }, + { "char_question.frames", "1" }, + + { "char_at", "RocksFontEM.pcx" }, + { "char_at.xpos", "0" }, + { "char_at.ypos", "2" }, + { "char_at.frames", "1" }, + + { "char_a", "RocksFontEM.pcx" }, + { "char_a.xpos", "1" }, + { "char_a.ypos", "2" }, + { "char_a.frames", "1" }, + + { "char_b", "RocksFontEM.pcx" }, + { "char_b.xpos", "2" }, + { "char_b.ypos", "2" }, + { "char_b.frames", "1" }, + + { "char_c", "RocksFontEM.pcx" }, + { "char_c.xpos", "3" }, + { "char_c.ypos", "2" }, + { "char_c.frames", "1" }, + + { "char_d", "RocksFontEM.pcx" }, + { "char_d.xpos", "4" }, + { "char_d.ypos", "2" }, + { "char_d.frames", "1" }, + + { "char_e", "RocksFontEM.pcx" }, + { "char_e.xpos", "5" }, + { "char_e.ypos", "2" }, + { "char_e.frames", "1" }, + + { "char_f", "RocksFontEM.pcx" }, + { "char_f.xpos", "6" }, + { "char_f.ypos", "2" }, + { "char_f.frames", "1" }, + + { "char_g", "RocksFontEM.pcx" }, + { "char_g.xpos", "7" }, + { "char_g.ypos", "2" }, + { "char_g.frames", "1" }, + + { "char_h", "RocksFontEM.pcx" }, + { "char_h.xpos", "8" }, + { "char_h.ypos", "2" }, + { "char_h.frames", "1" }, + + { "char_i", "RocksFontEM.pcx" }, + { "char_i.xpos", "9" }, + { "char_i.ypos", "2" }, + { "char_i.frames", "1" }, + + { "char_j", "RocksFontEM.pcx" }, + { "char_j.xpos", "10" }, + { "char_j.ypos", "2" }, + { "char_j.frames", "1" }, + + { "char_k", "RocksFontEM.pcx" }, + { "char_k.xpos", "11" }, + { "char_k.ypos", "2" }, + { "char_k.frames", "1" }, + + { "char_l", "RocksFontEM.pcx" }, + { "char_l.xpos", "12" }, + { "char_l.ypos", "2" }, + { "char_l.frames", "1" }, + + { "char_m", "RocksFontEM.pcx" }, + { "char_m.xpos", "13" }, + { "char_m.ypos", "2" }, + { "char_m.frames", "1" }, + + { "char_n", "RocksFontEM.pcx" }, + { "char_n.xpos", "14" }, + { "char_n.ypos", "2" }, + { "char_n.frames", "1" }, + + { "char_o", "RocksFontEM.pcx" }, + { "char_o.xpos", "15" }, + { "char_o.ypos", "2" }, + { "char_o.frames", "1" }, + + { "char_p", "RocksFontEM.pcx" }, + { "char_p.xpos", "0" }, + { "char_p.ypos", "3" }, + { "char_p.frames", "1" }, + + { "char_q", "RocksFontEM.pcx" }, + { "char_q.xpos", "1" }, + { "char_q.ypos", "3" }, + { "char_q.frames", "1" }, + + { "char_r", "RocksFontEM.pcx" }, + { "char_r.xpos", "2" }, + { "char_r.ypos", "3" }, + { "char_r.frames", "1" }, + + { "char_s", "RocksFontEM.pcx" }, + { "char_s.xpos", "3" }, + { "char_s.ypos", "3" }, + { "char_s.frames", "1" }, + + { "char_t", "RocksFontEM.pcx" }, + { "char_t.xpos", "4" }, + { "char_t.ypos", "3" }, + { "char_t.frames", "1" }, + + { "char_u", "RocksFontEM.pcx" }, + { "char_u.xpos", "5" }, + { "char_u.ypos", "3" }, + { "char_u.frames", "1" }, + + { "char_v", "RocksFontEM.pcx" }, + { "char_v.xpos", "6" }, + { "char_v.ypos", "3" }, + { "char_v.frames", "1" }, + + { "char_w", "RocksFontEM.pcx" }, + { "char_w.xpos", "7" }, + { "char_w.ypos", "3" }, + { "char_w.frames", "1" }, + + { "char_x", "RocksFontEM.pcx" }, + { "char_x.xpos", "8" }, + { "char_x.ypos", "3" }, + { "char_x.frames", "1" }, + + { "char_y", "RocksFontEM.pcx" }, + { "char_y.xpos", "9" }, + { "char_y.ypos", "3" }, + { "char_y.frames", "1" }, + + { "char_z", "RocksFontEM.pcx" }, + { "char_z.xpos", "10" }, + { "char_z.ypos", "3" }, + { "char_z.frames", "1" }, + + { "char_ae", "RocksFontEM.pcx" }, + { "char_ae.xpos", "11" }, + { "char_ae.ypos", "3" }, + { "char_ae.frames", "1" }, + + { "char_oe", "RocksFontEM.pcx" }, + { "char_oe.xpos", "12" }, + { "char_oe.ypos", "3" }, + { "char_oe.frames", "1" }, + + { "char_ue", "RocksFontEM.pcx" }, + { "char_ue.xpos", "13" }, + { "char_ue.ypos", "3" }, + { "char_ue.frames", "1" }, + + { "char_copyright", "RocksFontEM.pcx" }, + { "char_copyright.xpos", "14" }, + { "char_copyright.ypos", "3" }, + { "char_copyright.frames", "1" }, + + { "char_underscore", "RocksFontEM.pcx" }, + { "char_underscore.xpos", "15" }, + { "char_underscore.ypos", "3" }, + { "char_underscore.frames", "1" }, + + { "char_empty", "RocksFontEM.pcx" }, + { "char_empty.xpos", "16" }, + { "char_empty.ypos", "0" }, + { "char_empty.frames", "1" }, + + { "char_degree", "RocksFontEM.pcx" }, + { "char_degree.xpos", "16" }, + { "char_degree.ypos", "1" }, + { "char_degree.frames", "1" }, + + { "char_tm", "RocksFontEM.pcx" }, + { "char_tm.xpos", "16" }, + { "char_tm.ypos", "2" }, + { "char_tm.frames", "1" }, + + { "char_cursor", "RocksFontEM.pcx" }, + { "char_cursor.xpos", "16" }, + { "char_cursor.ypos", "3" }, + { "char_cursor.frames", "1" }, + + +#endif /* CONF_CHR_C */ diff --git a/src/conf_e2g.c b/src/conf_e2g.c index de7c8a11..f6b4874b 100644 --- a/src/conf_e2g.c +++ b/src/conf_e2g.c @@ -1420,6 +1420,10 @@ element_to_graphic[] = EL_WALL_BD_DIAMOND, -1, -1, IMG_WALL_BD_DIAMOND }, + { + EL_WALL_GROWING, -1, -1, + IMG_WALL_GROWING + }, { EL_WALL_GROWING_XY, -1, -1, IMG_WALL_GROWING_XY @@ -1492,6 +1496,10 @@ element_to_graphic[] = EL_DYNABOMB_XL, -1, -1, IMG_DYNABOMB_XL }, + { + EL_PIG, -1, -1, + IMG_PIG + }, { EL_PIG, MV_DOWN, -1, IMG_PIG_DOWN @@ -1540,6 +1548,10 @@ element_to_graphic[] = EL_PIG, MV_RIGHT, GFX_ACTION_EATING, IMG_PIG_RIGHT_EATING }, + { + EL_DRAGON, -1, -1, + IMG_DRAGON + }, { EL_DRAGON, MV_DOWN, -1, IMG_DRAGON_DOWN @@ -1588,6 +1600,10 @@ element_to_graphic[] = EL_DRAGON, MV_RIGHT, GFX_ACTION_ATTACKING, IMG_DRAGON_RIGHT_ATTACKING }, + { + EL_MOLE, -1, -1, + IMG_MOLE + }, { EL_MOLE_DOWN, -1, -1, IMG_MOLE_DOWN @@ -1684,6 +1700,10 @@ element_to_graphic[] = EL_MOLE, MV_RIGHT, GFX_ACTION_DIGGING, IMG_MOLE_RIGHT_DIGGING }, + { + EL_PENGUIN, -1, -1, + IMG_PENGUIN + }, { EL_PENGUIN, MV_DOWN, -1, IMG_PENGUIN_DOWN @@ -2148,10 +2168,6 @@ element_to_graphic[] = EL_ARROW_RED_DOWN, -1, -1, IMG_ARROW_RED_DOWN }, - { - EL_CHAR_QUESTION, -1, -1, - IMG_CHAR_QUESTION - }, { EL_DOOR_WHITE, -1, -1, IMG_CHAR_QUESTION @@ -2234,4 +2250,4 @@ element_to_graphic[] = }, }; -#endif /* GFX_LIST_H */ +#endif /* CONF_E2G_C */ diff --git a/src/conf_gfx.h b/src/conf_gfx.h index 82a4878a..ed022516 100644 --- a/src/conf_gfx.h +++ b/src/conf_gfx.h @@ -348,196 +348,268 @@ #define IMG_WALL_EMERALD_RED 327 #define IMG_WALL_EMERALD_PURPLE 328 #define IMG_WALL_BD_DIAMOND 329 -#define IMG_WALL_GROWING_XY 330 -#define IMG_WALL_GROWING_X 331 -#define IMG_WALL_GROWING_Y 332 -#define IMG_WALL_GROWING_ACTIVE_LEFT 333 -#define IMG_WALL_GROWING_ACTIVE_RIGHT 334 -#define IMG_WALL_GROWING_ACTIVE_UP 335 -#define IMG_WALL_GROWING_ACTIVE_DOWN 336 -#define IMG_BLACK_ORB 337 -#define IMG_SPEED_PILL 338 -#define IMG_DARK_YAMYAM 339 -#define IMG_DYNABOMB_ACTIVE 340 -#define IMG_DYNABOMB_PLAYER1_ACTIVE 341 -#define IMG_DYNABOMB_PLAYER2_ACTIVE 342 -#define IMG_DYNABOMB_PLAYER3_ACTIVE 343 -#define IMG_DYNABOMB_PLAYER4_ACTIVE 344 -#define IMG_DYNABOMB_NR 345 -#define IMG_DYNABOMB_SZ 346 -#define IMG_DYNABOMB_XL 347 -#define IMG_PIG_DOWN 348 -#define IMG_PIG_DOWN_MOVING 349 -#define IMG_PIG_DOWN_EATING 350 -#define IMG_PIG_UP 351 -#define IMG_PIG_UP_MOVING 352 -#define IMG_PIG_UP_EATING 353 -#define IMG_PIG_LEFT 354 -#define IMG_PIG_LEFT_MOVING 355 -#define IMG_PIG_LEFT_EATING 356 -#define IMG_PIG_RIGHT 357 -#define IMG_PIG_RIGHT_MOVING 358 -#define IMG_PIG_RIGHT_EATING 359 -#define IMG_DRAGON_DOWN 360 -#define IMG_DRAGON_DOWN_MOVING 361 -#define IMG_DRAGON_DOWN_ATTACKING 362 -#define IMG_DRAGON_UP 363 -#define IMG_DRAGON_UP_MOVING 364 -#define IMG_DRAGON_UP_ATTACKING 365 -#define IMG_DRAGON_LEFT 366 -#define IMG_DRAGON_LEFT_MOVING 367 -#define IMG_DRAGON_LEFT_ATTACKING 368 -#define IMG_DRAGON_RIGHT 369 -#define IMG_DRAGON_RIGHT_MOVING 370 -#define IMG_DRAGON_RIGHT_ATTACKING 371 -#define IMG_MOLE_DOWN 372 -#define IMG_MOLE_DOWN_MOVING 373 -#define IMG_MOLE_DOWN_DIGGING 374 -#define IMG_MOLE_UP 375 -#define IMG_MOLE_UP_MOVING 376 -#define IMG_MOLE_UP_DIGGING 377 -#define IMG_MOLE_LEFT 378 -#define IMG_MOLE_LEFT_MOVING 379 -#define IMG_MOLE_LEFT_DIGGING 380 -#define IMG_MOLE_RIGHT 381 -#define IMG_MOLE_RIGHT_MOVING 382 -#define IMG_MOLE_RIGHT_DIGGING 383 -#define IMG_PENGUIN_DOWN 384 -#define IMG_PENGUIN_DOWN_MOVING 385 -#define IMG_PENGUIN_UP 386 -#define IMG_PENGUIN_UP_MOVING 387 -#define IMG_PENGUIN_LEFT 388 -#define IMG_PENGUIN_LEFT_MOVING 389 -#define IMG_PENGUIN_RIGHT 390 -#define IMG_PENGUIN_RIGHT_MOVING 391 -#define IMG_SATELLITE 392 -#define IMG_SATELLITE_MOVING 393 -#define IMG_FLAMES_LEFT1 394 -#define IMG_FLAMES_LEFT2 395 -#define IMG_FLAMES_LEFT3 396 -#define IMG_FLAMES_RIGHT1 397 -#define IMG_FLAMES_RIGHT2 398 -#define IMG_FLAMES_RIGHT3 399 -#define IMG_FLAMES_UP1 400 -#define IMG_FLAMES_UP2 401 -#define IMG_FLAMES_UP3 402 -#define IMG_FLAMES_DOWN1 403 -#define IMG_FLAMES_DOWN2 404 -#define IMG_FLAMES_DOWN3 405 -#define IMG_STONEBLOCK 406 -#define IMG_PLAYER1 407 -#define IMG_PLAYER1_DOWN 408 -#define IMG_PLAYER1_DOWN_MOVING 409 -#define IMG_PLAYER1_DOWN_DIGGING 410 -#define IMG_PLAYER1_DOWN_PUSHING 411 -#define IMG_PLAYER1_DOWN_SNAPPING 412 -#define IMG_PLAYER1_UP 413 -#define IMG_PLAYER1_UP_MOVING 414 -#define IMG_PLAYER1_UP_DIGGING 415 -#define IMG_PLAYER1_UP_PUSHING 416 -#define IMG_PLAYER1_UP_SNAPPING 417 -#define IMG_PLAYER1_LEFT 418 -#define IMG_PLAYER1_LEFT_MOVING 419 -#define IMG_PLAYER1_LEFT_DIGGING 420 -#define IMG_PLAYER1_LEFT_PUSHING 421 -#define IMG_PLAYER1_LEFT_SNAPPING 422 -#define IMG_PLAYER1_RIGHT 423 -#define IMG_PLAYER1_RIGHT_MOVING 424 -#define IMG_PLAYER1_RIGHT_DIGGING 425 -#define IMG_PLAYER1_RIGHT_PUSHING 426 -#define IMG_PLAYER1_RIGHT_SNAPPING 427 -#define IMG_PLAYER2 428 -#define IMG_PLAYER2_DOWN 429 -#define IMG_PLAYER2_DOWN_MOVING 430 -#define IMG_PLAYER2_DOWN_DIGGING 431 -#define IMG_PLAYER2_DOWN_PUSHING 432 -#define IMG_PLAYER2_DOWN_SNAPPING 433 -#define IMG_PLAYER2_UP 434 -#define IMG_PLAYER2_UP_MOVING 435 -#define IMG_PLAYER2_UP_DIGGING 436 -#define IMG_PLAYER2_UP_PUSHING 437 -#define IMG_PLAYER2_UP_SNAPPING 438 -#define IMG_PLAYER2_LEFT 439 -#define IMG_PLAYER2_LEFT_MOVING 440 -#define IMG_PLAYER2_LEFT_DIGGING 441 -#define IMG_PLAYER2_LEFT_PUSHING 442 -#define IMG_PLAYER2_LEFT_SNAPPING 443 -#define IMG_PLAYER2_RIGHT 444 -#define IMG_PLAYER2_RIGHT_MOVING 445 -#define IMG_PLAYER2_RIGHT_DIGGING 446 -#define IMG_PLAYER2_RIGHT_PUSHING 447 -#define IMG_PLAYER2_RIGHT_SNAPPING 448 -#define IMG_PLAYER3 449 -#define IMG_PLAYER3_DOWN 450 -#define IMG_PLAYER3_DOWN_MOVING 451 -#define IMG_PLAYER3_DOWN_DIGGING 452 -#define IMG_PLAYER3_DOWN_PUSHING 453 -#define IMG_PLAYER3_DOWN_SNAPPING 454 -#define IMG_PLAYER3_UP 455 -#define IMG_PLAYER3_UP_MOVING 456 -#define IMG_PLAYER3_UP_DIGGING 457 -#define IMG_PLAYER3_UP_PUSHING 458 -#define IMG_PLAYER3_UP_SNAPPING 459 -#define IMG_PLAYER3_LEFT 460 -#define IMG_PLAYER3_LEFT_MOVING 461 -#define IMG_PLAYER3_LEFT_DIGGING 462 -#define IMG_PLAYER3_LEFT_PUSHING 463 -#define IMG_PLAYER3_LEFT_SNAPPING 464 -#define IMG_PLAYER3_RIGHT 465 -#define IMG_PLAYER3_RIGHT_MOVING 466 -#define IMG_PLAYER3_RIGHT_DIGGING 467 -#define IMG_PLAYER3_RIGHT_PUSHING 468 -#define IMG_PLAYER3_RIGHT_SNAPPING 469 -#define IMG_PLAYER4 470 -#define IMG_PLAYER4_DOWN 471 -#define IMG_PLAYER4_DOWN_MOVING 472 -#define IMG_PLAYER4_DOWN_DIGGING 473 -#define IMG_PLAYER4_DOWN_PUSHING 474 -#define IMG_PLAYER4_DOWN_SNAPPING 475 -#define IMG_PLAYER4_UP 476 -#define IMG_PLAYER4_UP_MOVING 477 -#define IMG_PLAYER4_UP_DIGGING 478 -#define IMG_PLAYER4_UP_PUSHING 479 -#define IMG_PLAYER4_UP_SNAPPING 480 -#define IMG_PLAYER4_LEFT 481 -#define IMG_PLAYER4_LEFT_MOVING 482 -#define IMG_PLAYER4_LEFT_DIGGING 483 -#define IMG_PLAYER4_LEFT_PUSHING 484 -#define IMG_PLAYER4_LEFT_SNAPPING 485 -#define IMG_PLAYER4_RIGHT 486 -#define IMG_PLAYER4_RIGHT_MOVING 487 -#define IMG_PLAYER4_RIGHT_DIGGING 488 -#define IMG_PLAYER4_RIGHT_PUSHING 489 -#define IMG_PLAYER4_RIGHT_SNAPPING 490 -#define IMG_EXPLOSION 491 -#define IMG_TWINKLE_BLUE 492 -#define IMG_TWINKLE_WHITE 493 -#define IMG_STEELWALL_TOPLEFT 494 -#define IMG_STEELWALL_TOPRIGHT 495 -#define IMG_STEELWALL_BOTTOMLEFT 496 -#define IMG_STEELWALL_BOTTOMRIGHT 497 -#define IMG_STEELWALL_HORIZONTAL 498 -#define IMG_STEELWALL_VERTICAL 499 -#define IMG_INVISIBLE_STEELWALL_TOPLEFT 500 -#define IMG_INVISIBLE_STEELWALL_TOPRIGHT 501 -#define IMG_INVISIBLE_STEELWALL_BOTTOMLEFT 502 -#define IMG_INVISIBLE_STEELWALL_BOTTOMRIGHT 503 -#define IMG_INVISIBLE_STEELWALL_HORIZONTAL 504 -#define IMG_INVISIBLE_STEELWALL_VERTICAL 505 -#define IMG_ARROW_BLUE_LEFT 506 -#define IMG_ARROW_BLUE_RIGHT 507 -#define IMG_ARROW_BLUE_UP 508 -#define IMG_ARROW_BLUE_DOWN 509 -#define IMG_ARROW_RED_LEFT 510 -#define IMG_ARROW_RED_RIGHT 511 -#define IMG_ARROW_RED_UP 512 -#define IMG_ARROW_RED_DOWN 513 -#define IMG_SCROLLBAR_BLUE 514 -#define IMG_SCROLLBAR_RED 515 -#define IMG_SCROLLBAR_GREEN 516 -#define IMG_SCROLLBAR_YELLOW 517 -#define IMG_CHAR_QUESTION 518 +#define IMG_WALL_GROWING 330 +#define IMG_WALL_GROWING_XY 331 +#define IMG_WALL_GROWING_X 332 +#define IMG_WALL_GROWING_Y 333 +#define IMG_WALL_GROWING_ACTIVE_LEFT 334 +#define IMG_WALL_GROWING_ACTIVE_RIGHT 335 +#define IMG_WALL_GROWING_ACTIVE_UP 336 +#define IMG_WALL_GROWING_ACTIVE_DOWN 337 +#define IMG_BLACK_ORB 338 +#define IMG_SPEED_PILL 339 +#define IMG_DARK_YAMYAM 340 +#define IMG_DYNABOMB_ACTIVE 341 +#define IMG_DYNABOMB_PLAYER1_ACTIVE 342 +#define IMG_DYNABOMB_PLAYER2_ACTIVE 343 +#define IMG_DYNABOMB_PLAYER3_ACTIVE 344 +#define IMG_DYNABOMB_PLAYER4_ACTIVE 345 +#define IMG_DYNABOMB_NR 346 +#define IMG_DYNABOMB_SZ 347 +#define IMG_DYNABOMB_XL 348 +#define IMG_PIG 349 +#define IMG_PIG_DOWN 350 +#define IMG_PIG_DOWN_MOVING 351 +#define IMG_PIG_DOWN_EATING 352 +#define IMG_PIG_UP 353 +#define IMG_PIG_UP_MOVING 354 +#define IMG_PIG_UP_EATING 355 +#define IMG_PIG_LEFT 356 +#define IMG_PIG_LEFT_MOVING 357 +#define IMG_PIG_LEFT_EATING 358 +#define IMG_PIG_RIGHT 359 +#define IMG_PIG_RIGHT_MOVING 360 +#define IMG_PIG_RIGHT_EATING 361 +#define IMG_DRAGON 362 +#define IMG_DRAGON_DOWN 363 +#define IMG_DRAGON_DOWN_MOVING 364 +#define IMG_DRAGON_DOWN_ATTACKING 365 +#define IMG_DRAGON_UP 366 +#define IMG_DRAGON_UP_MOVING 367 +#define IMG_DRAGON_UP_ATTACKING 368 +#define IMG_DRAGON_LEFT 369 +#define IMG_DRAGON_LEFT_MOVING 370 +#define IMG_DRAGON_LEFT_ATTACKING 371 +#define IMG_DRAGON_RIGHT 372 +#define IMG_DRAGON_RIGHT_MOVING 373 +#define IMG_DRAGON_RIGHT_ATTACKING 374 +#define IMG_MOLE 375 +#define IMG_MOLE_DOWN 376 +#define IMG_MOLE_DOWN_MOVING 377 +#define IMG_MOLE_DOWN_DIGGING 378 +#define IMG_MOLE_UP 379 +#define IMG_MOLE_UP_MOVING 380 +#define IMG_MOLE_UP_DIGGING 381 +#define IMG_MOLE_LEFT 382 +#define IMG_MOLE_LEFT_MOVING 383 +#define IMG_MOLE_LEFT_DIGGING 384 +#define IMG_MOLE_RIGHT 385 +#define IMG_MOLE_RIGHT_MOVING 386 +#define IMG_MOLE_RIGHT_DIGGING 387 +#define IMG_PENGUIN 388 +#define IMG_PENGUIN_DOWN 389 +#define IMG_PENGUIN_DOWN_MOVING 390 +#define IMG_PENGUIN_UP 391 +#define IMG_PENGUIN_UP_MOVING 392 +#define IMG_PENGUIN_LEFT 393 +#define IMG_PENGUIN_LEFT_MOVING 394 +#define IMG_PENGUIN_RIGHT 395 +#define IMG_PENGUIN_RIGHT_MOVING 396 +#define IMG_SATELLITE 397 +#define IMG_SATELLITE_MOVING 398 +#define IMG_FLAMES_LEFT1 399 +#define IMG_FLAMES_LEFT2 400 +#define IMG_FLAMES_LEFT3 401 +#define IMG_FLAMES_RIGHT1 402 +#define IMG_FLAMES_RIGHT2 403 +#define IMG_FLAMES_RIGHT3 404 +#define IMG_FLAMES_UP1 405 +#define IMG_FLAMES_UP2 406 +#define IMG_FLAMES_UP3 407 +#define IMG_FLAMES_DOWN1 408 +#define IMG_FLAMES_DOWN2 409 +#define IMG_FLAMES_DOWN3 410 +#define IMG_STONEBLOCK 411 +#define IMG_PLAYER1 412 +#define IMG_PLAYER1_DOWN 413 +#define IMG_PLAYER1_DOWN_MOVING 414 +#define IMG_PLAYER1_DOWN_DIGGING 415 +#define IMG_PLAYER1_DOWN_PUSHING 416 +#define IMG_PLAYER1_DOWN_SNAPPING 417 +#define IMG_PLAYER1_UP 418 +#define IMG_PLAYER1_UP_MOVING 419 +#define IMG_PLAYER1_UP_DIGGING 420 +#define IMG_PLAYER1_UP_PUSHING 421 +#define IMG_PLAYER1_UP_SNAPPING 422 +#define IMG_PLAYER1_LEFT 423 +#define IMG_PLAYER1_LEFT_MOVING 424 +#define IMG_PLAYER1_LEFT_DIGGING 425 +#define IMG_PLAYER1_LEFT_PUSHING 426 +#define IMG_PLAYER1_LEFT_SNAPPING 427 +#define IMG_PLAYER1_RIGHT 428 +#define IMG_PLAYER1_RIGHT_MOVING 429 +#define IMG_PLAYER1_RIGHT_DIGGING 430 +#define IMG_PLAYER1_RIGHT_PUSHING 431 +#define IMG_PLAYER1_RIGHT_SNAPPING 432 +#define IMG_PLAYER2 433 +#define IMG_PLAYER2_DOWN 434 +#define IMG_PLAYER2_DOWN_MOVING 435 +#define IMG_PLAYER2_DOWN_DIGGING 436 +#define IMG_PLAYER2_DOWN_PUSHING 437 +#define IMG_PLAYER2_DOWN_SNAPPING 438 +#define IMG_PLAYER2_UP 439 +#define IMG_PLAYER2_UP_MOVING 440 +#define IMG_PLAYER2_UP_DIGGING 441 +#define IMG_PLAYER2_UP_PUSHING 442 +#define IMG_PLAYER2_UP_SNAPPING 443 +#define IMG_PLAYER2_LEFT 444 +#define IMG_PLAYER2_LEFT_MOVING 445 +#define IMG_PLAYER2_LEFT_DIGGING 446 +#define IMG_PLAYER2_LEFT_PUSHING 447 +#define IMG_PLAYER2_LEFT_SNAPPING 448 +#define IMG_PLAYER2_RIGHT 449 +#define IMG_PLAYER2_RIGHT_MOVING 450 +#define IMG_PLAYER2_RIGHT_DIGGING 451 +#define IMG_PLAYER2_RIGHT_PUSHING 452 +#define IMG_PLAYER2_RIGHT_SNAPPING 453 +#define IMG_PLAYER3 454 +#define IMG_PLAYER3_DOWN 455 +#define IMG_PLAYER3_DOWN_MOVING 456 +#define IMG_PLAYER3_DOWN_DIGGING 457 +#define IMG_PLAYER3_DOWN_PUSHING 458 +#define IMG_PLAYER3_DOWN_SNAPPING 459 +#define IMG_PLAYER3_UP 460 +#define IMG_PLAYER3_UP_MOVING 461 +#define IMG_PLAYER3_UP_DIGGING 462 +#define IMG_PLAYER3_UP_PUSHING 463 +#define IMG_PLAYER3_UP_SNAPPING 464 +#define IMG_PLAYER3_LEFT 465 +#define IMG_PLAYER3_LEFT_MOVING 466 +#define IMG_PLAYER3_LEFT_DIGGING 467 +#define IMG_PLAYER3_LEFT_PUSHING 468 +#define IMG_PLAYER3_LEFT_SNAPPING 469 +#define IMG_PLAYER3_RIGHT 470 +#define IMG_PLAYER3_RIGHT_MOVING 471 +#define IMG_PLAYER3_RIGHT_DIGGING 472 +#define IMG_PLAYER3_RIGHT_PUSHING 473 +#define IMG_PLAYER3_RIGHT_SNAPPING 474 +#define IMG_PLAYER4 475 +#define IMG_PLAYER4_DOWN 476 +#define IMG_PLAYER4_DOWN_MOVING 477 +#define IMG_PLAYER4_DOWN_DIGGING 478 +#define IMG_PLAYER4_DOWN_PUSHING 479 +#define IMG_PLAYER4_DOWN_SNAPPING 480 +#define IMG_PLAYER4_UP 481 +#define IMG_PLAYER4_UP_MOVING 482 +#define IMG_PLAYER4_UP_DIGGING 483 +#define IMG_PLAYER4_UP_PUSHING 484 +#define IMG_PLAYER4_UP_SNAPPING 485 +#define IMG_PLAYER4_LEFT 486 +#define IMG_PLAYER4_LEFT_MOVING 487 +#define IMG_PLAYER4_LEFT_DIGGING 488 +#define IMG_PLAYER4_LEFT_PUSHING 489 +#define IMG_PLAYER4_LEFT_SNAPPING 490 +#define IMG_PLAYER4_RIGHT 491 +#define IMG_PLAYER4_RIGHT_MOVING 492 +#define IMG_PLAYER4_RIGHT_DIGGING 493 +#define IMG_PLAYER4_RIGHT_PUSHING 494 +#define IMG_PLAYER4_RIGHT_SNAPPING 495 +#define IMG_EXPLOSION 496 +#define IMG_TWINKLE_BLUE 497 +#define IMG_TWINKLE_WHITE 498 +#define IMG_STEELWALL_TOPLEFT 499 +#define IMG_STEELWALL_TOPRIGHT 500 +#define IMG_STEELWALL_BOTTOMLEFT 501 +#define IMG_STEELWALL_BOTTOMRIGHT 502 +#define IMG_STEELWALL_HORIZONTAL 503 +#define IMG_STEELWALL_VERTICAL 504 +#define IMG_INVISIBLE_STEELWALL_TOPLEFT 505 +#define IMG_INVISIBLE_STEELWALL_TOPRIGHT 506 +#define IMG_INVISIBLE_STEELWALL_BOTTOMLEFT 507 +#define IMG_INVISIBLE_STEELWALL_BOTTOMRIGHT 508 +#define IMG_INVISIBLE_STEELWALL_HORIZONTAL 509 +#define IMG_INVISIBLE_STEELWALL_VERTICAL 510 +#define IMG_ARROW_BLUE_LEFT 511 +#define IMG_ARROW_BLUE_RIGHT 512 +#define IMG_ARROW_BLUE_UP 513 +#define IMG_ARROW_BLUE_DOWN 514 +#define IMG_ARROW_RED_LEFT 515 +#define IMG_ARROW_RED_RIGHT 516 +#define IMG_ARROW_RED_UP 517 +#define IMG_ARROW_RED_DOWN 518 +#define IMG_SCROLLBAR_BLUE 519 +#define IMG_SCROLLBAR_RED 520 +#define IMG_SCROLLBAR_GREEN 521 +#define IMG_SCROLLBAR_YELLOW 522 +#define IMG_CHAR_SPACE 523 +#define IMG_CHAR_EXCLAM 524 +#define IMG_CHAR_QUOTEDBL 525 +#define IMG_CHAR_NUMBERSIGN 526 +#define IMG_CHAR_DOLLAR 527 +#define IMG_CHAR_PROCENT 528 +#define IMG_CHAR_AMPERSAND 529 +#define IMG_CHAR_APOSTROPHE 530 +#define IMG_CHAR_PARENLEFT 531 +#define IMG_CHAR_PARENRIGHT 532 +#define IMG_CHAR_ASTERISK 533 +#define IMG_CHAR_PLUS 534 +#define IMG_CHAR_COMMA 535 +#define IMG_CHAR_MINUS 536 +#define IMG_CHAR_PERIOD 537 +#define IMG_CHAR_SLASH 538 +#define IMG_CHAR_0 539 +#define IMG_CHAR_1 540 +#define IMG_CHAR_2 541 +#define IMG_CHAR_3 542 +#define IMG_CHAR_4 543 +#define IMG_CHAR_5 544 +#define IMG_CHAR_6 545 +#define IMG_CHAR_7 546 +#define IMG_CHAR_8 547 +#define IMG_CHAR_9 548 +#define IMG_CHAR_COLON 549 +#define IMG_CHAR_SEMICOLON 550 +#define IMG_CHAR_LESS 551 +#define IMG_CHAR_EQUAL 552 +#define IMG_CHAR_GREATER 553 +#define IMG_CHAR_QUESTION 554 +#define IMG_CHAR_AT 555 +#define IMG_CHAR_A 556 +#define IMG_CHAR_B 557 +#define IMG_CHAR_C 558 +#define IMG_CHAR_D 559 +#define IMG_CHAR_E 560 +#define IMG_CHAR_F 561 +#define IMG_CHAR_G 562 +#define IMG_CHAR_H 563 +#define IMG_CHAR_I 564 +#define IMG_CHAR_J 565 +#define IMG_CHAR_K 566 +#define IMG_CHAR_L 567 +#define IMG_CHAR_M 568 +#define IMG_CHAR_N 569 +#define IMG_CHAR_O 570 +#define IMG_CHAR_P 571 +#define IMG_CHAR_Q 572 +#define IMG_CHAR_R 573 +#define IMG_CHAR_S 574 +#define IMG_CHAR_T 575 +#define IMG_CHAR_U 576 +#define IMG_CHAR_V 577 +#define IMG_CHAR_W 578 +#define IMG_CHAR_X 579 +#define IMG_CHAR_Y 580 +#define IMG_CHAR_Z 581 +#define IMG_CHAR_AE 582 +#define IMG_CHAR_OE 583 +#define IMG_CHAR_UE 584 +#define IMG_CHAR_COPYRIGHT 585 +#define IMG_CHAR_UNDERSCORE 586 +#define IMG_CHAR_EMPTY 587 +#define IMG_CHAR_DEGREE 588 +#define IMG_CHAR_TM 589 +#define IMG_CHAR_CURSOR 590 -#define NUM_IMAGE_FILES 519 +#define NUM_IMAGE_FILES 591 -#endif /* GFX_DEFS_H */ +#endif /* CONF_GFX_H */ diff --git a/src/conf_snd.h b/src/conf_snd.h index f2c73dce..acd95218 100644 --- a/src/conf_snd.h +++ b/src/conf_snd.h @@ -193,4 +193,4 @@ #define NUM_SOUND_FILES 172 -#endif /* SND_DEFS_H */ +#endif /* CONF_SND_H */ diff --git a/src/conftime.h b/src/conftime.h index 641100c5..12893605 100644 --- a/src/conftime.h +++ b/src/conftime.h @@ -1 +1 @@ -#define COMPILE_DATE_STRING "[2002-10-05 03:01]" +#define COMPILE_DATE_STRING "[2002-10-06 04:07]" diff --git a/src/game.c b/src/game.c index 203149bc..b82ede43 100644 --- a/src/game.c +++ b/src/game.c @@ -1968,7 +1968,7 @@ static void ToggleBeltSwitch(int x, int y) int belt_nr = getBeltNrFromBeltSwitchElement(element); int belt_dir_nr = (game.belt_dir_nr[belt_nr] + 1) % 4; int belt_dir = belt_move_dir[belt_dir_nr]; - int xx, yy; + int xx, yy, i; if (!IS_BELT_SWITCH(element)) return; @@ -1979,6 +1979,18 @@ static void ToggleBeltSwitch(int x, int y) if (belt_dir_nr == 3) belt_dir_nr = 1; + /* set frame order for belt animation graphic according to belt direction */ + for (i=0; i<3; i++) + { + int element = belt_base_active_element[belt_nr] + i; + int graphic = el2img(element); + + if (belt_dir == MV_LEFT) + new_graphic_info[graphic].anim_mode &= ~ANIM_REVERSE; + else + new_graphic_info[graphic].anim_mode |= ANIM_REVERSE; + } + for (yy=0; yyMovDir = (old_jy < jy ? MV_DOWN : MV_UP); - DrawLevelField(jx, jy); /* for "ErdreichAnbroeckeln()" */ + DrawNewLevelField(jx, jy); /* for "ErdreichAnbroeckeln()" */ player->last_move_dir = player->MovDir; player->is_moving = TRUE; @@ -6243,7 +6336,7 @@ int DigField(struct PlayerInfo *player, Feld[x][y] = EL_ROBOT_WHEEL_ACTIVE; ZX = x; ZY = y; - DrawLevelField(x, y); + DrawNewLevelField(x, y); PlaySoundLevel(x, y, SND_ROBOT_WHEEL_ACTIVATING); return MF_ACTION; break; @@ -6399,7 +6492,7 @@ int DigField(struct PlayerInfo *player, player->push_delay_value = (element == EL_SPRING ? 0 : 2 + RND(8)); - DrawLevelField(x+dx, y+dy); + DrawNewLevelField(x + dx, y + dy); PlaySoundLevelElementAction(x, y, element, SND_ACTION_PUSHING); break; @@ -6569,7 +6662,7 @@ int DigField(struct PlayerInfo *player, case EL_LAMP: Feld[x][y] = EL_LAMP_ACTIVE; local_player->lights_still_needed--; - DrawLevelField(x, y); + DrawNewLevelField(x, y); PlaySoundLevel(x, y, SND_LAMP_ACTIVATING); return MF_ACTION; break; @@ -6578,7 +6671,7 @@ int DigField(struct PlayerInfo *player, Feld[x][y] = EL_TIME_ORB_EMPTY; TimeLeft += 10; DrawText(DX_TIME, DY_TIME, int2str(TimeLeft, 3), FS_SMALL, FC_YELLOW); - DrawLevelField(x, y); + DrawNewLevelField(x, y); PlaySoundStereo(SND_TIME_ORB_FULL_COLLECTING, SOUND_MAX_RIGHT); return MF_ACTION; break; @@ -6663,8 +6756,8 @@ int DigField(struct PlayerInfo *player, player->push_delay_value = (element == EL_BALLOON ? 0 : 2); - DrawLevelField(x, y); - DrawLevelField(x+dx, y+dy); + DrawNewLevelField(x, y); + DrawNewLevelField(x + dx, y + dy); if (IS_SB_ELEMENT(element) && local_player->sokobanfields_still_needed == 0 && @@ -6722,7 +6815,7 @@ boolean SnapField(struct PlayerInfo *player, int dx, int dy) return FALSE; player->snapped = TRUE; - DrawLevelField(x, y); + DrawNewLevelField(x, y); BackToFront(); return TRUE; @@ -6754,10 +6847,18 @@ boolean PlaceBomb(struct PlayerInfo *player) FS_SMALL, FC_YELLOW); if (IN_SCR_FIELD(SCREENX(jx), SCREENY(jy))) { +#if 0 if (game.emulation == EMU_SUPAPLEX) DrawGraphic(SCREENX(jx), SCREENY(jy), GFX_SP_DISK_RED); else DrawGraphicThruMask(SCREENX(jx), SCREENY(jy), GFX_DYNAMIT); +#else + if (game.emulation == EMU_SUPAPLEX) + DrawNewGraphic(SCREENX(jx), SCREENY(jy), IMG_SP_DISK_RED, 0); + else + DrawNewGraphicThruMask(SCREENX(jx), SCREENY(jy), + IMG_DYNAMITE_ACTIVE, 0); +#endif } PlaySoundLevel(jx, jy, SND_DYNAMITE_DROPPING); @@ -6769,7 +6870,12 @@ boolean PlaceBomb(struct PlayerInfo *player) MovDelay[jx][jy] = 96; player->dynabombs_left--; if (IN_SCR_FIELD(SCREENX(jx), SCREENY(jy))) +#if 0 DrawGraphicThruMask(SCREENX(jx), SCREENY(jy), GFX_DYNABOMB); +#else + DrawNewGraphicThruMask(SCREENX(jx), SCREENY(jy), + el2img(Feld[jx][jy]), 0); +#endif PlaySoundLevel(jx, jy, SND_DYNABOMB_DROPPING); } diff --git a/src/init.c b/src/init.c index 66ce6f42..32b2cb8e 100644 --- a/src/init.c +++ b/src/init.c @@ -937,10 +937,17 @@ void InitElementInfo() } } +#if 0 for (i=EL_CHAR_START; i<=EL_CHAR_END; i++) element_info[i].graphic[GFX_ACTION_DEFAULT] = GFX_CHAR_START + (i - EL_CHAR_START); +#else + for (i=EL_CHAR_START; i<=EL_CHAR_END; i++) + element_info[i].graphic[GFX_ACTION_DEFAULT] = + IMG_CHAR_START + (i - EL_CHAR_START); +#endif +#if 0 for (i=EL_SP_START; i<=EL_SP_END; i++) { int nr_element = i - EL_SP_START; @@ -952,6 +959,7 @@ void InitElementInfo() element_info[i].graphic[GFX_ACTION_DEFAULT] = GFX_START_ROCKSSP + nr_graphic; } +#endif #if 0 /* this overrides some of the above default settings (GFX_SP_ZONK etc.) */ @@ -1017,7 +1025,7 @@ void InitElementInfo() int default_action_direction_graphic[NUM_MV_DIRECTIONS]; if (default_action_graphic == -1) - default_action_graphic = EL_CHAR_QUESTION; + default_action_graphic = IMG_CHAR_QUESTION; for(dir=0; dir