- v0.71- (12/25/2013) - BrawlLib v0.18 . Added a tristripper and integrated it into Brawllib. This allows for mesh optimization for smaller filesize and less in-game lag. . Added several new options to the model importer settings dialog, including tristripper algorithm options . Added "Optimize" option to MDL0/object right click menus. This will allow you to re-optimize meshes that have already been encoded. . Added support for writing string type user data properly . Added toggles for texture matrices in model object properties . Fixed a bug where exported Collada models would have _ID added to the end of all bone and object names.

- v0.70- (12/7/2013) - BrawlLib v0.17 . Fixed header and alignment in module rebuilder . Fixed problem adding a new word to a static module . Fixed the right click menu on a static module . Fixed bug where only the command list with the same module id would be applied . Added option to change a relocation command's target module . Removed the Imports folder from REL tree, as its generation is now fully automatic

- v0.69b- (11/19/13) - BrawlLib v0.16b . Fixed problem painting the GUI when closing the model viewer . Fixed bug where when opening a TXT in the code manager, any spaces after hex lines would cause reading problems . Fixed bug where if codes where recognized in a GCT, they would be displayed as recognized and unrecognized . Fixed bug where hex lines in a GCT would be read incorrectly . Finished, fixed and added PMD importer . Fixed error in collision viewer with displaying and selecting plans/links anchored to bones . Fixed display error of SHP0 framecount in its editor . Fixed display error of CLR0 primary color in its editor . Fixed error when trying to view an SCN0 camera entry . Fixed error reading float values with commas in anim parser . Fixed problem where the bounding box would not be generated for imported models . Added option to code manager to display all remembered codes . Updated Collada model exporter to Collada 1.5 . Updated Collada model importer to support Collada 1.5 . Updated GCT editor to have checkboxes next to codes

- v0.69- (10/18/13) - BrawlLib v0.16 . Started to add Maya .anim animation importing and exporting. This feature is still a work in progress and does not work properly yet. . Added interpolation editor located under Tools in the model viewer . Added DOL & REL section editor . Finished DOL & REL rebuilders . Added option to sync first and last keyframes (useful for looping animations) . Added option to generate animation tangents automatically or not . Added "Recent Files" under File in the main menu strip . Added full support for RunLength and Extended LZ77 compression . Added a code manager for GCT files. Can read/write to TXT, save GCT with text info, and open GCTs using a database of saved codes if it contains no text info. . Added support for adding REFF entries . Added option to move the model viewer panel into a new window and back - useful for dual monitors . Added option to create a link directly on a plane in the collision editor . Added a help window to the collision editor . Added a texture resize function to the Texture Converter dialog . Added a Re-Encode option to the right click menus of TEX0, REFT, and TPL textures . Fixed saving RSAR files (RWSD, RBNK, RSEQ) when they are outside of the RSAR . Fixed U8 parser/rebuilder . Fixed bug where the model previewer would lock itself if you closed it while playing an animation . Fixed "Replace All" button on ARC right click menu . Fixed MDL0 object importer . Updated the keyframe panel in the model viewer . Made animation frames able to be copied and pasted in different instances of Brawlbox . Updated model viewer to internally retain all changes to settings; no more external settings file. . Model viewer settings can be exported, imported, and reset to default. . Updated the display of TPL entries . Updated the Collada model import settings dialog

- v0.68d- (6/22/2013) - BrawlLib v0.15d . Fixed BRSTM encoder issue . Fixed issue with mini model viewer when first loaded . Fixed bug where the frame count and loop animation properties were gone . Fixed animation framerate in model viewer (defaults to 60) - changing the FPS (Frames Per Second) value now works accurately . Fixed issue when opening collision viewer for the first time . Fixed collision plane culling (was inside-out) and removed 2D selection overlay from collision viewer . Fixed problem where texture matrices would be removed but leave empty bytes in the object . Moved collision editor and model viewer code out of Brawllib and into Brawlbox . Removed wireframe mode from the polygons button and moved it to a seperate menu button . Added support for viewing THPs (video and audio may desync though)

- v0.68b- (5/5/2013) - BrawlLib v0.15b . Fixed loop points when importing an RSAR sound . Fixed problem where edited models would explode in-game . Fixed REFT image importer. Works just as good as the TEX0 image importer now . Fixed when vertices are moved when modified by a SHP0 . Fixed background image to load immediately . Fixed random green/blue/yellow color overlays when clicking bones . Fixed when the last frame of an animation is deleted when clicking "." . Fixed bone translation tool . Fixed duplicated objects to be independent from the original . Changed shortcut to delete the current frame to Shift + Backspace . Changed shortcut when zooming to increase/decrease camera zoom/translate/rotate speeds from Control to Alt . Added support to compress U8 Archives to YAZ0 format with RunLength compression . Added support for v1.9 REFF . Finished REFT and REFF rebuilders . Finished TPL rebuilder . Set point/line smooth to off by default and added a button to toggle it on . Set text overlays to not display by default and added a button to toggle them on

