diff options
Diffstat (limited to 'engines')
-rw-r--r-- | engines/cge2/snail.cpp | 7 | ||||
-rw-r--r-- | engines/cge2/spare.cpp | 2 |
2 files changed, 7 insertions, 2 deletions
diff --git a/engines/cge2/snail.cpp b/engines/cge2/snail.cpp index 3af4c88d37..6957f8f50e 100644 --- a/engines/cge2/snail.cpp +++ b/engines/cge2/snail.cpp @@ -488,8 +488,11 @@ void CGE2Engine::snFlag(int ref, int val) { warning("STUB: CGE2Engine::snFlag()"); } -void CGE2Engine::snSetRef(Sprite *spr, int val) { - warning("STUB: CGE2Engine::snSetRef()"); +void CGE2Engine::snSetRef(Sprite *spr, int val) { // TODO:: Recheck this! + if (spr) { + spr->_ref = val; + _spare->update(spr); + } } void CGE2Engine::snBackPt(Sprite *spr, int val) { diff --git a/engines/cge2/spare.cpp b/engines/cge2/spare.cpp index 445247177d..63e85e8ed6 100644 --- a/engines/cge2/spare.cpp +++ b/engines/cge2/spare.cpp @@ -79,6 +79,8 @@ void Spare::update(Sprite *spr) { Sprite *sp = locate(spr->_ref); if (sp == nullptr) store(spr); + else + *sp = *spr; } void Spare::dispose(Sprite *spr) { |