Kitty Corp Meow Mix Forums

Super Smash Bros. Brawl Hacking => Programming => Topic started by: Diddy Kong on March 18, 2012, 06:09:47 PM



Title: DiddyKong's BRSTM copier *NEW UPDATE 2015-3-09* SOURCE CODE RELEASED
Post by: Diddy Kong on March 18, 2012, 06:09:47 PM
Ok, now if you are a noob and can't get your music hacks to work because you didn't name it correctly, and/or are too lazy to look up a list, then this thing is for you!


DOWNLOAD (version 4.0) (http://forums.kc-mm.com/Gallery/BrawlView.php?Number=207955)

Source Code (.gmk) (http://www.mediafire.com/download/cussjp11c5ele0m/BETA_NEW_COPIER.gmk)

patch notes:

VERSION 4.0
[MISC] Added an extended MP3 converter to convert brstms into extended MP3s to play on your iPod or other music player

[BRAWL] Added Tutorial mode (no excuse now for noobs finding the app too hard to use)

FULL sawnd bank engine mod support, program now auto renames sawnd files for you for what group its supposed to replace ( users dont get to pick who because sawnd data is group-specific) program can detect group ID from sawnd files

projectM and RSBE code sawnd  install supported!

ADDED a "what do I name this sawnd file?" option in the wrench menu so you don't need to ask us what its for or what to name it

*you must set brstm copier as the default program for opening sawnd files first and set your region, SD root, and weather its gecko, riivo, or projectM mods being used  simply double click the sawnd file by itself, and BOOM! insta install no extra work needed ( DOES NOT WORK WITH ROY AND MEWTWO GROUPS FOR PROJECTM SAWND FILES) group ID of sawnd file must be two letters max

VERSION 3.3
[BRAWL] Extended sawnd support! you can associate the copier with sawnd files so you can open them right from your desktop to have them installed to the brsar
I need help with getting the group IDs from sawnd files (sawndz seems to know the group ID just by reading the sawnd files) so i can have the copier auto rename them and put them in the SFX folder
[BRAWL] ADDED a new save feature.  the last used root, region, and modset type preferences will also be saved to candy.bin so they can be pulled up when you boot the program with sawnd files

VERSION 3.2
[GLOBAL] rick rolled version (timed to automatically fire april 1st, might fire on another song next year)

VERSION 3.1 rev 3
[MKW] Revised built-in instruction book, adding a note on BRSTM's
[BRAWL] added more BETA coding in preparation for a new preference save method
[UI] coding for playing audio implimented (currently not public access, it runs on its own on certain days) if you can access the debug box, you can force it to play it and even replace the audio data in it

VERSION 3.1 rev 2
[MKW] Added a CTGP SD save fix tool for users who are experiencing new saves in the new CTGP 1.03
[MKW] BRSAR Patcher modified to patch for FF FF FF instead of 03 C0 00
[MKW] BRSAR Patching procedure modified to loop a routine check until the BRSTM's are moved to a location where the patcher can properly patch the files

VERSION v3.0   
[MKW] BRSAR patcher doesnt corrupt the BRSAR anymore (doesnt patch modded brsars)
[MKW] final lap generator enabled by default
Project M 3.0 support
Minor tweeks to the engine



now locatable on the custom kart wiki (http://wiki.tockdom.com/wiki/BRSTM_Copier)

planned for future release:
a) GCT/Riivolution configuration install for new users

b) TUTORIAL MODE: the "setup wizard" version of copying brstms


This should ELIMINATE all nooby questions about brstms on the SD


(http://fc07.deviantart.net/fs70/f/2014/010/2/e/screenshot103_by_sheshe299-d71oo9g.png)

Select the ROOT LETTER of your SD card, click the flag and choose region before use

What this program does is asks you for a BRSTM OR SAWND file, then you pick a song NAME from the Stage-select icon

if you are sawnd injecting, click insert after

if you are installing brstms, click copy to SD and DONE!


(http://fc04.deviantart.net/fs71/f/2014/010/e/0/screenshot102_by_sheshe299-d71oo9s.png)

screenshots for MKW mode:
(http://fc04.deviantart.net/fs70/f/2014/010/b/3/screenshot101_by_sheshe299-d71oo8i.png)
(http://fc04.deviantart.net/fs71/f/2014/010/7/a/screenshot104_by_sheshe299-d71oo97.png)

this program tells you (at least tries to guess) what Type of drive is selected based on how much capacity is has.

you want to have the BLUE SD icon shown (for gecko or riivo),or  green SDHC (riivolution only),  if the HDD, or micro chip icon shows, you might have the wrong drive


it ALSO tells you how much space is left on the card and draws a bar to show it.  the program autosaves when you change the drive letter so it will remember the last drive selected next time you run it.

if you JUST want to set up the folder tree for BRSTMs, the create folders button will do that.



for noobiest of the noobs:  *MAKE SURE YOUR REGION FLAG IS CORRECT (IT WILL LOOK FOR RSBE/RSBP/RSBJ depending on the flag shown) *you DO NOT need to worry about the regional setting when dealing with project M, project M support can be activated via the wrench menu by changing modset

1) click blue SD icon and choose the drive letter your SD is on
2) click the select file button and choose BRSTM
3) Click set title button and choose the song it will go over
4) CLICK copyyou are done (unless you have a failed SD)

if you need more help or more notes on the system press F1 for the enclosed instruction book

STILL need help,  press F1 ,

STILL STILL need help? BOO! go learn more

here is a copy of the in-app manual:

VERSION HISTORY:
1.0  |  Initial Release
2.1  | Bug fixes, MKW Support
AUTO-HEXING - this only works with MKW mode
SAWND support (auto backup, auto inject)
hack delete option (if you want to revert to original)
hidden feature that is pointless
UI Unified
2.3  | Pitch shifting feature fully functional and enabled!
hidden feature thats pointless enabled - dont blame me for undercooking your steak on april....
Program now cleans up all the way (except for Final_Lap.brstm) when its done processing the final lap brstm
(reset settings by deleting your Diddz file then rerun the app to apply the variable additions)
2.4 | batch sawndz injection FOR THE [censored]ING WIN!! fixed a bug where region ID kept resetting back to RSBE even if PAL ir NTSC-J was set when returning to the main screen from song select,  Custom MKW directory feature, whoever plans to use this with CTGP or SHWW is an IDIOT automatically, the default assumed directory is used by SHWW and CTGP
2.5 | BRSAR Patching (BETA) special thanks to soneek  **RUN COPIER AS ADMIN FOR PATCHER TO WORK
2.7 | BRSAR PATCHER NOW WORKS!! *DISABLE USC in windows vista and 7 before pressing F5 to patch it, remember to reactivate UAC if you are a securety paranoia after it patches.  PROJECT M RIIVO SUPPORT!
ADDED the following feature:  right clicking the insert button rolls back the brsar to the last backup made
changed the following feature: BRSAR patch is no longer automated upon close, press F5 to patch the brsar with updates! patcher doesnt care if you have custom voices from brawlbox, it will find the values to patch
**version 2.7 was a private release for testing the added features, there were changes in the PMBR that now require more changes to the PM mode
3.0 | Pressing F2 brings up the load brstm dialog while on the course picker in MKW mode for those wanting to manually load norms and final versions of songs, IF YOU WANT TO HAVE THE PROGRAM DO THE FINAL LAP FOR YOU, PLEASE CLICK LAKITU SO HE ISNT HOLDING THE SIGN UP
ADDED set me up feature!, select install file patch for the gecko version, or install file patch for SDHC cards for the riivolution set!
users have to edit the GCT in brawlbox and have the codes memorized, if there are special codes, they can be added to the program in later releases via a GCT menu to get select codes to just PASTE only, yes, simply choose code, go to your gct in brawlbox, add code, and PASTE, nothing messy to look at when looking for certain codes! at the moment, only file patch and sound bank engine are supported, the GCT this program installs will INCLUDE the gecko SFX code

*THIS PROGRAM FOLLOWS THE GECKO-COMPLIANT DIRECTORY! IF YOU ARE USING ANY LOADER OTHER THAN GECKO OR RIIVOLUTION FOR GECKO USERS (BY BEYONDYOU), THIS WILL NOT PROPERLY PLACE FILES, THIS MAY OR MAY NOT WORK WITH PROJECT M, BRAWL MINUS, or BRAWL PLUS, and does NOT work WITH the BrawlMods Folder on the SD ROOT
If you are new to hacking brawl, please visit the chat, and click the link in the topic to get started,  if you do NOT have an SSBB disk (or broken wii drive) you will have to use gecko, DO NOT ASK ME FOR THE CODE ! you can install the file patch code (only) from the wrench menu

Ignore the random runtime error that occurs upon program close, it has something retarted to do with the auto-hex feature

HOW TO USE
BRSTM   (GREEN FILE)
1) load a BRSTM file
2)click on select song and pick your song to replace
3)select your region (USA is selected by default) *setting is IGNORED when in MKW mode
4)pick the ROOT drive to use (make sure its your SD card)
5) copy

