gosu 1.4.1 → 1.4.4
Sign up to get free protection for your applications and to get access to all the features.
- 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)
|