external libs: updates to libmikmod from mainstream, rebuilt.
1.1 Binary file VisualC/external/lib/x64/libmikmod-2.dll has changed
2.1 Binary file VisualC/external/lib/x86/libmikmod-2.dll has changed
3.1 Binary file Xcode/Frameworks/mikmod.framework/Versions/A/mikmod has changed
4.1 --- a/external/libmikmod/Makefile.in Sun Dec 08 10:20:21 2019 +0300
4.2 +++ b/external/libmikmod/Makefile.in Sun Dec 08 15:45:50 2019 +0300
4.3 @@ -332,6 +332,7 @@
4.4 prefix = @prefix@
4.5 program_transform_name = @program_transform_name@
4.6 psdir = @psdir@
4.7 +runstatedir = @runstatedir@
4.8 sbindir = @sbindir@
4.9 sharedstatedir = @sharedstatedir@
4.10 srcdir = @srcdir@
5.1 --- a/external/libmikmod/configure Sun Dec 08 10:20:21 2019 +0300
5.2 +++ b/external/libmikmod/configure Sun Dec 08 15:45:50 2019 +0300
5.3 @@ -743,6 +743,7 @@
5.4 docdir
5.5 oldincludedir
5.6 includedir
5.7 +runstatedir
5.8 localstatedir
5.9 sharedstatedir
5.10 sysconfdir
5.11 @@ -853,6 +854,7 @@
5.12 sysconfdir='${prefix}/etc'
5.13 sharedstatedir='${prefix}/com'
5.14 localstatedir='${prefix}/var'
5.15 +runstatedir='${localstatedir}/run'
5.16 includedir='${prefix}/include'
5.17 oldincludedir='/usr/include'
5.18 docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
5.19 @@ -1105,6 +1107,15 @@
5.20 | -silent | --silent | --silen | --sile | --sil)
5.21 silent=yes ;;
5.22
5.23 + -runstatedir | --runstatedir | --runstatedi | --runstated \
5.24 + | --runstate | --runstat | --runsta | --runst | --runs \
5.25 + | --run | --ru | --r)
5.26 + ac_prev=runstatedir ;;
5.27 + -runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \
5.28 + | --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \
5.29 + | --run=* | --ru=* | --r=*)
5.30 + runstatedir=$ac_optarg ;;
5.31 +
5.32 -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
5.33 ac_prev=sbindir ;;
5.34 -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
5.35 @@ -1242,7 +1253,7 @@
5.36 for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
5.37 datadir sysconfdir sharedstatedir localstatedir includedir \
5.38 oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
5.39 - libdir localedir mandir
5.40 + libdir localedir mandir runstatedir
5.41 do
5.42 eval ac_val=\$$ac_var
5.43 # Remove trailing slashes.
5.44 @@ -1395,6 +1406,7 @@
5.45 --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
5.46 --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
5.47 --localstatedir=DIR modifiable single-machine data [PREFIX/var]
5.48 + --runstatedir=DIR modifiable per-process data [LOCALSTATEDIR/run]
5.49 --libdir=DIR object code libraries [EPREFIX/lib]
5.50 --includedir=DIR C header files [PREFIX/include]
5.51 --oldincludedir=DIR C header files for non-gcc [/usr/include]
5.52 @@ -9783,7 +9795,7 @@
5.53 cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
5.54 $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
5.55 emximp -o $lib $output_objdir/$libname.def'
5.56 - old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
5.57 + old_archive_from_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
5.58 enable_shared_with_static_runtimes=yes
5.59 file_list_spec='@'
5.60 ;;
5.61 @@ -10638,7 +10650,7 @@
5.62 cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
5.63 $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
5.64 emximp -o $lib $output_objdir/$libname.def'
5.65 - old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
5.66 + old_archive_from_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
5.67 enable_shared_with_static_runtimes=yes
5.68 file_list_spec='@'
5.69 ;;
5.70 @@ -13083,16 +13095,16 @@
5.71 # Try to guess by grepping values from an object file.
5.72 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
5.73 /* end confdefs.h. */
5.74 -short int ascii_mm[] =
5.75 +unsigned short int ascii_mm[] =
5.76 { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 };
5.77 - short int ascii_ii[] =
5.78 + unsigned short int ascii_ii[] =
5.79 { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 };
5.80 int use_ascii (int i) {
5.81 return ascii_mm[i] + ascii_ii[i];
5.82 }
5.83 - short int ebcdic_ii[] =
5.84 + unsigned short int ebcdic_ii[] =
5.85 { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 };
5.86 - short int ebcdic_mm[] =
5.87 + unsigned short int ebcdic_mm[] =
5.88 { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 };
5.89 int use_ebcdic (int i) {
5.90 return ebcdic_mm[i] + ebcdic_ii[i];
6.1 --- a/external/libmikmod/dlapi/Makefile.in Sun Dec 08 10:20:21 2019 +0300
6.2 +++ b/external/libmikmod/dlapi/Makefile.in Sun Dec 08 15:45:50 2019 +0300
6.3 @@ -192,6 +192,7 @@
6.4 prefix = @prefix@
6.5 program_transform_name = @program_transform_name@
6.6 psdir = @psdir@
6.7 +runstatedir = @runstatedir@
6.8 sbindir = @sbindir@
6.9 sharedstatedir = @sharedstatedir@
6.10 srcdir = @srcdir@
7.1 --- a/external/libmikmod/docs/Makefile.in Sun Dec 08 10:20:21 2019 +0300
7.2 +++ b/external/libmikmod/docs/Makefile.in Sun Dec 08 15:45:50 2019 +0300
7.3 @@ -237,6 +237,7 @@
7.4 prefix = @prefix@
7.5 program_transform_name = @program_transform_name@
7.6 psdir = @psdir@
7.7 +runstatedir = @runstatedir@
7.8 sbindir = @sbindir@
7.9 sharedstatedir = @sharedstatedir@
7.10 srcdir = @srcdir@
8.1 --- a/external/libmikmod/drivers/Makefile.in Sun Dec 08 10:20:21 2019 +0300
8.2 +++ b/external/libmikmod/drivers/Makefile.in Sun Dec 08 15:45:50 2019 +0300
8.3 @@ -192,6 +192,7 @@
8.4 prefix = @prefix@
8.5 program_transform_name = @program_transform_name@
8.6 psdir = @psdir@
8.7 +runstatedir = @runstatedir@
8.8 sbindir = @sbindir@
8.9 sharedstatedir = @sharedstatedir@
8.10 srcdir = @srcdir@
9.1 --- a/external/libmikmod/include/Makefile.in Sun Dec 08 10:20:21 2019 +0300
9.2 +++ b/external/libmikmod/include/Makefile.in Sun Dec 08 15:45:50 2019 +0300
9.3 @@ -225,6 +225,7 @@
9.4 prefix = @prefix@
9.5 program_transform_name = @program_transform_name@
9.6 psdir = @psdir@
9.7 +runstatedir = @runstatedir@
9.8 sbindir = @sbindir@
9.9 sharedstatedir = @sharedstatedir@
9.10 srcdir = @srcdir@
10.1 --- a/external/libmikmod/loaders/Makefile.in Sun Dec 08 10:20:21 2019 +0300
10.2 +++ b/external/libmikmod/loaders/Makefile.in Sun Dec 08 15:45:50 2019 +0300
10.3 @@ -192,6 +192,7 @@
10.4 prefix = @prefix@
10.5 program_transform_name = @program_transform_name@
10.6 psdir = @psdir@
10.7 +runstatedir = @runstatedir@
10.8 sbindir = @sbindir@
10.9 sharedstatedir = @sharedstatedir@
10.10 srcdir = @srcdir@
11.1 --- a/external/libmikmod/loaders/load_dsm.c Sun Dec 08 10:20:21 2019 +0300
11.2 +++ b/external/libmikmod/loaders/load_dsm.c Sun Dec 08 15:45:50 2019 +0300
11.3 @@ -285,6 +285,11 @@
11.4 for(t=0;t<mh->numord;t++) {
11.5 int order=mh->orders[t];
11.6 if(order==255) order=LAST_PATTERN;
11.7 + else if (of.positions[t]>of.numpat) { /* SANITIY CHECK */
11.8 + /* fprintf(stderr,"positions[%d]=%d > numpat=%d\n",t,of.positions[t],of.numpat);*/
11.9 + _mm_errno = MMERR_LOADING_HEADER;
11.10 + return 0;
11.11 + }
11.12 of.positions[of.numpos]=order;
11.13 if(mh->orders[t]<254) of.numpos++;
11.14 }
12.1 --- a/external/libmikmod/loaders/load_imf.c Sun Dec 08 10:20:21 2019 +0300
12.2 +++ b/external/libmikmod/loaders/load_imf.c Sun Dec 08 15:45:50 2019 +0300
12.3 @@ -490,6 +490,13 @@
12.4 if(!AllocPositions(of.numpos)) return 0;
12.5 for(t=u=0;t<mh->ordnum;t++)
12.6 if(mh->orders[t]!=0xff) of.positions[u++]=mh->orders[t];
12.7 + for(t=0;t<of.numpos;t++) {
12.8 + if (of.positions[t]>of.numpat) { /* SANITIY CHECK */
12.9 + /* fprintf(stderr,"position[%d]=%d > numpat=%d\n",t,of.positions[t],of.numpat);*/
12.10 + _mm_errno = MMERR_LOADING_HEADER;
12.11 + return 0;
12.12 + }
12.13 + }
12.14
12.15 /* load pattern info */
12.16 of.numtrk=of.numpat*of.numchn;
13.1 --- a/external/libmikmod/loaders/load_it.c Sun Dec 08 10:20:21 2019 +0300
13.2 +++ b/external/libmikmod/loaders/load_it.c Sun Dec 08 15:45:50 2019 +0300
13.3 @@ -396,6 +396,7 @@
13.4 {
13.5 CHAR *curp,*lastp;
13.6
13.7 + memset(dest,0,33*sizeof(CHAR));/* caller sends midiline[33] */
13.8 _mm_read_UBYTES(dest,32,r);
13.9 curp=lastp=dest;
13.10 /* remove blanks and uppercase all */
14.1 --- a/external/libmikmod/loaders/load_m15.c Sun Dec 08 10:20:21 2019 +0300
14.2 +++ b/external/libmikmod/loaders/load_m15.c Sun Dec 08 15:45:50 2019 +0300
14.3 @@ -92,7 +92,6 @@
14.4 int t,u;
14.5
14.6 _mm_read_string(h->songname,20,modreader);
14.7 - h->songname[20]=0; /* just in case */
14.8
14.9 /* sanity check : title should contain printable characters and a bunch
14.10 of null chars */
14.11 @@ -105,7 +104,6 @@
14.12 MSAMPINFO *s=&h->samples[t];
14.13
14.14 _mm_read_string(s->samplename,22,modreader);
14.15 - s->samplename[22]=0; /* just in case */
14.16 s->length =_mm_read_M_UWORD(modreader);
14.17 s->finetune =_mm_read_UBYTE(modreader);
14.18 s->volume =_mm_read_UBYTE(modreader);
14.19 @@ -180,6 +178,7 @@
14.20 MODULEHEADER h;
14.21
14.22 ust_loader = 0;
14.23 + memset(&h, 0, sizeof(MODULEHEADER));
14.24 if(!LoadModuleHeader(&h)) return 0;
14.25
14.26 /* reject other file types */
14.27 @@ -242,7 +241,7 @@
14.28
14.29 static BOOL M15_Init(void)
14.30 {
14.31 - if(!(mh=(MODULEHEADER*)_mm_malloc(sizeof(MODULEHEADER)))) return 0;
14.32 + if(!(mh=(MODULEHEADER*)_mm_calloc(1,sizeof(MODULEHEADER)))) return 0;
14.33 return 1;
14.34 }
14.35
15.1 --- a/external/libmikmod/loaders/load_med.c Sun Dec 08 10:20:21 2019 +0300
15.2 +++ b/external/libmikmod/loaders/load_med.c Sun Dec 08 15:45:50 2019 +0300
15.3 @@ -554,8 +554,14 @@
15.4 /* copy song positions */
15.5 if (!AllocPositions(ms->songlen))
15.6 return 0;
15.7 - for (t = 0; t < ms->songlen; t++)
15.8 + for (t = 0; t < ms->songlen; t++) {
15.9 of.positions[t] = ms->playseq[t];
15.10 + if (of.positions[t]>ms->numblocks) { /* SANITIY CHECK */
15.11 + /* fprintf(stderr,"positions[%d]=%d > numpat=%d\n",t,of.positions[t],ms->numblocks);*/
15.12 + _mm_errno = MMERR_LOADING_HEADER;
15.13 + return 0;
15.14 + }
15.15 + }
15.16
15.17 decimalvolumes = (ms->flags & 0x10) ? 0 : 1;
15.18 bpmtempos = (ms->flags2 & 0x20) ? 1 : 0;
16.1 --- a/external/libmikmod/loaders/load_mtm.c Sun Dec 08 10:20:21 2019 +0300
16.2 +++ b/external/libmikmod/loaders/load_mtm.c Sun Dec 08 15:45:50 2019 +0300
16.3 @@ -217,8 +217,14 @@
16.4 }
16.5
16.6 if(!AllocPositions(of.numpos)) return 0;
16.7 - for(t=0;t<of.numpos;t++)
16.8 + for(t=0;t<of.numpos;t++) {
16.9 of.positions[t]=_mm_read_UBYTE(modreader);
16.10 + if (of.positions[t]>of.numpat) { /* SANITIY CHECK */
16.11 + /* fprintf(stderr,"positions[%d]=%d > numpat=%d\n",t,of.positions[t],of.numpat);*/
16.12 + _mm_errno = MMERR_LOADING_HEADER;
16.13 + return 0;
16.14 + }
16.15 + }
16.16 for(;t<128;t++) _mm_skip_BYTE(modreader);
16.17 if(_mm_eof(modreader)) {
16.18 _mm_errno = MMERR_LOADING_HEADER;
17.1 --- a/external/libmikmod/loaders/load_stm.c Sun Dec 08 10:20:21 2019 +0300
17.2 +++ b/external/libmikmod/loaders/load_stm.c Sun Dec 08 15:45:50 2019 +0300
17.3 @@ -103,6 +103,7 @@
17.4 UBYTE str[44];
17.5 int t;
17.6
17.7 + memset(str,0,44);
17.8 _mm_fseek(modreader,20,SEEK_SET);
17.9 _mm_read_UBYTES(str,44,modreader);
17.10 if(str[9]!=2) return 0; /* STM Module = filetype 2 */
18.1 --- a/external/libmikmod/loaders/load_stx.c Sun Dec 08 10:20:21 2019 +0300
18.2 +++ b/external/libmikmod/loaders/load_stx.c Sun Dec 08 15:45:50 2019 +0300
18.3 @@ -114,6 +114,7 @@
18.4 UBYTE id[8];
18.5 int t;
18.6
18.7 + memset(id,0,8);
18.8 _mm_fseek(modreader,0x3C,SEEK_SET);
18.9 if(!_mm_read_UBYTES(id,4,modreader)) return 0;
18.10 if(memcmp(id,"SCRM",4)) return 0;
18.11 @@ -297,7 +298,8 @@
18.12 _mm_errno = MMERR_LOADING_HEADER;
18.13 return 0;
18.14 }
18.15 - if(mh->ordnum > 256 || mh->insnum > 256 || mh->patnum > 254) {
18.16 + if(mh->ordnum > 256 || !mh->insnum || mh->insnum > 256 ||
18.17 + mh->patnum > 254 || !mh->patnum) {
18.18 _mm_errno = MMERR_NOT_A_MODULE;
18.19 return 0;
18.20 }
19.1 --- a/external/libmikmod/loaders/load_ult.c Sun Dec 08 10:20:21 2019 +0300
19.2 +++ b/external/libmikmod/loaders/load_ult.c Sun Dec 08 15:45:50 2019 +0300
19.3 @@ -206,12 +206,6 @@
19.4 if(!AllocPositions(256)) return 0;
19.5 for(t=0;t<256;t++)
19.6 of.positions[t]=_mm_read_UBYTE(modreader);
19.7 - for(t=0;t<256;t++)
19.8 - if(of.positions[t]==255) {
19.9 - of.positions[t]=LAST_PATTERN;
19.10 - break;
19.11 - }
19.12 - of.numpos=t;
19.13
19.14 noc=_mm_read_UBYTE(modreader);
19.15 nop=_mm_read_UBYTE(modreader);
19.16 @@ -219,6 +213,20 @@
19.17 of.numchn=++noc;
19.18 of.numpat=++nop;
19.19 of.numtrk=of.numchn*of.numpat;
19.20 +
19.21 + for(t=0;t<256;t++) {
19.22 + if(of.positions[t]==255) {
19.23 + of.positions[t]=LAST_PATTERN;
19.24 + break;
19.25 + }
19.26 + if (of.positions[t]>of.numpat) { /* SANITIY CHECK */
19.27 + /* fprintf(stderr,"positions[%d]=%d > numpat=%d\n",t,of.positions[t],of.numpat);*/
19.28 + _mm_errno = MMERR_LOADING_HEADER;
19.29 + return 0;
19.30 + }
19.31 + }
19.32 + of.numpos=t;
19.33 +
19.34 if(!AllocTracks()) return 0;
19.35 if(!AllocPatterns()) return 0;
19.36 for(u=0;u<of.numchn;u++)
20.1 --- a/external/libmikmod/loaders/load_uni.c Sun Dec 08 10:20:21 2019 +0300
20.2 +++ b/external/libmikmod/loaders/load_uni.c Sun Dec 08 15:45:50 2019 +0300
20.3 @@ -623,9 +623,14 @@
20.4 for(t=0;t<of.numchn;t++) of.panning[t]=mh.panning[t];
20.5 }
20.6 /* convert the ``end of song'' pattern code if necessary */
20.7 - if(universion<0x106)
20.8 - for(t=0;t<of.numpos;t++)
20.9 - if(of.positions[t]==255) of.positions[t]=LAST_PATTERN;
20.10 + for(t=0;t<of.numpos;t++) {
20.11 + if(universion<0x106 && of.positions[t]==255) of.positions[t]=LAST_PATTERN;
20.12 + else if (of.positions[t]>of.numpat) { /* SANITIY CHECK */
20.13 + /* fprintf(stderr,"position[%d]=%d > numpat=%d\n",t,of.positions[t],of.numpat);*/
20.14 + _mm_errno = MMERR_LOADING_HEADER;
20.15 + return 0;
20.16 + }
20.17 + }
20.18
20.19 /* instruments and samples */
20.20 if(universion>=6) {
21.1 --- a/external/libmikmod/m4/libtool.m4 Sun Dec 08 10:20:21 2019 +0300
21.2 +++ b/external/libmikmod/m4/libtool.m4 Sun Dec 08 15:45:50 2019 +0300
21.3 @@ -5166,7 +5166,7 @@
21.4 cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
21.5 $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
21.6 emximp -o $lib $output_objdir/$libname.def'
21.7 - _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
21.8 + _LT_TAGVAR(old_archive_from_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
21.9 _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
21.10 _LT_TAGVAR(file_list_spec, $1)='@'
21.11 ;;
21.12 @@ -5872,7 +5872,7 @@
21.13 cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
21.14 $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
21.15 emximp -o $lib $output_objdir/$libname.def'
21.16 - _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
21.17 + _LT_TAGVAR(old_archive_from_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
21.18 _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
21.19 _LT_TAGVAR(file_list_spec, $1)='@'
21.20 ;;
21.21 @@ -6742,7 +6742,7 @@
21.22 cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
21.23 $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
21.24 emximp -o $lib $output_objdir/$libname.def'
21.25 - _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
21.26 + _LT_TAGVAR(old_archive_from_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
21.27 _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
21.28 _LT_TAGVAR(file_list_spec, $1)='@'
21.29 ;;
22.1 --- a/external/libmikmod/macintosh/config.h Sun Dec 08 10:20:21 2019 +0300
22.2 +++ b/external/libmikmod/macintosh/config.h Sun Dec 08 15:45:50 2019 +0300
22.3 @@ -3,6 +3,9 @@
22.4 /* Define if you have the ANSI C header files. */
22.5 /* #undef STDC_HEADERS */
22.6
22.7 +/* disable the high quality mixer (build only with the standart mixer) */
22.8 +/* #define NO_HQMIXER */
22.9 +
22.10 /* Define if you want support for output to stdout */
22.11 /* #undef DRV_STDOUT */
22.12
23.1 --- a/external/libmikmod/mmio/Makefile.in Sun Dec 08 10:20:21 2019 +0300
23.2 +++ b/external/libmikmod/mmio/Makefile.in Sun Dec 08 15:45:50 2019 +0300
23.3 @@ -192,6 +192,7 @@
23.4 prefix = @prefix@
23.5 program_transform_name = @program_transform_name@
23.6 psdir = @psdir@
23.7 +runstatedir = @runstatedir@
23.8 sbindir = @sbindir@
23.9 sharedstatedir = @sharedstatedir@
23.10 srcdir = @srcdir@
24.1 --- a/external/libmikmod/os2/Makefile.emx Sun Dec 08 10:20:21 2019 +0300
24.2 +++ b/external/libmikmod/os2/Makefile.emx Sun Dec 08 15:45:50 2019 +0300
24.3 @@ -4,9 +4,10 @@
24.4 # make static : builds the static library mikmod_static.lib
24.5
24.6 INCLUDES=-I../os2 -I../include
24.7 -AR=emxomfar
24.8 +CC=gcc
24.9 +AR=ar #emxomfar
24.10 ARFLAGS=cr
24.11 -CC=gcc
24.12 +RANLIB=ranlib
24.13 IMPLIB=emximp
24.14
24.15 CFLAGS=-O2 -Wall -funroll-loops -ffast-math -fno-strength-reduce -Zomf -Zmt
24.16 @@ -77,6 +78,7 @@
24.17 $(LIBSTATIC): CPPFLAGS+=-DMIKMOD_STATIC
24.18 $(LIBSTATIC): $(OBJ)
24.19 $(AR) $(ARFLAGS) $(LIBSTATIC) $(OBJ)
24.20 + $(RANLIB) $(LIBSTATIC)
24.21
24.22 HEADER_DEPS=../include/mikmod.h ../include/mikmod_internals.h ../include/mikmod_ctype.h
24.23 drv_dart.o: ../drivers/drv_dart.c $(HEADER_DEPS)
25.1 --- a/external/libmikmod/playercode/Makefile.in Sun Dec 08 10:20:21 2019 +0300
25.2 +++ b/external/libmikmod/playercode/Makefile.in Sun Dec 08 15:45:50 2019 +0300
25.3 @@ -192,6 +192,7 @@
25.4 prefix = @prefix@
25.5 program_transform_name = @program_transform_name@
25.6 psdir = @psdir@
25.7 +runstatedir = @runstatedir@
25.8 sbindir = @sbindir@
25.9 sharedstatedir = @sharedstatedir@
25.10 srcdir = @srcdir@
26.1 --- a/external/libmikmod/playercode/mplayer.c Sun Dec 08 10:20:21 2019 +0300
26.2 +++ b/external/libmikmod/playercode/mplayer.c Sun Dec 08 15:45:50 2019 +0300
26.3 @@ -363,6 +363,11 @@
26.4 t->a=0;
26.5 t->b=((t->flg&EF_SUSTAIN)&&(!(keyoff&KEY_OFF)))?0:1;
26.6
26.7 + if (!t->pts) { /* FIXME: bad/crafted file. better/more general solution? */
26.8 + t->b=0;
26.9 + return t->env[0].val;
26.10 + }
26.11 +
26.12 /* Imago Orpheus sometimes stores an extra initial point in the envelope */
26.13 if ((t->pts>=2)&&(t->env[0].pos==t->env[1].pos)) {
26.14 t->a++;
26.15 @@ -825,6 +830,11 @@
26.16 if (tick || mod->patdly2)
26.17 return 0;
26.18
26.19 + if (dat >= mod->numpos) { /* crafted file? */
26.20 + /* fprintf(stderr,"DoPTEffectB: numpos=%d, dat=%d -> %d\n",mod->numpos,dat,mod->numpos-1);*/
26.21 + dat=mod->numpos-1;
26.22 + }
26.23 +
26.24 /* Vincent Voois uses a nasty trick in "Universal Bolero" */
26.25 if (dat == mod->sngpos && mod->patbrk == mod->patpos)
26.26 return 0;
26.27 @@ -872,6 +882,10 @@
26.28
26.29 dat=UniGetByte();
26.30 if ((tick)||(mod->patdly2)) return 0;
26.31 + if (dat && dat >= mod->numrow) { /* crafted file? */
26.32 + /* fprintf(stderr,"DoPTEffectD: numrow=%d, dat=%d -> 0\n",mod->numrow,dat);*/
26.33 + dat=0;
26.34 + }
26.35 if ((mod->positions[mod->sngpos]!=LAST_PATTERN)&&
26.36 (dat>mod->pattrows[mod->positions[mod->sngpos]])) {
26.37 dat=mod->pattrows[mod->positions[mod->sngpos]];
27.1 --- a/external/libmikmod/posix/Makefile.in Sun Dec 08 10:20:21 2019 +0300
27.2 +++ b/external/libmikmod/posix/Makefile.in Sun Dec 08 15:45:50 2019 +0300
27.3 @@ -192,6 +192,7 @@
27.4 prefix = @prefix@
27.5 program_transform_name = @program_transform_name@
27.6 psdir = @psdir@
27.7 +runstatedir = @runstatedir@
27.8 sbindir = @sbindir@
27.9 sharedstatedir = @sharedstatedir@
27.10 srcdir = @srcdir@