X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Ftools.c;h=b12c7ea62cbdc5a7b48b28d2dc55a14ef1d7e551;hb=5934610dc0048580758ec4b9c2d2a9c75e3a2615;hp=7c81b8f7748ba8f67339e8d784d6898371729a8d;hpb=a17bb502b568bb4ab585b9aff45b571ac724d52e;p=rocksndiamonds.git diff --git a/src/tools.c b/src/tools.c index 7c81b8f7..b12c7ea6 100644 --- a/src/tools.c +++ b/src/tools.c @@ -10163,6 +10163,31 @@ int el2edimg(int element) return element_info[element].special_graphic[GFX_SPECIAL_ARG_EDITOR]; } +int el2edimg_with_frame(int element, int *graphic, int *frame) +{ + element = GFX_ELEMENT(element); + + *graphic = element_info[element].special_graphic[GFX_SPECIAL_ARG_EDITOR]; + *frame = 0; + + if (*graphic == IMG_UNKNOWN) + { + // no graphic defined -- if BD style, try to get runtime ("effect") element graphics + // (normal BD style elements have graphics, but runtime ("effects") elements do not) + int element_bd = map_element_RND_to_BD_cave(element); + + if (element_bd != O_UNKNOWN) + { + struct GraphicInfo_BD *g_bd = &graphic_info_bd_object[element_bd][0]; + + *graphic = g_bd->graphic; + *frame = g_bd->frame; + } + } + + return *graphic; +} + int el2preimg(int element) { element = GFX_ELEMENT(element);