**MKW users, the top boss thingy's theme will ALWAYS auto hex if final lap mode isnt turned on (check the cloud guy)

**** CAREFUL WHEN FINAL LAP MODE IS ENABLED - selecting an option copies it right away, and will overwrite the existing hack, you will be warnned beforehand if final lap mode is OFF and auto-hex is ON

SFX (SSBB ONLY) (RED FILE)
1)Load a .SAWND file
2)make sure your SD ROOT is selected (the drive letter chosen should be correct)
3)MAKE SURE YOU HAVE A COPY ON THE SD CARD OF SMASHBROS_SOUND.BRSAR
4)INSERT, This will auto backup your BRSAR to C:\Brawlmods_ARC\backup.brsar.  the BRSAR on your SD card will be updated with the new pack injection
****NOTE: PAL USERS IN EUROPE, MAKE SURE THE SAWND PACK WAS MADE FOR YOUR REGION, MOST PACKS ARE MADE FOR NTSC, SINCE YOUR BRSARS ARE ORGANIZED DIFFERENTLY, LOADING AN NTSC SAWND INTO YOUR BRSAR WILL CORRUPT IT, THIS APPLIES VICE VERSA FOR NTSC USERS

BATCH SAWND INJECT
1) COPY ( NOT MOVE - THESE DELETE DURING THE BATCH) all the sawnd files you want to insert into the batch_sawnd folder (program doesnt care what they are named)
2) click batch insert
3) done
**some sawnd files (randomly) might not insert or the folder will be renamed for whatever strange reason, if a sawnd wasnt installed install it manually by loading it into the copier then clicking insert


ARCHIVING
This program has a delete feature that will remove the selected song from your SD card, but not before archiving it to:

C:\Brawlnods_ARC\(insert today's date here)\

It's a nice feature in case you for some reason change your mind or didnt mean to delete, HOWEVER!! keep in mind that if you deleted one song, and on the same day, add another replacement for that song and delete it again, THE EXISTING ARCHIVED COPY WILL BE REPLACED!!!  The folder naming format for the automated organization is a date format of:  MM-DD-YYY and is very technical, so if you delete a hack late at night, and then delete another one AFTER MIDNIGHT, it will be archived to a new folder
**MKW USERS, the delete functcion will affect BOTH normal AND final lap verions of the selected slot

MKW users your archives will go into C:\CTGP-BRSTM_ARC\(insert todays date here)\

Dear MKW users, this Program by default, will automatically generate a sped up version of the song you load into the program when you copy it to SD, probably making you more lazy, you can turn this off in settings, but you will have to toggle Fmode when you want to specify a final lap version of a song and copy just that version (you will need to load the file before selecting the course), Jingles and such will be auto-copied upon selection, and the file loaded will be forgotten (to prevent weirdos from causing it to produce a final lap version of the jingle LOL).
I added in directory create for whatever requested apparent reason, but the program still ASSUMES CTGP OR the my stuff folder so it will make sense to go download that if you havent already  MULTICHANNELS ARE NOT SUPPORTED BY THE PITCH-PRESERVE

If the banner at the TOP-LEFT is Brawl's banner, click it to toggle to MKW mode, the folder generation option is disabled in MKW mode, and ASSUMES the CTGP directories

Please note that when you pick an option for the TOP spinny guy boss thingy, the brstm is auto-copied, and if auto-hex is turned on, will replace that, AND the trophy run BRSTM slot right away because in CTGP, the award winning run slot is used as the final lap for SADX Twinkle Circuit
and because jingles dont have final lap versions, gosh why would they lol, selecting those songs will also copy upon selecting them, overwriting what may already be there so BE CAREFUL

MODES
This Program now supports auto file placement/naming for Super Smash Bros. Brawl and MarioKart Wii.  The Game being managed for is indicated by the game banner in the upper-right cornner and can be clicked on to toggle

THAT RANDOM BAR THAT CHANGES AS YOU ADD CRAP TO THE DISK
That bar by the SD card is actually a visual representation of how much space is left on your Card, it will gradually turn red as free space depletes.  It should make managing songs and keeping track of how much you have left to work with more Unified.  It will be full and the free space will Read out -1 bytes if you have a broken or inexistant disk selected, additionally, the Disk Icon at the bottom-right corner will change to an HDD with a ? mark on it indicating it cannot tell what type of disk it is.


TROUBLESHOOTING
if it is NOT copying anything, then you did something wrong, MOST LIKELY to be that you set a random letter and it WASNT the technical ROOT of your SD, and actualy another drive, you can CHECK the icon at the bottom-LEFT for verification, if it is ANYTHING OTHER THAN a BLUE or GREEN SD card, you got something wrong, if you picked D and its green, more than likely you picked the FACTORY RESET DISK on your HP computer, DONT COPY TO THIS, you MAY DAMAGE THE RESET DISK

IF ITS DOING DUPLEX COPYING OR NOT COPYING TO THE RIGHT NAME OR NOT DOING SOMETHING RIGHT, THEN CLICK THE WRENCH AND CLICK FILE A BUG and tell me in my thread, if you are scared of a dead thread and unsure or something... click ABOUT instead and click the envelope to message me instead (YOU WILL NEED A KCMM ACCOUNT OR MKW.COM ACCOUNT depending where you got this program)


   DAFAUQ!! THE UI IS UPSIDE DOWN WTFBBQ!!!!

LOL april fools =P  to shut it off and restore it, go to the wrench menu and toggle the obvious option, Toggle Troll



DAMMIT YOU GOT US GOOD! BLACKJAX TRIED THIS ON US AND IT DIDN'T WORK DAH HAIL!?

I are a clever fox! NING NING NING NING NING!!!


Title: Re: DiddyKong's BRSTM Renamer
Post by: libertyernie on March 21, 2012, 03:34:57 PM
This looks useful.


Title: Re: DiddyKong's BRSTM Renamer
Post by: Diddy Kong on March 22, 2012, 12:20:13 AM
hopefully the noobs will stop asking about the filenames for the music with this available to them...

by the way, any DX or such errors this thing gives before failing to launch is the SAME as the one that happens with sawndz, if anyone gets the D3D initialization error, refer to the information about sawndz having that    As I wrote this thing the same way that the Sawndz GUI was built

if you get s no sound card detected, sounds might not play, ignore this, the program doesn't play anything so sound cards serve no use to it


Title: Re: DiddyKong's BRSTM Renamer
Post by: BriefCasey795 on March 22, 2012, 09:05:33 PM
Nice job man! Now i don't have to google how to rename brstms for stages! :D


Title: Re: DiddyKong's BRSTM Renamer
Post by: Leon Exodio on April 06, 2012, 01:02:04 PM
i have all the names for the song but this will make it more easier for me  to do songs


Title: Re: DiddyKong's BRSTM Renamer
Post by: BlueBrain on April 10, 2012, 01:27:31 PM
AWESOME!!!!!!!
this is great, very usefull


Title: Re: DiddyKong's BRSTM Renamer **UPDATED**
Post by: Diddy Kong on February 03, 2013, 04:19:42 PM
I belive this is alright given the condition and reason, but the app has been updated with the following fixes/improvements:

**Corrected a few song IDs that were wrong
**Added cruel brawl (that went unseen somehow)
**Added sawnd file support
**Added support to work with adding songs to MKW
**added autohex (press PG UP to use), this feature will speed up a song but using it this way will NOT back up your original

you can get the update here http://www.mediafire.com/download.php?pcb842zve673fzx (http://www.mediafire.com/download.php?pcb842zve673fzx)

if there are any future problems with the program, please let me know


Title: Re: DiddyKong's BRSTM Renamer **UPDATED**
Post by: SwingSet on February 03, 2013, 06:26:45 PM
The link is broken :( like Metanight


Title: Re: DiddyKong's BRSTM Renamer **UPDATED**
Post by: Ulala on February 24, 2013, 02:45:30 PM
Okay, I'm a lazy reader but does this program rename song titles in-game?
Like renaming Planet Colors to Funky Dealer?

EDIT: I didn't think people really need so much help with renaming files for them to work in-game  :>.>palm:


Title: Re: DiddyKong's BRSTM Renamer **UPDATED**
Post by: Diddy Kong on February 24, 2013, 04:19:34 PM
Okay, I'm a lazy reader but does this program rename song titles in-game?
Like renaming Planet Colors to Funky Dealer?

EDIT: I didn't think people really need so much help with renaming files for them to work in-game  :>.>palm:
no it does not, i would have done that, but i am limited at programming and dont know how to parse msbin files

this basically removes the need to have the song list, and the update to it, adds MKW support for CTGP and actually modifies playback speed if you press PG up

and also makes sawnd injectino more streamlined by removing the need to have sawndz on the SD card, or copy the brsar back to the SD after injection, it also backs up the brsar on its own, and any brstms a user deletes through it


Title: Re: DiddyKong's BRSTM Renamer **UPDATED**
Post by: Ulala on March 01, 2013, 04:24:19 PM
So I see... based on that edit, I assume that it works with MKW?
Could I give you Mario Sports Mix BRSAR? Maybe you could look at it...? http://www.mediafire.com/?ul3414c2aqwgs6a (http://www.mediafire.com/?ul3414c2aqwgs6a)


Title: Re: DiddyKong's BRSTM Renamer **UPDATED**
Post by: Diddy Kong on March 01, 2013, 05:55:04 PM
So I see... based on that edit, I assume that it works with MKW?
Could I give you Mario Sports Mix BRSAR? Maybe you could look at it...? [url]http://www.mediafire.com/?ul3414c2aqwgs6a[/url] ([url]http://www.mediafire.com/?ul3414c2aqwgs6a[/url])
??? what do you want me to *try* and look at? blackjax is dealing with brsars right now,

the sawndz support i added, makes it lazier for one to insert sawnd packets (it depends on jaklub's sawndz app)


Title: Re: DiddyKong's BRSTM Renamer **UPDATED**
Post by: DarkPikachu on March 18, 2013, 05:52:02 PM
hey diddy :)

before reading... :P
I know your program allows you to change the pitch of a brstm w/o loosing the loop,
but does it allow you to adjust the volume??


Title: Re: DiddyKong's BRSTM Renamer **UPDATED**
Post by: Diddy Kong on March 18, 2013, 07:36:53 PM
hey diddy :)

before reading... :P
I know your program allows you to change the pitch of a brstm w/o loosing the loop,
but does it allow you to adjust the volume??
no....
i do not know how to do re-encodes.... if you could do db peak reads, and adjust in CMD, and apply ACID's volume and peak restore plugins in cmd, i might be able to...


Title: Re: DiddyKong's BRSTM Renamer **UPDATED**
Post by: DarkPikachu on March 19, 2013, 05:23:37 AM
I see...

dang if I was any good at GML or command-line programing, I'd have some suggestions for you >_<


if you like, you could help me help you out by building a BRSTM template for HexEdit.
that way, I could figure out the format of a BRSTM, and help you to encode it better. :)

