Home Gallery Resources The Team Rules chat Login Register
  Show Topics
Pages:  [1] 2 3
1  Super Smash Bros. Brawl Hacking / Programming / BrawlBox plugins (v0.78) - updated 2017-03-23 on: February 24, 2017, 01:36:36 PM
This is a thread for BrawlBox plugin scripts. v0.78 has a system that lets you write plugins in Python.

Just copy the text into Notepad and save it as a file with a .py extension in the Plugins folder alongside BrawlBox. Then you'll see it in BrawlBox under Plugins in the menu bar.

Batch convert files (pac <-> pcs)

To .pcs
Code:
from BrawlBox.API import bboxapi
from BrawlLib.SSBB.ResourceNodes import *

import os

dir = bboxapi.OpenFolderDialog()
if dir is not "":
include_subfolders = bboxapi.ShowYesNoPrompt("Include subfolders?", "Batch conversion")

from_ext = ".pac"
to_ext = ".pcs"

if not from_ext.startswith("."):
from_ext = "." + from_ext;

if not to_ext.startswith("."):
to_ext = "." + to_ext;

for root, dirs, files in os.walk(dir):
for file in files:
if file.lower().endswith(from_ext):
no_ext, ext = os.path.splitext(file)
node = NodeFactory.FromFile(None, os.path.join(root, file))
try:
node.Export(os.path.join(root, no_ext + to_ext))
node.Dispose()
except:
bboxapi.ShowMessage("Cannot export " + file + " as format " + to_ext, "Error")
if not include_subfolders:
break
To .pac
Code:
from BrawlBox.API import bboxapi
from BrawlLib.SSBB.ResourceNodes import *

import os

dir = bboxapi.OpenFolderDialog()
if dir is not "":
include_subfolders = bboxapi.ShowYesNoPrompt("Include subfolders?", "Batch conversion")

from_ext = ".pcs"
to_ext = ".pac"

if not from_ext.startswith("."):
from_ext = "." + from_ext;

if not to_ext.startswith("."):
to_ext = "." + to_ext;

for root, dirs, files in os.walk(dir):
for file in files:
if file.lower().endswith(from_ext):
no_ext, ext = os.path.splitext(file)
node = NodeFactory.FromFile(None, os.path.join(root, file))
try:
node.Compression = "None"
node.Export(os.path.join(root, no_ext + to_ext))
node.Dispose()
except:
bboxapi.ShowMessage("Cannot export " + file + " as format " + to_ext, "Error")
if not include_subfolders:
break

LZ77 to ExtendedLZ77 (2017-3-23 - now supports subnodes)
Code:
from BrawlBox.API import bboxapi
from BrawlLib.SSBB.ResourceNodes import *

import os
import shutil

def haslz77(node):
if node.Compression == "LZ77":
return True
if node.GetType().Name == "ARCNode":
for child in node.Children:
if haslz77(child):
return True
return False

def modifylz77(node):
if node.Compression == "LZ77":
node.Compression = "ExtendedLZ77"
if node.GetType().Name == "ARCNode":
for child in node.Children:
modifylz77(child)
return

dir = bboxapi.OpenFolderDialog()
if dir is not "":
include_subfolders = bboxapi.ShowYesNoPrompt("Include subfolders?", "Batch conversion")

ignore_ext = ".original-lz77"

for root, dirs, files in os.walk(dir):
for file in files:
if not file.lower().endswith(ignore_ext):
try:
node = NodeFactory.FromFile(None, os.path.join(root, file))
if node is None:
continue

if haslz77(node):
shutil.copyfile(os.path.join(root, file), os.path.join(root, file + ignore_ext))
node.Dispose()

node = NodeFactory.FromFile(None, os.path.join(root, file + ignore_ext));
modifylz77(node)
node.Export(os.path.join(root, file))
node.Dispose()
except:
bboxapi.ShowMessage("Cannot export " + file, "Error")
if not include_subfolders:
break
2  Super Smash Bros. Brawl Hacking / Stages / libertyernie's 38 stage pack on: December 02, 2016, 10:43:50 AM
Here's a pack of stages that I've made at one time or another. There's no stage expansion code or anything like that - just replacing almost every Brawl stage with something else.

Stage and music list at: http://www.lakora.us/brawl/cep/libertyernie-1.0/

