FF SUITEArma 3 addons

Bezier cameras, local waves

Camera paths and gravity pulse internals

Presentation utilities with no gameplay side effects. Anyone can call them; they never change mission state.

FF_Cinematic 6 related functions

1. Camera paths

cameraPath takes keyframes of [positionASL, [dir,pitch,bank], [fov,weight]]. Weight is expanded into duplicate path samples, giving slow and fast segments without extra keys. The path is validated before an active camera is touched: fewer than two frames, more than 256 frames, non-numeric values or wrong element counts are rejected.

Movement runs in a per-frame handler using bezierInterpolation for position, rotation and FOV, with optional smooth-step easing. The last shot stays active on purpose; call [false] call FF_cinematic_fnc_cameraPath to release it. A new path replaces the active handler rather than stacking cameras.

2. Gravity pulse

gravityPulse accepts an object or an ASL position plus options: radius, speed, count, pause, debris, blur, shake, light and colour. It returns a loop identifier on the server; a call made on a client is sent to the server and returns an empty string. ["stop", id] call FF_cinematic_fnc_gravityPulse ends a loop, and an already emitted wave completes naturally.

server job → wave timing → local particles / light / blur / shake

Loops emit subsequent waves for joining players but never replay past waves. The effect applies no force, damage or freeze; missions combine it with gameplay separately.

3. Horror entry points

FF_horror_fnc_cameraPath and FF_horror_fnc_gravityPulse call these implementations. Eden and Zeus modules use them, so both names drive the same camera and pulse code.

4. Briefings, facecams and splash

Scene presentation is a set of small, independently usable services. None of them starts on its own: a mission registers a screen, plans a shot list or launches a sequence.

ServiceEntry pointWhat it owns
Physical briefing screenbriefingRegister(id, screen, slides, options) Slide deck, per-player selections, readiness roster, JIP metadata; paired with briefingUnregister.
Face camerasfacecamPlan then facecamStart Weighted appearances across scene blocks, staged positions, timed restoration of the participant and their seat.
Image-card sequencesplashStart(cards, onComplete, holdMusic) Full-screen cards with per-card hold and fades, monotonic timing, its own display and cleanup.
Scene drivingdriveScene(vehicle, destinationATL, description) Orders the vehicle's local AI crew to a destination without touching player control.

Slides are [heading, body, kind] with kind either text or ready; the ready kind shows the live readiness roster. Requests come from players through briefingRequest, are revalidated by briefingHandleRequest, and the shared state is published by briefingServerTick and briefingPublishSites, so late joiners see the same slide and roster.

Facecam staging saves the participant's position, direction and vehicle seat, moves them for the shot and restores them at the planned end time; facecamRestore accepts the expected generation and refuses to restore a newer session. splashStart can hold the native music director for the duration of the cards, and releases it on completion or cancellation.

Related functions

↑ Back to top