+ ClearPlayerMouseAction();
+}
+
+void SetPlayerMouseAction(int mx, int my, int button)
+{
+ int lx = getLevelFromScreenX(mx);
+ int ly = getLevelFromScreenY(my);
+
+ ClearPlayerMouseAction();
+
+ if (!IN_GFX_FIELD_PLAY(mx, my) || !IN_LEV_FIELD(lx, ly))
+ return;
+
+ local_player->mouse_action.lx = lx;
+ local_player->mouse_action.ly = ly;
+ local_player->mouse_action.button = button;
+
+ if (tape.recording && tape.pausing && tape.use_mouse)
+ {
+ /* prevent button release or motion events from un-pausing a paused game */
+ if (button && !motion_status)
+ TapeTogglePause(TAPE_TOGGLE_MANUAL);
+ }