IMovieSystem

C++
struct IMovieSystem {
  enum ESequenceStopBehavior {
    eSSB_LeaveTime = 0,
    eSSB_GotoEndTime = 1,
    eSSB_GotoStartTime = 2
  };
};
File

IMovieSystem.h

Description
  • Movie System interface.

Main entrance point to engine movie capability. Enumerate available movies, update all movies, create animation nodes and tracks.

IMovieSystem::ESequenceStopBehavior Enumeration
C++
enum ESequenceStopBehavior {
  eSSB_LeaveTime = 0,
  eSSB_GotoEndTime = 1,
  eSSB_GotoStartTime = 2
};
File

IMovieSystem.h

Members
Members
Description
eSSB_LeaveTime = 0
When sequence is stopped it remains in last played time.
eSSB_GotoEndTime = 1
Default behavior in game, sequence is animated at end time before stop.
eSSB_GotoStartTime = 2
Default behavior in editor, sequence is animated at start time before stop.
IMovieSystem::~IMovieSystem Destructor
C++
virtual ~IMovieSystem();
IMovieSystem::AbortSequence Method
C++
virtual bool AbortSequence(IAnimSequence * pSequence, bool bLeaveTime = false) = 0;
Description
  • Aborts a currently playing sequence.

Ignored if sequence is not playing. Calls IMovieListener with MOVIE_EVENT_ABORTED event (MOVIE_EVENT_DONE is NOT called) Returns true if sequence has been aborted. false otherwise @param sequence Pointer to Valid sequence to stop. @param bLeaveTime If false, uses default stop behavior, otherwise leaves the sequence at time

IMovieSystem::AddMovieListener Method
C++
virtual bool AddMovieListener(IAnimSequence* pSequence, IMovieListener* pListener) = 0;
Description

Adds a listener to a sequence @param pSequence Pointer to sequence @param pListener Pointer to an IMovieListener @return true on successful add, false otherwise

IMovieSystem::AddSequence Method
C++
virtual void AddSequence(IAnimSequence * pSequence) = 0;
IMovieSystem::ControlCapture Method
C++
virtual void ControlCapture() = 0;
Description

Actually turn on/off the capturing. This is needed for the timing issue of turning on/off the capturing.

IMovieSystem::CreateLightAnimWrapper Method
C++
virtual ILightAnimWrapper* CreateLightAnimWrapper(const char* name) const = 0;
IMovieSystem::CreateSequence Method
C++
virtual IAnimSequence* CreateSequence(const char * sequence, bool bLoad = false, uint32 id = 0) = 0;
IMovieSystem::CreateTrack Method
C++
virtual IAnimTrack* CreateTrack(EAnimCurveType type) = 0;
Parameters
Parameters
Description
EAnimCurveType type
Type of track, one of EAnimTrackType enums.
Description

Creates a new animation track with specified type.

IMovieSystem::EnableBatchRenderMode Method
C++
virtual void EnableBatchRenderMode(bool bOn) = 0;
IMovieSystem::EnableCameraShake Method
C++
virtual void EnableCameraShake(bool bEnabled) = 0;
IMovieSystem::EnablePhysicsEvents Method
C++
virtual void EnablePhysicsEvents(bool enable) = 0;
IMovieSystem::EndCapture Method
C++
virtual void EndCapture() = 0;
Description

Signal the capturing end.

IMovieSystem::FindSequence Method
C++
virtual IAnimSequence* FindSequence(const char * sequence) const = 0;
IMovieSystem::FindSequenceById Method
C++
virtual IAnimSequence* FindSequenceById(uint32 id) const = 0;
IMovieSystem::GetCallback Method
C++
virtual IMovieCallback* GetCallback() = 0;
IMovieSystem::GetCameraParams Method
C++
virtual const SCameraParams& GetCameraParams() const = 0;
IMovieSystem::GetEntityNodeParamCount Method
C++
virtual int GetEntityNodeParamCount() const = 0;
Description

Accessor for entity node params for displaying in sandbox

IMovieSystem::GetEntityNodeParamFlags Method
C++
virtual IAnimNode::ESupportedParamFlags GetEntityNodeParamFlags(int index) const = 0;
IMovieSystem::GetEntityNodeParamName Method
C++
virtual const char * GetEntityNodeParamName(int index) const = 0;
IMovieSystem::GetEntityNodeParamType Method
C++
virtual CAnimParamType GetEntityNodeParamType(int index) const = 0;
IMovieSystem::GetMemoryUsage Method
C++
virtual void GetMemoryUsage(ICrySizer * pSizer) const = 0;
IMovieSystem::GetNumPlayingSequences Method
C++
virtual int GetNumPlayingSequences() const = 0;
IMovieSystem::GetNumSequences Method
C++
virtual int GetNumSequences() const = 0;
IMovieSystem::GetOverrideCamName Method
C++
virtual const char * GetOverrideCamName() const = 0;
Description

