aboutsummaryrefslogtreecommitdiff
path: root/saga/animation.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'saga/animation.cpp')
-rw-r--r--saga/animation.cpp20
1 files changed, 20 insertions, 0 deletions
diff --git a/saga/animation.cpp b/saga/animation.cpp
index 4c71dede4c..fd59630aa8 100644
--- a/saga/animation.cpp
+++ b/saga/animation.cpp
@@ -193,6 +193,9 @@ int Anim::play(uint16 anim_id, int vector_time) {
return R_FAILURE;
}
+ if (anim->flags & ANIM_PAUSE)
+ return R_SUCCESS;
+
if (anim->play_flag) {
frame = anim->current_frame;
if (GAME_GetGameType() == R_GAMETYPE_ITE) {
@@ -304,6 +307,23 @@ int Anim::setFlag(uint16 anim_id, uint16 flag) {
return R_SUCCESS;
}
+int Anim::clearFlag(uint16 anim_id, uint16 flag) {
+ R_ANIMATION *anim;
+
+ if (anim_id > _anim_count) {
+ return R_FAILURE;
+ }
+
+ anim = _anim_tbl[anim_id];
+ if (anim == NULL) {
+ return R_FAILURE;
+ }
+
+ anim->flags &= ~flag;
+
+ return R_SUCCESS;
+}
+
int Anim::setFrameTime(uint16 anim_id, int time) {
R_ANIMATION *anim;