1
0
Fork 0
mirror of https://github.com/AquariaOSE/Aquaria.git synced 2024-11-25 17:53:47 +00:00
Aquaria/ExternalLibs/tinylibs.cpp
fgenesis f71c7f5d40 make dmon optional at compile time, and a dedicated runtime option
it's still experimental and might cause problems,
so only enable this if specifically requested,
since it's not needed for regular gameplay
2024-06-27 23:43:26 +02:00

39 lines
868 B
C++

#include <assert.h>
#define STB_IMAGE_IMPLEMENTATION
#define STBI_NO_STDIO
#define STBI_ONLY_JPEG
#define STBI_ONLY_PNG
#define STBI_ONLY_TGA
#include "stb_image.h"
#include <miniz.h>
static unsigned char * miniz_stbi_compress(unsigned char *data, int data_len, int *out_len, int quality)
{
mz_ulong maxsz = mz_compressBound(data_len);
unsigned char *packed = (unsigned char*)malloc(maxsz);
if(packed)
{
int result = mz_compress2(packed, &maxsz, data, data_len, quality);
if(result)
{
free(packed);
return NULL;
}
}
*out_len = (int)maxsz;
return packed;
}
#define STB_IMAGE_WRITE_IMPLEMENTATION
#define STBIW_ZLIB_COMPRESS miniz_stbi_compress
#include "stb_image_write.h"
#define STB_IMAGE_RESIZE_IMPLEMENTATION
#define STBIR_ASSERT(x) assert(x)
#include "stb_image_resize.h"
#define QOI_IMPLEMENTATION
#define QOI_NO_STDIO
#include "qoi.h"