Get the name of camera used for sequences instead of cameras specified in the director node.

IMovieSystem::GetPlayingSequence Method
C++
virtual IAnimSequence* GetPlayingSequence(int i) const = 0;
IMovieSystem::GetPlayingSpeed Method
C++
virtual float GetPlayingSpeed(IAnimSequence * pSeq) = 0;
IMovieSystem::GetPlayingTime Method
C++
virtual float GetPlayingTime(IAnimSequence * pSeq) = 0;
Description

Gets the float time value for a sequence that is already playing

IMovieSystem::GetSequence Method
C++
virtual IAnimSequence* GetSequence(int i) const = 0;
IMovieSystem::GetSequenceStopBehavior Method
C++
virtual IMovieSystem::ESequenceStopBehavior GetSequenceStopBehavior() = 0;
Description

Get behavior pattern for stopping sequences.

IMovieSystem::GetStartEndTime Method
C++
virtual bool GetStartEndTime(IAnimSequence * pSeq, float & fStartTime, float & fEndTime) = 0;
Description

Set the start and end time of an already playing cutscene.

IMovieSystem::GetSystem Method
C++
virtual ISystem* GetSystem() = 0;
IMovieSystem::GetUser Method
C++
virtual IMovieUser* GetUser() = 0;
Description

! Get the user.

IMovieSystem::GoToFrame Method
C++
virtual void GoToFrame(const char * seqName, float targetFrame) = 0;
Description

Make the specified sequence go to a given frame time. @param seqName A sequence name. @param targetFrame A target frame to go to in time.

IMovieSystem::GrabNextSequenceId Method
C++
virtual uint32 GrabNextSequenceId() = 0;
IMovieSystem::IsCameraShakeEnabled Method
C++
virtual bool IsCameraShakeEnabled() const = 0;
IMovieSystem::IsCutScenePlaying Method
C++
virtual bool IsCutScenePlaying() const = 0;
IMovieSystem::IsInBatchRenderMode Method
C++
virtual bool IsInBatchRenderMode() const = 0;
IMovieSystem::IsPhysicsEventsEnabled Method
C++
virtual bool IsPhysicsEventsEnabled() const = 0;
Description

These are used to disable 'Ragdollize' events in the editor when the 'AI/Physics' is off.

IMovieSystem::IsPlaying Method
C++
virtual bool IsPlaying(IAnimSequence * seq) const = 0;
Description

Checks if specified sequence is playing.

IMovieSystem::IsRecording Method
C++
virtual bool IsRecording() const = 0;
IMovieSystem::Load Method
C++
virtual bool Load(const char * pszFile, const char * pszMission) = 0;
Description

! Loads all nodes and sequences from a specific file (should be called when the level is loaded).

IMovieSystem::LoadSequence Method
C++
virtual IAnimSequence* LoadSequence(XmlNodeRef & xmlNode, bool bLoadEmpty = true) = 0;
IMovieSystem::OnCameraRenamed Method
C++
virtual int OnCameraRenamed(const char * before, const char * after) = 0;
Description

If the name of a camera changes, the keys that refer it in the camera track of the director node should be properly updated also. This updates the name of the corresponding camera node also, if any.

@param before The old name of the camera. @param after The new name of the camera. @return Number of modified camera keys.

IMovieSystem::OnSequenceRenamed Method
C++
virtual int OnSequenceRenamed(const char * before, const char * after) = 0;
Description

If the name of a sequence changes, the keys that refer it in the sequence track of the director node should be properly updated also.

@param before The old name of the sequence. @param after The new name of the sequence. @return Number of modified sequence keys.

IMovieSystem::Pause Method
C++
virtual void Pause() = 0;
Description

Pause any playing sequences.

IMovieSystem::PauseCutScenes Method
C++
virtual void PauseCutScenes() = 0;
Description

Pause cut scenes in editor.

IMovieSystem::PlayOnLoadSequences Method
C++
virtual void PlayOnLoadSequences() = 0;
Description

Sequences with PLAY_ONRESET flag will start playing after this call.

IMovieSystem::PlaySequence Method (IAnimSequence *, IAnimSequence *, bool, bool, float, float)
C++
virtual void PlaySequence(IAnimSequence * pSequence, IAnimSequence * pParentSeq, bool bResetFX, bool bTrackedSequence, float startTime = -FLT_MAX, float endTime = -FLT_MAX) = 0;
Description

Start playing sequence. Call ignored if sequence is already playing. @param sequence Pointer to Valid sequence to play.

IMovieSystem::PlaySequence Method (char *, IAnimSequence *, bool, bool, float, float)
C++
virtual void PlaySequence(const char * pSequenceName, IAnimSequence * pParentSeq, bool bResetFX, bool bTrackedSequence, float startTime = -FLT_MAX, float endTime = -FLT_MAX) = 0;
Description

Sequence playback. /////////////////////////////////////////////////////////////////////// Start playing sequence. Call ignored if sequence is already playing. @param sequence Name of sequence to play.

