X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fmain.c;h=35ecbacae96654b4a5424a29f3f4f3a9e105621f;hb=ef9242bb9320d705010959ba11fdf697dc1e5b70;hp=7e197d453398aa64fb78683aee966b949f336f83;hpb=7344cb1d0c4fb6c05604d93fc7e99bc678c1937e;p=rocksndiamonds.git diff --git a/src/main.c b/src/main.c index 7e197d45..35ecbaca 100644 --- a/src/main.c +++ b/src/main.c @@ -34,6 +34,11 @@ int game_status = -1; boolean level_editor_test_game = FALSE; boolean network_playing = FALSE; +#if defined(TARGET_SDL) +boolean network_server = FALSE; +SDL_Thread *server_thread; +#endif + int key_joystick_mapping = 0; boolean redraw[MAX_BUF_XSIZE][MAX_BUF_YSIZE]; @@ -55,6 +60,7 @@ unsigned long Changed[MAX_LEV_FIELDX][MAX_LEV_FIELDY]; unsigned long ChangeEvent[MAX_LEV_FIELDX][MAX_LEV_FIELDY]; short WasJustMoving[MAX_LEV_FIELDX][MAX_LEV_FIELDY]; short WasJustFalling[MAX_LEV_FIELDX][MAX_LEV_FIELDY]; +short CheckCollision[MAX_LEV_FIELDX][MAX_LEV_FIELDY]; short AmoebaNr[MAX_LEV_FIELDX][MAX_LEV_FIELDY]; short AmoebaCnt[MAX_NUM_AMOEBA]; short AmoebaCnt2[MAX_NUM_AMOEBA]; @@ -116,7 +122,10 @@ SetupFileHash *helptext_info = NULL; /* element definitions */ /* ------------------------------------------------------------------------- */ -struct ElementInfo element_info[MAX_NUM_ELEMENTS + 1] = +struct ElementInfo element_info[MAX_NUM_ELEMENTS + 1]; + +/* this contains predefined structure elements to initialize "element_info" */ +struct ElementNameInfo element_name_info[MAX_NUM_ELEMENTS + 1] = { /* keyword to start parser: "ELEMENT_INFO_START" <-- do not change! */ @@ -3410,6 +3419,216 @@ struct ElementInfo element_info[MAX_NUM_ELEMENTS + 1] = "trigger", "player triggering change" }, + { + "sp_gravity_on_port_right", + "sp_port", + "gravity on port (leading right)" + }, + { + "sp_gravity_on_port_down", + "sp_port", + "gravity on port (leading down)" + }, + { + "sp_gravity_on_port_left", + "sp_port", + "gravity on port (leading left)" + }, + { + "sp_gravity_on_port_up", + "sp_port", + "gravity on port (leading up)" + }, + { + "sp_gravity_off_port_right", + "sp_port", + "gravity off port (leading right)" + }, + { + "sp_gravity_off_port_down", + "sp_port", + "gravity off port (leading down)" + }, + { + "sp_gravity_off_port_left", + "sp_port", + "gravity off port (leading left)" + }, + { + "sp_gravity_off_port_up", + "sp_port", + "gravity off port (leading up)" + }, + { + "balloon_switch_none", + "balloon_switch", + "stop moving balloon" + }, + { + "em_gate_5", + "gate", + "door 5 (EMC style)", + }, + { + "em_gate_6", + "gate", + "door 6 (EMC style)", + }, + { + "em_gate_7", + "gate", + "door 7 (EMC style)", + }, + { + "em_gate_8", + "gate", + "door 8 (EMC style)", + }, + { + "em_gate_5_gray", + "gate", + "gray door (EMC style, key 5)", + }, + { + "em_gate_6_gray", + "gate", + "gray door (EMC style, key 6)", + }, + { + "em_gate_7_gray", + "gate", + "gray door (EMC style, key 7)", + }, + { + "em_gate_8_gray", + "gate", + "gray door (EMC style, key 8)", + }, + { + "em_key_5", + "key", + "key 5 (EMC style)", + }, + { + "em_key_6", + "key", + "key 6 (EMC style)", + }, + { + "em_key_7", + "key", + "key 7 (EMC style)", + }, + { + "em_key_8", + "key", + "key 8 (EMC style)", + }, + { + "emc_android", + "emc_android", + "android", + }, + { + "emc_grass", + "emc_grass", + "grass", + }, + { + "emc_magic_ball", + "emc_magic_ball", + "magic ball", + }, + { + "emc_magic_ball_switch", + "emc_magic_ball_switch", + "magic ball switch", + }, + { + "emc_spring_bumper", + "emc_spring_bumper", + "spring bumper", + }, + { + "emc_plant", + "emc_plant", + "plant", + }, + { + "emc_lenses", + "emc_lenses", + "lenses", + }, + { + "emc_magnifier", + "emc_magnifier", + "magnifier", + }, + { + "emc_wall_9", + "wall", + "normal wall" + }, + { + "emc_wall_10", + "wall", + "normal wall" + }, + { + "emc_wall_11", + "wall", + "normal wall" + }, + { + "emc_wall_12", + "wall", + "normal wall" + }, + { + "emc_wall_13", + "wall", + "normal wall" + }, + { + "emc_wall_14", + "wall", + "normal wall" + }, + { + "emc_wall_15", + "wall", + "normal wall" + }, + { + "emc_wall_16", + "wall", + "normal wall" + }, + { + "emc_wall_slippery_1", + "wall", + "slippery wall" + }, + { + "emc_wall_slippery_2", + "wall", + "slippery wall" + }, + { + "emc_wall_slippery_3", + "wall", + "slippery wall" + }, + { + "emc_wall_slippery_4", + "wall", + "slippery wall" + }, + { + "emc_dripper", + "dripper", + "dripper" + }, /* ----------------------------------------------------------------------- */ /* "real" (and therefore drawable) runtime elements */ @@ -3870,6 +4089,11 @@ struct ElementInfo element_info[MAX_NUM_ELEMENTS + 1] = "internal", "empty custom element" }, + { + "internal_clipboard_change", + "internal", + "empty change page" + }, { "internal_clipboard_group", "internal", @@ -4100,7 +4324,7 @@ static void print_usage() " --serveronly only start network server\n" " -v, --verbose verbose mode\n" " --debug display debugging information\n" - " -e, --execute COMMAND execute batch COMMAND:\n" + " -e, --execute COMMAND execute batch COMMAND\n" "\n" "Valid commands for '--execute' option:\n" " \"print graphicsinfo.conf\" print default graphics config\n" @@ -4111,7 +4335,8 @@ static void print_usage() " \"print helptext.conf\" print default helptext config\n" " \"dump level FILE\" dump level data from FILE\n" " \"dump tape FILE\" dump tape data from FILE\n" - " \"autoplay LEVELDIR\" play level tapes for LEVELDIR\n" + " \"autoplay LEVELDIR [NR]\" play level tapes for LEVELDIR\n" + " \"convert LEVELDIR [NR]\" convert levels in LEVELDIR\n" "\n", program.command_basename); }