X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Finit.c;h=2529a8baba97aa4f9b16bab81a2a764ae82ff1d9;hb=a3d3dca44696b194dbe3f49a97d8c92d92b42ecf;hp=9fb4b482d66be2d9191d6f8fc7ee52e182ce384e;hpb=2a706382e0b0f677253e24a4672facfe4059aa42;p=rocksndiamonds.git diff --git a/src/init.c b/src/init.c index 9fb4b482..2529a8ba 100644 --- a/src/init.c +++ b/src/init.c @@ -244,6 +244,10 @@ static void InitElementSmallImagesScaledUp(int graphic) { 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); } @@ -307,6 +311,10 @@ static void InitScaledImagesScaledUp(int graphic) { 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); } @@ -1147,6 +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_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) @@ -1156,6 +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_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) @@ -2158,6 +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_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) @@ -4291,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, @@ -4596,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, @@ -4622,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,