|
|
« Reply #15285 on: October 07, 2013, 05:52:02 PM » |
|
I'm trying to update Super Sawndz and I see that RWSDSoundNode is gone. Has it been renamed?
I'm assuming you're the same duderguy who emailed me about this, right? The files you included in that email and said were missing or have errors aren't even used and set to not compile. Just remove them from the solution and compile that shnizzle. RWSDSoundnode is now called WAVESoundNode and in a different spot. SSBB/ResourceNodes/RSAR/File Types/WAVESoundNode.cs You could've looked in RWSDGroupNode's OnPopulate function and found that out yourself (just pointing that out, not saying it in a mean way).
|
|
« Last Edit: October 07, 2013, 05:55:16 PM by Xaj »
|
Logged
|
|
|
|
|
|
|
« Reply #15286 on: October 07, 2013, 07:12:15 PM » |
|
i know this is very vague but since we are talking brsar i got a question would you have any idea why is it that when i use a brsar made by brawlbox, sounds are good using filepatch 4 but when i transfer it to super sawnds and export in groups, one or two sound clips sound very low and weird(in game using RSBE) it happened to that SonicUUU! announcer call btw
|
|
« Last Edit: October 07, 2013, 07:13:48 PM by Don Jon Bravo »
|
Logged
|
|
|
|
|
|
|
« Reply #15287 on: October 07, 2013, 07:27:37 PM » |
|
Since the entire RSAR generated by BB works with the filepatch code and riivo, but some sounds dont work right after they're exported with super sawndz and applied with the sound bank code, I'd guess and say it's most likely a fault with super sawndz or the sound bank code.
That's strange though, because BB regenerates the RSAR exactly like the original, so there should be no reason that only one, if any sounds should be edited by a 3rd party program any different from a default one.
|
|
« Last Edit: October 07, 2013, 07:28:37 PM by Xaj »
|
Logged
|
|
|
|
|
|
|
« Reply #15288 on: October 07, 2013, 07:34:08 PM » |
|
I'm assuming you're the same duderguy who emailed me about this, right? The files you included in that email and said were missing or have errors aren't even used and set to not compile. Just remove them from the solution and compile that shnizzle.
RWSDSoundnode is now called WAVESoundNode and in a different spot. SSBB/ResourceNodes/RSAR/File Types/WAVESoundNode.cs
You could've looked in RWSDGroupNode's OnPopulate function and found that out yourself (just pointing that out, not saying it in a mean way).
Thanks, wasn't aware of how OnPopulate worked. One more question, what else do I need to do to finish replacing a sound BrawlLib.SSBB.ResourceNodes.WAVESoundNode sound = node.GetSoundNode(); //RSARFileAudioNode BrawlLib.SSBB.ResourceNodes.ResourceNode p1, p2, p3; p1 = sound.Parent; //RWSDSoundGroupNode p2 = p1.Parent; //RWSDNode p3 = p2.Parent; //RSARNode sound.Replace( textBoxInputFile.Text ); sound.Parent.Parent.SignalPropertyChange(); sound.Parent.SignalPropertyChange(); It'll bring up the replacement dialog and it seems to work, but the brsar is unchanged. Is there a save function I'm supposed to call?
|
|
|
Logged
|
|
|
|
|
|
|
« Reply #15289 on: October 07, 2013, 08:24:11 PM » |
|
Since the entire RSAR generated by BB works with the filepatch code and riivo, but some sounds dont work right after they're exported with super sawndz and applied with the sound bank code, I'd guess and say it's most likely a fault with super sawndz or the sound bank code.
That's strange though, because BB regenerates the RSAR exactly like the original, so there should be no reason that only one, if any sounds should be edited by a 3rd party program any different from a default one.
i figured i luv using brawlbox to edit my brsar btw thanks im pretty sure many others are not taking advantage of bbox for RSBE purposes, i may make a tutorial though in the future as i have discovered a way to lower file size using bbox for the brsar, i think i mentioned it before to you guys
|
|
|
Logged
|
|
|
|
|
|
|
« Reply #15290 on: October 08, 2013, 06:04:16 PM » |
|
Is there a save function I'm supposed to call?
ResourceNode.Export(string outPath) i figured i luv using brawlbox to edit my brsar btw thanks im pretty sure many others are not taking advantage of bbox for RSBE purposes, i may make a tutorial though in the future as i have discovered a way to lower file size using bbox for the brsar, i think i mentioned it before to you guys
no problem man, I'm glad it's helping you out
|
|
|
Logged
|
|
|
|
|
|
|
« Reply #15291 on: October 08, 2013, 06:36:31 PM » |
|
How is BRRES data handled in BrawlBox?
|
|
|
Logged
|
|
|
|
|
|
|
|
« Reply #15293 on: October 08, 2013, 07:37:48 PM » |
|
Excuse me but, I seem to be getting issues with Brawlbox. It turns out that it won't open SZS files anymore like it used to, so it ends up crashing. I used to open it on Windows 7 32-bit, but after switching to my new laptop, which has 64-bit, I think the issue may lie with 64-bit itself (maybe some sort of compatibility issues?) IDK I'm pretty dumb.
Change Log: - v0.69- (TBA) . Fixed U8 parser/rebuilder
The U8 rebuilder was broken anyway, even when it didn't crash. The parser also had some issues. How is BRRES data handled in BrawlBox?
This is too vague. What part of the process do you want to know, and why?
|
|
|
Logged
|
|
|
|
|
|
|
« Reply #15294 on: October 08, 2013, 07:58:41 PM » |
|
This is too vague. What part of the process do you want to know, and why?
I mean the part where data is saved. Is it rebuilt or saved directly to the file? And I just wanted to know. No reason.
|
|
|
Logged
|
|
|
|
|
|
|
« Reply #15295 on: October 08, 2013, 08:18:22 PM » |
|
I mean the part where data is saved. Is it rebuilt or saved directly to the file? And I just wanted to know. No reason. It's rebuilt and saved as a new file.
|
|
|
Logged
|
|
|
|
|
|
|
« Reply #15296 on: October 09, 2013, 08:55:58 PM » |
|
I'd like to see a feature in the model previewer to give you the position (from the origin) of a bone, given the bone translation/scale/rotation from both the model itself and the selected CHR0 (if any). I actually implemented it into BrawlBox myself, but you might want to do it differently. Here's the method I used if you want to use it: public static Vector3 DerivePostition(MDL0BoneNode startingBone, CHR0Node chr0, bool ignoreModel) { List<MDL0BoneNode> fromBottomUp = new List<MDL0BoneNode>(); ResourceNode curr = startingBone; while (curr is MDL0BoneNode) { fromBottomUp.Add((MDL0BoneNode)curr); curr = curr.Parent; }
Vector3 pos = new Vector3(); foreach (MDL0BoneNode bone in fromBottomUp) { CHR0EntryNode entry = chr0 == null ? null : chr0.FindChild(bone.Name, false) as CHR0EntryNode; AnimationFrame frame = entry != null ? entry.GetAnimFrame(1) : ignoreModel ? new AnimationFrame() : new AnimationFrame(bone.Scale, bone.Rotation, bone.Translation); Matrix mtx = Matrix.TransformMatrix(frame.Scale, frame.Rotation, frame.Translation); pos = mtx.Multiply(pos); } return pos; } I have it running this after you select a new option in the Options menu, then showing the results in a MessageBox. The other feature that would be great for stages is something to make a new 1-frame animation out of any given frame on another animation. I have working code for this using CHR0 and VIS0 - I'll post that once I look through it again.
|
|
|
Logged
|
|
|
|
|
|
|
« Reply #15297 on: October 09, 2013, 09:46:11 PM » |
|
A faster way to do the first request would be to use MDL0BoneNode.FrameMatrix.GetPoint(). To get the positon relative to a parent bone (or any bone, really), use (bone.FrameMatrix * otherBone.InverseFrameMatrix).GetPoint().
For the second one, copy the whole frame and paste it in a new animation?
Why do you want these features? The second one would only cut off a few seconds of work.
The first one might be pretty useful if I added a world transform dialog that displays and converts the world coordinates you input back down to parent local coordinates. I'll probably add that.
|
|
|
Logged
|
|
|
|
|
|
|
« Reply #15298 on: October 10, 2013, 04:29:10 PM » |
|
A faster way to do the first request would be to use MDL0BoneNode.FrameMatrix.GetPoint(). To get the positon relative to a parent bone (or any bone, really), use (bone.FrameMatrix * otherBone.InverseFrameMatrix).GetPoint(). Nice. I figured there had to be an easier way. Can I get it relative to (0,0,0) by replacing otherBone.InverseFrameMatrix with (0,0,0)? For the second one, copy the whole frame and paste it in a new animation?
Why do you want these features? The second one would only cut off a few seconds of work. I'd like to freeze a stage at, say, frame 290, so that every bone is at the position it would be at in frame 290, all the time. This has to be done for every bone in the animation. I haven't found an easy way to do this in BrawlBox yet, but I have a program now that does it on its own. If you don't want to include it, it's no big deal.
|
|
« Last Edit: October 10, 2013, 04:39:09 PM by libertyernie »
|
Logged
|
|
|
|
|
|
|
« Reply #15299 on: October 10, 2013, 05:35:14 PM » |
|
Nice. I figured there had to be an easier way. Can I get it relative to (0,0,0) by replacing otherBone.InverseFrameMatrix with (0,0,0)?
The bone's FrameMatrix is already relative to the origin. I'd like to freeze a stage at, say, frame 290, so that every bone is at the position it would be at in frame 290, all the time. This has to be done for every bone in the animation. I haven't found an easy way to do this in BrawlBox yet, but I have a program now that does it on its own. If you don't want to include it, it's no big deal.
Do you want it to play an animation up to frame 290 and stop? You can just set the animation to last only 290 frames and not loop. Otherwise, like I said, if you want to take an entire frame out of one animation and put it in another, you can use the Copy and Paste buttons under Transform All in the CHR0 editor. You can get click Copy while viewing frame 290, create a new animation by right clicking an already existing animation in the list and choosing "Create New CHR0", then click Paste on frame 1 and you'll have made a new animation with all the bones keyframed in the positions they were at in frame 290. Seems like adding a feature that cuts out a frame and puts it into a new animation would be pretty unnecessary and wouldn't be used most of the time, since there's a quick process that can do that and more already.
|
|
|
Logged
|
|
|
|
|
|