I'll post the HexEdit link and tell you how to crack it if you're interested, but if not, or you're too busy, then I won't bug you. ;)


Title: Re: DiddyKong's BRSTM Renamer **UPDATED**
Post by: Diddy Kong on March 19, 2013, 12:01:26 PM
I see...

dang if I was any good at GML or command-line programing, I'd have some suggestions for you >_<


if you like, you could help me help you out by building a BRSTM template for HexEdit.
that way, I could figure out the format of a BRSTM, and help you to encode it better. :)

I'll post the HexEdit link and tell you how to crack it if you're interested, but if not, or you're too busy, then I won't bug you. ;)
cant - in gml i can only parse / write one byte at a time, not a strand of them

because of this i couldnt make it read the two bytes that tell the frequency and just make it add 10KHz to it and write the new value



Title: Re: DiddyKong's BRSTM Renamer **UPDATED**
Post by: DarkPikachu on March 19, 2013, 02:40:17 PM
cant - in gml i can only parse / write one byte at a time, not a strand of them

because of this i couldnt make it read the two bytes that tell the frequency and just make it add 10KHz to it and write the new value


well... that's easy to pass :)
can you bit-shift in GML?? (<< or >>)

these python functions might help explain that:

def bu16(): #read a 16bit big-endian value
    byte1 = file.read(1)
    byte2 = file.read(1)
    return byte1+( byte2<<8 )

def u16(): #read a 16bit little-endian value
    byte1 = file.read(1)
    byte2 = file.read(1)
    return byte2+( byte1<<8 )

little endian: '0100' = 1
big endian: '0001' = 1

for even more info, you can DL UMC dev4 and look at the __BIT() function in data/COMMON.py ;)

that function actually deals with ints and floats stored in multiple and ambiguous byte sizes. :)
(though in dev4 it can only write 32bit and 64bit floats)
 ^ it can read floats of any byte-size


everything starts out as an unsigned int and gets converted to a signed or float value based on the bit-format specs ;)


I don't rmbr exactly how I stored the file in memory, but I know it involved a u8() array.
(each byte as an 8bit int in either [77,68,76,48,...], or array('B',[77,68,76,48,...]) )

lol, take a guess at what those first 4 bytes are. :P


Title: Re: DiddyKong's BRSTM Renamer **UPDATED**
Post by: Diddy Kong on March 19, 2013, 11:25:22 PM
well... that's easy to pass :)
can you bit-shift in GML?? (<< or >>)

these python functions might help explain that:

def bu16(): #read a 16bit big-endian value
    byte1 = file.read(1)
    byte2 = file.read(1)
    return byte1+( byte2<<8 )

def u16(): #read a 16bit little-endian value
    byte1 = file.read(1)
    byte2 = file.read(1)
    return byte2+( byte1<<8 )

little endian: '0100' = 1
big endian: '0001' = 1

for even more info, you can DL UMC dev4 and look at the __BIT() function in data/COMMON.py ;)

that function actually deals with ints and floats stored in multiple and ambiguous byte sizes. :)
(though in dev4 it can only write 32bit and 64bit floats)
 ^ it can read floats of any byte-size


everything starts out as an unsigned int and gets converted to a signed or float value based on the bit-format specs ;)


I don't rmbr exactly how I stored the file in memory, but I know it involved a u8() array.
(each byte as an 8bit int in either [77,68,76,48,...], or array('B',[77,68,76,48,...]) )

lol, take a guess at what those first 4 bytes are. :P

nope... its really limited to just byte overwriting on a per byte basis, and cannot do a strand of bytes at once, i struggled just to get the playback rate working

it returns the data in decimal so yah...:

ass=file_bin_open("Final_Lap.brstm",2)
file_bin_seek(ass,$064)
A=file_bin_read_byte(ass)
file_bin_seek(ass,$065)
B=file_bin_read_byte(ass)
C=A+B
if (C=315) {file_bin_seek(ass,$064);file_bin_write_byte(ass,$EA);file_bin_seek(ass,$065);file_bin_write_byte(ass,$60)}
if (C=125) {file_bin_seek(ass,$064);file_bin_write_byte(ass,$AB);file_bin_seek(ass,$065);file_bin_write_byte(ass,$E0)}
if (C=240) {file_bin_seek(ass,$064);file_bin_write_byte(ass,$DB);file_bin_seek(ass,$065);file_bin_write_byte(ass,$24)}


Title: Re: DiddyKong's BRSTM Renamer **UPDATED**
Post by: DarkPikachu on March 20, 2013, 08:39:54 AM
but can you bit-shift??

