Commit Graph

4997 Commits

Author SHA1 Message Date
bnnm
1c73a56bc5 Add subsongs (disabled), cleanup, optimize (reuse vgmstream on info) 2017-08-13 22:26:40 +02:00
bnnm
e1a79b68dc Add unicode support for dual files (via WINAMP_STREAMFILE) 2017-08-13 19:58:28 +02:00
bnnm
f4f920482a Unify open_stdio usage and add opening by FILE 2017-08-13 19:58:01 +02:00
bnnm
88c8bd4916 Add some disabled (unstable) subsong handling 2017-08-13 13:02:52 +02:00
bnnm
68d3f43868 plugin cleanup in preparation of future changes; fix FILE handle leaks 2017-08-13 11:53:44 +02:00
bnnm
321c617bfa plugin cleanup in preparation of future changes 2017-08-12 21:17:44 +02:00
bnnm
706a7fbd33 Simplify filetype declarations 2017-08-12 21:09:56 +02:00
bnnm
24021514ed plugin cleanup in preparation of future changes 2017-08-12 19:24:18 +02:00
bnnm
8175f6186f Update info 2017-08-12 18:48:13 +02:00
bnnm
cbf9506be0 test.exe: Add stream selector flag "-s N" 2017-08-12 18:43:00 +02:00
bnnm
ade662e023 Redo Angel STM: add PCM, adjust looping, unify code, add .lstm 2017-08-12 18:42:38 +02:00
bnnm
272b55cb3e Add DSP hist utils 2017-08-12 18:39:56 +02:00
bnnm
d219804b99 Add stream selection and/or stream name reading for some formats 2017-08-12 11:46:28 +02:00
bnnm
b7c807a85c Add stream name string, for metas than can use it 2017-08-12 11:27:10 +02:00
bnnm
a3146ed2f6 Add stream index selection, to use in metas if supported by the format
Not ideal here, but it's the simplest way to pass to all
init_vgmstream_x functions without having to change all functions to
pass extra params or use globals. The value can be set externally by
plugins and metas can use to play the selected stream, or just ignore
it.
2017-08-12 11:23:09 +02:00
bnnm
c5dbece5ac Add string reader util 2017-08-12 11:14:16 +02:00
bnnm
561048e613 Fix again TXTH LINE_MAX, even VS2015 was complaining 2017-08-12 11:11:08 +02:00
Christopher Snowhill
11950459a8 Merge pull request #115 from bnnm/ealayer3-ahxkey
Ealayer3 ahxkey
2017-08-05 14:29:45 -07:00
bnnm
90aef437ea comments 2017-08-05 17:59:35 +02:00
bnnm
efdcd16ac1 Fix some EA BNK [Medal of Honor Heroes 2 PSP] 2017-08-05 17:55:49 +02:00
bnnm
aaa2613802 Add EALayer3 v1 decoder for SCHl [EA games for PS2/Wii/X360/PS3] 2017-08-05 17:54:50 +02:00
bnnm
fadb999207 Add AHX type 0x08 decryption, with .ahxkey files (16b*3, start/mult/add) 2017-08-04 21:48:55 +02:00
bnnm
66219f6b37 Use sample buffers per stream in MPEG custom decoder
Simplifies the code somewhat and allows more flexibility for new custom
modes (like EALayer3, that can output PCM blocks before decoding
anything)
2017-08-04 21:29:58 +02:00
Christopher Snowhill
9d0c3ed86d Add sk_aud.c to MSVC project files. 2017-07-30 18:57:17 -07:00
Christopher Snowhill
f9e561e08a Merge pull request #114 from bnnm/custom-vorbis-mpeg
Custom Vorbis/MPEG
2017-07-29 18:15:26 -07:00
bnnm
cb05313b13 Add P3D MPEG decoder [Prototype 1/2 (PS3)], fix debug crap 2017-07-29 23:53:45 +02:00
bnnm
3e947b5e9d Remove meta_AHX from MPEG ifdefs
I feel parsing a header/meta isn't tied to the ability to init the
codec, which could be swapped if one wanted to use another lib
2017-07-29 23:21:32 +02:00
bnnm
474ca0be94 Use AHX mpeg-custom, add type 0x10, detect encryption, fix encoder delay 2017-07-29 23:16:30 +02:00
bnnm
d54492cb95 Update MPEG "interleaved" decoder: now "custom", restructured, added AHX
To support future MPEGs of uncertain layout and frame variations (namely
EALayer3) the code has been restructured: mpeg_decoder does stream
procesing and decoding, while mpeg_custom_utils_x does init and parsing
(write to data buffer + update offsets), per MPEG subtype. Internals
have changed but still gives byte-exact results.
AHX has been adapted to this format as a test. Some modes
(P3D/EALayer3/LyN/AWC) are defined for later development but will fail
on init ATM.
2017-07-29 23:14:04 +02:00
bnnm
6308818b77 Simplify MPEG coding/layouts to allow blocked layouts and future changes 2017-07-29 13:05:23 +02:00
bnnm
54ef2b5190 Add Silicon Knights .AUD + SK Vorbis [Eternal Darkness (GC)] 2017-07-29 11:46:53 +02:00
bnnm
fcf8a9485c Fix outbuf only being partially cleared when trying to read after EOF 2017-07-29 01:25:35 +02:00
bnnm
8d7c52f460 Rename files 2017-07-29 01:19:24 +02:00
bnnm
925934c53c Rename Vorbis files and cleanup 2017-07-28 23:43:49 +02:00
bnnm
bc8e2e9204 Unify fsb/wwise/ogl Vorbis decoders into a single decoder with subtypes 2017-07-28 23:26:58 +02:00
Christopher Snowhill
cad12760f2 Include system math.h header instead of possible project local header. 2017-07-23 17:08:20 -07:00
Christopher Snowhill
bb8966a696 Fix for macOS, possibly other Unices. 2017-07-23 16:47:43 -07:00
Christopher Snowhill
fc327e40bf Fix constexpr to enum for old MSVC. 2017-07-23 16:28:37 -07:00
Christopher Snowhill
d7a8a9bb41 Merge pull request #112 from bnnm/ea3-hwas
EA 3, HWAS
2017-07-23 14:28:53 -07:00
bnnm
ab6a146528 Add EA SCHl fixed/old (PATl) support [NHL 97 (PC)] 2017-07-23 17:09:55 +02:00
bnnm
523daaf18d Modify eacs_ima to not depend on get_high_nibble, document it's 2ch DVI 2017-07-23 17:08:10 +02:00
bnnm
3d6e0882ba Improve NDS HWAS volume swings by resetting ADPCM hist every block 2017-07-23 13:16:59 +02:00
bnnm
a88cd8ca1b Add ima_bytes_to_samples helper 2017-07-23 12:49:10 +02:00
bnnm
366e3fcb9c Make XBOX_int write sample hist and skip last nibble to fix some files
Fixes Gauntlet Dark Legacy (Xbox) scratchy sound and the output is now
byte-exact in EA SCHl streams
2017-07-23 04:31:09 +02:00
bnnm
1fb02da34d Remove EA hack in XBOX decoder and modify XBOX_int (mono) for EA SCHl 2017-07-23 04:21:07 +02:00
bnnm
312b68c0b7 Add EA BNK support and fix minor EA header parsing defects 2017-07-23 03:46:55 +02:00
bnnm
604f5ef507 Make EA-XA v2 decode using v1 table for clarity (no byte-diffs) 2017-07-21 21:03:51 +02:00
bnnm
2c61528241 Fix EAXA v1 not clamping ouput PCM hist, leading to small deviations
Now it's byte-exact vs EA's tools; EAXA v2 doesn't actually need it as
the encoder ensures no clamping is needed (for performance?)
2017-07-21 20:37:25 +02:00
bnnm
67ec34010f Don't use ADPCM hist, as doesn't seem used by EA's tools
Without it sx.exe and vgmstream give closer results in EAXA v1 and
byte-exact results in EAXA v2 (but it's only a slight difference)
2017-07-21 19:26:53 +02:00
bnnm
5fe6033442 Fix/improve EAXA naming scheme and detection/handling
EA's MT/MicroTalk is not the early version of EAXA as I thought, but a
rarely used VBR codec (ex. FIFA 2001/2002 PS2) seemingly related to
Westwood VBR ADPCM
2017-07-21 19:19:58 +02:00