X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Finit.c;h=e451d99ef862f9cd2d09d081c1ce136e0f8483db;hb=refs%2Fheads%2Fmaster-next-major-release;hp=93d77928411fe907bb5ee88b3822c400cb5217e2;hpb=33aea5bc32e267538f3993b27774c636211bca1d;p=rocksndiamonds.git diff --git a/src/init.c b/src/init.c index 93d77928..e451d99e 100644 --- a/src/init.c +++ b/src/init.c @@ -1155,8 +1155,8 @@ static void InitElementGraphicInfo(void) // look for special default action graphic (classic game specific) if (IS_BD_ELEMENT(i) && element_info[EL_BD_DEFAULT].graphic[act] != -1) default_action_graphic = element_info[EL_BD_DEFAULT].graphic[act]; - if (IS_BD_NATIVE_ELEMENT(i) && element_info[EL_BD_NATIVE_DEFAULT].graphic[act] != -1) - default_action_graphic = element_info[EL_BD_NATIVE_DEFAULT].graphic[act]; + if (IS_BDX_ELEMENT(i) && element_info[EL_BDX_DEFAULT].graphic[act] != -1) + default_action_graphic = element_info[EL_BDX_DEFAULT].graphic[act]; if (IS_SP_ELEMENT(i) && element_info[EL_SP_DEFAULT].graphic[act] != -1) default_action_graphic = element_info[EL_SP_DEFAULT].graphic[act]; if (IS_SB_ELEMENT(i) && element_info[EL_SB_DEFAULT].graphic[act] != -1) @@ -1166,8 +1166,8 @@ static void InitElementGraphicInfo(void) if (IS_BD_ELEMENT(i) && element_info[EL_BD_DEFAULT].crumbled[act] != -1) default_action_crumbled = element_info[EL_BD_DEFAULT].crumbled[act]; - if (IS_BD_NATIVE_ELEMENT(i) && element_info[EL_BD_NATIVE_DEFAULT].crumbled[act] != -1) - default_action_crumbled = element_info[EL_BD_NATIVE_DEFAULT].crumbled[act]; + if (IS_BDX_ELEMENT(i) && element_info[EL_BDX_DEFAULT].crumbled[act] != -1) + default_action_crumbled = element_info[EL_BDX_DEFAULT].crumbled[act]; if (IS_SP_ELEMENT(i) && element_info[EL_SP_DEFAULT].crumbled[act] != -1) default_action_crumbled = element_info[EL_SP_DEFAULT].crumbled[act]; if (IS_SB_ELEMENT(i) && element_info[EL_SB_DEFAULT].crumbled[act] != -1) @@ -2170,8 +2170,8 @@ static void InitElementSoundInfo(void) // look for special default action sound (classic game specific) if (IS_BD_ELEMENT(i) && element_info[EL_BD_DEFAULT].sound[act] != -1) default_action_sound = element_info[EL_BD_DEFAULT].sound[act]; - if (IS_BD_NATIVE_ELEMENT(i) && element_info[EL_BD_NATIVE_DEFAULT].sound[act] != -1) - default_action_sound = element_info[EL_BD_NATIVE_DEFAULT].sound[act]; + if (IS_BDX_ELEMENT(i) && element_info[EL_BDX_DEFAULT].sound[act] != -1) + default_action_sound = element_info[EL_BDX_DEFAULT].sound[act]; if (IS_SP_ELEMENT(i) && element_info[EL_SP_DEFAULT].sound[act] != -1) default_action_sound = element_info[EL_SP_DEFAULT].sound[act]; if (IS_SB_ELEMENT(i) && element_info[EL_SB_DEFAULT].sound[act] != -1) @@ -4305,16 +4305,17 @@ void InitElementPropertiesStatic(void) EL_AMOEBA_DRY, EL_AMOEBA_FULL, EL_BD_AMOEBA, - EL_BD_AMOEBA_2, - EL_BD_SLIME, - EL_BD_ACID, - EL_BD_BITER, - EL_BD_BITER_RIGHT, - EL_BD_BITER_UP, - EL_BD_BITER_LEFT, - EL_BD_BITER_DOWN, - EL_BD_BLADDER, - EL_BD_NUT, + EL_BDX_AMOEBA_1, + EL_BDX_AMOEBA_2, + EL_BDX_SLIME, + EL_BDX_ACID, + EL_BDX_BITER, + EL_BDX_BITER_RIGHT, + EL_BDX_BITER_UP, + EL_BDX_BITER_LEFT, + EL_BDX_BITER_DOWN, + EL_BDX_BLADDER, + EL_BDX_NUT, EL_EMC_MAGIC_BALL, EL_EMC_ANDROID, EL_MM_GRAY_BALL, @@ -4610,8 +4611,8 @@ void InitElementPropertiesStatic(void) static int ep_editor_cascade_active[] = { EL_INTERNAL_CASCADE_BD_ACTIVE, - EL_INTERNAL_CASCADE_BD_NATIVE_ACTIVE, - EL_INTERNAL_CASCADE_BD_EFFECTS_ACTIVE, + EL_INTERNAL_CASCADE_BDX_ACTIVE, + EL_INTERNAL_CASCADE_BDX_EFFECTS_ACTIVE, EL_INTERNAL_CASCADE_EM_ACTIVE, EL_INTERNAL_CASCADE_EMC_ACTIVE, EL_INTERNAL_CASCADE_RND_ACTIVE, @@ -4636,8 +4637,8 @@ void InitElementPropertiesStatic(void) static int ep_editor_cascade_inactive[] = { EL_INTERNAL_CASCADE_BD, - EL_INTERNAL_CASCADE_BD_NATIVE, - EL_INTERNAL_CASCADE_BD_EFFECTS, + EL_INTERNAL_CASCADE_BDX, + EL_INTERNAL_CASCADE_BDX_EFFECTS, EL_INTERNAL_CASCADE_EM, EL_INTERNAL_CASCADE_EMC, EL_INTERNAL_CASCADE_RND, @@ -5195,6 +5196,7 @@ static void InitGlobal(void) global.autoplay_leveldir = NULL; global.patchtapes_leveldir = NULL; global.convert_leveldir = NULL; + global.dumplevelset_leveldir = NULL; global.dumplevel_leveldir = NULL; global.dumptape_leveldir = NULL; global.create_sketch_images_dir = NULL; @@ -5306,6 +5308,23 @@ static void Execute_Command(char *command) exit(0); } + else if (strPrefix(command, "dump levelset ")) + { + char *filename = &command[14]; + + if (fileExists(filename) && isLevelsetFilename_BD(filename)) + { + DumpLevelsetFromFilename_BD(filename); + + exit(0); + } + + char *leveldir = getStringCopy(filename); // read command parameters + + global.dumplevelset_leveldir = leveldir; + + program.headless = TRUE; + } else if (strPrefix(command, "dump level ")) { char *filename = &command[11]; @@ -6690,6 +6709,11 @@ void OpenAll(void) ConvertLevels(); return; } + else if (global.dumplevelset_leveldir) + { + DumpLevelset(); + return; + } else if (global.dumplevel_leveldir) { DumpLevels(); @@ -6728,6 +6752,9 @@ void OpenAll(void) DrawMainMenu(); + if (options.drop_file != NULL) + PushDropEvent(options.drop_file); + #if 0 Debug("internal:path", "SDL_GetBasePath() == '%s'", SDL_GetBasePath());