diff options
author | Nipun Garg | 2019-06-24 02:10:23 +0530 |
---|---|---|
committer | Eugene Sandulenko | 2019-09-03 17:16:58 +0200 |
commit | d41983e83726ed2e5fd1dc1a683909777e27e113 (patch) | |
tree | 3e0776fe6170a02bedeabfac6b36e3cce2b544d8 /engines | |
parent | 667641ed5740323b7b7edf48f724c87e98f45027 (diff) | |
download | scummvm-rg350-d41983e83726ed2e5fd1dc1a683909777e27e113.tar.gz scummvm-rg350-d41983e83726ed2e5fd1dc1a683909777e27e113.tar.bz2 scummvm-rg350-d41983e83726ed2e5fd1dc1a683909777e27e113.zip |
HDB: Add _cineFreeList functions
Diffstat (limited to 'engines')
-rw-r--r-- | engines/hdb/ai-cinematic.cpp | 16 | ||||
-rw-r--r-- | engines/hdb/ai.h | 2 |
2 files changed, 18 insertions, 0 deletions
diff --git a/engines/hdb/ai-cinematic.cpp b/engines/hdb/ai-cinematic.cpp index 4f30b9d7c6..053ba3c492 100644 --- a/engines/hdb/ai-cinematic.cpp +++ b/engines/hdb/ai-cinematic.cpp @@ -318,6 +318,22 @@ void AI::cineRemoveFromBlitList(const char *name) { } } +void AI::cineAddToFreeList(Picture *pic) { + if (_numCineFreeList >= kMaxCineGfx) { + warning("cineAddToFreeList: Too many gfx in Cinematic!"); + return; + } + _cineFreeList[_numCineFreeList] = pic; + _numCineFreeList++; +} + +void AI::cineFreeGfx() { + for (int i = 0;i < _numCineFreeList;i++) { + delete _cineFreeList[i]; + } + _numCineFreeList = 0; +} + void AI::cineStart(bool abortable, const char *abortFunc) { _cineAbortable = abortable; _cineAborted = false; diff --git a/engines/hdb/ai.h b/engines/hdb/ai.h index f56cc62120..072199d319 100644 --- a/engines/hdb/ai.h +++ b/engines/hdb/ai.h @@ -728,6 +728,8 @@ public: void cineAddToBlitList(const char *id, Picture *pic, int x, int y, bool masked); Picture *cineFindInBlitList(const char *name); void cineRemoveFromBlitList(const char *name); + void cineAddToFreeList(Picture *pic); + void cineFreeGfx(); void cineStart(bool abortable, const char *abortFunc); void cineLockPlayer(); void cineUnlockPlayer(); |