From 713dc9495c2a004f4998dce8d5ba96693547c603 Mon Sep 17 00:00:00 2001 From: Holger Schemel Date: Sat, 23 Mar 2024 14:31:31 +0100 Subject: [PATCH] added "effects" (runtime) game elements for native BD engine --- src/main.c | 472 ++++++++++++++++++++++++++++++++++++++++++++++++++++- src/main.h | 100 +++++++++++- 2 files changed, 569 insertions(+), 3 deletions(-) diff --git a/src/main.c b/src/main.c index 1bcd101e..783ecf42 100644 --- a/src/main.c +++ b/src/main.c @@ -6485,7 +6485,7 @@ struct ElementNameInfo element_name_info[MAX_NUM_ELEMENTS + 1] = { "bd_sand_loose", "bd_sand_loose", - "Sand (loose)" + "Loose sand" }, { "bd_sand_sloped_up_right", @@ -7127,6 +7127,476 @@ struct ElementNameInfo element_name_info[MAX_NUM_ELEMENTS + 1] = "bd_covered", "Covered" }, + { + "bd_sand_ball.falling", + "bd_sand_ball", + "Sand ball (falling)" + }, + { + "bd_sand_loose.falling", + "bd_sand_loose", + "Loose sand (falling)" + }, + { + "bd_rock.falling", + "bd_rock", + "Rock (falling)" + }, + { + "bd_flying_rock.flying", + "bd_flying_rock", + "Flying rock (flying)" + }, + { + "bd_mega_rock.falling", + "bd_mega_rock", + "Mega rock (falling)" + }, + { + "bd_diamond.falling", + "bd_diamond", + "Diamond (falling)" + }, + { + "bd_flying_diamond.flying", + "bd_flying_diamond", + "Flying diamond (flying)" + }, + { + "bd_nut.falling", + "bd_nut", + "Nut with diamond (falling)" + }, + { + "bd_falling_wall.falling", + "bd_wall", + "Falling wall (falling)" + }, + { + "bd_nitro_pack.falling", + "bd_nitro_pack", + "Nitro pack (falling)" + }, + { + "bd_water_1", + "bd_water", + "Water (1)" + }, + { + "bd_water_2", + "bd_water", + "Water (2)" + }, + { + "bd_water_3", + "bd_water", + "Water (3)" + }, + { + "bd_water_4", + "bd_water", + "Water (4)" + }, + { + "bd_water_5", + "bd_water", + "Water (5)" + }, + { + "bd_water_6", + "bd_water", + "Water (6)" + }, + { + "bd_water_7", + "bd_water", + "Water (7)" + }, + { + "bd_water_8", + "bd_water", + "Water (8)" + }, + { + "bd_water_9", + "bd_water", + "Water (9)" + }, + { + "bd_water_10", + "bd_water", + "Water (10)" + }, + { + "bd_water_11", + "bd_water", + "Water (11)" + }, + { + "bd_water_12", + "bd_water", + "Water (12)" + }, + { + "bd_water_13", + "bd_water", + "Water (13)" + }, + { + "bd_water_14", + "bd_water", + "Water (14)" + }, + { + "bd_water_15", + "bd_water", + "Water (15)" + }, + { + "bd_water_16", + "bd_water", + "Water (16)" + }, + { + "bd_cow_enclosed_1", + "bd_cow", + "Enclosed cow (1)" + }, + { + "bd_cow_enclosed_2", + "bd_cow", + "Enclosed cow (2)" + }, + { + "bd_cow_enclosed_3", + "bd_cow", + "Enclosed cow (3)" + }, + { + "bd_cow_enclosed_4", + "bd_cow", + "Enclosed cow (4)" + }, + { + "bd_cow_enclosed_5", + "bd_cow", + "Enclosed cow (5)" + }, + { + "bd_cow_enclosed_6", + "bd_cow", + "Enclosed cow (6)" + }, + { + "bd_cow_enclosed_7", + "bd_cow", + "Enclosed cow (7)" + }, + { + "bd_bladder_1", + "bd_bladder", + "Bladder (1)" + }, + { + "bd_bladder_2", + "bd_bladder", + "Bladder (2)" + }, + { + "bd_bladder_3", + "bd_bladder", + "Bladder (3)" + }, + { + "bd_bladder_4", + "bd_bladder", + "Bladder (4)" + }, + { + "bd_bladder_5", + "bd_bladder", + "Bladder (5)" + }, + { + "bd_bladder_6", + "bd_bladder", + "Bladder (6)" + }, + { + "bd_bladder_7", + "bd_bladder", + "Bladder (7)" + }, + { + "bd_bladder_8", + "bd_bladder", + "Bladder (8)" + }, + { + "bd_player.growing_1", + "bd_player", + "Player birth (1)" + }, + { + "bd_player.growing_2", + "bd_player", + "Player birth (2)" + }, + { + "bd_player.growing_3", + "bd_player", + "Player birth (3)" + }, + { + "bd_bomb.ticking_1", + "bd_bomb", + "Ticking bomb (1)" + }, + { + "bd_bomb.ticking_2", + "bd_bomb", + "Ticking bomb (2)" + }, + { + "bd_bomb.ticking_3", + "bd_bomb", + "Ticking bomb (3)" + }, + { + "bd_bomb.ticking_4", + "bd_bomb", + "Ticking bomb (4)" + }, + { + "bd_bomb.ticking_5", + "bd_bomb", + "Ticking bomb (5)" + }, + { + "bd_bomb.ticking_6", + "bd_bomb", + "Ticking bomb (6)" + }, + { + "bd_bomb.ticking_7", + "bd_bomb", + "Ticking bomb (7)" + }, + { + "bd_clock.growing_1", + "bd_clock", + "Clock birth (1)" + }, + { + "bd_clock.growing_2", + "bd_clock", + "Clock birth (2)" + }, + { + "bd_clock.growing_3", + "bd_clock", + "Clock birth (3)" + }, + { + "bd_clock.growing_4", + "bd_clock", + "Clock birth (4)" + }, + { + "bd_diamond.growing_1", + "bd_diamond", + "Diamond birth (1)" + }, + { + "bd_diamond.growing_2", + "bd_diamond", + "Diamond birth (2)" + }, + { + "bd_diamond.growing_3", + "bd_diamond", + "Diamond birth (3)" + }, + { + "bd_diamond.growing_4", + "bd_diamond", + "Diamond birth (4)" + }, + { + "bd_diamond.growing_5", + "bd_diamond", + "Diamond birth (5)" + }, + { + "bd_exploding_1", + "bd_exploding", + "Explosion (1)" + }, + { + "bd_exploding_2", + "bd_exploding", + "Explosion (2)" + }, + { + "bd_exploding_3", + "bd_exploding", + "Explosion (3)" + }, + { + "bd_exploding_4", + "bd_exploding", + "Explosion (4)" + }, + { + "bd_exploding_5", + "bd_exploding", + "Explosion (5)" + }, + { + "bd_rock.growing_1", + "bd_rock", + "Rock birth (1)" + }, + { + "bd_rock.growing_2", + "bd_rock", + "Rock birth (2)" + }, + { + "bd_rock.growing_3", + "bd_rock", + "Rock birth (3)" + }, + { + "bd_rock.growing_4", + "bd_rock", + "Rock birth (4)" + }, + { + "bd_steelwall.growing_1", + "bd_steelwall", + "Steelwall birth (1)" + }, + { + "bd_steelwall.growing_2", + "bd_steelwall", + "Steelwall birth (2)" + }, + { + "bd_steelwall.growing_3", + "bd_steelwall", + "Steelwall birth (3)" + }, + { + "bd_steelwall.growing_4", + "bd_steelwall", + "Steelwall birth (4)" + }, + { + "bd_ghost.exploding_1", + "bd_ghost", + "Ghost explosion (1)" + }, + { + "bd_ghost.exploding_2", + "bd_ghost", + "Ghost explosion (2)" + }, + { + "bd_ghost.exploding_3", + "bd_ghost", + "Ghost explosion (3)" + }, + { + "bd_ghost.exploding_4", + "bd_ghost", + "Ghost explosion (4)" + }, + { + "bd_bomb.exploding_1", + "bd_bomb", + "Bomb explosion (1)" + }, + { + "bd_bomb.exploding_2", + "bd_bomb", + "Bomb explosion (2)" + }, + { + "bd_bomb.exploding_3", + "bd_bomb", + "Bomb explosion (3)" + }, + { + "bd_bomb.exploding_4", + "bd_bomb", + "Bomb explosion (4)" + }, + { + "bd_nitro_pack.exploding", + "bd_nitro_pack", + "Nitro pack (triggered)" + }, + { + "bd_nitro_pack.exploding_1", + "bd_nitro_pack", + "Nitro pack explosion (1)" + }, + { + "bd_nitro_pack.exploding_2", + "bd_nitro_pack", + "Nitro pack explosion (2)" + }, + { + "bd_nitro_pack.exploding_3", + "bd_nitro_pack", + "Nitro pack explosion (3)" + }, + { + "bd_nitro_pack.exploding_4", + "bd_nitro_pack", + "Nitro pack explosion (4)" + }, + { + "bd_amoeba_2.exploding_1", + "bd_amoeba", + "Amoeba 2 explosion (1)" + }, + { + "bd_amoeba_2.exploding_2", + "bd_amoeba", + "Amoeba 2 explosion (2)" + }, + { + "bd_amoeba_2.exploding_3", + "bd_amoeba", + "Amoeba 2 explosion (3)" + }, + { + "bd_amoeba_2.exploding_4", + "bd_amoeba", + "Amoeba 2 explosion (4)" + }, + { + "bd_nut.breaking_1", + "bd_nut", + "Nut explosion (1)" + }, + { + "bd_nut.breaking_2", + "bd_nut", + "Nut explosion (2)" + }, + { + "bd_nut.breaking_3", + "bd_nut", + "Nut explosion (3)" + }, + { + "bd_nut.breaking_4", + "bd_nut", + "Nut explosion (4)" + }, // -------------------------------------------------------------------------- // "real" (and therefore drawable) runtime elements diff --git a/src/main.h b/src/main.h index 5a85ae28..f9836d97 100644 --- a/src/main.h +++ b/src/main.h @@ -2026,7 +2026,7 @@ #define EL_MM_END_3 EL_DF_SLOPE_END #define EL_DF_END_2 EL_DF_SLOPE_END -// BD style elements +// BD style elements (normal) #define EL_BD_EMPTY_SPACE 1253 #define EL_BD_EMPTY EL_BD_EMPTY_SPACE #define EL_BD_SAND 1254 @@ -2162,7 +2162,103 @@ #define EL_BD_FAKE_BONUS 1384 #define EL_BD_COVERED 1385 -#define NUM_FILE_ELEMENTS 1386 +// BD style elements ("effects"; mostly runtime elements, but can also be stored in level file) +#define EL_BD_SAND_BALL_FALLING 1386 +#define EL_BD_SAND_LOOSE_FALLING 1387 +#define EL_BD_ROCK_FALLING 1388 +#define EL_BD_FLYING_ROCK_FLYING 1389 +#define EL_BD_MEGA_ROCK_FALLING 1390 +#define EL_BD_DIAMOND_FALLING 1391 +#define EL_BD_FLYING_DIAMOND_FLYING 1392 +#define EL_BD_NUT_FALLING 1393 +#define EL_BD_FALLING_WALL_FALLING 1394 +#define EL_BD_NITRO_PACK_FALLING 1395 +#define EL_BD_WATER_1 1396 +#define EL_BD_WATER_2 1397 +#define EL_BD_WATER_3 1398 +#define EL_BD_WATER_4 1399 +#define EL_BD_WATER_5 1400 +#define EL_BD_WATER_6 1401 +#define EL_BD_WATER_7 1402 +#define EL_BD_WATER_8 1403 +#define EL_BD_WATER_9 1404 +#define EL_BD_WATER_10 1405 +#define EL_BD_WATER_11 1406 +#define EL_BD_WATER_12 1407 +#define EL_BD_WATER_13 1408 +#define EL_BD_WATER_14 1409 +#define EL_BD_WATER_15 1410 +#define EL_BD_WATER_16 1411 +#define EL_BD_COW_ENCLOSED_1 1412 +#define EL_BD_COW_ENCLOSED_2 1413 +#define EL_BD_COW_ENCLOSED_3 1414 +#define EL_BD_COW_ENCLOSED_4 1415 +#define EL_BD_COW_ENCLOSED_5 1416 +#define EL_BD_COW_ENCLOSED_6 1417 +#define EL_BD_COW_ENCLOSED_7 1418 +#define EL_BD_BLADDER_1 1419 +#define EL_BD_BLADDER_2 1420 +#define EL_BD_BLADDER_3 1421 +#define EL_BD_BLADDER_4 1422 +#define EL_BD_BLADDER_5 1423 +#define EL_BD_BLADDER_6 1424 +#define EL_BD_BLADDER_7 1425 +#define EL_BD_BLADDER_8 1426 +#define EL_BD_PLAYER_GROWING_1 1427 +#define EL_BD_PLAYER_GROWING_2 1428 +#define EL_BD_PLAYER_GROWING_3 1429 +#define EL_BD_BOMB_TICKING_1 1430 +#define EL_BD_BOMB_TICKING_2 1431 +#define EL_BD_BOMB_TICKING_3 1432 +#define EL_BD_BOMB_TICKING_4 1433 +#define EL_BD_BOMB_TICKING_5 1434 +#define EL_BD_BOMB_TICKING_6 1435 +#define EL_BD_BOMB_TICKING_7 1436 +#define EL_BD_CLOCK_GROWING_1 1437 +#define EL_BD_CLOCK_GROWING_2 1438 +#define EL_BD_CLOCK_GROWING_3 1439 +#define EL_BD_CLOCK_GROWING_4 1440 +#define EL_BD_DIAMOND_GROWING_1 1441 +#define EL_BD_DIAMOND_GROWING_2 1442 +#define EL_BD_DIAMOND_GROWING_3 1443 +#define EL_BD_DIAMOND_GROWING_4 1444 +#define EL_BD_DIAMOND_GROWING_5 1445 +#define EL_BD_EXPLODING_1 1446 +#define EL_BD_EXPLODING_2 1447 +#define EL_BD_EXPLODING_3 1448 +#define EL_BD_EXPLODING_4 1449 +#define EL_BD_EXPLODING_5 1450 +#define EL_BD_ROCK_GROWING_1 1451 +#define EL_BD_ROCK_GROWING_2 1452 +#define EL_BD_ROCK_GROWING_3 1453 +#define EL_BD_ROCK_GROWING_4 1454 +#define EL_BD_STEELWALL_GROWING_1 1455 +#define EL_BD_STEELWALL_GROWING_2 1456 +#define EL_BD_STEELWALL_GROWING_3 1457 +#define EL_BD_STEELWALL_GROWING_4 1458 +#define EL_BD_GHOST_EXPLODING_1 1459 +#define EL_BD_GHOST_EXPLODING_2 1460 +#define EL_BD_GHOST_EXPLODING_3 1461 +#define EL_BD_GHOST_EXPLODING_4 1462 +#define EL_BD_BOMB_EXPLODING_1 1463 +#define EL_BD_BOMB_EXPLODING_2 1464 +#define EL_BD_BOMB_EXPLODING_3 1465 +#define EL_BD_BOMB_EXPLODING_4 1466 +#define EL_BD_NITRO_PACK_EXPLODING 1467 +#define EL_BD_NITRO_PACK_EXPLODING_1 1468 +#define EL_BD_NITRO_PACK_EXPLODING_2 1469 +#define EL_BD_NITRO_PACK_EXPLODING_3 1470 +#define EL_BD_NITRO_PACK_EXPLODING_4 1471 +#define EL_BD_AMOEBA_2_EXPLODING_1 1472 +#define EL_BD_AMOEBA_2_EXPLODING_2 1473 +#define EL_BD_AMOEBA_2_EXPLODING_3 1474 +#define EL_BD_AMOEBA_2_EXPLODING_4 1475 +#define EL_BD_NUT_BREAKING_1 1476 +#define EL_BD_NUT_BREAKING_2 1477 +#define EL_BD_NUT_BREAKING_3 1478 +#define EL_BD_NUT_BREAKING_4 1479 + +#define NUM_FILE_ELEMENTS 1480 // "real" (and therefore drawable) runtime elements -- 2.34.1