_CameraMan = _this select 0
_Actor = _this select 1

; Get the Cameraman's postions
_CameraPos = getpos _CameraMan
_cmx = _CameraPos select 0
_cmy = _CameraPos select 1
_cmz = _CameraPos select 2

; Set the camera at the Cameraman
_cam = "camera" CamCreate [_cmx,_cmy,_cmz+2]

; Point the camera to a unit
_cam CamSetTarget _Actor
_cam CameraEffect ["Internal","Back"]

; Set the active camera
_cam CamCommit 0
@CamCommitted _cam

; Add Binocular view
CutRSC ["Binocular","Plain Down",100]
_Zoom = 0.7

#ZoomIn
; Zoom in
_zoom = _zoom - 0.01
; Set the Field of view
_cam CamSetFov _zoom
; Apply changes
_cam CamCommit 0
~0.01
? _zoom < 0.1 : goto "ZoomOutWait"
goto "ZoomIn"

#ZoomOutWait
; Force the unit to do a pushup!
_Actor PlayMove "FXStandDip"
~8

#ZoomOut
; Zoom out
_zoom = _zoom + 0.01
_cam CamSetFov _zoom
_cam CamCommit 0
~0.01
? _zoom > 0.7 : goto "Done"
goto "ZoomOut"

#Done
~2
; Give the control back to the player, and remove the binocular view
CutRSC ["Default","Plain Down",100]
_cam CameraEffect ["Terminate","Back"]
CamDestroy _cam
exit