Open BrawlBox/Lib Development Thread
Summary
BrawlBox has become an essential tool for Brawl hacking. Kryal, the creator of BrawlBox, is taking a break and he won't be updating it until he returns. However, he left us its source. I decided I want to work together with other coders to improve BrawlBox and BrawlLib. Hopefully we will be able to help each other and learn from each other.
Purpose of this thread
- Improving BrawlBox/Lib
- Training of C# developers(including me)
- (Making a reference of BrawlLib)
Rule
- If you are interested in helping and are planning on learning C#, tell me and I'll add you to the list of programmers as a C# learner.
- Inform me of when you post codes for the first time.
- Leave comments in you code so that others can understand it more easily.
Download
BrawlBox Modset4.2
[collapse="Change Log"]
Change Log of Modset4.2
- Fixed bugs in PAT0 editing again.
- "Save" command now works fine.
Change Log of Modset4.1
- Fixed a bug of PAT0 rebuilding
- Changed function of Paste only Trans
Change Log of Modset4.0
- Added a button "Paste only Trans" to Animation editor
- PAT0 editing function(test)
- Drag-And-Drop Animating(THANKS,KRYAL!)
Change Log of Modset3.3
- Fixed bug of opening Hanenbow.
Change Log of Modset3.2
- Fixed issue of gray out "Replace" menuitem on ARC.
- Default value in STDT editor source is optional now.
- Added checkbox on animation panel. You can copy/paste animation state except for translations.
Change Log of Modset3.1
- Fixed typo "Dafault"
- Added STDT editor "Switch Source" button(aka multiple STDT support)
- Added value type support to STDT editor
- Added AIPD support.
- Added AIEditor(You can edit )
- Added STDT support
- Added minor support for Offensive AI(I may change this name) node.You can export, replace, import them.
- Various bugfixes (property grid error,collision previewer error,etc).
- ATKD editing added.
- Export All for chr0s
- When you press up key on animation input box, value will increase 0.1, and the model will immediately reflects your input. Also, when you press up key+shift key, value will increase 1.0.
- Export/Import srt0 entries. Import menu will appear when you right click on srt0 node.
- All data in Scene node is editable now.
- Minor ATKD support.
Developers
- Kryal
- Bero
- Hagelt18
- Dantarion
- pokelover980
- VILE
- Black Star
- Bionic
- AMKalmar
- NO@H
- TheSilenceOfNoOne
- JediKnightTemplar
- tehshyguy
- Super-Sonic
Links
- Google Code-brawldev-
Post your codes here! - TortoiseSVN downloads | TortoiseSVN
You must use this to upload or download codes. More information on the site. - Visual C#
C# programming software.
Advice
Most of it was just analyzing the formats in a hex editor.
- First, find lengths and offsets. Then you can determine the size/parts of each data block.
- Write out the data blocks in your code and understand how they link.
- Determine the data type and length of each field. This part is usually easy, just keep an eye out for patterns and take note of similarities/differences between each record.
- Use logic to determine field meanings. If the function of your data is understood this should be fairly easy.
- Anything left can be manually hexed for SD/Gecko. With BBox you can even begin editing these fields without hexing (just build the wrapper).
You can get at least 50% of your data formats complete without hexing a single value. When I was working on this, I was using the SD/Gecko method to test field changes. I believe Dolphin Emu works with Brawl, which may be faster/easier.
When reverse engineering, there are three rules:
1. Patterns
2. Patterns
3. Cake! Wait... Patterns!
Information
I'm looking for a person who develops this in place of me.