diff options
author | Colin Snover | 2016-12-31 20:39:57 -0600 |
---|---|---|
committer | Colin Snover | 2017-03-27 19:42:31 -0500 |
commit | 31daa956d62b39429cb6638ed3fb549ac488833a (patch) | |
tree | fa831adefae05d82209b3f565055f7b761ca8691 /engines/sci/graphics/celobj32.h | |
parent | 1298762b7665dc1b7aeedf0271eadfb284309ef1 (diff) | |
download | scummvm-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.h | 11 |
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 |