aboutsummaryrefslogtreecommitdiff
path: root/engines/parallaction/gfxbase.cpp
diff options
context:
space:
mode:
authorNicola Mettifogo2008-12-21 15:42:47 +0000
committerNicola Mettifogo2008-12-21 15:42:47 +0000
commite11c17a005a1efb1be077ceb856c48446e11d95c (patch)
tree2272e2286e382d24640577eebf88a40cc9a06d44 /engines/parallaction/gfxbase.cpp
parent74b251d45d0ae9bafaa96f36e4e3dc2aebefa225 (diff)
downloadscummvm-rg350-e11c17a005a1efb1be077ceb856c48446e11d95c.tar.gz
scummvm-rg350-e11c17a005a1efb1be077ceb856c48446e11d95c.tar.bz2
scummvm-rg350-e11c17a005a1efb1be077ceb856c48446e11d95c.zip
Moved more GfxObj management to Gfx object.
svn-id: r35466
Diffstat (limited to 'engines/parallaction/gfxbase.cpp')
-rw-r--r--engines/parallaction/gfxbase.cpp18
1 files changed, 18 insertions, 0 deletions
diff --git a/engines/parallaction/gfxbase.cpp b/engines/parallaction/gfxbase.cpp
index 9d4389855e..58cc1e2728 100644
--- a/engines/parallaction/gfxbase.cpp
+++ b/engines/parallaction/gfxbase.cpp
@@ -103,6 +103,12 @@ GfxObj* Gfx::loadAnim(const char *name) {
return obj;
}
+GfxObj* Gfx::loadCharacterAnim(const char *name) {
+ GfxObj *obj = loadAnim(name);
+ obj->setFlags(kGfxObjCharacter);
+ obj->clearFlags(kGfxObjNormal);
+ return obj;
+}
GfxObj* Gfx::loadGet(const char *name) {
GfxObj *obj = _disk->loadStatic(name);
@@ -140,6 +146,18 @@ void Gfx::clearGfxObjects(uint filter) {
}
+void Gfx::freeLocationObjects() {
+ freeDialogueObjects();
+ clearGfxObjects(kGfxObjNormal);
+ freeLabels();
+}
+
+void Gfx::freeCharacterObjects() {
+ freeDialogueObjects();
+ clearGfxObjects(kGfxObjCharacter);
+}
+
+
void Gfx::loadGfxObjMask(const char *name, GfxObj *obj) {
Common::Rect rect;
obj->getRect(0, rect);