Commit graph

76 commits

Author SHA1 Message Date
Randy Heit
401ee8fafb Update DUMB to revision 9ac6cf69758fe0db6d6e654f298cd36efdb73366
- Replaced old aliased resampling mode with a 65536x oversampling sinc resampler


SVN r4076 (trunk)
2013-02-07 23:21:36 +00:00
Randy Heit
13ffa8a1b8 Update DUMB to revision a9176165a2ccc56410b2004d2f5dd40b2052453a
- Changed a break to row behavior in DUMB, hopefully it doesn't break anything



SVN r4075 (trunk)
2013-02-07 22:25:58 +00:00
Randy Heit
aad103c8d5 Update DUMB to revision 1a9e0d4fd889dc9d17a5ebe97825be0cb2b7a273
- Added range checking for XM global volume command



SVN r4074 (trunk)
2013-02-07 22:24:45 +00:00
Randy Heit
492caf6ceb Update DUMB to revision ca554279a235b23c7f5f6ff9ce478a7aa7250dfe
- Fixed channel muting when switching or restarting songs, or when seeking



SVN r4073 (trunk)
2013-02-07 22:23:55 +00:00
Randy Heit
1e04a8821a Update DUMB to 6e159ab89b5df27acf8a182a1ea5bf307ba8ff95
- Fixed two bugs with pattern loops causing songs to loop forever



SVN r4072 (trunk)
2013-02-07 22:22:07 +00:00
Randy Heit
5459c2497a - Fixed one line erroneously removed from readmod.c in r3589.
SVN r3591 (trunk)
2012-04-25 01:46:49 +00:00
Randy Heit
a660eea116 - Patch to allow compilation by clang.
SVN r3589 (trunk)
2012-04-23 02:46:25 +00:00
Randy Heit
e6de6fed3c - Revert r3214, which added some completely useless warnings for GCC.
I'm sure there are good reasons even GCC doesn't enable them by default when you use -Wall.



SVN r3225 (trunk)
2011-06-12 19:17:21 +00:00
Christoph Oelckers
81ae38c072 - added submission for disabling some new and rather pointless GCC warnings.
SVN r3214 (trunk)
2011-05-26 23:19:20 +00:00
Randy Heit
4963f5d35a - Meh. Linux does not have itoa.
SVN r2211 (trunk)
2010-03-14 17:24:08 +00:00
Randy Heit
5a72e8d20e - Some minor changes to DUMB to match http://kode54.foobar2000.org/foo_dumb-dumb-lib_source.rar
dated 2009-10-18. This version also added DSMI AMF support, but since I can't find a single
  song in this format, I'll hold off on including that unless somebody specifically requests it.

SVN r2201 (trunk)
2010-03-07 04:38:02 +00:00
Randy Heit
465d52b766 - Fixed: PROFILE was incorrectly declared in the top-level CMakeLists.txt, so GCC always
generating profiling information for Debug and RelWithDebInfo builds. This happened to
  also bring up that game-music-emu and DUMB are always built as RelWithDebInfo. If we're
  doing a normal Release build, we can just leave them as Release as well.

SVN r1808 (trunk)
2009-09-08 03:01:55 +00:00
Randy Heit
48d78730f3 - Mac version now links. Updaterevision refuses to give me a version number.
Zipdir is not doing byte swapping like it should. zdoom.ini is stored
  in ~/Preferences, but all other file accesses are probably going to be
  like Windows and look in the same directory as the executable.



SVN r1786 (trunk)
2009-09-03 03:51:41 +00:00
Randy Heit
33a397c04b - Basic Mac support: Everything compiles but does not yet link.
SVN r1780 (trunk)
2009-09-01 02:08:53 +00:00
Christoph Oelckers
6d1cee3398 - fixed DUMB-compile problem with gcc.
SVN r1679 (trunk)
2009-06-24 22:16:51 +00:00
Christoph Oelckers
a908834a11 - added some default definitions for constants that may miss in some headers.
- replaced __va_copy with va_copy per Chris's suggestion.
- replaced #include <malloc.h> with #include <stdlib.h> where possible.


SVN r1524 (trunk)
2009-04-07 07:06:07 +00:00
Randy Heit
88e32146b9 - Fixed: One byte is too short for DUMB_IT_SIGRENDERER to store song tempo.
Changed it to a word.


SVN r1461 (trunk)
2009-03-04 22:18:46 +00:00
Christoph Oelckers
f4929133d7 - Fixed a crash in DUMB when loading invalid files.
SVN r1457 (trunk)
2009-03-01 16:12:44 +00:00
Randy Heit
120233eebd - OggMod improperly decodes the right channel of stereo samples when sending
them to OggEnc, so I have no choice but to convert them to mono by chopping
  off the right channel and only using the left channel information.


SVN r1327 (trunk)
2008-12-21 04:14:16 +00:00
Randy Heit
97de7897de - Fixed: OggMod passes the raw sample data to OggEnc for stereo samples, so
the resultant Vorbis stream is not actually stereo but mono with the right
  channel after the left. The two need to be interleaved just like
  uncompressed samples are.
