X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fmain.c;h=ac9c9d6fba7bd7a55b08f1c90485fdc1bd3521c7;hb=ab939d25272479b99688fb27fd9c09dbbe05b2bb;hp=477ff2420358b16a96c63245542e40e65d16a74c;hpb=61230e43ba583ff601d6ceacf452ed6a4b9afc1d;p=rocksndiamonds.git diff --git a/src/main.c b/src/main.c index 477ff242..ac9c9d6f 100644 --- a/src/main.c +++ b/src/main.c @@ -55,7 +55,7 @@ int lev_fieldx,lev_fieldy, scroll_x,scroll_y; int FX = SX, FY = SY, ScrollStepSize; int ScreenMovDir = MV_NO_MOVING, ScreenMovPos = 0; int ScreenGfxPos = 0; -int BorderElement = EL_BETON; +int BorderElement = EL_STEELWALL; int GameFrameDelay = GAME_FRAME_DELAY; int FfwdFrameDelay = FFWD_FRAME_DELAY; int BX1 = 0, BY1 = 0, BX2 = SCR_FIELDX-1, BY2 = SCR_FIELDY-1; @@ -136,15 +136,40 @@ char *sound_name[NUM_SOUNDS] = "gate.wav" }; +/* this is used to reduce memory usage of the different animation types */ +int anim_action_mapping[] = +{ + 0, /* GFX_ACTION_UNKNOWN (0) */ + 0, /* GFX_ACTION_DEFAULT (1) */ + 0, /* GFX_ACTION_WAITING (2) */ + + 1, /* GFX_ACTION_FALLING (3) */ + 2, /* GFX_ACTION_MOVING (4) */ + 3, /* GFX_ACTION_DIGGING (5) */ + 4, /* GFX_ACTION_COLLECTING (6) */ + 5, /* GFX_ACTION_PUSHING (7) */ + + 6, /* GFX_ACTION_PASSING (8) */ + 6, /* GFX_ACTION_IMPACT (9) */ + 6, /* GFX_ACTION_CRACKING (10) */ + 6, /* GFX_ACTION_ACTIVATING (11) */ + 6, /* GFX_ACTION_EATING (12) */ + 6 /* GFX_ACTION_OTHER (13) */ +}; + struct ConfigInfo image_config_suffix[] = { { ".xpos", "0" }, { ".ypos", "0" }, { ".frames", "1" }, - { ".delay", "0" }, +#if 0 + { ".start_frame", "-1" }, +#endif + { ".delay", "1" }, { ".pingpong", "0" }, { ".pingpong2", "0" }, { ".reverse", "0" }, + { ".global_sync", "0" }, { ".vertical", "0" }, { NULL, NULL } @@ -160,7 +185,7 @@ struct ConfigInfo image_config[] = /* images for Emerald Mine style elements and actions */ { "empty_space", "RocksElements.pcx" }, { "empty_space.xpos", "7" }, - { "empty_space.ypos", "10" }, + { "empty_space.ypos", "9" }, { "empty_space.frames", "1" }, { "sand", "RocksElements.pcx" }, @@ -176,10 +201,18 @@ struct ConfigInfo image_config[] = { "quicksand_empty.xpos", "2" }, { "quicksand_empty.ypos", "0" }, { "quicksand_empty.frames", "1" }, + { "quicksand.filling", "RocksElements.pcx" }, + { "quicksand.filling.xpos", "3" }, + { "quicksand.filling.ypos", "0" }, + { "quicksand.filling.frames", "1" }, { "quicksand_full", "RocksElements.pcx" }, { "quicksand_full.xpos", "3" }, { "quicksand_full.ypos", "0" }, { "quicksand_full.frames", "1" }, + { "quicksand.emptying", "RocksElements.pcx" }, + { "quicksand.emptying.xpos", "3" }, + { "quicksand.emptying.ypos", "0" }, + { "quicksand.emptying.frames", "1" }, { "steelwall", "RocksElements.pcx" }, { "steelwall.xpos", "4" }, @@ -330,61 +363,77 @@ struct ConfigInfo image_config[] = { "dynamite.xpos", "0" }, { "dynamite.ypos", "3" }, { "dynamite.frames", "1" }, - { "dynamite.burning", "RocksElements.pcx" }, - { "dynamite.burning.xpos", "1" }, - { "dynamite.burning.ypos", "3" }, - { "dynamite.burning.frames", "7" }, + { "dynamite.active", "RocksElements.pcx" }, + { "dynamite.active.xpos", "1" }, + { "dynamite.active.ypos", "3" }, + { "dynamite.active.frames", "7" }, { "spaceship_right", "RocksElements.pcx" }, { "spaceship_right.xpos", "8" }, { "spaceship_right.ypos", "3" }, - { "spaceship_right.frames", "1" }, + { "spaceship_right.frames", "2" }, + { "spaceship_right.delay", "4" }, { "spaceship_up", "RocksElements.pcx" }, - { "spaceship_up.xpos", "9" }, + { "spaceship_up.xpos", "10" }, { "spaceship_up.ypos", "3" }, - { "spaceship_up.frames", "1" }, + { "spaceship_up.frames", "2" }, + { "spaceship_up.delay", "4" }, { "spaceship_left", "RocksElements.pcx" }, - { "spaceship_left.xpos", "10" }, + { "spaceship_left.xpos", "12" }, { "spaceship_left.ypos", "3" }, - { "spaceship_left.frames", "1" }, + { "spaceship_left.frames", "2" }, + { "spaceship_left.delay", "4" }, { "spaceship_down", "RocksElements.pcx" }, - { "spaceship_down.xpos", "11" }, + { "spaceship_down.xpos", "14" }, { "spaceship_down.ypos", "3" }, - { "spaceship_down.frames", "1" }, + { "spaceship_down.frames", "2" }, + { "spaceship_down.delay", "4" }, { "bug_right", "RocksElements.pcx" }, { "bug_right.xpos", "8" }, { "bug_right.ypos", "4" }, - { "bug_right.frames", "1" }, + { "bug_right.frames", "2" }, + { "bug_right.delay", "4" }, { "bug_up", "RocksElements.pcx" }, - { "bug_up.xpos", "9" }, + { "bug_up.xpos", "10" }, { "bug_up.ypos", "4" }, - { "bug_up.frames", "1" }, + { "bug_up.frames", "2" }, + { "bug_up.delay", "4" }, { "bug_left", "RocksElements.pcx" }, - { "bug_left.xpos", "10" }, + { "bug_left.xpos", "12" }, { "bug_left.ypos", "4" }, - { "bug_left.frames", "1" }, + { "bug_left.frames", "2" }, + { "bug_left.delay", "4" }, { "bug_down", "RocksElements.pcx" }, - { "bug_down.xpos", "11" }, + { "bug_down.xpos", "14" }, { "bug_down.ypos", "4" }, - { "bug_down.frames", "1" }, + { "bug_down.frames", "2" }, + { "bug_down.delay", "4" }, { "pacman_right", "RocksElements.pcx" }, { "pacman_right.xpos", "8" }, { "pacman_right.ypos", "5" }, - { "pacman_right.frames", "1" }, + { "pacman_right.frames", "2" }, + { "pacman_right.reverse", "1" }, + { "pacman_right.delay", "4" }, { "pacman_up", "RocksElements.pcx" }, - { "pacman_up.xpos", "9" }, + { "pacman_up.xpos", "10" }, { "pacman_up.ypos", "5" }, - { "pacman_up.frames", "1" }, + { "pacman_up.frames", "2" }, + { "pacman_up.reverse", "1" }, + { "pacman_up.delay", "4" }, { "pacman_left", "RocksElements.pcx" }, - { "pacman_left.xpos", "10" }, + { "pacman_left.xpos", "12" }, { "pacman_left.ypos", "5" }, - { "pacman_left.frames", "1" }, + { "pacman_left.frames", "2" }, + { "pacman_left.reverse", "1" }, + { "pacman_left.delay", "4" }, { "pacman_down", "RocksElements.pcx" }, - { "pacman_down.xpos", "11" }, + { "pacman_down.xpos", "14" }, { "pacman_down.ypos", "5" }, - { "pacman_down.frames", "1" }, + { "pacman_down.frames", "2" }, + { "pacman_down.reverse", "1" }, + { "pacman_down.delay", "4" }, { "explosion", "RocksElements.pcx" }, { "explosion.xpos", "0" }, @@ -396,6 +445,10 @@ struct ConfigInfo image_config[] = { "yamyam.ypos", "5" }, { "yamyam.frames", "4" }, { "yamyam.pingpong", "1" }, + { "yamyam.moving", "RocksElements.pcx" }, + { "yamyam.moving.xpos", "0" }, + { "yamyam.moving.ypos", "5" }, + { "yamyam.moving.frames", "1" }, { "robot", "RocksElements.pcx" }, { "robot.xpos", "4" }, @@ -405,33 +458,61 @@ struct ConfigInfo image_config[] = { "robot_wheel", "RocksElements.pcx" }, { "robot_wheel.xpos", "0" }, { "robot_wheel.ypos", "6" }, - { "robot_wheel.frames", "4" }, + { "robot_wheel.frames", "1" }, + { "robot_wheel.active", "RocksElements.pcx" }, + { "robot_wheel.active.xpos", "0" }, + { "robot_wheel.active.ypos", "6" }, + { "robot_wheel.active.frames", "4" }, { "amoeba_drop", "RocksElements.pcx" }, { "amoeba_drop.xpos", "5" }, { "amoeba_drop.ypos", "6" }, { "amoeba_drop.frames", "1" }, - { "amoeba.growing", "RocksElements.pcx" }, - { "amoeba.growing.xpos", "5" }, - { "amoeba.growing.ypos", "6" }, - { "amoeba.growing.frames", "3" }, - { "amoeba", "RocksElements.pcx" }, - { "amoeba.xpos", "8" }, - { "amoeba.ypos", "6" }, - { "amoeba.frames", "4" }, - { "amoeba_dead", "RocksElements.pcx" }, - { "amoeba_dead.xpos", "12" }, - { "amoeba_dead.ypos", "6" }, - { "amoeba_dead.frames", "4" }, - - { "lamp_off", "RocksElements.pcx" }, - { "lamp_off.xpos", "0" }, - { "lamp_off.ypos", "7" }, - { "lamp_off.frames", "1" }, - { "lamp_on", "RocksElements.pcx" }, - { "lamp_on.xpos", "1" }, - { "lamp_on.ypos", "7" }, - { "lamp_on.frames", "1" }, + { "amoeba.creating", "RocksElements.pcx" }, + { "amoeba.creating.xpos", "5" }, + { "amoeba.creating.ypos", "6" }, + { "amoeba.creating.frames", "3" }, + { "amoeba.part1", "RocksElements.pcx" }, + { "amoeba.part1.xpos", "8" }, + { "amoeba.part1.ypos", "6" }, + { "amoeba.part1.frames", "1" }, + { "amoeba.part2", "RocksElements.pcx" }, + { "amoeba.part2.xpos", "9" }, + { "amoeba.part2.ypos", "6" }, + { "amoeba.part2.frames", "1" }, + { "amoeba.part3", "RocksElements.pcx" }, + { "amoeba.part3.xpos", "10" }, + { "amoeba.part3.ypos", "6" }, + { "amoeba.part3.frames", "1" }, + { "amoeba.part4", "RocksElements.pcx" }, + { "amoeba.part4.xpos", "11" }, + { "amoeba.part4.ypos", "6" }, + { "amoeba.part4.frames", "1" }, + { "amoeba_dead.part1", "RocksElements.pcx" }, + { "amoeba_dead.part1.xpos", "12" }, + { "amoeba_dead.part1.ypos", "6" }, + { "amoeba_dead.part1.frames", "1" }, + { "amoeba_dead.part2", "RocksElements.pcx" }, + { "amoeba_dead.part2.xpos", "13" }, + { "amoeba_dead.part2.ypos", "6" }, + { "amoeba_dead.part2.frames", "1" }, + { "amoeba_dead.part3", "RocksElements.pcx" }, + { "amoeba_dead.part3.xpos", "14" }, + { "amoeba_dead.part3.ypos", "6" }, + { "amoeba_dead.part3.frames", "1" }, + { "amoeba_dead.part4", "RocksElements.pcx" }, + { "amoeba_dead.part4.xpos", "15" }, + { "amoeba_dead.part4.ypos", "6" }, + { "amoeba_dead.part4.frames", "1" }, + + { "lamp", "RocksElements.pcx" }, + { "lamp.xpos", "0" }, + { "lamp.ypos", "7" }, + { "lamp.frames", "1" }, + { "lamp.active", "RocksElements.pcx" }, + { "lamp.active.xpos", "1" }, + { "lamp.active.ypos", "7" }, + { "lamp.active.frames", "1" }, { "time_orb_full", "RocksElements.pcx" }, { "time_orb_full.xpos", "2" }, @@ -446,6 +527,22 @@ struct ConfigInfo image_config[] = { "bd_amoeba.xpos", "8" }, { "bd_amoeba.ypos", "7" }, { "bd_amoeba.frames", "1" }, + { "bd_amoeba.part1", "RocksElements.pcx" }, + { "bd_amoeba.part1.xpos", "8" }, + { "bd_amoeba.part1.ypos", "6" }, + { "bd_amoeba.part1.frames", "1" }, + { "bd_amoeba.part2", "RocksElements.pcx" }, + { "bd_amoeba.part2.xpos", "9" }, + { "bd_amoeba.part2.ypos", "6" }, + { "bd_amoeba.part2.frames", "1" }, + { "bd_amoeba.part3", "RocksElements.pcx" }, + { "bd_amoeba.part3.xpos", "10" }, + { "bd_amoeba.part3.ypos", "6" }, + { "bd_amoeba.part3.frames", "1" }, + { "bd_amoeba.part4", "RocksElements.pcx" }, + { "bd_amoeba.part4.xpos", "11" }, + { "bd_amoeba.part4.ypos", "6" }, + { "bd_amoeba.part4.frames", "1" }, { "sokoban_object", "RocksElements.pcx" }, { "sokoban_object.xpos", "9" }, @@ -464,19 +561,35 @@ struct ConfigInfo image_config[] = { "magic_wall.xpos", "0" }, { "magic_wall.ypos", "8" }, { "magic_wall.frames", "1" }, - { "magic_wall.running", "RocksElements.pcx" }, - { "magic_wall.running.xpos", "0" }, - { "magic_wall.running.ypos", "8" }, - { "magic_wall.running.frames", "4" }, + { "magic_wall.active", "RocksElements.pcx" }, + { "magic_wall.active.xpos", "0" }, + { "magic_wall.active.ypos", "8" }, + { "magic_wall.active.frames", "4" }, + { "magic_wall.filling", "RocksElements.pcx" }, + { "magic_wall.filling.xpos", "0" }, + { "magic_wall.filling.ypos", "8" }, + { "magic_wall.filling.frames", "4" }, + { "magic_wall.emptying", "RocksElements.pcx" }, + { "magic_wall.emptying.xpos", "0" }, + { "magic_wall.emptying.ypos", "8" }, + { "magic_wall.emptying.frames", "4" }, { "bd_magic_wall", "RocksElements.pcx" }, { "bd_magic_wall.xpos", "12" }, { "bd_magic_wall.ypos", "10" }, { "bd_magic_wall.frames", "1" }, - { "bd_magic_wall.running", "RocksElements.pcx" }, - { "bd_magic_wall.running.xpos", "12" }, - { "bd_magic_wall.running.ypos", "10" }, - { "bd_magic_wall.running.frames", "4" }, + { "bd_magic_wall.active", "RocksElements.pcx" }, + { "bd_magic_wall.active.xpos", "12" }, + { "bd_magic_wall.active.ypos", "10" }, + { "bd_magic_wall.active.frames", "4" }, + { "bd_magic_wall.filling", "RocksElements.pcx" }, + { "bd_magic_wall.filling.xpos", "12" }, + { "bd_magic_wall.filling.ypos", "10" }, + { "bd_magic_wall.filling.frames", "4" }, + { "bd_magic_wall.emptying", "RocksElements.pcx" }, + { "bd_magic_wall.emptying.xpos", "12" }, + { "bd_magic_wall.emptying.ypos", "10" }, + { "bd_magic_wall.emptying.frames", "4" }, { "wall_emerald", "RocksElements.pcx" }, { "wall_emerald.xpos", "4" }, @@ -594,11 +707,11 @@ struct ConfigInfo image_config[] = { "dark_yamyam.frames", "4" }, { "dark_yamyam.pingpong", "1" }, - { "dynabomb.burning", "RocksElements.pcx" }, - { "dynabomb.burning.xpos", "12" }, - { "dynabomb.burning.ypos", "11" }, - { "dynabomb.burning.frames", "4" }, - { "dynabomb.burning.pingpong", "1" }, + { "dynabomb.active", "RocksElements.pcx" }, + { "dynabomb.active.xpos", "12" }, + { "dynabomb.active.ypos", "11" }, + { "dynabomb.active.frames", "4" }, + { "dynabomb.active.pingpong", "1" }, { "dynabomb_nr", "RocksElements.pcx" }, { "dynabomb_nr.xpos", "12" }, { "dynabomb_nr.ypos", "11" }, @@ -608,23 +721,18 @@ struct ConfigInfo image_config[] = { "dynabomb_sz.ypos", "11" }, { "dynabomb_sz.frames", "1" }, - { "arrow_left", "RocksElements.pcx" }, - { "arrow_left.xpos", "0" }, - { "arrow_left.ypos", "12" }, - { "arrow_left.frames", "1" }, - { "arrow_right", "RocksElements.pcx" }, - { "arrow_right.xpos", "1" }, - { "arrow_right.ypos", "12" }, - { "arrow_right.frames", "1" }, - { "arrow_up", "RocksElements.pcx" }, - { "arrow_up.xpos", "2" }, - { "arrow_up.ypos", "12" }, - { "arrow_up.frames", "1" }, - { "arrow_down", "RocksElements.pcx" }, - { "arrow_down.xpos", "3" }, - { "arrow_down.ypos", "12" }, - { "arrow_down.frames", "1" }, - + { "bd_butterfly", "RocksElements.pcx" }, + { "bd_butterfly.xpos", "4" }, + { "bd_butterfly.ypos", "12" }, + { "bd_butterfly.frames", "2" }, + { "bd_butterfly.pingpong", "1" }, + { "bd_butterfly.delay", "4" }, + { "bd_butterfly.moving", "RocksElements.pcx" }, + { "bd_butterfly.moving.xpos", "4" }, + { "bd_butterfly.moving.ypos", "12" }, + { "bd_butterfly.moving.frames", "2" }, + { "bd_butterfly.moving.pingpong", "1" }, + { "bd_butterfly.moving.delay", "4" }, { "bd_butterfly_right", "RocksElements.pcx" }, { "bd_butterfly_right.xpos", "8" }, { "bd_butterfly_right.ypos", "12" }, @@ -641,12 +749,19 @@ struct ConfigInfo image_config[] = { "bd_butterfly_down.xpos", "11" }, { "bd_butterfly_down.ypos", "12" }, { "bd_butterfly_down.frames", "1" }, - { "bd_butterfly.moving", "RocksElements.pcx" }, - { "bd_butterfly.moving.xpos", "4" }, - { "bd_butterfly.moving.ypos", "12" }, - { "bd_butterfly.moving.frames", "2" }, - { "bd_butterfly.moving.pingpong", "1" }, + { "bd_firefly", "RocksElements.pcx" }, + { "bd_firefly.xpos", "6" }, + { "bd_firefly.ypos", "12" }, + { "bd_firefly.frames", "2" }, + { "bd_firefly.pingpong", "1" }, + { "bd_firefly.delay", "4" }, + { "bd_firefly.moving", "RocksElements.pcx" }, + { "bd_firefly.moving.xpos", "6" }, + { "bd_firefly.moving.ypos", "12" }, + { "bd_firefly.moving.frames", "2" }, + { "bd_firefly.moving.pingpong", "1" }, + { "bd_firefly.moving.delay", "4" }, { "bd_firefly_right", "RocksElements.pcx" }, { "bd_firefly_right.xpos", "12" }, { "bd_firefly_right.ypos", "12" }, @@ -663,11 +778,6 @@ struct ConfigInfo image_config[] = { "bd_firefly_down.xpos", "15" }, { "bd_firefly_down.ypos", "12" }, { "bd_firefly_down.frames", "1" }, - { "bd_firefly.moving", "RocksElements.pcx" }, - { "bd_firefly.moving.xpos", "6" }, - { "bd_firefly.moving.ypos", "12" }, - { "bd_firefly.moving.frames", "2" }, - { "bd_firefly.moving.pingpong", "1" }, { "steelwall_topleft", "RocksElements.pcx" }, { "steelwall_topleft.xpos", "0" }, @@ -678,39 +788,51 @@ struct ConfigInfo image_config[] = { "steelwall_topright.ypos", "13" }, { "steelwall_topright.frames", "1" }, { "steelwall_bottomleft", "RocksElements.pcx" }, - { "steelwall_bottomleft.xpos", "1" }, + { "steelwall_bottomleft.xpos", "2" }, { "steelwall_bottomleft.ypos", "13" }, { "steelwall_bottomleft.frames", "1" }, { "steelwall_bottomright", "RocksElements.pcx" }, - { "steelwall_bottomright.xpos", "1" }, + { "steelwall_bottomright.xpos", "3" }, { "steelwall_bottomright.ypos", "13" }, { "steelwall_bottomright.frames", "1" }, { "steelwall_horizontal", "RocksElements.pcx" }, - { "steelwall_horizontal.xpos", "1" }, + { "steelwall_horizontal.xpos", "4" }, { "steelwall_horizontal.ypos", "13" }, { "steelwall_horizontal.frames", "1" }, + { "steelwall_vertical", "RocksElements.pcx" }, + { "steelwall_vertical.xpos", "5" }, + { "steelwall_vertical.ypos", "13" }, + { "steelwall_vertical.frames", "1" }, { "invisible_steelwall_topleft", "RocksElements.pcx" }, - { "invisible_steelwall_topleft.xpos", "0" }, + { "invisible_steelwall_topleft.xpos", "6" }, { "invisible_steelwall_topleft.ypos", "13" }, { "invisible_steelwall_topleft.frames", "1" }, { "invisible_steelwall_topright", "RocksElements.pcx" }, - { "invisible_steelwall_topright.xpos", "1" }, + { "invisible_steelwall_topright.xpos", "7" }, { "invisible_steelwall_topright.ypos", "13" }, { "invisible_steelwall_topright.frames", "1" }, { "invisible_steelwall_bottomleft", "RocksElements.pcx" }, - { "invisible_steelwall_bottomleft.xpos", "1" }, + { "invisible_steelwall_bottomleft.xpos", "8" }, { "invisible_steelwall_bottomleft.ypos", "13" }, { "invisible_steelwall_bottomleft.frames", "1" }, { "invisible_steelwall_bottomright", "RocksElements.pcx" }, - { "invisible_steelwall_bottomright.xpos", "1" }, + { "invisible_steelwall_bottomright.xpos", "9" }, { "invisible_steelwall_bottomright.ypos", "13" }, { "invisible_steelwall_bottomright.frames", "1" }, { "invisible_steelwall_horizontal", "RocksElements.pcx" }, - { "invisible_steelwall_horizontal.xpos", "1" }, + { "invisible_steelwall_horizontal.xpos", "10" }, { "invisible_steelwall_horizontal.ypos", "13" }, { "invisible_steelwall_horizontal.frames", "1" }, - + { "invisible_steelwall_vertical", "RocksElements.pcx" }, + { "invisible_steelwall_vertical.xpos", "11" }, + { "invisible_steelwall_vertical.ypos", "13" }, + { "invisible_steelwall_vertical.frames", "1" }, + + { "player1", "RocksHeroes.pcx" }, + { "player1.xpos", "0" }, + { "player1.ypos", "0" }, + { "player1.frames", "1" }, { "player1_down", "RocksHeroes.pcx" }, { "player1_down.xpos", "0" }, { "player1_down.ypos", "0" }, @@ -768,6 +890,10 @@ struct ConfigInfo image_config[] = { "player1_right.pushing.ypos", "2" }, { "player1_right.pushing.frames", "4" }, + { "player2", "RocksHeroes.pcx" }, + { "player2.xpos", "0" }, + { "player2.ypos", "3" }, + { "player2.frames", "1" }, { "player2_down", "RocksHeroes.pcx" }, { "player2_down.xpos", "0" }, { "player2_down.ypos", "3" }, @@ -825,6 +951,10 @@ struct ConfigInfo image_config[] = { "player2_right.pushing.ypos", "5" }, { "player2_right.pushing.frames", "4" }, + { "player3", "RocksHeroes.pcx" }, + { "player3.xpos", "0" }, + { "player3.ypos", "6" }, + { "player3.frames", "1" }, { "player3_down", "RocksHeroes.pcx" }, { "player3_down.xpos", "0" }, { "player3_down.ypos", "6" }, @@ -882,6 +1012,10 @@ struct ConfigInfo image_config[] = { "player3_right.pushing.ypos", "8" }, { "player3_right.pushing.frames", "4" }, + { "player4", "RocksHeroes.pcx" }, + { "player4.xpos", "0" }, + { "player4.ypos", "9" }, + { "player4.frames", "1" }, { "player4_down", "RocksHeroes.pcx" }, { "player4_down.xpos", "0" }, { "player4_down.ypos", "9" }, @@ -948,16 +1082,16 @@ struct ConfigInfo image_config[] = { "wall.growing_up.ypos", "12" }, { "wall.growing_up.frames", "3" }, - { "shield_passive.activated", "RocksHeroes.pcx" }, - { "shield_passive.activated.xpos", "1" }, - { "shield_passive.activated.ypos", "13" }, - { "shield_passive.activated.frames", "3" }, - { "shield_passive.activated.pingpong", "1" }, - { "shield_active.activated", "RocksHeroes.pcx" }, - { "shield_active.activated.xpos", "5" }, - { "shield_active.activated.ypos", "13" }, - { "shield_active.activated.frames", "3" }, - { "shield_active.activated.pingpong", "1" }, + { "shield_normal.active", "RocksHeroes.pcx" }, + { "shield_normal.active.xpos", "1" }, + { "shield_normal.active.ypos", "13" }, + { "shield_normal.active.frames", "3" }, + { "shield_normal.active.pingpong", "1" }, + { "shield_deadly.active", "RocksHeroes.pcx" }, + { "shield_deadly.active.xpos", "5" }, + { "shield_deadly.active.ypos", "13" }, + { "shield_deadly.active.frames", "3" }, + { "shield_deadly.active.pingpong", "1" }, { "pig_down", "RocksHeroes.pcx" }, { "pig_down.xpos", "8" }, @@ -1142,11 +1276,13 @@ struct ConfigInfo image_config[] = { "satellite", "RocksHeroes.pcx" }, { "satellite.xpos", "8" }, { "satellite.ypos", "9" }, - { "satellite.frames", "1" }, + { "satellite.frames", "8" }, + { "satellite.moving.delay", "2" }, { "satellite.moving", "RocksHeroes.pcx" }, { "satellite.moving.xpos", "8" }, { "satellite.moving.ypos", "9" }, { "satellite.moving.frames", "8" }, + { "satellite.moving.delay", "2" }, { "acid.splashing_left", "RocksHeroes.pcx" }, { "acid.splashing_left.xpos", "8" }, @@ -1157,68 +1293,68 @@ struct ConfigInfo image_config[] = { "acid.splashing_right.ypos", "10" }, { "acid.splashing_right.frames", "4" }, - { "sparkling_blue", "RocksHeroes.pcx" }, - { "sparkling_blue.xpos", "8" }, - { "sparkling_blue.ypos", "11" }, - { "sparkling_blue.frames", "3" }, - { "sparkling_blue.pingpong", "1" }, - { "sparkling_white", "RocksHeroes.pcx" }, - { "sparkling_white.xpos", "8" }, - { "sparkling_white.ypos", "11" }, - { "sparkling_white.frames", "3" }, - { "sparkling_white.pingpong", "1" }, - - { "flames_left1", "RocksHeroes.pcx" }, - { "flames_left1.xpos", "8" }, - { "flames_left1.ypos", "12" }, - { "flames_left1.frames", "2" }, - { "flames_left2", "RocksHeroes.pcx" }, - { "flames_left2.xpos", "9" }, - { "flames_left2.ypos", "12" }, - { "flames_left2.frames", "2" }, - { "flames_left3", "RocksHeroes.pcx" }, - { "flames_left3.xpos", "10" }, - { "flames_left3.ypos", "12" }, - { "flames_left3.frames", "2" }, - - { "flames_right1", "RocksHeroes.pcx" }, - { "flames_right1.xpos", "8" }, - { "flames_right1.ypos", "13" }, - { "flames_right1.frames", "2" }, - { "flames_right2", "RocksHeroes.pcx" }, - { "flames_right2.xpos", "9" }, - { "flames_right2.ypos", "13" }, - { "flames_right2.frames", "2" }, - { "flames_right3", "RocksHeroes.pcx" }, - { "flames_right3.xpos", "10" }, - { "flames_right3.ypos", "13" }, - { "flames_right3.frames", "2" }, - - { "flames_up1", "RocksHeroes.pcx" }, - { "flames_up1.xpos", "8" }, - { "flames_up1.ypos", "14" }, - { "flames_up1.frames", "2" }, - { "flames_up2", "RocksHeroes.pcx" }, - { "flames_up2.xpos", "9" }, - { "flames_up2.ypos", "14" }, - { "flames_up2.frames", "2" }, - { "flames_up3", "RocksHeroes.pcx" }, - { "flames_up3.xpos", "10" }, - { "flames_up3.ypos", "14" }, - { "flames_up3.frames", "2" }, - - { "flames_down1", "RocksHeroes.pcx" }, - { "flames_down1.xpos", "8" }, - { "flames_down1.ypos", "15" }, - { "flames_down1.frames", "2" }, - { "flames_down2", "RocksHeroes.pcx" }, - { "flames_down2.xpos", "9" }, - { "flames_down2.ypos", "15" }, - { "flames_down2.frames", "2" }, - { "flames_down3", "RocksHeroes.pcx" }, - { "flames_down3.xpos", "10" }, - { "flames_down3.ypos", "15" }, - { "flames_down3.frames", "2" }, + { "twinkle_blue", "RocksHeroes.pcx" }, + { "twinkle_blue.xpos", "8" }, + { "twinkle_blue.ypos", "11" }, + { "twinkle_blue.frames", "3" }, + { "twinkle_blue.pingpong", "1" }, + { "twinkle_white", "RocksHeroes.pcx" }, + { "twinkle_white.xpos", "8" }, + { "twinkle_white.ypos", "11" }, + { "twinkle_white.frames", "3" }, + { "twinkle_white.pingpong", "1" }, + + { "dragon_fire_left1", "RocksHeroes.pcx" }, + { "dragon_fire_left1.xpos", "8" }, + { "dragon_fire_left1.ypos", "12" }, + { "dragon_fire_left1.frames", "2" }, + { "dragon_fire_left2", "RocksHeroes.pcx" }, + { "dragon_fire_left2.xpos", "9" }, + { "dragon_fire_left2.ypos", "12" }, + { "dragon_fire_left2.frames", "2" }, + { "dragon_fire_left3", "RocksHeroes.pcx" }, + { "dragon_fire_left3.xpos", "10" }, + { "dragon_fire_left3.ypos", "12" }, + { "dragon_fire_left3.frames", "2" }, + + { "dragon_fire_right1", "RocksHeroes.pcx" }, + { "dragon_fire_right1.xpos", "8" }, + { "dragon_fire_right1.ypos", "13" }, + { "dragon_fire_right1.frames", "2" }, + { "dragon_fire_right2", "RocksHeroes.pcx" }, + { "dragon_fire_right2.xpos", "9" }, + { "dragon_fire_right2.ypos", "13" }, + { "dragon_fire_right2.frames", "2" }, + { "dragon_fire_right3", "RocksHeroes.pcx" }, + { "dragon_fire_right3.xpos", "10" }, + { "dragon_fire_right3.ypos", "13" }, + { "dragon_fire_right3.frames", "2" }, + + { "dragon_fire_up1", "RocksHeroes.pcx" }, + { "dragon_fire_up1.xpos", "8" }, + { "dragon_fire_up1.ypos", "14" }, + { "dragon_fire_up1.frames", "2" }, + { "dragon_fire_up2", "RocksHeroes.pcx" }, + { "dragon_fire_up2.xpos", "9" }, + { "dragon_fire_up2.ypos", "14" }, + { "dragon_fire_up2.frames", "2" }, + { "dragon_fire_up3", "RocksHeroes.pcx" }, + { "dragon_fire_up3.xpos", "10" }, + { "dragon_fire_up3.ypos", "14" }, + { "dragon_fire_up3.frames", "2" }, + + { "dragon_fire_down1", "RocksHeroes.pcx" }, + { "dragon_fire_down1.xpos", "8" }, + { "dragon_fire_down1.ypos", "15" }, + { "dragon_fire_down1.frames", "2" }, + { "dragon_fire_down2", "RocksHeroes.pcx" }, + { "dragon_fire_down2.xpos", "9" }, + { "dragon_fire_down2.ypos", "15" }, + { "dragon_fire_down2.frames", "2" }, + { "dragon_fire_down3", "RocksHeroes.pcx" }, + { "dragon_fire_down3.xpos", "10" }, + { "dragon_fire_down3.ypos", "15" }, + { "dragon_fire_down3.frames", "2" }, { "sp_empty_space", "RocksSP.pcx" }, { "sp_empty_space.xpos", "0" }, @@ -1460,74 +1596,48 @@ struct ConfigInfo image_config[] = { "sp_sniksnak_left", "RocksSP.pcx" }, { "sp_sniksnak_left.xpos", "8" }, { "sp_sniksnak_left.ypos", "8" }, - { "sp_sniksnak_left.frames", "1" }, - { "sp_sniksnak_left.moving", "RocksSP.pcx" }, - { "sp_sniksnak_left.moving.xpos", "8" }, - { "sp_sniksnak_left.moving.ypos", "8" }, - { "sp_sniksnak_left.moving.frames", "4" }, - { "sp_sniksnak_left.moving.pingpong", "1" }, + { "sp_sniksnak_left.frames", "4" }, + { "sp_sniksnak_left.pingpong2", "1" }, { "sp_sniksnak_right", "RocksSP.pcx" }, { "sp_sniksnak_right.xpos", "12" }, { "sp_sniksnak_right.ypos", "8" }, - { "sp_sniksnak_right.frames", "1" }, - { "sp_sniksnak_right.moving", "RocksSP.pcx" }, - { "sp_sniksnak_right.moving.xpos", "12" }, - { "sp_sniksnak_right.moving.ypos", "8" }, - { "sp_sniksnak_right.moving.frames", "4" }, - { "sp_sniksnak_right.moving.pingpong", "1" }, + { "sp_sniksnak_right.frames", "4" }, + { "sp_sniksnak_right.pingpong2", "1" }, { "sp_sniksnak_up", "RocksSP.pcx" }, { "sp_sniksnak_up.xpos", "8" }, { "sp_sniksnak_up.ypos", "9" }, - { "sp_sniksnak_up.frames", "1" }, - { "sp_sniksnak_up.moving", "RocksSP.pcx" }, - { "sp_sniksnak_up.moving.xpos", "8" }, - { "sp_sniksnak_up.moving.ypos", "9" }, - { "sp_sniksnak_up.moving.frames", "4" }, - { "sp_sniksnak_up.moving.pingpong", "1" }, + { "sp_sniksnak_up.frames", "4" }, + { "sp_sniksnak_up.pingpong2", "1" }, { "sp_sniksnak_down", "RocksSP.pcx" }, { "sp_sniksnak_down.xpos", "12" }, { "sp_sniksnak_down.ypos", "9" }, - { "sp_sniksnak_down.frames", "1" }, - { "sp_sniksnak_down.moving", "RocksSP.pcx" }, - { "sp_sniksnak_down.moving.xpos", "12" }, - { "sp_sniksnak_down.moving.ypos", "9" }, - { "sp_sniksnak_down.moving.frames", "4" }, - { "sp_sniksnak_down.moving.pingpong", "1" }, + { "sp_sniksnak_down.frames", "4" }, + { "sp_sniksnak_down.pingpong2", "1" }, { "sp_electron", "RocksSP.pcx" }, - { "sp_electron.xpos", "0" }, - { "sp_electron.ypos", "3" }, - { "sp_electron.frames", "1" }, - { "sp_electron.moving", "RocksSP.pcx" }, - { "sp_electron.moving.xpos", "8" }, - { "sp_electron.moving.ypos", "10" }, - { "sp_electron.moving.frames", "8" }, + { "sp_electron.xpos", "8" }, + { "sp_electron.ypos", "10" }, + { "sp_electron.frames", "8" }, + { "sp_electron.delay", "2" }, + { "sp_electron.global_sync", "1" }, { "sp_terminal", "RocksSP.pcx" }, - { "sp_terminal.xpos", "3" }, - { "sp_terminal.ypos", "2" }, - { "sp_terminal.frames", "1" }, - { "sp_terminal.running", "RocksSP.pcx" }, - { "sp_terminal.running.xpos", "8" }, - { "sp_terminal.running.ypos", "11" }, - { "sp_terminal.running.frames", "7" }, - { "sp_terminal_active", "RocksSP.pcx" }, - { "sp_terminal_active.xpos", "8" }, - { "sp_terminal_active.ypos", "12" }, - { "sp_terminal_active.frames", "1" }, - { "sp_terminal_active.running", "RocksSP.pcx" }, - { "sp_terminal_active.running.xpos", "8" }, - { "sp_terminal_active.running.ypos", "12" }, - { "sp_terminal_active.running.frames", "7" }, + { "sp_terminal.xpos", "8" }, + { "sp_terminal.ypos", "11" }, + { "sp_terminal.frames", "7" }, + { "sp_terminal.active", "RocksSP.pcx" }, + { "sp_terminal.active.xpos", "8" }, + { "sp_terminal.active.ypos", "12" }, + { "sp_terminal.active.frames", "7" }, { "sp_buggy_base", "RocksSP.pcx" }, { "sp_buggy_base.xpos", "1" }, { "sp_buggy_base.ypos", "3" }, { "sp_buggy_base.frames", "1" }, - { "sp_buggy_base.activating", "RocksSP.pcx" }, - { "sp_buggy_base.activating.xpos", "8" }, - { "sp_buggy_base.activating.ypos", "6" }, - { "sp_buggy_base.activating.frames", "4" }, + { "sp_buggy_base.active", "RocksSP.pcx" }, + { "sp_buggy_base.active.xpos", "8" }, + { "sp_buggy_base.active.ypos", "6" }, + { "sp_buggy_base.active.frames", "4" }, { "sp_hard_base1", "RocksSP.pcx" }, { "sp_hard_base1.xpos", "4" }, @@ -1558,28 +1668,28 @@ struct ConfigInfo image_config[] = { "invisible_steelwall.xpos", "3" }, { "invisible_steelwall.ypos", "5" }, { "invisible_steelwall.frames", "1" }, - { "invisible_steelwall_on", "RocksSP.pcx" }, - { "invisible_steelwall_on.xpos", "1" }, - { "invisible_steelwall_on.ypos", "5" }, - { "invisible_steelwall_on.frames", "1" }, + { "invisible_steelwall.active", "RocksSP.pcx" }, + { "invisible_steelwall.active.xpos", "1" }, + { "invisible_steelwall.active.ypos", "5" }, + { "invisible_steelwall.active.frames", "1" }, { "invisible_sand", "RocksSP.pcx" }, { "invisible_sand.xpos", "6" }, { "invisible_sand.ypos", "5" }, { "invisible_sand.frames", "1" }, - { "invisible_sand_on", "RocksSP.pcx" }, - { "invisible_sand_on.xpos", "2" }, - { "invisible_sand_on.ypos", "5" }, - { "invisible_sand_on.frames", "1" }, + { "invisible_sand.active", "RocksSP.pcx" }, + { "invisible_sand.active.xpos", "2" }, + { "invisible_sand.active.ypos", "5" }, + { "invisible_sand.active.frames", "1" }, { "invisible_wall", "RocksSP.pcx" }, { "invisible_wall.xpos", "7" }, { "invisible_wall.ypos", "5" }, { "invisible_wall.frames", "1" }, - { "invisible_wall_on", "RocksSP.pcx" }, - { "invisible_wall_on.xpos", "5" }, - { "invisible_wall_on.ypos", "5" }, - { "invisible_wall_on.frames", "1" }, + { "invisible_wall.active", "RocksSP.pcx" }, + { "invisible_wall.active.xpos", "5" }, + { "invisible_wall.active.ypos", "5" }, + { "invisible_wall.active.frames", "1" }, { "em_key1", "RocksSP.pcx" }, { "em_key1.xpos", "4" }, @@ -1644,26 +1754,26 @@ struct ConfigInfo image_config[] = { "conveyor_belt1_middle.xpos", "0" }, { "conveyor_belt1_middle.ypos", "0" }, { "conveyor_belt1_middle.frames", "1" }, - { "conveyor_belt1_middle.running", "RocksDC.pcx" }, - { "conveyor_belt1_middle.running.xpos", "0" }, - { "conveyor_belt1_middle.running.ypos", "0" }, - { "conveyor_belt1_middle.running.frames", "8" }, + { "conveyor_belt1_middle.active", "RocksDC.pcx" }, + { "conveyor_belt1_middle.active.xpos", "0" }, + { "conveyor_belt1_middle.active.ypos", "0" }, + { "conveyor_belt1_middle.active.frames", "8" }, { "conveyor_belt1_left", "RocksDC.pcx" }, { "conveyor_belt1_left.xpos", "0" }, { "conveyor_belt1_left.ypos", "1" }, { "conveyor_belt1_left.frames", "1" }, - { "conveyor_belt1_left.running", "RocksDC.pcx" }, - { "conveyor_belt1_left.running.xpos", "0" }, - { "conveyor_belt1_left.running.ypos", "1" }, - { "conveyor_belt1_left.running.frames", "8" }, + { "conveyor_belt1_left.active", "RocksDC.pcx" }, + { "conveyor_belt1_left.active.xpos", "0" }, + { "conveyor_belt1_left.active.ypos", "1" }, + { "conveyor_belt1_left.active.frames", "8" }, { "conveyor_belt1_right", "RocksDC.pcx" }, { "conveyor_belt1_right.xpos", "0" }, { "conveyor_belt1_right.ypos", "2" }, { "conveyor_belt1_right.frames", "1" }, - { "conveyor_belt1_right.running", "RocksDC.pcx" }, - { "conveyor_belt1_right.running.xpos", "0" }, - { "conveyor_belt1_right.running.ypos", "2" }, - { "conveyor_belt1_right.running.frames", "8" }, + { "conveyor_belt1_right.active", "RocksDC.pcx" }, + { "conveyor_belt1_right.active.xpos", "0" }, + { "conveyor_belt1_right.active.ypos", "2" }, + { "conveyor_belt1_right.active.frames", "8" }, { "conveyor_belt1_switch_left", "RocksDC.pcx" }, { "conveyor_belt1_switch_left.xpos", "0" }, { "conveyor_belt1_switch_left.ypos", "12" }, @@ -1681,26 +1791,26 @@ struct ConfigInfo image_config[] = { "conveyor_belt2_middle.xpos", "0" }, { "conveyor_belt2_middle.ypos", "3" }, { "conveyor_belt2_middle.frames", "1" }, - { "conveyor_belt2_middle.running", "RocksDC.pcx" }, - { "conveyor_belt2_middle.running.xpos", "0" }, - { "conveyor_belt2_middle.running.ypos", "3" }, - { "conveyor_belt2_middle.running.frames", "8" }, + { "conveyor_belt2_middle.active", "RocksDC.pcx" }, + { "conveyor_belt2_middle.active.xpos", "0" }, + { "conveyor_belt2_middle.active.ypos", "3" }, + { "conveyor_belt2_middle.active.frames", "8" }, { "conveyor_belt2_left", "RocksDC.pcx" }, { "conveyor_belt2_left.xpos", "0" }, { "conveyor_belt2_left.ypos", "4" }, { "conveyor_belt2_left.frames", "1" }, - { "conveyor_belt2_left.running", "RocksDC.pcx" }, - { "conveyor_belt2_left.running.xpos", "0" }, - { "conveyor_belt2_left.running.ypos", "4" }, - { "conveyor_belt2_left.running.frames", "8" }, + { "conveyor_belt2_left.active", "RocksDC.pcx" }, + { "conveyor_belt2_left.active.xpos", "0" }, + { "conveyor_belt2_left.active.ypos", "4" }, + { "conveyor_belt2_left.active.frames", "8" }, { "conveyor_belt2_right", "RocksDC.pcx" }, { "conveyor_belt2_right.xpos", "0" }, { "conveyor_belt2_right.ypos", "5" }, { "conveyor_belt2_right.frames", "1" }, - { "conveyor_belt2_right.running", "RocksDC.pcx" }, - { "conveyor_belt2_right.running.xpos", "0" }, - { "conveyor_belt2_right.running.ypos", "5" }, - { "conveyor_belt2_right.running.frames", "8" }, + { "conveyor_belt2_right.active", "RocksDC.pcx" }, + { "conveyor_belt2_right.active.xpos", "0" }, + { "conveyor_belt2_right.active.ypos", "5" }, + { "conveyor_belt2_right.active.frames", "8" }, { "conveyor_belt2_switch_left", "RocksDC.pcx" }, { "conveyor_belt2_switch_left.xpos", "1" }, { "conveyor_belt2_switch_left.ypos", "12" }, @@ -1718,26 +1828,26 @@ struct ConfigInfo image_config[] = { "conveyor_belt3_middle.xpos", "0" }, { "conveyor_belt3_middle.ypos", "6" }, { "conveyor_belt3_middle.frames", "1" }, - { "conveyor_belt3_middle.running", "RocksDC.pcx" }, - { "conveyor_belt3_middle.running.xpos", "0" }, - { "conveyor_belt3_middle.running.ypos", "6" }, - { "conveyor_belt3_middle.running.frames", "8" }, + { "conveyor_belt3_middle.active", "RocksDC.pcx" }, + { "conveyor_belt3_middle.active.xpos", "0" }, + { "conveyor_belt3_middle.active.ypos", "6" }, + { "conveyor_belt3_middle.active.frames", "8" }, { "conveyor_belt3_left", "RocksDC.pcx" }, { "conveyor_belt3_left.xpos", "0" }, { "conveyor_belt3_left.ypos", "7" }, { "conveyor_belt3_left.frames", "1" }, - { "conveyor_belt3_left.running", "RocksDC.pcx" }, - { "conveyor_belt3_left.running.xpos", "0" }, - { "conveyor_belt3_left.running.ypos", "7" }, - { "conveyor_belt3_left.running.frames", "8" }, + { "conveyor_belt3_left.active", "RocksDC.pcx" }, + { "conveyor_belt3_left.active.xpos", "0" }, + { "conveyor_belt3_left.active.ypos", "7" }, + { "conveyor_belt3_left.active.frames", "8" }, { "conveyor_belt3_right", "RocksDC.pcx" }, { "conveyor_belt3_right.xpos", "0" }, { "conveyor_belt3_right.ypos", "8" }, { "conveyor_belt3_right.frames", "1" }, - { "conveyor_belt3_right.running", "RocksDC.pcx" }, - { "conveyor_belt3_right.running.xpos", "0" }, - { "conveyor_belt3_right.running.ypos", "8" }, - { "conveyor_belt3_right.running.frames", "8" }, + { "conveyor_belt3_right.active", "RocksDC.pcx" }, + { "conveyor_belt3_right.active.xpos", "0" }, + { "conveyor_belt3_right.active.ypos", "8" }, + { "conveyor_belt3_right.active.frames", "8" }, { "conveyor_belt3_switch_left", "RocksDC.pcx" }, { "conveyor_belt3_switch_left.xpos", "2" }, { "conveyor_belt3_switch_left.ypos", "12" }, @@ -1755,26 +1865,26 @@ struct ConfigInfo image_config[] = { "conveyor_belt4_middle.xpos", "0" }, { "conveyor_belt4_middle.ypos", "9" }, { "conveyor_belt4_middle.frames", "1" }, - { "conveyor_belt4_middle.running", "RocksDC.pcx" }, - { "conveyor_belt4_middle.running.xpos", "0" }, - { "conveyor_belt4_middle.running.ypos", "9" }, - { "conveyor_belt4_middle.running.frames", "8" }, + { "conveyor_belt4_middle.active", "RocksDC.pcx" }, + { "conveyor_belt4_middle.active.xpos", "0" }, + { "conveyor_belt4_middle.active.ypos", "9" }, + { "conveyor_belt4_middle.active.frames", "8" }, { "conveyor_belt4_left", "RocksDC.pcx" }, { "conveyor_belt4_left.xpos", "0" }, { "conveyor_belt4_left.ypos", "10" }, { "conveyor_belt4_left.frames", "1" }, - { "conveyor_belt4_left.running", "RocksDC.pcx" }, - { "conveyor_belt4_left.running.xpos", "0" }, - { "conveyor_belt4_left.running.ypos", "10" }, - { "conveyor_belt4_left.running.frames", "8" }, + { "conveyor_belt4_left.active", "RocksDC.pcx" }, + { "conveyor_belt4_left.active.xpos", "0" }, + { "conveyor_belt4_left.active.ypos", "10" }, + { "conveyor_belt4_left.active.frames", "8" }, { "conveyor_belt4_right", "RocksDC.pcx" }, { "conveyor_belt4_right.xpos", "0" }, { "conveyor_belt4_right.ypos", "11" }, { "conveyor_belt4_right.frames", "1" }, - { "conveyor_belt4_right.running", "RocksDC.pcx" }, - { "conveyor_belt4_right.running.xpos", "0" }, - { "conveyor_belt4_right.running.ypos", "11" }, - { "conveyor_belt4_right.running.frames", "8" }, + { "conveyor_belt4_right.active", "RocksDC.pcx" }, + { "conveyor_belt4_right.active.xpos", "0" }, + { "conveyor_belt4_right.active.ypos", "11" }, + { "conveyor_belt4_right.active.frames", "8" }, { "conveyor_belt4_switch_left", "RocksDC.pcx" }, { "conveyor_belt4_switch_left.xpos", "3" }, { "conveyor_belt4_switch_left.ypos", "12" }, @@ -1797,23 +1907,23 @@ struct ConfigInfo image_config[] = { "switchgate_switch_down.ypos", "12" }, { "switchgate_switch_down.frames", "1" }, - { "light_switch_off", "RocksDC.pcx" }, - { "light_switch_off.xpos", "6" }, - { "light_switch_off.ypos", "12" }, - { "light_switch_off.frames", "1" }, - { "light_switch_on", "RocksDC.pcx" }, - { "light_switch_on.xpos", "7" }, - { "light_switch_on.ypos", "12" }, - { "light_switch_on.frames", "1" }, - - { "timegate_wheel", "RocksDC.pcx" }, - { "timegate_wheel.xpos", "0" }, - { "timegate_wheel.ypos", "15" }, - { "timegate_wheel.frames", "1" }, - { "timegate_wheel.running", "RocksDC.pcx" }, - { "timegate_wheel.running.xpos", "0" }, - { "timegate_wheel.running.ypos", "15" }, - { "timegate_wheel.running.frames", "4" }, + { "light_switch", "RocksDC.pcx" }, + { "light_switch.xpos", "6" }, + { "light_switch.ypos", "12" }, + { "light_switch.frames", "1" }, + { "light_switch.active", "RocksDC.pcx" }, + { "light_switch.active.xpos", "7" }, + { "light_switch.active.ypos", "12" }, + { "light_switch.active.frames", "1" }, + + { "timegate_switch", "RocksDC.pcx" }, + { "timegate_switch.xpos", "0" }, + { "timegate_switch.ypos", "15" }, + { "timegate_switch.frames", "1" }, + { "timegate_switch.active", "RocksDC.pcx" }, + { "timegate_switch.active.xpos", "0" }, + { "timegate_switch.active.ypos", "15" }, + { "timegate_switch.active.frames", "4" }, { "envelope", "RocksDC.pcx" }, { "envelope.xpos", "4" }, @@ -1845,15 +1955,15 @@ struct ConfigInfo image_config[] = { "extra_time.ypos", "0" }, { "extra_time.frames", "6" }, - { "shield_active", "RocksDC.pcx" }, - { "shield_active.xpos", "8" }, - { "shield_active.ypos", "1" }, - { "shield_active.frames", "6" }, + { "shield_deadly", "RocksDC.pcx" }, + { "shield_deadly.xpos", "8" }, + { "shield_deadly.ypos", "1" }, + { "shield_deadly.frames", "6" }, - { "shield_passive", "RocksDC.pcx" }, - { "shield_passive.xpos", "8" }, - { "shield_passive.ypos", "2" }, - { "shield_passive.frames", "6" }, + { "shield_normal", "RocksDC.pcx" }, + { "shield_normal.xpos", "8" }, + { "shield_normal.ypos", "2" }, + { "shield_normal.frames", "6" }, { "switchgate_closed", "RocksDC.pcx" }, { "switchgate_closed.xpos", "8" }, @@ -1901,26 +2011,26 @@ struct ConfigInfo image_config[] = { "balloon.moving.frames", "4" }, { "balloon.moving.pingpong", "1" }, - { "balloon_windrose_left", "RocksDC.pcx" }, - { "balloon_windrose_left.xpos", "8" }, - { "balloon_windrose_left.ypos", "7" }, - { "balloon_windrose_left.frames", "1" }, - { "balloon_windrose_right", "RocksDC.pcx" }, - { "balloon_windrose_right.xpos", "9" }, - { "balloon_windrose_right.ypos", "7" }, - { "balloon_windrose_right.frames", "1" }, - { "balloon_windrose_up", "RocksDC.pcx" }, - { "balloon_windrose_up.xpos", "10" }, - { "balloon_windrose_up.ypos", "7" }, - { "balloon_windrose_up.frames", "1" }, - { "balloon_windrose_down", "RocksDC.pcx" }, - { "balloon_windrose_down.xpos", "11" }, - { "balloon_windrose_down.ypos", "7" }, - { "balloon_windrose_down.frames", "1" }, - { "balloon_windrose_all", "RocksDC.pcx" }, - { "balloon_windrose_all.xpos", "7" }, - { "balloon_windrose_all.ypos", "0" }, - { "balloon_windrose_all.frames", "1" }, + { "balloon_send_left", "RocksDC.pcx" }, + { "balloon_send_left.xpos", "8" }, + { "balloon_send_left.ypos", "7" }, + { "balloon_send_left.frames", "1" }, + { "balloon_send_right", "RocksDC.pcx" }, + { "balloon_send_right.xpos", "9" }, + { "balloon_send_right.ypos", "7" }, + { "balloon_send_right.frames", "1" }, + { "balloon_send_up", "RocksDC.pcx" }, + { "balloon_send_up.xpos", "10" }, + { "balloon_send_up.ypos", "7" }, + { "balloon_send_up.frames", "1" }, + { "balloon_send_down", "RocksDC.pcx" }, + { "balloon_send_down.xpos", "11" }, + { "balloon_send_down.ypos", "7" }, + { "balloon_send_down.frames", "1" }, + { "balloon_send_any_direction", "RocksDC.pcx" }, + { "balloon_send_any_direction.xpos", "7" }, + { "balloon_send_any_direction.ypos", "0" }, + { "balloon_send_any_direction.frames", "1" }, { "emc_steelwall1", "RocksDC.pcx" }, { "emc_steelwall1.xpos", "14" }, @@ -2108,18 +2218,14 @@ struct ConfigInfo image_config[] = { "tube_left_up.ypos", "7" }, { "tube_left_up.frames", "1" }, - { "trap_inactive", "RocksMore.pcx" }, - { "trap_inactive.xpos", "4" }, - { "trap_inactive.ypos", "0" }, - { "trap_inactive.frames", "1" }, - { "trap_active", "RocksMore.pcx" }, - { "trap_active.xpos", "7" }, - { "trap_active.ypos", "0" }, - { "trap_active.frames", "1" }, - { "trap.activating", "RocksMore.pcx" }, - { "trap.activating.xpos", "4" }, - { "trap.activating.ypos", "0" }, - { "trap.activating.frames", "4" }, + { "trap", "RocksMore.pcx" }, + { "trap.xpos", "4" }, + { "trap.ypos", "0" }, + { "trap.frames", "1" }, + { "trap.active", "RocksMore.pcx" }, + { "trap.active.xpos", "4" }, + { "trap.active.ypos", "0" }, + { "trap.active.frames", "4" }, { "bd_wall", "RocksMore.pcx" }, { "bd_wall.xpos", "4" }, @@ -2139,29 +2245,12 @@ struct ConfigInfo image_config[] = { "bd_rock.pushing.ypos", "2" }, { "bd_rock.pushing.frames", "4" }, - { "dx_bomb", "RocksMore.pcx" }, - { "dx_bomb.xpos", "7" }, - { "dx_bomb.ypos", "1" }, - { "dx_bomb.frames", "1" }, - -#if 0 - { "", "RocksMore.pcx" }, - { ".xpos", "" }, - { ".ypos", "" }, - { ".frames", "" }, -#endif - -#if 0 - /* images for Boulder Dash style elements and actions */ - { "bd_diamond", "bd_diamond.pcx" }, - { "bd_diamond.frame_xpos", "0" }, - { "bd_diamond.num_frames", "1" }, - { "robot_wheel", "bd_diamond.pcx" }, - { "robot_wheel.frame_xpos", "0" }, - { "robot_wheel.num_frames", "4" }, -#endif + { "dx_supabomb", "RocksMore.pcx" }, + { "dx_supabomb.xpos", "7" }, + { "dx_supabomb.ypos", "1" }, + { "dx_supabomb.frames", "1" }, - { NULL, NULL } + { NULL, NULL } }; struct ConfigInfo sound_config[] = @@ -2174,8 +2263,8 @@ struct ConfigInfo sound_config[] = { "bd_rock.pushing", "pusch.wav" }, { "bd_rock.impact", "klopf.wav" }, { "bd_magic_wall.activating", "quirk.wav" }, + { "bd_magic_wall.active", "miep.wav" }, { "bd_magic_wall.changing", "quirk.wav" }, - { "bd_magic_wall.running", "miep.wav" }, { "bd_amoeba.waiting", SND_FILE_UNDEFINED }, { "bd_amoeba.creating", "amoebe.wav" }, { "bd_amoeba.turning_to_gem", "pling.wav" }, @@ -2184,13 +2273,13 @@ struct ConfigInfo sound_config[] = { "bd_butterfly.waiting", "klapper.wav" }, { "bd_firefly.moving", "roehr.wav" }, { "bd_firefly.waiting", "roehr.wav" }, - { "bd_exit.entering", "buing.wav" }, + { "bd_exit.passing", "buing.wav" }, /* sounds for Supaplex style elements and actions */ { "sp_empty_space.digging", "empty.wav" }, { "sp_base.digging", "base.wav" }, { "sp_buggy_base.digging", "base.wav" }, - { "sp_buggy_base.activating", "bug.wav" }, + { "sp_buggy_base.active", "bug.wav" }, { "sp_infotron.collecting", "infotron.wav" }, { "sp_infotron.impact", "pling.wav" }, { "sp_zonk.pushing", "zonkpush.wav" }, @@ -2199,18 +2288,20 @@ struct ConfigInfo sound_config[] = { "sp_disk_orange.pushing", "zonkpush.wav" }, { "sp_disk_yellow.pushing", "pusch.wav" }, { "sp_port.passing", "gate.wav" }, - { "sp_exit.entering", "exit.wav" }, + { "sp_exit.passing", "exit.wav" }, + { "sp_exit.opening", SND_FILE_UNDEFINED }, { "sp_element.exploding", "booom.wav" }, { "sp_sniksnak.moving", SND_FILE_UNDEFINED }, { "sp_sniksnak.waiting", SND_FILE_UNDEFINED }, { "sp_electron.moving", SND_FILE_UNDEFINED }, { "sp_electron.waiting", SND_FILE_UNDEFINED }, { "sp_terminal.activating", SND_FILE_UNDEFINED }, + { "sp_terminal.active", SND_FILE_UNDEFINED }, /* sounds for Sokoban style elements and actions */ { "sokoban_object.pushing", "pusch.wav" }, { "sokoban_field.filling", "deng.wav" }, - { "sokoban_field.clearing", SND_FILE_UNDEFINED }, + { "sokoban_field.emptying", SND_FILE_UNDEFINED }, { "sokoban_game.solving", "buing.wav" }, /* sounds for Emerald Mine style elements and actions */ @@ -2228,8 +2319,8 @@ struct ConfigInfo sound_config[] = { "nut.cracking", "knack.wav" }, { "nut.impact", "klumpf.wav" }, { "dynamite.collecting", "pong.wav" }, - { "dynamite.placing", "deng.wav" }, - { "dynamite.burning", "zisch.wav" }, + { "dynamite.dropping", "deng.wav" }, + { "dynamite.active", "zisch.wav" }, { "key.collecting", "pong.wav" }, { "gate.passing", "gate.wav" }, { "bug.moving", "klapper.wav" }, @@ -2238,23 +2329,23 @@ struct ConfigInfo sound_config[] = { "spaceship.waiting", "roehr.wav" }, { "yamyam.moving", SND_FILE_UNDEFINED }, { "yamyam.waiting", "njam.wav" }, - { "yamyam.eating_diamond", SND_FILE_UNDEFINED }, + { "yamyam.eating", SND_FILE_UNDEFINED }, { "robot.stepping", "schlurf.wav" }, { "robot.waiting", SND_FILE_UNDEFINED }, { "robot_wheel.activating", "deng.wav" }, - { "robot_wheel.running", "miep.wav" }, + { "robot_wheel.active", "miep.wav" }, { "magic_wall.activating", "quirk.wav" }, + { "magic_wall.active", "miep.wav" }, { "magic_wall.changing", "quirk.wav" }, - { "magic_wall.running", "miep.wav" }, { "amoeba.waiting", SND_FILE_UNDEFINED }, { "amoeba.creating", "amoebe.wav" }, - { "amoeba.dropping", SND_FILE_UNDEFINED }, + { "amoeba_drop.creating", SND_FILE_UNDEFINED }, { "acid.splashing", "blurb.wav" }, { "quicksand.filling", SND_FILE_UNDEFINED }, - { "quicksand.slipping_through", SND_FILE_UNDEFINED }, + { "quicksand.slipping", SND_FILE_UNDEFINED }, { "quicksand.emptying", SND_FILE_UNDEFINED }, { "exit.opening", "oeffnen.wav" }, - { "exit.entering", "buing.wav" }, + { "exit.passing", "buing.wav" }, /* sounds for Emerald Mine Club style elements and actions */ { "balloon.moving", SND_FILE_UNDEFINED }, @@ -2274,25 +2365,26 @@ struct ConfigInfo sound_config[] = { "crystal.impact", "pling.wav" }, { "envelope.collecting", "pong.wav" }, { "sand_invisible.digging", "schlurf.wav" }, - { "shield_passive.collecting", "pong.wav" }, - { "shield_passive.activated", SND_FILE_UNDEFINED }, - { "shield_active.collecting", "pong.wav" }, - { "shield_active.activated", SND_FILE_UNDEFINED }, + { "shield_normal.collecting", "pong.wav" }, + { "shield_normal.active", SND_FILE_UNDEFINED }, + { "shield_deadly.collecting", "pong.wav" }, + { "shield_deadly.active", SND_FILE_UNDEFINED }, { "extra_time.collecting", "gong.wav" }, { "mole.moving", SND_FILE_UNDEFINED }, { "mole.waiting", SND_FILE_UNDEFINED }, - { "mole.eating_amoeba", "blurb.wav" }, + { "mole.eating", "blurb.wav" }, { "switchgate_switch.activating", SND_FILE_UNDEFINED }, { "switchgate.opening", "oeffnen.wav" }, { "switchgate.closing", "oeffnen.wav" }, { "switchgate.passing", "gate.wav" }, - { "timegate_wheel.activating", "deng.wav" }, - { "timegate_wheel.running", "miep.wav" }, + { "timegate_switch.activating", "deng.wav" }, + { "timegate_switch.active", "miep.wav" }, { "timegate.opening", "oeffnen.wav" }, { "timegate.closing", "oeffnen.wav" }, { "timegate.passing", "gate.wav" }, { "conveyor_belt_switch.activating", SND_FILE_UNDEFINED }, - { "conveyor_belt.running", SND_FILE_UNDEFINED }, + { "conveyor_belt_switch.deactivating",SND_FILE_UNDEFINED }, + { "conveyor_belt.active", SND_FILE_UNDEFINED }, { "light_switch.activating", SND_FILE_UNDEFINED }, { "light_switch.deactivating", SND_FILE_UNDEFINED }, @@ -2309,8 +2401,8 @@ struct ConfigInfo sound_config[] = { "dynabomb_nr.collecting", "pong.wav" }, { "dynabomb_sz.collecting", "pong.wav" }, { "dynabomb_xl.collecting", "pong.wav" }, - { "dynabomb.placing", "deng.wav" }, - { "dynabomb.burning", "zisch.wav" }, + { "dynabomb.dropping", "deng.wav" }, + { "dynabomb.active", "zisch.wav" }, { "satellite.moving", SND_FILE_UNDEFINED }, { "satellite.waiting", SND_FILE_UNDEFINED }, { "satellite.pushing", "pusch.wav" }, @@ -2326,16 +2418,16 @@ struct ConfigInfo sound_config[] = { "biomaze.creating", "amoebe.wav" }, { "pacman.moving", SND_FILE_UNDEFINED }, { "pacman.waiting", SND_FILE_UNDEFINED }, - { "pacman.eating_amoeba", SND_FILE_UNDEFINED }, + { "pacman.eating", SND_FILE_UNDEFINED }, { "dark_yamyam.moving", SND_FILE_UNDEFINED }, { "dark_yamyam.waiting", "njam.wav" }, - { "dark_yamyam.eating_any", SND_FILE_UNDEFINED }, + { "dark_yamyam.eating", SND_FILE_UNDEFINED }, { "penguin.moving", SND_FILE_UNDEFINED }, { "penguin.waiting", SND_FILE_UNDEFINED }, - { "penguin.entering_exit", "buing.wav" }, + { "penguin.passing_exit", "buing.wav" }, { "pig.moving", SND_FILE_UNDEFINED }, { "pig.waiting", SND_FILE_UNDEFINED }, - { "pig.eating_gem", SND_FILE_UNDEFINED }, + { "pig.eating", SND_FILE_UNDEFINED }, { "dragon.moving", SND_FILE_UNDEFINED }, { "dragon.waiting", SND_FILE_UNDEFINED }, { "dragon.attacking", SND_FILE_UNDEFINED }, @@ -2654,7 +2746,7 @@ struct ElementInfo element_info[MAX_ELEMENTS] = { "gate", "white door" }, /* 260 */ { "gate", "gray door (opened by white key)"}, { "key", "white key" }, - { "shield_passive", "shield (passive)" }, + { "shield_normal", "shield (normal)" }, { "extra_time", "extra time" }, { "switchgate", "switch gate (open)" }, { "switchgate", "switch gate (closed)" }, @@ -2712,14 +2804,14 @@ struct ElementInfo element_info[MAX_ELEMENTS] = { NULL, "dx unknown 42" }, { NULL, "-" }, { NULL, "-" }, /* 320 */ - { "shield_active", "shield (active, kills enemies)"}, + { "shield_deadly", "shield (deadly, kills enemies)"}, { "timegate", "time gate (open)" }, { "timegate", "time gate (closed)" }, - { "timegate_wheel", "switch for time gate" }, - { "timegate_wheel", "switch for time gate" }, + { "timegate_switch", "switch for time gate" }, + { "timegate_switch", "switch for time gate" }, { "balloon", "balloon" }, - { "wall", "send balloon to the left" }, - { "wall", "send balloon to the right" }, + { "balloon_switch", "send balloon to the left" }, + { "balloon_switch", "send balloon to the right" }, { "balloon_switch", "send balloon up" }, { "balloon_switch", "send balloon down" }, /* 330 */ { "balloon_switch", "send balloon in any direction" }, @@ -2757,6 +2849,7 @@ struct ElementInfo element_info[MAX_ELEMENTS] = }; struct GraphicInfo graphic_info[MAX_GRAPHICS]; +struct NewGraphicInfo new_graphic_info[NUM_IMAGE_FILES]; /* ========================================================================= */