Eg:
0xff << 8 = 0xff00 | 0xfe =0xfffe = 65534

There's your 16bit value from 2 8bit values.

To write that:

Write( ( 65534 >> 8 ) & 0xff )
Write( 65534 & 0xff )

This is exactly what UMC does...


Title: Re: DiddyKong's BRSTM Renamer **UPDATED**
Post by: Diddy Kong on March 20, 2013, 02:20:45 PM
but can you bit-shift??

Eg:
0xff << 8 = 0xff00 | 0xfe =0xfffe = 65534

There's your 16bit value from 2 8bit values.

To write that:

Write( ( 65534 >> 8 ) & 0xff )
Write( 65534 & 0xff )

This is exactly what UMC does...
nope


Title: Re: DiddyKong's BRSTM Renamer **UPDATED**
Post by: DarkPikachu on March 20, 2013, 02:58:45 PM
actually... I've just thought...
Windows calculator can bit-shift...

Meaning you should be able to bit-shift in GML...

are you sure you can't, or you just havn't tried??

Try this:
Var = 1 << 8

And output Var to the console

If you get an error, or 256 doesn't show...
I'll accept that you can't bit-shift.


Title: Re: DiddyKong's BRSTM Renamer **UPDATED**
Post by: Diddy Kong on March 21, 2013, 12:11:15 PM
actually... I've just thought...
Windows calculator can bit-shift...

Meaning you should be able to bit-shift in GML...

are you sure you can't, or you just havn't tried??

Try this:
Var = 1 << 8

And output Var to the console

If you get an error, or 256 doesn't show...
I'll accept that you can't bit-shift.
you know i left a debug feature in the copier right? it lets you fiddle with GML within the program


press spacebar to pull up the code execution box   ,  to display the variable, run

wd_message_simple(var)

at the end of the code


you can run or execute pretty much anything i didnt code into the program, including entering 3d view and drawing polygons, but thats not the main purpose of it, and this isnt a 3d viewing program

** var is a variable/function thingy already assigned to something in GML, you cant use it, neither can i before compiling


globals you can't use:
sd
ass
autohex
pitch
mb
gb
kb
tb
from
track

these variables are all used by the program already, changing them can cause weird things to happen when the program wants to read them
including freaking out the drive meter


local variables ar ejust the variable IDs and dont have global. before them


Title: Re: DiddyKong's BRSTM Renamer **UPDATED**
Post by: DarkPikachu on March 22, 2013, 07:38:09 AM
on wii again... yay ^_^

diddy I'm going to try to write a function in GML that will both read and write a bu32 value from a supplied file.

if's going to follow the same format that UMC 2x followed:
reading:
value = bu32( '' )

writing:
bu32( int(value) )


IDK how to name a script in GML so I can't test if this will work or not...
(no scripts to back-track on either)
 ^ I'm hitting this completely blind-sided with horrible documentation (the help file)... heh

script "bu32":
argument0 = file
argument1 = offset
argument2 = value
{
  f = argument0; o = argument1; v = argument2 //shortening the variables
  if (v=='')
  {
    file_bin_seek(f,o)
    b1=file_bin_read_byte(f)
    file_bin_seek(f,o+1)
    b2=file_bin_read_byte(f)
    file_bin_seek(f,o+2)
    b3=file_bin_read_byte(f)
    file_bin_seek(f,o+3)
    b4=file_bin_read_byte(f)
    return (b1<<24)|(b2<<16)|(b3<<8 )|b4
  }
  else
  {
    b1=(v>>24)&255
    b2=(v>>16)&255
    b3=(v>>8 )&255
    b4=v&255
    file_bin_seek(f,o)
    file_bin_write_byte(f,b1)
    file_bin_seek(f,o+1)
    file_bin_write_byte(f,b2)
    file_bin_seek(f,o+2)
    file_bin_write_byte(f,b3)
    file_bin_seek(f,o+3)
    file_bin_write_byte(f,b4)
  }
}


usage should be easy:

value=bu32(file,offset,'')
bu32(file,offset,value)

let me know if that works ;)


Title: Re: DiddyKong's BRSTM Renamer **UPDATED**
Post by: Diddy Kong on March 22, 2013, 12:59:50 PM
on wii again... yay ^_^

diddy I'm going to try to write a function in GML that will both read and write a bu32 value from a supplied file.

if's going to follow the same format that UMC 2x followed:
reading:
value = bu32( '' )

writing:
bu32( int(value) )


IDK how to name a script in GML so I can't test if this will work or not...
(no scripts to back-track on either)
 ^ I'm hitting this completely blind-sided with horrible documentation (the help file)... heh

script "bu32":
argument0 = file
argument1 = offset
argument2 = value
{
  f = argument0; o = argument1; v = argument2 //shortening the variables
  if (v=='')
  {
    file_bin_seek(f,o)
    b1=file_bin_read_byte(f)
    file_bin_seek(f,o+1)
    b2=file_bin_read_byte(f)
    file_bin_seek(f,o+2)
    b3=file_bin_read_byte(f)
    file_bin_seek(f,o+3)
    b4=file_bin_read_byte(f)
    return (b1<<24)|(b2<<16)|(b3<<8 )|b4
  }
  else
  {
    b1=(v>>24)&255
    b2=(v>>16)&255
    b3=(v>>8 )&255
    b4=v&255
    file_bin_seek(f,o)
    file_bin_write_byte(f,b1)
    file_bin_seek(f,o+1)
    file_bin_write_byte(f,b2)
    file_bin_seek(f,o+2)
    file_bin_write_byte(f,b3)
    file_bin_seek(f,o+3)
    file_bin_write_byte(f,b4)
  }
}


usage should be easy:

value=bu32(file,offset,'')
bu32(file,offset,value)

let me know if that works ;)

lol idk what im going to be looking for :P
which var will be the file?  i dont see the file bin open code in there
:P

here is a snapshot of when scripts or written code is launched
(http://fc04.deviantart.net/fs71/f/2013/081/f/0/ev_by_sheshe299-d5yvt12.png)
when i said it was mostly drag and drop, i wasn't kidding :P
what that block there contains is the code to run, scrips can be added, and called from another action, but asks for arguments instead which affect the script's values where set


Title: Re: DiddyKong's BRSTM Renamer **UPDATED**
Post by: DarkPikachu on March 22, 2013, 02:08:55 PM
that code is ment to be ran with specific arguments when called...

the file is the first
the offset of the 32bit value is the 2nd
and the 3rd is a value that tells the function weather to read or write...

example:

myfile = file_bin_open("filedir") //file to read from

value1 = bu32( myfile, 0, '' )
value2 = bu32( myfile, 4, '' )


file2 = file_bin_open("file") //file to write to

bu32( file2, 0, value1 )
bu32( file2, 4, value2 )


Title: Re: DiddyKong's BRSTM Renamer **UPDATED**
Post by: Diddy Kong on March 22, 2013, 02:54:25 PM
that code is ment to be ran with specific arguments when called...

the file is the first
the offset of the 32bit value is the 2nd
and the 3rd is a value that tells the function weather to read or write...

example:

myfile = file_bin_open("filedir") //file to read from

value1 = bu32( myfile, 0, '' )
value2 = bu32( myfile, 4, '' )


file2 = file_bin_open("file") //file to write to

bu32( file2, 0, value1 )
bu32( file2, 4, value2 )
I can use the file open dialog box to set that file to use argument during runtime


Title: Re: DiddyKong's BRSTM Renamer **UPDATED**
Post by: DarkPikachu on March 22, 2013, 03:06:24 PM
I can use the file open dialog box to set that file to use argument during runtime
??

we're talking about encoding the brstm,
and being able to read/write large ints :/

that function reads '00 0F 30 26' and returns 995366
or input 995366 and write it to a specified file as '00 0F 30 26'


Title: Re: DiddyKong's BRSTM Renamer **UPDATED**
Post by: Diddy Kong on March 22, 2013, 03:42:11 PM
??

we're talking about encoding the brstm,
and being able to read/write large ints :/

that function reads '00 0F 30 26' and returns 995366
or input 995366 and write it to a specified file as '00 0F 30 26'

what do you want me to put as the file to use argument?

i said i can make it so the user gets to browse and pick the file it will  deal with


Title: Re: DiddyKong's BRSTM Renamer **UPDATED**
Post by: DarkPikachu on March 22, 2013, 03:58:26 PM
what?? no...
no no...

this is ment to be used to encode your data to increase the volume of a brstm and that sort of stuff :/

the stuff you didn't know how to (or thought you couldn't) do before...

