From d3f3abed023c330d549d7ef0c158e141bbeddd1e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dominik=20Madar=C3=A1sz?= Date: Sun, 26 Nov 2023 16:32:25 +0100 Subject: [PATCH] update ase2ini --- tools/3rd_aseprite.h | 1348 ---------------------------------------- tools/3rd_atlasc.h | 886 -------------------------- tools/3rd_delaunay.h | 1059 ------------------------------- tools/3rd_mid.h | 464 -------------- tools/3rd_sproutline.h | 441 ------------- tools/ase2ini.c | 33 +- tools/ase2ini.exe | Bin 373760 -> 353280 bytes 7 files changed, 19 insertions(+), 4212 deletions(-) delete mode 100644 tools/3rd_aseprite.h delete mode 100644 tools/3rd_atlasc.h delete mode 100644 tools/3rd_delaunay.h delete mode 100644 tools/3rd_mid.h delete mode 100644 tools/3rd_sproutline.h diff --git a/tools/3rd_aseprite.h b/tools/3rd_aseprite.h deleted file mode 100644 index f892b1e..0000000 --- a/tools/3rd_aseprite.h +++ /dev/null @@ -1,1348 +0,0 @@ -#define ASE_TRIMS 1 //< @r-lyeh - -/* - ------------------------------------------------------------------------------ - Licensing information can be found at the end of the file. - ------------------------------------------------------------------------------ - - cute_aseprite.h - v1.02 - - To create implementation (the function definitions) - #define CUTE_ASEPRITE_IMPLEMENTATION - in *one* C/CPP file (translation unit) that includes this file - - - SUMMARY - - cute_asesprite.h is a single-file header that implements some functions to - parse .ase/.aseprite files. The entire file is parsed all at once and some - structs are filled out then handed back to you. - - - LIMITATIONS - - Only the "normal" blend mode for layers is supported. As a workaround try - using the "merge down" function in Aseprite to create a normal layer. - Supporting all blend modes would take too much code to be worth it. - - Does not support very old versions of Aseprite (with old palette chunks - 0x0004 or 0x0011). Also does not support deprecated mask chunk. - - sRGB and ICC profiles are parsed but completely ignored when blending - frames together. If you want these to be used when composing frames you - have to do this yourself. - - - SPECIAL THANKS - - Special thanks to Noel Berry for the blend code in his reference C++ - implementation (https://github.com/NoelFB/blah). - - Special thanks to Richard Mitton for the initial implementation of the - zlib inflater. - - - Revision history: - 1.00 (08/25/2020) initial release - 1.01 (08/31/2020) fixed memleaks, tag parsing bug (crash), blend bugs - 1.02 (02/05/2022) fixed icc profile parse bug, support transparent pal- - ette index, can parse 1.3 files (no tileset support) -*/ - -/* - DOCUMENTATION - - Simply load an .ase or .aseprite file from disk or from memory like so. - - ase_t* ase = cute_aseprite_load_from_file("data/player.aseprite", NULL); - - - Then access the fields directly, assuming you have your own `Animation` type. - - int w = ase->w; - int h = ase->h; - Animation anim = { 0 }; // Your custom animation data type. - - for (int i = 0; i < ase->frame_count; ++i) { - ase_frame_t* frame = ase->frames + i; - anim.add_frame(frame->duration_milliseconds, frame->pixels); - } - - - Then free it up when done. - - cute_aseprite_free(ase); - - - DATA STRUCTURES - - Aseprite files have frames, layers, and cels. A single frame is one frame of an - animation, formed by blending all the cels of an animation together. There is - one cel per layer per frame. Each cel contains its own pixel data. - - The frame's pixels are automatically assumed to have been blended by the `normal` - blend mode. A warning is emit if any other blend mode is encountered. Feel free - to update the pixels of each frame with your own implementation of blending - functions. The frame's pixels are merely provided like this for convenience. - - - BUGS AND CRASHES - - This header is quite new and it takes time to test all the parse paths. Don't be - shy about opening a GitHub issue if there's a crash! It's quite easy to update - the parser as long as you upload your .ase file that shows the bug. - - https://github.com/RandyGaul/cute_headers/issues -*/ - -#ifndef CUTE_ASEPRITE_H -#define CUTE_ASEPRITE_H - -typedef struct ase_t ase_t; - -ase_t* cute_aseprite_load_from_file(const char* path, void* mem_ctx); -ase_t* cute_aseprite_load_from_memory(const void* memory, int size, void* mem_ctx); -void cute_aseprite_free(ase_t* aseprite); - -#define CUTE_ASEPRITE_MAX_LAYERS (64) -#define CUTE_ASEPRITE_MAX_SLICES (128) -#define CUTE_ASEPRITE_MAX_PALETTE_ENTRIES (1024) -#define CUTE_ASEPRITE_MAX_TAGS (256) - -#include - -typedef struct ase_color_t ase_color_t; -typedef struct ase_frame_t ase_frame_t; -typedef struct ase_layer_t ase_layer_t; -typedef struct ase_cel_t ase_cel_t; -typedef struct ase_tag_t ase_tag_t; -typedef struct ase_slice_t ase_slice_t; -typedef struct ase_palette_entry_t ase_palette_entry_t; -typedef struct ase_palette_t ase_palette_t; -typedef struct ase_udata_t ase_udata_t; -typedef struct ase_cel_extra_chunk_t ase_cel_extra_chunk_t; -typedef struct ase_color_profile_t ase_color_profile_t; -typedef struct ase_fixed_t ase_fixed_t; -typedef struct ase_cel_extra_chunk_t ase_cel_extra_chunk_t; - -struct ase_color_t -{ - uint8_t r, g, b, a; -}; - -struct ase_fixed_t -{ - uint16_t a; - uint16_t b; -}; - -struct ase_udata_t -{ - int has_color; - ase_color_t color; - int has_text; - const char* text; -}; - -typedef enum ase_layer_flags_t -{ - ASE_LAYER_FLAGS_VISIBLE = 0x01, - ASE_LAYER_FLAGS_EDITABLE = 0x02, - ASE_LAYER_FLAGS_LOCK_MOVEMENT = 0x04, - ASE_LAYER_FLAGS_BACKGROUND = 0x08, - ASE_LAYER_FLAGS_PREFER_LINKED_CELS = 0x10, - ASE_LAYER_FLAGS_COLLAPSED = 0x20, - ASE_LAYER_FLAGS_REFERENCE = 0x40, -} ase_layer_flags_t; - -typedef enum ase_layer_type_t -{ - ASE_LAYER_TYPE_NORMAL, - ASE_LAYER_TYPE_GROUP, -} ase_layer_type_t; - -struct ase_layer_t -{ - ase_layer_flags_t flags; - ase_layer_type_t type; - const char* name; - ase_layer_t* parent; - float opacity; - ase_udata_t udata; -}; - -struct ase_cel_extra_chunk_t -{ - int precise_bounds_are_set; - ase_fixed_t precise_x; - ase_fixed_t precise_y; - ase_fixed_t w, h; -}; - -struct ase_cel_t -{ - ase_layer_t* layer; - void* pixels; - int w, h; - int x, y; - float opacity; - int is_linked; - uint16_t linked_frame_index; - int has_extra; - ase_cel_extra_chunk_t extra; - ase_udata_t udata; -}; - -struct ase_frame_t -{ - ase_t* ase; - int duration_milliseconds; - ase_color_t* pixels; - int cel_count; - ase_cel_t cels[CUTE_ASEPRITE_MAX_LAYERS]; -}; - -typedef enum ase_animation_direction_t -{ - ASE_ANIMATION_DIRECTION_FORWARDS, - ASE_ANIMATION_DIRECTION_BACKWARDS, - ASE_ANIMATION_DIRECTION_PINGPONG, -} ase_animation_direction_t; - -struct ase_tag_t -{ - int from_frame; - int to_frame; - ase_animation_direction_t loop_animation_direction; - uint8_t r, g, b; - const char* name; - ase_udata_t udata; -}; - -struct ase_slice_t -{ - const char* name; - int frame_number; - int origin_x; - int origin_y; - int w, h; - - int has_center_as_9_slice; - int center_x; - int center_y; - int center_w; - int center_h; - - int has_pivot; - int pivot_x; - int pivot_y; - - ase_udata_t udata; -}; - -struct ase_palette_entry_t -{ - ase_color_t color; - const char* color_name; -}; - -struct ase_palette_t -{ - int entry_count; - ase_palette_entry_t entries[CUTE_ASEPRITE_MAX_PALETTE_ENTRIES]; -}; - -typedef enum ase_color_profile_type_t -{ - ASE_COLOR_PROFILE_TYPE_NONE, - ASE_COLOR_PROFILE_TYPE_SRGB, - ASE_COLOR_PROFILE_TYPE_EMBEDDED_ICC, -} ase_color_profile_type_t; - -struct ase_color_profile_t -{ - ase_color_profile_type_t type; - int use_fixed_gamma; - ase_fixed_t gamma; - uint32_t icc_profile_data_length; - void* icc_profile_data; -}; - -typedef enum ase_mode_t -{ - ASE_MODE_RGBA, - ASE_MODE_GRAYSCALE, - ASE_MODE_INDEXED -} ase_mode_t; - -struct ase_t -{ - ase_mode_t mode; - int w, h; - int transparent_palette_entry_index; - int number_of_colors; - int pixel_w; - int pixel_h; - int grid_x; - int grid_y; - int grid_w; - int grid_h; - int has_color_profile; - ase_color_profile_t color_profile; - ase_palette_t palette; - - int layer_count; - ase_layer_t layers[CUTE_ASEPRITE_MAX_LAYERS]; - - int frame_count; - ase_frame_t* frames; - - int tag_count; - ase_tag_t tags[CUTE_ASEPRITE_MAX_TAGS]; - - int slice_count; - ase_slice_t slices[CUTE_ASEPRITE_MAX_SLICES]; - - void* mem_ctx; -}; - -#endif // CUTE_ASEPRITE_H - -#ifdef CUTE_ASEPRITE_IMPLEMENTATION -#ifndef CUTE_ASEPRITE_IMPLEMENTATION_ONCE -#define CUTE_ASEPRITE_IMPLEMENTATION_ONCE - -#ifndef _CRT_SECURE_NO_WARNINGS - #define _CRT_SECURE_NO_WARNINGS -#endif - -#ifndef _CRT_NONSTDC_NO_DEPRECATE - #define _CRT_NONSTDC_NO_DEPRECATE -#endif - -#if !defined(CUTE_ASEPRITE_ALLOC) - #include - #define CUTE_ASEPRITE_ALLOC(size, ctx) malloc(size) - #define CUTE_ASEPRITE_FREE(mem, ctx) free(mem) -#endif - -#if !defined(CUTE_ASEPRITE_UNUSED) - #if defined(_MSC_VER) - #define CUTE_ASEPRITE_UNUSED(x) (void)x - #else - #define CUTE_ASEPRITE_UNUSED(x) (void)(sizeof(x)) - #endif -#endif - -#if !defined(CUTE_ASEPRITE_MEMCPY) - #include // memcpy - #define CUTE_ASEPRITE_MEMCPY memcpy -#endif - -#if !defined(CUTE_ASEPRITE_MEMSET) - #include // memset - #define CUTE_ASEPRITE_MEMSET memset -#endif - -#if !defined(CUTE_ASEPRITE_ASSERT) - #include - #define CUTE_ASEPRITE_ASSERT assert -#endif - -#if !defined(CUTE_ASEPRITE_SEEK_SET) - #include // SEEK_SET - #define CUTE_ASEPRITE_SEEK_SET SEEK_SET -#endif - -#if !defined(CUTE_ASEPRITE_SEEK_END) - #include // SEEK_END - #define CUTE_ASEPRITE_SEEK_END SEEK_END -#endif - -#if !defined(CUTE_ASEPRITE_FILE) - #include // FILE - #define CUTE_ASEPRITE_FILE FILE -#endif - -#if !defined(CUTE_ASEPRITE_FOPEN) - #include // fopen - #define CUTE_ASEPRITE_FOPEN fopen -#endif - -#if !defined(CUTE_ASEPRITE_FSEEK) - #include // fseek - #define CUTE_ASEPRITE_FSEEK fseek -#endif - -#if !defined(CUTE_ASEPRITE_FREAD) - #include // fread - #define CUTE_ASEPRITE_FREAD fread -#endif - -#if !defined(CUTE_ASEPRITE_FTELL) - #include // ftell - #define CUTE_ASEPRITE_FTELL ftell -#endif - -#if !defined(CUTE_ASEPRITE_FCLOSE) - #include // fclose - #define CUTE_ASEPRITE_FCLOSE fclose -#endif - -static const char* s_error_file = NULL; // The filepath of the file being parsed. NULL if from memory. -static const char* s_error_reason; // Used to capture errors during DEFLATE parsing. - -#if !defined(CUTE_ASEPRITE_WARNING) - #define CUTE_ASEPRITE_WARNING(msg) cute_aseprite_warning(msg, __LINE__) - - static int s_error_cline; // The line in cute_aseprite.h where the error was triggered. - void cute_aseprite_warning(const char* warning, int line) - { - s_error_cline = line; - const char *error_file = s_error_file ? s_error_file : "MEMORY"; - printf("WARNING (cute_aseprite.h:%i): %s (%s)\n", s_error_cline, warning, error_file); - } -#endif - -#define CUTE_ASEPRITE_FAIL() do { goto ase_err; } while (0) -#define CUTE_ASEPRITE_CHECK(X, Y) do { if (!(X)) { s_error_reason = Y; CUTE_ASEPRITE_FAIL(); } } while (0) -#define CUTE_ASEPRITE_CALL(X) do { if (!(X)) goto ase_err; } while (0) -#define CUTE_ASEPRITE_DEFLATE_MAX_BITLEN 15 - -// DEFLATE tables from RFC 1951 -static uint8_t s_fixed_table[288 + 32] = { - 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, - 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, - 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9, - 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9, - 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, -}; // 3.2.6 -static uint8_t s_permutation_order[19] = { 16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15 }; // 3.2.7 -static uint8_t s_len_extra_bits[29 + 2] = { 0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0, 0,0 }; // 3.2.5 -static uint32_t s_len_base[29 + 2] = { 3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258, 0,0 }; // 3.2.5 -static uint8_t s_dist_extra_bits[30 + 2] = { 0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13, 0,0 }; // 3.2.5 -static uint32_t s_dist_base[30 + 2] = { 1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577, 0,0 }; // 3.2.5 - -typedef struct deflate_t -{ - uint64_t bits; - int count; - uint32_t* words; - int word_count; - int word_index; - int bits_left; - - int final_word_available; - uint32_t final_word; - - char* out; - char* out_end; - char* begin; - - uint32_t lit[288]; - uint32_t dst[32]; - uint32_t len[19]; - uint32_t nlit; - uint32_t ndst; - uint32_t nlen; -} deflate_t; - -static int s_would_overflow(deflate_t* s, int num_bits) -{ - return (s->bits_left + s->count) - num_bits < 0; -} - -static char* s_ptr(deflate_t* s) -{ - CUTE_ASEPRITE_ASSERT(!(s->bits_left & 7)); - return (char*)(s->words + s->word_index) - (s->count / 8); -} - -static uint64_t s_peak_bits(deflate_t* s, int num_bits_to_read) -{ - if (s->count < num_bits_to_read) - { - if (s->word_index < s->word_count) - { - uint32_t word = s->words[s->word_index++]; - s->bits |= (uint64_t)word << s->count; - s->count += 32; - CUTE_ASEPRITE_ASSERT(s->word_index <= s->word_count); - } - - else if (s->final_word_available) - { - uint32_t word = s->final_word; - s->bits |= (uint64_t)word << s->count; - s->count += s->bits_left; - s->final_word_available = 0; - } - } - - return s->bits; -} - -static uint32_t s_consume_bits(deflate_t* s, int num_bits_to_read) -{ - CUTE_ASEPRITE_ASSERT(s->count >= num_bits_to_read); - uint32_t bits = (uint32_t)(s->bits & (((uint64_t)1 << num_bits_to_read) - 1)); - s->bits >>= num_bits_to_read; - s->count -= num_bits_to_read; - s->bits_left -= num_bits_to_read; - return bits; -} - -static uint32_t s_read_bits(deflate_t* s, int num_bits_to_read) -{ - CUTE_ASEPRITE_ASSERT(num_bits_to_read <= 32); - CUTE_ASEPRITE_ASSERT(num_bits_to_read >= 0); - CUTE_ASEPRITE_ASSERT(s->bits_left > 0); - CUTE_ASEPRITE_ASSERT(s->count <= 64); - CUTE_ASEPRITE_ASSERT(!s_would_overflow(s, num_bits_to_read)); - s_peak_bits(s, num_bits_to_read); - uint32_t bits = s_consume_bits(s, num_bits_to_read); - return bits; -} - -static uint32_t s_rev16(uint32_t a) -{ - a = ((a & 0xAAAA) >> 1) | ((a & 0x5555) << 1); - a = ((a & 0xCCCC) >> 2) | ((a & 0x3333) << 2); - a = ((a & 0xF0F0) >> 4) | ((a & 0x0F0F) << 4); - a = ((a & 0xFF00) >> 8) | ((a & 0x00FF) << 8); - return a; -} - -// RFC 1951 section 3.2.2 -static uint32_t s_build(deflate_t* s, uint32_t* tree, uint8_t* lens, int sym_count) -{ - int n, codes[16], first[16], counts[16] = { 0 }; - CUTE_ASEPRITE_UNUSED(s); - - // Frequency count - for (n = 0; n < sym_count; n++) counts[lens[n]]++; - - // Distribute codes - counts[0] = codes[0] = first[0] = 0; - for (n = 1; n <= 15; ++n) - { - codes[n] = (codes[n - 1] + counts[n - 1]) << 1; - first[n] = first[n - 1] + counts[n - 1]; - } - - for (uint32_t i = 0; i < (uint32_t)sym_count; ++i) - { - uint8_t len = lens[i]; - - if (len != 0) - { - CUTE_ASEPRITE_ASSERT(len < 16); - uint32_t code = (uint32_t)codes[len]++; - uint32_t slot = (uint32_t)first[len]++; - tree[slot] = (code << (32 - (uint32_t)len)) | (i << 4) | len; - } - } - - return (uint32_t)first[15]; -} - -static int s_stored(deflate_t* s) -{ - char* p; - - // 3.2.3 - // skip any remaining bits in current partially processed byte - s_read_bits(s, s->count & 7); - - // 3.2.4 - // read LEN and NLEN, should complement each other - uint16_t LEN = (uint16_t)s_read_bits(s, 16); - uint16_t NLEN = (uint16_t)s_read_bits(s, 16); - uint16_t TILDE_NLEN = ~NLEN; - CUTE_ASEPRITE_CHECK(LEN == TILDE_NLEN, "Failed to find LEN and NLEN as complements within stored (uncompressed) stream."); - CUTE_ASEPRITE_CHECK(s->bits_left / 8 <= (int)LEN, "Stored block extends beyond end of input stream."); - p = s_ptr(s); - CUTE_ASEPRITE_MEMCPY(s->out, p, LEN); - s->out += LEN; - return 1; - -ase_err: - return 0; -} - -// 3.2.6 -static int s_fixed(deflate_t* s) -{ - s->nlit = s_build(s, s->lit, s_fixed_table, 288); - s->ndst = s_build(0, s->dst, s_fixed_table + 288, 32); - return 1; -} - -static int s_decode(deflate_t* s, uint32_t* tree, int hi) -{ - uint64_t bits = s_peak_bits(s, 16); - uint32_t search = (s_rev16((uint32_t)bits) << 16) | 0xFFFF; - int lo = 0; - while (lo < hi) - { - int guess = (lo + hi) >> 1; - if (search < tree[guess]) hi = guess; - else lo = guess + 1; - } - - uint32_t key = tree[lo - 1]; - uint32_t len = (32 - (key & 0xF)); - CUTE_ASEPRITE_ASSERT((search >> len) == (key >> len)); - - s_consume_bits(s, key & 0xF); - return (key >> 4) & 0xFFF; -} - -// 3.2.7 -static int s_dynamic(deflate_t* s) -{ - uint8_t lenlens[19] = { 0 }; - - uint32_t nlit = 257 + s_read_bits(s, 5); - uint32_t ndst = 1 + s_read_bits(s, 5); - uint32_t nlen = 4 + s_read_bits(s, 4); - - for (uint32_t i = 0 ; i < nlen; ++i) - lenlens[s_permutation_order[i]] = (uint8_t)s_read_bits(s, 3); - - // Build the tree for decoding code lengths - s->nlen = s_build(0, s->len, lenlens, 19); - uint8_t lens[288 + 32]; - - for (uint32_t n = 0; n < nlit + ndst;) - { - int sym = s_decode(s, s->len, (int)s->nlen); - switch (sym) - { - case 16: for (uint32_t i = 3 + s_read_bits(s, 2); i; --i, ++n) lens[n] = lens[n - 1]; break; - case 17: for (uint32_t i = 3 + s_read_bits(s, 3); i; --i, ++n) lens[n] = 0; break; - case 18: for (uint32_t i = 11 + s_read_bits(s, 7); i; --i, ++n) lens[n] = 0; break; - default: lens[n++] = (uint8_t)sym; break; - } - } - - s->nlit = s_build(s, s->lit, lens, (int)nlit); - s->ndst = s_build(0, s->dst, lens + nlit, (int)ndst); - return 1; -} - -// 3.2.3 -static int s_block(deflate_t* s) -{ - while (1) - { - int symbol = s_decode(s, s->lit, (int)s->nlit); - - if (symbol < 256) - { - CUTE_ASEPRITE_CHECK(s->out + 1 <= s->out_end, "Attempted to overwrite out buffer while outputting a symbol."); - *s->out = (char)symbol; - s->out += 1; - } - - else if (symbol > 256) - { - symbol -= 257; - uint32_t length = s_read_bits(s, (int)(s_len_extra_bits[symbol])) + s_len_base[symbol]; - int distance_symbol = s_decode(s, s->dst, (int)s->ndst); - uint32_t backwards_distance = s_read_bits(s, s_dist_extra_bits[distance_symbol]) + s_dist_base[distance_symbol]; - CUTE_ASEPRITE_CHECK(s->out - backwards_distance >= s->begin, "Attempted to write before out buffer (invalid backwards distance)."); - CUTE_ASEPRITE_CHECK(s->out + length <= s->out_end, "Attempted to overwrite out buffer while outputting a string."); - char* src = s->out - backwards_distance; - char* dst = s->out; - s->out += length; - - switch (backwards_distance) - { - case 1: // very common in images - CUTE_ASEPRITE_MEMSET(dst, *src, (size_t)length); - break; - default: while (length--) *dst++ = *src++; - } - } - - else break; - } - - return 1; - -ase_err: - return 0; -} - -// 3.2.3 -static int s_inflate(const void* in, int in_bytes, void* out, int out_bytes, void* mem_ctx) -{ - CUTE_ASEPRITE_UNUSED(mem_ctx); - deflate_t* s = (deflate_t*)CUTE_ASEPRITE_ALLOC(sizeof(deflate_t), mem_ctx); - s->bits = 0; - s->count = 0; - s->word_index = 0; - s->bits_left = in_bytes * 8; - - // s->words is the in-pointer rounded up to a multiple of 4 - int first_bytes = (int)((((size_t)in + 3) & (size_t)(~3)) - (size_t)in); - s->words = (uint32_t*)((char*)in + first_bytes); - s->word_count = (in_bytes - first_bytes) / 4; - int last_bytes = ((in_bytes - first_bytes) & 3); - - for (int i = 0; i < first_bytes; ++i) - s->bits |= (uint64_t)(((uint8_t*)in)[i]) << (i * 8); - - s->final_word_available = last_bytes ? 1 : 0; - s->final_word = 0; - for(int i = 0; i < last_bytes; i++) - s->final_word |= ((uint8_t*)in)[in_bytes - last_bytes + i] << (i * 8); - - s->count = first_bytes * 8; - - s->out = (char*)out; - s->out_end = s->out + out_bytes; - s->begin = (char*)out; - - int count = 0; - uint32_t bfinal; - do - { - bfinal = s_read_bits(s, 1); - uint32_t btype = s_read_bits(s, 2); - - switch (btype) - { - case 0: CUTE_ASEPRITE_CALL(s_stored(s)); break; - case 1: s_fixed(s); CUTE_ASEPRITE_CALL(s_block(s)); break; - case 2: s_dynamic(s); CUTE_ASEPRITE_CALL(s_block(s)); break; - case 3: CUTE_ASEPRITE_CHECK(0, "Detected unknown block type within input stream."); - } - - ++count; - } - while (!bfinal); - - CUTE_ASEPRITE_FREE(s, mem_ctx); - return 1; - -ase_err: - CUTE_ASEPRITE_FREE(s, mem_ctx); - return 0; -} - -typedef struct ase_state_t -{ - uint8_t* in; - uint8_t* end; - void* mem_ctx; -} ase_state_t; - -static uint8_t s_read_uint8(ase_state_t* s) -{ - CUTE_ASEPRITE_ASSERT(s->in <= s->end + sizeof(uint8_t)); - uint8_t** p = &s->in; - uint8_t value = **p; - ++(*p); - return value; -} - -static uint16_t s_read_uint16(ase_state_t* s) -{ - CUTE_ASEPRITE_ASSERT(s->in <= s->end + sizeof(uint16_t)); - uint8_t** p = &s->in; - uint16_t value; - value = (*p)[0]; - value |= (((uint16_t)((*p)[1])) << 8); - *p += 2; - return value; -} - -static ase_fixed_t s_read_fixed(ase_state_t* s) -{ - ase_fixed_t value; - value.a = s_read_uint16(s); - value.b = s_read_uint16(s); - return value; -} - -static uint32_t s_read_uint32(ase_state_t* s) -{ - CUTE_ASEPRITE_ASSERT(s->in <= s->end + sizeof(uint32_t)); - uint8_t** p = &s->in; - uint32_t value; - value = (*p)[0]; - value |= (((uint32_t)((*p)[1])) << 8); - value |= (((uint32_t)((*p)[2])) << 16); - value |= (((uint32_t)((*p)[3])) << 24); - *p += 4; - return value; -} - -#ifdef CUTE_ASPRITE_S_READ_UINT64 -// s_read_uint64() is not currently used. -static uint64_t s_read_uint64(ase_state_t* s) -{ - CUTE_ASEPRITE_ASSERT(s->in <= s->end + sizeof(uint64_t)); - uint8_t** p = &s->in; - uint64_t value; - value = (*p)[0]; - value |= (((uint64_t)((*p)[1])) << 8 ); - value |= (((uint64_t)((*p)[2])) << 16); - value |= (((uint64_t)((*p)[3])) << 24); - value |= (((uint64_t)((*p)[4])) << 32); - value |= (((uint64_t)((*p)[5])) << 40); - value |= (((uint64_t)((*p)[6])) << 48); - value |= (((uint64_t)((*p)[7])) << 56); - *p += 8; - return value; -} -#endif - -#define s_read_int16(s) (int16_t)s_read_uint16(s) -#define s_read_int32(s) (int32_t)s_read_uint32(s) - -#ifdef CUTE_ASPRITE_S_READ_BYTES -// s_read_bytes() is not currently used. -static void s_read_bytes(ase_state_t* s, uint8_t* bytes, int num_bytes) -{ - for (int i = 0; i < num_bytes; ++i) { - bytes[i] = s_read_uint8(s); - } -} -#endif - -static const char* s_read_string(ase_state_t* s) -{ - int len = (int)s_read_uint16(s); - char* bytes = (char*)CUTE_ASEPRITE_ALLOC(len + 1, s->mem_ctx); - for (int i = 0; i < len; ++i) { - bytes[i] = (char)s_read_uint8(s); - } - bytes[len] = 0; - return bytes; -} - -static void s_skip(ase_state_t* ase, int num_bytes) -{ - CUTE_ASEPRITE_ASSERT(ase->in <= ase->end + num_bytes); - ase->in += num_bytes; -} - -static char* s_fopen(const char* path, int* size, void* mem_ctx) -{ - CUTE_ASEPRITE_UNUSED(mem_ctx); - char* data = 0; - CUTE_ASEPRITE_FILE* fp = CUTE_ASEPRITE_FOPEN(path, "rb"); - int sz = 0; - - if (fp) - { - CUTE_ASEPRITE_FSEEK(fp, 0, CUTE_ASEPRITE_SEEK_END); - sz = CUTE_ASEPRITE_FTELL(fp); - CUTE_ASEPRITE_FSEEK(fp, 0, CUTE_ASEPRITE_SEEK_SET); - data = (char*)CUTE_ASEPRITE_ALLOC(sz + 1, mem_ctx); - CUTE_ASEPRITE_FREAD(data, sz, 1, fp); - data[sz] = 0; - CUTE_ASEPRITE_FCLOSE(fp); - } - - if (size) *size = sz; - return data; -} - -ase_t* cute_aseprite_load_from_file(const char* path, void* mem_ctx) -{ - s_error_file = path; - int sz; - void* file = s_fopen(path, &sz, mem_ctx); - if (!file) { - CUTE_ASEPRITE_WARNING("Unable to find map file."); - return NULL; - } - ase_t* aseprite = cute_aseprite_load_from_memory(file, sz, mem_ctx); - CUTE_ASEPRITE_FREE(file, mem_ctx); - s_error_file = NULL; - return aseprite; -} - -static int s_mul_un8(int a, int b) -{ - int t = (a * b) + 0x80; - return (((t >> 8) + t) >> 8); -} - -static ase_color_t s_blend(ase_color_t src, ase_color_t dst, uint8_t opacity) -{ - src.a = (uint8_t)s_mul_un8(src.a, opacity); - int a = src.a + dst.a - s_mul_un8(src.a, dst.a); - int r, g, b; - if (a == 0) { - r = g = b = 0; - } else { - r = dst.r + (src.r - dst.r) * src.a / a; - g = dst.g + (src.g - dst.g) * src.a / a; - b = dst.b + (src.b - dst.b) * src.a / a; - } - ase_color_t ret = { (uint8_t)r, (uint8_t)g, (uint8_t)b, (uint8_t)a }; - return ret; -} - -static int s_min(int a, int b) -{ - return a < b ? a : b; -} - -static int s_max(int a, int b) -{ - return a < b ? b : a; -} - -static ase_color_t s_color(ase_t* ase, void* src, int index) -{ - ase_color_t result; - if (ase->mode == ASE_MODE_RGBA) { - result = ((ase_color_t*)src)[index]; - } else if (ase->mode == ASE_MODE_GRAYSCALE) { - uint8_t saturation = ((uint8_t*)src)[index * 2]; - uint8_t a = ((uint8_t*)src)[index * 2 + 1]; - result.r = result.g = result.b = saturation; - result.a = a; - } else { - CUTE_ASEPRITE_ASSERT(ase->mode == ASE_MODE_INDEXED); - uint8_t palette_index = ((uint8_t*)src)[index]; - if (palette_index == ase->transparent_palette_entry_index) { - result.r = 0; - result.g = 0; - result.b = 0; - result.a = 0; - } else { - result = ase->palette.entries[palette_index].color; - } - } - return result; -} - -ase_t* cute_aseprite_load_from_memory(const void* memory, int size, void* mem_ctx) -{ - ase_t* ase = (ase_t*)CUTE_ASEPRITE_ALLOC(sizeof(ase_t), mem_ctx); - CUTE_ASEPRITE_MEMSET(ase, 0, sizeof(*ase)); - - ase_state_t state = { 0 }; - ase_state_t* s = &state; - s->in = (uint8_t*)memory; - s->end = s->in + size; - s->mem_ctx = mem_ctx; - - s_skip(s, sizeof(uint32_t)); // File size. - int magic = (int)s_read_uint16(s); - if (magic != 0xA5E0) return CUTE_ASEPRITE_FREE(ase, mem_ctx), 0; // CUTE_ASEPRITE_ASSERT(magic == 0xA5E0); //< r-lyeh: soft abort - - ase->frame_count = (int)s_read_uint16(s); - ase->w = s_read_uint16(s); - ase->h = s_read_uint16(s); - uint16_t bpp = s_read_uint16(s) / 8; - if (bpp == 4) ase->mode = ASE_MODE_RGBA; - else if (bpp == 2) ase->mode = ASE_MODE_GRAYSCALE; - else { - CUTE_ASEPRITE_ASSERT(bpp == 1); - ase->mode = ASE_MODE_INDEXED; - } - uint32_t valid_layer_opacity = s_read_uint32(s) & 1; - int speed = s_read_uint16(s); - s_skip(s, sizeof(uint32_t) * 2); // Spec says skip these bytes, as they're zero'd. - ase->transparent_palette_entry_index = s_read_uint8(s); - s_skip(s, 3); // Spec says skip these bytes. - ase->number_of_colors = (int)s_read_uint16(s); - ase->pixel_w = (int)s_read_uint8(s); - ase->pixel_h = (int)s_read_uint8(s); - ase->grid_x = (int)s_read_int16(s); - ase->grid_y = (int)s_read_int16(s); - ase->grid_w = (int)s_read_uint16(s); - ase->grid_h = (int)s_read_uint16(s); - s_skip(s, 84); // For future use (set to zero). - - ase->frames = (ase_frame_t*)CUTE_ASEPRITE_ALLOC((int)(sizeof(ase_frame_t)) * ase->frame_count, mem_ctx); - CUTE_ASEPRITE_MEMSET(ase->frames, 0, sizeof(ase_frame_t) * (size_t)ase->frame_count); - - ase_udata_t* last_udata = NULL; - int was_on_tags = 0; - int tag_index = 0; - - ase_layer_t* layer_stack[CUTE_ASEPRITE_MAX_LAYERS]; - - // Parse all chunks in the .aseprite file. - for (int i = 0; i < ase->frame_count; ++i) { - ase_frame_t* frame = ase->frames + i; - frame->ase = ase; - s_skip(s, sizeof(uint32_t)); // Frame size. - magic = (int)s_read_uint16(s); - CUTE_ASEPRITE_ASSERT(magic == 0xF1FA); - int chunk_count = (int)s_read_uint16(s); - frame->duration_milliseconds = s_read_uint16(s); - if (frame->duration_milliseconds == 0) frame->duration_milliseconds = speed; - s_skip(s, 2); // For future use (set to zero). - uint32_t new_chunk_count = s_read_uint32(s); - if (new_chunk_count) chunk_count = (int)new_chunk_count; - - for (int j = 0; j < chunk_count; ++j) { - uint32_t chunk_size = s_read_uint32(s); - uint16_t chunk_type = s_read_uint16(s); - chunk_size -= (uint32_t)(sizeof(uint32_t) + sizeof(uint16_t)); - uint8_t* chunk_start = s->in; - - switch (chunk_type) { - case 0x2004: // Layer chunk. - { - CUTE_ASEPRITE_ASSERT(ase->layer_count < CUTE_ASEPRITE_MAX_LAYERS); - ase_layer_t* layer = ase->layers + ase->layer_count++; - layer->flags = (ase_layer_flags_t)s_read_uint16(s); - layer->type = (ase_layer_type_t)s_read_uint16(s); - layer->parent = NULL; - int child_level = (int)s_read_uint16(s); - layer_stack[child_level] = layer; - if (child_level) { - layer->parent = layer_stack[child_level - 1]; - } - s_skip(s, sizeof(uint16_t)); // Default layer width in pixels (ignored). - s_skip(s, sizeof(uint16_t)); // Default layer height in pixels (ignored). - int blend_mode = (int)s_read_uint16(s); - if (blend_mode) CUTE_ASEPRITE_WARNING("Unknown blend mode encountered."); - layer->opacity = s_read_uint8(s) / 255.0f; - if (!valid_layer_opacity) layer->opacity = 1.0f; - s_skip(s, 3); // For future use (set to zero). - layer->name = s_read_string(s); - last_udata = &layer->udata; - } break; - - case 0x2005: // Cel chunk. - { - CUTE_ASEPRITE_ASSERT(frame->cel_count < CUTE_ASEPRITE_MAX_LAYERS); - ase_cel_t* cel = frame->cels + frame->cel_count++; - int layer_index = (int)s_read_uint16(s); - cel->layer = ase->layers + layer_index; - cel->x = s_read_int16(s); - cel->y = s_read_int16(s); - cel->opacity = s_read_uint8(s) / 255.0f; - int cel_type = (int)s_read_uint16(s); - s_skip(s, 7); // For future (set to zero). - switch (cel_type) { - case 0: // Raw cel. - cel->w = s_read_uint16(s); - cel->h = s_read_uint16(s); - cel->pixels = CUTE_ASEPRITE_ALLOC(cel->w * cel->h * bpp, mem_ctx); - CUTE_ASEPRITE_MEMCPY(cel->pixels, s->in, (size_t)(cel->w * cel->h * bpp)); - s_skip(s, cel->w * cel->h * bpp); - break; - - case 1: // Linked cel. - cel->is_linked = 1; - cel->linked_frame_index = s_read_uint16(s); - break; - - case 2: // Compressed image cel. - { - cel->w = s_read_uint16(s); - cel->h = s_read_uint16(s); - int zlib_byte0 = s_read_uint8(s); - int zlib_byte1 = s_read_uint8(s); - int deflate_bytes = (int)chunk_size - (int)(s->in - chunk_start); - void* pixels = s->in; - CUTE_ASEPRITE_ASSERT((zlib_byte0 & 0x0F) == 0x08); // Only zlib compression method (RFC 1950) is supported. - CUTE_ASEPRITE_ASSERT((zlib_byte0 & 0xF0) <= 0x70); // Innapropriate window size detected. - CUTE_ASEPRITE_ASSERT(!(zlib_byte1 & 0x20)); // Preset dictionary is present and not supported. - int pixels_sz = cel->w * cel->h * bpp; - void* pixels_decompressed = CUTE_ASEPRITE_ALLOC(pixels_sz, mem_ctx); - int ret = s_inflate(pixels, deflate_bytes, pixels_decompressed, pixels_sz, mem_ctx); - if (!ret) CUTE_ASEPRITE_WARNING(s_error_reason); - cel->pixels = pixels_decompressed; - s_skip(s, deflate_bytes); - } break; - } - last_udata = &cel->udata; - } break; - - case 0x2006: // Cel extra chunk. - { - ase_cel_t* cel = frame->cels + frame->cel_count; - cel->has_extra = 1; - cel->extra.precise_bounds_are_set = (int)s_read_uint32(s); - cel->extra.precise_x = s_read_fixed(s); - cel->extra.precise_y = s_read_fixed(s); - cel->extra.w = s_read_fixed(s); - cel->extra.h = s_read_fixed(s); - s_skip(s, 16); // For future use (set to zero). - } break; - - case 0x2007: // Color profile chunk. - { - ase->has_color_profile = 1; - ase->color_profile.type = (ase_color_profile_type_t)s_read_uint16(s); - ase->color_profile.use_fixed_gamma = (int)s_read_uint16(s) & 1; - ase->color_profile.gamma = s_read_fixed(s); - s_skip(s, 8); // For future use (set to zero). - if (ase->color_profile.type == ASE_COLOR_PROFILE_TYPE_EMBEDDED_ICC) { - // Use the embedded ICC profile. - ase->color_profile.icc_profile_data_length = s_read_uint32(s); - ase->color_profile.icc_profile_data = CUTE_ASEPRITE_ALLOC(ase->color_profile.icc_profile_data_length, mem_ctx); - CUTE_ASEPRITE_MEMCPY(ase->color_profile.icc_profile_data, s->in, ase->color_profile.icc_profile_data_length); - s->in += ase->color_profile.icc_profile_data_length; - } - } break; - - case 0x2018: // Tags chunk. - { - ase->tag_count = (int)s_read_uint16(s); - s_skip(s, 8); // For future (set to zero). - CUTE_ASEPRITE_ASSERT(ase->tag_count < CUTE_ASEPRITE_MAX_TAGS); - for (int k = 0; k < ase->tag_count; ++k) { - ase_tag_t tag; - tag.from_frame = (int)s_read_uint16(s); - tag.to_frame = (int)s_read_uint16(s); - tag.loop_animation_direction = (ase_animation_direction_t)s_read_uint8(s); - s_skip(s, 8); // For future (set to zero). - tag.r = s_read_uint8(s); - tag.g = s_read_uint8(s); - tag.b = s_read_uint8(s); - s_skip(s, 1); // Extra byte (zero). - tag.name = s_read_string(s); - ase->tags[k] = tag; - } - was_on_tags = 1; - } break; - - case 0x2019: // Palette chunk. - { - ase->palette.entry_count = (int)s_read_uint32(s); - CUTE_ASEPRITE_ASSERT(ase->palette.entry_count <= CUTE_ASEPRITE_MAX_PALETTE_ENTRIES); - int first_index = (int)s_read_uint32(s); - int last_index = (int)s_read_uint32(s); - s_skip(s, 8); // For future (set to zero). - for (int k = first_index; k <= last_index; ++k) { - int has_name = s_read_uint16(s); - ase_palette_entry_t entry; - entry.color.r = s_read_uint8(s); - entry.color.g = s_read_uint8(s); - entry.color.b = s_read_uint8(s); - entry.color.a = s_read_uint8(s); - if (has_name) { - entry.color_name = s_read_string(s); - } else { - entry.color_name = NULL; - } - CUTE_ASEPRITE_ASSERT(k < CUTE_ASEPRITE_MAX_PALETTE_ENTRIES); - ase->palette.entries[k] = entry; - } - } break; - - case 0x2020: // Udata chunk. - { - CUTE_ASEPRITE_ASSERT(last_udata || was_on_tags); - if (was_on_tags && !last_udata) { - CUTE_ASEPRITE_ASSERT(tag_index < ase->tag_count); - last_udata = &ase->tags[tag_index++].udata; - } - int flags = (int)s_read_uint32(s); - if (flags & 1) { - last_udata->has_text = 1; - last_udata->text = s_read_string(s); - } - if (flags & 2) { - last_udata->color.r = s_read_uint8(s); - last_udata->color.g = s_read_uint8(s); - last_udata->color.b = s_read_uint8(s); - last_udata->color.a = s_read_uint8(s); - } - last_udata = NULL; - } break; - - case 0x2022: // Slice chunk. - { - int slice_count = (int)s_read_uint32(s); - int flags = (int)s_read_uint32(s); - s_skip(s, sizeof(uint32_t)); // Reserved. - const char* name = s_read_string(s); - for (int k = 0; k < (int)slice_count; ++k) { - ase_slice_t slice = { 0 }; - slice.name = name; - slice.frame_number = (int)s_read_uint32(s); - slice.origin_x = (int)s_read_int32(s); - slice.origin_y = (int)s_read_int32(s); - slice.w = (int)s_read_uint32(s); - slice.h = (int)s_read_uint32(s); - if (flags & 1) { - // It's a 9-patches slice. - slice.has_center_as_9_slice = 1; - slice.center_x = (int)s_read_int32(s); - slice.center_y = (int)s_read_int32(s); - slice.center_w = (int)s_read_uint32(s); - slice.center_h = (int)s_read_uint32(s); - } else if (flags & 2) { - // Has pivot information. - slice.has_pivot = 1; - slice.pivot_x = (int)s_read_int32(s); - slice.pivot_y = (int)s_read_int32(s); - } - CUTE_ASEPRITE_ASSERT(ase->slice_count < CUTE_ASEPRITE_MAX_SLICES); - ase->slices[ase->slice_count++] = slice; - last_udata = &ase->slices[ase->slice_count - 1].udata; - } - } break; - - default: - s_skip(s, (int)chunk_size); - break; - } - - uint32_t size_read = (uint32_t)(s->in - chunk_start); - CUTE_ASEPRITE_ASSERT(size_read == chunk_size); - } - } - - //< @r-lyeh: if num_layers > 1, then assume last layer #0 is a background layer. hide it - #if ASE_TRIMS - if(ase->layer_count > 1) ase->layers[0].flags &= ~ASE_LAYER_FLAGS_VISIBLE; - if(0) - for( int i = 0; i < ase->layer_count; ++i ) { - int match = 0; - match = !strcmpi(ase->layers[i].name, "grid"); - match |= !strcmpi(ase->layers[i].name, "background"); - match |= !strcmpi(ase->layers[i].name, "fondo"); - if(match) ase->layers[i].flags &= ~ASE_LAYER_FLAGS_VISIBLE; - } - #endif - //< - - // Blend all cel pixels into each of their respective frames, for convenience. - for (int i = 0; i < ase->frame_count; ++i) { - ase_frame_t* frame = ase->frames + i; - frame->pixels = (ase_color_t*)CUTE_ASEPRITE_ALLOC((int)(sizeof(ase_color_t)) * ase->w * ase->h, mem_ctx); - CUTE_ASEPRITE_MEMSET(frame->pixels, 0, sizeof(ase_color_t) * (size_t)ase->w * (size_t)ase->h); - ase_color_t* dst = frame->pixels; - for (int j = 0; j < frame->cel_count; ++j) { - ase_cel_t* cel = frame->cels + j; - if (!(cel->layer->flags & ASE_LAYER_FLAGS_VISIBLE)) { - continue; - } - if (cel->layer->parent && !(cel->layer->parent->flags & ASE_LAYER_FLAGS_VISIBLE)) { - continue; - } - while (cel->is_linked) { - ase_frame_t* frame = ase->frames + cel->linked_frame_index; - int found = 0; - for (int k = 0; k < frame->cel_count; ++k) { - if (frame->cels[k].layer == cel->layer) { - cel = frame->cels + k; - found = 1; - break; - } - } - CUTE_ASEPRITE_ASSERT(found); - } - void* src = cel->pixels; - uint8_t opacity = (uint8_t)(cel->opacity * cel->layer->opacity * 255.0f); - int cx = cel->x; - int cy = cel->y; - int cw = cel->w; - int ch = cel->h; - int cl = -s_min(cx, 0); - int ct = -s_min(cy, 0); - int dl = s_max(cx, 0); - int dt = s_max(cy, 0); - int dr = s_min(ase->w, cw + cx); - int db = s_min(ase->h, ch + cy); - int aw = ase->w; - for (int dx = dl, sx = cl; dx < dr; dx++, sx++) { - for (int dy = dt, sy = ct; dy < db; dy++, sy++) { - int dst_index = aw * dy + dx; - ase_color_t src_color = s_color(ase, src, cw * sy + sx); - ase_color_t dst_color = dst[dst_index]; - ase_color_t result = s_blend(src_color, dst_color, opacity); - dst[dst_index] = result; - } - } - } - } - - ase->mem_ctx = mem_ctx; - return ase; -} - -void cute_aseprite_free(ase_t* ase) -{ - for (int i = 0; i < ase->frame_count; ++i) { - ase_frame_t* frame = ase->frames + i; - CUTE_ASEPRITE_FREE(frame->pixels, ase->mem_ctx); - for (int j = 0; j < frame->cel_count; ++j) { - ase_cel_t* cel = frame->cels + j; - CUTE_ASEPRITE_FREE(cel->pixels, ase->mem_ctx); - CUTE_ASEPRITE_FREE((void*)cel->udata.text, ase->mem_ctx); - } - } - for (int i = 0; i < ase->layer_count; ++i) { - ase_layer_t* layer = ase->layers + i; - CUTE_ASEPRITE_FREE((void*)layer->name, ase->mem_ctx); - CUTE_ASEPRITE_FREE((void*)layer->udata.text, ase->mem_ctx); - } - for (int i = 0; i < ase->tag_count; ++i) { - ase_tag_t* tag = ase->tags + i; - CUTE_ASEPRITE_FREE((void*)tag->name, ase->mem_ctx); - } - for (int i = 0; i < ase->slice_count; ++i) { - ase_slice_t* slice = ase->slices + i; - CUTE_ASEPRITE_FREE((void*)slice->udata.text, ase->mem_ctx); - } - if (ase->slice_count) { - CUTE_ASEPRITE_FREE((void*)ase->slices[0].name, ase->mem_ctx); - } - for (int i = 0; i < ase->palette.entry_count; ++i) { - CUTE_ASEPRITE_FREE((void*)ase->palette.entries[i].color_name, ase->mem_ctx); - } - CUTE_ASEPRITE_FREE(ase->color_profile.icc_profile_data, ase->mem_ctx); - CUTE_ASEPRITE_FREE(ase->frames, ase->mem_ctx); - CUTE_ASEPRITE_FREE(ase, ase->mem_ctx); -} - -#endif // CUTE_ASEPRITE_IMPLEMENTATION_ONCE -#endif // CUTE_ASEPRITE_IMPLEMENTATION - -/* - ------------------------------------------------------------------------------ - This software is available under 2 licenses - you may choose the one you like. - ------------------------------------------------------------------------------ - ALTERNATIVE A - zlib license - Copyright (c) 2017 Randy Gaul http://www.randygaul.net - This software is provided 'as-is', without any express or implied warranty. - In no event will the authors be held liable for any damages arising from - the use of this software. - Permission is granted to anyone to use this software for any purpose, - including commercial applications, and to alter it and redistribute it - freely, subject to the following restrictions: - 1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. - 2. Altered source versions must be plainly marked as such, and must not - be misrepresented as being the original software. - 3. This notice may not be removed or altered from any source distribution. - ------------------------------------------------------------------------------ - ALTERNATIVE B - Public Domain (www.unlicense.org) - This is free and unencumbered software released into the public domain. - Anyone is free to copy, modify, publish, use, compile, sell, or distribute this - software, either in source code form or as a compiled binary, for any purpose, - commercial or non-commercial, and by any means. - In jurisdictions that recognize copyright laws, the author or authors of this - software dedicate any and all copyright interest in the software to the public - domain. We make this dedication for the benefit of the public at large and to - the detriment of our heirs and successors. We intend this dedication to be an - overt act of relinquishment in perpetuity of all present and future rights to - this software under copyright law. - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN - ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION - WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - ------------------------------------------------------------------------------ -*/ diff --git a/tools/3rd_atlasc.h b/tools/3rd_atlasc.h deleted file mode 100644 index ae2b121..0000000 --- a/tools/3rd_atlasc.h +++ /dev/null @@ -1,886 +0,0 @@ -// atlasc.c -// Copyright 2019 Sepehr Taghdisian (septag@github). All rights reserved. -// License: https://github.com/septag/atlasc#license-bsd-2-clause -// -// sx_math.h -// Copyright 2018 Sepehr Taghdisian (septag@github). All rights reserved. -// License: https://github.com/septag/sx#license-bsd-2-clause - -#ifndef ATLASC_HEADER -#define ATLASC_HEADER - -#define ATLASC_VERSION "1.2.3" - -#include -#include -#include - -#ifndef __cplusplus -#define ATLAS_CAST -#else -#define ATLAS_CAST(T) T -extern "C" { -#endif - -typedef union vec2 { struct { float x, y; }; float f[2]; } vec2; -typedef union vec3 { struct { float x, y, z; }; float f[3]; } vec3; -typedef union vec2i { struct { int x, y; }; int n[2]; } vec2i; -typedef union recti { struct { int xmin, ymin, xmax, ymax; }; struct { vec2i vmin, vmax; }; int f[4]; } recti; - -typedef struct atlas_flags { - int alpha_threshold; - float dist_threshold; - int max_width; - int max_height; - int border; - int pot; - int padding; - int mesh; - int max_verts_per_mesh; - float scale; -} atlas_flags; - -typedef struct atlas_image { - uint8_t* pixels; // only supports 32bpp RGBA format - int width; - int height; - char *name; -} atlas_image; - -typedef struct atlas_sprite { - uint8_t* src_image; // RGBA image buffer (32bpp) - vec2i src_size; // widthxheight - recti sprite_rect; // cropped rectangle relative to sprite's source image (pixels) - recti sheet_rect; // rectangle in final sheet (pixels) - char *name; - unsigned frame; - - // sprite-mesh data (if flag is set. see atlas_flags) - uint16_t num_tris; - int num_points; - vec2i* pts; - vec2i* uvs; - uint16_t* tris; -} atlas_sprite; - -typedef struct atlas_t { - atlas_sprite* sprites; - int num_sprites; - int* frames; - int num_frames; - atlas_image output; -} atlas_t; - -// receives input files and common arguments. returns atlas_t -// you have to free the data after use with `atlas_free` -atlas_t* atlas_loadfiles(array(char*) files, atlas_flags flags); - -// receives input image buffers and common arguments. returns atlas_t -// you have to free the data after use with `atlas_free` -atlas_t* atlas_loadimages(array(atlas_image) images, atlas_flags flags); - -// -bool atlas_save(const char *outfile, const atlas_t* atlas, atlas_flags flags); - -// frees atlas_t memory -void atlas_free(atlas_t* atlas); - -// returns the last error string -const char* atlas_last_error(); - -#ifdef __cplusplus -} -#endif -#endif // ATLASC_HEADER - -// -#ifdef ATLASC_IMPLEMENTATION -#include -#include - -//////////////////////////////////////////////////////////////////////////////////////////////////// -// Types/Primitives - -#define vec2(x,y) (ATLAS_CAST(vec2) { (float)(x), (float)(y) }) -#define vec3(x,y,z) (ATLAS_CAST(vec3) { (float)(x), (float)(y), (float)(z) }) -#define vec2i(x,y) (ATLAS_CAST(vec2i) { (int)(x), (int)(y) }) -#define recti(x,y,X,Y) (ATLAS_CAST(recti) { (int)(x), (int)(y), (int)(X), (int)(Y) }) - -#define minf(a,b) ((a) < (b) ? (a) : (b)) -#define maxf(a,b) ((a) > (b) ? (a) : (b)) -#define clampf(a,b,c) ( (a) < (b) ? (b) : (a) > (c) ? (c) : (a)) - -static int nearest_pow2(int n) { return --n, n |= n >> 1, n |= n >> 2, n |= n >> 4, n |= n >> 8, n |= n >> 16, ++n; } // https://graphics.stanford.edu/~seander/bithacks.html#RoundUpPowerOf2 -static float sx_abs(float _a) { union { float f; unsigned int ui; } u = { _a }; return u.ui &= 0x7FFFFFFF, u.f; } -static bool equalf(float _a, float _b, float _epsilon) { const float lhs = sx_abs(_a - _b), aa = sx_abs(_a), ab = sx_abs(_b), rhs = _epsilon * maxf(1.0f, maxf(aa, ab)); return lhs <= rhs; } // http://realtimecollisiondetection.net/blog/?t=89 - -static vec3 cross3(const vec3 _a, const vec3 _b) { return vec3(_a.y * _b.z - _a.z * _b.y, _a.z * _b.x - _a.x * _b.z, _a.x * _b.y - _a.y * _b.x); } - -static float dot2(const vec2 _a, const vec2 _b) { return _a.x * _b.x + _a.y * _b.y; } -static float len2(const vec2 _a) { return sqrt(dot2(_a, _a)); } -static vec2 norm2(const vec2 _a) { const float len = len2(_a); /*assert(len > 0 && "Divide by zero");*/ return vec2(_a.x / (len + !len), _a.y / (len + !len)); } -static vec2 add2(const vec2 _a, const vec2 _b) { return vec2(_a.x + _b.x, _a.y + _b.y); } -static vec2 sub2(const vec2 _a, const vec2 _b) { return vec2(_a.x - _b.x, _a.y - _b.y); } -static vec2 scale2(const vec2 _a, float _b) { return vec2(_a.x * _b, _a.y * _b); } - -static vec2i add2i(const vec2i _a, const vec2i _b) { return vec2i(_a.x + _b.x, _a.y + _b.y); } -static vec2i sub2i(const vec2i _a, const vec2i _b) { return vec2i(_a.x - _b.x, _a.y - _b.y); } -static vec2i min2i(const vec2i _a, const vec2i _b) { return vec2i(minf(_a.x, _b.x), minf(_a.y, _b.y)); } -static vec2i max2i(const vec2i _a, const vec2i _b) { return vec2i(maxf(_a.x, _b.x), maxf(_a.y, _b.y)); } - -static recti rectiwh(int _x, int _y, int _w, int _h) { return recti(_x, _y, _x + _w, _y + _h); } -static recti recti_expand(const recti rc, const vec2i expand) { return recti(rc.xmin - expand.x, rc.ymin - expand.y, rc.xmax + expand.x, rc.ymax + expand.y); } -static void recti_add_point(recti* rc, const vec2i pt) { rc->vmin = min2i(rc->vmin, pt); rc->vmax = max2i(rc->vmax, pt); } - -// ---------------------------------------------------------------------------- - -#ifndef ATLAS_REALLOC -#define ATLAS_REALLOC realloc -#endif -#ifndef ATLAS_MSIZE -#define ATLAS_MSIZE _msize -#endif -#ifndef ATLAS_CALLOC -#define ATLAS_CALLOC(n,m) memset(ATLAS_REALLOC(0, (n)*(m)), 0, (n)*(m)) -#endif -#ifndef ATLAS_FREE -#define ATLAS_FREE(ptr) ((ptr) = ATLAS_REALLOC((ptr), 0)) -#endif - -#define align_mask(_value, _mask) (((_value) + (_mask)) & ((~0) & (~(_mask)))) - -static void panic_if(int fail) { if(fail) exit(-fprintf(stderr, "out of memory!\n")); } - -static void path_unixpath(char *buf, unsigned buflen, const char *inpath) { - snprintf(buf, buflen, "%s", inpath); - while( strchr(buf, '\\') ) *strchr(buf, '\\') = '/'; -} -static void path_basename(char *buf, unsigned buflen, const char *inpath) { - const char *a = strrchr(inpath, '\\'); - const char *b = strrchr(inpath, '/'); - snprintf(buf, buflen, "%s", a > b ? a+1 : b > a ? b+1 : inpath ); -} -static bool path_isfile(const char* filepath) { - FILE *f = fopen(filepath, "rb"); - return f ? fclose(f), 1 : 0; -} - -static char g_error_str[512]; -const char* atlas_last_error() -{ - return g_error_str; -} - -static void atlas__free_sprites(atlas_sprite* sprites, int num_sprites) -{ - for (int i = 0; i < num_sprites; i++) { - if (sprites[i].src_image) { - stbi_image_free(sprites[i].src_image); - } - - if (sprites[i].tris) { - ATLAS_FREE(sprites[i].tris); - } - - if (sprites[i].pts) { - ATLAS_FREE(sprites[i].pts); - } - - if (sprites[i].uvs) { - ATLAS_FREE(sprites[i].uvs); - } - - if (sprites[i].name) { - ATLAS_FREE(sprites[i].name); - } - } - ATLAS_FREE(sprites); -} - -static void atlas__blit(uint8_t* dst, int dst_x, int dst_y, int dst_pitch, const uint8_t* src, - int src_x, int src_y, int src_w, int src_h, int src_pitch, int bpp) -{ - assert(dst); - assert(src); - - const int pixel_sz = bpp / 8; - const uint8_t* src_ptr = src + src_y * src_pitch + src_x * pixel_sz; - uint8_t* dst_ptr = dst + dst_y * dst_pitch + dst_x * pixel_sz; - for (int y = src_y; y < (src_y + src_h); y++) { - memcpy(dst_ptr, src_ptr, src_w * pixel_sz); - src_ptr += src_pitch; - dst_ptr += dst_pitch; - } -} - -static vec2 atlas__itof2(const s2o_point p) -{ - return vec2((float)p.x, (float)p.y); -} - -// modified version of: -// https://github.com/anael-seghezzi/Maratis-Tiny-C-library/blob/master/include/m_raster.h -static bool atlas__test_line(const uint8_t* buffer, int w, int h, s2o_point p0, s2o_point p1) -{ - const uint8_t* data = buffer; - - int x0 = p0.x; - int y0 = p0.y; - int x1 = p1.x; - int y1 = p1.y; - int dx = abs(x1 - x0), sx = x0 < x1 ? 1 : -1; - int dy = -abs(y1 - y0), sy = y0 < y1 ? 1 : -1; - int err = dx + dy, e2; - - while (1) { - if (x0 > -1 && y0 > -1 && x0 < w && y0 < h) { - const uint8_t* pixel = data + (y0 * w + x0); - if (*pixel) - return true; // line intersects with image data - } - - if (x0 == x1 && y0 == y1) - break; - - e2 = 2 * err; - if (e2 >= dy) { - err += dy; - x0 += sx; - } - if (e2 <= dx) { - err += dx; - y0 += sy; - } - } - - return false; -} - -// returns true if 'pts' buffer is changed -static bool atlas__offset_pt(s2o_point* pts, int num_pts, int pt_idx, float amount, int w, int h) -{ - s2o_point ipt = pts[pt_idx]; - s2o_point _ipt = ipt; - vec2 pt = atlas__itof2(ipt); - vec2 prev_pt = (pt_idx > 0) ? atlas__itof2(pts[pt_idx - 1]) : atlas__itof2(pts[num_pts - 1]); - vec2 next_pt = (pt_idx + 1) < num_pts ? atlas__itof2(pts[pt_idx + 1]) : atlas__itof2(pts[0]); - vec2 edge1 = norm2(sub2(prev_pt, pt)); - vec2 edge2 = norm2(sub2(next_pt, pt)); - - // calculate normal vector to move the point away from the polygon - vec2 n; - vec3 c = cross3(vec3(edge1.x, edge1.y, 0), vec3(edge2.x, edge2.y, 0)); - if (equalf(c.z, 0.0f, 0.00001f)) { - n = scale2(vec2(-edge1.y, edge1.x), amount); - } else { - // c.z < 0 -> point intersecting convex edges - // c.z > 0 -> point intersecting concave edges - float k = c.z < 0.0f ? -1.0f : 1.0f; - n = scale2(norm2(add2(edge1, edge2)), k * amount); - } - - pt = add2(pt, n); - ipt.x = (int)pt.x; - ipt.y = (int)pt.y; - ipt.x = clampf(ipt.x, 0, w); - ipt.y = clampf(ipt.y, 0, h); - pts[pt_idx] = ipt; - return (_ipt.x != ipt.x) || (_ipt.y != ipt.y); -} - -static void atlas__fix_outline_pts(const uint8_t* thresholded, int tw, int th, s2o_point* pts, - int num_pts) -{ - // NOTE: winding is assumed to be CW - const float offset_amount = 2.0f; - - for (int i = 0; i < num_pts; i++) { - s2o_point pt = pts[i]; - int next_i = (i + 1) < num_pts ? (i + 1) : 0; - -// assert(!thresholded[pt.y * tw + pt.x]); // point shouldn't be inside threshold - - s2o_point next_pt = pts[next_i]; - while (atlas__test_line(thresholded, tw, th, pt, next_pt)) { - if (!atlas__offset_pt(pts, num_pts, i, offset_amount, tw, th)) - break; - atlas__offset_pt(pts, num_pts, next_i, offset_amount, tw, th); - // refresh points for the new line intersection test - pt = pts[i]; - next_pt = pts[next_i]; - } - } -} - -static void atlas__make_mesh(atlas_sprite* spr, const s2o_point* pts, int pt_count, int max_verts, - const uint8_t* thresholded, int width, int height) -{ - s2o_point* temp_pts = ATLAS_CALLOC(pt_count,sizeof(s2o_point)); - panic_if(!temp_pts); - - memcpy(temp_pts, pts, sizeof(s2o_point)*pt_count); - int num_verts = pt_count; - - if (width > 1 && height > 1) { - const float delta = 0.5f; - const float threshold_start = 0.5f; - float threshold = threshold_start; - - for(;;) { - s2o_distance_based_path_simplification(temp_pts, &num_verts, threshold); - - if(num_verts <= max_verts) break; - - memcpy(temp_pts, pts, sizeof(s2o_point)*pt_count); - num_verts = pt_count; - - threshold += delta; - } - - // fix any collisions with the actual image // @r-lyeh: method below is buggy. will return dupe points - atlas__fix_outline_pts(thresholded, width, height, temp_pts, num_verts); - } - - //< @r-lyeh: remove dupes - for (int i = 0; i < num_verts - 1; i++) { - for (int j = i + 1; j < num_verts; j++) { - if( temp_pts[i].x == temp_pts[j].x && temp_pts[i].y == temp_pts[j].y ) { - temp_pts[j].x = temp_pts[num_verts - 1].x; - temp_pts[j].y = temp_pts[num_verts - 1].y; - --num_verts; - --j; - } - } - } - //< - - // triangulate - del_point2d_t* dpts = ATLAS_CALLOC(num_verts, sizeof(del_point2d_t)); - panic_if(!dpts); - - for (int i = 0; i < num_verts; i++) { - dpts[i].x = (double)temp_pts[i].x; - dpts[i].y = (double)temp_pts[i].y; - //printf("%d) %f,%f\n", i, dpts[i].x, dpts[i].y); //< @r-lyeh: debug dupe points - } - - delaunay2d_t* polys = delaunay2d_from(dpts, num_verts); - assert(polys); - tri_delaunay2d_t* tris = tri_delaunay2d_from(polys); - assert(tris); - ATLAS_FREE(dpts); - delaunay2d_release(polys); - - assert(tris->num_triangles < UINT16_MAX); - spr->tris = ATLAS_CALLOC(tris->num_triangles * 3,sizeof(uint16_t)); - spr->pts = ATLAS_CALLOC(tris->num_points, sizeof(vec2i)); - assert(spr->tris); - assert(spr->pts); - - for (unsigned int i = 0; i < tris->num_triangles; i++) { - unsigned int index = i * 3; - spr->tris[index] = (uint16_t)tris->tris[index]; - spr->tris[index + 1] = (uint16_t)tris->tris[index + 1]; - spr->tris[index + 2] = (uint16_t)tris->tris[index + 2]; - } - for (unsigned int i = 0; i < tris->num_points; i++) { - spr->pts[i] = vec2i((int)tris->points[i].x, (int)tris->points[i].y); - } - spr->num_tris = (uint16_t)tris->num_triangles; - spr->num_points = (int)tris->num_points; - - tri_delaunay2d_release(tris); - ATLAS_FREE(temp_pts); -} - -atlas_t* atlas_loadimages(array(atlas_image) images, atlas_flags flags) -{ - assert(images); - - array(int) frames = 0; - array(atlas_sprite) sprites = 0; - - for (int i = 0; i < array_count(images); i++) { - - // find is_cached - { - int found = 0, k = 0; - static array(uint64_t) cache = 0; - static array(uint64_t) index = 0; - uint64_t hash = hash_init; - hash = hash_bin(&images[i].width, sizeof(images[i].width), hash); - hash = hash_bin(&images[i].height, sizeof(images[i].height), hash); - hash = hash_bin((char*)images[i].pixels, images[i].width * images[i].height * 4, hash); - for (; k < array_count(cache); ++k) - if (cache[k] == hash) { found = 1; break; } - if (found) { - array_push(frames, index[k]); - continue; - } else { - array_push(cache, hash); - array_push(index, k); - array_push(frames, k); - } - //printf("%d) %llx\n", array_count(cache), hash); - } - - atlas_sprite zero = {0}; - atlas_sprite* spr = &zero; - if(images[i].name) spr->name = STRDUP(images[i].name); - spr->frame = i; - - spr->src_size.x = images[i].width; - spr->src_size.y = images[i].height; - assert(images[i].width > 0 && images[i].height > 0); - assert(images[i].pixels); - uint8_t* pixels = images[i].pixels; - - // rescale - if (!equalf(flags.scale, 1.0f, 0.0001f)) { - int target_w = (int)((float)spr->src_size.x * flags.scale); - int target_h = (int)((float)spr->src_size.y * flags.scale); - uint8_t* resized_pixels = ATLAS_CALLOC(1, 4 * target_w * target_h); - panic_if(!resized_pixels); - - if (!stbir_resize_uint8(pixels, spr->src_size.x, spr->src_size.y, 4 * spr->src_size.x, - resized_pixels, target_w, target_h, 4 * target_w, 4)) { - snprintf(g_error_str, sizeof(g_error_str), "could not resize image: #%d", i + 1); - atlas__free_sprites(sprites, array_count(sprites)); - return NULL; - } - - stbi_image_free(pixels); - - spr->src_size.x = target_w; - spr->src_size.y = target_h; - pixels = resized_pixels; - } - - spr->src_image = pixels; - - recti sprite_rect = {0}; - int pt_count = 0; - s2o_point* pts = 0; - uint8_t* alpha = s2o_rgba_to_alpha(spr->src_image, spr->src_size.x, spr->src_size.y); - uint8_t* thresholded = s2o_alpha_to_thresholded(alpha, spr->src_size.x, spr->src_size.y, flags.alpha_threshold); - free(alpha); - - if (flags.mesh && spr->src_size.x > 1 && spr->src_size.y > 1) { - uint8_t* dilate_thres = s2o_dilate_thresholded(thresholded, spr->src_size.x, spr->src_size.y); - - uint8_t* outlined = s2o_thresholded_to_outlined(dilate_thres, spr->src_size.x, spr->src_size.y); - free(dilate_thres); - - pts = s2o_extract_outline_path(outlined, spr->src_size.x, spr->src_size.y, &pt_count, NULL); - free(outlined); - - //< @r-lyeh @fixme: many sprites will return extremely low num of points (like 8) even if the sprite is complex enough. - //< this will lead to produce here a nearly zero sprite_rect, then sheet_rect, then eventually an empty frame at end of pipeline. - - // calculate cropped rectangle - sprite_rect = recti(INT_MAX, INT_MAX, INT_MIN, INT_MIN); - for (int k = 0; k < pt_count; k++) { - recti_add_point(&sprite_rect, vec2i(pts[k].x, pts[k].y)); - } - sprite_rect.xmax++; - sprite_rect.ymax++; - } else { - sprite_rect = recti(0, 0, spr->src_size.x, spr->src_size.y); - pt_count = 4; - pts = ATLAS_CALLOC(pt_count, sizeof(s2o_point)); - pts[0] = (s2o_point) {0, 0}; - pts[1] = (s2o_point) {spr->src_size.x, 0}; - pts[2] = (s2o_point) {spr->src_size.x, spr->src_size.y}; - pts[3] = (s2o_point) {0, spr->src_size.y}; - } - - // generate mesh if set in arguments - if (flags.mesh) { - atlas__make_mesh(spr, pts, pt_count, flags.max_verts_per_mesh, thresholded, - spr->src_size.x, spr->src_size.y); - } - - ATLAS_FREE(pts); - free(thresholded); - spr->sprite_rect = sprite_rect; - - array_push(sprites, *spr); - } - - int num_sprites = array_count(sprites); - - // pack sprites into a sheet - stbrp_context rp_ctx = {0}; - int max_width = flags.max_width; - int max_height = flags.max_height; - int num_rp_nodes = max_width + max_height; - stbrp_rect* rp_rects = ATLAS_CALLOC(num_sprites, sizeof(stbrp_rect)); - stbrp_node* rp_nodes = ATLAS_CALLOC(num_rp_nodes, sizeof(stbrp_node)); - panic_if(!rp_rects || !rp_nodes); - - for (int i = 0; i < num_sprites; i++) { - recti rc = sprites[i].sprite_rect; - int rc_resize = (flags.border + flags.padding) * 2; - rp_rects[i].w = (rc.xmax - rc.xmin) + rc_resize; - rp_rects[i].h = (rc.ymax - rc.ymin) + rc_resize; - } - stbrp_init_target(&rp_ctx, max_width, max_height, rp_nodes, num_rp_nodes); - recti final_rect = recti(INT_MAX, INT_MAX, INT_MIN, INT_MIN); - if (stbrp_pack_rects(&rp_ctx, rp_rects, num_sprites)) { - for (int i = 0; i < num_sprites; i++) { - atlas_sprite* spr = &sprites[i]; - recti sheet_rect = rectiwh(rp_rects[i].x, rp_rects[i].y, rp_rects[i].w, rp_rects[i].h); - - // calculate the total size of output image - recti_add_point(&final_rect, sheet_rect.vmin); - recti_add_point(&final_rect, sheet_rect.vmax); - - // shrink back rect and set the real sheet_rect for the sprite - spr->sheet_rect = - recti_expand(sheet_rect, vec2i(-flags.border, -flags.border)); - } - } - - int dst_w = final_rect.xmax - final_rect.xmin; - int dst_h = final_rect.ymax - final_rect.ymin; - // make output size divide by 4 by default - dst_w = align_mask(dst_w, 3); - dst_h = align_mask(dst_h, 3); - - if (flags.pot) { - dst_w = nearest_pow2(dst_w); - dst_h = nearest_pow2(dst_h); - } - - uint8_t* dst = ATLAS_CALLOC(1, dst_w * dst_h * 4); - panic_if(!dst); - - // calculate UVs for sprite meshes - if (flags.mesh) { - for (int i = 0; i < num_sprites; i++) { - atlas_sprite* spr = &sprites[i]; - // if sprite has mesh, calculate UVs for it - if (spr->pts && spr->num_points) { - const int padding = flags.padding; - vec2i offset = spr->sprite_rect.vmin; - vec2i sheet_pos = - vec2i(spr->sheet_rect.xmin + padding, spr->sheet_rect.ymin + padding); - vec2i* uvs = ATLAS_CALLOC(spr->num_points, sizeof(vec2i)); - assert(uvs); - for (int pi = 0; pi < spr->num_points; pi++) { - vec2i pt = spr->pts[pi]; - uvs[pi] = add2i(sub2i(pt, offset), sheet_pos); - } - - spr->uvs = uvs; - } // generate uvs - } - } - - for (int i = 0; i < num_sprites; i++) { - const atlas_sprite* spr = &sprites[i]; - - // calculate UVs for sprite-meshes - - // remove padding and blit from src_image to dst - recti dstrc = recti_expand(spr->sheet_rect, vec2i(-flags.padding, -flags.padding)); - recti srcrc = spr->sprite_rect; - atlas__blit(dst, dstrc.xmin, dstrc.ymin, dst_w * 4, spr->src_image, srcrc.xmin, srcrc.ymin, - srcrc.xmax - srcrc.xmin, srcrc.ymax - srcrc.ymin, spr->src_size.x * 4, 32); - } - - atlas_t* atlas = ATLAS_CALLOC(1, sizeof(atlas_t)); - panic_if(!atlas); - - atlas->output.pixels = dst; - atlas->output.width = dst_w; - atlas->output.height = dst_h; - atlas->sprites = sprites; - atlas->num_sprites = num_sprites; - atlas->frames = frames; - atlas->num_frames = array_count(frames); - - ATLAS_FREE(rp_nodes); - ATLAS_FREE(rp_rects); - - return atlas; -} - -static char *atlas_anims = 0; -static char *atlas_slices = 0; -static char *atlas_current_anim = 0; - -atlas_t* atlas_loadfiles(array(char*) files, atlas_flags flags) -{ - assert(files); - - array(atlas_image) images = 0; - - for (int i = 0; i < array_count(files); ++i) { - if (!path_isfile(files[i])) { - snprintf(g_error_str, sizeof(g_error_str), "input image not found: %s", files[i]); - goto err_cleanup; - } - - int comp; - atlas_image img = {0}; - img.pixels = stbi_load(files[i], &img.width, &img.height, &comp, 4); - -#ifdef CUTE_ASEPRITE_H - if (!img.pixels) { - bool loaded = 0; - - for( ase_t* ase = cute_aseprite_load_from_file(files[i], NULL); ase; cute_aseprite_free(ase), ase = 0, loaded = 1) { - ase_tag_t *parent = ase->tags + 0; - - //< abc/def/ghi.aseprite -> ghi - if( atlas_current_anim ) *atlas_current_anim = '\0'; - strcatf(&atlas_current_anim, files[i]); - path_basename(atlas_current_anim, strlen(atlas_current_anim), files[i]); - if( strrchr(atlas_current_anim, '.')) *strrchr(atlas_current_anim, '.') = '\0'; - trimspace(atlas_current_anim); - //< - - for( int f = 0; f < ase->frame_count; ++f) { - ase_frame_t *frame = ase->frames + f; - - // find rect - int x = INT_MAX, y = INT_MAX, x2 = INT_MIN, y2 = INT_MIN; - for( int c = 0; c < frame->cel_count; ++c ) { - ase_cel_t *cel = frame->cels + c; - if( cel->layer->flags & ASE_LAYER_FLAGS_VISIBLE ) { - if( cel->x < x ) x = cel->x; - if( cel->h < y ) y = cel->y; - if( (cel->x + cel->w) > x2 ) x2 = cel->x + cel->w; - if( (cel->y + cel->h) > y2 ) y2 = cel->y + cel->h; - } - } - if (x2 <= 0 || y2 <= 0) { // submit empty frame - img.width = 1; - img.height = 1; - img.pixels = calloc(1, 1*1*4); - array_push(images, img); - continue; - } - int cx = x; - int cy = y; - int cw = x2-x; - int ch = y2-y; - int tn = 4; - int tw = ase->w; - - // find clip - img.width = cw; - img.height = ch; - img.pixels = calloc(1, cw*ch*4); // @fixme: because of a stbi_image_free() within rescale section, this should be allocated with stbi allocator - for( unsigned y = 0; y < ch; ++y ) - memcpy((char *)img.pixels + (0+(0+y)*cw)*tn, (char*)frame->pixels + (cx+(cy+y)*tw)*tn, cw*tn); - array_push(images, img); - } - - static int slice_idx = -1; - static int slice_frame_idx = 0; - static const char *slice_name = 0; - if(!atlas_slices) strcatf(&atlas_slices, "[slices]\n"); - - for( int t = 0; t < ase->slice_count; ++t) { - ase_slice_t *slice = ase->slices + t; - if (!slice_name || strcmp(slice_name, slice->name)) { - ++slice_idx; - strcatf(&atlas_slices, "[%d].sl_name=%s\n", slice_idx, slice->name); - strcatf(&atlas_slices, "[%d].sl_frames=", slice_idx); - for( int u = 0; u < ase->slice_count; ++u) { - if (!strcmp(slice->name, ase->slices[u].name)) { - strcatf(&atlas_slices, "%d,", u); - } - } - strcatf(&atlas_slices, "\n"); - } - strcatf(&atlas_slices, "[%d].sl_bounds=%d,%d,%d,%d\n", slice_idx, slice->origin_x, slice->origin_y, slice->w, slice->h); - strcatf(&atlas_slices, "[%d].sl_9slice=%d\n", slice_idx, slice->has_center_as_9_slice); - if (slice->has_center_as_9_slice) - strcatf(&atlas_slices, "[%d].sl_core=%d,%d,%d,%d\n", slice_idx, slice->center_x, slice->center_y, slice->center_w, slice->center_h); - - slice_name = slice->name; - ++slice_frame_idx; - } - - static int anim_idx = 0; - if(!atlas_anims) strcatf(&atlas_anims, "[anims]\n"); - - for( int t = 0; t < ase->tag_count; ++t) { - ase_tag_t *tag = ase->tags + t; - - // find full name - int range[2] = {tag->from_frame, tag->to_frame}; - char name[256] = {0}; - for( int tt = 0; tt < ase->tag_count; ++tt ) { - ase_tag_t *ttag = ase->tags + tt; - if( range[0] >= ttag->from_frame && range[1] <= ttag->to_frame ) - strcat(name, "."), strcat(name, ttag->name); - } - trimspace(name); - - char *sep = ""; - strcatf(&atlas_anims, "[%d].name=%s.%s\n", anim_idx, atlas_current_anim, name+1); - strcatf(&atlas_anims, "[%d].frames=", anim_idx); - if( tag->loop_animation_direction != ASE_ANIMATION_DIRECTION_BACKWARDS) - for( int from = tag->from_frame; from <= tag->to_frame; ++from ) { - strcatf(&atlas_anims, "%s%d,%d", sep, from, ase->frames[from].duration_milliseconds), sep = ","; - } - sep = ""; - if( tag->loop_animation_direction != ASE_ANIMATION_DIRECTION_FORWARDS) - for( int from = tag->from_frame; from <= tag->to_frame; ++from ) { - strcatf(&atlas_anims, "%s%d,%d", sep, from, ase->frames[from].duration_milliseconds), sep = ","; - } - strcatf(&atlas_anims,"\n"); - - ++anim_idx; - } - } - - if( loaded ) continue; - } -#endif - - if (!img.pixels) { - continue; //< @r-lyeh: keep going - - snprintf(g_error_str, sizeof(g_error_str), "invalid image format: %s", files[i]); - goto err_cleanup; - } - - if( !img.name ) img.name = STRDUP(files[i]); - - array_push(images, img); - } - - atlas_t* atlas = atlas_loadimages(images, flags); - return atlas; - -err_cleanup: - for (int i = 0; i < array_count(images); i++) { - if (images[i].pixels) { - stbi_image_free(images[i].pixels); - } - if (images[i].name) { - ATLAS_FREE(images[i].name); - } - } - array_free(images); - return NULL; -} - -void atlas_free(atlas_t* atlas) -{ - assert(atlas); - - if (atlas->sprites) - atlas__free_sprites(atlas->sprites, atlas->num_sprites); - if (atlas->frames) - ATLAS_FREE(atlas->frames); - if (atlas->output.pixels) - ATLAS_FREE(atlas->output.pixels); - ATLAS_FREE(atlas); -} - - - -// custom write function -typedef struct { - int offset; - void *buffer; -} stbi_mem_context; -static void stbi_write_mem(void *context, void *data, int size) { - stbi_mem_context *ctx = (stbi_mem_context*)context; - memcpy( ctx->buffer, data, size ); - ctx->offset += size; -} - -bool atlas_save(const char *outfile, const atlas_t *atlas, atlas_flags flags) -{ - assert(outfile); - - const bool is_file = strcmp(outfile, "stdout"); - const atlas_sprite* sprites = atlas->sprites; - const int* frames = atlas->frames; - const int num_frames = atlas->num_frames; - const int num_sprites = atlas->num_sprites; - const uint8_t* dst = atlas->output.pixels; - const int dst_w = atlas->output.width; - const int dst_h = atlas->output.height; - - char image_filepath[256]; - char image_filename[256]; - snprintf(image_filepath, sizeof(image_filepath), "%s.png", outfile); - path_basename(image_filename, sizeof(image_filename), image_filepath); - - stbi_write_png_compression_level = 5; // 8 - - // write texture, if needed - if( is_file ) { - if (!stbi_write_png(image_filepath, dst_w, dst_h, 4, dst, dst_w * 4)) { - fprintf(stderr, "could not write image file `%s`\n", image_filepath); - return false; - } - } - - // write atlas description into .ini file - FILE *writer = is_file ? fopen(outfile, "wt") : stdout; - if (!writer) { - fprintf(stderr, "could not write ini file `%s`\n", outfile); - return false; - } - - fprintf(writer, "[atlas]\n"); - - if (is_file) { - fprintf(writer, "file=%s\n", image_filepath); - } else { - stbi_mem_context ctx = {0, ATLAS_CALLOC(1, dst_w*dst_h*4+256) }; - int result = stbi_write_png_to_func(stbi_write_mem, &ctx, dst_w, dst_h, 4, dst, dst_w*4); - char *b64 = base64_encode(ctx.buffer, ctx.offset); - fprintf(writer, "bitmap=%s\n", b64); // %d:%s\n", ctx.offset, b64); - // ATLAS_FREE(ctx.buffer); - // free(b64); - } - - fprintf(writer, "size=%d,%d\n", dst_w, dst_h); - fprintf(writer, "border=%d,%d\n", flags.border, flags.border); - fprintf(writer, "padding=%d,%d\n", flags.padding, flags.padding); - - for( int i = 0; i < num_frames; i++ ) { - const atlas_sprite* spr = sprites + frames[i]; - - char name[256]; - path_unixpath(name, sizeof(name), spr->name ? spr->name : ""); - - if(name[0]) - fprintf(writer, "[%d].name=%s\n", i, name); - fprintf(writer, "[%d].frame=%u\n", i, spr->frame); - //fprintf(writer, "[%d].size=%d,%d\n", i, spr->src_size.n[0], spr->src_size.n[1]); - //fprintf(writer, "[%d].rect=%u,%u,%u,%u\n", i, spr->sprite_rect.f[0], spr->sprite_rect.f[1], spr->sprite_rect.f[2], spr->sprite_rect.f[3]); - fprintf(writer, "[%d].sheet=%u,%u,%u,%u\n", i, spr->sheet_rect.f[0], spr->sheet_rect.f[1], spr->sheet_rect.f[2], spr->sheet_rect.f[3]); - if( spr->num_tris ) { - fprintf(writer, "[%d].indices=", i); // %d:", i, (int)spr->num_tris * 3); - for( int j = 0, jend = (int)spr->num_tris * 3; j < jend; ++j ) - fprintf(writer, "%u%s", spr->tris[j], j < (jend-1) ? "," : "\n"); - - fprintf(writer, "[%d].coords=", i); // %d:", i, spr->num_points*2); - for( int j = 0, jend = spr->num_points; j < jend; j++ ) - fprintf(writer, "%.f,%.f%s", (double)spr->pts[j].x, (double)spr->pts[j].y, j < (jend-1) ? ",":"\n" ); - - fprintf(writer, "[%d].uvs=", i); // %d:", i, spr->num_points*2); - for( int j = 0, jend = spr->num_points; j < jend; j++ ) - fprintf(writer, "%.f,%.f%s", (double)spr->uvs[j].x, (double)spr->uvs[j].y, j < (jend-1) ? ",":"\n" ); - } - } - - if( atlas_anims ) fprintf(writer, "%s\n", atlas_anims); - if( atlas_slices ) fprintf(writer, "%s\n", atlas_slices); - - if(writer != stdout) fclose(writer); - return true; -} - -#endif // ATLASC_IMPLEMENTATION diff --git a/tools/3rd_delaunay.h b/tools/3rd_delaunay.h deleted file mode 100644 index 0ca03dc..0000000 --- a/tools/3rd_delaunay.h +++ /dev/null @@ -1,1059 +0,0 @@ -#ifndef DELAUNAY_H -#define DELAUNAY_H - -/* -** delaunay.c : compute 2D delaunay triangulation in the plane. -** Copyright (C) 2005 Wael El Oraiby -** -** -** This program is free software: you can redistribute it and/or modify -** it under the terms of the GNU Affero General Public License as -** published by the Free Software Foundation, either version 3 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 Affero General Public License for more details. -** -** You should have received a copy of the GNU Affero General Public License -** along with this program. If not, see . -*/ - - - - -#ifdef __cplusplus -extern "C" { -#endif - -typedef double real; - -typedef struct { - real x, y; -} del_point2d_t; - -typedef struct { - /** input points count */ - unsigned int num_points; - - /** the input points */ - del_point2d_t* points; - - /** number of returned faces */ - unsigned int num_faces; - - /** the faces are given as a sequence: num verts, verts indices, num verts, verts indices... - * the first face is the external face */ - unsigned int* faces; -} delaunay2d_t; - -/* - * build the 2D Delaunay triangulation given a set of points of at least 3 points - * - * @points: point set given as a sequence of tuple x0, y0, x1, y1, .... - * @num_points: number of given point - * @preds: the incircle predicate - * @faces: the triangles given as a sequence: num verts, verts indices, num verts, verts indices. - * Note that the first face is the external face - * @return: the created topology - */ -delaunay2d_t* delaunay2d_from(del_point2d_t *points, unsigned int num_points); - -/* - * release a delaunay2d object - */ -void delaunay2d_release(delaunay2d_t* del); - - -typedef struct { - /** input points count */ - unsigned int num_points; - - /** input points */ - del_point2d_t* points; - - /** number of triangles */ - unsigned int num_triangles; - - /** the triangles indices v0,v1,v2, v0,v1,v2 .... */ - unsigned int* tris; -} tri_delaunay2d_t; - -/** - * build a tri_delaunay2d_t out of a delaunay2d_t object - */ -tri_delaunay2d_t* tri_delaunay2d_from(delaunay2d_t* del); - -/** - * release a tri_delaunay2d_t object - */ -void tri_delaunay2d_release(tri_delaunay2d_t* tdel); - -#ifdef __cplusplus -} -#endif - -#endif // DELAUNAY_H - -#ifdef DELAUNAY_C - -/* -** delaunay.c : compute 2D delaunay triangulation in the plane. -** Copyright (C) 2005 Wael El Oraiby -** -** -** This program is free software: you can redistribute it and/or modify -** it under the terms of the GNU Affero General Public License as -** published by the Free Software Foundation, either version 3 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 Affero General Public License for more details. -** -** You should have received a copy of the GNU Affero General Public License -** along with this program. If not, see . -*/ - -#include -#include -#include -#include -#include - -#define ON_RIGHT 1 -#define ON_SEG 0 -#define ON_LEFT -1 - -#define OUTSIDE -1 -#define ON_CIRCLE 0 -#define INSIDE 1 - -struct point2d_s; -struct face_s; -struct halfedge_s; -struct delaunay_s; - - -#define REAL_ZERO 0.0l -#define REAL_ONE 1.0l -#define REAL_TWO 2.0l -#define REAL_FOUR 4.0l - - -typedef struct point2d_s point2d_t; -typedef struct face_s face_t; -typedef struct halfedge_s halfedge_t; -typedef struct delaunay_s delaunay_t; -typedef struct working_set_s working_set_t; - -typedef long double lreal; -typedef lreal mat3_t[3][3]; - -struct point2d_s { - real x, y; /* point coordinates */ - halfedge_t* he; /* point halfedge */ - unsigned int idx; /* point index in input buffer */ -}; - -struct face_s { - halfedge_t* he; /* a pointing half edge */ - unsigned int num_verts; /* number of vertices on this face */ -}; - -struct halfedge_s { - point2d_t* vertex; /* vertex */ - halfedge_t* pair; /* pair */ - halfedge_t* next; /* next */ - halfedge_t* prev; /* next^-1 */ - face_t* face; /* halfedge face */ -}; - -struct delaunay_s { - halfedge_t* rightmost_he; /* right most halfedge */ - halfedge_t* leftmost_he; /* left most halfedge */ - point2d_t* points; /* pointer to points */ - face_t* faces; /* faces of delaunay */ - unsigned int num_faces; /* face count */ - unsigned int start_point; /* start point index */ - unsigned int end_point; /* end point index */ -}; - -struct working_set_s { - halfedge_t* edges; /* all the edges (allocated in one shot) */ - face_t* faces; /* all the faces (allocated in one shot) */ - - unsigned int max_edge; /* maximum edge count: 2 * 3 * n where n is point count */ - unsigned int max_face; /* maximum face count: 2 * n where n is point count */ - - unsigned int num_edges; /* number of allocated edges */ - unsigned int num_faces; /* number of allocated faces */ - - halfedge_t* free_edge; /* pointer to the first free edge */ - face_t* free_face; /* pointer to the first free face */ -}; - -/* -* 3x3 matrix determinant -*/ -static lreal det3(mat3_t m) -{ - lreal res = m[0][0] * (m[1][1] * m[2][2] - m[1][2] * m[2][1]) - - m[0][1] * (m[1][0] * m[2][2] - m[1][2] * m[2][0]) - + m[0][2] * (m[1][0] * m[2][1] - m[1][1] * m[2][0]); - - return res; -} - -/* -* allocate a halfedge -*/ -static halfedge_t* halfedge_alloc() -{ - halfedge_t* d; - - d = (halfedge_t*)malloc(sizeof(halfedge_t)); - assert( NULL != d ); - memset(d, 0, sizeof(halfedge_t)); - - return d; -} - -/* -* free a halfedge -*/ -static void halfedge_free( halfedge_t* d ) -{ - assert( d != NULL ); - memset(d, 0, sizeof(halfedge_t)); - free(d); -} - -/* -* free all delaunay halfedges -*/ -void del_free_halfedges( delaunay_t *del ) -{ - unsigned int i; - halfedge_t *d, *sig; - - /* if there is nothing to do */ - if( del->points == NULL ) - return; - - for( i = 0; i <= (del->end_point - del->start_point); i++ ) - { - /* free all the halfedges around the point */ - d = del->points[i].he; - if( d != NULL ) - { - do { - sig = d->next; - halfedge_free( d ); - d = sig; - } while( d != del->points[i].he ); - del->points[i].he = NULL; - } - } -} - -/* -* compare 2 points when sorting -*/ -static int cmp_points( const void *_pt0, const void *_pt1 ) -{ - point2d_t *pt0, *pt1; - - pt0 = (point2d_t*)(_pt0); - pt1 = (point2d_t*)(_pt1); - - if( pt0->x < pt1->x ) - return -1; - else if( pt0->x > pt1->x ) - return 1; - else if( pt0->y < pt1->y ) - return -1; - else if( pt0->y > pt1->y ) - return 1; - printf("2 or more points share the same exact coordinate: (%f,%f)(%f,%f)\n", pt0->x,pt0->y,pt1->x,pt1->y); - assert(0 && "2 or more points share the same exact coordinate"); - return 0; /* Should not be given! */ -} - -/* -* classify a point relative to a segment -*/ -static int classify_point_seg( point2d_t *s, point2d_t *e, point2d_t *pt ) -{ - lreal se_x, se_y, spt_x, spt_y; - lreal res; - - se_x = e->x - s->x; - se_y = e->y - s->y; - - spt_x = pt->x - s->x; - spt_y = pt->y - s->y; - - res = (( se_x * spt_y ) - ( se_y * spt_x )); - if( res < REAL_ZERO ) - return ON_RIGHT; - else if( res > REAL_ZERO ) - return ON_LEFT; - - return ON_SEG; -} - -/* -* classify a point relative to a halfedge, -1 is left, 0 is on, 1 is right -*/ -static int del_classify_point( halfedge_t *d, point2d_t *pt ) -{ - point2d_t *s, *e; - - s = d->vertex; - e = d->pair->vertex; - - return classify_point_seg(s, e, pt); -} - -/* -* test if a point is inside a circle given by 3 points, 1 if inside, 0 if outside -*/ -static int in_circle( point2d_t *pt0, point2d_t *pt1, point2d_t *pt2, point2d_t *p ) -{ - // reduce the computational complexity by substracting the last row of the matrix - // ref: https://www.cs.cmu.edu/~quake/robust.html - lreal p0p_x, p0p_y, p1p_x, p1p_y, p2p_x, p2p_y, p0p, p1p, p2p, res; - mat3_t m; - - p0p_x = pt0->x - p->x; - p0p_y = pt0->y - p->y; - - p1p_x = pt1->x - p->x; - p1p_y = pt1->y - p->y; - - p2p_x = pt2->x - p->x; - p2p_y = pt2->y - p->y; - - p0p = p0p_x * p0p_x + p0p_y * p0p_y; - p1p = p1p_x * p1p_x + p1p_y * p1p_y; - p2p = p2p_x * p2p_x + p2p_y * p2p_y; - - m[0][0] = p0p_x; - m[0][1] = p0p_y; - m[0][2] = p0p; - - m[1][0] = p1p_x; - m[1][1] = p1p_y; - m[1][2] = p1p; - - m[2][0] = p2p_x; - m[2][1] = p2p_y; - m[2][2] = p2p; - - res = -det3(m); - - if( res < REAL_ZERO ) - return INSIDE; - else if( res > REAL_ZERO ) - return OUTSIDE; - - return ON_CIRCLE; -} - -/* -* initialize delaunay segment -*/ -static int del_init_seg( delaunay_t *del, int start ) -{ - halfedge_t *d0, *d1; - point2d_t *pt0, *pt1; - - /* init delaunay */ - del->start_point = start; - del->end_point = start + 1; - - /* setup pt0 and pt1 */ - pt0 = &(del->points[start]); - pt1 = &(del->points[start + 1]); - - /* allocate the halfedges and setup them */ - d0 = halfedge_alloc(); - d1 = halfedge_alloc(); - - d0->vertex = pt0; - d1->vertex = pt1; - - d0->next = d0->prev = d0; - d1->next = d1->prev = d1; - - d0->pair = d1; - d1->pair = d0; - - pt0->he = d0; - pt1->he = d1; - - del->rightmost_he = d1; - del->leftmost_he = d0; - - - return 0; -} - -/* -* initialize delaunay triangle -*/ -static int del_init_tri( delaunay_t *del, int start ) -{ - halfedge_t *d0, *d1, *d2, *d3, *d4, *d5; - point2d_t *pt0, *pt1, *pt2; - - /* initiate delaunay */ - del->start_point = start; - del->end_point = start + 2; - - /* setup the points */ - pt0 = &(del->points[start]); - pt1 = &(del->points[start + 1]); - pt2 = &(del->points[start + 2]); - - /* allocate the 6 halfedges */ - d0 = halfedge_alloc(); - d1 = halfedge_alloc(); - d2 = halfedge_alloc(); - d3 = halfedge_alloc(); - d4 = halfedge_alloc(); - d5 = halfedge_alloc(); - - if( classify_point_seg(pt0, pt2, pt1) == ON_LEFT ) /* first case */ - { - /* set halfedges points */ - d0->vertex = pt0; - d1->vertex = pt2; - d2->vertex = pt1; - - d3->vertex = pt2; - d4->vertex = pt1; - d5->vertex = pt0; - - /* set points halfedges */ - pt0->he = d0; - pt1->he = d2; - pt2->he = d1; - - /* next and next -1 setup */ - d0->next = d5; - d0->prev = d5; - - d1->next = d3; - d1->prev = d3; - - d2->next = d4; - d2->prev = d4; - - d3->next = d1; - d3->prev = d1; - - d4->next = d2; - d4->prev = d2; - - d5->next = d0; - d5->prev = d0; - - /* set halfedges pair */ - d0->pair = d3; - d3->pair = d0; - - d1->pair = d4; - d4->pair = d1; - - d2->pair = d5; - d5->pair = d2; - - del->rightmost_he = d1; - del->leftmost_he = d0; - - } else /* 2nd case */ - { - /* set halfedges points */ - d0->vertex = pt0; - d1->vertex = pt1; - d2->vertex = pt2; - - d3->vertex = pt1; - d4->vertex = pt2; - d5->vertex = pt0; - - /* set points halfedges */ - pt0->he = d0; - pt1->he = d1; - pt2->he = d2; - - /* next and next -1 setup */ - d0->next = d5; - d0->prev = d5; - - d1->next = d3; - d1->prev = d3; - - d2->next = d4; - d2->prev = d4; - - d3->next = d1; - d3->prev = d1; - - d4->next = d2; - d4->prev = d2; - - d5->next = d0; - d5->prev = d0; - - /* set halfedges pair */ - d0->pair = d3; - d3->pair = d0; - - d1->pair = d4; - d4->pair = d1; - - d2->pair = d5; - d5->pair = d2; - - del->rightmost_he = d2; - del->leftmost_he = d0; - } - - return 0; -} - -/* -* remove an edge given a halfedge -*/ -static void del_remove_edge( halfedge_t *d ) -{ - halfedge_t *next, *prev, *pair, *orig_pair; - - orig_pair = d->pair; - - next = d->next; - prev = d->prev; - pair = d->pair; - - assert(next != NULL); - assert(prev != NULL); - - next->prev = prev; - prev->next = next; - - - /* check to see if we have already removed pair */ - if( pair ) - pair->pair = NULL; - - /* check to see if the vertex points to this halfedge */ - if( d->vertex->he == d ) - d->vertex->he = next; - - d->vertex = NULL; - d->next = NULL; - d->prev = NULL; - d->pair = NULL; - - next = orig_pair->next; - prev = orig_pair->prev; - pair = orig_pair->pair; - - assert(next != NULL); - assert(prev != NULL); - - next->prev = prev; - prev->next = next; - - - /* check to see if we have already removed pair */ - if( pair ) - pair->pair = NULL; - - /* check to see if the vertex points to this halfedge */ - if( orig_pair->vertex->he == orig_pair ) - orig_pair->vertex->he = next; - - orig_pair->vertex = NULL; - orig_pair->next = NULL; - orig_pair->prev = NULL; - orig_pair->pair = NULL; - - - /* finally free the halfedges */ - halfedge_free(d); - halfedge_free(orig_pair); -} - -/* -* pass through all the halfedges on the left side and validate them -*/ -static halfedge_t* del_valid_left( halfedge_t* b ) -{ - point2d_t *g, *d, *u, *v; - halfedge_t *c, *du, *dg; - - g = b->vertex; /* base halfedge point */ - dg = b; - - d = b->pair->vertex; /* pair(halfedge) point */ - b = b->next; - - u = b->pair->vertex; /* next(pair(halfedge)) point */ - du = b->pair; - - v = b->next->pair->vertex; /* pair(next(next(halfedge)) point */ - - if( classify_point_seg(g, d, u) == ON_LEFT ) - { - /* 3 points aren't colinear */ - /* as long as the 4 points belong to the same circle, do the cleaning */ - assert( v != u && "1: floating point precision error"); - while( v != d && v != g && in_circle(g, d, u, v) == INSIDE ) - { - c = b->next; - du = b->next->pair; - del_remove_edge(b); - b = c; - u = du->vertex; - v = b->next->pair->vertex; - } - - assert( v != u && "2: floating point precision error"); - if( v != d && v != g && in_circle(g, d, u, v) == ON_CIRCLE ) - { - du = du->prev; - del_remove_edge(b); - } - } else /* treat the case where the 3 points are colinear */ - du = dg; - - assert(du->pair); - return du; -} - -/* -* pass through all the halfedges on the right side and validate them -*/ -static halfedge_t* del_valid_right( halfedge_t *b ) -{ - point2d_t *rv, *lv, *u, *v; - halfedge_t *c, *dd, *du; - - b = b->pair; - rv = b->vertex; - dd = b; - lv = b->pair->vertex; - b = b->prev; - u = b->pair->vertex; - du = b->pair; - - v = b->prev->pair->vertex; - - if( classify_point_seg(lv, rv, u) == ON_LEFT ) - { - assert( v != u && "1: floating point precision error"); - while( v != lv && v != rv && in_circle(lv, rv, u, v) == INSIDE ) - { - c = b->prev; - du = c->pair; - del_remove_edge(b); - b = c; - u = du->vertex; - v = b->prev->pair->vertex; - } - - assert( v != u && "1: floating point precision error"); - if( v != lv && v != rv && in_circle(lv, rv, u, v) == ON_CIRCLE ) - { - du = du->next; - del_remove_edge(b); - } - } else - du = dd; - - assert(du->pair); - return du; -} - - -/* -* validate a link -*/ -static halfedge_t* del_valid_link( halfedge_t *b ) -{ - point2d_t *g, *g_p, *d, *d_p; - halfedge_t *gd, *dd, *new_gd, *new_dd; - int a; - - g = b->vertex; - gd = del_valid_left(b); - g_p = gd->vertex; - - assert(b->pair); - d = b->pair->vertex; - dd = del_valid_right(b); - d_p = dd->vertex; - assert(b->pair); - - if( g != g_p && d != d_p ) { - a = in_circle(g, d, g_p, d_p); - - if( a != ON_CIRCLE ) { - if( a == INSIDE ) { - g_p = g; - gd = b; - } else { - d_p = d; - dd = b->pair; - } - } - } - - /* create the 2 halfedges */ - new_gd = halfedge_alloc(); - new_dd = halfedge_alloc(); - - /* setup new_gd and new_dd */ - - new_gd->vertex = gd->vertex; - new_gd->pair = new_dd; - new_gd->prev = gd; - new_gd->next = gd->next; - gd->next->prev = new_gd; - gd->next = new_gd; - - new_dd->vertex = dd->vertex; - new_dd->pair = new_gd; - new_dd->prev = dd->prev; - dd->prev->next = new_dd; - new_dd->next = dd; - dd->prev = new_dd; - - return new_gd; -} - -/* -* find the lower tangent between the two delaunay, going from left to right (returns the left half edge) -*/ -static halfedge_t* del_get_lower_tangent( delaunay_t *left, delaunay_t *right ) -{ - point2d_t *pl, *pr; - halfedge_t *right_d, *left_d, *new_ld, *new_rd; - int sl, sr; - - left_d = left->rightmost_he; - right_d = right->leftmost_he; - - do { - pl = left_d->prev->pair->vertex; - pr = right_d->pair->vertex; - - if( (sl = classify_point_seg(left_d->vertex, right_d->vertex, pl)) == ON_RIGHT ) { - left_d = left_d->prev->pair; - } - - if( (sr = classify_point_seg(left_d->vertex, right_d->vertex, pr)) == ON_RIGHT ) { - right_d = right_d->pair->next; - } - - } while( sl == ON_RIGHT || sr == ON_RIGHT ); - - /* create the 2 halfedges */ - new_ld = halfedge_alloc(); - new_rd = halfedge_alloc(); - - /* setup new_gd and new_dd */ - new_ld->vertex = left_d->vertex; - new_ld->pair = new_rd; - new_ld->prev = left_d->prev; - left_d->prev->next = new_ld; - new_ld->next = left_d; - left_d->prev = new_ld; - - new_rd->vertex = right_d->vertex; - new_rd->pair = new_ld; - new_rd->prev = right_d->prev; - right_d->prev->next = new_rd; - new_rd->next = right_d; - right_d->prev = new_rd; - - return new_ld; -} - -/* -* link the 2 delaunay together -*/ -static void del_link( delaunay_t *result, delaunay_t *left, delaunay_t *right ) -{ - point2d_t *u, *v, *ml, *mr; - halfedge_t *base; - - assert( left->points == right->points ); - - /* save the most right point and the most left point */ - ml = left->leftmost_he->vertex; - mr = right->rightmost_he->vertex; - - base = del_get_lower_tangent(left, right); - - u = base->next->pair->vertex; - v = base->pair->prev->pair->vertex; - - while( del_classify_point(base, u) == ON_LEFT || - del_classify_point(base, v) == ON_LEFT ) - { - base = del_valid_link(base); - u = base->next->pair->vertex; - v = base->pair->prev->pair->vertex; - } - - right->rightmost_he = mr->he; - left->leftmost_he = ml->he; - - /* TODO: this part is not needed, and can be optimized */ - while( del_classify_point( right->rightmost_he, right->rightmost_he->prev->pair->vertex ) == ON_RIGHT ) - right->rightmost_he = right->rightmost_he->prev; - - while( del_classify_point( left->leftmost_he, left->leftmost_he->prev->pair->vertex ) == ON_RIGHT ) - left->leftmost_he = left->leftmost_he->prev; - - result->leftmost_he = left->leftmost_he; - result->rightmost_he = right->rightmost_he; - result->points = left->points; - result->start_point = left->start_point; - result->end_point = right->end_point; -} - -/* -* divide and conquer delaunay -*/ -void del_divide_and_conquer( delaunay_t *del, int start, int end ) -{ - delaunay_t left, right; - int i, n; - - n = (end - start + 1); - - if( n > 3 ) { - i = (n / 2) + (n & 1); - left.points = del->points; - right.points = del->points; - del_divide_and_conquer( &left, start, start + i - 1 ); - del_divide_and_conquer( &right, start + i, end ); - del_link( del, &left, &right ); - } else { - if( n == 3 ) { - del_init_tri( del, start ); - } else { - if( n == 2 ) { - del_init_seg( del, start ); - } - } - } -} - -static void build_halfedge_face( delaunay_t *del, halfedge_t *d ) -{ - halfedge_t *curr; - - /* test if the halfedge has already a pointing face */ - if( d->face != NULL ) - return; - - /* TODO: optimize this */ - del->faces = (face_t*)realloc(del->faces, (del->num_faces + 1) * sizeof(face_t)); - assert( NULL != del->faces ); - - face_t *f = &(del->faces[del->num_faces]); - curr = d; - f->he = d; - f->num_verts = 0; - do { - curr->face = f; - (f->num_verts)++; - curr = curr->pair->prev; - } while( curr != d ); - - (del->num_faces)++; -} - -/* -* build the faces for all the halfedge -*/ -void del_build_faces( delaunay_t *del ) -{ - unsigned int i; - halfedge_t *curr; - - del->num_faces = 0; - del->faces = NULL; - - /* build external face first */ - build_halfedge_face(del, del->rightmost_he->pair); - - for( i = del->start_point; i <= del->end_point; i++ ) - { - curr = del->points[i].he; - - do { - build_halfedge_face( del, curr ); - curr = curr->next; - } while( curr != del->points[i].he ); - } -} - -/* -*/ -delaunay2d_t* delaunay2d_from(del_point2d_t *points, unsigned int num_points) { - delaunay2d_t* res = NULL; - delaunay_t del; - unsigned int i, j, fbuff_size = 0; - unsigned int* faces = NULL; - - /* allocate the points */ - del.points = (point2d_t*)malloc(num_points * sizeof(point2d_t)); - assert( NULL != del.points ); - memset(del.points, 0, num_points * sizeof(point2d_t)); - - /* copy the points */ - for( i = 0; i < num_points; i++ ) - { - del.points[i].idx = i; - del.points[i].x = points[i].x; - del.points[i].y = points[i].y; - } - - qsort(del.points, num_points, sizeof(point2d_t), cmp_points); - - if( num_points >= 3 ) { - del_divide_and_conquer( &del, 0, num_points - 1 ); - - del_build_faces( &del ); - - fbuff_size = 0; - for( i = 0; i < del.num_faces; i++ ) - fbuff_size += del.faces[i].num_verts + 1; - - faces = (unsigned int*)malloc(sizeof(unsigned int) * fbuff_size); - assert( NULL != faces ); - - j = 0; - for( i = 0; i < del.num_faces; i++ ) - { - halfedge_t *curr; - - faces[j] = del.faces[i].num_verts; - j++; - - curr = del.faces[i].he; - do { - faces[j] = curr->vertex->idx; - j++; - curr = curr->pair->prev; - } while( curr != del.faces[i].he ); - } - - del_free_halfedges( &del ); - - free(del.faces); - free(del.points); - } - - res = (delaunay2d_t*)malloc(sizeof(delaunay2d_t)); - assert( NULL != res ); - res->num_points = num_points; - res->points = (del_point2d_t*)malloc(sizeof(del_point2d_t) * num_points); - assert( NULL != res->points ); - memcpy(res->points, points, sizeof(del_point2d_t) * num_points); - res->num_faces = del.num_faces; - res->faces = faces; - - return res; -} - -void delaunay2d_release(delaunay2d_t *del) { - free(del->faces); - free(del->points); - free(del); -} - - -tri_delaunay2d_t* tri_delaunay2d_from(delaunay2d_t* del) { - unsigned int v_offset = del->faces[0] + 1; /* ignore external face */ - unsigned int dst_offset = 0; - unsigned int i; - - tri_delaunay2d_t* tdel = (tri_delaunay2d_t*)malloc(sizeof(tri_delaunay2d_t)); - assert( NULL != tdel ); - tdel->num_triangles = 0; - - /* count the number of triangles */ - if( 1 == del->num_faces ) { /* degenerate case: only external face exists */ - unsigned int nv = del->faces[0]; - tdel->num_triangles += nv - 2; - } else { - for( i = 1; i < del->num_faces; ++i ) { - unsigned int nv = del->faces[v_offset]; - tdel->num_triangles += nv - 2; - v_offset += nv + 1; - } - } - - /* copy points */ - tdel->num_points = del->num_points; - tdel->points = (del_point2d_t*)malloc(sizeof(del_point2d_t) * del->num_points); - assert( NULL != tdel->points ); - memcpy(tdel->points, del->points, sizeof(del_point2d_t) * del->num_points); - - /* build the triangles */ - tdel->tris = (unsigned int*)malloc(sizeof(unsigned int) * 3 * tdel->num_triangles); - assert( NULL != tdel->tris ); - - v_offset = del->faces[0] + 1; /* ignore external face */ - - if( 1 == del->num_faces ) { - /* handle the degenerated case where only the external face exists */ - unsigned int nv = del->faces[0]; - unsigned int j = 0; - v_offset = 1; - for( ; j < nv - 2; ++j ) { - tdel->tris[dst_offset] = del->faces[v_offset + j]; - tdel->tris[dst_offset + 1] = del->faces[(v_offset + j + 1) % nv]; - tdel->tris[dst_offset + 2] = del->faces[v_offset + j]; - dst_offset += 3; - } - } else { - for( i = 1; i < del->num_faces; ++i ) { - unsigned int nv = del->faces[v_offset]; - unsigned int j = 0; - unsigned int first = del->faces[v_offset + 1]; - - - for( ; j < nv - 2; ++j ) { - tdel->tris[dst_offset] = first; - tdel->tris[dst_offset + 1] = del->faces[v_offset + j + 2]; - tdel->tris[dst_offset + 2] = del->faces[v_offset + j + 3]; - dst_offset += 3; - } - - v_offset += nv + 1; - } - } - - return tdel; -} - - -void tri_delaunay2d_release(tri_delaunay2d_t* tdel) { - free(tdel->tris); - free(tdel->points); - free(tdel); -} - -#endif diff --git a/tools/3rd_mid.h b/tools/3rd_mid.h deleted file mode 100644 index 61b6d64..0000000 --- a/tools/3rd_mid.h +++ /dev/null @@ -1,464 +0,0 @@ -/* ------------------------------------------------------------------------------- - Licensing information can be found at the end of the file. ------------------------------------------------------------------------------- - -mid.h - v0.1 - Midi playback library using the TinySoundFont library. - -Do this: - #define MID_IMPLEMENTATION -before you include this file in *one* C/C++ file to create the implementation. -*/ - -#ifndef mid_h -#define mid_h - -#define _CRT_NONSTDC_NO_DEPRECATE -#define _CRT_SECURE_NO_WARNINGS -#include - -typedef struct mid_t mid_t; -typedef struct tsf tsf; - -mid_t* mid_create( void const* midi_data, size_t midi_size, void* memctx ); -void mid_destroy( mid_t* mid ); - -int mid_render_short( mid_t* mid, short* sample_pairs, int sample_pairs_count, tsf* sound_font ); -int mid_render_float( mid_t* mid, float* sample_pairs, int sample_pairs_count, tsf* sound_font ); - -void mid_skip_leading_silence( mid_t* mid, tsf* sound_font ); - -#endif /* mid_h */ - -#ifdef MID_ENABLE_RAW - -#ifndef mid_raw_h -#define mid_raw_h - -#ifndef MID_U8 - #define MID_U8 unsigned char -#endif - -#ifndef MID_U16 - #define MID_U16 unsigned short -#endif - -#ifndef MID_U32 - #define MID_U32 unsigned int -#endif - -#ifndef MID_U64 - #define MID_U64 unsigned long long -#endif - -typedef struct mid_event_t - { - MID_U32 delay_us; - MID_U8 channel; - MID_U8 type; - union - { - struct { MID_U8 program; } program_change; - struct { MID_U8 note; MID_U8 velocity; } note_on; - struct { MID_U8 note; } note_off; - struct { MID_U8 key; MID_U8 key_pressure; } key_pressure; - struct { MID_U16 value; } pitch_bend; - struct { MID_U8 control, control_value; } control_change; - struct { MID_U8 channel_pressure; } channel_pressure; - } data; - } mid_event_t; - - -typedef struct mid_song_t - { - int event_count; - mid_event_t* events; - } mid_song_t; - - -struct mid_t - { - void* memctx; - mid_song_t song; - int percussion_preset; - MID_U64 playback_accumulated_time_us; - int playback_sample_pos; - int playback_event_pos; - }; - -int mid_init_raw( mid_t* mid, void const* raw_data, size_t raw_size ); - -size_t mid_save_raw( mid_t* mid, void* data, size_t capacity ); - - -#endif /* MID_ENABLE_RAW */ - -#endif /* mid_raw_h */ - -/* ----------------------- - IMPLEMENTATION ----------------------- -*/ - -#ifdef MID_IMPLEMENTATION -#undef MID_IMPLEMENTATION - -#ifndef MID_U8 - #define MID_U8 unsigned char -#endif - -#ifndef MID_U16 - #define MID_U16 unsigned short -#endif - -#ifndef MID_U32 - #define MID_U32 unsigned int -#endif - -#ifndef MID_U64 - #define MID_U64 unsigned long long -#endif - -#ifndef MID_MALLOC - #define _CRT_NONSTDC_NO_DEPRECATE - #define _CRT_SECURE_NO_WARNINGS - #include - #if defined(_cplusplus) - #define MID_MALLOC( ctx, size ) ( ::malloc( size ) ) - #define MID_FREE( ctx, ptr ) ( ::free( ptr ) ) - #else - #define MID_MALLOC( ctx, size ) ( malloc( size ) ) - #define MID_FREE( ctx, ptr ) ( free( ptr ) ) - #endif -#endif -#include -#define MID_LOG(...) (void) __VA_ARGS__ - -#include - -#pragma warning( push ) -#pragma warning( disable: 4242 ) -#pragma warning( disable: 4244 ) -#pragma warning( disable: 4365 ) -#pragma warning( disable: 4668 ) -#pragma warning( disable: 4701 ) -#pragma warning( disable: 4703 ) - -#ifndef MID_NO_TSF_IMPLEMENTATION - #define TSF_NO_STDIO - #define TSF_IMPLEMENTATION -#endif -#include "3rd_tsf.h" - -#pragma warning( disable: 4201 ) - -#ifndef MID_NO_TML_IMPLEMENTATION - #define TML_NO_STDIO - #define TML_IMPLEMENTATION -#endif -#include "3rd_tml.h" - -#pragma warning( pop ) - - - - -#ifndef MID_ENABLE_RAW - -typedef struct mid_event_t - { - MID_U32 delay_us; - MID_U8 channel; - MID_U8 type; - union - { - struct { MID_U8 program; } program_change; - struct { MID_U8 note; MID_U8 velocity; } note_on; - struct { MID_U8 note; } note_off; - struct { MID_U8 key; MID_U8 key_pressure; } key_pressure; - struct { MID_U16 value; } pitch_bend; - struct { MID_U8 control, control_value; } control_change; - struct { MID_U8 channel_pressure; } channel_pressure; - } data; - } mid_event_t; - - -typedef struct mid_song_t - { - int event_count; - mid_event_t* events; - } mid_song_t; - - -struct mid_t - { - void* memctx; - mid_song_t song; - int percussion_preset; - MID_U64 playback_accumulated_time_us; - int playback_sample_pos; - int playback_event_pos; - }; - - -#endif /* MID_ENABLE_RAW */ - - -mid_t* mid_create( void const* midi_data, size_t midi_size, void* memctx ) - { - tml_message* mid_file = tml_load_memory( midi_data, (int) midi_size ); - if( !mid_file ) return NULL; - int count = 0; - tml_message* iter = mid_file; - while( iter ) - { - if( iter->type == TML_PROGRAM_CHANGE || iter->type == TML_NOTE_ON || iter->type == TML_NOTE_OFF || - iter->type == TML_PITCH_BEND || iter->type == TML_CONTROL_CHANGE ) - { - ++count; - } - iter = iter->next; - } - - mid_event_t* events = (mid_event_t*) malloc( sizeof( mid_event_t ) * count ); - int events_count = 0; - unsigned int time = 0; - tml_message* msg = mid_file; - while( msg ) - { - if( msg->type == TML_PROGRAM_CHANGE || msg->type == TML_NOTE_ON || msg->type == TML_NOTE_OFF || - msg->type == TML_PITCH_BEND || msg->type == TML_CONTROL_CHANGE ) - { - mid_event_t* event = &events[ events_count++ ]; - event->delay_us = ( msg->time - time ) * 1000; - time = msg->time; - event->channel = msg->channel; - event->type = msg->type; - switch( msg->type ) - { - case TML_PROGRAM_CHANGE: - event->data.program_change.program = (MID_U8) msg->program; - break; - case TML_NOTE_ON: //play a note - event->data.note_on.note = (MID_U8) msg->key; - event->data.note_on.velocity = (MID_U8) msg->velocity; - break; - case TML_NOTE_OFF: //stop a note - event->data.note_off.note = (MID_U8) msg->key; - break; - case TML_PITCH_BEND: //pitch wheel modification - event->data.pitch_bend.value = (MID_U16) msg->pitch_bend; - break; - case TML_CONTROL_CHANGE: //MIDI controller messages - event->data.control_change.control = (MID_U8) msg->control; - event->data.control_change.control_value = (MID_U8) msg->control_value; - break; - } - } - - msg = msg->next; - } - - tml_free( mid_file ); - - mid_t* mid = (mid_t*) MID_MALLOC( memctx, sizeof( mid_t ) ); - mid->memctx = memctx; - mid->song.event_count = events_count; - mid->song.events = events; - - mid->playback_accumulated_time_us = 0ull; - mid->playback_sample_pos = 0; - mid->playback_event_pos = 0; - - return mid; - } - - -void mid_destroy( mid_t* mid ) - { - if( mid->song.events ) MID_FREE( mid->memctx, mid->song.events ); - MID_FREE( mid->memctx, mid ); - } - - -int mid_init_raw( mid_t* mid, void const* raw_data, size_t raw_size ) - { - int events_count = *(int*)raw_data; - if( sizeof( mid_event_t ) * events_count != raw_size - sizeof( int ) ) return 0; - - mid->memctx = NULL; - - mid->song.event_count = events_count; - mid->song.events = (mid_event_t*)( ( (int*)raw_data ) + 1 ); - - mid->playback_accumulated_time_us = 0ull; - mid->playback_sample_pos = 0; - mid->playback_event_pos = 0; - - return 1; - } - - -size_t mid_save_raw( mid_t* mid, void* data, size_t capacity ) - { - size_t size = sizeof( mid_event_t ) * mid->song.event_count + sizeof( int ); - if( data && capacity >= size ) - { - *(int*)data = mid->song.event_count; - memcpy( ( (int*)data ) + 1, mid->song.events, sizeof( mid_event_t ) * mid->song.event_count ); - } - return size; - } - - -void mid_skip_leading_silence( mid_t* mid, tsf* sound_font ) - { - (void) sound_font; - for( ; ; ) - { - MID_U64 next_event_delay_us = mid->song.events[ mid->playback_event_pos ].delay_us; - MID_U64 playback_time_us = ( mid->playback_sample_pos * 1000000ull ) / 44100ull; - MID_U64 next_event_time_us = mid->playback_accumulated_time_us + next_event_delay_us; - assert( next_event_time_us >= playback_time_us ); - MID_U64 time_until_next_event = next_event_time_us - playback_time_us; - int samples_until_next_event = (int)( ( time_until_next_event * 44100ull ) / 1000000ull ); - mid_event_t* event = &mid->song.events[ mid->playback_event_pos ]; - switch( event->type ) - { - case TML_PROGRAM_CHANGE: - tsf_channel_set_presetnumber( sound_font, event->channel, event->data.program_change.program, ( event->channel == 9 ) ); - break; - case TML_NOTE_ON: - return; - case TML_NOTE_OFF: //stop a note - tsf_channel_note_off( sound_font, event->channel, event->data.note_off.note ); - break; - case TML_PITCH_BEND: //pitch wheel modification - tsf_channel_set_pitchwheel( sound_font, event->channel, event->data.pitch_bend.value ); - break; - case TML_CONTROL_CHANGE: //MIDI controller messages - tsf_channel_midi_control( sound_font, event->channel, event->data.control_change.control, event->data.control_change.control_value ); - break; - } - mid->playback_sample_pos += samples_until_next_event; - mid->playback_accumulated_time_us += next_event_delay_us; - mid->playback_event_pos++; - } - } - - -int mid_render_short( mid_t* mid, short* sample_pairs, int sample_pairs_count, tsf* sound_font ) - { - int samples_rendered = 0; - memset( sample_pairs, 0, sample_pairs_count * sizeof( short ) * 2 ); - while( samples_rendered < sample_pairs_count ) - { - MID_U64 next_event_delay_us = mid->song.events[ mid->playback_event_pos ].delay_us; - MID_U64 playback_time_us = ( mid->playback_sample_pos * 1000000ull ) / 44100ull; - MID_U64 next_event_time_us = mid->playback_accumulated_time_us + next_event_delay_us; - assert( next_event_time_us >= playback_time_us ); - MID_U64 time_until_next_event = next_event_time_us - playback_time_us; - int samples_until_next_event = (int)( ( time_until_next_event * 44100ull ) / 1000000ull ); - int samples_to_render = samples_until_next_event; - if( samples_to_render > sample_pairs_count - samples_rendered ) - { - samples_to_render = sample_pairs_count - samples_rendered; - tsf_render_short( sound_font, sample_pairs + samples_rendered * 2, - samples_to_render, 1 ); - samples_rendered += samples_to_render; - mid->playback_sample_pos += samples_to_render; - return samples_rendered; - } - else - { - tsf_render_short( sound_font, sample_pairs + samples_rendered * 2, - samples_to_render, 1 ); - samples_rendered += samples_to_render; - mid->playback_sample_pos += samples_to_render; - } - - - mid->playback_accumulated_time_us += next_event_delay_us; - mid_event_t* event = &mid->song.events[ mid->playback_event_pos++ ]; - switch( event->type ) - { - case TML_PROGRAM_CHANGE: - tsf_channel_set_presetnumber( sound_font, event->channel, event->data.program_change.program, ( event->channel == 9 ) ); - break; - case TML_NOTE_ON: - tsf_channel_note_on( sound_font, event->channel, event->data.note_on.note, event->data.note_on.velocity / 127.0f ); - break; - case TML_NOTE_OFF: //stop a note - tsf_channel_note_off( sound_font, event->channel, event->data.note_off.note ); - break; - case TML_PITCH_BEND: //pitch wheel modification - tsf_channel_set_pitchwheel( sound_font, event->channel, event->data.pitch_bend.value ); - break; - case TML_CONTROL_CHANGE: //MIDI controller messages - tsf_channel_midi_control( sound_font, event->channel, event->data.control_change.control, event->data.control_change.control_value ); - break; - } - } - - return samples_rendered; - } - - -#endif /* MID_IMPLEMENTATION */ - -/* ------------------------------------------------------------------------------- - -This software is available under 2 licenses - you may choose the one you like. - ------------------------------------------------------------------------------- - -ALTERNATIVE A - MIT License - -Copyright (c) 2016 Mattias Gustavsson - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies -of the Software, and to permit persons to whom the Software is furnished to do -so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - ------------------------------------------------------------------------------- - -ALTERNATIVE B - Public Domain (www.unlicense.org) - -This is free and unencumbered software released into the public domain. - -Anyone is free to copy, modify, publish, use, compile, sell, or distribute this -software, either in source code form or as a compiled binary, for any purpose, -commercial or non-commercial, and by any means. - -In jurisdictions that recognize copyright laws, the author or authors of this -software dedicate any and all copyright interest in the software to the public -domain. We make this dedication for the benefit of the public at large and to -the detriment of our heirs and successors. We intend this dedication to be an -overt act of relinquishment in perpetuity of all present and future rights to -this software under copyright law. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - ------------------------------------------------------------------------------- -*/ diff --git a/tools/3rd_sproutline.h b/tools/3rd_sproutline.h deleted file mode 100644 index 462cbe8..0000000 --- a/tools/3rd_sproutline.h +++ /dev/null @@ -1,441 +0,0 @@ -/* sproutline - v0.10 - public domain sprite outline detector - http://github.org/ands/sproutline - no warranty implied; use at your own risk - - Do this: - #define S2O_IMPLEMENTATION - before you include this file in *one* C or C++ file to create the implementation. - - // i.e. it should look like this: - #include ... - #include ... - #include ... - #define S2O_IMPLEMENTATION - #include "sproutline.h" - - You can #define S2O_MALLOC to avoid using malloc - - - QUICK NOTES: - Primarily of interest to game developers. - - Recommended to be used with stb_image. - - Detects outlines in sprite images with alpha channels. - - Extracts outlines as clockwise paths. - - Simplifies outlines based on a distance metric. - - Full documentation under "DOCUMENTATION" below. - - - Revision 0.10 release notes: - - - Initial release of sproutline.h. - - - Added S2O_MALLOC macro for replacing the memory allocator. - Unlike most STB libraries, this macro doesn't support a context parameter, - so if you need to pass a context in to the allocator, you'll have to - store it in a global or a thread-local variable. - - - Revision history: - 0.10 (2015-10-22) initial version - - ============================ Contributors ========================= - - Andreas Mantler (ands) - -License: - This software is in the public domain. Where that dedication is not - recognized, you are granted a perpetual, irrevocable license to copy - and modify this file however you want. - -*/ - -#ifndef S2O_INCLUDE_SPROUTLINE_H -#define S2O_INCLUDE_SPROUTLINE_H - -// DOCUMENTATION -// -// Limitations: -// - currently only works with images that have alpha channels -// -// Basic usage (with stb_image): -// int w, h, n, l; -// unsigned char *rgba = stbi_load(filename, &w, &h, &n, 4); -// unsigned char *alpha = s2o_rgba_to_alpha(rgba, w, h); -// unsigned char *thresholded = s2o_alpha_to_thresholded(alpha, w, h, ALPHA_THRESHOLD); -// unsigned char *outlined = s2o_thresholded_to_outlined(thresholded, w, h); -// s2o_point *outline = s2o_extract_outline_path(outlined, w, h, &l, 0); -// while(l) -// { -// s2o_distance_based_path_simplification(outline, &l, DISTANCE_THRESHOLD); -// // ... process outline here ... -// // ... l = number of points in outline -// // ... ALPHA_THRESHOLD = 1..255 (the min value to be considered solid) -// // ... DISTANCE_THRESHOLD = 0.0f..Inf (~0.5f is a suitable value) -// // ... a greater value results in fewer points in the output -// -// outline = s2o_extract_outline_path(outlined, w, h, &l, outline); -// }; -// free(outline); -// free(outlined); -// free(thresholded); -// free(alpha); -// free(rgba); -// -// s2o_rgba_to_alpha: -// Expects an 'unsigned char *' to memory of w * h 4-byte pixels in 'RGBA' order. -// The return value is an 'unsigned char *' to memory of w * h 1-byte pixel alpha components. -// -// s2o_alpha_to_thresholded: -// Expects an 'unsigned char *' to memory of w * h 1-byte pixel alpha components. -// The return value is an 'unsigned char *' to memory of w * h 1-byte values -// that are 255 if the corresponding input is >= the specified threshold, otherwise 0. -// -// s2o_thresholded_to_outlined: -// Expects an 'unsigned char *' to memory of w * h 1-byte pixels indicating their solidity {0, nonzero}. -// The return value is an 'unsigned char *' to memory of w * h 1-byte pixels that indicate if the -// corresponding input value is part of an outline (= is solid and has a non-solid neighbour). -// -// s2o_extract_outline_path: -// Expects an 'unsigned char *' to memory of w * h 1-byte pixels indicating their outline membership. -// The return value is an 's2o_point *' to memory of l s2o_point values consisting of a short x and y value. -// The procedure scans the input data from top to bottom and starts extracting the first outline it finds. -// The pixels corresponding to the extracted outline are set to 0 in the input, so that a subsequent call to -// s2o_extract_outline_path extracts a different outline. -// The length is set to 0 if no outline was found. -// -// s2o_distance_based_path_simplification: -// Expects an 's2o_point *' to memory of l outline points. -// The procedure throws out points in place that lie on or close to linear sections of the outline. -// The distanceThreshold parameter specifies the min distance value for points to remain in the outline. -// -// =========================================================================== -// -// Philosophy -// -// This library is designed with the stb philosophy in mind. -// stb libraries are designed with the following priorities: -// -// 1. easy to use -// 2. easy to maintain -// 3. good performance -// -// Some secondary priorities arise directly from the first two, some of which -// make more explicit reasons why performance can't be emphasized. -// -// - Portable ("ease of use") -// - Small footprint ("easy to maintain") -// - No dependencies ("ease of use") -// - -typedef unsigned char s2o_uc; - -#ifdef __cplusplus -extern "C" { -#endif - -#ifdef S2O_STATIC -#define S2ODEF static -#else -#define S2ODEF extern -#endif - -////////////////////////////////////////////////////////////////////////////// -// -// PRIMARY API -// - -S2ODEF s2o_uc * s2o_rgba_to_alpha (const s2o_uc *data, int w, int h); -S2ODEF s2o_uc * s2o_alpha_to_thresholded (const s2o_uc *data, int w, int h, s2o_uc threshold); -S2ODEF s2o_uc * s2o_thresholded_to_outlined(const s2o_uc *data, int w, int h); - -typedef struct { short x, y; } s2o_point; -S2ODEF s2o_point * s2o_extract_outline_path(s2o_uc *data, int w, int h, int *point_count, s2o_point *reusable_outline); -S2ODEF void s2o_distance_based_path_simplification(s2o_point *outline, int *outline_length, float distance_threshold); - -#ifdef __cplusplus -} -#endif - -// -// -//// end header file ///////////////////////////////////////////////////// -#endif // S2O_INCLUDE_SPROUTLINE_H - -#ifdef S2O_IMPLEMENTATION - -#include // sqrtf, abs - -#ifndef S2O_MALLOC -#include // malloc -#define S2O_MALLOC(sz) malloc(sz) -#endif - -/////////////////////////////////////////////// -// -// locally used types - -typedef int s2o_bool; - -// 2d point type helpers -#define S2O_POINT_ADD(result, a, b) { (result).x = (a).x + (b).x; (result).y = (a).y + (b).y; } -#define S2O_POINT_SUB(result, a, b) { (result).x = (a).x - (b).x; (result).y = (a).y - (b).y; } -#define S2O_POINT_IS_INSIDE(a, w, h) ((a).x >= 0 && (a).y >= 0 && (a).x < (w) && (a).y < (h)) -#define S2O_POINT_IS_NEXT_TO(a, b) ((a).x - (b).x <= 1 && (a).x - (b).x >= -1 && (a).y - (b).y <= 1 && (a).y - (b).y >= -1) - -// direction type -typedef int s2o_direction; // 8 cw directions: >, _|, v, |_, <, |", ^, "| -#define S2O_DIRECTION_OPPOSITE(dir) ((dir + 4) & 7) -static const s2o_point s2o_direction_to_pixel_offset[] = { {1,0}, {1,-1}, {0,-1}, {-1,-1}, {-1,0}, {-1,1}, {0,1}, {1,1} }; - -// image manipulation functions -S2ODEF s2o_uc * s2o_rgba_to_alpha(const s2o_uc *data, int w, int h) -{ - s2o_uc *result = (s2o_uc*)S2O_MALLOC(w * h); - int x, y; - for (y = 0; y < h; y++) - for (x = 0; x < w; x++) - result[y * w + x] = data[(y * w + x) * 4 + 3]; - return result; -} - -S2ODEF s2o_uc * s2o_alpha_to_thresholded(const s2o_uc *data, int w, int h, s2o_uc threshold) -{ - s2o_uc *result = (s2o_uc*)S2O_MALLOC(w * h); - int x, y; - for (y = 0; y < h; y++) - for (x = 0; x < w; x++) - result[y * w + x] = data[y * w + x] >= threshold ? 255 : 0; - return result; -} - -S2ODEF s2o_uc * s2o_dilate_thresholded(const s2o_uc *data, int w, int h) -{ - int x, y, dx, dy, cx, cy; - s2o_uc *result = (s2o_uc*)S2O_MALLOC(w * h); - for (y = 0; y < h; y++) - { - for (x = 0; x < w; x++) - { - result[y * w + x] = 0; - for (dy = -1; dy <= 1; dy++) - { - for (dx = -1; dx <= 1; dx++) - { - cx = x + dx; - cy = y + dy; - if (cx >= 0 && cx < w && cy >= 0 && cy < h) - { - if (data[cy * w + cx]) - { - result[y * w + x] = 255; - dy = 1; - break; - } - } - } - } - } - } - return result; -} - -S2ODEF s2o_uc * s2o_thresholded_to_outlined(const s2o_uc *data, int w, int h) -{ - s2o_uc *result = (s2o_uc*)S2O_MALLOC(w * h); - int x, y; - for (x = 0; x < w; x++) - { - result[x] = data[x]; - result[(h - 1) * w + x] = data[(h - 1) * w + x]; - } - for (y = 1; y < h - 1; y++) - { - result[y * w] = data[y * w]; - for (x = 1; x < w - 1; x++) - { - if (data[y * w + x] && - ( - !data[y * w + x - 1] || - !data[y * w + x + 1] || - !data[y * w + x - w] || - !data[y * w + x + w] - )) - { - result[y * w + x] = 255; - } - else - { - result[y * w + x] = 0; - } - } - result[y * w + w - 1] = data[y * w + w - 1]; - } - return result; -} - -// outline path procedures -static s2o_bool s2o_find_first_filled_pixel(const s2o_uc *data, int w, int h, s2o_point *first) -{ - int x, y; - for (y = 0; y < h; y++) - { - for (x = 0; x < w; x++) - { - if (data[y * w + x]) - { - first->x = (short)x; - first->y = (short)y; - return 1; - } - } - } - return 0; -} - -static s2o_bool s2o_find_next_filled_pixel(const s2o_uc *data, int w, int h, s2o_point current, s2o_direction *dir, s2o_point *next) -{ - // turn around 180°, then make a clockwise scan for a filled pixel - *dir = S2O_DIRECTION_OPPOSITE(*dir); - int i; - for (i = 0; i < 8; i++) - { - S2O_POINT_ADD(*next, current, s2o_direction_to_pixel_offset[*dir]); - - if (S2O_POINT_IS_INSIDE(*next, w, h) && data[next->y * w + next->x]) - return 1; - - // move to next angle (clockwise) - *dir = *dir - 1; - if (*dir < 0) - *dir = 7; - } - return 0; -} - -S2ODEF s2o_point * s2o_extract_outline_path(s2o_uc *data, int w, int h, int *point_count, s2o_point *reusable_outline) -{ - s2o_point *outline = reusable_outline; - if (!outline) - outline = (s2o_point*)S2O_MALLOC(w * h * sizeof(s2o_point)); - - s2o_point current, next; - -restart: - if (!s2o_find_first_filled_pixel(data, w, h, ¤t)) - { - *point_count = 0; - return outline; - } - - int count = 0; - s2o_direction dir = 0; - - while(S2O_POINT_IS_INSIDE(current, w, h) && count < (w*h)) //< @r-lyeh: buffer overflow: add count= 0 && count < (w * h); prev--) //< @r-lyeh: buffer overflow: add count 1; l--) - { - int a, b = l; - for (a = 0; a < length; a++) - { - s2o_point ab; - S2O_POINT_SUB(ab, outline[b], outline[a]); - float lab = sqrtf((float)(ab.x * ab.x + ab.y * ab.y)); - float ilab = 1.0f / lab; - float abnx = ab.x * ilab, abny = ab.y * ilab; - - if (lab != 0.0f) - { - s2o_bool found = 1; - int i = (a + 1) % length; - while (i != b) - { - s2o_point ai; - S2O_POINT_SUB(ai, outline[i], outline[a]); - float t = (abnx * ai.x + abny * ai.y) * ilab; - float distance = -abny * ai.x + abnx * ai.y; - if (t < 0.0f || t > 1.0f || distance > distance_threshold || -distance > distance_threshold) - { - found = 0; - break; - } - - if (++i == length) - i = 0; - } - - if (found) - { - int i; - if (a < b) - { - for (i = 0; i < length - b; i++) - outline[a + i + 1] = outline[b + i]; - length -= b - a - 1; - } - else - { - length = a - b + 1; - for (i = 0; i < length; i++) - outline[i] = outline[b + i]; - } - if (l >= length) - l = length - 1; - } - } - - if (++b >= length) - b = 0; - } - } - *outline_length = length; -} - -#endif // S2O_IMPLEMENTATION diff --git a/tools/ase2ini.c b/tools/ase2ini.c index 1febe7f..a36460f 100644 --- a/tools/ase2ini.c +++ b/tools/ase2ini.c @@ -52,7 +52,9 @@ size_t vlen( void* p ) { return p ? 0[ (size_t*)p - 2 ] : 0; } -char *STRDUP(const char *s) { size_t n = strlen(s)+1; return ((char*)memcpy(ATLAS_REALLOC(0,n), s, n)); } ///- +char *vstrdup(const char *s) { size_t n = strlen(s)+1; return ((char*)memcpy(ATLAS_REALLOC(0,n), s, n)); } ///- + +#define STRDUP vstrdup static unsigned array_c; #define array(t) t* @@ -126,6 +128,7 @@ char* strcatf(char **src_, const char *fmt, ...) { #define ATLASC_IMPLEMENTATION #include "3rd_atlasc.h" + #if defined _WIN32 && defined _MSC_VER __declspec(dllexport) #elif defined _WIN32 && defined __GNUC__ @@ -164,7 +167,6 @@ int main(int argc, char* argv[]) { for( int i = 1; i < argc; ++i) { const char *arg = argv[i]; if( arg[0] != '-' ) { - assert(array_count(files) == 0); if( path_isfile(arg) ) array_push(files, STRDUP(arg)); else @@ -174,7 +176,6 @@ int main(int argc, char* argv[]) { array_push(files, STRDUP(dir_name(d, i))); } } - assert(array_count(files) == 1); } else switch( arg[1] ) { @@ -209,19 +210,23 @@ int main(int argc, char* argv[]) { char *error = g_error_str; - atlas_t* atlas = atlas_loadfiles(files, flags); - if ( atlas ) { - bool r = atlas_save(outfile, atlas, flags); - if( r ) { - // fprintf(stderr, "Written: %d->%d\n", flags.num_files, !!r); - error = 0; + if( !files ) { + error = "No input file(s)"; + } else { + atlas_t* atlas = atlas_loadfiles(files, flags); + if ( atlas ) { + bool r = atlas_save(outfile, atlas, flags); + if( r ) { + // fprintf(stderr, "Written: %d->%d\n", flags.num_files, !!r); + error = 0; + } + atlas_free(atlas); } - atlas_free(atlas); - } - // for( int i = 0; i < array_count(files); ++i) - // ATLAS_REALLOC(files[i], 0); - // array_free(files); + for( int i = 0; i < array_count(files); ++i) + ATLAS_REALLOC(files[i], 0); + array_free(files); + } return error ? fprintf(stderr, "%s\n", error), -1 : 0; } diff --git a/tools/ase2ini.exe b/tools/ase2ini.exe index 86b9cfeeee6df9229ea9d86764cc8423e8de9ee1..df1f4581a600c3411194a6f314d81ca6b81a5d9c 100644 GIT binary patch literal 353280 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

a7OPd(Y+!) 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

Qp?s&O+1k%B6Dm}a@%Zi8f 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 S&g5YBH|0L2NI_Ye#Mk`!vpbiBk4rJ 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 QzUQL%k--1`om2z=57ny`H2?qr literal 373760 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

1wKraMhCIsaoI7pt2Rt7{e3nT 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

mC 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�Ode{+7O@| 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

8rD?Whp;C(2lf; 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