Skip to content

Commit 9bc5721

Browse files
committed
Lot of change, added quintet1 compression
1 parent dc5ef32 commit 9bc5721

37 files changed

+801
-131
lines changed

Compressions/Compressions.pro

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
TEMPLATE = subdirs
22

33
SUBDIRS = Nintendo\nintendo.pro \
4-
Terranigma\terranigma.pro
4+
Quintet\quintet.pro

Compressions/Nintendo/nintendo.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#include "nintendo.h"
2-
#include "../../lowlevelstuff/src/compressions/stdnintendo.h"
2+
#include "stdnintendo.h"
33
#include <QDebug>
44

55

Compressions/Nintendo/nintendo.pro

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@ SOURCES += nintendo.cpp \
2020
HEADERS += nintendo.h \
2121
../../lowlevelstuff/src/compressions/stdnintendo.h
2222

23+
INCLUDEPATH += ../../lowlevelstuff/src/compressions/
24+
2325
DISTFILES += nintendo.json
2426

2527

File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.

Compressions/Quintet/quintet.pro

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
2+
QT += core gui
3+
4+
TARGET = quintetcompression
5+
TEMPLATE = lib
6+
CONFIG += plugin
7+
8+
DESTDIR = ../../plugins
9+
10+
SOURCES += Global.cpp \
11+
Comp.cpp \
12+
../../lowlevelstuff/src/compressions/quintet1/quintet1_compression.c \
13+
bitstream.c \
14+
quintetcompression.cpp
15+
16+
HEADERS += Global.h \
17+
Comp.h \
18+
../../lowlevelstuff/src/compressions/quintet1/quintet1_compression.h \
19+
quintetcompression.h \
20+
bitstream.h
21+
22+
INCLUDEPATH += ../../lowlevelstuff/src/compressions/quintet1/
23+
24+
DISTFILES += quintet.json
Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
#include "quintetcompression.h"
2+
#include "quintet1_compression.h"
3+
#include "Comp.h"
4+
5+
QuintetCompression::QuintetCompression()
6+
{
7+
8+
}
9+
10+
QList<CompressionInfo> QuintetCompression::compressionList()
11+
{
12+
QList<CompressionInfo> toret;
13+
CompressionInfo normal;
14+
normal.name = "Terranigma";
15+
normal.canCompress = false;
16+
normal.shortDescription = "Standard Terranigma compression";
17+
normal.description = "Standard compression used by Terranigma";
18+
toret << normal;
19+
CompressionInfo quintet1;
20+
quintet1.name = "Quintet1";
21+
quintet1.canCompress = true;
22+
quintet1.shortDescription = "Quintet1 compression, used by lot of Quintet games";
23+
quintet1.description = "Quintet1 compression, used by lot of Quintet games: Actraiser 1 & 2, Robotrek, Soul Blazer, Illusion of Gaia ";
24+
toret << quintet1;
25+
return toret;
26+
}
27+
28+
QString QuintetCompression::compressionError()
29+
{
30+
return QString();
31+
}
32+
33+
QString QuintetCompression::decompressionError()
34+
{
35+
return QString();
36+
}
37+
38+
char *QuintetCompression::compress(QString name, const char *data, const size_t start, const unsigned int lenght, unsigned int* compressedSize)
39+
{
40+
if (name == "Quintet1") {
41+
char* toret = quintet1_compress(data + start, lenght, compressedSize);
42+
return toret;
43+
}
44+
return nullptr;
45+
}
46+
47+
char *QuintetCompression::unCompress(QString name, const char* data, const size_t start, const unsigned int lenght, unsigned int* uncompressedSize, unsigned int* compressedLength)
48+
{
49+
if (name == "Terranigma") {
50+
Comp terraComp;
51+
terraComp.Init((u8*) data);
52+
unsigned int size = lenght;
53+
char* toret = (char*) terraComp.UncompressData(start, &size);
54+
*uncompressedSize = size;
55+
return toret;
56+
}
57+
if (name == "Quintet1") {
58+
char* toret = quintet1_decompress(data, uncompressedSize);
59+
return toret;
60+
}
61+
return nullptr;
62+
}

Compressions/Terranigma/terranigmacompression.h renamed to Compressions/Quintet/quintetcompression.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,14 @@
55
#include <QObject>
66
#include <../../compressioninterface.h>
77

8-
class TerranigmaCompression : public QObject, public CompressionInterface
8+
class QuintetCompression : public QObject, public CompressionInterface
99
{
1010
Q_OBJECT
1111
Q_INTERFACES(CompressionInterface)
12-
Q_PLUGIN_METADATA(IID "fr.nyo.SNESTilesKitten.TerranigmaCompression" FILE "terranigma.json")
12+
Q_PLUGIN_METADATA(IID "fr.nyo.SNESTilesKitten.QuintetCompression" FILE "quintet.json")
1313

1414
public:
15-
TerranigmaCompression();
15+
QuintetCompression();
1616
QList<CompressionInfo> compressionList();
1717
char* compress(QString name, const char *data, const size_t start, const unsigned int lenght, unsigned int *compressedSize);
1818
char* unCompress(QString name, const char *data, const size_t start, const unsigned int lenght, unsigned int *uncompressedSize, unsigned int* compressedLength);

0 commit comments

Comments
 (0)