EDIT: we srsly need to find a chat that works through VTunnel >_<
my shoutbox just takes you to the top of the page -.-*


proboards must be having problems again...


EDIT2:
if I were you diddy,
I've only worked on the bu32 function for you...

big-endian unsigned 32bit structure

I don't think you'll need to use little-endian handling as Nintendo generally sticks to big-endian. (so I've heard)

apparently that little 'FE FF' in brres files means big-endian...
'FF FF' means little-endian... :-\


anyways...
the other byte structures for big-endian are:
unsigned intergers:
bu64
bu32 (already have)
bu24
bu16
bu8 (don't need unless you want)

signed intergers:
bs64
bs32
bs24
bs16
bs8 (you might need this)

IEEE754 floating point (decimal) format:
bf64
bf32
bf16 (maybe)


if you need some coding reference,
my '__BIT' function in UMC dev4 handles all of those and more.


Title: Re: DiddyKong's BRSTM Renamer **UPDATED**
Post by: Diddy Kong on March 22, 2013, 05:06:25 PM
what?? no...
no no...

this is ment to be used to encode your data to increase the volume of a brstm and that sort of stuff :/

the stuff you didn't know how to (or thought you couldn't) do before...

EDIT: we srsly need to find a chat that works through VTunnel >_<
my shoutbox just takes you to the top of the page -.-*


proboards must be having problems again...


EDIT2:
if I were you diddy,
I've only worked on the bu32 function for you...

big-endian unsigned 32bit structure

I don't think you'll need to use little-endian handling as Nintendo generally sticks to big-endian. (so I've heard)

apparently that little 'FE FF' in brres files means big-endian...
'FF FF' means little-endian... :-\


anyways...
the other byte structures for big-endian are:
unsigned intergers:
bu64
bu32 (already have)
bu24
bu16
bu8 (don't need unless you want)

signed intergers:
bs64
bs32
bs24
bs16
bs8 (you might need this)

IEEE754 floating point (decimal) format:
bf64
bf32
bf16 (maybe)


if you need some coding reference,
my '__BIT' function in UMC dev4 handles all of those and more.
so that code amplifies?  i stil cant parse data yet and for the target file to affect, you want this to be fixed? or variable (based on user input)


Title: Re: DiddyKong's BRSTM Renamer **UPDATED**
Post by: DarkPikachu on March 22, 2013, 05:15:53 PM
the code I wrote you simply reads and writes a 4byte (32bit) value from and to a file you give it.

numbers larger than 255


as for the file input...

the thing outputs a renamed brstm from an input brstm right??

if so, then take the input brstm and use my function to read the 32bit (or 4 byte) structures in the brstm,
modify the value as needed,
and write the modified value to the output brstm.

simple as that


Title: Re: DiddyKong's BRSTM Renamer **UPDATED**
Post by: Diddy Kong on March 22, 2013, 05:29:07 PM
the code I wrote you simply reads and writes a 4byte (32bit) value from and to a file you give it.

numbers larger than 255


as for the file input...

the thing outputs a renamed brstm from an input brstm right??

if so, then take the input brstm and use my function to read the 32bit (or 4 byte) structures in the brstm,
modify the value as needed,
and write the modified value to the output brstm.

simple as that
the way this thing works, is it uses the from variable (set by the user's file selection)
makes a copy of it to the app directory named "Final_Lap" and then it fidgets with that one so the original isnt damaged or lost

the final lap brstm is then copied to the sd

this file handling feature only runs in MKW mode, not brawl mode


Title: Re: DiddyKong's BRSTM Renamer **UPDATED**
Post by: DarkPikachu on March 22, 2013, 05:47:21 PM
ok...
now modify the file before writing it :)


you know how to encode the brstm format right??
(I assume you didn't know how to use GML to do it)


EDIT:
UUGH!
I hate the IEEE754 format >_<

I'm trying to figure out how to get from "1.0" to "3F800000",
and it's not going well >_<


Title: Re: DiddyKong's BRSTM Renamer **UPDATED**
Post by: Diddy Kong on March 22, 2013, 07:39:59 PM
ok...
now modify the file before writing it :)


you know how to encode the brstm format right??
(I assume you didn't know how to use GML to do it)


EDIT:
UUGH!
I hate the IEEE754 format >_<

I'm trying to figure out how to get from "1.0" to "3F800000",
and it's not going well >_<
i didnt use GML, i didnt write external scripts..

the brstm compiler frmo brawlbox was used (an exe)
that accepts CMD line params which the copier issues it does the rest on its own, the only thing given to it, is the file name to output, wav name to use, and the loop points spit out by vgmstream  none of the encode writing was done by me


Title: Re: DiddyKong's BRSTM Renamer **UPDATED**
Post by: DarkPikachu on March 22, 2013, 08:07:43 PM
dang... you had me believing you knew the byte structures of the brstm audio format... >.<
(back from the chat)


well...
if you want to step up and start on this with Python, I could help...

but if you're comfortable with GML, that's fine too :)

I'm actually noticing how GML is alot like Python :/

it's if statements are like Javascript
it's for loops are like C-types

does it's 'return' allow you to return multiple values??

eg: (Python)
def func(): return 1,2
var1,var2=func()

syntax highlighting FTW! XDD


anyways...
I can help you advance this thing if you want :)

-internal file handling
-audio editing and re-looping


of course though I'm a noob at audio XD
but hey... I have to learn if I'm gonna use OpenAL in my programs :/

UMC UGC,
Dynamic Audio,
Pika-speech simulator, :P
2 others I don't have a name for XD


Title: Re: DiddyKong's BRSTM Renamer **UPDATED**
Post by: Diddy Kong on March 22, 2013, 08:52:53 PM
idk if i installed the script right
https://www.dropbox.com/s/dfa237vvd2p7jrs/test.exe (https://www.dropbox.com/s/dfa237vvd2p7jrs/test.exe)

but 1 and 2 will pull up boxes to set variables 
the file argument is now set to what global.from contains (which is the input file)

shift to run the script of yours.... i probably fked it up though D:

again i put the triggers to be manually set off by the debug object i mentioned earlier   i do not want to BREAK the code i already have


Title: Re: DiddyKong's BRSTM Renamer **UPDATED**
Post by: DarkPikachu on March 22, 2013, 09:28:01 PM
you're not supposed to shift to run it...

you're supposed to use the script (or function) like you would use file_bin_read_byte()

the script reads/writes 4 bytes instead of 1 byte

when reading, it returns the full int value of the 4 byte cluster
(not 4 1-byte values)

when writing, it returns nothing


Title: Re: DiddyKong's BRSTM Renamer **UPDATED**
Post by: Diddy Kong on March 22, 2013, 09:31:57 PM
you're not supposed to shift to run it...

you're supposed to use the script (or function) like you would use file_bin_read_byte()

the script reads/writes 4 bytes instead of 1 byte

when reading, it returns the full int value of the 4 byte cluster
(not 4 1-byte values)

when writing, it returns nothing
where do you want this run then, and when?
im not going to cram it into the rest of the operations until we know for sure its going to do something useful and not break the normal intended operation of it


by shift , i meant the script runs when the SHIFT KEY on the keyboard is pressed i put this code on the debugger object that runs seperate from the rest of the wall of text

Post Merge: March 22, 2013, 09:39:38 PM
this'd be  easier if we BOTH could run test compiles of my src with your code (the GM installer i tried to give you installs the purchased version for free


Title: Re: DiddyKong's BRSTM Renamer **UPDATED**
Post by: DarkPikachu on March 22, 2013, 09:43:26 PM
run it when you want to perform file operations that require data from the file.

such as apparently increasing the volume of a brstm

you'll need to be able to read/write 32bit values for that


and yea... I figured it was the shift key...
(it's a pain to type everything... even on wii)

anyways... if you're going to send my function through the shift key, then why not send file_bin_read_byte() as well... just sayin... :P


again...
run it when you need yo read 4-byte structures as an int or write an int as a 4-byte structure.


Title: Re: DiddyKong's BRSTM Renamer **UPDATED**
Post by: Diddy Kong on March 22, 2013, 10:13:00 PM
the shift key runs the whole thing at once, the file variables 
is set by the load file object (this setting is nearly isolated from your script, i only simply added another variable for it to set)
1 and 2 were to set the other two variables i dont kow what to do with so i let those be settable by you during runtime


Title: Re: DiddyKong's BRSTM Renamer **UPDATED**
Post by: DarkPikachu on March 23, 2013, 05:48:31 AM
as stated before...

value_read = bu32( file_object, data_offset, "" )

an empty string tells the function to read from the supplied file at the given data offset.

in the code I renamed the variables to f,o,v as well as explained what argument(0-2) was used for...
I think you overlooked that :P



lol I feel like Revel8n when he was explaining Melee DAT structures to me back when I started developing MAV XDD
you can still find that on emutalk :D


Title: Re: DiddyKong's BRSTM Renamer **UPDATED**
Post by: jdaster64 on March 23, 2013, 08:40:15 AM
Hmm, I might be able to help convert floating-points (decimal) to their integer encodings and vice versa if you still need that; I'll experiment with it later today.


Title: Re: DiddyKong's BRSTM Renamer **UPDATED**
Post by: DarkPikachu on March 23, 2013, 09:48:27 AM
Hmm, I might be able to help convert floating-points (decimal) to their integer encodings and vice versa if you still need that; I'll experiment with it later today.
PLEASE =3

google searching through VTunnel on Wii connected to a phone's hotspot that only provides https access is more than a hastle. D=
and slow =/

I can read IEEE floats of literally any size. (even 5-byte encoded floats)

but I can't write them.

I'll explain more on my UMC thread in this board...
(don't want to clutter up Diddy's thread any more than it already is)

sry bout that Diddy =(
I can delete some of my posts if you want?? :)


Title: Re: DiddyKong's BRSTM Renamer **UPDATED**
Post by: Diddy Kong on March 23, 2013, 11:50:07 AM
PLEASE =3

google searching through VTunnel on Wii connected to a phone's hotspot that only provides https access is more than a hastle. D=
and slow =/

I can read IEEE floats of literally any size. (even 5-byte encoded floats)

but I can't write them.

I'll explain more on my UMC thread in this board...
(don't want to clutter up Diddy's thread any more than it already is)

sry bout that Diddy =(
I can delete some of my posts if you want?? :)
it's contributing info wise, or other, to the program in topic, is it not?
leave them there its because of that, its attracting programming attention


Title: Re: DiddyKong's BRSTM Renamer **UPDATED**
Post by: DarkPikachu on March 23, 2013, 01:20:49 PM
it's contributing info wise, or other, to the program in topic, is it not?
leave them there its because of that, its attracting programming attention
your point has been made :)
and I fully agree with it XDD

though that programming attention is for UMC...
(not trying to gain by using your thread, that line just slipped) :P

I still need to finish my post :P


for some tips on your program, I'd reccomend leaning how to do this stuff yourself instead of using other programs to do it for you ;)

for example, internal file handling using an 8bit interger with each value being a byte of the file :)
(UMC currently does that)

I'm actually working on archive handling with file extraction...
(a smart file system for UMC)

anyways...
for you, another expert thing would be your own basic audio editor ;)

