diff options
Diffstat (limited to 'engines/prince/detail')
-rw-r--r-- | engines/prince/detail/animation.cpp | 102 | ||||
-rw-r--r-- | engines/prince/detail/animation.h | 51 |
2 files changed, 0 insertions, 153 deletions
diff --git a/engines/prince/detail/animation.cpp b/engines/prince/detail/animation.cpp deleted file mode 100644 index 8b4a72b2f8..0000000000 --- a/engines/prince/detail/animation.cpp +++ /dev/null @@ -1,102 +0,0 @@ -/* ScummVM - Graphic Adventure Engine
- *
- * ScummVM is the legal property of its developers, whose names
- * are too numerous to list here. Please refer to the COPYRIGHT
- * file distributed with this source distribution.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
-
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
-
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- *
- */
-
-#include "prince/detail/animation.h"
-#include "prince/decompress.h"
-
-#include "common/debug.h"
-#include "common/endian.h"
-
-namespace Prince { namespace Detail {
-
-Animation::Animation(byte *data, uint32 dataSize)
- : _data(data), _dataSize(dataSize) {
-}
-
-Animation::~Animation() {
- free(_data);
-}
-
-int16 Animation::getLoopCount() const {
- return READ_LE_UINT16(_data + 2);
-}
-
-int16 Animation::getBaseX() const {
- return READ_LE_UINT16(_data + 8);
-}
-
-int16 Animation::getBaseY() const {
- return READ_LE_UINT16(_data + 10);
-}
-
-uint Animation::getPhaseCount() const {
- return READ_LE_UINT16(_data + 4);
-}
-
-uint Animation::getFrameCount() const {
- return READ_LE_UINT16(_data + 6);
-}
-
-int16 Animation::getPhaseOffsetX(uint phaseIndex) const {
- return READ_LE_UINT16(getPhaseEntry(phaseIndex) + 0);
-}
-
-int16 Animation::getPhaseOffsetY(uint phaseIndex) const {
- return READ_LE_UINT16(getPhaseEntry(phaseIndex) + 2);
-}
-
-int16 Animation::getPhaseFrameIndex(uint phaseIndex) const {
- return READ_LE_UINT16(getPhaseEntry(phaseIndex) + 4);
-}
-
-Graphics::Surface *Animation::getFrame(uint frameIndex) {
- byte *frameData = _data + READ_LE_UINT32(_data + 16 + frameIndex * 4);
- int16 width = READ_LE_UINT16(frameData + 0);
- int16 height = READ_LE_UINT16(frameData + 2);
- debug("width = %d; height = %d", width, height);
- Graphics::Surface *surf = new Graphics::Surface();
- surf->create(width, height, Graphics::PixelFormat::createFormatCLUT8());
- debug("frameData %p", frameData);
- if (READ_BE_UINT32(frameData + 4) == 0x6D61736D) {
- // Compressed
- Decompressor dec;
- uint32 ddataSize = READ_LE_UINT32(frameData + 8);
- byte *ddata = new byte[ddataSize];
- dec.decompress(frameData + 12, ddata, ddataSize);
- for (uint16 i = 0; i < height; ++i) {
- memcpy(surf->getBasePtr(0, i), ddata + width * i, width);
- }
- delete[] ddata;
- } else {
- // Uncompressed
- for (uint16 i = 0; i < height; ++i) {
- memcpy(surf->getBasePtr(0, i), frameData + 4 + width * i, width);
- }
- }
- return surf;
-}
-
-byte *Animation::getPhaseEntry(uint phaseIndex) const {
- return _data + READ_LE_UINT32(_data + 12) + phaseIndex * 8;
-}
-
-} }
diff --git a/engines/prince/detail/animation.h b/engines/prince/detail/animation.h deleted file mode 100644 index f9f289dc71..0000000000 --- a/engines/prince/detail/animation.h +++ /dev/null @@ -1,51 +0,0 @@ -/* ScummVM - Graphic Adventure Engine
- *
- * ScummVM is the legal property of its developers, whose names
- * are too numerous to list here. Please refer to the COPYRIGHT
- * file distributed with this source distribution.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
-
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
-
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- *
- */
-
-#ifndef PRINCE_DETAIL_ANIMATION_H
-#define PRINCE_DETAIL_ANIMATION_H
-
-#include "graphics/surface.h"
-
-namespace Prince { namespace Detail {
-
-class Animation {
-public:
- Animation(byte *data, uint32 dataSize);
- ~Animation();
- int16 getLoopCount() const;
- int16 getBaseX() const;
- int16 getBaseY() const;
- uint getPhaseCount() const;
- uint getFrameCount() const;
- int16 getPhaseOffsetX(uint phaseIndex) const;
- int16 getPhaseOffsetY(uint phaseIndex) const;
- int16 getPhaseFrameIndex(uint phaseIndex) const;
- Graphics::Surface *getFrame(uint frameIndex);
-protected:
- byte *_data;
- uint32 _dataSize;
- byte *getPhaseEntry(uint phaseIndex) const;
-};
-
-} }
-
-#endif
|