Downloads:
With regular quality audio (288 MB)
With low quality (mono 22050Hz) audio (98 MB)
3  Help & Tutorials / Help / ASRL code help on: May 08, 2016, 08:35:33 PM
I've set up a vBrawl version of the ASRL code and I'm having a problem using an alternate .rel file.
I have an Omega Onett stage that I believe uses a st_palutena.rel file. I put that as st_dxonett_L.rel, but Brawl freezes when I load the stage by holding the L button.
Here's a ZIP file - anyone see a problem?
4  Super Smash Bros. Brawl Hacking / Programming / BrawlBox v0.78 on: May 03, 2014, 02:29:50 PM
Current version: BrawlBox v0.78



Changes in v0.78 (from the Changelog.txt):
 . Added a facility for writing BrawlBox plugins in Python (bboxapi). A sample plugin is included.
 . Added support for more filetypes in Export All and Replace All
 . Changed Export All and Replace All to create/use subfolders for children of ARC and BRES nodes
 . Added multi-select support (using Ctrl or Shift buttons) to the BrawlBox tree view. If all selected nodes are CHR0 animations or individual CHR0 entries, you can launch the "Edit All Animations" dialog from the right-click menu.
 . Changed the default scale value in "Edit All Animations" to from 0 to 1
 . Fixed a bug where animations that were only changed because of "Edit All" weren't saved
 . Added support for encoding and decoding 16-bit PCM in RSTM containers
 . Added "swap RGB" and "swap alpha" options to the texture converter dialog. "Swap alpha" will be turned on automatically if there are more distinct RGB values among fully transparent pixels than among partially opaque pixels.
 . Added OpenAL audio output support (if OpenAL is not available, DirectSound will be used like before)
 . Added support for setting texture matrices to identity in MDL0 objects
 . Fixed crashing when opening modules whose section[5] isn't the object section
 . Fixed resolution and rebuilding of Prolog, Epilog, and Unresolved addresses in .rel files
 . Fixed getting length of sfx data written out of order
 . Fixed bug where after replacing an RSAR file and reopening the RSAR, the replaced file would show as "external"
 . Fixed crash opening an RWSD with no labels
 . Fixed weight editor bugs
 . Fixed ADPCM encoding to match Nintendo's implementation (pull requests #59 and #68)
 . Fixed bug when trying to determine the encoding of a .bfstm or .brstm file
 . Fixed model import bug where bones that were not included in any skin modifier were not imported
 . Fixed bug where RASD nodes found in "External" BRES folders would not allow the BRES to be saved
 . Various MDL0 fixes

BrawlBox should be able to run on Unix-based OSes using Mono (run "mono ./BrawlBox.exe".)

Known bugs list:
Manual reports by users: https://github.com/libertyernie/brawltools/issues?utf8=%E2%9C%93&q=is%3Aissue
Automatic reports submitted using BrawlBox: https://github.com/BrawlBox/BrawlBoxIssues/issues

If you have any questions/problems, post them in this thread or here.

Source code @ GitHub
5  Help & Tutorials / Help / Wifi-safe PM 2.6b GCT on: September 01, 2013, 09:59:28 AM
Anyone have the latest wi-fi safe GCT? projectmgame.com is down.
6  Super Smash Bros. Brawl Hacking / General Hacking Discussion / Afterbrawl - bringing stages from mods and fangames into standard Brawl on: July 29, 2013, 06:01:37 PM
This is a stage pack that I pretty much just made for myself, but hopefully someone else finds it useful. It replaces a little more than half of the default Brawl stages with stages from P:M, Brawl-, and a couple others (including a few from Smash Bros. fangames.) I decided to keep the stages that were kept the same in both Brawl- and P:M, and replace the others - this worked out well for the number of stages I had available to replace them.
And it doesn't require ANY codes to work - although there's an optional Custom SSS code, which sorts the stage select screen into "stages I put in" and "stages that were already there," as seen below:

There is an RSBE01.gct in there already, but it just has the Custom SSS, the file patch code, and a couple other things (like unlimited camera), so you can just use your own.

This pack can co-exist with my Classic Expansion Pack too, and I included a common5.pac, etc. for that purpose. In this case, you would just use the Classic Expansion Pack RSBE01.gct.

Download: Afterbrawl 1.0.exe - 90 MB
View README / Stage List
7  Help & Tutorials / Programming Tutorials / Using BrawlLib in Python or Ruby on: June 02, 2013, 08:17:41 PM
BrawlLib is the library used by BrawlBox. It's written in C#, but it can be used with any language that runs on the .NET Framework. The most popular of these languages are C# and Visual Basic, but there are also special .NET implementations of the scripting languages Python and Ruby, named IronPython and IronRuby, respectively. Both projects provide an interpreter for the language that also allows use of .NET classes in your code.
IronPython and IronRuby are open-source, but were originally developed by Microsoft until 2010. IronPython was last updated in August 2012 and targets Python 2.7; IronRuby targets Ruby 1.9.2 and hasn't been updated since March 2011 (but it still works.)

