gosu 1.4.1 → 1.4.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/dependencies/SDL_sound/SDL_sound.c +21 -63
- data/dependencies/SDL_sound/SDL_sound.h +2 -2
- data/dependencies/SDL_sound/SDL_sound_aiff.c +26 -23
- data/dependencies/SDL_sound/SDL_sound_au.c +8 -8
- data/dependencies/SDL_sound/SDL_sound_coreaudio.c +4 -5
- data/dependencies/SDL_sound/SDL_sound_flac.c +28 -30
- data/dependencies/SDL_sound/SDL_sound_internal.h +4 -4
- data/dependencies/SDL_sound/SDL_sound_modplug.c +1 -1
- data/dependencies/SDL_sound/SDL_sound_mp3.c +19 -23
- data/dependencies/SDL_sound/SDL_sound_raw.c +5 -6
- data/dependencies/SDL_sound/SDL_sound_shn.c +4 -4
- data/dependencies/SDL_sound/SDL_sound_voc.c +15 -15
- data/dependencies/SDL_sound/SDL_sound_vorbis.c +14 -7
- data/dependencies/SDL_sound/SDL_sound_wav.c +17 -17
- data/dependencies/SDL_sound/dr_flac.h +10840 -4779
- data/dependencies/SDL_sound/dr_mp3.h +2793 -1004
- data/dependencies/SDL_sound/libmodplug/fastmix.c +5 -0
- data/dependencies/SDL_sound/libmodplug/load_669.c +1 -1
- data/dependencies/SDL_sound/libmodplug/load_amf.c +1 -0
- data/dependencies/SDL_sound/libmodplug/load_ams.c +38 -22
- data/dependencies/SDL_sound/libmodplug/load_it.c +18 -14
- data/dependencies/SDL_sound/libmodplug/load_mdl.c +18 -9
- data/dependencies/SDL_sound/libmodplug/load_med.c +7 -6
- data/dependencies/SDL_sound/libmodplug/load_mt2.c +36 -17
- data/dependencies/SDL_sound/libmodplug/load_okt.c +51 -24
- data/dependencies/SDL_sound/libmodplug/load_psm.c +4 -2
- data/dependencies/SDL_sound/libmodplug/load_s3m.c +4 -4
- data/dependencies/SDL_sound/libmodplug/load_ult.c +4 -3
- data/dependencies/SDL_sound/libmodplug/load_xm.c +5 -5
- data/dependencies/SDL_sound/libmodplug/snd_fx.c +8 -1
- data/dependencies/SDL_sound/libmodplug/sndfile.c +21 -4
- data/dependencies/SDL_sound/stb_vorbis.h +10 -18
- data/dependencies/mojoAL/mojoal.c +260 -6
- data/dependencies/stb/stb_image.h +208 -73
- data/dependencies/stb/stb_image_write.h +57 -23
- data/dependencies/stb/stb_truetype.h +345 -279
- data/dependencies/utf8proc/utf8proc.c +37 -18
- data/dependencies/utf8proc/utf8proc.h +17 -5
- data/dependencies/utf8proc/utf8proc_data.h +12012 -10089
- data/ext/gosu/extconf.rb +6 -3
- data/include/Gosu/Buttons.hpp +103 -103
- data/include/Gosu/Directories.hpp +31 -24
- data/include/Gosu/Font.hpp +4 -2
- data/include/Gosu/Gosu.hpp +5 -8
- data/include/Gosu/IO.hpp +0 -3
- data/include/Gosu/Input.hpp +7 -1
- data/include/Gosu/Math.hpp +0 -3
- data/include/Gosu/TextInput.hpp +3 -3
- data/include/Gosu/Timing.hpp +3 -6
- data/include/Gosu/Version.hpp +1 -1
- data/include/Gosu/Window.hpp +3 -2
- data/rdoc/gosu.rb +16 -2
- data/src/Audio.cpp +2 -2
- data/src/AudioFileAudioToolbox.cpp +1 -1
- data/src/AudioFileSDLSound.cpp +1 -1
- data/src/AudioImpl.cpp +0 -7
- data/src/AudioImpl.hpp +1 -3
- data/src/BitmapIO.cpp +23 -2
- data/src/BlockAllocator.cpp +1 -1
- data/src/DirectoriesApple.cpp +25 -24
- data/src/DirectoriesUnix.cpp +14 -12
- data/src/DirectoriesWin.cpp +26 -30
- data/src/FileUnix.cpp +1 -1
- data/src/FileWin.cpp +1 -1
- data/src/Font.cpp +13 -3
- data/src/Graphics.cpp +1 -1
- data/src/Image.cpp +10 -15
- data/src/Input.cpp +16 -1
- data/src/InputUIKit.cpp +1 -1
- data/src/Macro.cpp +1 -1
- data/src/RubyGosu.cxx +76 -34
- data/src/TextInput.cpp +1 -1
- data/src/TimingApple.cpp +2 -2
- data/src/TimingUnix.cpp +3 -7
- data/src/TimingWin.cpp +1 -2
- data/src/TrueTypeFont.cpp +1 -1
- data/src/Window.cpp +5 -4
- data/src/WindowUIKit.cpp +1 -1
- metadata +3 -3
@@ -1,4 +1,4 @@
|
|
1
|
-
/* stb_image_write - v1.
|
1
|
+
/* stb_image_write - v1.16 - public domain - http://nothings.org/stb
|
2
2
|
writes out PNG/BMP/TGA/JPEG/HDR images to C stdio - Sean Barrett 2010-2015
|
3
3
|
no warranty implied; use at your own risk
|
4
4
|
|
@@ -140,6 +140,7 @@ CREDITS:
|
|
140
140
|
Ivan Tikhonov
|
141
141
|
github:ignotion
|
142
142
|
Adam Schackart
|
143
|
+
Andrew Kensler
|
143
144
|
|
144
145
|
LICENSE
|
145
146
|
|
@@ -166,9 +167,9 @@ LICENSE
|
|
166
167
|
#endif
|
167
168
|
|
168
169
|
#ifndef STB_IMAGE_WRITE_STATIC // C++ forbids static forward declarations
|
169
|
-
|
170
|
-
|
171
|
-
|
170
|
+
STBIWDEF int stbi_write_tga_with_rle;
|
171
|
+
STBIWDEF int stbi_write_png_compression_level;
|
172
|
+
STBIWDEF int stbi_write_force_png_filter;
|
172
173
|
#endif
|
173
174
|
|
174
175
|
#ifndef STBI_WRITE_NO_STDIO
|
@@ -178,7 +179,7 @@ STBIWDEF int stbi_write_tga(char const *filename, int w, int h, int comp, const
|
|
178
179
|
STBIWDEF int stbi_write_hdr(char const *filename, int w, int h, int comp, const float *data);
|
179
180
|
STBIWDEF int stbi_write_jpg(char const *filename, int x, int y, int comp, const void *data, int quality);
|
180
181
|
|
181
|
-
#ifdef
|
182
|
+
#ifdef STBIW_WINDOWS_UTF8
|
182
183
|
STBIWDEF int stbiw_convert_wchar_to_utf8(char *buffer, size_t bufferlen, const wchar_t* input);
|
183
184
|
#endif
|
184
185
|
#endif
|
@@ -285,7 +286,7 @@ static void stbi__stdio_write(void *context, void *data, int size)
|
|
285
286
|
fwrite(data,1,size,(FILE*) context);
|
286
287
|
}
|
287
288
|
|
288
|
-
#if defined(
|
289
|
+
#if defined(_WIN32) && defined(STBIW_WINDOWS_UTF8)
|
289
290
|
#ifdef __cplusplus
|
290
291
|
#define STBIW_EXTERN extern "C"
|
291
292
|
#else
|
@@ -296,25 +297,25 @@ STBIW_EXTERN __declspec(dllimport) int __stdcall WideCharToMultiByte(unsigned in
|
|
296
297
|
|
297
298
|
STBIWDEF int stbiw_convert_wchar_to_utf8(char *buffer, size_t bufferlen, const wchar_t* input)
|
298
299
|
{
|
299
|
-
|
300
|
+
return WideCharToMultiByte(65001 /* UTF8 */, 0, input, -1, buffer, (int) bufferlen, NULL, NULL);
|
300
301
|
}
|
301
302
|
#endif
|
302
303
|
|
303
304
|
static FILE *stbiw__fopen(char const *filename, char const *mode)
|
304
305
|
{
|
305
306
|
FILE *f;
|
306
|
-
#if defined(
|
307
|
+
#if defined(_WIN32) && defined(STBIW_WINDOWS_UTF8)
|
307
308
|
wchar_t wMode[64];
|
308
309
|
wchar_t wFilename[1024];
|
309
|
-
|
310
|
+
if (0 == MultiByteToWideChar(65001 /* UTF8 */, 0, filename, -1, wFilename, sizeof(wFilename)/sizeof(*wFilename)))
|
310
311
|
return 0;
|
311
312
|
|
312
|
-
|
313
|
+
if (0 == MultiByteToWideChar(65001 /* UTF8 */, 0, mode, -1, wMode, sizeof(wMode)/sizeof(*wMode)))
|
313
314
|
return 0;
|
314
315
|
|
315
|
-
#if _MSC_VER >= 1400
|
316
|
-
|
317
|
-
|
316
|
+
#if defined(_MSC_VER) && _MSC_VER >= 1400
|
317
|
+
if (0 != _wfopen_s(&f, wFilename, wMode))
|
318
|
+
f = 0;
|
318
319
|
#else
|
319
320
|
f = _wfopen(wFilename, wMode);
|
320
321
|
#endif
|
@@ -397,7 +398,7 @@ static void stbiw__putc(stbi__write_context *s, unsigned char c)
|
|
397
398
|
|
398
399
|
static void stbiw__write1(stbi__write_context *s, unsigned char a)
|
399
400
|
{
|
400
|
-
if (s->buf_used + 1 > sizeof(s->buffer))
|
401
|
+
if ((size_t)s->buf_used + 1 > sizeof(s->buffer))
|
401
402
|
stbiw__write_flush(s);
|
402
403
|
s->buffer[s->buf_used++] = a;
|
403
404
|
}
|
@@ -405,7 +406,7 @@ static void stbiw__write1(stbi__write_context *s, unsigned char a)
|
|
405
406
|
static void stbiw__write3(stbi__write_context *s, unsigned char a, unsigned char b, unsigned char c)
|
406
407
|
{
|
407
408
|
int n;
|
408
|
-
if (s->buf_used + 3 > sizeof(s->buffer))
|
409
|
+
if ((size_t)s->buf_used + 3 > sizeof(s->buffer))
|
409
410
|
stbiw__write_flush(s);
|
410
411
|
n = s->buf_used;
|
411
412
|
s->buf_used = n+3;
|
@@ -490,11 +491,22 @@ static int stbiw__outfile(stbi__write_context *s, int rgb_dir, int vdir, int x,
|
|
490
491
|
|
491
492
|
static int stbi_write_bmp_core(stbi__write_context *s, int x, int y, int comp, const void *data)
|
492
493
|
{
|
493
|
-
|
494
|
-
|
495
|
-
|
496
|
-
|
497
|
-
|
494
|
+
if (comp != 4) {
|
495
|
+
// write RGB bitmap
|
496
|
+
int pad = (-x*3) & 3;
|
497
|
+
return stbiw__outfile(s,-1,-1,x,y,comp,1,(void *) data,0,pad,
|
498
|
+
"11 4 22 4" "4 44 22 444444",
|
499
|
+
'B', 'M', 14+40+(x*3+pad)*y, 0,0, 14+40, // file header
|
500
|
+
40, x,y, 1,24, 0,0,0,0,0,0); // bitmap header
|
501
|
+
} else {
|
502
|
+
// RGBA bitmaps need a v4 header
|
503
|
+
// use BI_BITFIELDS mode with 32bpp and alpha mask
|
504
|
+
// (straight BI_RGB with alpha mask doesn't work in most readers)
|
505
|
+
return stbiw__outfile(s,-1,-1,x,y,comp,1,(void *)data,1,0,
|
506
|
+
"11 4 22 4" "4 44 22 444444 4444 4 444 444 444 444",
|
507
|
+
'B', 'M', 14+108+x*y*4, 0, 0, 14+108, // file header
|
508
|
+
108, x,y, 1,32, 3,0,0,0,0,0, 0xff0000,0xff00,0xff,0xff000000u, 0, 0,0,0, 0,0,0, 0,0,0, 0,0,0); // bitmap V4 header
|
509
|
+
}
|
498
510
|
}
|
499
511
|
|
500
512
|
STBIWDEF int stbi_write_bmp_to_func(stbi_write_func *func, void *context, int x, int y, int comp, const void *data)
|
@@ -622,6 +634,8 @@ STBIWDEF int stbi_write_tga(char const *filename, int x, int y, int comp, const
|
|
622
634
|
|
623
635
|
#define stbiw__max(a, b) ((a) > (b) ? (a) : (b))
|
624
636
|
|
637
|
+
#ifndef STBI_WRITE_NO_STDIO
|
638
|
+
|
625
639
|
static void stbiw__linear_to_rgbe(unsigned char *rgbe, float *linear)
|
626
640
|
{
|
627
641
|
int exponent;
|
@@ -756,7 +770,7 @@ static int stbi_write_hdr_core(stbi__write_context *s, int x, int y, int comp, f
|
|
756
770
|
char header[] = "#?RADIANCE\n# Written by stb_image_write.h\nFORMAT=32-bit_rle_rgbe\n";
|
757
771
|
s->func(s->context, header, sizeof(header)-1);
|
758
772
|
|
759
|
-
#ifdef
|
773
|
+
#ifdef __STDC_LIB_EXT1__
|
760
774
|
len = sprintf_s(buffer, sizeof(buffer), "EXPOSURE= 1.0000000000000\n\n-Y %d +X %d\n", y, x);
|
761
775
|
#else
|
762
776
|
len = sprintf(buffer, "EXPOSURE= 1.0000000000000\n\n-Y %d +X %d\n", y, x);
|
@@ -777,7 +791,6 @@ STBIWDEF int stbi_write_hdr_to_func(stbi_write_func *func, void *context, int x,
|
|
777
791
|
return stbi_write_hdr_core(&s, x, y, comp, (float *) data);
|
778
792
|
}
|
779
793
|
|
780
|
-
#ifndef STBI_WRITE_NO_STDIO
|
781
794
|
STBIWDEF int stbi_write_hdr(char const *filename, int x, int y, int comp, const float *data)
|
782
795
|
{
|
783
796
|
stbi__write_context s = { 0 };
|
@@ -968,6 +981,23 @@ STBIWDEF unsigned char * stbi_zlib_compress(unsigned char *data, int data_len, i
|
|
968
981
|
(void) stbiw__sbfree(hash_table[i]);
|
969
982
|
STBIW_FREE(hash_table);
|
970
983
|
|
984
|
+
// store uncompressed instead if compression was worse
|
985
|
+
if (stbiw__sbn(out) > data_len + 2 + ((data_len+32766)/32767)*5) {
|
986
|
+
stbiw__sbn(out) = 2; // truncate to DEFLATE 32K window and FLEVEL = 1
|
987
|
+
for (j = 0; j < data_len;) {
|
988
|
+
int blocklen = data_len - j;
|
989
|
+
if (blocklen > 32767) blocklen = 32767;
|
990
|
+
stbiw__sbpush(out, data_len - j == blocklen); // BFINAL = ?, BTYPE = 0 -- no compression
|
991
|
+
stbiw__sbpush(out, STBIW_UCHAR(blocklen)); // LEN
|
992
|
+
stbiw__sbpush(out, STBIW_UCHAR(blocklen >> 8));
|
993
|
+
stbiw__sbpush(out, STBIW_UCHAR(~blocklen)); // NLEN
|
994
|
+
stbiw__sbpush(out, STBIW_UCHAR(~blocklen >> 8));
|
995
|
+
memcpy(out+stbiw__sbn(out), data+j, blocklen);
|
996
|
+
stbiw__sbn(out) += blocklen;
|
997
|
+
j += blocklen;
|
998
|
+
}
|
999
|
+
}
|
1000
|
+
|
971
1001
|
{
|
972
1002
|
// compute adler32 on input
|
973
1003
|
unsigned int s1=1, s2=0;
|
@@ -1598,6 +1628,10 @@ STBIWDEF int stbi_write_jpg(char const *filename, int x, int y, int comp, const
|
|
1598
1628
|
#endif // STB_IMAGE_WRITE_IMPLEMENTATION
|
1599
1629
|
|
1600
1630
|
/* Revision history
|
1631
|
+
1.16 (2021-07-11)
|
1632
|
+
make Deflate code emit uncompressed blocks when it would otherwise expand
|
1633
|
+
support writing BMPs with alpha channel
|
1634
|
+
1.15 (2020-07-13) unknown
|
1601
1635
|
1.14 (2020-02-02) updated JPEG writer to downsample chroma channels
|
1602
1636
|
1.13
|
1603
1637
|
1.12
|
@@ -1635,7 +1669,7 @@ STBIWDEF int stbi_write_jpg(char const *filename, int x, int y, int comp, const
|
|
1635
1669
|
add HDR output
|
1636
1670
|
fix monochrome BMP
|
1637
1671
|
0.95 (2014-08-17)
|
1638
|
-
|
1672
|
+
add monochrome TGA output
|
1639
1673
|
0.94 (2014-05-31)
|
1640
1674
|
rename private functions to avoid conflicts with stb_image.h
|
1641
1675
|
0.93 (2014-05-27)
|