More actions
(Created page with "{{Infobox Switch Homebrews |title=BARcSharp |image=barcsharpswitch.png |description=A tool to extract BWAV files from Switch .bars files. |author=K-E-R-A-D |lastupdated=2021/02/23 |type=Hack Utilities |version=1.5r2 |license=Unlicense |download=https://dlhb.gamebrew.org/switchhomebrews/barcsharpswitch.7z |website=https://gbatemp.net/threads/barcsharp-a-tool-to-extract-bwav-files-from-switch-bars-files.583028/ |source=https://github.com/K-E-R-A-D/BARcSharp |donation= }} {...") |
No edit summary |
||
Line 1: | Line 1: | ||
{{Infobox Switch Homebrews | {{Infobox Switch Homebrews | ||
|title=BARcSharp | |title=BARcSharp | ||
|image= | |image=barcsharpnx.png | ||
|description=A tool to extract BWAV files from | |description=A tool to extract the BWAV files from .bars files (for AMTA v5 only). | ||
|author=K-E-R-A-D | |author=K-E-R-A-D | ||
|lastupdated=2021/02/23 | |lastupdated=2021/02/23 | ||
Line 8: | Line 8: | ||
|version=1.5r2 | |version=1.5r2 | ||
|license=Unlicense | |license=Unlicense | ||
|download=https://dlhb.gamebrew.org/switchhomebrews/ | |download=https://dlhb.gamebrew.org/switchhomebrews/barcsharpnx.7z | ||
|website=https://gbatemp.net/threads/barcsharp-a-tool-to-extract-bwav-files-from-switch-bars-files.583028/ | |website=https://gbatemp.net/threads/barcsharp-a-tool-to-extract-bwav-files-from-switch-bars-files.583028/ | ||
|source=https://github.com/K-E-R-A-D/BARcSharp | |source=https://github.com/K-E-R-A-D/BARcSharp | ||
|donation= | |donation= | ||
}} | }} | ||
A tool to extract the BWAV files from Switch .bars files (for AMTA v5 only, particularly found in a game Animal Crossing New Horizons), 100% written in C#. | |||
Inspired from jackz314's [[BARS-to-BWAV Switch|BARS to BWAV files extractors]]. | |||
| | |||
The tool should be able to extract most (if not all) Switch .bars files. | |||
==User guide== | |||
===How to use=== | |||
This was published as a self-contained app, but just in case, you might need to install the .NET Desktop Runtime. Get it from [https://dotnet.microsoft.com/download/dotnet/5.0 here] (although .NET Runtime alone might have to suffice). | |||
Instructions: | |||
< | *Since the release in a .zip file, extract all the contents first. | ||
*Next, open the command prompt, locate the BarcSharp.exe file, and then type "barcsharp [barsfiledirectory]" or "barcsharp [barsfile]" (without quotation marks [except it's a directory] and square brackets!) | |||
*Example: <code>barcsharp "C:\..\Sound\Resource\"</code> or <code>barchsarp doubutsugo_base.bars</code> | |||
*The output file(s) would be somewhere in [executablelocation]\BARcSharp-output\[barsfilename]\ | |||
Important notes (for release before 1.5r1) | |||
*Do not attempt to move the executable file alone without the DLLs. Those DLLs are the working components in order to run the program. | |||
*The same applies to when you extract the contents from the .zip file, DO NOT just extract the executable alone without the DLLs. | |||
== | ===What's next=== | ||
You can try play the .bwav files using a plugin called [https://www.foobar2000.org/components/view/foo_input_vgmstream vgmstream] for a foobar2000 player, and you can even convert them to .wav files using that player as well. | |||
https:// | |||
==Changelog== | ==Changelog== | ||
''' | '''v1.5''' | ||
* | *Some improvements regarding "amta_length_container", "amta_offset_name_start" and "the_amta_count". | ||
*Optimized the method of obtaining file names and BWAV arrays to the respective Lists (name and bwav_array), which should allow faster extraction method (EDIT: minus GC works). Both for a .bars file alone, and the .bars files in a directory. | |||
Revision: | |||
*(r1) Slightly changed the way of checking the "bwav_count" to prevent any accidental bwav count checks. | |||
*(r1) Starting from this release, i decided to make the program into one executable alone, which should increase its prtability. | |||
*(r2) Applied the change of the way checking the "bwav_count" on "bwavend" checking to prevent any accidental "bwav" array length counting. i must apologize to not think of this thing sooner. | |||
*(r2) A few "optimization" for setting an empty array ("names" in get_amta_name_with_offset method, and "bwav" in get_bwav_array_with_offset method). | |||
'''v1.4''' | |||
*Improved some checks whether it's a directory or a file. | |||
'''v1.3''' | |||
*Fixed the behavior of getting file name for a "complex" AMTA v5 structure (where the AMTA array length itself is somewhere over 9k). | |||
Revision: | |||
*(r1) Added the 32-bit version of the tool. With that said, the .zip file will now contain both 32-bit version and 64-bit version. BEWARE: the previous version still contain 64-bit only. | |||
'''v1.2''' | |||
*Changed the way how to get "amtacount", as a separate method. | |||
'''v1.1''' | |||
*Improved the "algorithm" of finding the offsets, it should be able to collect the offsets better, which also makes a potential fix when the tool somehow literally stopped working (being stuck while extracting a BWAV file). | |||
*Changed how the tool takes care of "amtacount" and "bwavcount". no more separate statements of "if (amtacount == bwavcount)" and "if (amtacount > bwavcount)", but rather "if (amtacount >= bwavcount)". | |||
'''v1.0''' | |||
*An initial release of the tool. | |||
== External links == | == External links == | ||
* | * GitHub - https://github.com/K-E-R-A-D/BARcSharp | ||
* GBAtemp - https://gbatemp.net/threads/barcsharp-a-tool-to-extract-bwav-files-from-switch-bars-files.583028/ | |||
Latest revision as of 05:03, 22 Haziran 2023
BARcSharp | |
---|---|
General | |
Author | K-E-R-A-D |
Type | Hack Utilities |
Version | 1.5r2 |
License | Unlicense |
Last Updated | 2021/02/23 |
Links | |
Download | |
Website | |
Source | |
A tool to extract the BWAV files from Switch .bars files (for AMTA v5 only, particularly found in a game Animal Crossing New Horizons), 100% written in C#.
Inspired from jackz314's BARS to BWAV files extractors.
The tool should be able to extract most (if not all) Switch .bars files.
User guide
How to use
This was published as a self-contained app, but just in case, you might need to install the .NET Desktop Runtime. Get it from here (although .NET Runtime alone might have to suffice).
Instructions:
- Since the release in a .zip file, extract all the contents first.
- Next, open the command prompt, locate the BarcSharp.exe file, and then type "barcsharp [barsfiledirectory]" or "barcsharp [barsfile]" (without quotation marks [except it's a directory] and square brackets!)
- Example:
barcsharp "C:\..\Sound\Resource\"
orbarchsarp doubutsugo_base.bars
- The output file(s) would be somewhere in [executablelocation]\BARcSharp-output\[barsfilename]\
Important notes (for release before 1.5r1)
- Do not attempt to move the executable file alone without the DLLs. Those DLLs are the working components in order to run the program.
- The same applies to when you extract the contents from the .zip file, DO NOT just extract the executable alone without the DLLs.
What's next
You can try play the .bwav files using a plugin called vgmstream for a foobar2000 player, and you can even convert them to .wav files using that player as well.
Changelog
v1.5
- Some improvements regarding "amta_length_container", "amta_offset_name_start" and "the_amta_count".
- Optimized the method of obtaining file names and BWAV arrays to the respective Lists (name and bwav_array), which should allow faster extraction method (EDIT: minus GC works). Both for a .bars file alone, and the .bars files in a directory.
Revision:
- (r1) Slightly changed the way of checking the "bwav_count" to prevent any accidental bwav count checks.
- (r1) Starting from this release, i decided to make the program into one executable alone, which should increase its prtability.
- (r2) Applied the change of the way checking the "bwav_count" on "bwavend" checking to prevent any accidental "bwav" array length counting. i must apologize to not think of this thing sooner.
- (r2) A few "optimization" for setting an empty array ("names" in get_amta_name_with_offset method, and "bwav" in get_bwav_array_with_offset method).
v1.4
- Improved some checks whether it's a directory or a file.
v1.3
- Fixed the behavior of getting file name for a "complex" AMTA v5 structure (where the AMTA array length itself is somewhere over 9k).
Revision:
- (r1) Added the 32-bit version of the tool. With that said, the .zip file will now contain both 32-bit version and 64-bit version. BEWARE: the previous version still contain 64-bit only.
v1.2
- Changed the way how to get "amtacount", as a separate method.
v1.1
- Improved the "algorithm" of finding the offsets, it should be able to collect the offsets better, which also makes a potential fix when the tool somehow literally stopped working (being stuck while extracting a BWAV file).
- Changed how the tool takes care of "amtacount" and "bwavcount". no more separate statements of "if (amtacount == bwavcount)" and "if (amtacount > bwavcount)", but rather "if (amtacount >= bwavcount)".
v1.0
- An initial release of the tool.