// init position, between mouse and player
dir = point_direction(obj_player.x,obj_player.y,mouse_x,mouse_y);
len = point_distance(obj_player.x,obj_player.y,mouse_x,mouse_y);
x = obj_player.x +lengthdir_x(len/2,dir);
y = obj_player.y +lengthdir_y(len/2,dir);
// keeping circular distance to player
dir = point_direction(obj_player.x,obj_player.y,x,y);
len = point_distance(obj_player.x,obj_player.y,x,y);
maxdist = 80;
if len > maxdist
{
x = obj_player.x +lengthdir_x(maxdist,dir);
y = obj_player.y +lengthdir_y(maxdist,dir);
}
// view centering, focus between both objects
view_xview[0] = (x+obj_player.x)/2 -(view_wview[0]/2);
view_yview[0] = (y+obj_player.y)/2 -(view_hview[0]/2);