Commit Graph

753 Commits

Author SHA1 Message Date
bnnm
d56bca12f8 Remove ps2_khv.c as it's now parsed in vag.c 2019-01-12 02:55:24 +01:00
bnnm
5d610be086 Add .gin and EA-XAS v0 decoder [Need for Speed Most Wanted] 2019-01-12 02:26:38 +01:00
NicknineTheEagle
5190b362a9 Added 4-bit PCM decoder 2019-01-09 22:30:15 +03:00
bnnm
78099c096b Fix .vsv/psh decoding and mono files [Dawn of Mana (PS2)] 2019-01-05 20:20:08 +01:00
bnnm
be9399b370 Redo Infernal Engine .smp [Ghostbusters (multi)] 2019-01-05 04:36:20 +01:00
bnnm
dd97d29f80 Add EA EACS banks [Need for Speed (PC)] 2019-01-02 17:17:14 +01:00
bnnm
e53740f27f Add PCFX for GENH/TXTH [Der Langrisser FX (PC-FX)] 2018-12-27 16:14:59 +01:00
bnnm
aa970bbdef Adjust RedSpark case 2018-12-23 13:39:50 +01:00
bnnm
9245dc8a15 Add iNiS .IMC [Gitaroo Man (PS2)] 2018-12-23 13:38:18 +01:00
bnnm
c74da3884d Clean .vs naming 2018-12-22 20:09:01 +01:00
bnnm
47ab52f4f2 Fix various PS2/GC/Wii/PC/Xbox/PSP .mul/emff [TR Legend, TR Underworld] 2018-12-22 19:47:17 +01:00
bnnm
34d4500e54 Add .sps EAMP3 [Need for Speed (PS4)] 2018-12-15 11:17:47 +01:00
bnnm
12edc39bff Add looping Ogg Opus [Monster Boy and the Cursed Kingdom (Switch)] 2018-12-09 02:00:47 +01:00
bnnm
13a7a5382d Add .opusx/adpcmx [Touhou Genso Wanderer -Reloaded- (Switch)] 2018-12-09 01:23:40 +01:00
bnnm
30481a5dcc Clean XA names 2018-12-08 02:50:54 +01:00
bnnm
d31e11b6f9 Fix .fag num_samples/subsongs [Jackie Chan Stuntmaster (PS1)] 2018-12-08 02:45:19 +01:00
bnnm
60945577c0 Add Vicarious Visions .zss/zsm/ens/enm [X-Men Legends II (multi)] 2018-12-08 00:10:44 +01:00
bnnm
42bc5de623 Add From Software .xps/.xps+dat [Metal Wolf Chaos (Xbox), Otogi (Xbox)] 2018-12-01 14:01:52 +01:00
bnnm
c87aff04f9 Add opus+sli looping [Sabbat of the Witch (PC)] 2018-12-01 02:47:57 +01:00
bnnm
56ced57ece Add TamaSoft .msf [Abandoner: The Severed Dreams (PC)] 2018-11-17 17:52:07 +01:00
bnnm
ab90e08484 Add ADPCM .xpcm [Eternal Fantasy (PC)] 2018-11-10 00:09:03 +01:00
bnnm
9b7161a207 Add PCM16LE .xpcm [Eternal Fantasy (PC)] 2018-11-09 22:57:35 +01:00
bnnm
b56f9e9acd Add NWAV [Fuurai no Shiren Gaiden: Onnakenshi Asuka Kenzan! (PC)] 2018-11-09 21:23:31 +01:00
bnnm
ec63b8ff38 Tweak .svs sample rate 2018-11-01 16:39:53 +01:00
bnnm
1380faf5bb Add PC/X360/Wii .seg and fixes [The Spiderwick Chronicles (multi)] 2018-11-01 16:34:53 +01:00
bnnm
33aa532c34 Add blocked VS [Final Fantasy X (PS2)] 2018-10-20 15:30:46 +02:00
bnnm
e49a688559 Add .xopus decoding [Angry Birds Transformers (Android)] 2018-10-13 21:01:58 +02:00
Christopher Snowhill
3d9ae0932c
Update vgmstream.h
Clean up formatting.
2018-10-09 15:49:04 -07:00
style_of_2001
107f9a658e Add konami / sony VA3 support (fix crash in cli :P) 2018-10-09 09:53:10 -05:00
bnnm
80aad4f15a Add/fix XWMA start and num samples 2018-10-07 23:27:31 +02:00
bnnm
f59faa0c07 Fix some .lse [Operation Abyss (PC), Operation Babel (PC)] 2018-10-04 20:43:23 +02:00
bnnm
1056092bf3 Fix Final Fantasy Tactics A2 IMA decoding 2018-10-04 19:43:37 +02:00
bnnm
2a5516fe7c Restore G719 max frame size as 2560 bits (0x140) is decoder max 2018-09-27 23:56:44 +02:00
bnnm
c0d484a715 Add .lse Ogg [Labyrinth of Refrain (PC)] 2018-09-27 23:41:26 +02:00
bnnm
d717f21189 Add UE4OPUS decoder [Fortnite (PC), ARK: Survival Evolved (PC)] 2018-09-23 04:26:11 +02:00
bnnm
f29012edb7 Add Capcom .adpcm [Resident Evil: Revelations (Switch)] 2018-09-22 17:45:02 +02:00
bnnm
0e4ee632b9 Remove standard G.722.1 (Siren7), since no game uses it
Siren14 wasn't affected by this
2018-09-22 16:32:21 +02:00
bnnm
37d7fe83c4 Move NXA Opus to its own file, since it's not very standard 2018-09-10 02:24:59 +02:00
bnnm
804fceb5e7 Remove custom FFmpeg, as custom IO streamfile can be used instead 2018-09-10 02:19:34 +02:00
bnnm
74536e0933 Swap custom FFmpeg OPUS for custom streamfile IO 2018-09-10 01:23:34 +02:00
bnnm
6bee2a6209 Add .utk [The Sims Online (PC), SimCity 4 (PC)] 2018-09-09 15:29:34 +02:00
bnnm
2b7cd654b2 Allow arbitrary frame sizes for G719 and cleanup 2018-09-09 12:24:08 +02:00
bnnm
47b5a189cf Clean EA-MT code 2018-09-08 23:36:31 +02:00
bnnm
417cc59277 Fix EA-MT looping [SSX3 (PS2)] 2018-09-08 19:22:56 +02:00
bnnm
1810d3ced6 Add TXTP commands for looping/time (#i #E #lN #fN #dN #F)
- #i (ignore loop)
- #E (force end-to-end loop)
- #lN (force N loops)
- #fN (fade time)
- #dN (fade delay)
- #F (don't fade after N loops and play song end)
2018-09-07 19:34:31 +02:00
bnnm
19f69e14b7 Add ALP IMA decoder [Lego Racers (PC)] 2018-09-06 20:25:04 +02:00
bnnm
f519b1ad70 Add DERF DPCM decoder [Stupid Invaders (PC)] 2018-09-06 17:45:34 +02:00
bnnm
59b303d753 Update libacm to 1.2 and add .WAVC sfx 2018-09-04 22:42:21 +02:00
bnnm
f70852095c Tweak minor ACM stuff for opaqueness 2018-09-04 18:37:51 +02:00
bnnm
3113342a71 Minor tweaks 2018-09-02 21:06:15 +02:00
bnnm
43764d6c8d Fix HCA num samples/looping [Binary Domain (PC), Octopath Traveller]
Decoder has been modified a bit so it's easier to feed an arbitrary
number of discard samples (or at least, easier for me to understand),
since encoder delay can be >1024 (frame size) and would make some calcs
go all wobbly
2018-08-29 23:42:47 +02:00
bnnm
411fa498bb Clean HCA meta/decoder for future changes 2018-08-29 20:05:31 +02:00
bnnm
d5a11d58e8 Add various metas
- DSP: itl, vag (PPP)
- PS2: int (A2M), ahv, msv, sdf, svg, vis
- PC: .aif (Asobo), ao, apc, wv2
- Xbox: xau (Konami)
2018-08-28 18:47:56 +02:00
bnnm
cc537270c1 Add RFRM .csmp and cleanup [Donkey Kong Country Tropical Freeze (Wii U)] 2018-08-26 19:16:24 +02:00
bnnm
4ee39206c3 Fix Lunar 2 SCD loops/sample rate/stereo and PCM8 cleanup 2018-08-26 16:36:08 +02:00
bnnm
ee03726bbc Find loop_segment automatically in segmented_layout + remove from metas 2018-08-26 00:59:31 +02:00
bnnm
3130eebf0c Minor layout cleanup + doc 2018-08-25 20:46:54 +02:00
bnnm
a734e9c5cb Remove custom ATRAC9 in favor of custom IO
Formats using custom layouts tend to be weird enough that it's a pain to
add support directly in the decoder.
Instead should use custom layouts and I/O streamfiles that, though a bit
wordy and unwieldy at the moment, are a lot more flexible.
2018-08-25 17:48:01 +02:00
bnnm
9e54efe6d8 Remove FFMPEG_EA_XMA as it's now done with custom IO + layers 2018-08-25 13:22:57 +02:00
bnnm
6c553882f3 Rename codec_version to codec_config to clarify 2018-08-23 18:07:45 +02:00
bnnm
ad4478ac2c Set dual stereo as a meta flag rather than a static list
Mainly for cleanup/style
2018-08-23 18:00:34 +02:00
bnnm
dcbc7e5b9b Lower parse priority of raw metas so TXTH has a chance to go first 2018-08-22 20:39:31 +02:00
bnnm
925916690a Parse PS3 .bnk properly and remove ps3_klbs.c [L@ve Once (PS3)] 2018-08-22 19:26:19 +02:00
bnnm
75fb12eed4 Fix PS2 VGS/ASS/VPK/etc samples, glitches and cleanup 2018-08-22 19:19:31 +02:00
bnnm
cae82e9074 Clean builds and enable VGM_USE_VORBIS/MPEG manually for consistency 2018-08-20 20:08:24 +02:00
bnnm
2e6f6c8176 Remove unnecessary FFmpeg ifdef 2018-08-19 19:09:37 +02:00
bnnm
ca04dbca70 Add old .scd SSCF [Crisis Core FFVII (PSP), Dissidia 012 (PSP)] 2018-08-19 16:42:39 +02:00
bnnm
d93a4b2c7a Add proper H4M decoding [Resident Evil 0 (GC), Tales of Symphonia (GC)] 2018-08-19 00:38:08 +02:00
bnnm
9e06652264 Redo .nus3bank to parse as a bank with subsongs
Also removes hacky code from idsp, since it's now on its own file
2018-08-15 19:59:10 +02:00
bnnm
79cad960ae Add Sony .bnk [Puyo Puyo Tetris (PS4), NekoBuro: Cats Block (Vita)] 2018-08-15 17:34:17 +02:00
bnnm
b36646aacf Add .hd3+bd3 [Elevator Action Deluxe (PS3), R-Type Dimensions (PS3)] 2018-08-14 00:28:15 +02:00
bnnm
36c6168c27 Add Firebrand Games .wavebatch [NFS: The Run (3DS), F&F: Showdown (3DS)] 2018-08-13 23:03:39 +02:00
bnnm
5720278d2d IDSP cleanup 2018-08-12 18:04:19 +02:00
bnnm
efb01a921c Add .wua IDSP and cleanup [Lego Dimensions (Wii U)] 2018-08-12 17:13:51 +02:00
bnnm
0502a6a74f Fix VPK num_samples and cleanup [God of War (PS2), NBA 08 (PS3)] 2018-08-12 02:19:17 +02:00
bnnm
07bb40071a Add FSB CELT decoder [Vessel (PC), Runner2 (PC)]
Corresponding libs will be added later
2018-08-12 00:58:20 +02:00
bnnm
790525f990 Redo Blitz Games STR+WAV [Zapper (GC), Tak (PS2)]
Also removes 3 metas that parsed Blitz stuff
2018-08-04 21:02:10 +02:00
bnnm
16f2474a50 Add .WV6 IMA [The Fairly OddParents: Breakin' Da Rules (PC)] 2018-08-02 18:22:01 +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
bnnm
61034484ab Add XMD decoder [Silent Hill 4, Castlevania: Curse of Darkness (Xbox) 2018-07-27 17:11:11 +02: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
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
bnnm
d6795b63c3 Add ASF decoder [Croc 2 (PC), Aladdin: Nasira's Revenge (PC)] 2018-07-18 00:52:24 +02:00
bnnm
2df613d893 Fix various music .ivaud [GTA IV (PC)] 2018-07-06 21:04:06 +02:00
bnnm
dbb5a4458b Add .mus Ogg [Redux - Dark Matters (PC)] 2018-06-30 13:43:12 +02:00
bnnm
12233dd0bb Remove ps2_adsc as it's handled in ps2_ads now 2018-06-17 01:12:53 +02:00
bnnm
9d86c42ea4 Add .H4M videos (wip) 2018-06-03 13:08:41 +02:00
Christopher Snowhill
b341f8d6b6
Merge branch 'master' into master 2018-05-20 16:22:31 -07:00
bxaimc
05aca5ceeb Formatting some things 2018-05-19 16:17:18 -04:00
bxaimc
94a9cf1f7f Add SADF DSP variant from Xenoblade Chronicles 2 (Switch) 2018-05-19 16:05:25 -04:00
bnnm
a57134dc2b Add .gwd Ogg [Adagio Cloudburst (PC)] 2018-05-19 11:37:21 +02:00
bnnm
92419c2143 Add tri-Ace .aac Vita [Judas Code (Vita)] 2018-05-12 13:53:58 +02:00
Christopher Snowhill
35cd14fa04
Merge pull request #220 from bnnm/bao-downmix-etc
BAO, downmix, etc
2018-04-29 17:04:19 -07: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
bxaimc
ce2082a8d4 Add .KNS for KTSS meta 2018-04-29 13:24:01 -04: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
5229e7385d Clean dsp meta
Use a common function since most parsers did the same thing with minor
config params.

Also add extra validations to Cabela's DSP since it was hijacking other
DSPs.
2018-04-21 02:14:21 +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
ab2cecf92d Add encrypted .ogg from Ys VIII (PC) 2018-04-20 17:02:56 +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
34522fafee Add .eno Ogg [Metronomicon (PC)] 2018-04-12 22:46:18 +02:00
bnnm
27087edea2 Add .rpgmvo Ogg [RPG Maker MV games] 2018-04-07 19:04:06 +02:00
bnnm
b2766bf137 Add .msb+msh sfx [EyeToy Play (PS2), Ace Combat 2 (PS2)] 2018-04-07 13:35:33 +02:00
bnnm
d4556f3310 Ignore LyN RIFF as it's parsed in its own file now; cleanup 2018-04-07 11:37:44 +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
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
94572fede5 Use meta_MP4 for MP4 FFmpeg too, so no need to ifdef 2018-03-30 21:37:11 +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
99888d6517 Merge branch 'master' of https://github.com/kode54/vgmstream into test 2018-03-30 11:02:28 +02:00
bxaimc
d5c9165d07 Merge branch 'master' of git://github.com/kode54/vgmstream 2018-03-29 21:04:09 -04: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
bnnm
c052848e26 Add EA .WVE videos [Supercross 2000 (PS), Wing Commander 3/4 (PS)] 2018-03-29 15:39:33 +02:00
bnnm
eb52b3fb57 Add stereo AICA to GENH/TXTH (no interleave) [SF3 Double Impact (DC)] 2018-03-28 00:30:59 +02:00
bnnm
93c26cfef0 Rename coding_AICA to coding_AICA_int since it only does mono data 2018-03-27 23:32:01 +02:00
bnnm
1708dcaf63 Remove PCM16-XOR decoder and use decryption streamfile instead
The encryption is built on top of the data, so this way mimics the
actual setup and removes another superfluous decoder
2018-03-27 23:24:24 +02:00
bnnm
0f529ea1a7 Remove BMDX decoder and use decryption streamfile instead
The encryption is built on top of PS ADPCM data, so this way mimics the
actual setup and removes a superfluous decoder
2018-03-27 22:39:05 +02:00
bnnm
c72ff8dd46 Clean ngc_bo2
Move code to rkv.c as it's the same format, add .rkv (archive)
extension, remove file and rename to init ngc_rkv
2018-03-25 11:08:36 +02:00
bnnm
eca9b83208 Simplify last block interleave
Remove layout_interleave_shortblock for clarity as the value is enough
to signal its use. Also fix .snd last block calculation, and clean some
metas since I was testing changes anyway.
2018-03-24 19:27:24 +01:00
bnnm
f132c11764 Add .aac ADPCM [Star Ocean Ananmesis v1, Heaven x Inferno (Mobile)] 2018-03-24 12:17:04 +01:00
bnnm
6a5ef288ff Add NXAP (bad decoding) [Time Crisis 4, Time Crisis Razing Storm (PS3)] 2018-03-24 12:13:40 +01:00
bnnm
fbd8e94e41 Add Yamaha/NXAP ADPCM decoder 2018-03-24 12:08:16 +01:00
bnnm
13a5322e26 Add .smv [Cho Aniki Zero (PSP)] 2018-03-23 22:41:42 +01:00
bnnm
49331423e2 Add true multichannel XBOX-IMA 2018-03-23 21:21:44 +01:00
bnnm
a53712d495 Add RSD6WMA [Scarface (Xbox)] 2018-03-23 18:54:20 +01:00
bnnm
8bb9fa5f4a Clean .WSI 2018-03-23 18:34:37 +01:00
bnnm
e2a3590158 Remove layout_ogg and cleanup
Layout was not actually needed, remove to simplify. Rename
vgm_vorbis_info_t to ogg_vorbis_meta_info_t to clarify it's only for
meta, also don't pass filename to init ogg (not useful even as an
optimization since getting the name is a minuscule part in parsing a
meta)
2018-03-23 16:34:48 +01:00
bxaimc
ceaa776f83 Add -official- VSV extension to PSH meta. Modified channe_count flag in VSF for test files found in FFXII:TZA (PS4). 2018-03-19 15:19:30 -04:00
bnnm
71d642574b Unify coding_NWAx in a single coding_NWA to simplify 2018-03-16 18:35:21 +01:00
bnnm
05dc3df6e0 Simplify mus_acm_codec_data into acm_codec_data 2018-03-16 18:02:17 +01:00
bnnm
ad1f719cf3 Remove mus_acm_layout.c as it's not neede anymore 2018-03-16 17:23:50 +01:00
bnnm
8d4974033c Allow ACM to play as regular (single file) layout and remove layout_acm 2018-03-16 13:03:39 +01:00
bnnm
8328814a2f Add RSD6AT3+ [Crash of the Titans (PSP)] 2018-03-11 21:03:48 +01:00
bnnm
3eeddcc41e Add WayForward single/segmented .wave [Shantae and the Pirate's Curse] 2018-03-11 19:24:06 +01:00
bnnm
15f221af7c Rename aax layout to segmented layout, as now can be used for others 2018-03-10 20:25:57 +01:00
bnnm
66c9a06351 Add AAX HCA [Binary Domain (PS3)] 2018-03-10 17:33:48 +01:00
bnnm
693fbf8e3b Clean AAX layout (rename parts, move code around, etc) 2018-03-10 12:19:30 +01:00
bnnm
a7870c5339 Rename coding_ogg_vorbis to coding_OGG_VORBIS for consistency 2018-03-08 23:32:58 +01:00
bnnm
c0906d1b0f Add CAF .caf/empty extension, cleanup [Baten Kaitos (GC), Fragile (Wii)] 2018-03-08 23:26:10 +01:00
bnnm
67a2f29f75 Minor FADPCM cleanup 2018-03-08 22:55:50 +01:00
bnnm
789ca26e8a Add KID .WAF [Ever 17 (PC)] 2018-03-03 18:46:12 +01:00
bnnm
c44b7ef264 Rename some blocked layouts for clarity 2018-02-25 16:52:57 +01:00