I have a similar issue, except no matter where i place the variable to store point_direction i get a result that doesnt work.
For example:
If i place the variable in the create event like so:
--- create event ---
facing = point_direction(x, y, mouse_x, mouse_y);
---------------------
and in the draw event have:
--- Draw Event ---
draw_self();
draw_sprite_ext(sSprite, 0, x, y, 1, 1, facing, c_white, 1);
---------------------
i get this result:
View attachment 33231
... a rotating sprite on top of a non-rotating sprite. I get it doesn't rotate as the create event doesn't update after creation so where ever my mouse points at the start is where the player points and is stuck there.
If i move the variable from the create event to the draw event the top sprite rotates towards the mouse but I still have the sprite underneath. Anything i do in the step event, ie, shoot a bullet, happens to the bottom sprite and not the rotating sprite, like so...
View attachment 33232
If i remove the variable and drop in image_angle it draws and works flawlessly, as below, albeit gets stuck in walls on rotation as known.
View attachment 33233