{
struct GraphicInfo *g = &graphic_info[graphic];
+ // if graphic was cloned, scale cloned graphic
+ if (graphic_info[graphic].clone_from != -1)
+ graphic = graphic_info[graphic].clone_from;
+
// create small and game tile sized bitmaps (and scale up, if needed)
CreateImageWithSmallImages(graphic, g->scale_up_factor, g->tile_size);
}
{
struct GraphicInfo *g = &graphic_info[graphic];
+ // if graphic was cloned, scale cloned graphic
+ if (graphic_info[graphic].clone_from != -1)
+ graphic = graphic_info[graphic].clone_from;
+
ScaleImage(graphic, g->scale_up_factor);
}
// 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_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)
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_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)
// 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_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)
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,
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,
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,
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;
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];
gfx.override_level_music = FALSE;
// now check if this level set has definitions for custom elements
- if (setup.override_level_graphics == AUTO ||
- setup.override_level_sounds == AUTO ||
- setup.override_level_music == AUTO)
+ if (setup.override_level_graphics == STATE_AUTO ||
+ setup.override_level_sounds == STATE_AUTO ||
+ setup.override_level_music == STATE_AUTO)
redefined_ce_found =
(CheckArtworkTypeForRedefinedCustomElements(ARTWORK_TYPE_GRAPHICS) |
CheckArtworkTypeForRedefinedCustomElements(ARTWORK_TYPE_SOUNDS) |
if (redefined_ce_found)
{
- // this level set has CE definitions: change "AUTO" to "FALSE"
+ // this level set has CE definitions: change "MODE_AUTO" to "FALSE"
gfx.override_level_graphics = (setup.override_level_graphics == TRUE);
gfx.override_level_sounds = (setup.override_level_sounds == TRUE);
gfx.override_level_music = (setup.override_level_music == TRUE);
}
else
{
- // this level set has no CE definitions: change "AUTO" to "TRUE"
+ // this level set has no CE definitions: change "MODE_AUTO" to "TRUE"
gfx.override_level_graphics = (setup.override_level_graphics != FALSE);
gfx.override_level_sounds = (setup.override_level_sounds != FALSE);
gfx.override_level_music = (setup.override_level_music != FALSE);
ConvertLevels();
return;
}
+ else if (global.dumplevelset_leveldir)
+ {
+ DumpLevelset();
+ return;
+ }
else if (global.dumplevel_leveldir)
{
DumpLevels();
DrawMainMenu();
+ if (options.drop_file != NULL)
+ PushDropEvent(options.drop_file);
+
#if 0
Debug("internal:path", "SDL_GetBasePath() == '%s'",
SDL_GetBasePath());