Commit Graph

654 Commits

Author SHA1 Message Date
bnnm
16f2474a50 Add .WV6 IMA [The Fairly OddParents: Breakin' Da Rules (PC)] 2018-08-02 18:22:01 +02:00
bnnm
492f43a554 Merge branch 'master' of https://github.com/kode54/vgmstream into ck-xa-fsb 2018-08-02 17:15:38 +02:00
bnnm
a4f67bf077 Add Cricket Audio .cks/ckb [Part Time UFO, Mega Man 1-6 (Android)]
Includes Cricket Audio's MSADPCM variation, also cleaned up MSADPCM code
2018-08-02 17:15:09 +02:00
bxaimc
fcc728c8b1 Add Entergram NXA Opus 2018-08-01 01:24:26 -04:00
bnnm
61034484ab Add XMD decoder [Silent Hill 4, Castlevania: Curse of Darkness (Xbox) 2018-07-27 17:11:11 +02:00
Christopher Snowhill
637ec27998
Merge pull request #265 from NicknineTheEagle/ea-formats
More EA formats
2018-07-23 19:08:02 -07:00
bnnm
fd7ecbd393 Add AIFF with XA ADPCM [Crusader: No Remorse (SAT), Road Rash (3DO)] 2018-07-22 23:13:03 +02:00
bnnm
0dc2c81ab9 Handle XA ADPCM in a more standard way
It was decoding one 28-sample subframes and blocked layout handled
frames, doing some voodoo to skip CD sectors.
Now decodes one 28*8-sample frame and blocked layout handles CD sectors.
Decoding is byte-exact vs before.
2018-07-22 23:08:09 +02:00
NicknineTheEagle
04debd021e Merge remote-tracking branch 'origin/master' into ea-formats
# Conflicts:
#	src/meta/ea_schl.c
2018-07-22 05:34:26 +03:00
bnnm
57b8c6acd3 Add TXTP 'm' channel mapper/swapper
Credit to topher-au for the initial idea/code
2018-07-22 00:46:08 +02:00
NicknineTheEagle
0210489f83 Added support for newer EA ABK format 2018-07-22 00:18:12 +03:00
NicknineTheEagle
b6080f6bdc Added EA HDR/STH/DAT format support 2018-07-21 21:58:01 +03:00
NicknineTheEagle
4d10e91c27 Added EA IDX/BIG format support 2018-07-21 21:57:35 +03:00
bnnm
af70e95877 Tweak PS-ADPCM decoding [inFamous (PS3)]
- Code now more verbose, but easier to understand (by me, at least)
- Unify normal and badflags code
- Fix hist1 not being properly clamped, though not noticeable
- Fix inFamous (PS3) which seemingly wasn't using the extended table but
hitting some compiler weirdness? (failed in foobar and worked in test)
- Use int math for PSX-cfg, which should be minimally more accurate
2018-07-21 20:15:07 +02:00
NicknineTheEagle
be00f0a988 Added EA HDR/DAT format support 2018-07-18 19:32:33 +03:00
NicknineTheEagle
51146cd612 Merge remote-tracking branch 'origin/master' into patch-1 2018-07-18 05:18:35 +03:00
bnnm
d6795b63c3 Add ASF decoder [Croc 2 (PC), Aladdin: Nasira's Revenge (PC)] 2018-07-18 00:52:24 +02:00
NicknineTheEagle
5d6b603055 Added EA ABK header support 2018-07-18 00:14:28 +03:00
bxaimc
69c2e9f07f Add Falcom NLSD Opus (Ys VIII [Switch]) 2018-07-15 03:49:33 -04:00
bxaimc
5b3a001082 Add Bandai Namco Opus found in NUS3Banks (Taiko no Tatsujin and future games) 2018-07-15 02:37:15 -04:00
bnnm
12233dd0bb Remove ps2_adsc as it's handled in ps2_ads now 2018-06-17 01:12:53 +02:00
bnnm
ae3307e6f0 Redo ADS to fix various issues
- Fix minor samples bugs
- Fix ADSC variation [Kenka Bancho 2, Shunjuku no Okami]
- Fix misc loops [Culdcept, Katakamuna, Super Galdelic Hour]
- Fix Capcom loops [MM X7, BOF5, Clock Tower 3]
- Fix cavia loops [Drakengard 1/2, GITS: Stand Alone Complex]
- Fix Angel Studios videos [Red Read Revolver, Spy Hunter 2]
- Fix misdetected files [Gran Turismo 2000 videos]
2018-06-17 01:08:52 +02:00
bnnm
9d86c42ea4 Add .H4M videos (wip) 2018-06-03 13:08:41 +02:00
bxaimc
94a9cf1f7f Add SADF DSP variant from Xenoblade Chronicles 2 (Switch) 2018-05-19 16:05:25 -04:00
bnnm
92419c2143 Add tri-Ace .aac Vita [Judas Code (Vita)] 2018-05-12 13:53:58 +02:00
bnnm
da930bc3c9 Add .opus variation [Fast RMX (Switch)] 2018-05-05 23:01:49 +02:00
bnnm
d292531654 Add switch_audio [Gal Gun 2 (Switch)] 2018-04-29 21:04:55 +02:00
bnnm
10e506675b Add (wip) Ubi .pk support [Just Dance (Wii)] 2018-04-29 20:28:27 +02:00
bnnm
686d77debc Clean Switch opus meta
Separate header variations since every other dev is going to make their
own, it was getting kind of messy.
2018-04-21 21:52:30 +02:00
bnnm
165cb400b1 Add .at9 opus [Penny-Punching Princess (Switch)] 2018-04-20 20:37:19 +02:00
bnnm
befcbbd4fb Add PPST .sng [Parappa the Rapper (PSP)] 2018-04-20 18:27:08 +02:00
bnnm
84b1b31608 Add .sps in Frostbite(?) containers [Need For Speed Rivals (PS4)] 2018-04-20 00:22:40 +02:00
bnnm
3d2f7e0de2 Clean NWA meta
To open external files it was using get_realname, which only was
actually implemented in Audacious, but Audacious can use get_name to
open external files just fine anyway (for any path, encoding, etc)
2018-04-19 22:44:05 +02:00
bnnm
12cba40baf Add .smc+smh [Wangan Midnight (System 246)] 2018-04-15 01:08:27 +02:00
bnnm
56d6cbbf6c Add artificial format TXTP (.txtp)
Used to play separate intro+loop files, mask channels, play subsongs in
single files without having to demux, etc.

Also a channel mask parsing during main render_vgmstream.
2018-04-15 00:48:37 +02:00
bnnm
b2766bf137 Add .msb+msh sfx [EyeToy Play (PS2), Ace Combat 2 (PS2)] 2018-04-07 13:35:33 +02:00
bnnm
254f980a50 Improve layered layout bitrate calculation 2018-04-07 11:44:29 +02:00
bnnm
41e60f29da Add Ubi LyN (.sns/son/wav) [Adventures of Tintin, From Dust (multi)] 2018-04-07 11:31:43 +02:00
bnnm
8fab88be8f Remove ps2_psw.c as it's now parsed by ubi_jade.c 2018-04-06 20:55:11 +02:00
bnnm
d39e7ec67d Fix Ubi Jade (.wam) [Beyond Good & Evil (PS3), Rayman Rabbids (Wii/PS2)]
Adds X360/PS3/PC support and fixes looping
2018-04-06 20:48:24 +02:00
bnnm
9db9ae563a Add .pdt subsongs [Cubic Lode Runner (GC), Muscle Champion (GC)] 2018-04-01 02:15:10 +02:00
bnnm
effe65c934 Tweak PDT header (cleanup) 2018-03-31 20:42:02 +02:00
bnnm
f2aaccc9fb Add .awc XMA [Red Dead Redemption (XMA)] 2018-03-31 20:11:21 +02:00
bnnm
b35f88159c Add .mcadpcm [Skyrim (Switch)] 2018-03-31 13:28:30 +02:00
bnnm
b7da78e68e Add .PCM+.SRE [Viewtiful Joe (PS2)] 2018-03-31 13:10:57 +02:00
bnnm
c843c350d1 Clean scd_int layout and rename to layered layout for later reuse 2018-03-30 21:28:32 +02:00
bnnm
642c833fcd Simplify STREAMFILE handling in scd_int_layout
It's not the easiest thing to follow so here is what's going on with
STREAMFILEs:
- external player opens base-streamfile, with a base FILE
- meta scd parses stuff, then per DSP channel/layer:
  - open temp-streamfile, which does custom IO with base-streamfile
(doesn't open any FILE)
  - pass temp-streamfile to init_vgmstream_ngc_dsp_std
  - init parses ok, and re-opens temp-streamfile (with custom IO) as its
own dsp-vgmstream-streamfile; internally it does fopen/fdopen the
original FILE from base-streamfile
  - scd_int_layout stores the newly created VGMSTREAM (internally has
the dsp-vgmstream-streamfile too)
  - close temp-streamfile, that doesn't close base-streamfile as it's
wrapped to avoid doing so, nor affects dsp-vgmstream-streamfile in any
way.
- meta parsing is done, so external player closes base-streamfile (but
the re-fopen'ed dsp-vgmstream-streamfile FILE remains)
- vgmstream renders pcm buffers, etc
- finally player calls close_vgmstream
  - scd_int_layout calls close_vgmstream for each stored VGMSTREAM
  - the VGMSTREAM internally closes the dsp-vgmstream-streamfile, which
in turn closes its own FILE

So ultimately all FILEs, STREAMFILEs and their clones should be properly
handled and closed.
2018-03-30 19:14:37 +02:00
bnnm
011b880884 Add little endian .adpcm DSP [LEGO Worlds (Switch)]
The .adpcm extension may conflict with naomi_adpcm so meta is ordered
before that
2018-03-29 23:28:02 +02:00
bnnm
531e8dc9b8 Rename blocked layout for consistency 2018-03-29 19:00:04 +02:00
bnnm
dfeb1da3ef Add .stx STHD [Kakuto Chojin (Xbox)] 2018-03-29 17:01:46 +02:00