Coder Social home page Coder Social logo

soopercool101 / brawlcrate Goto Github PK

View Code? Open in Web Editor NEW
140.0 11.0 37.0 230.45 MB

BrawlBox/BrawlTools Fork, Wii File Editor

Home Page: https://discord.gg/s7c8763

License: GNU Lesser General Public License v3.0

C# 99.52% Rust 0.39% PowerShell 0.06% Shell 0.03%
nintendo-hacking nintendo-wii wii super-smash-bros-brawl super-smash-bros brawl ssbb

brawlcrate's Introduction

BrawlCrateLib / BrawlCrate

GitHub release GitHub downloads GitHub latest downloads Appveyor build status Codacy Badge Discord

BrawlCrate is a BrawlBox fork with a variety of features aiming to improve ease of modding for Super Smash Bros. Brawl.

BrawlBox and BrawlLib were maintained initially by Kryal, then by BlackJax96, and currently by libertyernie.

BrawlCrate also incorporates a modified version of the Color Smash tool originally by Peter Hatch.

Current BrawlCrate contributors: soopercool101 and Squidgy

Join the Brawl Knowledge Compendium Discord to talk to the developers.

Older versions can be found on the BrawlCrate-deprecated repository.

Documentation for the latest version to be used with the API can be found here.

brawlcrate's People

Contributors

aboood40091 avatar dependabot[bot] avatar gabriela-orzechowska avatar havkt avatar jadedspacies avatar kevinn1109 avatar kitlith avatar libertyernie avatar mierenhoop avatar minon avatar nuclearnecro avatar obluda3 avatar quicklava avatar sammi-husky avatar skmaric avatar soopercool101 avatar squidgy617 avatar stulling avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

brawlcrate's Issues

System.OutOfMemoryException on trying to load a large brsar file

