Commit Graph

3906 Commits

Author SHA1 Message Date
bnnm
add7800544 cleanup: bool flags 2024-07-27 15:30:32 +02:00
bnnm
1d0e57583c cleanup: move stuff 2024-07-27 15:22:21 +02:00
bnnm
d98e1c854f cleanup: api misc 2024-07-27 14:42:43 +02:00
modusc896d352
3fa266364e fix some ongakukan .adp, part II
upped diff "beyond than" checks to 14 to allow some other adp file to actually work.
2024-07-25 20:03:59 -03:00
modusc896d352
3145f7ebe4 fix some ongakukan .adp
at least one adp file from midousuji-sen was found to have a "fact" chunk at offset 0x24 instead of the usual 0x26. this caused vgmstream to not play said file at all.

not only does this commit fixes this, it also adds additional checks to the "adp_ongakukan" meta.

this includes the introduction of the "diff" variable whose purpose is to subtract the difference between expected_size and pcm_size. meta will now only proceed if diff is between 0 and 2 (sorta).

as for the "fix" itself, it required the introduction of the "fact_offset" variable.

fact_offset adds both fmt_offset and fmt_size so that "fact" chunk signature can be read (and checked against adp file within the meta) properly instead of always requiring "fact" to be at 0x26.

fact_offset is also checked if it goes below 0x24 and above 0x28.
2024-07-25 19:06:14 -03:00
bnnm
f922e7018c cleanup: fix compiling .awc without ffmpeg 2024-07-25 19:25:07 +02:00
bnnm
88b54b5257 cleanup: misc 2024-07-25 13:26:29 +02:00
bnnm
d96cf21fc0 cleanup: SNDP rename 2024-07-25 12:47:52 +02:00
bnnm
1039e6fbb7 cleanup: SNDP 2024-07-25 12:47:15 +02:00
bnnm
a6a113d813 cleanup: crlf/etc 2024-07-25 11:17:01 +02:00
bnnm
f1464ac2cc cleanup: minor stuff 2024-07-23 22:31:13 +02:00
bnnm
60676753ba Remove fake format .ffw (use .txth) 2024-07-21 18:25:50 +02:00
bnnm
f6b2c6fab3 Fix some .agsc [Metroid Prime (GC)] 2024-07-21 09:50:28 +02:00
bnnm
9631e02689 cleanup: atx > apa3 2024-07-19 15:48:54 +02:00
bnnm
4168673bbd Remove fake .b1s format (use .txth) 2024-07-19 15:09:52 +02:00
EdnessP
68d15330ea Sony BNK: v12 support (Late PS3/Early PS4) 2024-07-19 10:24:00 +03:00
bnnm
a8dc7edb9a cleanup: renames 2024-07-18 23:52:55 +02:00
bnnm
135279b483 cleanup: iivb, etc 2024-07-18 23:51:38 +02:00
bnnm
33f01354e6 Fix some Ongakukan .adp + cleanup 2024-07-18 22:43:13 +02: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
1d2ab676ec Add Ongakukan ADPCM decoder
[Train Simulator: Midousuji-hen (PS2)]
2024-07-17 16:58:11 -03:00
bnnm
c3a391dc0b Minor tweak in TXTH path handling 2024-07-14 21:17:02 +02:00
bnnm
6805937d1b cleanup: misc doc/fixes 2024-07-14 20:24:53 +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
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
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
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