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:
--- /dev/null
+/***********************************************************
+* 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 */
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
EL_DYNABOMB_XL, -1, -1,
IMG_DYNABOMB_XL
},
+ {
+ EL_PIG, -1, -1,
+ IMG_PIG
+ },
{
EL_PIG, MV_DOWN, -1,
IMG_PIG_DOWN
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
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
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
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
},
};
-#endif /* GFX_LIST_H */
+#endif /* CONF_E2G_C */
#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 */
#define NUM_SOUND_FILES 172
-#endif /* SND_DEFS_H */
+#endif /* CONF_SND_H */
-#define COMPILE_DATE_STRING "[2002-10-05 03:01]"
+#define COMPILE_DATE_STRING "[2002-10-06 04:07]"
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;
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; yy<lev_fieldy; yy++)
{
for (xx=0; xx<lev_fieldx; xx++)
int delay = 6;
if (!MovDelay[x][y]) /* next animation frame */
- MovDelay[x][y] = 3*delay;
+ MovDelay[x][y] = 3 * delay;
if (MovDelay[x][y]) /* wait some time before next frame */
{
int phase;
MovDelay[x][y]--;
- phase = 2-MovDelay[x][y]/delay;
+ phase = 2 - MovDelay[x][y] / delay;
+#if 0
if (!(MovDelay[x][y]%delay) && IN_SCR_FIELD(SCREENX(x), SCREENY(y)))
DrawGraphic(SCREENX(x), SCREENY(y),
(MovDir[x][y] == MV_LEFT ? GFX_MAUER_LEFT :
MovDir[x][y] == MV_RIGHT ? GFX_MAUER_RIGHT :
MovDir[x][y] == MV_UP ? GFX_MAUER_UP :
GFX_MAUER_DOWN ) + phase);
+#else
+ if (IN_SCR_FIELD(SCREENX(x), SCREENY(y)))
+ {
+ int graphic = el_dir2img(Feld[x][y], MovDir[x][y]);
+ int frame = getNewGraphicAnimationFrame(graphic, 17 - MovDelay[x][y]);
+
+ DrawNewGraphic(SCREENX(x), SCREENY(y), graphic, frame);
+ }
+#endif
if (!MovDelay[x][y])
{
if (MovDir[x][y] == MV_LEFT)
{
- if (IN_LEV_FIELD(x-1, y) && IS_MAUER(Feld[x-1][y]))
- DrawLevelField(x-1, y);
+ if (IN_LEV_FIELD(x - 1, y) && IS_MAUER(Feld[x - 1][y]))
+ DrawNewLevelField(x - 1, y);
}
else if (MovDir[x][y] == MV_RIGHT)
{
- if (IN_LEV_FIELD(x+1, y) && IS_MAUER(Feld[x+1][y]))
- DrawLevelField(x+1, y);
+ if (IN_LEV_FIELD(x + 1, y) && IS_MAUER(Feld[x + 1][y]))
+ DrawNewLevelField(x + 1, y);
}
else if (MovDir[x][y] == MV_UP)
{
- if (IN_LEV_FIELD(x, y-1) && IS_MAUER(Feld[x][y-1]))
- DrawLevelField(x, y-1);
+ if (IN_LEV_FIELD(x, y - 1) && IS_MAUER(Feld[x][y - 1]))
+ DrawNewLevelField(x, y - 1);
}
else
{
- if (IN_LEV_FIELD(x, y+1) && IS_MAUER(Feld[x][y+1]))
- DrawLevelField(x, y+1);
+ if (IN_LEV_FIELD(x, y + 1) && IS_MAUER(Feld[x][y + 1]))
+ DrawNewLevelField(x, y + 1);
}
Feld[x][y] = Store[x][y];
Store[x][y] = 0;
MovDir[x][y] = MV_NO_MOVING;
- DrawLevelField(x, y);
+ DrawNewLevelField(x, y);
}
}
}
Store[ax][ay-1] = element;
MovDir[ax][ay-1] = MV_UP;
if (IN_SCR_FIELD(SCREENX(ax), SCREENY(ay-1)))
+#if 0
DrawGraphic(SCREENX(ax), SCREENY(ay-1), GFX_MAUER_UP);
+#else
+ DrawNewGraphic(SCREENX(ax), SCREENY(ay - 1),
+ IMG_WALL_GROWING_ACTIVE_UP, 0);
+#endif
new_wall = TRUE;
}
if (unten_frei)
Store[ax][ay+1] = element;
MovDir[ax][ay+1] = MV_DOWN;
if (IN_SCR_FIELD(SCREENX(ax), SCREENY(ay+1)))
+#if 0
DrawGraphic(SCREENX(ax), SCREENY(ay+1), GFX_MAUER_DOWN);
+#else
+ DrawNewGraphic(SCREENX(ax), SCREENY(ay + 1),
+ IMG_WALL_GROWING_ACTIVE_DOWN, 0);
+#endif
new_wall = TRUE;
}
}
Store[ax-1][ay] = element;
MovDir[ax-1][ay] = MV_LEFT;
if (IN_SCR_FIELD(SCREENX(ax-1), SCREENY(ay)))
+#if 0
DrawGraphic(SCREENX(ax-1), SCREENY(ay), GFX_MAUER_LEFT);
+#else
+ DrawNewGraphic(SCREENX(ax - 1), SCREENY(ay),
+ IMG_WALL_GROWING_ACTIVE_LEFT, 0);
+#endif
new_wall = TRUE;
}
Store[ax+1][ay] = element;
MovDir[ax+1][ay] = MV_RIGHT;
if (IN_SCR_FIELD(SCREENX(ax+1), SCREENY(ay)))
+#if 0
DrawGraphic(SCREENX(ax+1), SCREENY(ay), GFX_MAUER_RIGHT);
+#else
+ DrawNewGraphic(SCREENX(ax + 1), SCREENY(ay),
+ IMG_WALL_GROWING_ACTIVE_RIGHT, 0);
+#endif
new_wall = TRUE;
}
}
if (element == EL_WALL_GROWING && (links_frei || rechts_frei))
- DrawLevelField(ax, ay);
+ DrawNewLevelField(ax, ay);
if (!IN_LEV_FIELD(ax, ay-1) || IS_MAUER(Feld[ax][ay-1]))
oben_massiv = TRUE;
if (IN_LEV_FIELD(xx, yy) && Feld[xx][yy] == EL_FLAMES)
{
Feld[xx][yy] = EL_EMPTY;
- DrawLevelField(xx, yy);
+ DrawNewLevelField(xx, yy);
}
else
break;
{
MovDelay[x][y]--;
if (MovDelay[x][y] < 5 && IN_SCR_FIELD(SCREENX(x), SCREENY(y)))
+#if 0
DrawGraphic(SCREENX(x), SCREENY(y), GFX_SP_BUG_WARNING);
+#else
+ DrawNewGraphic(SCREENX(x), SCREENY(y), IMG_SP_BUGGY_BASE, 0);
+#endif
if (MovDelay[x][y])
return;
};
if (IN_SCR_FIELD(SCREENX(x), SCREENY(y)))
+#if 0
DrawGraphic(SCREENX(x),SCREENY(y), GFX_SP_BUG_ACTIVE + SimpleRND(4));
+#else
+ {
+ int graphic = IMG_SP_BUGGY_BASE_ACTIVE;
+ int frame = getNewGraphicAnimationFrame(graphic, SimpleRND(100));
+
+ DrawNewGraphic(SCREENX(x), SCREENY(y), graphic, frame);
+ }
+#endif
for (i=0; i<4; i++)
{
}
Feld[x][y] = EL_SP_BUGGY_BASE;
- DrawLevelField(x, y);
+ DrawNewLevelField(x, y);
}
}
}
if (IN_SCR_FIELD(SCREENX(x), SCREENY(y)))
{
+#if 0
DrawGraphic(SCREENX(x),SCREENY(y), GFX_TRAP_INACTIVE + phase - 1);
+#else
+ int graphic = IMG_TRAP_ACTIVE;
+ int frame = getNewGraphicAnimationFrame(graphic,
+ 31 - MovDelay[x][y]);
+
+ DrawNewGraphic(SCREENX(x),SCREENY(y), graphic, frame);
+#endif
ErdreichAnbroeckeln(SCREENX(x), SCREENY(y));
}
}
}
Feld[x][y] = EL_TRAP;
- DrawLevelField(x, y);
+ DrawNewLevelField(x, y);
}
}
}
if (belt_dir != MV_NO_MOVING)
{
+#if 0
int delay = 2;
int mode = ANIM_LOOP | (belt_dir == MV_LEFT ? 0 : ANIM_REVERSE);
int graphic = el2gfx(element) + (belt_dir == MV_LEFT ? 0 : 7);
DrawGraphicAnimation(x, y, graphic, 8, delay, mode);
+#else
+ int graphic = el2img(element);
+
+ DrawNewGraphicAnimation(x, y, graphic);
+#endif
if (!(FrameCounter % 2))
PlaySoundLevel(x, y, SND_CONVEYOR_BELT_ACTIVE);
else if (element == EL_TRAP || element == EL_TRAP_ACTIVE)
CheckTrap(x, y);
else if (element == EL_SP_TERMINAL)
+#if 0
DrawGraphicAnimation(x, y, GFX2_SP_TERMINAL, 7, 12, ANIM_LOOP);
+#else
+ DrawNewGraphicAnimation(x, y, IMG_SP_TERMINAL);
+#endif
else if (element == EL_SP_TERMINAL_ACTIVE)
{
+#if 0
DrawGraphicAnimation(x, y, GFX2_SP_TERMINAL_ACTIVE, 7, 4, ANIM_LOOP);
+#else
+ DrawNewGraphicAnimation(x, y, IMG_SP_TERMINAL_ACTIVE);
+#endif
+
#if 0
if (!(FrameCounter % 4))
PlaySoundLevel(x, y, SND_SP_TERMINAL_ACTIVE);
else if (element == EL_TIMEGATE_CLOSING)
CloseTimegate(x, y);
else if (element == EL_EXTRA_TIME)
+#if 0
DrawGraphicAnimation(x, y, GFX_EXTRA_TIME, 6, 4, ANIM_LOOP);
+#else
+ DrawNewGraphicAnimation(x, y, IMG_EXTRA_TIME);
+#endif
else if (element == EL_SHIELD_NORMAL)
{
+#if 0
DrawGraphicAnimation(x, y, GFX_SHIELD_PASSIVE, 6, 4, ANIM_LOOP);
+#else
+ DrawNewGraphicAnimation(x, y, IMG_SHIELD_NORMAL);
+#endif
+
#if 0
if (!(FrameCounter % 4))
PlaySoundLevel(x, y, SND_SHIELD_PASSIVE_ACTIVATED);
}
else if (element == EL_SHIELD_DEADLY)
{
+#if 0
DrawGraphicAnimation(x, y, GFX_SHIELD_ACTIVE, 6, 4, ANIM_LOOP);
+#else
+ DrawNewGraphicAnimation(x, y, IMG_SHIELD_DEADLY);
+#endif
+
#if 0
if (!(FrameCounter % 4))
PlaySoundLevel(x, y, SND_SHIELD_DEADLY_ACTIVE);
element == EL_MAGIC_WALL_FULL)
{
Feld[x][y] = EL_MAGIC_WALL_DEAD;
- DrawLevelField(x, y);
+ DrawNewLevelField(x, y);
}
else if (element == EL_BD_MAGIC_WALL_ACTIVE ||
element == EL_BD_MAGIC_WALL_FULL)
{
Feld[x][y] = EL_BD_MAGIC_WALL_DEAD;
- DrawLevelField(x, y);
+ DrawNewLevelField(x, y);
}
}
{
x = (dx == 1 ? BX1 : BX2);
for (y=BY1; y<=BY2; y++)
- DrawScreenField(x, y);
+ DrawNewScreenField(x, y);
}
+
if (dy)
{
y = (dy == 1 ? BY1 : BY2);
for (x=BX1; x<=BX2; x++)
- DrawScreenField(x, y);
+ DrawNewScreenField(x, y);
}
redraw_mask |= REDRAW_FIELD;
else if (old_jx == jx && old_jy != jy)
player->MovDir = (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;
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;
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;
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;
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;
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 &&
return FALSE;
player->snapped = TRUE;
- DrawLevelField(x, y);
+ DrawNewLevelField(x, y);
BackToFront();
return TRUE;
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);
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);
}
}
}
+#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;
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.) */
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<NUM_MV_DIRECTIONS; dir++)
{
{ "sp_terminal.xpos", "8" },
{ "sp_terminal.ypos", "11" },
{ "sp_terminal.frames", "7" },
+ { "sp_terminal.delay", "12" },
{ "sp_terminal.active", "RocksSP.pcx" },
{ "sp_terminal.active.xpos", "8" },
{ "sp_terminal.active.ypos", "12" },
{ "sp_terminal.active.frames", "7" },
+ { "sp_terminal.active.delay", "4" },
{ "sp_buggy_base", "RocksSP.pcx" },
{ "sp_buggy_base.xpos", "1" },
{ "conveyor_belt1_middle.active.xpos", "0" },
{ "conveyor_belt1_middle.active.ypos", "0" },
{ "conveyor_belt1_middle.active.frames", "8" },
+ { "conveyor_belt1_middle.active.delay", "2" },
{ "conveyor_belt1_left", "RocksDC.pcx" },
{ "conveyor_belt1_left.xpos", "0" },
{ "conveyor_belt1_left.ypos", "1" },
{ "conveyor_belt1_left.active.xpos", "0" },
{ "conveyor_belt1_left.active.ypos", "1" },
{ "conveyor_belt1_left.active.frames", "8" },
+ { "conveyor_belt1_left.active.delay", "2" },
{ "conveyor_belt1_right", "RocksDC.pcx" },
{ "conveyor_belt1_right.xpos", "0" },
{ "conveyor_belt1_right.ypos", "2" },
{ "conveyor_belt1_right.active.xpos", "0" },
{ "conveyor_belt1_right.active.ypos", "2" },
{ "conveyor_belt1_right.active.frames", "8" },
+ { "conveyor_belt1_right.active.delay", "2" },
{ "conveyor_belt1_switch_left", "RocksDC.pcx" },
{ "conveyor_belt1_switch_left.xpos", "0" },
{ "conveyor_belt1_switch_left.ypos", "12" },
{ "conveyor_belt2_middle.active.xpos", "0" },
{ "conveyor_belt2_middle.active.ypos", "3" },
{ "conveyor_belt2_middle.active.frames", "8" },
+ { "conveyor_belt2_middle.active.delay", "2" },
{ "conveyor_belt2_left", "RocksDC.pcx" },
{ "conveyor_belt2_left.xpos", "0" },
{ "conveyor_belt2_left.ypos", "4" },
{ "conveyor_belt2_left.active.xpos", "0" },
{ "conveyor_belt2_left.active.ypos", "4" },
{ "conveyor_belt2_left.active.frames", "8" },
+ { "conveyor_belt2_left.active.delay", "2" },
{ "conveyor_belt2_right", "RocksDC.pcx" },
{ "conveyor_belt2_right.xpos", "0" },
{ "conveyor_belt2_right.ypos", "5" },
{ "conveyor_belt2_right.active.xpos", "0" },
{ "conveyor_belt2_right.active.ypos", "5" },
{ "conveyor_belt2_right.active.frames", "8" },
+ { "conveyor_belt2_right.active.delay", "2" },
+ { "conveyor_belt2_right.active.delay", "2" },
{ "conveyor_belt2_switch_left", "RocksDC.pcx" },
{ "conveyor_belt2_switch_left.xpos", "1" },
{ "conveyor_belt2_switch_left.ypos", "12" },
{ "conveyor_belt3_middle.active.xpos", "0" },
{ "conveyor_belt3_middle.active.ypos", "6" },
{ "conveyor_belt3_middle.active.frames", "8" },
+ { "conveyor_belt3_middle.active.delay", "2" },
{ "conveyor_belt3_left", "RocksDC.pcx" },
{ "conveyor_belt3_left.xpos", "0" },
{ "conveyor_belt3_left.ypos", "7" },
{ "conveyor_belt3_left.active.xpos", "0" },
{ "conveyor_belt3_left.active.ypos", "7" },
{ "conveyor_belt3_left.active.frames", "8" },
+ { "conveyor_belt3_left.active.delay", "2" },
{ "conveyor_belt3_right", "RocksDC.pcx" },
{ "conveyor_belt3_right.xpos", "0" },
{ "conveyor_belt3_right.ypos", "8" },
{ "conveyor_belt3_right.active.xpos", "0" },
{ "conveyor_belt3_right.active.ypos", "8" },
{ "conveyor_belt3_right.active.frames", "8" },
+ { "conveyor_belt3_right.active.delay", "2" },
+ { "conveyor_belt3_right.active.delay", "2" },
{ "conveyor_belt3_switch_left", "RocksDC.pcx" },
{ "conveyor_belt3_switch_left.xpos", "2" },
{ "conveyor_belt3_switch_left.ypos", "12" },
{ "conveyor_belt4_middle.active.xpos", "0" },
{ "conveyor_belt4_middle.active.ypos", "9" },
{ "conveyor_belt4_middle.active.frames", "8" },
+ { "conveyor_belt4_middle.active.delay", "2" },
{ "conveyor_belt4_left", "RocksDC.pcx" },
{ "conveyor_belt4_left.xpos", "0" },
{ "conveyor_belt4_left.ypos", "10" },
{ "conveyor_belt4_left.active.xpos", "0" },
{ "conveyor_belt4_left.active.ypos", "10" },
{ "conveyor_belt4_left.active.frames", "8" },
+ { "conveyor_belt4_left.active.delay", "2" },
{ "conveyor_belt4_right", "RocksDC.pcx" },
{ "conveyor_belt4_right.xpos", "0" },
{ "conveyor_belt4_right.ypos", "11" },
{ "conveyor_belt4_right.active.xpos", "0" },
{ "conveyor_belt4_right.active.ypos", "11" },
{ "conveyor_belt4_right.active.frames", "8" },
+ { "conveyor_belt4_right.active.delay", "2" },
+ { "conveyor_belt4_right.active.delay", "2" },
{ "conveyor_belt4_switch_left", "RocksDC.pcx" },
{ "conveyor_belt4_switch_left.xpos", "3" },
{ "conveyor_belt4_switch_left.ypos", "12" },
{ "extra_time.xpos", "8" },
{ "extra_time.ypos", "0" },
{ "extra_time.frames", "6" },
+ { "extra_time.delay", "4" },
{ "shield_normal", "RocksDC.pcx" },
{ "shield_normal.xpos", "8" },
{ "shield_normal.ypos", "2" },
{ "shield_normal.frames", "6" },
+ { "shield_normal.delay", "4" },
{ "shield_deadly", "RocksDC.pcx" },
{ "shield_deadly.xpos", "8" },
{ "shield_deadly.ypos", "1" },
{ "shield_deadly.frames", "6" },
+ { "shield_deadly.delay", "4" },
{ "shield_normal.active", "RocksHeroes.pcx" },
{ "shield_normal.active.xpos", "1" },
{ "trap.active.xpos", "4" },
{ "trap.active.ypos", "0" },
{ "trap.active.frames", "4" },
+ { "trap.active.delay", "4" },
+ { "trap.active.mode_pingpong2", "1" },
{ "dx_supabomb", "RocksMore.pcx" },
{ "dx_supabomb.xpos", "7" },
{ "wall_bd_diamond.ypos", "8" },
{ "wall_bd_diamond.frames", "1" },
+ { "wall_growing", "RocksElements.pcx" },
+ { "wall_growing.xpos", "11" },
+ { "wall_growing.ypos", "10" },
+ { "wall_growing.frames", "1" },
{ "wall_growing_xy", "RocksElements.pcx" },
{ "wall_growing_xy.xpos", "4" },
{ "wall_growing_xy.ypos", "9" },
{ "wall_growing_active_left.xpos", "8" },
{ "wall_growing_active_left.ypos", "10" },
{ "wall_growing_active_left.frames", "3" },
+ { "wall_growing_active_left.delay", "6" },
{ "wall_growing_active_right", "RocksElements.pcx" },
{ "wall_growing_active_right.xpos", "5" },
{ "wall_growing_active_right.ypos", "10" },
{ "wall_growing_active_right.frames", "3" },
+ { "wall_growing_active_right.delay", "6" },
{ "wall_growing_active_up", "RocksHeroes.pcx" },
{ "wall_growing_active_up.xpos", "3" },
{ "wall_growing_active_up.ypos", "12" },
{ "wall_growing_active_up.frames", "3" },
+ { "wall_growing_active_up.delay", "6" },
{ "wall_growing_active_down", "RocksHeroes.pcx" },
{ "wall_growing_active_down.xpos", "0" },
{ "wall_growing_active_down.ypos", "12" },
{ "wall_growing_active_down.frames", "3" },
+ { "wall_growing_active_down.delay", "6" },
{ "black_orb", "RocksElements.pcx" },
{ "black_orb.xpos", "13" },
{ "dynabomb_xl.ypos", "9" },
{ "dynabomb_xl.frames", "1" },
+ { "pig", "RocksHeroes.pcx" },
+ { "pig.xpos", "8" },
+ { "pig.ypos", "0" },
+ { "pig.frames", "1" },
{ "pig_down", "RocksHeroes.pcx" },
{ "pig_down.xpos", "8" },
{ "pig_down.ypos", "0" },
{ "pig_right.eating.frames", "4" },
{ "pig_right.eating.delay", "2" },
+ { "dragon", "RocksHeroes.pcx" },
+ { "dragon.xpos", "8" },
+ { "dragon.ypos", "2" },
+ { "dragon.frames", "1" },
{ "dragon_down", "RocksHeroes.pcx" },
{ "dragon_down.xpos", "8" },
{ "dragon_down.ypos", "2" },
{ "dragon_right.attacking.ypos", "3" },
{ "dragon_right.attacking.frames", "1" },
+ { "mole", "RocksHeroes.pcx" },
+ { "mole.xpos", "8" },
+ { "mole.ypos", "4" },
+ { "mole.frames", "1" },
{ "mole_down", "RocksHeroes.pcx" },
{ "mole_down.xpos", "8" },
{ "mole_down.ypos", "4" },
{ "mole_right.digging.frames", "4" },
{ "mole_right.digging.delay", "2" },
+ { "penguin", "RocksHeroes.pcx" },
+ { "penguin.xpos", "8" },
+ { "penguin.ypos", "6" },
+ { "penguin.frames", "1" },
{ "penguin_down", "RocksHeroes.pcx" },
{ "penguin_down.xpos", "8" },
{ "penguin_down.ypos", "6" },
{ "scrollbar_yellow.ypos", "2" },
{ "scrollbar_yellow.frames", "1" },
- { "char_question", "RocksFontEM.pcx" },
- { "char_question.xpos", "15" },
- { "char_question.ypos", "1" },
- { "char_question.frames", "1" },
+#include "conf_chr.c" /* include auto-generated data structure definitions */
{ NULL, NULL }
};
#define IMG_EMPTY IMG_EMPTY_SPACE
#define IMG_SP_EMPTY IMG_SP_EMPTY_SPACE
+#define IMG_CHAR_START IMG_CHAR_SPACE
#define WIN_XSIZE 672
#define WIN_YSIZE 560
#define EL_EM_KEY1_FILE 119
#define EL_CHAR_START 120
-#define EL_CHAR_ASCII0 (EL_CHAR_START-32)
-#define EL_CHAR_EXCLAM (EL_CHAR_ASCII0+33)
-#define EL_CHAR_QUOTEDBL (EL_CHAR_ASCII0+34)
-#define EL_CHAR_NUMBERSIGN (EL_CHAR_ASCII0+35)
-#define EL_CHAR_DOLLAR (EL_CHAR_ASCII0+36)
-#define EL_CHAR_PROCENT (EL_CHAR_ASCII0+37)
-#define EL_CHAR_AMPERSAND (EL_CHAR_ASCII0+38)
-#define EL_CHAR_APOSTROPHE (EL_CHAR_ASCII0+39)
-#define EL_CHAR_PARENLEFT (EL_CHAR_ASCII0+40)
-#define EL_CHAR_PARENRIGHT (EL_CHAR_ASCII0+41)
-#define EL_CHAR_ASTERISK (EL_CHAR_ASCII0+42)
-#define EL_CHAR_PLUS (EL_CHAR_ASCII0+43)
-#define EL_CHAR_COMMA (EL_CHAR_ASCII0+44)
-#define EL_CHAR_MINUS (EL_CHAR_ASCII0+45)
-#define EL_CHAR_PERIOD (EL_CHAR_ASCII0+46)
-#define EL_CHAR_SLASH (EL_CHAR_ASCII0+47)
-#define EL_CHAR_0 (EL_CHAR_ASCII0+48)
-#define EL_CHAR_9 (EL_CHAR_ASCII0+57)
-#define EL_CHAR_COLON (EL_CHAR_ASCII0+58)
-#define EL_CHAR_SEMICOLON (EL_CHAR_ASCII0+59)
-#define EL_CHAR_LESS (EL_CHAR_ASCII0+60)
-#define EL_CHAR_EQUAL (EL_CHAR_ASCII0+61)
-#define EL_CHAR_GREATER (EL_CHAR_ASCII0+62)
-#define EL_CHAR_QUESTION (EL_CHAR_ASCII0+63)
-#define EL_CHAR_AT (EL_CHAR_ASCII0+64)
-#define EL_CHAR_A (EL_CHAR_ASCII0+65)
-#define EL_CHAR_Z (EL_CHAR_ASCII0+90)
-#define EL_CHAR_AE (EL_CHAR_ASCII0+91)
-#define EL_CHAR_OE (EL_CHAR_ASCII0+92)
-#define EL_CHAR_UE (EL_CHAR_ASCII0+93)
-#define EL_CHAR_COPYRIGHT (EL_CHAR_ASCII0+94)
-#define EL_CHAR_END (EL_CHAR_START+79)
+#define EL_CHAR_ASCII0 (EL_CHAR_START - 32)
+#define EL_CHAR_EXCLAM (EL_CHAR_ASCII0 + 33)
+#define EL_CHAR_QUOTEDBL (EL_CHAR_ASCII0 + 34)
+#define EL_CHAR_NUMBERSIGN (EL_CHAR_ASCII0 + 35)
+#define EL_CHAR_DOLLAR (EL_CHAR_ASCII0 + 36)
+#define EL_CHAR_PROCENT (EL_CHAR_ASCII0 + 37)
+#define EL_CHAR_AMPERSAND (EL_CHAR_ASCII0 + 38)
+#define EL_CHAR_APOSTROPHE (EL_CHAR_ASCII0 + 39)
+#define EL_CHAR_PARENLEFT (EL_CHAR_ASCII0 + 40)
+#define EL_CHAR_PARENRIGHT (EL_CHAR_ASCII0 + 41)
+#define EL_CHAR_ASTERISK (EL_CHAR_ASCII0 + 42)
+#define EL_CHAR_PLUS (EL_CHAR_ASCII0 + 43)
+#define EL_CHAR_COMMA (EL_CHAR_ASCII0 + 44)
+#define EL_CHAR_MINUS (EL_CHAR_ASCII0 + 45)
+#define EL_CHAR_PERIOD (EL_CHAR_ASCII0 + 46)
+#define EL_CHAR_SLASH (EL_CHAR_ASCII0 + 47)
+#define EL_CHAR_0 (EL_CHAR_ASCII0 + 48)
+#define EL_CHAR_9 (EL_CHAR_ASCII0 + 57)
+#define EL_CHAR_COLON (EL_CHAR_ASCII0 + 58)
+#define EL_CHAR_SEMICOLON (EL_CHAR_ASCII0 + 59)
+#define EL_CHAR_LESS (EL_CHAR_ASCII0 + 60)
+#define EL_CHAR_EQUAL (EL_CHAR_ASCII0 + 61)
+#define EL_CHAR_GREATER (EL_CHAR_ASCII0 + 62)
+#define EL_CHAR_QUESTION (EL_CHAR_ASCII0 + 63)
+#define EL_CHAR_AT (EL_CHAR_ASCII0 + 64)
+#define EL_CHAR_A (EL_CHAR_ASCII0 + 65)
+#define EL_CHAR_Z (EL_CHAR_ASCII0 + 90)
+#define EL_CHAR_AE (EL_CHAR_ASCII0 + 91)
+#define EL_CHAR_OE (EL_CHAR_ASCII0 + 92)
+#define EL_CHAR_UE (EL_CHAR_ASCII0 + 93)
+#define EL_CHAR_COPYRIGHT (EL_CHAR_ASCII0 + 94)
+#define EL_CHAR_END (EL_CHAR_START + 79)
#define EL_CHAR(x) ((x) == 'Ä' ? EL_CHAR_AE : \
(x) == 'Ö' ? EL_CHAR_OE : \
{
int phase;
- if (mode == ANIM_PINGPONG)
+ if (mode & ANIM_PINGPONG)
{
int max_anim_frames = 2 * frames - 2;
else
phase = (FrameCounter % (delay * frames)) / delay;
- if (mode == ANIM_REVERSE)
+ if (mode & ANIM_REVERSE)
phase = -phase;
return phase;
void DrawNewGraphicAnimationExt(int x, int y, int graphic, int mask_mode)
{
+#if 0
int delay = new_graphic_info[graphic].anim_delay;
-#if 0
if (!(FrameCounter % delay) && IN_SCR_FIELD(SCREENX(x), SCREENY(y)))
#else
if (IN_SCR_FIELD(SCREENX(x), SCREENY(y)))
}
void DrawNewScreenElementExt(int x, int y, int dx, int dy, int element,
- int cut_mode, int mask_mode)
+ int cut_mode, int mask_mode)
{
int ux = LEVELX(x), uy = LEVELY(y);
int move_dir = MovDir[ux][uy];
if (left_stopped && right_stopped)
graphic = IMG_WALL;
else if (left_stopped)
+ {
graphic = IMG_WALL_GROWING_ACTIVE_RIGHT;
+ frame = new_graphic_info[graphic].anim_frames - 1;
+ }
else if (right_stopped)
+ {
graphic = IMG_WALL_GROWING_ACTIVE_LEFT;
+ frame = new_graphic_info[graphic].anim_frames - 1;
+ }
}
#if 0
else if ((element == EL_ROCK ||
for(x=BX1; x<=BX2; x++)
for(y=BY1; y<=BY2; y++)
- DrawScreenField(x, y);
+ DrawNewScreenField(x, y);
redraw_mask |= REDRAW_FIELD;
}