bnnm
2f9c16ae9b
Add mu-Law with internal interleave decoder
...
This is needed for blocked layout, as it can't do normal interleave.
Probably could be fixed in the future to remove several superfluous
_int/block decoders
2017-12-24 01:39:24 +01:00
bnnm
a3b991ac3f
Modify SCD/P3D/FSB/XVAG interleave and fix short last interleave
...
Previously, the streams' offsets needed to be pre-adjusted with the
interleave; now assumes all streams start in the same offset (first
stream).
This simplifies short last interleaves (SCD/P3D) and makes
layout_mpeg_custom unnecessary (also allows theoretical variable-sized
interleaves).
2017-12-17 19:25:10 +01:00
bxaimc
0db009b3e6
Add Harmonix Music Systems MOGG Vorbis
2017-12-10 20:30:00 -05:00
bnnm
cc8256d178
Fix some VAWX multichannel files
2017-12-09 19:01:36 +01:00
bnnm
666d47ef84
Remove layout_interleave_byte as NGC_DSP_subint is used instead
...
The layout was designed to do subframe deinterleave (when
less-than-a-frame bytes of each channel are interleaved) in an array and
pass it to "mem" decoders.
In practice this only happens in a handful of formats, was only used
with DSP, and since making "mem" decoders is required it's simpler to
make normal decoders handling the byte layout directly.
In an effort to simplify vgmstream's layouts, code, and other esoteric
features I changed the old decode_ngc_dsp_mem for decode_ngc_dsp_subint;
results are byte-exact.
2017-12-06 21:12:42 +01:00
bnnm
98b4f8c5b1
Add NGC DSP subinterleave decoder
...
Meant to replace layout_interleave_byte
2017-12-06 21:04:04 +01:00
bnnm
53698db7c3
Add vgmstream_force_loop, comments (API cleanup)
2017-12-06 16:55:41 +01:00
bnnm
3380451c80
Code cleanup (renames, comments, nitpicks)
2017-12-06 15:32:52 +01:00
bnnm
6072d17f50
Add EA MicroTalk decoder [FIFA 2001 PS2, Ultima IX voices]
2017-12-03 13:44:55 +01:00
bnnm
e3de403c9f
Add Ultima IX .FLX (EA-XA/PCM)
2017-12-03 01:41:25 +01:00
bnnm
94de52ec2d
Clean EA-XA and fix some subsongs (don't use channel_start_offset)
...
Also fix 'sample' type shadowing and Maxis-XA skipping a frame in mono
2017-12-03 01:37:56 +01:00
bnnm
b9c3bd9a01
Add Neversoft .OGG [Gun (GC)]
2017-12-02 16:33:43 +01:00
bnnm
e2c059bc31
Add EA .SNS+SNR / .SPS [Burnout Crash, NFS Hot Pursuit PS3]
2017-12-01 17:27:49 +01:00
bnnm
77b849a024
Add Gameloft .VXN [Mobile games]
2017-11-27 20:22:10 +01:00
Christopher Snowhill
3bdd5616df
Merge branch 'master' into master
2017-11-25 17:34:45 -08:00
bnnm
770a27d0b4
Add dual extension in try_dual_file_stereo for Homura (PS2)
2017-11-26 01:54:33 +01:00
bnnm
2889765c5c
Fix EA SNU looping not properly saving block state
2017-11-26 01:25:27 +01:00
bnnm
db3af4d407
Rename some blocked layouts for clarity (hopefully)
2017-11-25 01:18:27 +01:00
bnnm
d0be7e0c36
Minor tweaks/comments/renames/etc
2017-11-25 00:43:18 +01:00
bnnm
084c3075e4
Improve try_dual_file_stereo and cleanup
...
To test dual stereo it was trying all metas, but only the meta that
opened the first file can be accepted (as validated), so pass its
function pointer and try only that instead.
2017-11-24 20:15:23 +01:00
bnnm
e1bb468bd5
Remove unnecessary check_sample_rate
2017-11-23 23:11:11 +01:00
bnnm
7c7af0bf18
Rename *_DE2 to _*DEC for consistency and since it was first
2017-11-23 22:48:11 +01:00
bnnm
17da12f324
Add Namco AAC (.naac) [Ace Combat: Assault Horizon Legacy (3DS)]
2017-11-23 22:32:31 +01:00
bxaimc
ed36ae44a3
Add EZW for EZ2DJ (Arcade)
2017-11-21 21:30:48 -05:00
bnnm
8363e26b88
Unify IMA/IMA_int with standard IMA decoder + add stereo IMA
2017-11-19 03:32:21 +01:00
bnnm
36d4f69420
Fix STRM FFTA2 using the wrong IMA, making output slightly incorrect
2017-11-18 22:49:18 +01:00
bnnm
ea634ad473
Add 3DS IMA for BCSTM and fix old IMA regression (HWAS/SWAV/SAD/AUD/etc)
...
Standard IMA algorithm was changed for BCSTM, subtly altering regular
IMA's waveforms (not too audible). Now this 3DS variation is separate.
2017-11-18 22:25:44 +01:00
bnnm
79c5cfab49
Clean EA 1SNh/EACS (ea_old) and fix some bugs/looping
2017-11-18 02:20:52 +01:00
bnnm
4a2cf9dd91
Fuse EACS and DVI IMA decoder into a configurable IMA decoder
...
EACS was just DVI (high nibble first) with stereo and mono modes, while
old DVI was mono only.
This unifies both decoders, so DVI_IMA (not interleaved) works with mono
and stereo while DVI_IMA_int (interleaved) forces mono.
Some metas needed to explicitly set DVI_IMA_int but others work with no
change.
2017-11-17 17:18:17 +01:00
bnnm
2ad3d432f1
Rename pcm.c > scd_pcm.c (cleanup)
2017-11-16 00:41:06 +01:00
bnnm
6c141a6582
Clean .dvi/.kcey and add proper .PCM extension
2017-11-15 23:26:38 +01:00
bnnm
7bec0d368f
Remove raw SS3/SS7 meta as it was inaccurate and ubi_sb supports it
2017-11-11 17:49:07 +01:00
bnnm
82b1f235de
Remove/simplify formats.h and move to vgmstream.h for simpler API
2017-11-10 20:26:44 +01:00
bnnm
66be677f56
Add Ubisoft .sb0..N + ss0/ls0..N banks + Ubisoft ADPCM [Ubi PoP trilogy]
2017-11-05 17:06:40 +01:00
Christopher Snowhill
b316b0ec33
Merge pull request #136 from bnnm/bgw-sab-etc
...
BGW, SAB, etc
2017-10-28 18:22:12 -07:00
bnnm
1ff0cecca8
Fix minor compiler warnings (missing const/static/case defaults/etc)
2017-10-28 01:34:32 +02:00
bnnm
e6cb6facbc
Fix coding_XBOX_int so it properly works with any interleave; comments
2017-10-27 18:56:34 +02:00
bxaimc
0d440dbecd
Added AST (ASTL) variant for Dead Rising (PC). Looping is disabled due to being non-trivial; it will need to be fixed eventually.
2017-10-20 21:06:49 -04:00
bnnm
6b57005c07
Fix some S14/SSS (Korogashi Puzzle Katamari Damacy)
2017-10-14 13:42:59 +02:00
bnnm
c770490b3d
Add AL2 meta + A-law decoder [Conquest of Elysium 3 (PC)]
2017-10-08 17:51:54 +02:00
bnnm
16786b78d4
Add .opus [Lego City Undercover]
2017-09-30 01:27:47 +02:00
bnnm
8a8ebe3e24
Minor renames for style (ps3_xvag > xvag, x360_nub > nub_xma)
2017-09-29 23:37:20 +02:00
bnnm
d46996a642
Improve Guitar Hero II multi-streams with block layout
...
Fixes partially by ignoring last stream, as it can be half sample rate
2017-08-28 20:05:03 +02:00
bnnm
3001b7acba
Fix NGC STM regression [Fire Emblem Path of Radiance (GC)]
2017-08-28 17:47:19 +02:00
bnnm
41b22c2699
Add AWC PCM/IMA (non-encrypted only) [GTA5 (PC)]
2017-08-28 16:07:09 +02:00
bnnm
953022b983
Add AWC MP3 [Red Dead Redemption (PS3), GTA5 (PS3)]
2017-08-28 15:14:24 +02:00
bnnm
5d12d6fb67
Add big endian mode to coding_PCM16LE_int and rename to coding_PCM16_int
2017-08-27 22:17:13 +02:00
bnnm
adb225c180
Add EA SNU + EA-XAS decoder + SNS blocks [Dead Space, The Godfather 2]
2017-08-20 02:18:48 +02:00
bnnm
86b7b45c89
Minor rename
2017-08-19 15:59:29 +02:00
bnnm
3c14d3fdb4
Parse loop_target manually (get_vgmstream_play_samples is just a helper)
2017-08-18 19:32:51 +02:00
bnnm
d9fb118412
Add BINK multi-stream support and v2 header
2017-08-18 19:24:19 +02:00
bnnm
6642607d0e
Add FSB5 PCMFLOAT + decoder [Anima Gate of Memories (PC)]
2017-08-18 18:54:21 +02:00
bnnm
ade662e023
Redo Angel STM: add PCM, adjust looping, unify code, add .lstm
2017-08-12 18:42:38 +02:00
bnnm
b7c807a85c
Add stream name string, for metas than can use it
2017-08-12 11:27:10 +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
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
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
bc8e2e9204
Unify fsb/wwise/ogl Vorbis decoders into a single decoder with subtypes
2017-07-28 23:26:58 +02:00
bnnm
ab6a146528
Add EA SCHl fixed/old (PATl) support [NHL 97 (PC)]
2017-07-23 17:09:55 +02:00
bnnm
3d6e0882ba
Improve NDS HWAS volume swings by resetting ADPCM hist every block
2017-07-23 13:16:59 +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
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
bnnm
47c5f70976
Add TXTH generic header format
...
It's a single text file with basic read commands; similar to GENH but
meant to simplify addition/distribution of (semi)headerless formats
2017-07-15 11:49:28 +02:00
bnnm
58af99fd4b
Fix FFTA2 loop 'clicks' in some files by preserving ADPCM history
2017-07-08 11:34:02 +02:00
bnnm
cce72d7aa5
Add EA SCHl Saturn + MT10 mono/int; changed Maxis_ADPCM to Maxis_MT10
...
Also fixed some issues with ADPCM hist in EA SCHl blocks
2017-07-08 00:27:36 +02:00
bnnm
bf34339b41
redo EA SCHl support [EA games from roughly 1997~2010]
...
* tested most variations using EA's tools
* added looping [Need for Speed II PC]
* added DSP support [3DS games]
* fixed PCM/EAXA/MT in some cases [PS2/GC/XBOX/Wii games]
* fixed sample rate/codec defaults, num_samples in some cases
* documented more header patches and other details (ex. "EA ADPCM" is
now EA MT/MicroTalk, as per EA's tools)
* (dev) some internals adapted for EA stuff
2017-07-01 23:02:24 +02:00
bnnm
880b8c5543
Add Wii 04SW [Driver: Parallel Lines (Wii)]
2017-06-25 00:27:58 +02:00
bnnm
f617e5e762
Improve PS2 XA30 [Driver: Parallel Lines (PS2)]
2017-06-24 23:33:49 +02:00
bnnm
64500f025d
Add PC XA30 + IMA decoder [Driver: Parallel Lines (PC)]
2017-06-24 23:30:10 +02:00
bnnm
7bf4e99cba
Improve buffer setup with multichannel files (vgmstream_open_stream)
2017-06-24 22:53:17 +02:00
bnnm
519c5d71de
Redo RWS with PCM/PS-ADPCM/DSP/IMA-ADPCM + block support [many games]
2017-06-10 02:25:49 +02:00
bnnm
7e42eeca58
Add u-Law decoder + ULW meta [Burnout 1 GC]
2017-06-09 22:26:09 +02:00
bnnm
a903072a11
Added XPEC's .XAU IMA-ADPCM support [Beat Down (Xbox)] + looping (PS2)
2017-05-18 21:00:42 +02:00
bnnm
9488ba32c7
test.exe: add "-F" option to loop + play stream's end instead of fading
2017-05-18 19:55:00 +02:00
bnnm
625c18a87e
Add MTA2 decoder/meta support [Metal Gear Solid 4 (PS3)]
2017-05-18 19:16:44 +02:00
Alex Barney
3e2b4e3735
Add support for multi-channel Nintendo .dsp files
2017-05-13 19:38:28 -05:00
Christopher Snowhill
4e54a82900
Merge pull request #89 from Thealexbarney/adx
...
Improve ADX support
2017-05-13 16:42:23 -07:00
Alex Barney
89cdaa83e9
Add support for encoding type 4 ADX
2017-05-13 17:37:24 -05:00
bnnm
3527dbcdb0
Add RXWS (.XWB+XWH/.XWS) with ADPCM/PCM/ATRAC3 [Sony/SCEI PS2 games]
2017-05-13 23:54:09 +02:00
Alex Barney
ab647cc155
Add support for type 2 ADX files
2017-05-13 16:04:30 -05:00
Alex Barney
ef1499f480
Add support for varying ADX frame sizes
2017-05-13 15:17:27 -05:00
bnnm
a79b874f82
Add RSD6XMA and tri-Ace's PS3/X360 support (by bxaimc)
2017-05-13 02:22:15 +02:00
bnnm
e2cc352238
Add GTD support [Knights Contract X360]
2017-05-13 01:55:31 +02:00
bnnm
b8f2efadc4
Add partial support for Xbox MSS [Shellshock Nam 67], update names
...
Needs a new "stereo interleave" layout so it only plays as a 2ch stream
for now.
2017-05-12 19:15:18 +02:00
bnnm
6cf0195d25
Move reset/seek/free code to decoders (vgmstream.c cleanup)
2017-04-29 22:37:15 +02:00
bnnm
779bf68ab1
Fix some compiler errors with -Werror=format-security
2017-04-29 16:23:50 +02:00
bnnm
d5aee307f0
Rename coding_INT_X to coding_X_int for consistency with other codecs
2017-04-29 02:53:36 +02:00
bnnm
75d079f389
Add block size (interleave) description for MSAPDCM/MS-IMA/etc
2017-04-29 02:19:27 +02:00
bnnm
4a83de7dae
Added MC3 decoder/meta [MX Rider, Spy Hunter, T3] (thanks to daemon1)
2017-04-28 17:26:25 +02:00
bnnm
f153479383
Add OGL Vorbis decoder/meta [Jett Rocket (Wii), FAST Racing NEO (WiiU)]
2017-04-22 19:25:54 +02:00
bnnm
bd3e054b82
Add basic SXD support [Gravity Rush, Freedom Fighter SFX (PSV)]
2017-04-22 15:00:22 +02:00
bnnm
bb00cfa22c
Make try_dual_file_stereo static/local
2017-04-22 13:31:12 +02:00
bnnm
c8f82e6f06
Simplify XMA parsing and don't make it fully FFmpeg-dependant
2017-04-22 13:12:01 +02:00
bnnm
7cc3660fc8
Separate X360 NUB/PASX from xma.c for cleanup
2017-04-22 12:09:43 +02:00
bnnm
f067d4ddb9
Added Wwise Vorbis decoder and packed codebooks
2017-04-13 15:04:46 +02:00
bnnm
a468898855
Added Wwise IMA decoder; ms_ima_bytes_to_samples
...
There are some minor issues with seeking in odd samples to be fixed
2017-04-11 19:59:29 +02:00
bnnm
a33a77575a
Add Ubisoft RAKI [Rayman Legends, Just Dance 2017 (multi)]
2017-04-07 18:01:04 +02:00