diff options
author | Paul Gilbert | 2015-01-24 15:29:02 -0500 |
---|---|---|
committer | Paul Gilbert | 2015-01-24 15:29:02 -0500 |
commit | c01120aedd2eb32f15f48b780dddcccc3189acea (patch) | |
tree | 003919aa07f4511100d6aafc56398babf026b6f6 /engines/xeen | |
parent | 339dfcb2cc9fde227abc15ad9b298f7b16194785 (diff) | |
download | scummvm-rg350-c01120aedd2eb32f15f48b780dddcccc3189acea.tar.gz scummvm-rg350-c01120aedd2eb32f15f48b780dddcccc3189acea.tar.bz2 scummvm-rg350-c01120aedd2eb32f15f48b780dddcccc3189acea.zip |
XEEN: Extra comments to sprite resource class
Diffstat (limited to 'engines/xeen')
-rw-r--r-- | engines/xeen/sprites.cpp | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/engines/xeen/sprites.cpp b/engines/xeen/sprites.cpp index 5adc0e53e2..7bffa68907 100644 --- a/engines/xeen/sprites.cpp +++ b/engines/xeen/sprites.cpp @@ -43,6 +43,9 @@ SpriteResource::~SpriteResource() { clear(); } +/** + * Copy operator for duplicating a sprite resource + */ SpriteResource &SpriteResource::operator=(const SpriteResource &src) { delete[] _data; _index.clear(); @@ -58,16 +61,25 @@ SpriteResource &SpriteResource::operator=(const SpriteResource &src) { return *this; } +/** + * Load a sprite resource from a given file + */ void SpriteResource::load(const Common::String &filename) { File f(filename); load(f); } +/** + * Load a sprite resource from a given file and archive + */ void SpriteResource::load(const Common::String &filename, Common::Archive &archive) { File f(filename, archive); load(f); } +/** + * Load a sprite resource from a stream + */ void SpriteResource::load(Common::SeekableReadStream &f) { // Read in a copy of the file _filesize = f.size(); @@ -86,12 +98,18 @@ void SpriteResource::load(Common::SeekableReadStream &f) { } } +/** + * Clears the sprite resource + */ void SpriteResource::clear() { delete[] _data; _data = nullptr; _filesize = 0; } +/** + * Draws a frame using data at a specific offset in the sprite resource + */ void SpriteResource::drawOffset(XSurface &dest, uint16 offset, const Common::Point &destPos, int flags) const { // Get cell header Common::MemoryReadStream f(_data, _filesize); @@ -229,8 +247,12 @@ void SpriteResource::drawOffset(XSurface &dest, uint16 offset, const Common::Poi dest.addDirtyRect(r); } +/** + * Draw the sprite onto the given surface + */ void SpriteResource::draw(XSurface &dest, int frame, const Common::Point &destPos, int flags, int scale) const { + assert(scale != 0x8000); // TODO: TO test when I find scale value used if (scale == 0) { drawOffset(dest, _index[frame]._offset1, destPos, flags); @@ -261,6 +283,9 @@ void SpriteResource::draw(XSurface &dest, int frame, const Common::Point &destPo } } +/** + * Draw the sprite onto the given surface + */ void SpriteResource::draw(XSurface &dest, int frame) const { draw(dest, frame, Common::Point()); } |