First, you'll need to download and install IronPython or IronRuby from their web sites. That way, you'll have the interpreter installed. IronPython will be in C:\Program Files (x86)\IronPython 2.7\ipy.exe, and IronRuby will be in C:\Program Files (x86)\IronRuby 1.1\bin\ir.exe. (Remove the "(x86)" part if you're on a 32-bit machine.)
You can make a shortcut to that .exe file and drag-and-drop your .py or .rb script onto it. Or, you can right-click your script, choose "Open with," and find that .exe file. (You might want to uncheck the box that says "Always use the selected program...")

Then, you need a script to run.
If you want to use BrawlLib in your scripts, you need to put BrawlLib.dll in the same folder as the .rb or .py file, and include these lines at the top.

For Python:
Code:
import clr
clr.AddReference("BrawlLib.dll")

For Ruby:
Code:
require "BrawlLib.dll"

Then you can import BrawlLib classes like this. Both of these lines will import all the classes in the BrawlLib.SSBB.ResourceNodes namespace, including the NodeFactory and ResourceNode classes. You might need other ones too, depending on what you want to do in your script.
Code:
# For Python
from BrawlLib.SSBB.ResourceNodes import *

# For Ruby
include BrawlLib::SSBB::ResourceNodes

.py and .rb scripts are just plain text files, and so they can be edited with Notepad. Here's a sample program I wrote to test IronRuby and IronPython. It uses a recursive method to find all the TEX0 textures in a file called "input.pac", and exports them all to PNG files in the same folder.

For Python:
Code:
import clr
clr.AddReference("BrawlLib.dll")
from BrawlLib.SSBB.ResourceNodes import *

def tex_search(node): #Recursive function to scan for all TEX0 nodes in the file
if isinstance(node, TEX0Node):
return [node] #If it's a TEX0 node, include it in the list
list = []
for child in node.Children:
list += tex_search(child) #Otherwise, keep looking for children
return list

input_file = NodeFactory.FromFile(None, "input.pac")
for item in tex_search(input_file):
print item.Name
item.Export(item.Name + ".png") #We already know everything in this list is a TEX0, so we can export it to a PNG
print("    Done!")

For Ruby:
Code:
require "BrawlLib.dll"
include BrawlLib::SSBB::ResourceNodes

def tex_search(node) #Recursive function to scan for all TEX0 nodes in the file
if node.kind_of?(TEX0Node)
return [node] #If it's a TEX0 node, include it in the list
else
list = Array.new
node.Children.each { |child|
list += tex_search(child) #Otherwise, keep looking for children
}
return list
end
end

input_file = NodeFactory.FromFile(nil, "input.pac")
tex_search(input_file).each { |item|
puts item.Name
item.Export(item.Name + ".png") #We already know everything in this list is a TEX0, so we can export it to a PNG
}
puts("    Done!")

To figure out how to use BrawlLib, you'll probably need to look at the BrawlLib and BrawlBox source code. I'm afraid I won't be much help here; I often need to look at BrawlLib's code to figure out what to do. So you'll still have to read some C#, but you won't need to write it.
8  Super Smash Bros. Brawl Hacking / Portraits, Menus, (etc...) / BSIC: a program to automatically create MenSelmapMark images on: July 03, 2012, 08:25:18 PM

The Brawl Stage Image Generator can take in an input image and convert it to a Brawl MenSelmapMark image using ImageMagick.

To use this program, ImageMagick's convert.exe must be located in the system PATH. You can do this by installing the Windows binaries from imagemagick.org (either Q8 or Q16 versions will work) or by installing it through Cygwin.

There are three ways to load an image:

  • Open an image file with File>Open
  • Drag and drop an image onto the preview panel (the "drop image here" box on the right)
  • Copy an image, file, or URL and use the "Paste" button

The preview panel will show two images. The top image has a black background; this is what will be saved for use in MiscData[80]. The bottom image is what it will look like in-game.

You can save the created image to a new file using File>Save As (Ctrl+Alt+S). You can also use File>Save or the Save & Close button. In this case, the original image will not be overwritten; rather, a new PNG file will be created in the same directory (or in your home directory, if the original image was pasted in.)

Requirements:
9  Super Smash Bros. Brawl Hacking / Programming / BSMC: download automatically-edited .rel files! on: March 16, 2012, 04:05:09 PM
http://lakora.us/rel
With this site, you can download any .rel file, automatically converted to work over any stage. All you need is a web browser. Try it out!
10  Help & Tutorials / Help / Stage anim. won't loop on: November 05, 2011, 01:47:50 PM
My stage animation won't loop, even though I set unknown2 to 1. Can anyone figure out why?
http://www.mediafire.com/?qtsbkssmqdvdz3m
11  Super Smash Bros. Brawl Hacking / Portraits, Menus, (etc...) / libertyernie's new portraits thread! on: July 07, 2011, 10:49:37 AM
Apparently the post got too big, so now I'm making a new thread and reserving the first three posts.

Stage portraits:

Use Ctrl+F to find the one you're looking for!

SSS Names
For most of these, I am using other people's SSPs but want to have a different name on them.

Note: the "vBrawl Sakuraville" is for an edit of the Falling Cherry Boms stage that uses vBrawl boundaries.

Portraits for my stages:

Living Room



Brawlpark





Stinkoman 20X6 Level 1



Tennis Court Cliff



Wuhu Island Basketball Court (BasketBrawl)




The Big Board (Wario Land 4)



Metal City (Drill Dozer)



Sparkster Level 5



Pine's Arena

12  Super Smash Bros. Brawl Hacking / Portraits, Menus, (etc...) / libertyernie's new portraits thread! on: July 07, 2011, 10:44:37 AM
Delete this thread please - accidentally double-posted.
13  Super Smash Bros. Brawl Hacking / Programming / libertyernie: Looping Audio Converter 2.0.0 rc1 on: July 06, 2011, 04:24:16 PM
Scroll down for some other programs (2nd and 3rd posts)

Costume Manager, Stage Manager, Song Manager, and SSS Editor have been updated to version 3.9 (June 20, 2017). This adds some support for Legacy TE among a couple other things.

These programs are bundled together in one zip file and include their own DLL file (BrawlManagerLib) and the same version of BrawlLib and OpenTK included with BrawlBox (except now compiled for x86 specifically in hopes that it will fix some problems people were having running the programs.)

All versions are posted at https://github.com/libertyernie/BrawlManagers/releases. See there for the changelogs in those versions.

Brawl Stage Manager

Brawl Song Manager

These programs allow you to manage the stages and songs on your SD card using drag-and-drop. Brawl Stage Manager lets you add/change/remove stages, .rel files, and portraits.. It'll also update your mu_menumain and sc_selcharacter2 (random stage chooser) appropriately, when you tell it to. Brawl Song Manager lets you add/change/remove .brstm files and, if info.pac exists, it can edit song titles.

Brawl Costume Manager

Brawl Costume Manager is a .NET application for managing the costume files and corresponding CSS (character select screen) portraits for each character in Super Smash Bros. Brawl.
Neat features:
  • If a .pac or .pcs file exists, this program can display the model(s) in it.
  • If a common5 or sc_selcharacter exists, it can display the appropriate CSS portrait. Since version 3.0, it puts the name over it so you can see what it'll look like in game.
  • If the right file is in char_bust_tex, it can show that portrait too.
  • You can replace all of those with drag-and-drop.
  • When you copy a .pac or .pcs file, it makes the other file (.pcs or .pac) automatically!
  • You can switch an option to use the different costume-->portrait mappings in cBliss Smiley
  • You can even take a portrait from the model previewer now! (It's just T-pose still though :/ )

SSS Editor
The controls to add/remove/rearrange stages and change stage IDs and icons are written in HTML and JavaScript, and run inside an embedded WebBrowser in IE8 mode. This means it comes with a few extra DLLs and requires Internet Explorer 8 or above to be installed.
14  Super Smash Bros. Brawl Hacking / General Hacking Discussion / Classic Exp. Pack for Brawl - new Best Of pack (May 2018) on: February 12, 2011, 02:11:29 PM
The Gecko version of the Classic Expansion Pack comes in two versions. One of them uses the alternate stage+rel loader code to provide alternate versions of stages (by holding L, R, Z, or in one case X); the other doesn't have these, but takes up less space.

Classic Expansion Pack 9.0s - December 2, 2017 - for vBrawl + Gecko

Downloads:

Classic Expansion Pack 9.0s (Brawl + without alt stages).7z.exe (Gecko + Brawl. From Mediafire; 178 MB download / 209 MB when uncompressed)
Click here to see the documentation/stage list: http://www.lakora.us/brawl/cep/9.0s/no-asrl.html

Classic Expansion Pack 9.0s (Brawl + with alt stages).7z.exe (Gecko + Brawl. From Mediafire; 264 MB download / 471 MB when uncompressed)
Click here to see the documentation/stage list: http://www.lakora.us/brawl/cep/9.0s/with-asrl.html

The download is also a 7-zip archive - you should be able to use 7-zip or WinRAR to extract it without opening it as an executable.

Changes from version 8.0s:
  • Updated stages: Kongo Jungle 64, Flat Zone
  • Updated omega stages: Kongo Jungle 64, Hyrule Castle, Dream Land, Norfair, Pirate Ship
  • Replaced SSB4 Battlefield with SSB4 Big Battlefield
  • Removed balloon from Great Bay
  • Removed static and omega versions of Lylat Cruise and Castle Siege (I changed my mind about those)

I've also made 3 stage packs for Riivolution. These can all live on the same SD card or USB device (you just have to merge the .xml files and then pick one at startup), and they all stay inside the /riivolution folder.

Classic Expansion Pack 9.0r - December 6, 2017 - for vBrawl + Riivolution



This is the Riivolution version of the Classic Expansion Pack. It lives in the /riivolution folder and does not touch /private at all.

Also, stage builder is enabled, so you should rebuild the .gct to disable custom stages if you are using Smash Stack.

List of stages

http://www.mediafire.com/file/f0nfwe5hra3cczo/Classic_Expansion_Pack_9.0r.7z.exe (192 MB download; about 223 MB uncompressed)

Omega Expansion Pack 9.0r - December 6, 2017 - for vBrawl + Riivolution



This is a pack that shows only omega stages. It lives in the /riivolution folder and does not touch /private at all.

It lives in the /riivolution folder and does not touch /private at all. Stage builder is enabled, so you should rebuild the .gct to disable custom stages if you are using Smash Stack.

List of stages

http://www.mediafire.com/file/vuj0lz7y1k55a0p/Omega_Pack_9.0r.7z.exe (181 MB download; about 232 MB uncompressed)

libertyernie's "Best Of" Stage Pack 1.1 - May 23, 2018 - for vBrawl + Riivolution

This pack includes a smaller selection of expansion stages that I think get really close to recreating the gameplay of the original stage, while keeping a mostly even balance of SSB64, Melee, and SSB4 stages. It also includes a few stages from mods and fangames. Version 1.1 adds Peach's Castle and Kongo Jungle and updates Hyrule Castle with soopercool101's versions.

It lives in the /riivolution folder and does not touch /private at all. Stage builder is enabled, so you should rebuild the .gct to disable custom stages if you are using Smash Stack.

List of stages

http://www.mediafire.com/file/94w7fakvthqcj6r/libertyernie's+Best+Of+Stage+Pack+v1.1.exe (108 MB download; about 128 MB uncompressed)

All of the downloads are self-extracting Windows executables, but can also be extracted with a program that supports .7z files if you don't have Windows.

Note: If you want the framework to put your own stages in for PM 3.6 final, you can use this stage expansion template.
15  Super Smash Bros. Brawl Hacking / General Hacking Discussion / \Classic Expansion Pack - old thread on: January 24, 2011, 07:37:14 PM
I'm planning to release a pack containing all the remakes of SSB or SSBM stages that have been made so far. It will come with the appropriate music for each stage. Each stage will get its own icon using PW's expansion code and the new PAT0 support in BrawlBox, and each stage will get its own music via Oshtoby's stage-dependent song-dependent track loader code. But I need something to put the music over; ideally over music that isn't used very much.

The music that I'm including is:
  • Fourside (Melee)
  • Yoshi's Story (Melee)
  • Mushroom Kingdom [the SMB overworld music; used for both SSB and SSBM versions of the stage]
  • Fighting Polygon Team
  • Peach's Castle
  • Kongo Jungle
  • Hyrule Castle
  • Metal Mario Battle
  • Dream Land
  • Sector Z
  • Saffron City
  • Metal Battle (Melee) [an alternate for the Metal Cavern/Metal Mario 64 stage.]

I'm looking for advice on where to put these tracks. Should I replace most of the SSE music and some of the WarioWare music, most SSE music and music from another stage, or should I replace some of the music on WarioWare, Castle Siege, and Halberd? I'm leaning towards the first one.
Pages:  [1] 2 3