Describe the bug
A System.OutOfMemoryException occurs while trying to load a large (340mb) brsar file (tested on Pokemon Battle Revolution PAL's pbr_sound.brsar)

To Reproduce
Steps to reproduce the behavior:

  1. Download BrawlCrate latest
  2. Open a large brsar file
  3. OutOfMemoryException pops up, loading never completes. Memory is never released

Expected behavior
Load successfully and be able to edit (and replace) sounds.

Screenshots
image

Desktop (please complete the following information):

  • OS: Windows 10
  • Version v0.30c

Additional context
Occasionally the loading does completely successfully, but when trying to save the edited brsar, I get an error saying not enough memory resources are available for this operation.

not entirely sure if I should attach the un-edited brsar for copyright reasons

CLR Animation viewer/editor is cut off at the bottom

Describe the bug
In the model previewer/Advanced Model Editor, selecting the CLR animation type cuts off the bottom of the window

To Reproduce
Steps to reproduce the behavior:

  1. Preview a model that makes use of CLR animations
  2. Expand the left sidebar
  3. Change the animation type to CLR
  4. Observe that the very bottom of the window cuts off halfway through the play button

Expected behavior
The play button (and any content below it) should not be cut off

Screenshots
image

Desktop (please complete the following information):

  • OS: Windows 11
  • Version v0.37

Additional context
Windows compatibility mode did not change anything.
This issue is also present in BrawlBox

This .pac was edited to only contain the model that was displayed in the screenshot
mu_menumain_en.zip

bfstm file will tick

Hello,

I found a bug when playing a bfstm file(I used a file from Zelda breath of the wild Wii U) it will tick
Here is a video what with this bug happening: https://youtu.be/qAcD7cIv1Fs

Thank you for creating this awesome tool and have a good day!
~Max van der Wolf

Indirect texture corruption

Description
Materials with indirect texture get corrupted and don't display correctly or at all.

To Reproduce
Steps to reproduce the behavior:

  1. Create or import a material and his shader with indirect texturing.

Expected behavior
In game, textures are displayed as if there was no indirect texturing or are not displaying correctly with 2 different results depending of the camera angle.
Some hexadecimal values defining the instruction to display the indirect texture are missing in the file after editing. Only a bunch of zero remain after 61 25 00 00 00 61 26 00 at 0x560. Trying to fix it by changing the hex values trow a error in game.

Screenshots
https://imgur.com/a/gaeHi2k

Desktop

  • OS: Windows 10
  • Version: 1909
  • Version of operating system: 18363.1440

Materials.zip

Rendering Animation to gif bug.

I get this error every time I render animation to gif. Is this possible to fix?

Out of memory.
at System.Drawing.Graphics.CheckErrorStatus(Int32 status)
at System.Drawing.Graphics.DrawImage(Image image, Int32 x, Int32 y, Int32 width, Int32 height)
at System.Drawing.Bitmap..ctor(Image original, Int32 width, Int32 height)
at System.Drawing.Bitmap..ctor(Image original)
at BrawlLib.Imaging.GIF.AnimatedGifEncoder.GetImagePixels()
at BrawlLib.Imaging.GIF.AnimatedGifEncoder.AddFrame(Image im)
at BrawlLib.Internal.Windows.Controls.ModelViewer.MainWindowBase.ModelEditorBase.RenderToGIF(List`1 images, String path)
at BrawlLib.Internal.Windows.Controls.ModelViewer.MainWindowBase.ModelEditorBase.StopAnim()
at BrawlLib.Internal.Windows.Controls.ModelViewer.MainWindowBase.ModelEditorBase._timer_RenderFrame(Object sender, FrameEventArgs e)
at BrawlLib.Internal.CoolTimer.OnRenderFrame(FrameEventArgs e)
at BrawlLib.Internal.CoolTimer.RaiseRenderFrame()
at BrawlLib.Internal.CoolTimer.Run(Double updatesPerSec, Double framesPerSec)
at BrawlLib.Internal.Windows.Controls.ModelViewer.MainWindowBase.ModelEditorBase.PlayAnim()
at BrawlLib.Internal.Windows.Controls.ModelViewer.MainWindowBase.ModelEditorBase.TogglePlay()
at BrawlCrate.UI.Model_Previewer.ModelEditControl.ModelEditControl.btnExportToAnimatedGIF_Click(Object sender, EventArgs e)
at System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e)
at System.Windows.Forms.ToolStripMenuItem.OnClick(EventArgs e)
at System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e)
at System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e)
at System.Windows.Forms.ToolStripItem.FireEventInteractive(EventArgs e, ToolStripItemEventType met)
at System.Windows.Forms.ToolStripItem.FireEvent(EventArgs e, ToolStripItemEventType met)
at System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea)
at System.Windows.Forms.ToolStripDropDown.OnMouseUp(MouseEventArgs mea)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
at System.Windows.Forms.ToolStrip.WndProc(Message& m)
at System.Windows.Forms.ToolStripDropDown.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

Trying to Export the Unity Animation Format to the BrawlBox;BrawlCrate Animation Format

Using Blender (v2.93.5), I imported the Unity FBX format (the 3DS Pokemon format) into Blender. Here is the skeletal character. When I pushed the "play" button, you will see that the skeletal character does have the animation file.

clip0002

But, I have to export the skeletal animation format that I saw in Blender to the BrawlBox;BrawlCrate animation format. And, I did export that skeletal animation format to the Blender FBX format.

I put the Blender FBX format in BrawlCrate (v0.37), and it did not work.

You do not see the Blender FBX format. Because, I did put the Blender FBX format in BrawlCrate.

image

https://www.dropbox.com/s/a6j00grnl70w5qo/Leavanny_Blender%20%28Container%29.7z?dl=0

When I looked at the Export format section, it appeared that none of these formats are supported to converting that skeletal Unity FBX format into the BrawlBox;BrawlCrate animation format.

image

Even when I did export that skeletal Unity FBX format into the BrawlBox;BrawlCrate animation format, it is still no use.

When I did do some research, none of those addons are there for Blender to convert the skeletal Unity FBX format into the BrawlBox;BrawlCrate animation format.

Animation editor tools are completely broken

Describe the bug
When editing character animations using the "Advanced" Model Editor, the editing tools (translation, rotation, scale) are incredibly bugged.

When using the translation tool, 90% of the time you try to move something, instead of just moving it to where your mouse is, the selected part will glitch out and fly thousands of units away. Even the smallest of mouse movements will do this.

The rotation tool is incredibly hard to click on. Sometimes I have to spend 10+ seconds just trying to click on the rotation wheel since it will only let me click on a few pixels (I have the program fullscreened on a 1080p monitor).

Trying to actually use the rotation tool is a whole other issue:
-Clicking on a single rotation axis will sometimes freely rotate even though I clearly didn't select the free rotate option. This happens most often with the blue rotation wheel.
-The rotation tool also has a similar issue to the translation tool, as it will rotate the selected item incredibly fast at the smallest mouse movement.
-In order to make it work normally, you have to rotate the camera and position it at the perfect spot, which takes me about 20 seconds to find. This also works with the translation tool.

I don't use the scale tool, so I don't have any bug to report there, but I imagine it's probably fcked as well.

Finally, BrawlCrate will crash at any given moment. This isn't very common, but it's happened to me at least 10 times so far. At any given moment, the window will freeze, the blue mouse wheel will pop up, and 3 seconds later BrawlCrate closes, wiping all my progress.

To Reproduce
Steps to reproduce the behavior:

  1. Import any .szs file with animation into Brawlcrate (I'm editing a MKWii vehicle file)
  2. Preview the model (this enters the Advanced Model Editor)
  3. Do the things I explained

Expected behavior
It should just work normally lmao

Desktop (please complete the following information):

  • OS: Windows 10
  • Version v0.40a

Skyward sword HD Texture Loading Issue

Describe the bug
Skyward Sword HD files having issue being read.

To Reproduce
(Pack extracted from XCI With Hactoolnet)

  1. Open the ObjectPack.arc
  2. For examle i used Alink.arc. the models seem to load just fine for most of em. But checking the textures a bunch of em are 1 pixel sized or black. Most effect textures are still in tact.

Expected behavior
Textures to be readable.

Screenshots
image

Desktop (please complete the following information):

  • OS: Windows 10
  • Version V0.40a (Occured in older oversions too)

Additional context
This is just a guess but i wouldnt be supriced if they added a couple of other texture formats into the files. Either that or the header/footer being different.

Please attach any relevant files you were working on.

Alink.zip

Error when replacing tex0 using BRRES.CreateResource() in python

Im attempting to automate a bit of work with python

First I create a tex0 resoucenode with (I get miscdat70 earlier in the script):
new = miscdat70.CreateResource[BrawlLib.SSBB.ResourceNodes.TEX0Node]("TEX0Node")

Then I attempt to add a png to it with
new.Replace(pngpath)

Then this error is thrown. Clicking apply ends up actually applying the texture but I cant really automate it any
further when it errors

System.ArgumentOutOfRangeExeption

Value of '0' is not valid for 'Value'. 'Value' should be between 'Minimum' and 'Maximum'.
Parameter name: Value
at System.Windows.Forms.NumericUpDown.set_Value(Decimal value)
at BrawlLib.Internal.Windows.Forms.TextureConverterDialog.OnShown(EventArgs e)
at System.Windows.Forms.Form.CallShownEvent()
at System.Windows.Forms.Control.InvokeMarshaledCallbackDo(ThreadMethodEntry tme)
at System.Windows.Forms.Control.InvokeMarshaledCallbackHelper(Object obj)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, >Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean >preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Windows.Forms.Control.InvokeMarshaledCallback(ThreadMethodEntry tme)
at System.Windows.Forms.Control.InvokeMarshaledCallbacks()

[Feature Request] Have "Export Selected" prompt if it should overwrite an existing file

Is your feature request related to a problem? Please describe.
Currently, when you select a bunch of files (such as a bunch of .TPLs in a .ARC) and export them to a folder, if any of the files happen to already exist in the destination folder, BrawlCrate will just silently overwrite them with zero indication or user feedback that it's done this. This isn't particularly great, as many other programs with export or file-writing functions will prompt you if it wants to overwrite an existing file.

Describe the solution you'd like
Check if the currently-exporting file already exists, and if it does, pop up a window asking if it should be overwritten, with options of "Yes" (just overwrite it) and "No" (skip the file and move on to the next one).

I think there should also be some form of "Keep Both" option in the prompt, where the newly-exported file would have something added to it as a a suffix (e.g. you're exporting a file called foobar.png, and if you select "Keep Both" it exports as foobar-01.png instead), and a "Do this for all exports" setting (either in the window or in BrawlCrate's preferences), which is fairly self explanatory.

Essentially, think: the functionality from the Windows "Copy File" window (assuming that we can't just directly use that window using some sort of Windows API call, at least for Windows builds of BrawlCrate):
image

Dark Mode

Is your feature request related to a problem? Please describe.
My eyes burn whenever I use this for a long period of time

Describe the solution you'd like
A simple dark mode

Can't convert wav file to BRSTM without having to shorten it because windows forms is not happy with a big number.

Describe the bug
Windows Forms is not happy with 6154520.

To Reproduce
Steps to reproduce the behavior:

  1. Go to 'File'
  2. Hover on 'New'
  3. Click on 'BRSTM Audio Stream'
  4. Open Rainbow Road (Restored) - Super Mario Kart.wav downloaded from here
  5. See error

Expected behavior
Successfully load the file and let the user to their thing.
See attached screenshot

Screenshots
image

Desktop (please complete the following information):

  • OS: Windows 10 21H2
  • Version v0.38

Crash Log

Value of '6154520' is not valid for 'Value'. 'Value' should be between 'Minimum' and 'Maximum'.
Parameter name: Value 
   at System.Windows.Forms.NumericUpDown.set_Value(Decimal value)
   at BrawlLib.Internal.Windows.Forms.BrstmConverterDialog.LoadAudio(String path)
   at BrawlLib.Internal.Windows.Forms.BrstmConverterDialog.OnShown(EventArgs e)
   at System.Windows.Forms.Form.CallShownEvent()
   at System.Windows.Forms.Control.InvokeMarshaledCallbackDo(ThreadMethodEntry tme)
   at System.Windows.Forms.Control.InvokeMarshaledCallbackHelper(Object obj)
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Windows.Forms.Control.InvokeMarshaledCallback(ThreadMethodEntry tme)
   at System.Windows.Forms.Control.InvokeMarshaledCallbacks()

Additional context
Workaround: Shorten the song enough.

and listen to this masterpiece
also the file in the screenshot is also a masterpiece
listen to it

  • Please attach any relevant files you were working on.

Shaders won't get stored in file when exporting/importing

Describe the bug
I am trying to edit the course file of a mario kart wii track, I'll export as dae and reimport without having made any chances. shaders and materials are lost in the process
if i want to reimport the materials all shader information is gone and needs to be manually set to the original value

To Reproduce
Steps to reproduce the behavior:

  1. Open course_model.brres file of any mario kart wii track (e.g. https://wiki.tockdom.com/wiki/Area_64)
  2. Export material course_model.brres > 3DModels(NW4R) > course > Materials > dash_panel as dash_panel.mdl0mat
  3. Export course.mdl0 as course.dae
  4. replace course.mdl0 with exported course.dae
  5. import asset > material > dash_panel.mdl0mat
  6. shader information is gone

Expected behavior
original shader information should be restored

Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

  • OS: Windows 8
  • Version v0.39 Hotfix 1

Additional context
Would be great to have an option to export all materials shaders beforhand and import/restore them all at once. otherwise we will have to manually compare and edit those values

I have tried using this plugin but it doesn't seem to work properly anymore:
https://github.com/zach-zajack/matshader-replace

  1. BrawlCrate will crash if there are errors in the brres file (e.g. https://wiki.tockdom.com/wiki/Grassy_Plains)
  2. materials and shaders will not be added/replaced at allhttps://wiki.tockdom.com/wiki/Grassy_Plains

is the api still correct and could be used as a temporary workaround?
image

Brres inside Brres (external folder problem)

Hello ! Brawlcrate is unable to save
any edit to Mario Sports Mix files (because they have a folder named "external" that contains one or several brres ).
Nobody wants to help me with this problem :(
I tried myself through hex editor but without success....
Also, it crashes when opening "external " folder for stages.

Brawlcrate is saying :
| Unable to cast an object of type
'BrawlLib.SSBB.ResourceNodes.BRRESNode' in type
'BrawlLib.SSBE.ResourceNodes.BRESEntryNode' .

can you help me, please?
I shared some file examples.
a.zip
^
If you need to contact me you can here, or through discord (yosh#0304) or on my mail address ([email protected]).

With HUGE THANKS in advance, thank you a lot!

Licensing update

Do you know if the code prior to when I took over BrawlBox was MIT licensed? I don't remember there being a license file. I think I made my own code available under MIT (if not, then I'll do so now) but I can't speak to anyone who worked on it before me.

Texture importing includes .tex0 extension

When mass-importing tex0 files to a brres archive, the tool includes the tex0 extension in the name of all textures. This is unwanted behaviour, as they will have to be fixed manually, which takes a lot of time.

The alternative, importing textures without extension, makes a window pop-up to re-encode the textures, which is unwanted as well.

It would be great if the extension of imported files is discarded in the names inside the brres.

Editting Particle Nodes for REFF destroys the REFT references in the particle node

Describe the bug
When a Particle Node is edited in any way. The REFT texture references in the Particle Node will be deleted when the file is saved.

To Reproduce
Steps to reproduce the behavior:

  1. Open a REFF's Particle Node
  2. Make any change.
  3. Save
  4. See error in the binary preview

Expected behavior
Previously, Particle nodes would maintain the REFT textures when saved.

Screenshots
If applicable, add screenshots to help explain your problem.
BEFORE

AFTER SAVE

AFTER TYPING THE TEXTURE NAME INTO THE "Texture1Name" INTO THE PARTICLE PARAMETERS AND SAVING

Desktop (please complete the following information):

  • OS: [Windows 10]
  • Version [Canary #9cdd787]

Crash Log

Additional context

Please attach any relevant files you were working on.

won't start up

so, i'm visual studio 2017 to try and start up the program but i keep getting a message about some missing debug profile or something.

at some point it would be possible to play the .seq and .mot files

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

Describe the solution you'd like
A clear and concise description of what you want to happen.

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
Add any other context or screenshots about the feature request here.

i'm confused with this error

Screenshot (407) not sure what the heck even happened, i don't know how it happened, but this error came up, any help would be appreciated cause i'm new to using brawlcrate

Make BrawlCrate more Crossplatform

Is your feature request related to a problem? Please describe.
Currently this tool is locked to Windows only, due to it relying heavily on .NET Framework and Windows Forms.

Describe the solution you'd like
Make it possible to use this on Linux/MacOS. This would require:

  • Using .NET Core for BrawlCrate and preferably .NET standard for BrawlLib
  • Using a different UI Framework that is cross-platform

For what it's worth, I currently cannot use WINE nor MONO on Linux. Haven't tested anything on Mac.
Wine crashes with the following on boot:

Crash message
Unhandled Exception:
System.TypeInitializationException: The type initializer for 'BrawlCrate.Program' threw an exception. ---> System.IndexOutOfRangeException: Index was outside the bounds of the array.
  at System.Configuration.CustomizableFileSettingsProvider.CreateUserConfigPath () [0x0012c] in <0c924620d2cd4b85a989ca168d44cf08>:0 
  at System.Configuration.CustomizableFileSettingsProvider.CreateExeMap () [0x0000b] in <0c924620d2cd4b85a989ca168d44cf08>:0 
  at System.Configuration.CustomizableFileSettingsProvider.GetPropertyValues (System.Configuration.SettingsContext context, System.Configuration.SettingsPropertyCollection collection) [0x00000] in <0c924620d2cd4b85a989ca168d44cf08>:0 
  at System.Configuration.LocalFileSettingsProvider.GetPropertyValues (System.Configuration.SettingsContext context, System.Configuration.SettingsPropertyCollection properties) [0x00000] in <0c924620d2cd4b85a989ca168d44cf08>:0 
  at System.Configuration.ApplicationSettingsBase.CacheValuesByProvider (System.Configuration.SettingsProvider provider) [0x0005b] in <0c924620d2cd4b85a989ca168d44cf08>:0 
  at System.Configuration.ApplicationSettingsBase.set_Item (System.String propertyName, System.Object value) [0x00058] in <0c924620d2cd4b85a989ca168d44cf08>:0 
  at BrawlCrate.Properties.Settings.set_UpdateSettings (System.Boolean value) [0x00000] in <601f7ccf9aef49e9a0bfdce9979dc368>:0 
  at BrawlCrate.Program..cctor () [0x00146] in <601f7ccf9aef49e9a0bfdce9979dc368>:0 
   --- End of inner exception stack trace ---
[ERROR] FATAL UNHANDLED EXCEPTION: System.TypeInitializationException: The type initializer for 'BrawlCrate.Program' threw an exception. ---> System.IndexOutOfRangeException: Index was outside the bounds of the array.
  at System.Configuration.CustomizableFileSettingsProvider.CreateUserConfigPath () [0x0012c] in <0c924620d2cd4b85a989ca168d44cf08>:0 
  at System.Configuration.CustomizableFileSettingsProvider.CreateExeMap () [0x0000b] in <0c924620d2cd4b85a989ca168d44cf08>:0 
  at System.Configuration.CustomizableFileSettingsProvider.GetPropertyValues (System.Configuration.SettingsContext context, System.Configuration.SettingsPropertyCollection collection) [0x00000] in <0c924620d2cd4b85a989ca168d44cf08>:0 
  at System.Configuration.LocalFileSettingsProvider.GetPropertyValues (System.Configuration.SettingsContext context, System.Configuration.SettingsPropertyCollection properties) [0x00000] in <0c924620d2cd4b85a989ca168d44cf08>:0 
  at System.Configuration.ApplicationSettingsBase.CacheValuesByProvider (System.Configuration.SettingsProvider provider) [0x0005b] in <0c924620d2cd4b85a989ca168d44cf08>:0 
  at System.Configuration.ApplicationSettingsBase.set_Item (System.String propertyName, System.Object value) [0x00058] in <0c924620d2cd4b85a989ca168d44cf08>:0 
  at BrawlCrate.Properties.Settings.set_UpdateSettings (System.Boolean value) [0x00000] in <601f7ccf9aef49e9a0bfdce9979dc368>:0 
  at BrawlCrate.Program..cctor () [0x00146] in <601f7ccf9aef49e9a0bfdce9979dc368>:0 

While mono crashes as soon as I open a file:
image

PAT0 problem

Description of Bug:
When I change an animation texture list, no matter what texture the bottom frame index in an animation texture section is set to, when I tell the program to save the ARC file, it always automatically sets the the bottom frame index texture to the texture on the top of the list of the textures in the "PAT0 Texture Entry" settings section, then saves, and I only see it the next time I open the file.

To Reproduce
Steps to reproduce the behavior:

  1. Change the list in, say, "D:\stuff\Wii Modding\New Super Mario Bros. Wii\NSMBWMV\DATA\files\MovieDemo\KDB.arc\g3d\model.brres\AnmTexPat(NW4R)\000_030KDB0\mat_player_eye\Texture0" for instance
  2. Click on "File: Save"
  3. Close the ARC file
  4. Go to "File: Open..."
  5. Click on "D:\stuff\Wii Modding\New Super Mario Bros. Wii\NSMBWMV\DATA\files\MovieDemo\KDB.arc"
  6. Scroll down to "KDB.arc\g3d\model.brres\AnmTexPat(NW4R)\000_030KDB0\mat_player_eye\Texture0"
  7. See error

Expected Behavior:
I want the bottom frame index texture in an animation texture section to remain the same when I save the ARC file.

Example Screenshots:
Capture

Desktop:

  • OS: Windows 10
  • Version 22H2

Crash Log
There was no crash report.

Additional Context
Here are some relevant files I was working on when that happened:
โ€ชD:\stuff\Wii Modding\New Super Mario Bros. Wii\NSMBWMV\DATA\files\MovieDemo\KDB.arc;
D:\stuff\Wii Modding\New Super Mario Bros. Wii\NSMBWMV\DATA\files\MovieDemo\KYB.arc;
D:\stuff\Wii Modding\New Super Mario Bros. Wii\NSMBWMV\DATA\files\MovieDemo\KBB.arc;
D:\stuff\Wii Modding\New Super Mario Bros. Wii\NSMBWMV\DATA\files\Object\Kinopio.arc

Problems with Textures on some Models

Describe the bug
I open up brawlcrate, everything seems to be in working order, I open any Wario models, I open him in advanced editor and he looks like in the screenshots. Most models works aside from Project M waluigi. Clicking on the texture tab aka the metal texture and turning it off. All of the tetxures aren't there.

To Reproduce
Steps to reproduce the behavior:

  1. Literally open brawlcrate
  2. Get Wario or Project M Waluigi and custom models of Wario
  3. Advanced Editor
  4. Problem

Expected behavior
I expected the textures to APPEAR!

Screenshots
If applicable, add screenshots to help explain your problem.

WAHHHH
tophatWAH
ProjectWAH

Desktop (please complete the following information):

  • Windows 10
  • Literally i re updated it to the newest verison aka v0.36b

Crash Log
If there was a crash report, please submit it and include a link to the relevant issue from BrawlCrateIssues.

Additional context
Add any other context about the problem here.

Please attach any relevant files you were working on.

Crashes when attempting to make a brstm with wav file that has 8 channels

Im trying to make a brstm with 8 channels, but when i import the wav file used, it instantly crashes. here is the crash log:

Value does not fall within the expected range.
at BrawlLib.Platform.Win32.DirectSound.IDirectSound8.CreateSoundBuffer(DSBufferDesc& pcDSBufferDesc, IDirectSoundBuffer8& ppDSBuffer, IntPtr pUnkOuter)
at BrawlLib.Internal.Audio.wAudioBuffer..ctor(wAudioProvider parent, DSBufferDesc& desc)
at BrawlLib.Internal.Audio.wAudioProvider.CreateBuffer(IAudioStream target)
at BrawlLib.Internal.Windows.Forms.BrstmConverterDialog.LoadAudio(String path)
at BrawlLib.Internal.Windows.Forms.BrstmConverterDialog.OnShown(EventArgs e)
at System.Windows.Forms.Form.CallShownEvent()
at System.Windows.Forms.Control.InvokeMarshaledCallbackDo(ThreadMethodEntry tme)
at System.Windows.Forms.Control.InvokeMarshaledCallbackHelper(Object obj)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Windows.Forms.Control.InvokeMarshaledCallback(ThreadMethodEntry tme)
at System.Windows.Forms.Control.InvokeMarshaledCallbacks()

[Feature Request] brseq player, manager maybe even wav exporter

Is your feature request related to a problem? Please describe.
BrawlCreate would be way more helpful if this was a thing, however what brings it down is the incapability to play these, games like WarioWare Smooth Moves have a lot of the data stored in brseqs, and it always fustrates me working with games like Mario Galaxy and not being able to play a lot of files. Additionally, finding seqs in the left brsar browser isn't that useful, while it does give the index, it tries to export it as wav but fails each time.

Describe the solution you'd like
What I'd like is maybe having some sort of way for BrawlCreate to play them, or be able to export the banks (as sf2) and brseqs (as midi) at least, this is the perfect tool for the job.

Describe alternatives you've considered
The only other thing that tries is brseq2midi which doesn't have much of an interface, the problem is that it doesn't work for some seqs (like the SPEEDUP theme from Smooth Moves), and it wouldn't do the banks either. It hasn't been updated in years either however, with BrawlCreate's bank player they could be done in a better way.

Can't open .brsar file from Dance Dance Revolution Hottest Party 5

Describe the bug
I tried to open the file in the program and after seconds of loading it gave me a error window and it didn't loaded anything.

To Reproduce
Steps to reproduce the behavior:

  1. Select File and then select Open
  2. Select DDRHP5_SOUND.brsar and load it
  3. Wait
  4. See error

Expected behavior
To open like a normal .brsar from other games.

Screenshots
image

Desktop (please complete the following information):

  • OS: Windows 10
  • Version v0.40, Canary #b100425c3

Link to the .brsar file: https://drive.google.com/file/d/1JgB--FE7JJ92CZPtAG85i4Rc7fHBFUZl/view?usp=sharing

[Feature Request] Ability to Mass Export textures in PNG from cmpres and cmparc files

As things currently are, if you want to export textures from cmpres or cmparc file, you have to manually do so, 1 by 1, for each cmpres and cmparc file you want to extract from. In my case, I have hundreds of cmpres and cmparc files that I wish to rip textures from, since we need the textures for some projects we want to work on, and it would be nice to have an option to export everything, which currently doesn't seem to exist, within the tool. Currently, when you select a massive amount of cmpres or cmparc files, you only get the option to export to different archive formats, with no option for handling the contents within. (an example of this is the export option for cmparc files, offering options for .arc, .szs, and pac, but no option for actually exporting the contents within the file)

Unable to replace sounds in RBNKs and RWSDs.

The file containing these is Sp2Snd.brsar from Wii Sports Resort.

I wasn't able to submit an issue using the reporter, so I'll include the log here (this is when I tried the RBNK, but the same seems to happen for the RWSD):

Unable to cast object of type 'BrawlLib.SSBB.ResourceNodes.RBNKDataRangeTableNode' to type 'BrawlLib.SSBB.ResourceNodes.RBNKDataEntryNode'. 
   at BrawlLib.SSBB.ResourceNodes.RBNKTableNode.OnCalculateSize(Boolean force)
   at BrawlLib.SSBB.ResourceNodes.ResourceNode.CalculateSize(Boolean force)
   at BrawlLib.SSBB.ResourceNodes.RBNKDataGroupNode.OnCalculateSize(Boolean force)
   at BrawlLib.SSBB.ResourceNodes.ResourceNode.CalculateSize(Boolean force)
   at BrawlLib.SSBB.ResourceNodes.RBNKNode.OnCalculateSize(Boolean force)
   at BrawlLib.SSBB.ResourceNodes.ResourceNode.CalculateSize(Boolean force)
   at BrawlLib.Wii.Audio.RSARConverter.CalculateSize(RSAREntryList entries, RSARNode node)
   at BrawlLib.SSBB.ResourceNodes.RSARNode.OnCalculateSize(Boolean force)
   at BrawlLib.SSBB.ResourceNodes.ResourceNode.Rebuild(Boolean force)
   at BrawlLib.SSBB.ResourceNodes.ResourceNode.Merge(Boolean forceBuild)
   at BrawlCrate.Program.Save(Boolean showMessages)
   at BrawlCrate.UI.MainForm.saveToolStripMenuItem_Click(Object sender, EventArgs e)
   at System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e)
   at System.Windows.Forms.ToolStripMenuItem.OnClick(EventArgs e)
   at System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e)
   at System.Windows.Forms.ToolStripItem.FireEventInteractive(EventArgs e, ToolStripItemEventType met)
   at System.Windows.Forms.ToolStripItem.FireEvent(EventArgs e, ToolStripItemEventType met)
   at System.Windows.Forms.ToolStripMenuItem.ProcessCmdKey(Message& m, Keys keyData)
   at System.Windows.Forms.ToolStripManager.ProcessShortcut(Message& m, Keys shortcut)
   at System.Windows.Forms.ToolStripManager.ProcessCmdKey(Message& m, Keys keyData)
   at System.Windows.Forms.ContainerControl.ProcessCmdKey(Message& msg, Keys keyData)
   at System.Windows.Forms.Form.ProcessCmdKey(Message& msg, Keys keyData)
   at System.Windows.Forms.Control.ProcessCmdKey(Message& msg, Keys keyData)
   at System.Windows.Forms.ContainerControl.ProcessCmdKey(Message& msg, Keys keyData)
   at System.Windows.Forms.Control.ProcessCmdKey(Message& msg, Keys keyData)
   at System.Windows.Forms.Control.ProcessCmdKey(Message& msg, Keys keyData)
   at System.Windows.Forms.ContainerControl.ProcessCmdKey(Message& msg, Keys keyData)
   at System.Windows.Forms.Control.ProcessCmdKey(Message& msg, Keys keyData)
   at System.Windows.Forms.Control.ProcessCmdKey(Message& msg, Keys keyData)
   at System.Windows.Forms.ContainerControl.ProcessCmdKey(Message& msg, Keys keyData)
   at System.Windows.Forms.Control.ProcessCmdKey(Message& msg, Keys keyData)
   at System.Windows.Forms.Control.PreProcessMessage(Message& msg)
   at System.Windows.Forms.Control.PreProcessControlMessageInternal(Control target, Message& msg)
   at System.Windows.Forms.Application.ThreadContext.PreTranslateMessage(MSG& msg)

[Feature Request] Export and Replace LightSets, AmbLights, Lights, Fogs and Camera as CSV?

Can you add a feature for BrawlCrate where we can export and Replace LightSets, AmbLights, Lights, Fogs and Camera as CSV so that we can edit them and put them back? Here are some samples of csv.

SCN0
13 Stage Light 0-1 enabled.csv
14 Stage Light 0-1 angle.csv
15 Stage Light 0-1 color.csv
16 Stage Light 0-2 enabled.csv
17 Stage Light 0-2 angle.csv
18 Stage Light 0-2 color.csv
19 Stage Light 0-3 enabled.csv
20 Stage Light 0-3 angle.csv
21 Stage Light 0-3 color.csv

An Unexpected Crash in BrawlCrate (v0.37)

Description
When I opened BrawlCrate (v0.37), I opened the animation file, I clicked the animation file, and a crash happened. So, BrawlCrate (v0.37) closes itself.

To Reproduce
Steps to reproduce the behavior:
Import the animation file.

Expected Behavior
Click on the animation file, so it will be used.

Screenshots
image

Desktop (please complete the following information):

  • OS: Windows 10 (64-bit)
  • Version: 10.0.19041.1052

This is the animation file that made BrawlCrate (v0.37) closes itself.
Hide1.zip

BrawlCrate.exe.760.dmp.zip

.TPL texture replacement

Me and a few others are working on Bomberman Wii JP Translation mod a lot of the work is done but whenever we modify a .arc which has .tpl inside after replace the textures necassary and saving the .arc it turns out a lot of Null data is being produced in the saved version which wasn't there tobegin with as a test
I used original sy03.arc and saved it as test.arc I opened it to see if Null data was being added which It saved perfectly fine.

2nd test loaded same .arc and replaced 1 texture file and saved as test2.arc when loading theres many Null files been saved inside
I have attatched 2 screenshots and truly hope this could be fixed I could upload a .arc unmodified if needed for testing but where working in this as it has a exclusive story mode and no other tools i've found are as good or as near as good

if it helps im using Windows11 and my computer is fully up to date
system specifications if needed are
i9 10850k, RTX3090, 32GB Ram, 2x 1TB 980 Pro NVME drives
Screenshot 2023-05-04 203300
Screenshot 2023-05-04 203342

U8 Archive folder structure is occasionally saved incorrectly

Describe the bug
U8 Archive folder structure is occasionally saved incorrectly, which causes crashes in the games.

Screenshots
Example: Archive's folder structure of MKWii track got completely destroyed (First file, the second shows how the folders should look like)
image

However the archive looks "correctly" in BrawlCrate itself after saving.
This causes a lot of issues mainly among MKWii creators.

(Additional report) .brasd files do not get names from string pool correctly

BrawlCrate stops working trying to save an cmp

I'm trying to make a modpack of Kirby's return to dreamland by replacing various textures but brawlcrate simply crashes when i try to save cmp files

  1. Go to 'File'
  2. Click on 'Open'
  3. Open 'Doo.brres.cmp'
  4. Replace 'ChDooBody' texture and press 'Okay'
  5. Go to 'File'
  6. Click on 'save'
  7. See error

image
image
image

  • OS: Windows 10
  • Version v0.38

Doo.brres.zip

The White Image Stuff Appear on a PMD Stage Model in BrawlCrate (v0.37)

I use BrawlCrate (v0.37).

The shaders are off, because I am not using any shaders.

image

I imported a PMD stage model, and this is what it looks like.

image

The whole stage model that I am looking at does not look right. The errors that I am seeing is the white image stuff that gets in the way.

I use Microsoft Windows (Version 10.0.19043.1237).

image

Target vertex sets become <null> in SHP0 v4

Describe the bug
When creating a version 4 vertex morph (SHP0) entry, any and all target vertex sets become null after saving and reopening the BRRES file. This causes the game to crash (in this case I'm using MKWii)

To Reproduce
Steps to reproduce the behavior:

  1. Create an SHP0 entry in a BRRES file, make it v4.
  2. Add a new entry to the SHP0 which will create a NewNode and a NewMorphTarget
  3. No matter what, the NewMorphTarget will become null after saving and reopening the file with BrawlCrate.
  4. Testing the BRRES crashes the game.

Expected behavior
The NewMorphTarget should keep the reference to the desired target vertex set.

Screenshots
As you can see, the SHP0 is properly set up and BrawlCrate can even show the animation
image
image
image
However, upon saving and reopening, the target vertex set (in this case it was called "target") is now null
image

Desktop (please complete the following information):

  • Windows 11
  • BrawlCrate v0.38

Additional context
This bug is also present in the last version of BrawlBox, which seems to indicate that it's an old bug that has never been addressed.

[https://drive.google.com/file/d/1MoeNE5NI5TH3Nq99RSyQQwA7qvVnRpDn/view?usp=sharing](Example file)

Crash upon loading certain MDL0s

Some MDL0 files will just completely crash the program with no error report, I've heard the culprit is CTools, which is an older Mario Kart Wii modding tool, and the brres files containing the MDL0s load perfectly fine in that tool, but with both BrawlBox and BrawlCrate, the program will just go unresponsive upon clicking the MDL0 at all, it can occasionally be fixed (usually by using Open Template), but it seems to be completely random if that works or not, I can attach a corrupted and working brres that have very similar mdl0s when I get home if needed

Saving results in creating hundreds of nulls?

I was trying to mod Wii sports, I'm just replacing pictures and for some reason randomly (first time happened while trying to edit the UI) it's just created a bunch of nulls when I closed and saved? this increased the CARC file by 200/300 bytes. And when I try to delete them and save that just results in even more. And if it wasn't obvious, the game don't get past the main screen. this happens randomly i think. I'm new to the modding scene and need some help.

Steps to reproduce the behavior:

  1. Edit and save any file.
  2. Open the file again and get welcome to 50 to 100 nulls

i'll attach a picture but i don't think it will be necessary.

image_2023-08-30_001239861

**Desktop

  • OS: Windows 10
  • Version v0.40a

No crash logs, since this isn't a crash.

If I need to provide any more information, please tell. I'm new to this kind of stuff and don't have much experience, I just watched a guide on YouTube. (following a guide on YouTube is foolish i know, guides on YouTube can be outdated)

I'll also attach the following file that I have the problem with

RPBowScene.zip

Not able to handle large BRSAR's

Hi I'm new here and i decided to bring up this issue to you since you created this and I thought this might give you some idea but I've had this issue since BrawlBox and I thought maybe you can help me out but I have been using BrawlCrate and BrawlBox to modify the DanceDanceRevolution BRSAR files Since that is where the music is injected and used the replace sound option. After replacing and trying to save I get this
https://imgur.com/57kbYLx
I assume it is not able to handle the large amount of process

As for DanceDanceRevolution II BRSAR it will not open at all, I'm guessing due to it's large filesize
https://imgur.com/zboTeGB

Files won't save

So previously, i was able to edit mkwii files no errors; however as of 4th November, an error occurs "Object reference not set
image
to instance of an object" Could you please fix... I'll revert to the older versions for now.

[MKWII] Imported models rapidly degrade over time + Animations not working

Describe the bug
Whenever I import a model to a Mario Kart Wii character file, some vertexes are always a bit off. When you open it again, it gets worse.
To Reproduce
Steps to reproduce the behavior:

  1. Open an MKWii Character SZS file and swap a model.
  2. Preview it and play some (maybe broken) animations
  3. Close it
  4. Wait for a few hours
  5. Open it again
  6. The model you swapped should (somewhat) explode.

Expected behavior
I know computer files degrade but it shouldn't be this rapid.
This wasn't my first time experiencing this problem with MKWii Files.

Screenshots
BrawlCrate v0 40 - C__Paw_Patrol_Marshall_msh_wii_mdf_kart-lg szs 7_5_2023 8_07_15 PM
BrawlCrate v0 40 - Advanced Model Editor - model 7_5_2023 3_07_43 PM

Desktop

  • OS: Windows 11 Victus HP gaming laptop, Version v0.40

Additional context
By "X not working", I meant "model explodes while doing X"

Was working on this:
msh_wii.zip

If I were to be honest it is a little bit funny but it's just annoying when you're working on something serious.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.