added correcting playfield scroll position for EM engine
[rocksndiamonds.git] / src / game.c
index f366a36823529583faf4d0e570c77d3080410d4a..f4ae9303776da68ac2be4439c6b5ff651be2fe59 100644 (file)
@@ -4396,6 +4396,9 @@ void UpdateEngineValues(int actual_scroll_x, int actual_scroll_y,
 
   if (level.game_engine_type == GAME_ENGINE_TYPE_EM)
   {
+    actual_scroll_x = correctLevelPosX_EM(actual_scroll_x);
+    actual_scroll_y = correctLevelPosY_EM(actual_scroll_y);
+
     actual_player_x = correctLevelPosX_EM(actual_player_x);
     actual_player_y = correctLevelPosY_EM(actual_player_y);
   }
@@ -14859,8 +14862,11 @@ void PlayLevelSound_EM(int xx, int yy, int element_em, int sample)
 {
   int element = (element_em > -1 ? map_element_EM_to_RND_game(element_em) : 0);
   int offset = 0;
-  int x = xx - 1 - offset;
-  int y = yy - 1 - offset;
+  int x = xx - offset;
+  int y = yy - offset;
+
+  x = correctLevelPosX_EM(x);
+  y = correctLevelPosY_EM(y);
 
   switch (sample)
   {