bacically, something that's able to pitch-shift, re-loop, etc...

you could help out BJ by writing that :)



in a way, I'm helping BJ out by learning GL and figuring out nintendo's GX formatting.
(GX is GL with a few modifications)


Title: Re: DiddyKong's BRSTM Renamer **UPDATED**
Post by: jdaster64 on March 23, 2013, 01:21:02 PM
K, I got it working in C++; given a 32-bit FP value "val", here's a pseudocode function/script that returns a 32-bit integer "enc":

unsigned int enc = 0;

if (val == 0.0)
    return enc; //00000000

if (val < 0.0)
    enc += 2^31; // sets first bit of 32-bit to 1 if negative
    val = val*-1;

int exp = 0;

while (val < 1.0 || val >=2.0)
    if (val < 1.0)
        val *= 2.0;
        exp -= 1;
    else
        val /= 2.0;
        exp += 1;

// val is now scaled so that 1 <= val < 2

enc += 2^23 * (exp+127); // adds exponent bits
enc += round((val-1)*2^24); // adds last 23 bits

Hooray for half a semester of C++ programming!

Here (http://dl.dropbox.com/u/64507723/FPConvert.exe)'s the .exe file I made, if you want to test it further.  EDIT: and here (http://dl.dropbox.com/u/64507723/FPConvert.txt)'s the actual C++ code I used. The bottom for loop basically just prints the number in hex form.


Title: Re: DiddyKong's BRSTM Renamer **UPDATED**
Post by: DarkPikachu on March 23, 2013, 01:28:31 PM
JD
post that on my thread :/


that's for UMC, not this...


Title: Re: DiddyKong's BRSTM Renamer **UPDATED**
Post by: jdaster64 on March 23, 2013, 01:30:47 PM
Oh, I wasn't aware, sorry about that.


Title: Re: DiddyKong's BRSTM Renamer **UPDATED**
Post by: Diddy Kong on March 23, 2013, 02:21:09 PM
your point has been made :)
and I fully agree with it XDD

though that programming attention is for UMC...
(not trying to gain by using your thread, that line just slipped) :P

I still need to finish my post :P


for some tips on your program, I'd reccomend leaning how to do this stuff yourself instead of using other programs to do it for you ;)

for example, internal file handling using an 8bit interger with each value being a byte of the file :)
(UMC currently does that)

I'm actually working on archive handling with file extraction...
(a smart file system for UMC)

anyways...
for you, another expert thing would be your own basic audio editor ;)

bacically, something that's able to pitch-shift, re-loop, etc...

you could help out BJ by writing that :)



in a way, I'm helping BJ out by learning GL and figuring out nintendo's GX formatting.
(GX is GL with a few modifications)
well my main purpose of the external programs was for MKW mode
to pitch shift only,  not to be a brawlbox (brstm) killer

this program was meant to be aimed at noobs who cant even as much as look at a song ID txt list
ans to make sawnd insertation more simple and works unlike supersawndz

every time you reference your program, im seeing this as connections and relations between what we want to do so thats okay

jaklub created sawndz my app simply uses it to insert sawnd files, the copier simply backs up the brsar, copies it to the program directory FOR the user, renames the sawnd file (like sawndz012 does) then tells sawndz to do its thing, (which i put a wait for program end line here) , after in which the brsar is copied BACK to the sd card , which is crap i tell people who come to the chat for this to do


Title: Re: DiddyKong's BRSTM Renamer **UPDATED**
Post by: DarkPikachu on March 23, 2013, 03:44:21 PM
well my main purpose of the external programs was for MKW mode
to pitch shift only,  not to be a brawlbox (brstm) killer
well...
why not try to put brbx to shame until it's able to get better :)
(programmers like a little load off their back like that) :P

Quote
this program was meant to be aimed at noobs who cant even as much as look at a song ID txt list
ans to make sawnd insertation more simple and works unlike supersawndz
that's fine...
but it was your pitch shifting implamentation that inspired the other things I've brought up :)

Quote
every time you reference your program, im seeing this as connections and relations between what we want to do so thats okay
yea...
but I don't want others to mistake my inputs for something to help me on and start using your thread for that ;)

Quote
jaklub created sawndz my app simply uses it to insert sawnd files, the copier simply backs up the brsar, copies it to the program directory FOR the user, renames the sawnd file (like sawndz012 does) then tells sawndz to do its thing, (which i put a wait for program end line here) , after in which the brsar is copied BACK to the sd card , which is crap i tell people who come to the chat for this to do
just a basic interface for now... yea...
as you've stated was your original idea.

though now you're doing stuff that could be dealt with at an advanced level...
I see you're just using a cmd interface basically...
(no different from programming a .bat file)

*reads my last 2 lines*
there's an idea I could use...

