thane98 / bcsar-view Goto Github PK
View Code? Open in Web Editor NEWWIP Editor for 3DS Sound Archives (*.bcsar)
License: GNU General Public License v3.0
WIP Editor for 3DS Sound Archives (*.bcsar)
License: GNU General Public License v3.0
Currently, there is no way to edit an external sound's path. BCSAR View should provide a text field to edit external sound paths.
its from Mario Kart 7. citric composer can also not open it.
The Exception:
java.lang.IllegalArgumentException: Unknown entry type in file table!
at com.thane98.bcsarview.core.structs.Info.readFileEntry(Info.kt:182)
at com.thane98.bcsarview.core.structs.Info.readFileTable(Info.kt:172)
at com.thane98.bcsarview.core.structs.Info.<init>(Info.kt:54)
at com.thane98.bcsarview.core.structs.Csar.<init>(Csar.kt:51)
at com.thane98.bcsarview.ui.MainWindowController$openFile$1.invoke(MainWindowController.kt:166)
at com.thane98.bcsarview.ui.MainWindowController$openFile$1.invoke(MainWindowController.kt:26)
at com.thane98.bcsarview.ui.forms.AbstractFormController$performWithWaitingScreen$1.invoke(AbstractFormController.kt:20)
at com.thane98.bcsarview.ui.forms.AbstractFormController$performWithWaitingScreen$1.invoke(AbstractFormController.kt:11)
at kotlin.concurrent.ThreadsKt$thread$thread$1.run(Thread.kt:30)
Right now, if a command for converting from CWAV to WAV has been specified, BCSAR View will always convert to WAV, meaning there's no way to get a CWAV without clearing the setting. Users should be able to dump to either format.
Imported files (most notably CWSDs) have incorrect file sizes. Usually the size they report is larger than the actual file size.
To reproduce, import a sound set and dump it. If you open the file in a hex editor, you will pieces of another file entry at the bottom.
The hex editors for extended sound configs do not commit changes to the backing field. Hex editors should write back immediately after a user makes a change.
Users should be able to create new sound sets, archives, and players.
After inserting an archive or set into FE14's BCSAR, some sound effects (possibly sequences?) stop playing.
Removing sound files from a sound set does not appear to work properly in any circumstance. This bug seems to be present from version 0.1 right up to 0.4.
Steps to reproduce:
Bugs encountered while testing archive and set creation:
These bugs were also encountered when starting from a vanilla BCSAR, so they might not be related to archive and set creation.
The main view should have a status bar with a label that indicates the status of the last operation.
Anonymous archives do not have a name, so users should not be able to edit their names at all.
BCSAR View currently has no logging.
When adding entries to a sound set, sometimes the config will not be updated to the correct position of the sound in the sound set. BCSAR View should ALWAYS update this value so that you don't end up with multiple configs pointing to the same sound.
Once the back end for it is in place, BCSAR View should provide a way for users to edit the contents of a sound set. The user should be able to:
Editing CSAR files such as CWSD and CWAR is still very clunky. Additionally, too much behavior is tied directly to the CSAR class, causing it to become more and more bloated.
Before adding any additional features, we should try to make the back end easier to extend. Proposed changes:
java.lang.IllegalArgumentException: Unexpected item type in sound group.
at com.thane98.bcsarview.core.structs.entries.SoundGroup.buildItemsList(SoundGroup.kt:37)
at com.thane98.bcsarview.core.structs.entries.SoundGroup.<init>(SoundGroup.kt:27)
at com.thane98.bcsarview.core.structs.Info.readGroupTable(Info.kt:148)
at com.thane98.bcsarview.core.structs.Info.<init>(Info.kt:62)
at com.thane98.bcsarview.core.structs.Csar.<init>(Csar.kt:51)
at com.thane98.bcsarview.ui.MainWindowController$openFile$1.invoke(MainWindowController.kt:166)
at com.thane98.bcsarview.ui.MainWindowController$openFile$1.invoke(MainWindowController.kt:165)
at com.thane98.bcsarview.ui.forms.AbstractFormController$performWithWaitingScreen$1.invoke(AbstractFormController.kt:20)
at com.thane98.bcsarview.ui.forms.AbstractFormController$performWithWaitingScreen$1.invoke(AbstractFormController.kt:18)
at kotlin.concurrent.ThreadsKt$thread$thread$1.run(Thread.kt:30)
Game: Daigasso! Band Brothers P
I dumped a sceq file. But how can I import sceq file into a bcsar file?
Hi! I'm trying to run this but I've had no luck thus far. I've tried the OpenJDK 19 runtime for 0.4 alpha and the OpenJDK 8 runtime for 0.3 alpha. They both fail with the following error:
Jan 14, 2024 8:09:45 AM com.sun.javafx.application.PlatformImpl startup
WARNING: Unsupported JavaFX configuration: classes were loaded from 'unnamed module @12ef5ccc'
java.lang.ClassNotFoundException: com.sun.glass.ui.gtk.GtkPlatformFactory
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:527)
at java.base/java.lang.Class.forName0(Native Method)
at java.base/java.lang.Class.forName(Class.java:315)
at com.sun.glass.ui.PlatformFactory.getPlatformFactory(PlatformFactory.java:42)
at com.sun.glass.ui.Application.run(Application.java:144)
at com.sun.javafx.tk.quantum.QuantumToolkit.startup(QuantumToolkit.java:280)
at com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:288)
at com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:160)
at com.sun.javafx.application.LauncherImpl.startToolkit(LauncherImpl.java:658)
at com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:678)
at com.sun.javafx.application.LauncherImpl.lambda$launchApplication$2(LauncherImpl.java:195)
at java.base/java.lang.Thread.run(Thread.java:829)
Failed to load Glass factory class
Exception in thread "main" java.lang.NullPointerException
at com.sun.glass.ui.Application.run(Application.java:144)
at com.sun.javafx.tk.quantum.QuantumToolkit.startup(QuantumToolkit.java:280)
at com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:288)
at com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:160)
at com.sun.javafx.application.LauncherImpl.startToolkit(LauncherImpl.java:658)
at com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:678)
at com.sun.javafx.application.LauncherImpl.lambda$launchApplication$2(LauncherImpl.java:195)
at java.base/java.lang.Thread.run(Thread.java:829)
The requirements and process for using BCSAR View isn't immediately clear. To help people use the program, the wiki should include tutorials over common operations like making a new voice set, adding external sounds, dumping / extracting, etc.
BCSAR View should not allow users to create sounds with names that already exist in the BCSAR. Methods that create new sounds should verify that all new names are not in use before inserting. An exception should be thrown if the name is already in use.
It's difficult to tell what a lot of fields (particularly configs) are used for from the name alone. Tooltips should be added to explain functionality to users.
Several operations should show a waiting indicator while they run to prevent the user from doing anything. Right now, only the main window supports this.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.