X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Ftools.c;h=4fe2668937485e97ab2235f780cd78a38a3947c3;hb=615a8c2934804dacec082ba713078d9fd7070b12;hp=31a555d67a2177b7fdc186f9dbe3989ed44f5829;hpb=d5224fde97c235c903f631a4eccb9904c2ddf9c3;p=rocksndiamonds.git diff --git a/src/tools.c b/src/tools.c index 31a555d6..4fe26689 100644 --- a/src/tools.c +++ b/src/tools.c @@ -1199,7 +1199,8 @@ static void DrawLevelFieldCrumbledSandExt(int x, int y, int graphic, int frame) element = (IN_LEV_FIELD(xx, yy) ? Feld[xx][yy] : EL_STEELWALL); - if (CAN_BE_CRUMBLED(element)) /* neighbour is of same type */ + /* check if neighbour field is of same type */ + if (CAN_BE_CRUMBLED(element)) continue; if (i == 1 || i == 2) @@ -2390,6 +2391,7 @@ int get_next_element(int element) int el_act_dir2img(int element, int action, int direction) { + element = GFX_ELEMENT(element); direction = MV_DIR_BIT(direction); return element_info[element].direction_graphic[action][direction]; @@ -2397,25 +2399,35 @@ int el_act_dir2img(int element, int action, int direction) int el_act2img(int element, int action) { + element = GFX_ELEMENT(element); + return element_info[element].graphic[action]; } int el_dir2img(int element, int direction) { + element = GFX_ELEMENT(element); + return el_act_dir2img(element, ACTION_DEFAULT, direction); } int el2img(int element) { + element = GFX_ELEMENT(element); + return element_info[element].graphic[ACTION_DEFAULT]; } int el2edimg(int element) { + element = GFX_ELEMENT(element); + return element_info[element].special_graphic[GFX_SPECIAL_ARG_EDITOR]; } int el2preimg(int element) { + element = GFX_ELEMENT(element); + return element_info[element].special_graphic[GFX_SPECIAL_ARG_PREVIEW]; }