GM can basically make exe's that act in place of .bat files :3
(not all compy's can run .bat files)

think you could input the cmd-line operations for the .bat into GM and compile an exe that performs the operations of the .bat?? :)

if so, thanx =D
and here's the operations:
-------------------------------------
@echo off
data\Python272\python.exe UMC_loader.py
-------------------------------------

UMC dev4 has the custom icon to use ;)


Title: Re: DiddyKong's BRSTM Renamer **UPDATED**
Post by: Diddy Kong on March 23, 2013, 05:03:53 PM
well...
why not try to put brbx to shame until it's able to get better :)
(programmers like a little load off their back like that) :P
that's fine...
but it was your pitch shifting implamentation that inspired the other things I've brought up :)
yea...
but I don't want others to mistake my inputs for something to help me on and start using your thread for that ;)
just a basic interface for now... yea...
as you've stated was your original idea.

though now you're doing stuff that could be dealt with at an advanced level...
I see you're just using a cmd interface basically...
(no different from programming a .bat file)

*reads my last 2 lines*
there's an idea I could use...

GM can basically make exe's that act in place of .bat files :3
(not all compy's can run .bat files)

think you could input the cmd-line operations for the .bat into GM and compile an exe that performs the operations of the .bat?? :)

if so, thanx =D
and here's the operations:
-------------------------------------
@echo off
dataPython272python.exe UMC_loader.py
-------------------------------------

UMC dev4 has the custom icon to use ;)
the pitch shifting for MKW mode is so people dont have to hex the brstm themselves or manually make their own sped up version of a song, the program does it for them, making it faster to just download ONE brstm, and not worry about having to request a sped up version of it, or hunt for it.
^^^ thats not useful to the brawl side - and is not meaning to replace brawlbox in anyway, brawlbox is for hacking many things, not just audio, its still the primary tool for brstms

pitch shifting was originally not going to be in the program, but i added because i foresaw  MKW users soon to whine about pitch increases being a side effect, so i think one step ahead,  people from MKW LOVE it, even mr bean JR will be using it

as far as people getting the wrong idea from your references to UMC, i will BACK YOU UP on that, and explain how i take certain references as notes or comparisons that can help me


the  code i run that does BATish operations is this line is run for EVERY action and program to run

execute_program("program.exe"," arguments/params",true)

that 3rd argument is a true or false, or 0 or 1,, if true, the runtime pauses until the launched application closes, if false, the runtime continues after launching the external application

btw the arguments otherwise in a bat file, can be changed or outcome'd by variables :P  variables set by the txt file vgmstream spits out are the params used when it runs the standalone brstmmaker

https://www.dropbox.com/s/8fc1x2yndzo31wo/vvvv.exe (https://www.dropbox.com/s/8fc1x2yndzo31wo/vvvv.exe)

and idk why you wanted that ^ but OK :P



Post Merge: March 23, 2013, 05:22:05 PM
Oh, I wasn't aware, sorry about that.
:P


Title: Re: DiddyKong's BRSTM Renamer **UPDATED**
Post by: DarkPikachu on March 23, 2013, 05:33:35 PM
to correct you there...
brbx is the main tool for BUILDING brstms.
there's no possible way to edit them (that I know of) other than hexxing...
why I'm so eagar to see you advance with this thing :D


and thanx :3
I wanted that because some computers (library, school, etc) won't run BAT files.

to run UMC you need to run the BAT file.
though now that I've got the exe (thank you so much), I can run the program even more portably now ^_^


EDIT:
IT WORKS! ^_^
lol thanx diddy :)
though now I have 3 windows that appear...

if you'd like to fix that up, you can DL UMC dev4 and copy the exe to the program directory ;)

can you set a file icon with that??
(take your answer over to my thread plz) :)

EDIT2:
and yea... it doesn't auto-close when closing UMC's window...

windows:
- GM (the exe you just made) :)
- python console
- UMC (GL/SDL window)

EDIT3: finally managed to change the icon :3
+1 for resource hacker XD


Title: Re: DiddyKong's BRSTM Renamer **UPDATED**
Post by: Diddy Kong on March 23, 2013, 11:15:02 PM
to correct you there...
brbx is the main tool for BUILDING brstms.
there's no possible way to edit them (that I know of) other than hexxing...
why I'm so eagar to see you advance with this thing :D


and thanx :3
I wanted that because some computers (library, school, etc) won't run BAT files.

to run UMC you need to run the BAT file.
though now that I've got the exe (thank you so much), I can run the program even more portably now ^_^


EDIT:
IT WORKS! ^_^
lol thanx diddy :)
though now I have 3 windows that appear...

if you'd like to fix that up, you can DL UMC dev4 and copy the exe to the program directory ;)

can you set a file icon with that??
(take your answer over to my thread plz) :)

EDIT2:
and yea... it doesn't auto-close when closing UMC's window...

windows:
- GM (the exe you just made) :)
- python console
- UMC (GL/SDL window)

EDIT3: finally managed to change the icon :3
+1 for resource hacker XD
exe icon technically relates to brstm copier lol
yes, i can put any icon i want, i have a program for that, though i want to use a REAL icon for brstm copier instead of this building block crap :P


Title: Re: DiddyKong's BRSTM Renamer **UPDATED**
Post by: DarkPikachu on March 26, 2013, 05:54:28 AM
download GIMP ;)
it builds and efficiently manages multi-layer icons like the one used in GM exes :)
(including transparency)
 ^ uses PNG alpha-masking for 16-million colors

use Resource Hacker to replace the icon ;)
... wait a minute... what program do you have??


also...
can we take UMC's batch-exe over to my thread plox.
thanx :)

I hope you're not bothered by working on this for me... :/
I do have a few requests and ideas, but I'll ask them on my thread ;)

I've already marked you down in UMC's credits. :D
(since this is a big issue in portability)
 ^ and Ian Mallet is yelling at me about it... lol


Title: Re: DiddyKong's BRSTM Renamer **UPDATED**
Post by: Diddy Kong on March 26, 2013, 11:10:34 AM
download GIMP ;)
it builds and efficiently manages multi-layer icons like the one used in GM exes :)
(including transparency)
 ^ uses PNG alpha-masking for 16-million colors

use Resource Hacker to replace the icon ;)
... wait a minute... what program do you have??


also...
can we take UMC's batch-exe over to my thread plox.
thanx :)

I hope you're not bothered by working on this for me... :/
I do have a few requests and ideas, but I'll ask them on my thread ;)

I've already marked you down in UMC's credits. :D
(since this is a big issue in portability)
 ^ and Ian Mallet is yelling at me about it... lol
i cant design imagry from scratch lol

i have an icon maker, GIMP, and photoshop the ICOFX is used to batch convert a multi res icon package then save it as an ICO which is the only format game maker accepts

Post Merge: March 26, 2013, 11:12:27 AM
we can take the discussion there, but ANYTHING relating to or planning to go into brstm copier goes HERE


Title: Re: DiddyKong's BRSTM Renamer **UPDATED**
Post by: DarkPikachu on March 26, 2013, 12:01:43 PM
i cant design imagry from scratch lol
why not?? :-\
I used Blender (24 and 26) and Paint Shop Pro 7 to make my icon :P
(and a little MS Paint)

Quote
i have an icon maker, GIMP, and photoshop the ICOFX is used to batch convert a multi res icon package then save it as an ICO which is the only format game maker accepts
ICOFX??

I just used gimp to export individual icons:
16 million colors:
-48x48
-32x32
-16x16
256 colors:
-48x48
-32x32
-16x16

and layered them in gimp with highest quality/largest image first (on top) (following the format above)
and exported the full 6 layers as another icon and replaced the exe's gear icon with that...

Quote

Post Merge: March 26, 2013, 11:12:27 AM
we can take the discussion there, but ANYTHING relating to or planning to go into brstm copier goes HERE
of course =3


Title: Re: DiddyKong's BRSTM Renamer **UPDATED**
Post by: Diddy Kong on March 26, 2013, 12:18:54 PM
why not?? :-\
I used Blender (24 and 26) and Paint Shop Pro 7 to make my icon :P
(and a little MS Paint)
ICOFX??

I just used gimp to export individual icons:
16 million colors:
-48x48
-32x32
-16x16
256 colors:
-48x48
-32x32
-16x16

