X-Git-Url: https://git.artsoft.org/?p=rocksndiamonds.git;a=blobdiff_plain;f=src%2Ftools.c;h=e1ff8140e3d56fbc44f8e30f050024072961a5d2;hp=63718a51c691b3e92d8ce743826fc3a2408150cf;hb=457e98ec0803cd9005a522018e7c255454d1e915;hpb=5956e2d3039c8f4f02cd97a75f3a655f2b383c25 diff --git a/src/tools.c b/src/tools.c index 63718a51..e1ff8140 100644 --- a/src/tools.c +++ b/src/tools.c @@ -3973,7 +3973,9 @@ static int RequestHandleEvents(unsigned int req_state) { if (level_solved) { - SetDrawtoField(DRAW_TO_FIELDBUFFER); + /* the MM game engine does not use a special (scrollable) field buffer */ + if (level.game_engine_type != GAME_ENGINE_TYPE_MM) + SetDrawtoField(DRAW_TO_FIELDBUFFER); HandleGameActions(); @@ -7394,6 +7396,24 @@ int map_element_MM_to_RND(int element_mm) EL_EMPTY); } +int map_action_MM_to_RND(int action_mm) +{ + /* all MM actions are defined to exactly match their RND counterparts */ + return action_mm; +} + +int map_sound_MM_to_RND(int sound_mm) +{ + switch (sound_mm) + { + case SND_MM_GAME_LEVELTIME_CHARGING: + return SND_GAME_LEVELTIME_CHARGING; + + default: + return SND_UNDEFINED; + } +} + int map_mm_wall_element(int element) { return (element >= EL_MM_STEEL_WALL_START &&