From 883e96e3dc39ca98f005b2c7a6e94a026aa9c5d3 Mon Sep 17 00:00:00 2001 From: neuromancer Date: Sat, 18 Nov 2023 22:11:52 +0100 Subject: [PATCH] IMAGE: moved neo decoder from freescape to image --- engines/freescape/freescape.cpp | 8 ++++---- engines/freescape/module.mk | 1 - image/module.mk | 1 + {engines/freescape => image}/neo.cpp | 6 +++--- {engines/freescape => image}/neo.h | 24 ++++++++++++++++-------- 5 files changed, 24 insertions(+), 16 deletions(-) rename {engines/freescape => image}/neo.cpp (97%) rename {engines/freescape => image}/neo.h (82%) diff --git a/engines/freescape/freescape.cpp b/engines/freescape/freescape.cpp index 0d6464b2c0c..f5495159986 100644 --- a/engines/freescape/freescape.cpp +++ b/engines/freescape/freescape.cpp @@ -25,11 +25,11 @@ #include "common/random.h" #include "common/timer.h" #include "graphics/cursorman.h" +#include "image/neo.h" +#include "image/scr.h" #include "freescape/freescape.h" #include "freescape/language/8bitDetokeniser.h" -#include "freescape/neo.h" -#include "image/scr.h" #include "freescape/objects/sensor.h" namespace Freescape { @@ -877,7 +877,7 @@ void FreescapeEngine::clearTemporalMessages() { byte *FreescapeEngine::getPaletteFromNeoImage(Common::SeekableReadStream *stream, int offset) { stream->seek(offset); - NeoDecoder decoder; + Image::NeoDecoder decoder; decoder.loadStream(*stream); byte *palette = (byte *)malloc(16 * 3 * sizeof(byte)); memcpy(palette, decoder.getPalette(), 16 * 3 * sizeof(byte)); @@ -886,7 +886,7 @@ byte *FreescapeEngine::getPaletteFromNeoImage(Common::SeekableReadStream *stream Graphics::ManagedSurface *FreescapeEngine::loadAndConvertNeoImage(Common::SeekableReadStream *stream, int offset, byte *palette) { stream->seek(offset); - NeoDecoder decoder(palette); + Image::NeoDecoder decoder(palette); decoder.loadStream(*stream); Graphics::ManagedSurface *surface = new Graphics::ManagedSurface(); surface->copyFrom(*decoder.getSurface()); diff --git a/engines/freescape/module.mk b/engines/freescape/module.mk index 26c20b3ac05..a074d330ed3 100644 --- a/engines/freescape/module.mk +++ b/engines/freescape/module.mk @@ -30,7 +30,6 @@ MODULE_OBJS := \ language/instruction.o \ metaengine.o \ movement.o \ - neo.o \ objects/geometricobject.o \ objects/group.o \ objects/sensor.o \ diff --git a/image/module.mk b/image/module.mk index f0d3c0faeae..df24ea3f61f 100644 --- a/image/module.mk +++ b/image/module.mk @@ -6,6 +6,7 @@ MODULE_OBJS := \ gif.o \ iff.o \ jpeg.o \ + neo.o \ pcx.o \ pict.o \ png.o \ diff --git a/engines/freescape/neo.cpp b/image/neo.cpp similarity index 97% rename from engines/freescape/neo.cpp rename to image/neo.cpp index 4adb268e041..04a182a4e23 100644 --- a/engines/freescape/neo.cpp +++ b/image/neo.cpp @@ -24,9 +24,9 @@ #include "graphics/pixelformat.h" #include "graphics/surface.h" -#include "freescape/neo.h" +#include "image/neo.h" -namespace Freescape { +namespace Image { NeoDecoder::NeoDecoder(byte *palette) { _surface = nullptr; @@ -119,4 +119,4 @@ bool NeoDecoder::loadStream(Common::SeekableReadStream &stream) { return true; } -} // End of namespace Freescape +} // End of namespace Image \ No newline at end of file diff --git a/engines/freescape/neo.h b/image/neo.h similarity index 82% rename from engines/freescape/neo.h rename to image/neo.h index d52309319f1..60db4154338 100644 --- a/engines/freescape/neo.h +++ b/image/neo.h @@ -19,20 +19,28 @@ * */ -#ifndef FREESCAPE_NEO_H -#define FREESCAPE_NEO_H +#ifndef IMAGE_NEO_H +#define IMAGE_NEO_H #include "image/image_decoder.h" -/* -Atari-ST Neochrome decoder based on NEOLoad by Jason "Joefish" Railton -*/ +/** + * @defgroup image_neo Neochrome decoder + * @ingroup image + * + * @brief Atari-ST Neochrome decoder based on NEOLoad by Jason "Joefish" Railton + * + * + * Used in engines: + * - Freescape + * @{ + */ namespace Common { class SeekableReadStream; } -namespace Freescape { +namespace Image { class NeoDecoder : public Image::ImageDecoder { public: @@ -52,6 +60,6 @@ private: byte *_palette; uint16 _paletteColorCount; }; -} // End of namespace Freescape +} // End of namespace Image -#endif // FREESCAPE_NEO_H +#endif // IMAGE_NEO_H \ No newline at end of file