From 447281464596242671f90f16008ee2d55236c217 Mon Sep 17 00:00:00 2001 From: Holger Schemel Date: Tue, 27 Aug 2024 22:58:32 +0200 Subject: [PATCH] added R'n'D element definitions for scanned BD elements (not used yet) --- src/main.c | 405 +++++++++++++++++++++++++++++++++++++++++++++++++++++ src/main.h | 102 +++++++++++++- 2 files changed, 503 insertions(+), 4 deletions(-) diff --git a/src/main.c b/src/main.c index 0375a9c5..9b591aab 100644 --- a/src/main.c +++ b/src/main.c @@ -7707,6 +7707,411 @@ struct ElementNameInfo element_name_info[MAX_NUM_ELEMENTS + 1] = "bdx_nut", "Nut explosion (4)" }, + { + "bdx_sand_ball.scanned", + "bdx_sand_ball", + "Sand ball (scanned)" + }, + { + "bdx_sand_ball.falling.scanned", + "bdx_sand_ball", + "Sand ball (falling) (scanned)" + }, + { + "bdx_sand_loose.scanned", + "bdx_sand_loose", + "Loose sand (scanned)" + }, + { + "bdx_sand_loose.falling.scanned", + "bdx_sand_loose", + "Loose sand (falling) (scanned)" + }, + { + "bdx_rock.scanned", + "bdx_rock", + "Rock (scanned)" + }, + { + "bdx_rock.falling.scanned", + "bdx_rock", + "Rock (falling) (scanned)" + }, + { + "bdx_flying_rock.scanned", + "bdx_flying_rock", + "Flying rock (scanned)" + }, + { + "bdx_flying_rock.flying.scanned", + "bdx_flying_rock", + "Flying rock (flying) (scanned)" + }, + { + "bdx_mega_rock.scanned", + "bdx_mega_rock", + "Mega rock (scanned)" + }, + { + "bdx_mega_rock.falling.scanned", + "bdx_mega_rock", + "Mega rock (falling) (scanned)" + }, + { + "bdx_diamond.scanned", + "bdx_diamond", + "Diamond (scanned)" + }, + { + "bdx_diamond.falling.scanned", + "bdx_diamond", + "Diamond (falling) (scanned)" + }, + { + "bdx_flying_diamond.scanned", + "bdx_flying_diamond", + "Flying diamond (scanned)" + }, + { + "bdx_flying_diamond.flying.scanned", + "bdx_flying_diamond", + "Flying diamond (flying) (scanned)" + }, + { + "bdx_nut.scanned", + "bdx_nut", + "Nut (scanned)" + }, + { + "bdx_nut.falling.scanned", + "bdx_nut", + "Nut (falling) (scanned)" + }, + { + "bdx_expandable_wall_horizontal.scanned", + "bdx_expandable_wall", + "Expandable wall (horizontal) (scanned)" + }, + { + "bdx_expandable_wall_vertical.scanned", + "bdx_expandable_wall", + "Expandable wall (vertical) (scanned)" + }, + { + "bdx_expandable_wall_any.scanned", + "bdx_expandable_wall", + "Expandable wall (any direction) (scanned)" + }, + { + "bdx_expandable_steelwall_horizontal.scanned", + "bdx_expandable_steelwall", + "Expandable steelwall (horizontal) (scanned)" + }, + { + "bdx_expandable_steelwall_vertical.scanned", + "bdx_expandable_steelwall", + "Expandable steelwall (vertical) (scanned)" + }, + { + "bdx_expandable_steelwall_any.scanned", + "bdx_expandable_steelwall", + "Expandable steelwall (any direction) (scanned)" + }, + { + "bdx_acid.scanned", + "bdx_acid", + "Acid (scanned)" + }, + { + "bdx_falling_wall.falling.scanned", + "bdx_wall", + "Falling wall (falling) (scanned)" + }, + { + "bdx_cow.left.scanned", + "bdx_cow", + "Cow (starts moving left) (scanned)" + }, + { + "bdx_cow.up.scanned", + "bdx_cow", + "Cow (starts moving up) (scanned)" + }, + { + "bdx_cow.right.scanned", + "bdx_cow", + "Cow (starts moving right) (scanned)" + }, + { + "bdx_cow.down.scanned", + "bdx_cow", + "Cow (starts moving down) (scanned)" + }, + { + "bdx_amoeba_1.scanned", + "bdx_amoeba", + "Amoeba 1 (scanned)" + }, + { + "bdx_amoeba_2.scanned", + "bdx_amoeba", + "Amoeba 2 (scanned)" + }, + { + "bdx_waiting_rock.scanned", + "bdx_waiting_rock", + "Waiting rock (scanned)" + }, + { + "bdx_chasing_rock.scanned", + "bdx_chasing_rock", + "Chasing rock (scanned)" + }, + { + "bdx_ghost.scanned", + "bdx_ghost", + "Ghost (scanned)" + }, + { + "bdx_firefly_1.right.scanned", + "bdx_firefly", + "Firefly 1 (starts moving right) (scanned)" + }, + { + "bdx_firefly_1.up.scanned", + "bdx_firefly", + "Firefly 1 (starts moving up) (scanned)" + }, + { + "bdx_firefly_1.left.scanned", + "bdx_firefly", + "Firefly 1 (starts moving left) (scanned)" + }, + { + "bdx_firefly_1.down.scanned", + "bdx_firefly", + "Firefly 1 (starts moving down) (scanned)" + }, + { + "bdx_firefly_2.right.scanned", + "bdx_firefly", + "Firefly 2 (starts moving right) (scanned)" + }, + { + "bdx_firefly_2.up.scanned", + "bdx_firefly", + "Firefly 2 (starts moving up) (scanned)" + }, + { + "bdx_firefly_2.left.scanned", + "bdx_firefly", + "Firefly 2 (starts moving left) (scanned)" + }, + { + "bdx_firefly_2.down.scanned", + "bdx_firefly", + "Firefly 2 (starts moving down) (scanned)" + }, + { + "bdx_butterfly_1.right.scanned", + "bdx_butterfly", + "Butterfly 1 (starts moving right) (scanned)" + }, + { + "bdx_butterfly_1.up.scanned", + "bdx_butterfly", + "Butterfly 1 (starts moving up) (scanned)" + }, + { + "bdx_butterfly_1.left.scanned", + "bdx_butterfly", + "Butterfly 1 (starts moving left) (scanned)" + }, + { + "bdx_butterfly_1.down.scanned", + "bdx_butterfly", + "Butterfly 1 (starts moving down) (scanned)" + }, + { + "bdx_butterfly_2.right.scanned", + "bdx_butterfly", + "Butterfly 2 (starts moving right) (scanned)" + }, + { + "bdx_butterfly_2.up.scanned", + "bdx_butterfly", + "Butterfly 2 (starts moving up) (scanned)" + }, + { + "bdx_butterfly_2.left.scanned", + "bdx_butterfly", + "Butterfly 2 (starts moving left) (scanned)" + }, + { + "bdx_butterfly_2.down.scanned", + "bdx_butterfly", + "Butterfly 2 (starts moving down) (scanned)" + }, + { + "bdx_stonefly.right.scanned", + "bdx_stonefly", + "Stonefly (starts moving right) (scanned)" + }, + { + "bdx_stonefly.up.scanned", + "bdx_stonefly", + "Stonefly (starts moving up) (scanned)" + }, + { + "bdx_stonefly.left.scanned", + "bdx_stonefly", + "Stonefly (starts moving left) (scanned)" + }, + { + "bdx_stonefly.down.scanned", + "bdx_stonefly", + "Stonefly (starts moving down) (scanned)" + }, + { + "bdx_biter.right.scanned", + "bdx_biter", + "Biter (starts moving right) (scanned)" + }, + { + "bdx_biter.up.scanned", + "bdx_biter", + "Biter (starts moving up) (scanned)" + }, + { + "bdx_biter.left.scanned", + "bdx_biter", + "Biter (starts moving left) (scanned)" + }, + { + "bdx_biter.down.scanned", + "bdx_biter", + "Biter (starts moving down) (scanned)" + }, + { + "bdx_dragonfly.right.scanned", + "bdx_dragonfly", + "Dragonfly (starts moving right) (scanned)" + }, + { + "bdx_dragonfly.up.scanned", + "bdx_dragonfly", + "Dragonfly (starts moving up) (scanned)" + }, + { + "bdx_dragonfly.left.scanned", + "bdx_dragonfly", + "Dragonfly (starts moving left) (scanned)" + }, + { + "bdx_dragonfly.down.scanned", + "bdx_dragonfly", + "Dragonfly (starts moving down) (scanned)" + }, + { + "bdx_player.scanned", + "bdx_player", + "Player (scanned)" + }, + { + "bdx_player_with_bomb.scanned", + "bdx_player", + "Player with bomb (scanned)", + }, + { + "bdx_player_with_rocket_launcher.scanned", + "bdx_player", + "Player with rocket launcher (scanned)", + }, + { + "bdx_rocket.right.scanned", + "bdx_rocket", + "Rocket (starts moving right) (scanned)" + }, + { + "bdx_rocket.up.scanned", + "bdx_rocket", + "Rocket (starts moving up) (scanned)" + }, + { + "bdx_rocket.left.scanned", + "bdx_rocket", + "Rocket (starts moving left) (scanned)" + }, + { + "bdx_rocket.down.scanned", + "bdx_rocket", + "Rocket (starts moving down) (scanned)" + }, + { + "bdx_nitro_pack.scanned", + "bdx_nitro_pack", + "Nitro pack (scanned)" + }, + { + "bdx_nitro_pack.falling.scanned", + "bdx_nitro_pack", + "Nitro pack (falling) (scanned)" + }, + { + "bdx_nitro_pack.exploding.scanned", + "bdx_nitro_pack", + "Nitro pack (triggered) (scanned)" + }, + { + "bdx_clock.growing_0", + "bdx_clock", + "Clock birth (0)" + }, + { + "bdx_diamond.growing_0", + "bdx_diamond", + "Diamond birth (0)" + }, + { + "bdx_exploding_0", + "bdx_exploding", + "Explosion (0)" + }, + { + "bdx_rock.growing_0", + "bdx_rock", + "Rock birth (0)" + }, + { + "bdx_steelwall.growing_0", + "bdx_steelwall", + "Steelwall birth (0)" + }, + { + "bdx_ghost.exploding_0", + "bdx_ghost", + "Ghost explosion (0)" + }, + { + "bdx_bomb.exploding_0", + "bdx_bomb", + "Bomb explosion (0)" + }, + { + "bdx_nitro_pack.exploding_0", + "bdx_nitro_pack", + "Nitro pack explosion (0)" + }, + { + "bdx_amoeba_2.exploding_0", + "bdx_amoeba", + "Amoeba 2 explosion (0)" + }, + { + "bdx_nut.breaking_0", + "bdx_nut", + "Nut explosion (0)" + }, // -------------------------------------------------------------------------- // "real" (and therefore drawable) runtime elements diff --git a/src/main.h b/src/main.h index a49be9ae..2e21491a 100644 --- a/src/main.h +++ b/src/main.h @@ -981,6 +981,12 @@ #define IS_BDX_RUNTIME_ELEMENT(e) ((e) >= EL_BDX_RUNTIME_START && \ (e) <= EL_BDX_RUNTIME_END) +#define IS_BDX_EFFECTS_ELEMENT(e) ((e) >= EL_BDX_EFFECTS_START && \ + (e) <= EL_BDX_EFFECTS_END) + +#define IS_BDX_SCANNED_ELEMENT(e) ((e) >= EL_BDX_SCANNED_START && \ + (e) <= EL_BDX_SCANNED_END) + #define IS_SOKOBAN_OBJECT_OR_FIELD(e) ((e) == EL_SOKOBAN_OBJECT || \ (e) == EL_SOKOBAN_FIELD_EMPTY || \ (e) == EL_SOKOBAN_FIELD_FULL) @@ -2239,9 +2245,11 @@ #define EL_BDX_DIAMOND 1406 #define EL_BDX_MAGIC_WALL 1407 -// BD style elements ("effects"; mostly runtime elements, but can also be stored in level file) +// BD style elements (effects/scanned; runtime elements, but can also be stored in level file) #define EL_BDX_RUNTIME_START 1408 -#define EL_BDX_SAND_BALL_FALLING EL_BDX_RUNTIME_START + +#define EL_BDX_EFFECTS_START EL_BDX_RUNTIME_START +#define EL_BDX_SAND_BALL_FALLING EL_BDX_EFFECTS_START #define EL_BDX_SAND_LOOSE_FALLING 1409 #define EL_BDX_ROCK_FALLING 1410 #define EL_BDX_FLYING_ROCK_FLYING 1411 @@ -2335,10 +2343,96 @@ #define EL_BDX_NUT_BREAKING_2 1499 #define EL_BDX_NUT_BREAKING_3 1500 #define EL_BDX_NUT_BREAKING_4 1501 -#define EL_BDX_RUNTIME_END EL_BDX_NUT_BREAKING_4 +#define EL_BDX_EFFECTS_END EL_BDX_NUT_BREAKING_4 + +#define EL_BDX_SCANNED_START 1502 +#define EL_BDX_SAND_BALL_SCANNED EL_BDX_SCANNED_START +#define EL_BDX_SAND_BALL_FALLING_SCANNED 1503 +#define EL_BDX_SAND_LOOSE_SCANNED 1504 +#define EL_BDX_SAND_LOOSE_FALLING_SCANNED 1505 +#define EL_BDX_ROCK_SCANNED 1506 +#define EL_BDX_ROCK_FALLING_SCANNED 1507 +#define EL_BDX_FLYING_ROCK_SCANNED 1508 +#define EL_BDX_FLYING_ROCK_FLYING_SCANNED 1509 +#define EL_BDX_MEGA_ROCK_SCANNED 1510 +#define EL_BDX_MEGA_ROCK_FALLING_SCANNED 1511 +#define EL_BDX_DIAMOND_SCANNED 1512 +#define EL_BDX_DIAMOND_FALLING_SCANNED 1513 +#define EL_BDX_FLYING_DIAMOND_SCANNED 1514 +#define EL_BDX_FLYING_DIAMOND_FLYING_SCANNED 1515 +#define EL_BDX_NUT_SCANNED 1516 +#define EL_BDX_NUT_FALLING_SCANNED 1517 +#define EL_BDX_EXPANDABLE_WALL_HORIZONTAL_SCANNED 1518 +#define EL_BDX_EXPANDABLE_WALL_VERTICAL_SCANNED 1519 +#define EL_BDX_EXPANDABLE_WALL_ANY_SCANNED 1520 +#define EL_BDX_EXPANDABLE_STEELWALL_HORIZONTAL_SCANNED 1521 +#define EL_BDX_EXPANDABLE_STEELWALL_VERTICAL_SCANNED 1522 +#define EL_BDX_EXPANDABLE_STEELWALL_ANY_SCANNED 1523 +#define EL_BDX_ACID_SCANNED 1524 +#define EL_BDX_FALLING_WALL_FALLING_SCANNED 1525 +#define EL_BDX_COW_LEFT_SCANNED 1526 +#define EL_BDX_COW_UP_SCANNED 1527 +#define EL_BDX_COW_RIGHT_SCANNED 1528 +#define EL_BDX_COW_DOWN_SCANNED 1529 +#define EL_BDX_AMOEBA_1_SCANNED 1530 +#define EL_BDX_AMOEBA_2_SCANNED 1531 +#define EL_BDX_WAITING_ROCK_SCANNED 1532 +#define EL_BDX_CHASING_ROCK_SCANNED 1533 +#define EL_BDX_GHOST_SCANNED 1534 +#define EL_BDX_FIREFLY_1_RIGHT_SCANNED 1535 +#define EL_BDX_FIREFLY_1_UP_SCANNED 1536 +#define EL_BDX_FIREFLY_1_LEFT_SCANNED 1537 +#define EL_BDX_FIREFLY_1_DOWN_SCANNED 1538 +#define EL_BDX_FIREFLY_2_RIGHT_SCANNED 1539 +#define EL_BDX_FIREFLY_2_UP_SCANNED 1540 +#define EL_BDX_FIREFLY_2_LEFT_SCANNED 1541 +#define EL_BDX_FIREFLY_2_DOWN_SCANNED 1542 +#define EL_BDX_BUTTERFLY_1_RIGHT_SCANNED 1543 +#define EL_BDX_BUTTERFLY_1_UP_SCANNED 1544 +#define EL_BDX_BUTTERFLY_1_LEFT_SCANNED 1545 +#define EL_BDX_BUTTERFLY_1_DOWN_SCANNED 1546 +#define EL_BDX_BUTTERFLY_2_RIGHT_SCANNED 1547 +#define EL_BDX_BUTTERFLY_2_UP_SCANNED 1548 +#define EL_BDX_BUTTERFLY_2_LEFT_SCANNED 1549 +#define EL_BDX_BUTTERFLY_2_DOWN_SCANNED 1550 +#define EL_BDX_STONEFLY_RIGHT_SCANNED 1551 +#define EL_BDX_STONEFLY_UP_SCANNED 1552 +#define EL_BDX_STONEFLY_LEFT_SCANNED 1553 +#define EL_BDX_STONEFLY_DOWN_SCANNED 1554 +#define EL_BDX_BITER_RIGHT_SCANNED 1555 +#define EL_BDX_BITER_UP_SCANNED 1556 +#define EL_BDX_BITER_LEFT_SCANNED 1557 +#define EL_BDX_BITER_DOWN_SCANNED 1558 +#define EL_BDX_DRAGONFLY_RIGHT_SCANNED 1559 +#define EL_BDX_DRAGONFLY_UP_SCANNED 1560 +#define EL_BDX_DRAGONFLY_LEFT_SCANNED 1561 +#define EL_BDX_DRAGONFLY_DOWN_SCANNED 1562 +#define EL_BDX_PLAYER_SCANNED 1563 +#define EL_BDX_PLAYER_WITH_BOMB_SCANNED 1564 +#define EL_BDX_PLAYER_WITH_ROCKET_LAUNCHER_SCANNED 1565 +#define EL_BDX_ROCKET_RIGHT_SCANNED 1566 +#define EL_BDX_ROCKET_UP_SCANNED 1567 +#define EL_BDX_ROCKET_LEFT_SCANNED 1568 +#define EL_BDX_ROCKET_DOWN_SCANNED 1569 +#define EL_BDX_NITRO_PACK_SCANNED 1570 +#define EL_BDX_NITRO_PACK_FALLING_SCANNED 1571 +#define EL_BDX_NITRO_PACK_EXPLODING_SCANNED 1572 +#define EL_BDX_CLOCK_GROWING_0 1573 +#define EL_BDX_DIAMOND_GROWING_0 1574 +#define EL_BDX_EXPLODING_0 1575 +#define EL_BDX_ROCK_GROWING_0 1576 +#define EL_BDX_STEELWALL_GROWING_0 1577 +#define EL_BDX_GHOST_EXPLODING_0 1578 +#define EL_BDX_BOMB_EXPLODING_0 1579 +#define EL_BDX_NITRO_PACK_EXPLODING_0 1580 +#define EL_BDX_AMOEBA_2_EXPLODING_0 1581 +#define EL_BDX_NUT_BREAKING_0 1582 +#define EL_BDX_SCANNED_END EL_BDX_NUT_BREAKING_0 + +#define EL_BDX_RUNTIME_END EL_BDX_SCANNED_END #define EL_BDX_END EL_BDX_RUNTIME_END -#define NUM_FILE_ELEMENTS 1502 +#define NUM_FILE_ELEMENTS 1583 // "real" (and therefore drawable) runtime elements -- 2.34.1