and layered them in gimp with highest quality/largest image first (on top) (following the format above)
and exported the full 6 layers as another icon and replaced the exe's gear icon with that...
of course =3
i lack concept for that.. im not very original or creative in the art/image department
i would need someone to designt an icon or logo for me


Title: Re: DiddyKong's BRSTM Renamer **UPDATED**
Post by: DarkPikachu on March 26, 2013, 12:31:36 PM
ah, I could do that :)
I'll admit I'm not the best artist, but I can do something :P

it may take a moment for me to upload...
(need to have mother's phone)

EDIT: by "a moment" I mean "a few days"...
(mother and her phone, and leaving to go places... yea...)

EDIT:
well I've gotten the layout finished... finally :srs:
do you want the full-size PNG to make the ico yourself,
do you want me to make the ico and send it to you,
or do you want me to do all of the above and include the extra images used in building the main image??


Title: Re: DiddyKong's BRSTM Renamer **UPDATED**
Post by: Diddy Kong on March 26, 2013, 02:54:44 PM
ah, I could do that :)
I'll admit I'm not the best artist, but I can do something :P

it may take a moment for me to upload...
(need to have mother's phone)

EDIT: by "a moment" I mean "a few days"...
(mother and her phone, and leaving to go places... yea...)

EDIT:
well I've gotten the layout finished... finally :srs:
do you want the full-size PNG to make the ico yourself,
do you want me to make the ico and send it to you,
or do you want me to do all of the above and include the extra images used in building the main image??
main png - i have an ICO resource builder


idk, also up to you about the loading banner, if you want to change that...
im leaving it alone :P


Title: Re: DiddyKong's BRSTM Renamer **UPDATED**
Post by: DarkPikachu on March 26, 2013, 03:29:04 PM
I've actually gotten 2 images finished, and personally, I like the alternate better :P

sadly though mother's busy with the phone, so I can't UL...

I'm working on your album now ;)
http://picasaweb.google.com/tcll5850/DiddyKong (http://picasaweb.google.com/tcll5850/DiddyKong)
you can keep watch on here for any image I UL for you :)
(not copying or memorizing the links of the images as they're ungodly long)

a nice trick with Picasa,
you can modify the image size just by modifying it's hot-link :D
all picasaweb images contain 'http://lh (http://lh)*server ID*.ggpht.com/.../.../s*image width*/*image name*.png'
you can change the image width to anything under it's width.
(oversizing it causes it to either disappear or display at it's original size)

EDIT:
the album is created, and I have an image copied to it as a place-holder...


EDIT2:
forgot to mention about the loading banner...

I'd like to work on it yes, but due to issues with mother and the phone, not right now... :/

Post Merge: March 26, 2013, 09:08:25 PM
UL'd them over at SWF...
Picasaweb moble is crap :srs:
and trying to filter the manual link simply gets reparsed in moble view...

they went through all that trouble to program a peice of trash. >:O
what is this garbage.

I'm going to try to get the image links from SWF an UL them to picasa on my wii...
(I can do web uploads at least)

I don't want to use up SWF's space :/

EDIT:
gawd it's like everything's trying to stop me from getting those images up to Picasa...

you know what...
I give up...
they're uploaded, so IDC anymore...


Post Merge: March 27, 2013, 05:50:45 AM
so...
how do you like your images?? =3


Title: Re: DiddyKong's BRSTM Renamer **UPDATED**
Post by: Kabutomaru on April 06, 2013, 12:05:58 PM
This is nice.


Title: Re: DiddyKong's BRSTM copier *NEW UPDATE 2013-06-06
Post by: Diddy Kong on January 10, 2014, 07:47:38 PM
bringing this dusty thread to bump, i want to get feedback and how i can improve the copier for brawl and karting users alike

*i have read the rules and feel this is allowed since its my own thread starting a new brstm copier thread would be very very pointless and probably also against the rules


Title: Re: DiddyKong's BRSTM copier *NEW UPDATE 2014-1-04
Post by: Diddy Kong on April 01, 2014, 06:23:31 PM
NEW UPDATE! http://www.mediafire.com/download/lblllmpibkn61id/BRSTM+COPYER+3.1%282%29.exe (http://www.mediafire.com/download/lblllmpibkn61id/BRSTM+COPYER+3.1%282%29.exe)

this update was launched last week on the custom kart wiki page but i completely forgot about you guys, the main focus of the program, I had been busy making other crap to get back at someone in a programming versus

what was changed was a few minor tweaks to the instruction manual,
a mkw patcher,
a new fix to the sawndz feature, hopefully it doesnt break this time, im ripping hairs out trying to get code to work,

There was code added in preperation for a new way the program will be saving preferences as to make room for associating .sawnd files with the copier for one-click installment weather it be for gecko (lazy put it o for me by just clicking it)  or to install it for riivo (this part is still in progress and wont be out for at least another month, I am aiming to have all the lazy features I want implimented before the servers shut down


Title: Re: DiddyKong's BRSTM copier *NEW UPDATE 2014-4-04
Post by: TheDarkMysteryMan on April 19, 2014, 06:06:49 PM
Great job on the update, however, one thing is still bugging me.

On the last video you made, You redirected the midi's of both the hammer and starpower with BSTRMs using the riivolution mod set (which you didn't have sound bank engine support at that time).

Seeing now it supports gecko and P:M (to some extent) Am i able to patch the file path of the both midi's (Golden hammer and starpower) from SEQ to BSTRM with a file patch just like with riivolution , or is it still impossible for gecko and P:M users?


Title: Re: DiddyKong's BRSTM copier *NEW UPDATE 2014-4-04
Post by: Diddy Kong on April 20, 2014, 09:32:26 PM
Great job on the update, however, one thing is still bugging me.

On the last video you made, You redirected the midi's of both the hammer and starpower with BSTRMs using the riivolution mod set (which you didn't have sound bank engine support at that time).

Seeing now it supports gecko and P:M (to some extent) Am i able to patch the file path of the both midi's (Golden hammer and starpower) from SEQ to BSTRM with a file patch just like with riivolution , or is it still impossible for gecko and P:M users?
the bank slot is not what i modded which is the limit of what the bank engine code can mod, there is a link data to them in the brsar that is not in the bank slots that I modded to make the game use the external "bank" instead of an "internal" one, the type property of the pointer must also be changed from SEQ to STRM otherwise the game will be expecting the brstm to have midi data


Title: Re: DiddyKong's BRSTM copier *NEW UPDATE 2014-4-04
Post by: TheDarkMysteryMan on April 20, 2014, 11:13:17 PM
the bank slot is not what i modded which is the limit of what the bank engine code can mod, there is a link data to them in the brsar that is not in the bank slots that I modded to make the game use the external "bank" instead of an "internal" one, the type property of the pointer must also be changed from SEQ to STRM otherwise the game will be expecting the brstm to have midi data
So basically no or i have to just use riivolution?


Title: Re: DiddyKong's BRSTM copier *NEW UPDATE 2014-4-04
Post by: Diddy Kong on April 21, 2014, 03:25:52 AM
So basically no or i have to just use riivolution?
yup


Title: Re: DiddyKong's BRSTM copier *NEW UPDATE 2015-3-09* SOURCE CODE RELEASED
Post by: Diddy Kong on March 09, 2015, 03:55:54 PM
alright guys, this is the last release of BRSTM copier that I will be working on, so I have decided to release the source code too so anyone can continue it's developement if they wish ( or port it over to another language/OS)

DOWNLOAD (version 4.0) (http://forums.kc-mm.com/Gallery/BrawlView.php?Number=207955)

Source Code (.gmk) (http://www.mediafire.com/download/cussjp11c5ele0m/BETA_NEW_COPIER.gmk)

if any help is needed finding stuff in the source code, let me know.


Title: Re: DiddyKong's BRSTM copier *NEW UPDATE 2015-3-09* SOURCE CODE RELEASED
Post by: Xaturati0n on March 09, 2015, 04:19:03 PM
YOUR DA BEST!


Title: Re: DiddyKong's BRSTM copier *NEW UPDATE 2015-3-09* SOURCE CODE RELEASED
Post by: Diddy Kong on March 11, 2015, 02:14:13 AM
Thanks!