X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Finit.c;h=6276e5bca5d80a22968c84ba2b5e3c638b165003;hb=adaabca253f2e76597725cdc86fc1fff6f0de1d2;hp=3e98c552d03ea72f4d3ea73a77ce096f1e97f535;hpb=a35852e106072656e444202e672d050ebff03abb;p=rocksndiamonds.git diff --git a/src/init.c b/src/init.c index 3e98c552..6276e5bc 100644 --- a/src/init.c +++ b/src/init.c @@ -111,7 +111,7 @@ void InitLevelAndPlayerInfo() LoadLevelInfo(); /* global level info */ LoadSetup(); /* global setup info */ LoadLevelSetup_LastSeries(); /* last played series info */ - LoadLevelSetup_SeriesInfo(leveldir_nr); /* last played level info */ + LoadLevelSetup_SeriesInfo(); /* last played level info */ } void InitNetworkServer() @@ -875,7 +875,18 @@ void InitElementProperties() EL_SWITCHGATE_OPEN, EL_SWITCHGATE_CLOSED, EL_TIMEGATE_OPEN, - EL_TIMEGATE_CLOSED + EL_TIMEGATE_CLOSED, + EL_TUBE_CROSS, + EL_TUBE_VERTICAL, + EL_TUBE_HORIZONTAL, + EL_TUBE_VERT_LEFT, + EL_TUBE_VERT_RIGHT, + EL_TUBE_HORIZ_UP, + EL_TUBE_HORIZ_DOWN, + EL_TUBE_LEFT_UP, + EL_TUBE_LEFT_DOWN, + EL_TUBE_RIGHT_UP, + EL_TUBE_RIGHT_DOWN }; static int ep_pforte_num = sizeof(ep_pforte)/sizeof(int); @@ -887,6 +898,7 @@ void InitElementProperties() EL_MAUER_X, EL_MAUER_Y, EL_MAUER_XY, + EL_BD_WALL, EL_FELSBODEN, EL_AUSGANG_ZU, EL_AUSGANG_ACT, @@ -974,7 +986,21 @@ void InitElementProperties() EL_EMC_WALL_5, EL_EMC_WALL_6, EL_EMC_WALL_7, - EL_EMC_WALL_8 + EL_EMC_WALL_8, + EL_CRYSTAL, + EL_WALL_PEARL, + EL_WALL_CRYSTAL, + EL_TUBE_CROSS, + EL_TUBE_VERTICAL, + EL_TUBE_HORIZONTAL, + EL_TUBE_VERT_LEFT, + EL_TUBE_VERT_RIGHT, + EL_TUBE_HORIZ_UP, + EL_TUBE_HORIZ_DOWN, + EL_TUBE_LEFT_UP, + EL_TUBE_LEFT_DOWN, + EL_TUBE_RIGHT_UP, + EL_TUBE_RIGHT_DOWN }; static int ep_solid_num = sizeof(ep_solid)/sizeof(int); @@ -1049,14 +1075,28 @@ void InitElementProperties() EL_EMC_STEEL_WALL_1, EL_EMC_STEEL_WALL_2, EL_EMC_STEEL_WALL_3, - EL_EMC_STEEL_WALL_4 + EL_EMC_STEEL_WALL_4, + EL_CRYSTAL, + EL_TUBE_CROSS, + EL_TUBE_VERTICAL, + EL_TUBE_HORIZONTAL, + EL_TUBE_VERT_LEFT, + EL_TUBE_VERT_RIGHT, + EL_TUBE_HORIZ_UP, + EL_TUBE_HORIZ_DOWN, + EL_TUBE_LEFT_UP, + EL_TUBE_LEFT_DOWN, + EL_TUBE_RIGHT_UP, + EL_TUBE_RIGHT_DOWN }; static int ep_massive_num = sizeof(ep_massive)/sizeof(int); static int ep_slippery[] = { EL_FELSBODEN, + EL_BD_WALL, EL_FELSBROCKEN, + EL_BD_ROCK, EL_EDELSTEIN, EL_EDELSTEIN_BD, EL_EDELSTEIN_GELB, @@ -1082,7 +1122,9 @@ void InitElementProperties() EL_SP_CHIP_UPPER, EL_SP_CHIP_LOWER, EL_SPEED_PILL, - EL_STEEL_SLANTED + EL_STEEL_SLANTED, + EL_PEARL, + EL_CRYSTAL }; static int ep_slippery_num = sizeof(ep_slippery)/sizeof(int); @@ -1130,6 +1172,7 @@ void InitElementProperties() EL_MAUER_Y, EL_MAUER_XY, EL_MAUERND, + EL_BD_WALL, EL_SP_CHIP_SINGLE, EL_SP_CHIP_LEFT, EL_SP_CHIP_RIGHT, @@ -1168,6 +1211,7 @@ void InitElementProperties() static int ep_can_fall[] = { EL_FELSBROCKEN, + EL_BD_ROCK, EL_EDELSTEIN, EL_EDELSTEIN_BD, EL_EDELSTEIN_GELB, @@ -1184,13 +1228,18 @@ void InitElementProperties() EL_ZEIT_LEER, EL_SP_ZONK, EL_SP_INFOTRON, - EL_SP_DISK_ORANGE + EL_SP_DISK_ORANGE, + EL_PEARL, + EL_CRYSTAL, + EL_SPRING, + EL_DX_SUPABOMB }; static int ep_can_fall_num = sizeof(ep_can_fall)/sizeof(int); static int ep_can_smash[] = { EL_FELSBROCKEN, + EL_BD_ROCK, EL_EDELSTEIN, EL_EDELSTEIN_BD, EL_EDELSTEIN_GELB, @@ -1212,13 +1261,18 @@ void InitElementProperties() EL_ZEIT_LEER, EL_SP_ZONK, EL_SP_INFOTRON, - EL_SP_DISK_ORANGE + EL_SP_DISK_ORANGE, + EL_PEARL, + EL_CRYSTAL, + EL_SPRING, + EL_DX_SUPABOMB }; static int ep_can_smash_num = sizeof(ep_can_smash)/sizeof(int); static int ep_can_change[] = { EL_FELSBROCKEN, + EL_BD_ROCK, EL_EDELSTEIN, EL_EDELSTEIN_BD, EL_EDELSTEIN_GELB, @@ -1245,7 +1299,8 @@ void InitElementProperties() EL_SONDE, EL_SP_SNIKSNAK, EL_SP_ELECTRON, - EL_BALLOON + EL_BALLOON, + EL_SPRING_MOVING }; static int ep_can_move_num = sizeof(ep_can_move)/sizeof(int); @@ -1298,6 +1353,7 @@ void InitElementProperties() EL_SP_SNIKSNAK, EL_SP_ELECTRON, EL_SP_BUG_ACTIVE, + EL_TRAP_ACTIVE, EL_LANDMINE }; static int ep_dont_go_to_num = sizeof(ep_dont_go_to)/sizeof(int); @@ -1323,7 +1379,9 @@ void InitElementProperties() EL_EDELSTEIN_GELB, EL_EDELSTEIN_ROT, EL_EDELSTEIN_LILA, - EL_DIAMANT + EL_DIAMANT, + EL_PEARL, + EL_CRYSTAL }; static int ep_mampf2_num = sizeof(ep_mampf2)/sizeof(int); @@ -1332,7 +1390,9 @@ void InitElementProperties() EL_LEERRAUM, EL_ERDREICH, EL_FELSBODEN, + EL_BD_WALL, EL_FELSBROCKEN, + EL_BD_ROCK, EL_EDELSTEIN_BD, EL_SIEB2_INAKTIV, EL_AUSGANG_ZU, @@ -1383,6 +1443,7 @@ void InitElementProperties() EL_LEERRAUM, EL_ERDREICH, EL_MAUERWERK, + EL_BD_WALL, EL_FELSBODEN, EL_SCHLUESSEL, EL_BETON, @@ -1536,7 +1597,8 @@ void InitElementProperties() EL_SP_DISK_ORANGE, EL_SP_DISK_YELLOW, EL_SP_SNIKSNAK, - EL_SP_ELECTRON + EL_SP_ELECTRON, + EL_DX_SUPABOMB }; static int ep_explosive_num = sizeof(ep_explosive)/sizeof(int); @@ -1547,13 +1609,16 @@ void InitElementProperties() EL_EDELSTEIN_GELB, EL_EDELSTEIN_ROT, EL_EDELSTEIN_LILA, - EL_DIAMANT + EL_DIAMANT, + EL_PEARL, + EL_CRYSTAL }; static int ep_mampf3_num = sizeof(ep_mampf3)/sizeof(int); static int ep_pushable[] = { EL_FELSBROCKEN, + EL_BD_ROCK, EL_BOMBE, EL_KOKOSNUSS, EL_ZEIT_LEER, @@ -1563,7 +1628,9 @@ void InitElementProperties() EL_SP_ZONK, EL_SP_DISK_ORANGE, EL_SP_DISK_YELLOW, - EL_BALLOON + EL_BALLOON, + EL_SPRING, + EL_DX_SUPABOMB }; static int ep_pushable_num = sizeof(ep_pushable)/sizeof(int); @@ -1592,6 +1659,7 @@ void InitElementProperties() EL_ERDREICH, EL_SP_BASE, EL_SP_BUG, + EL_TRAP_INACTIVE, EL_SAND_INVISIBLE }; static int ep_eatable_num = sizeof(ep_eatable)/sizeof(int); @@ -1681,7 +1749,18 @@ void InitElementProperties() EL_SP_PORT2_DOWN, EL_SP_PORT_X, EL_SP_PORT_Y, - EL_SP_PORT_XY + EL_SP_PORT_XY, + EL_TUBE_CROSS, + EL_TUBE_VERTICAL, + EL_TUBE_HORIZONTAL, + EL_TUBE_VERT_LEFT, + EL_TUBE_VERT_RIGHT, + EL_TUBE_HORIZ_UP, + EL_TUBE_HORIZ_DOWN, + EL_TUBE_LEFT_UP, + EL_TUBE_LEFT_DOWN, + EL_TUBE_RIGHT_UP, + EL_TUBE_RIGHT_DOWN }; static int ep_over_player_num = sizeof(ep_over_player)/sizeof(int); @@ -1729,6 +1808,22 @@ void InitElementProperties() }; static int ep_belt_switch_num = sizeof(ep_belt_switch)/sizeof(int); + static int ep_tube[] = + { + EL_TUBE_CROSS, + EL_TUBE_VERTICAL, + EL_TUBE_HORIZONTAL, + EL_TUBE_VERT_LEFT, + EL_TUBE_VERT_RIGHT, + EL_TUBE_HORIZ_UP, + EL_TUBE_HORIZ_DOWN, + EL_TUBE_LEFT_UP, + EL_TUBE_LEFT_DOWN, + EL_TUBE_RIGHT_UP, + EL_TUBE_RIGHT_DOWN + }; + static int ep_tube_num = sizeof(ep_tube)/sizeof(int); + static long ep1_bit[] = { EP_BIT_AMOEBALIVE, @@ -1766,7 +1861,8 @@ void InitElementProperties() static long ep2_bit[] = { EP_BIT_BELT, - EP_BIT_BELT_SWITCH + EP_BIT_BELT_SWITCH, + EP_BIT_TUBE }; static int *ep1_array[] = { @@ -1805,7 +1901,8 @@ void InitElementProperties() static int *ep2_array[] = { ep_belt, - ep_belt_switch + ep_belt_switch, + ep_tube }; static int *ep1_num[] = { @@ -1844,7 +1941,8 @@ void InitElementProperties() static int *ep2_num[] = { &ep_belt_num, - &ep_belt_switch_num + &ep_belt_switch_num, + &ep_tube_num }; static int num_properties1 = sizeof(ep1_num)/sizeof(int *); static int num_properties2 = sizeof(ep2_num)/sizeof(int *);