IMovieSystem::PostUpdate Method
C++
virtual void PostUpdate(const float dt) = 0;
Description

Updates movie system every frame after the entity system to animate all playing sequences.

IMovieSystem::PreUpdate Method
C++
virtual void PreUpdate(const float dt) = 0;
Description

Updates movie system every frame before the entity system to animate all playing sequences.

IMovieSystem::Release Method
C++
virtual void Release() = 0;
Description

! Release movie system.

IMovieSystem::RemoveAllSequences Method
C++
virtual void RemoveAllSequences() = 0;
Description

Remove all sequences from movie system.

IMovieSystem::RemoveMovieListener Method
C++
virtual bool RemoveMovieListener(IAnimSequence* pSequence, IMovieListener* pListener) = 0;
Description

Removes a listener from a sequence @param pSequence Pointer to sequence @param pListener Pointer to an IMovieListener @return true on successful removal, false otherwise

IMovieSystem::RemoveSequence Method
C++
virtual void RemoveSequence(IAnimSequence * pSequence) = 0;
IMovieSystem::Render Method
C++
virtual void Render() = 0;
Description

Render function call of some special node.

IMovieSystem::Reset Method
C++
virtual void Reset(bool bPlayOnReset, bool bSeekToStart) = 0;
Description
  • Resets playback state of movie system,

usually called after loading of level,

IMovieSystem::Resume Method
C++
virtual void Resume() = 0;
Description

Resume playing sequences.

IMovieSystem::ResumeCutScenes Method
C++
virtual void ResumeCutScenes() = 0;
Description

Resume cut scenes in editor.

IMovieSystem::SendGlobalEvent Method
C++
virtual void SendGlobalEvent(const char * pszEvent) = 0;
IMovieSystem::Serialize Method
C++
virtual void Serialize(XmlNodeRef & xmlNode, bool bLoading, bool bRemoveOldNodes = false, bool bLoadEmpty = true) = 0;
Description

Serialize to XML.

IMovieSystem::SerializeParamType Method
C++
virtual void SerializeParamType(CAnimParamType & animParamType, XmlNodeRef & xmlNode, bool bLoading, const uint version) = 0;
Description

Should only be called from CAnimParamType

IMovieSystem::SetCallback Method
C++
virtual void SetCallback(IMovieCallback * pCallback) = 0;
Description

Callback when animation-data changes

IMovieSystem::SetCameraParams Method
C++
virtual void SetCameraParams(const SCameraParams & Params) = 0;
IMovieSystem::SetPlayingSpeed Method
C++
virtual bool SetPlayingSpeed(IAnimSequence * pSeq, float fSpeed) = 0;
IMovieSystem::SetPlayingTime Method
C++
virtual bool SetPlayingTime(IAnimSequence * pSeq, float fTime) = 0;
Description

Sets the time progression of an already playing cutscene. If IAnimSequence:NO_SEEK flag is set on pSeq, this call is ignored.

IMovieSystem::SetRecording Method
C++
virtual void SetRecording(bool recording) = 0;
Description

Set movie system into recording mode, While in recording mode any changes made to node will be added as keys to tracks.

IMovieSystem::SetSequenceStopBehavior Method
C++
virtual void SetSequenceStopBehavior(ESequenceStopBehavior behavior) = 0;
Description

Set behavior pattern for stopping sequences.

IMovieSystem::SetStartEndTime Method
C++
virtual bool SetStartEndTime(IAnimSequence * pSeq, const float fStartTime, const float fEndTime) = 0;
IMovieSystem::SetUser Method
C++
virtual void SetUser(IMovieUser * pUser) = 0;
Description

! Set the user.

IMovieSystem::StartCapture Method
C++
virtual void StartCapture(const ICaptureKey& key) = 0;
Description

Signal the capturing start.

IMovieSystem::StillUpdate Method
C++
virtual void StillUpdate() = 0;
Description

Update movie system while not playing animation.

IMovieSystem::StopAllCutScenes Method
C++
virtual void StopAllCutScenes() = 0;
Description

Stops all playing cut-scene sequences. This will not stop all sequences, but only those with CUT_SCENE flag set.

IMovieSystem::StopAllSequences Method
C++
virtual void StopAllSequences() = 0;
Description

Stops all currently playing sequences.

IMovieSystem::StopSequence Method (IAnimSequence *)
C++
virtual bool StopSequence(IAnimSequence * pSequence) = 0;
Description

Stop's currently playing sequence. Ignored if sequence is not playing. Returns true if sequence has been stopped. false otherwise @param sequence Pointer to Valid sequence to stop.

IMovieSystem::StopSequence Method (char *)
C++
virtual bool StopSequence(const char * pSequenceName) = 0;
Description

Stops currently playing sequence. Ignored if sequence is not playing. Returns true if sequence has been stopped. false otherwise @param sequence Name of playing sequence to stop.