- Removed the pattern length limit in the XM reader.


SVN r1326 (trunk)
2008-12-20 04:17:10 +00:00
Randy Heit
f435576f1d - Increased maximum number of per-pattern rows for the XM loader from
256 to 1024 to deal with a module that otherwise would not load.
- Removed the artificial restriction on not supporting Vorbis-compressed
  samples in XMs if they are stereo, since it turns out that OggMod does
  support them.


SVN r1316 (trunk)
2008-12-16 00:59:20 +00:00
Randy Heit
de5d4715c2 - Added Linux support for the CMakeLists. This meant downgrading them for
CMake 2.4, since the distros don't seem to consider 2.6 stable yet.
  As a bonus, GTK+ is no longer a required dependency; now it's optional.
- Made dehsupp ignore CR characters, so it doesn't spew warnings on Linux.



SVN r1092 (trunk)
2008-07-25 01:37:44 +00:00
Randy Heit
fb50df2c63 About a week's worth of changes here. As a heads-up, I wouldn't be
surprised if this doesn't build in Linux right now. The CMakeLists.txt
were checked with MinGW and NMake, but how they fair under Linux is an
unknown to me at this time.

- Converted most sprintf (and all wsprintf) calls to either mysnprintf or
  FStrings, depending on the situation.
- Changed the strings in the wbstartstruct to be FStrings.
- Changed myvsnprintf() to output nothing if count is greater than INT_MAX.
  This is so that I can use a series of mysnprintf() calls and advance the
  pointer for each one. Once the pointer goes beyond the end of the buffer,
  the count will go negative, but since it's an unsigned type it will be
  seen as excessively huge instead. This should not be a problem, as there's
  no reason for ZDoom to be using text buffers larger than 2 GB anywhere.
- Ripped out the disabled bit from FGameConfigFile::MigrateOldConfig().
- Changed CalcMapName() to return an FString instead of a pointer to a static
  buffer.
- Changed startmap in d_main.cpp into an FString.
- Changed CheckWarpTransMap() to take an FString& as the first argument.
- Changed d_mapname in g_level.cpp into an FString.
- Changed DoSubstitution() in ct_chat.cpp to place the substitutions in an
  FString.
- Fixed: The MAPINFO parser wrote into the string buffer to construct a map
  name when given a Hexen map number. This was fine with the old scanner
  code, but only a happy coincidence prevents it from crashing with the new
  code
- Added the 'B' conversion specifier to StringFormat::VWorker() for printing
  binary numbers.
- Added CMake support for building with MinGW, MSYS, and NMake. Linux support
  is probably broken until I get around to booting into Linux again. Niceties
  provided over the existing Makefiles they're replacing:
  * All command-line builds can use the same build system, rather than having
    a separate one for MinGW and another for Linux.
  * Microsoft's NMake tool is supported as a target.
  * Progress meters.
  * Parallel makes work from a fresh checkout without needing to be primed
    first with a single-threaded make.
  * Porting to other architectures should be simplified, whenever that day
    comes.
- Replaced the makewad tool with zipdir. This handles the dependency tracking
  itself instead of generating an external makefile to do it, since I couldn't
  figure out how to generate a makefile with an external tool and include it
  with a CMake-generated makefile. Where makewad used a master list of files
  to generate the package file, zipdir just zips the entire contents of one or
  more directories.
- Added the gdtoa package from netlib's fp library so that ZDoom's printf-style
  formatting can be entirely independant of the CRT.

SVN r1082 (trunk)
2008-07-23 04:57:26 +00:00
Randy Heit
3839ef14d5 - Disabled DUMB's mono destination mixers. It's not like I'm ever going to
target an original SoundBlaster, so they're a waste of space to have around.
  This trims resample.obj down to ~60k now.


SVN r1002 (trunk)
2008-05-30 22:52:58 +00:00
Randy Heit
ee1039f04e - Fixed building with libdumb on Linux.
SVN r997 (trunk)
2008-05-30 01:02:35 +00:00
Randy Heit
01f59fa85f - Added an alternate module replay engine that uses foo_dumb's replayer, a
heavily customized version of DUMB (Dynamic Universal Music Bibliotheque).
  It has been slightly modified by me:
  * Added support for Ogg Vorbis-compressed samples in XM files ala FMOD.
  * Removed excessive mallocs from the replay core.
  * Rerolled the loops in resample.c. Unrolling them made the object file
    ~250k large while providing little benefit. Even at ~100k, I think it's
    still larger than it ought to be, but I'll live with it for now.
  Other than that, it's essentially the same thing you'd hear in foobar2000,
  minus some subsong detection features. Release builds of the library look
  like they might even be slightly faster than FMOD, which is a plus.
- Fixed: Timidity::font_add() did not release the file reader it created.
- Fixed: The SF2 loader did not free the sample headers in its destructor.


SVN r995 (trunk)
2008-05-29 23:33:07 +00:00