X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Ftools.c;h=151fd94b1f4baad0b403d3b5c72254d6fdb71f88;hb=29e6de4784938ea9f21d47edc97bbf971ca66d83;hp=fcc82f30f17919c995a146f877de3287c0607863;hpb=1a5c85211f0a5b74366d264260d464266afb208d;p=rocksndiamonds.git diff --git a/src/tools.c b/src/tools.c index fcc82f30..151fd94b 100644 --- a/src/tools.c +++ b/src/tools.c @@ -7230,12 +7230,56 @@ int map_action_SP_to_RND(int action_sp) int map_element_RND_to_MM(int element_rnd) { - return (element_rnd > 1000 ? element_rnd - 1000 : 0); + return (element_rnd >= EL_CHAR_START && + element_rnd <= EL_CHAR_END ? + EL_CHAR_START_NATIVE_MM + element_rnd - EL_CHAR_START : + + element_rnd >= EL_DF_START && + element_rnd <= EL_DF_END ? + EL_DF_START_NATIVE_MM + element_rnd - EL_DF_START : + + element_rnd >= EL_MM_START && + element_rnd <= EL_MM_END ? + EL_MM_START_NATIVE_MM + element_rnd - EL_MM_START : + + element_rnd >= EL_MM_RUNTIME_START && + element_rnd <= EL_MM_RUNTIME_END ? + EL_MM_RUNTIME_START_NATIVE_MM + element_rnd - EL_MM_RUNTIME_START : + + element_rnd >= EL_MM_DUMMY_START && + element_rnd <= EL_MM_DUMMY_END ? + EL_MM_DUMMY_START_NATIVE_MM + element_rnd - EL_MM_DUMMY_START : + + EL_EMPTY_NATIVE_MM); } int map_element_MM_to_RND(int element_mm) { - return 1000 + element_mm; + return (element_mm == EL_EMPTY_NATIVE_MM || + element_mm == EL_DF_EMPTY_NATIVE_MM ? + EL_EMPTY : + + element_mm >= EL_CHAR_START_NATIVE_MM && + element_mm <= EL_CHAR_END_NATIVE_MM ? + EL_CHAR_START + element_mm - EL_CHAR_START_NATIVE_MM : + + element_mm >= EL_DF_START_NATIVE_MM && + element_mm <= EL_DF_END_NATIVE_MM ? + EL_DF_START + element_mm - EL_DF_START_NATIVE_MM : + + element_mm >= EL_MM_START_NATIVE_MM && + element_mm <= EL_MM_END_NATIVE_MM ? + EL_MM_START + element_mm - EL_MM_START_NATIVE_MM : + + element_mm >= EL_MM_RUNTIME_START_NATIVE_MM && + element_mm <= EL_MM_RUNTIME_END_NATIVE_MM ? + EL_MM_RUNTIME_START + element_mm - EL_MM_RUNTIME_START_NATIVE_MM : + + element_mm >= EL_MM_DUMMY_START_NATIVE_MM && + element_mm <= EL_MM_DUMMY_END_NATIVE_MM ? + EL_MM_DUMMY_START + element_mm - EL_MM_DUMMY_START_NATIVE_MM : + + EL_EMPTY); } int get_next_element(int element) @@ -7258,6 +7302,11 @@ int get_next_element(int element) } } +int el2img_mm(int element_mm) +{ + return el2img(map_element_MM_to_RND(element_mm)); +} + int el_act_dir2img(int element, int action, int direction) { element = GFX_ELEMENT(element);