Commit Graph

4901 Commits

Author SHA1 Message Date
modusc896d352
61c5803cce fix crash with compiled VS2022 binary
- apparently, freeing data->samples from free_ongakukan_adp (ongakukan_adp_decoder.c) causes heap corruption everywhere because it was already freed to begin with!
-- removing the offending line of code will no longer crash VS2022 builds of vgmstream.
2024-07-17 22:32:41 -03:00
modusc896d352
edde33489b Ongakukan ADPCM code improvements
significant improvements include:
- char flags in ongakukan_adp_lib.c have all, with one exception, been made to bools.
-- ATM, sample_mode will remain a char.
-- several other variables have been removed. they did not affect decoding in any significant way.
-- init_ongakukan_adpcm now accepts at least one bool as an argument for a total of four arguments.
-- many function from lib renamed to follow external lib function naming standard.

- simplified ongakukan_adp_decoder.c
-- decode_ongakukan_adp in particular benefited from this code simpification; loop is now re-done so all samples are copied to outbuf when they're made available.
-- as a consequence of this, at least one var was removed entirely, while others have been redefined into different purposes; samples_filled is now a bool var that flags whether or not all available samples were decoded.
-- init_ongakukan_adp has four arguments as well, and accepts at least one bool as an argument of its own.
-- streamfile is now close there as well instead of in the external decoder lib.

- adp_ongakukan.c saw much simpified code as well; meta checks have been relaxed significantly, which meant the removal of several var and at least three vars repurposed into bools.
-- supposed_size is introduced as an entirely new var; it now calculates the supposed file size of an ADP file with several 32-bit fields from the first byte as a base.
-- consequently, file_size checks are now made against supposed_size.

- as a consequence of all of the above, riff.c has now lost an additional RIFF size check; initially if RIFF chunk reported a big-enough size than RIFF file realistically has, it would be enough for vgmstream to stop working with said file.
2024-07-17 21:58:06 -03:00
modusc896d352
2eef6b4535 fix for borked ADP decoding upon playback
till now, Ongakukan ADPCM decoder worked by "samples filled" and "samples consumed" var from ongakukan_adp_decoder.c ("decoder code" henceforth) get values from ongakukan-adp_lib.c ("decoder lib code" henceforth). samples done was also not initialized to 0 in decoder code, which led to "stuttery" playback with ADP files when decoded sound data from those same files would endlessly repeat by about half-a-second till it reached duration.

