From a04340b80f94fa3d95783b5b6fd499d94b37e9d5 Mon Sep 17 00:00:00 2001 From: dysonreturns <22199434-dysonreturns@users.noreply.gitlab.com> Date: Thu, 26 Jun 2025 06:42:34 -0700 Subject: [PATCH 1/2] Adds ActionObserverCameraMove.distance for wider Observers zoom-out --- sc2/client.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sc2/client.py b/sc2/client.py index 19247008..16915b6f 100644 --- a/sc2/client.py +++ b/sc2/client.py @@ -432,7 +432,7 @@ async def move_camera(self, position: Unit | Units | Point2 | Point3) -> None: ) ) - async def obs_move_camera(self, position: Unit | Units | Point2 | Point3) -> None: + async def obs_move_camera(self, position: Unit | Units | Point2 | Point3, distance: float = 0) -> None: """Moves observer camera to the target position. Only works when observing (e.g. watching the replay). :param position:""" @@ -444,7 +444,7 @@ async def obs_move_camera(self, position: Unit | Units | Point2 | Point3) -> Non await self._execute( obs_action=sc_pb.RequestObserverAction( actions=[ - sc_pb.ObserverAction(camera_move=sc_pb.ActionObserverCameraMove(world_pos=position.as_Point2D)) + sc_pb.ObserverAction(camera_move=sc_pb.ActionObserverCameraMove(world_pos=position.as_Point2D, distance=distance)) ] ) ) From d9623b64d02c28f85ce55770aa07a67d727a681c Mon Sep 17 00:00:00 2001 From: dysonreturns <22199434-dysonreturns@users.noreply.gitlab.com> Date: Thu, 26 Jun 2025 06:46:32 -0700 Subject: [PATCH 2/2] Adds ActionObserverCameraMove.distance to proto, enabling wide zoom-out --- sc2/client.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/sc2/client.py b/sc2/client.py index 16915b6f..0fbb4566 100644 --- a/sc2/client.py +++ b/sc2/client.py @@ -444,7 +444,9 @@ async def obs_move_camera(self, position: Unit | Units | Point2 | Point3, distan await self._execute( obs_action=sc_pb.RequestObserverAction( actions=[ - sc_pb.ObserverAction(camera_move=sc_pb.ActionObserverCameraMove(world_pos=position.as_Point2D, distance=distance)) + sc_pb.ObserverAction( + camera_move=sc_pb.ActionObserverCameraMove(world_pos=position.as_Point2D, distance=distance) + ) ] ) )