IMAGE: moved neo decoder from freescape to image

This commit is contained in:
neuromancer
2023-11-18 22:11:52 +01:00
parent b87e4b635b
commit 883e96e3dc
5 changed files with 24 additions and 16 deletions
+4 -4
View File
@@ -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());
-1
View File
@@ -30,7 +30,6 @@ MODULE_OBJS := \
language/instruction.o \
metaengine.o \
movement.o \
neo.o \
objects/geometricobject.o \
objects/group.o \
objects/sensor.o \
+1
View File
@@ -6,6 +6,7 @@ MODULE_OBJS := \
gif.o \
iff.o \
jpeg.o \
neo.o \
pcx.o \
pict.o \
png.o \
+3 -3
View File
@@ -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
+16 -8
View File
@@ -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