this commit fixes this; ADP files are now decoded from beginning-to-end, and you'll be getting no "repeating" sounds literally every second. instead you'll be getting the sound data the way you'd listen to them in-game.
2024-07-17 18:22:38 -03:00
modusc896d352
1d2ab676ec Add Ongakukan ADPCM decoder
[Train Simulator: Midousuji-hen (PS2)]
2024-07-17 16:58:11 -03:00
bnnm
e607b03284 cleanup: misc 2024-07-14 22:09:21 +02:00
bnnm
9c641c0dc1 cleanup: renames 2024-07-14 21:40:37 +02:00
bnnm
c3a391dc0b Minor tweak in TXTH path handling 2024-07-14 21:17:02 +02:00
bnnm
5168434c52 cleanup: split stuff 2024-07-14 21:15:52 +02:00
bnnm
70695617a8 api: add beta api 2024-07-14 20:31:50 +02:00
bnnm
00a8ee7875 cleanup: split 2024-07-14 20:27:58 +02:00
bnnm
6805937d1b cleanup: misc doc/fixes 2024-07-14 20:24:53 +02:00
bnnm
5f5eacd824 cleanup: fix slow opus parsing on bad data 2024-07-14 19:45:54 +02:00
bnnm
25c2375f5d
Merge pull request #1554 from EdnessP/master
- Fix broken Asura DSP .SFX header check
- Improve EA MSB based on EA AMB research
2024-07-08 17:00:09 +02:00
bnnm
316c0eecd6 api: beta defs/tests 2024-07-07 21:25:59 +02:00
bnnm
b1b218bea5 doc/cleanup 2024-07-07 21:25:21 +02:00
EdnessP
aa325ea0aa EA MSB: fixes based on EA AMB research 2024-07-07 20:52:16 +03:00
EdnessP
28c6dc4218 DSP: fix asura header checks 2024-07-06 23:05:54 +03:00
bnnm
761a759d50 cleanup: fsb 2024-07-06 14:25:18 +02:00
bnnm
1c7a330ba7 cleanup: remove unused fsb .wii 2024-07-06 01:28:17 +02:00
bnnm
305466196c doc 2024-07-06 01:26:08 +02:00
bnnm
2ee639d6f5 log: misc helper 2024-07-06 01:25:58 +02:00
bnnm
cd54cd57cd Add FSB key + cleanup 2024-07-06 01:25:41 +02:00
bnnm
59d560d480 Fix .fsb with XMA + basic headers [Forza 3 (X360)] 2024-07-06 01:25:15 +02:00
EdnessP
695b7c231b EA: small cleanups 2024-07-03 17:30:07 +03:00
EdnessP
f681a54462 EA SCHl: indent fixes 2024-07-03 14:14:59 +03:00
EdnessP
c9935d93af EA SCHl: indent fixes 2024-07-03 13:10:46 +03:00
EdnessP
8db6820f65 EA ABK: Redwood Shores AMB/AMX variant 2024-07-03 13:00:13 +03:00
EdnessP
272fd2eac6 EA: cleanups and renames 2024-07-03 01:38:43 +03:00
EdnessP
136b1b760c EA BNK/SCHl: split up distinct formats 2024-07-03 00:33:38 +03:00
EdnessP
d78141c90e VAG: THQ Australia variant 2024-07-01 16:02:20 +03:00
EdnessP
e5eacbdbd3 EA SCHl: schl_video extensions 2024-06-29 15:05:30 +03:00
EdnessP
080921915b ADM: comment consistency 2024-06-27 17:42:06 +03:00
EdnessP
95747bceef ADM3: GRN1 chunk 2024-06-27 17:31:49 +03:00
EdnessP
e5834f7da2 ADM3: fix SMB1 table unk value 2024-06-27 15:38:13 +03:00
EdnessP
2a99841321 XWB: SB:LCP! xsb pairs 2024-06-27 15:34:14 +03:00
bxaimc
966327e359 add hca key 2024-06-18 17:55:39 -04:00
bnnm
dd69f9dd3a Add HCA key 2024-06-17 19:53:48 +02:00
bnnm
6d4fbd742e Fix TXTH samples for mono MS-IMA/MSADPCM 2024-06-17 19:53:38 +02:00
bnnm
bca25b878b
Merge branch 'master' into master 2024-06-14 19:23:41 +02:00
EdnessP
66b28e135d AWD: fixed codec enum 2024-06-14 00:36:52 +03:00
EdnessP
8591975e1c XWB: set null terminator in get_name on fail 2024-06-14 00:22:51 +03:00
EdnessP
80e8a9566a AWD: codec enums 2024-06-13 18:19:15 +03:00
EdnessP
e324851dc1 BNK/XWB: bank names in stream names 2024-06-13 18:14:47 +03:00
bnnm
7d838f55d0 cleanup: fix rare leaks and misc tweaks 2024-06-12 22:29:31 +02:00
bnnm
7b8ea3319a cleanup: update miniz to v3.0.2 2024-06-12 22:27:18 +02:00
bnnm
97b1aa23e0 Fix interleaved MS_IMA [Manhunt (PC)] 2024-06-12 22:24:53 +02:00
EdnessP
2ed74f3218 DSP: .rsm extension 2024-06-12 19:38:01 +03:00
EdnessP
d2d5b3f4be VAG: Evolution Games variant 2024-06-12 18:54:38 +03:00
bnnm
9b90a7a260 cleanup: minor codec renames 2024-06-11 00:36:54 +02:00
bnnm
1fc156badc doc 2024-06-11 00:05:04 +02:00