aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/graphics/celobj32.h
diff options
context:
space:
mode:
authorColin Snover2016-12-31 20:39:57 -0600
committerColin Snover2017-03-27 19:42:31 -0500
commit31daa956d62b39429cb6638ed3fb549ac488833a (patch)
treefa831adefae05d82209b3f565055f7b761ca8691 /engines/sci/graphics/celobj32.h
parent1298762b7665dc1b7aeedf0271eadfb284309ef1 (diff)
downloadscummvm-rg350-31daa956d62b39429cb6638ed3fb549ac488833a.tar.gz
scummvm-rg350-31daa956d62b39429cb6638ed3fb549ac488833a.tar.bz2
scummvm-rg350-31daa956d62b39429cb6638ed3fb549ac488833a.zip
SCI: Implement bounds-checked reads of game resources
Diffstat (limited to 'engines/sci/graphics/celobj32.h')
-rw-r--r--engines/sci/graphics/celobj32.h11
1 files changed, 6 insertions, 5 deletions
diff --git a/engines/sci/graphics/celobj32.h b/engines/sci/graphics/celobj32.h
index 3e3f81ac62..351a8856b2 100644
--- a/engines/sci/graphics/celobj32.h
+++ b/engines/sci/graphics/celobj32.h
@@ -27,6 +27,7 @@
#include "common/rect.h"
#include "sci/resource.h"
#include "sci/engine/vm_types.h"
+#include "sci/util.h"
namespace Sci {
typedef Common::Rational Ratio;
@@ -413,7 +414,7 @@ public:
* Retrieves a pointer to the raw resource data for this
* cel. This method cannot be used with a CelObjColor.
*/
- virtual byte *getResPointer() const = 0;
+ virtual const SciSpan<const byte> getResPointer() const = 0;
/**
* Reads the pixel at the given coordinates. This method
@@ -535,7 +536,7 @@ public:
void draw(Buffer &target, const Common::Rect &targetRect, const Common::Point &scaledPosition, bool mirrorX, const Ratio &scaleX, const Ratio &scaleY);
virtual CelObjView *duplicate() const override;
- virtual byte *getResPointer() const override;
+ virtual const SciSpan<const byte> getResPointer() const override;
};
#pragma mark -
@@ -580,7 +581,7 @@ public:
virtual void draw(Buffer &target, const Common::Rect &targetRect, const Common::Point &scaledPosition, const bool mirrorX) override;
virtual CelObjPic *duplicate() const override;
- virtual byte *getResPointer() const override;
+ virtual const SciSpan<const byte> getResPointer() const override;
};
#pragma mark -
@@ -598,7 +599,7 @@ public:
virtual ~CelObjMem() override {};
virtual CelObjMem *duplicate() const override;
- virtual byte *getResPointer() const override;
+ virtual const SciSpan<const byte> getResPointer() const override;
};
#pragma mark -
@@ -622,7 +623,7 @@ public:
virtual void draw(Buffer &target, const Common::Rect &targetRect, const Common::Point &scaledPosition, const bool mirrorX) override;
virtual CelObjColor *duplicate() const override;
- virtual byte *getResPointer() const override;
+ virtual const SciSpan<const byte> getResPointer() const override;
};
} // End of namespace Sci