- v0.65c- (2/4/2012) - BrawlLib v0.12c . Made MDL0 nodes modulate their values and each other more closely . Finished Wavefront OBJ exporter (Right click an MDL0 object and export it as OBJ) . Fixed up the DAE exporter again . Undo and Redo buttons have been fixed for the model viewer and added to the collision viewer (All coded by Xiggah) . Texture matrices can now be used without any problems in-game (moving textures) . Added stage default support for DAE importer

- v0.60b- (11/30/2009) - BrawlLib v0.07b . Fixed various bugs with the CHR0 encoder. . Fixed a bug in the MSBin encoder for border entries. . Various improvements to the model editor: Added option panel. Added cut/copy/paste/insert/delete buttons to animation panel. Animation length can be set from the playback panel. Added context menu for animation list, which allows for faster import/export. Fixed issue with texture layers. Now all textures are rendered until it can be fixed. Adjusted keyboard controls. . Fixed bug with GLPanel not closing properly.

- v0.58b- (10/24/2009) - BrawlLib v0.05 . Re-integration with BrawlLib is nearly complete. Audio support still isn't finished. . Added support for the following new controls from BrawlLib: ModelPanel TextureConverterDialog . New menu system. . Due to new rebuild enhancements, nodes can now be created, renamed, and deleted. . Various improvements to node stability. . Certain resources now automatically convert with the Export/Replace(string) command. Mainly TEX0Node. . Support for binary string trees has been added. (Use ResourceEntry.Build) . More BRES entries now link to the string table. This allows other resources to change size. . BRES entries now do post-processing, and link groups/nodes to the binary tree.

- BrawlLib v0.04 - (10/11/2009) . FileMaps now hold on to a FileStream object until the map is closed. . Added OpenGL support with basic functions. . Added GLPanel/ModelPanel controls . Moved MDL0 node classes to separate folder for organization. . MDL0 support has been improved. . GLModel objects can now be created from MDL0Node. . GLModel can be attached to ModelPanel for rendering.

- v0.58 - (09/29/2009) - BrawlLib v0.02 . Name has changed to BrawlBox (previously SmashBox) . Program has been separated, allowing for the creation of BrawlLib. . Now has minor Linux support. . Audio nodes/controls have been temporarily disabled until BrawlLib can be updated. . You can now use SaveAs on the current working file, so long as changes have been made. . Added the ability to construct a resource tree from scratch. . Various properties from ResourceTreeNode, TEX0Node and PLT0Node can now be written to.

- BrawlLib v0.01 - (09/28/2009) . Initial release

- v.057 - (08/23/2009) . Added support for brstm files. . Increased support for brsar audio packages. . Added audio playback control for use with brsar and brstm files. . Added the ability to export audio to .wav format.

- v0.56 - (08/09/2009) . Added support for TGA images. . Re-wrote the LZ77 algorithm for increased speed. . Due to compatibility problems with paletted images and transparent colors. All images are now exported in 32-bit format.

- v0.55b - (08/04/2009) . Fixed a bug that was causing unknown files to disappear entirely. (Thanks lavamage) . Fixed a bug with pre-paletted textures that was causing them to recreate the palette improperly. (Thanks kid craft 24/sonic master) . Added a progress bar for those long compression jobs. . Discovered another portion of model files that needs an entry in the BRES string table. . The texture replacer will now default to the original texture/palette/mip settings.

- v0.55 - (08/03/2009) . Fixed various issues with Common pac files. . Fixed an issue with certain compressed files. Character selection portraits are now supported. . Added support for more image formats (bmp, gif, jpg, still waiting on TGA) . Started incorporating change tracking which offers improvements such as: a. Active discovery; Nodes will only be interpreted as they are browsed. Helps with large/embedded files. b. Only portions of the tree that have changed will be re-built. c. Unchanged nodes will be copied back as-is. This helps with speed and compatibility. . Removed Managed DirectX 9 dependency. Was causing assembly problems. . Added child-only properties

copy the template, and paste it in:C:\Documents and Settings\*user*\Application Data\ECSoftware\HexEdit\_mdl0.xmland open an mdl0 file in HexEdit...

