diff --git a/README.md b/README.md index 731b632..4b986ef 100644 --- a/README.md +++ b/README.md @@ -20,54 +20,35 @@ by Jorge L. "VinoBS" Rodriguez, and stb_sprintf by Jeff Roberts. library | lastest version | category | LoC | description --------------------- | ---- | -------- | --- | -------------------------------- -<<<<<<< HEAD -**[stb_vorbis.c](stb_vorbis.c)** | 1.21 | audio | 5569 | decode ogg vorbis files from file/memory to float/16-bit signed output -**[stb_image.h](stb_image.h)** | 2.26 | graphics | 7762 | image loading/decoding from file/memory: JPG, PNG, TGA, BMP, PSD, GIF, HDR, PIC, PNM -**[stb_truetype.h](stb_truetype.h)** | 1.24 | graphics | 5011 | parse, decode, and rasterize characters from truetype fonts -**[stb_image_write.h](stb_image_write.h)** | 1.15 | graphics | 1690 | image writing to disk: PNG, TGA, BMP, JPG, HDR -**[stb_image_resize.h](stb_image_resize.h)** | 0.96 | graphics | 2631 | resize images larger/smaller with good quality -**[stb_rect_pack.h](stb_rect_pack.h)** | 1.00 | graphics | 628 | simple 2D rectangle packer with decent quality -**[stb_ds.h](stb_ds.h)** | 0.66 | utility | 1893 | typesafe dynamic array and hash tables for C, will compile in C++ -**[stb_sprintf.h](stb_sprintf.h)** | 1.09 | utility | 1879 | fast sprintf, snprintf for C/C++ -**[stb_textedit.h](stb_textedit.h)** | 1.13 | user interface | 1404 | guts of a text editor for games etc implementing them from scratch +**[stb_vorbis.c](stb_vorbis.c)** | 1.22 | audio | 5584 | decode ogg vorbis files from file/memory to float/16-bit signed output +**[stb_image.h](stb_image.h)** | 2.27 | graphics | 7890 | image loading/decoding from file/memory: JPG, PNG, TGA, BMP, PSD, GIF, HDR, PIC +**[stb_truetype.h](stb_truetype.h)** | 1.25 | graphics | 5011 | parse, decode, and rasterize characters from truetype fonts +**[stb_image_write.h](stb_image_write.h)** | 1.16 | graphics | 1724 | image writing to disk: PNG, TGA, BMP +**[stb_image_resize.h](stb_image_resize.h)** | 0.97 | graphics | 2634 | resize images larger/smaller with good quality +**[stb_rect_pack.h](stb_rect_pack.h)** | 1.01 | graphics | 623 | simple 2D rectangle packer with decent quality +**[stb_ds.h](stb_ds.h)** | 0.67 | utility | 1895 | typesafe dynamic array and hash tables for C, will compile in C++ +**[stb_sprintf.h](stb_sprintf.h)** | 1.10 | utility | 1906 | fast sprintf, snprintf for C/C++ +**[stb_textedit.h](stb_textedit.h)** | 1.14 | user interface | 1429 | guts of a text editor for games etc implementing them from scratch **[stb_voxel_render.h](stb_voxel_render.h)** | 0.89 | 3D graphics | 3807 | Minecraft-esque voxel rendering "engine" with many more features -**[stb_dxt.h](stb_dxt.h)** | 1.10 | 3D graphics | 753 | Fabian "ryg" Giesen's real-time DXT compressor +**[stb_dxt.h](stb_dxt.h)** | 1.11 | 3D graphics | 718 | Fabian "ryg" Giesen's real-time DXT compressor **[stb_perlin.h](stb_perlin.h)** | 0.5 | 3D graphics | 428 | revised Perlin noise (3D input, 1D output) **[stb_easy_font.h](stb_easy_font.h)** | 1.1 | 3D graphics | 305 | quick-and-dirty easy-to-deploy bitmap font for printing frame rate, etc -**[stb_tilemap_editor.h](stb_tilemap_editor.h)** | 0.41 | game dev | 4161 | embeddable tilemap editor +**[stb_tilemap_editor.h](stb_tilemap_editor.h)** | 0.42 | game dev | 4187 | embeddable tilemap editor **[stb_herringbone_wa...](stb_herringbone_wang_tile.h)** | 0.7 | game dev | 1221 | herringbone Wang tile map generator -**[stb_c_lexer.h](stb_c_lexer.h)** | 0.11 | parsing | 966 | simplify writing parsers for C-like languages -**[stb_divide.h](stb_divide.h)** | 0.93 | math | 430 | more useful 32-bit modulus e.g. "euclidean divide" +**[stb_c_lexer.h](stb_c_lexer.h)** | 0.12 | parsing | 940 | simplify writing parsers for C-like languages +**[stb_divide.h](stb_divide.h)** | 0.94 | math | 433 | more useful 32-bit modulus e.g. "euclidean divide" **[stb_connected_comp...](stb_connected_components.h)** | 0.96 | misc | 1049 | incrementally compute reachability on grids -**[stb.h](stb.h)** | 2.37 | misc | 14454 | helper functions for C, mostly redundant in C++; basically author's personal stuff +**[stb.h](stb.h)** | 2.38 | misc | 14457 | _deprecated_ helper functions for C, mostly redundant in C++; basically author's personal stuff **[stb_leakcheck.h](stb_leakcheck.h)** | 0.6 | misc | 194 | quick-and-dirty malloc/free leak-checking **[stb_include.h](stb_include.h)** | 0.02 | misc | 295 | implement recursive #include support, particularly for GLSL Total libraries: 21 -Total lines of C code: 56530 +Total lines of C code: 56730 FAQ --- -#### How do I use these libraries? - -The idea behind single-header file libraries is that they're easy to distribute and deploy -because all the code is contained in a single file. By default, the .h files in here act as -their own header files, i.e. they declare the functions contained in the file but don't -actually result in any code getting compiled. - -So in addition, you should select _exactly one_ C/C++ source file that actually instantiates -the code, preferably a file you're not editing frequently. This file should define a -specific macro (this is documented per-library) to actually enable the function definitions. -For example, to use stb_image, you should have exactly one C/C++ file that doesn't -include stb_image.h regularly, but instead does - - #define STB_IMAGE_IMPLEMENTATION - #include "stb_image.h" - -The right macro to define is pointed out right at the top of each of these libraries. - #### What's the license? These libraries are in the public domain. You can do anything you diff --git a/stb_c_lexer.h b/stb_c_lexer.h index 8d4305f..bf89dca 100644 --- a/stb_c_lexer.h +++ b/stb_c_lexer.h @@ -1,4 +1,4 @@ -// stb_c_lexer.h - v0.11 - public domain Sean Barrett 2013 +// stb_c_lexer.h - v0.12 - public domain Sean Barrett 2013 // lexer for making little C-like languages with recursive-descent parsers // // This file provides both the interface and the implementation. @@ -10,6 +10,7 @@ // suffixes on integer constants are not handled (you can override this). // // History: +// 0.12 fix compilation bug for NUL support; better support separate inclusion // 0.11 fix clang static analysis warning // 0.10 fix warnings // 0.09 hex floats, no-stdlib fixes diff --git a/stb_divide.h b/stb_divide.h index 455aacf..6a51e3f 100644 --- a/stb_divide.h +++ b/stb_divide.h @@ -3,7 +3,7 @@ // // HISTORY // -// v0.94 Fix integer overflow issues +// v0.94 Fix integer overflow issues // v0.93 2020-02-02 Write useful exit() value from main() // v0.92 2019-02-25 Fix warning // v0.91 2010-02-27 Fix euclidean division by INT_MIN for non-truncating C diff --git a/stb_ds.h b/stb_ds.h index 530f504..e84c82d 100644 --- a/stb_ds.h +++ b/stb_ds.h @@ -1,4 +1,4 @@ -/* stb_ds.h - v0.66 - public domain data structures - Sean Barrett 2019 +/* stb_ds.h - v0.67 - public domain data structures - Sean Barrett 2019 This is a single-header-file library that provides easy-to-use dynamic arrays and hash tables for C (also works in C++). diff --git a/stb_image.h b/stb_image.h index e6207e5..0f8459a 100644 --- a/stb_image.h +++ b/stb_image.h @@ -48,7 +48,7 @@ LICENSE RECENT REVISION HISTORY: - 2.27 ( ) document stbi_info better, 16-bit PNM support, bug fixes + 2.27 (2021-07-11) document stbi_info better, 16-bit PNM support, bug fixes 2.26 (2020-07-13) many minor fixes 2.25 (2020-02-02) fix warnings 2.24 (2020-02-02) fix warnings; thread-local failure_reason and flip_vertically diff --git a/stb_image_resize.h b/stb_image_resize.h index 17e46b7..ef9e6fe 100644 --- a/stb_image_resize.h +++ b/stb_image_resize.h @@ -1,4 +1,4 @@ -/* stb_image_resize - v0.96 - public domain image resizing +/* stb_image_resize - v0.97 - public domain image resizing by Jorge L Rodriguez (@VinoBS) - 2014 http://github.com/nothings/stb diff --git a/stb_image_write.h b/stb_image_write.h index d7ed1d3..e4b32ed 100644 --- a/stb_image_write.h +++ b/stb_image_write.h @@ -1,4 +1,4 @@ -/* stb_image_write - v1.15 - public domain - http://nothings.org/stb +/* stb_image_write - v1.16 - public domain - http://nothings.org/stb writes out PNG/BMP/TGA/JPEG/HDR images to C stdio - Sean Barrett 2010-2015 no warranty implied; use at your own risk @@ -1628,9 +1628,10 @@ STBIWDEF int stbi_write_jpg(char const *filename, int x, int y, int comp, const #endif // STB_IMAGE_WRITE_IMPLEMENTATION /* Revision history - 1.15 ( ) + 1.16 (2021-07-11) make Deflate code emit uncompressed blocks when it would otherwise expand support writing BMPs with alpha channel + 1.15 (2020-07-13) unknown 1.14 (2020-02-02) updated JPEG writer to downsample chroma channels 1.13 1.12 diff --git a/stb_rect_pack.h b/stb_rect_pack.h index a0667a1..6a633ce 100644 --- a/stb_rect_pack.h +++ b/stb_rect_pack.h @@ -41,7 +41,7 @@ // // Version history: // -// 1.01 ( ) always use large rect mode, expose STBRP__MAXVAL in public section +// 1.01 (2021-07-11) always use large rect mode, expose STBRP__MAXVAL in public section // 1.00 (2019-02-25) avoid small space waste; gracefully fail too-wide rectangles // 0.99 (2019-02-07) warning fixes // 0.11 (2017-03-03) return packing success/fail result diff --git a/stb_sprintf.h b/stb_sprintf.h index 82358a5..ca432a6 100644 --- a/stb_sprintf.h +++ b/stb_sprintf.h @@ -1,4 +1,4 @@ -// stb_sprintf - v1.09 - public domain snprintf() implementation +// stb_sprintf - v1.10 - public domain snprintf() implementation // originally by Jeff Roberts / RAD Game Tools, 2015/10/20 // http://github.com/nothings/stb // diff --git a/stb_textedit.h b/stb_textedit.h index 5bb3a57..1442493 100644 --- a/stb_textedit.h +++ b/stb_textedit.h @@ -29,7 +29,7 @@ // // VERSION HISTORY // -// 1.14 ( ) page up/down, various fixes +// 1.14 (2021-07-11) page up/down, various fixes // 1.13 (2019-02-07) fix bug in undo size management // 1.12 (2018-01-29) user can change STB_TEXTEDIT_KEYTYPE, fix redo to avoid crash // 1.11 (2017-03-03) fix HOME on last line, dragging off single-line textfield diff --git a/stb_truetype.h b/stb_truetype.h index 3327d20..c79968a 100644 --- a/stb_truetype.h +++ b/stb_truetype.h @@ -1,4 +1,4 @@ -// stb_truetype.h - v1.24 - public domain +// stb_truetype.h - v1.25 - public domain // authored from 2009-2020 by Sean Barrett / RAD Game Tools // // ======================================================================= @@ -58,6 +58,7 @@ // // VERSION HISTORY // +// 1.25 (2020-07-11) many fixes // 1.24 (2020-02-05) fix warning // 1.23 (2020-02-02) query SVG data for glyphs; query whole kerning table (but only kern not GPOS) // 1.22 (2019-08-11) minimize missing-glyph duplication; fix kerning if both 'GPOS' and 'kern' are defined diff --git a/stb_vorbis.c b/stb_vorbis.c index 534e689..3e5c250 100644 --- a/stb_vorbis.c +++ b/stb_vorbis.c @@ -36,7 +36,7 @@ // AnthoFoxo github:morlat Gabriel Ravier // // Partial history: -// 1.22 - - various small fixes +// 1.22 - 2021-07-11 - various small fixes // 1.21 - 2021-07-02 - fix bug for files with no comments // 1.20 - 2020-07-11 - several small fixes // 1.19 - 2020-02-05 - warnings diff --git a/tests/test_c_lexer.c b/tests/test_c_lexer.c index cc11234..7921b1c 100644 --- a/tests/test_c_lexer.c +++ b/tests/test_c_lexer.c @@ -1,4 +1,4 @@ -#include "stb_c_lexer.h" +#include "stb_c_lexer.h" #define STB_C_LEX_C_DECIMAL_INTS Y // "0|[1-9][0-9]*" CLEX_intlit #define STB_C_LEX_C_HEX_INTS Y // "0x[0-9a-fA-F]+" CLEX_intlit @@ -47,4 +47,4 @@ #define STB_C_LEXER_DEFINITIONS // This line prevents the header file from replacing your definitions -#include "stb_c_lexer.h" +#include "stb_c_lexer.h" diff --git a/tools/README.list b/tools/README.list index 2464351..3daa276 100644 --- a/tools/README.list +++ b/tools/README.list @@ -16,6 +16,6 @@ stb_herringbone_wang_tile.h | game dev | herringbone Wang tile map gener stb_c_lexer.h | parsing | simplify writing parsers for C-like languages stb_divide.h | math | more useful 32-bit modulus e.g. "euclidean divide" stb_connected_components.h | misc | incrementally compute reachability on grids -stb.h | misc | helper functions for C, mostly redundant in C++; basically author's personal stuff +stb.h | misc | _deprecated_ helper functions for C, mostly redundant in C++; basically author's personal stuff stb_leakcheck.h | misc | quick-and-dirty malloc/free leak-checking stb_include.h | misc | implement recursive #include support, particularly for GLSL