Commit Graph

80 Commits

Author SHA1 Message Date
Randy Heit d1ada02edb Update DUMB to revision 33cd2c469ae9872dd0710297760bfb1dfe53a56d
- Made Oktalyzer reader more tolerant of truncated files



SVN r4080 (trunk)
2013-02-08 00:11:27 +00:00
Randy Heit 6d000a414a Update DUMB to revision e169b25f34ca140da8375a7085791447a5b8e8e8
- Implemented Oktalyzer format loader


SVN r4079 (trunk)
2013-02-08 00:09:49 +00:00
Randy Heit e978c7b059 - Udate DUMB to revision e34d68685d2e5e8b45f62acdaf8157872624620c
2011-01-13 23:11 UTC - kode54
    - Implemented ASYLUM instrument base semitone offset
    - Fixed ASYLUM effect number translation
    - Version is now 0.9.9.28
    
    2011-01-13 21:28 UTC - kode54
    - Quick fix for PT2 invert loop effect
    - Version is now 0.9.9.27
    
    2011-01-13 20:37 UTC - kode54
    - Implemented PT2 invert loop effect
    - Version is now 0.9.9.26



SVN r4078 (trunk)
2013-02-07 23:34:03 +00:00
Randy Heit 8807330649 - Update DUMB to revision c0fc19ef2e756ef25aa44ca3775b4afed3f02c9c
- Changed aliased resampler loop conditions a bit to fix some bugs
    - Removed resampler loop unrolling, as it actually made things slightly slower
    - Fixed a bug with songs triggering notes on the first order with instrument changes before any note commands have been triggered


SVN r4077 (trunk)
2013-02-07 23:30:20 +00:00
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