Commit Graph

6693 Commits

Author SHA1 Message Date
bnnm
ea630eeead cleanup 2024-07-18 23:50:22 +02:00
bnnm
33f01354e6 Fix some Ongakukan .adp + cleanup 2024-07-18 22:43:13 +02:00
bnnm
b916d2685e
Merge pull request #1558 from modusc896d352/ongakukan-adp-v2
Add Ongakukan .adp [Train Simulator (PS2), Mobile Train Simulator (PSP)]
2024-07-18 19:53:29 +02:00
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
3b4a175472
Merge pull request #1556 from bnnm/api-misc
- Minor tweak in TXTH path handling
- API (WIP)
- cleanup
2024-07-14 22:19:24 +02: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
34d8e84411
Merge pull request #1555 from bnnm/fsb-etc
- Fix .fsb with XMA + basic headers [Forza 3 (X360)]
- Add FSB key
- cleanup
2024-07-07 21:47:38 +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
bnnm
b0329b573e
Merge pull request #1552 from EdnessP/master
- Split up EA SCHl formats into individual files
- Add EA Redwood Shores ABK variant
- Add EA Redwood Shores extensions:
  - aiff: .mpc, .vp6
  - schl_video: (SCHl) .mpc, .vp6
- Add THQ Australia VAG variant
2024-07-05 14:56:07 +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
bnnm
4a58c2d071
Merge pull request #1549 from EdnessP/master
- Add XWB+XSB pairs [SpongeBob: Lights, Camera, Pants! (Xbox)]
- Fix ADM3 smp2_unk fail case for #1548 [PUBG Lite]
- Add ADM3 GRN1 chunk support
2024-06-27 23:58:26 +02: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
3df6e4303f
Merge pull request #1547 from bxaimc/master
add hca key
2024-06-18 17:57:16 -04:00
bxaimc
966327e359 add hca key 2024-06-18 17:55:39 -04:00
bnnm
4f88db173b
Merge pull request #1546 from bnnm/txth-hca
- Fix TXTH samples for mono MS-IMA/MSADPCM
- Add HCA key
2024-06-17 20:18:18 +02: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
135e90b84b
Merge pull request #1545 from EdnessP/master
- Add Evolution Games VAG variant [Rocket Power: Beach Bandits (PS2)]
- Add .RSM extension to DSP [Bully: Scholarship Edition (Wii)]
- Hide/Show SCREAM/XACT bank names if they match the input filename (like with RWS/AWD)
- Use intended AWD codec enum names
2024-06-14 19:41:16 +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