now, the template doesn't initiate automatically :/when you open the mdl0,go to 'view'-'template'-'split window'and be sure to turn the auto sync on as well (looks like 3 red arrows "back, forth, back")

also, be sure to R-Click 'MDL0' and click 'Allow Editing'.(it takes a while to load, but there's no errors with it this way)

heh... the more help I get in learning the format, the faster I'll be able to build a 2-way (complete) converter. Will's is uncomplete, but returns a working mesh (verts, normals, uv's, and faces)AIS returns alot more, but is glitchy and still doesn't cover everything.

also...dae is ascii (text)mdl0 is binary (hex)

I'm trying to convert between collada 140 and 141

glad to have some help FINALLY

there's currently alot to be known before a perfect mdl0 can be written from scratch...

also, I have the AIS src...but... I can't read C codes :/I progg in Py, or HTML/JS >_>

« Last Edit: December 14, 2010, 10:21:42 AM by Tcll »

Logged

Quote: Friedslick6you have been through a lot of hassle. I've watched every topic you posted on this, and most of them seemed to disintegrate gradually. But the coolest part was that you didn't stop working on it despite that.

Quote: Internet Exploreryou're doing more with your life right now than probably most other people around you. You're a valuable asset to the Smash community. So yeah, you should be proud.

quote: GregYou do have a gift which I've seen many developers use to their advantage. You can become a great coder, and with all of those ideas I think you can really build something great.

I know a little C#, or is AiS in C/C++? I have a couple friends who are good at C/C++ coding too.

I have no clue how the daes are made, but I do know that they are in ascii (xml), and I'm pretty good with looking over binary. I think I found a thread somewhere that listed all the parts of an mdl0, I'll try to find it

I have no clue how the daes are made, but I do know that they are in ascii (xml), and I'm pretty good with looking over binary. I think I found a thread somewhere that listed all the parts of an mdl0, I'll try to find it

ah... I see...do you have any 140 or 141 files that import perfectly into blender??I need a template to tell me how it works :/140 has a VGroup prob, and 141 has a UV and bone prob on my end...can't build a template out of files that don't work :/

I could look online too, so it's ok if you don't have any

and yea, can't wait for that thread *waits patiently*

« Last Edit: December 14, 2010, 04:53:46 PM by Tcll »

Logged

Quote: Friedslick6you have been through a lot of hassle. I've watched every topic you posted on this, and most of them seemed to disintegrate gradually. But the coolest part was that you didn't stop working on it despite that.

Quote: Internet Exploreryou're doing more with your life right now than probably most other people around you. You're a valuable asset to the Smash community. So yeah, you should be proud.

quote: GregYou do have a gift which I've seen many developers use to their advantage. You can become a great coder, and with all of those ideas I think you can really build something great.

EDIT:well today was kinda a blowoff day for me I'm not getting help with either of the MDL0 or DAT formats... DXso I've been on YT and random sites, just doin... stuff...

« Last Edit: December 14, 2010, 06:08:15 PM by Tcll »

Logged

Quote: Friedslick6you have been through a lot of hassle. I've watched every topic you posted on this, and most of them seemed to disintegrate gradually. But the coolest part was that you didn't stop working on it despite that.

Quote: Internet Exploreryou're doing more with your life right now than probably most other people around you. You're a valuable asset to the Smash community. So yeah, you should be proud.

quote: GregYou do have a gift which I've seen many developers use to their advantage. You can become a great coder, and with all of those ideas I think you can really build something great.

You dont happen to have a file called Dae.h, do you? I need it to build the source

lol...I just deleted it (the entire DOM) XDI'll retrieve it right now

Quote

Lately I've been working on Nel....and trying to convert a model I have in PMD and X format to any other format that's importable with 3ds max... no luck yet with that, I've tried everything

O.O did you say PMD...there's a blender importer for that you know...it may, or may not work for your file :/

roo525 wanted me to import a pmd of Flandre

« Last Edit: December 14, 2010, 06:46:06 PM by Tcll »

Logged

Quote: Friedslick6you have been through a lot of hassle. I've watched every topic you posted on this, and most of them seemed to disintegrate gradually. But the coolest part was that you didn't stop working on it despite that.

Quote: Internet Exploreryou're doing more with your life right now than probably most other people around you. You're a valuable asset to the Smash community. So yeah, you should be proud.

quote: GregYou do have a gift which I've seen many developers use to their advantage. You can become a great coder, and with all of those ideas I think you can really build something great.

Like I said, blender is stupid for me I got a script error importing it, I think I have to switch Blender to Japanese but I have no clue how to do that 0_o figured out how to switch it, but I still get an error

Could you try and export it as a DAE for me? lol and thanks for getting dae.h for me

/** Copyright 2006 Sony Computer Entertainment Inc.** Licensed under the MIT Open Source License, for details please see license.txt or the website* http://www.opensource.org/licenses/mit-license.php**/

#ifndef __DAE__#define __DAE__

// We use the boost filesystem library for cross-platform file system support. You'll need// to have boost on your machine for this to work. For the Windows build boost is provided// in the external-libs folder, but for Linux it's expected that you'll install a boost// obtained via your distro's package manager. For example on Debian/Ubuntu, you can run// apt-get install libboost-filesystem-dev// to install the boost filesystem library on your machine.//// Disable the warnings we get from Boost// warning C4180: qualifier applied to function type has no meaning; ignored// warning C4245: 'argument' : conversion from 'int' to 'boost::filesystem::system_error_type', // signed/unsigned mismatch#ifdef _MSC_VER#pragma warning(push)#pragma warning(disable: 4180 4245)#endif#ifndef NO_BOOST#include <boost/filesystem/convenience.hpp> // THIS WAS NOT COMMENTED.#endif#ifdef _MSC_VER#pragma warning(pop)#endif

// The DAE class is the core interface via which you interact with the DOM. It// has methods to load/save documents, get the root element of each document,// etc. Although internally the DOM works exclusively with URIs, the methods of// the DAE class that take document paths can take URIs or OS-specific file// paths.class DLLSPEC DAE{public:// Constructor. If no database or IO plugin are provided, a default database and// IO plugin will be used.DAE(daeDatabase* database = NULL, daeIOPlugin* ioPlugin = NULL) : atomicTypes(*this), baseUri(*this, cdom::getCurrentDirAsUri().c_str()){// See the end of the thread linked below for an explanation of why we have the DAE// constructor set up this way. Basically, I'm going to be changing the build output // location, and when this happens people sometimes continue to link against the old// libraries by accident (e.g. if they just do an svn update). By introducing a new// function that gets called from a function in a header file, I'm ensuring that someone// who tries linking against old libraries will get a link error. This may not sound// very nice, but it's certainly better than getting bizarre runtime crashes.// https://collada.org/public_forum/viewtopic.php?t=771&sid=f13c34f2d17ca720c5021bccbe5128b7init(database, ioPlugin);dummyFunction1();}

virtual ~DAE();

// Release all memory used by the DOM. You never need to call this explicitly. It's// called automatically when all DAE objects go out of scope. // Deletes directory returned by cdom::getSafeTmpDir().static void cleanup();public:// Database setupvirtual daeDatabase* getDatabase();virtual daeInt setDatabase(daeDatabase* database);

// These functions specify the client's character encoding for the DOM. The// default is Utf8, but if you specify Latin1 then the DOM will use libxml's// character conversion functions to convert to Utf8 when writing data and// convert to Latin1 when reading data. This can help with the handling of// non-ASCII characters on Windows. Only when using libxml for xml I/O does// any character conversion occur.//// Most people can probably just ignore this completely. If you have trouble// with non-ASCII characters on Windows, try setting the char encoding to// Latin1 to see if that helps.//// Frankly this certainly isn't the best way of handling non-ASCII character// support on Windows, so this interface is a likely target for significant// changes in the future.//// See this Sourceforge thread for more info:// http://sourceforge.net/tracker/index.php?func=detail&aid=1818473&group_id=157838&atid=805426//enum charEncoding {Utf8,Latin1};

// Global encoding setting. Defaults to Utf8. Set this if you want to make a// char encoding change and apply it to all DAE objects.static charEncoding getGlobalCharEncoding();static void setGlobalCharEncoding(charEncoding encoding);

// Local encoding setting. If set, overrides the global setting. Useful for setting// a specific char encoding for a single DAE object but not for all DAE objects.charEncoding getCharEncoding();void setCharEncoding(charEncoding encoding);

Quote: Friedslick6you have been through a lot of hassle. I've watched every topic you posted on this, and most of them seemed to disintegrate gradually. But the coolest part was that you didn't stop working on it despite that.

Quote: Internet Exploreryou're doing more with your life right now than probably most other people around you. You're a valuable asset to the Smash community. So yeah, you should be proud.

quote: GregYou do have a gift which I've seen many developers use to their advantage. You can become a great coder, and with all of those ideas I think you can really build something great.