Home Gallery Resources The Team Rules chat Login Register
Pages:  1 ... 21 22 23 [24] 25 26 27 ... 69
Author Topic: BrawlBox v0.78  (Read 635797 times)
0 Members and 2 Guests are viewing this topic.
Sammi Husky
Lol Kitten
*********
Offline Offline

Posts: 873


  • Awards Fiery Topic Renowned Hacker >9000 King for a Day

  • View Profile Awards
    « Reply #345 on: November 12, 2014, 02:39:37 PM »


    Been a while since something was posted here, just wanted to let people know that development hasn't stopped Smiley

    Anywhozits, here's some pictures! Methods! Cheesy Under section 5 will be the methods. Im still working on a few kinks here and there, but for the most part they are completely functional. You can right click->open memory viewer to open directly to the method's target section and offset. Using the section editor of course, so it will disassemble and show the method. This also means you can see linked commands and open relocations, since it's using the section editor. (which is AWESOME for following exactly what a method is doing.) speaking of which...i'm also working on making it so you can double click on any branch or branch link command, click "Open Branch" to jump to where the code would jump to, without doing the math yourself Smiley Just more convenience for following the methods flow

     (Don't mind the red colored nodes, that was just to temporarily show me that external method nodes were working right...though it could stay if people would like?)





    Logged

    pikazz
    Heroic Kitten
    **
    Offline Offline

    Posts: 2286


    Machinimator!

  • Awards Renowned Hacker Pin Collector Good Citizen Helping Hand

  • View Profile Awards
    « Reply #346 on: November 12, 2014, 03:18:04 PM »


    ooooh yeees! this is music in my eyes <3

    cant wait for the BL Goto Cheesy
    will you make it also show in colored text on the linked command like the relocation data does? (example on hex 0x140 you see its colored red because it has a relocationdata linked to it)
    Logged

    Stupid Tinypic :C

    BlackJax96
    Brawl Mod God
    Moderator
    ****
    Offline Offline

    Posts: 4612


  • Awards KCMM Veteran Sniper King for a Day Featured

  • View Profile Awards
    « Reply #347 on: November 12, 2014, 03:20:16 PM »


    Aww yiss, this is great. I've been meaning to add the object parser back.

    One thing though - I've been hesitant to add it back because I don't know if ALL rels used in any game follow this same "null, code, constructors, destructors, constants, objects, BSS, null" kind of format. I know that some brawl rels only use 5 sections instead of 6, which would mean that parsing the 5th section as objects would be incorrect. Another thing is that tree nodes are a bit cumbersome to dynamically manage using code. I was thinking there should be an intuitive object editor that you could optionally open and would be incorporated into the section editor window. It would only find objects if there were strings in the section so it would have no negative effect if used on non-object sections.

    i'm also working on making it so you can double click on any branch or branch link command, click "Open Branch" to jump to where the code would jump to, without doing the math yourself Smiley Just more convenience for following the methods flow

    Wait wait wait lol. I actually already did this. Tongue
    I haven't committed in a while because I'm kind of doing a pretty large rewrite of... things... and I guess I forgot to commit my REL changes. Tongue I'll do that so your code is up to speed with mine first.
    Logged

    E-scope12
    Extreme Kitten
    *******
    Offline Offline

    Posts: 471


    Turnabout Storm

  • Awards Famous Hacker RAGE!! Hyperactive Contributor

  • View Profile WWW Awards
    « Reply #348 on: November 14, 2014, 09:34:20 AM »


    How do I get the position models of a stage with flying platforms attached to it's background model in brawlbox? Like Delfino Plaza. When I play one of Delfino Plaza's chr0 animations, StgDolpic_Bell1, StgDolpic_Bell2, StgDolpic_Shine, StgDolpicKamome_KamomeA, StgDolpicKamome_KamomeB, StgDolpicKamome_KamomeC, StgDolpicKamome_KamomeD, & gr2_StgDolpic_Suimen models don't move along with it & at the end of the animation, the flying platforms don't go down.

    Brawlbox

    In Game
    « Last Edit: November 14, 2014, 09:36:40 AM by E-scope12 » Logged

    E-scope

    [PICTURE REMOVED. Reason: All signature pics must fit a 695x200 frame.]
    [/url]

    pikazz
    Heroic Kitten
    **
    Offline Offline

    Posts: 2286


    Machinimator!

  • Awards Renowned Hacker Pin Collector Good Citizen Helping Hand

  • View Profile Awards
    « Reply #349 on: November 14, 2014, 09:52:07 AM »


    Been a while since something was posted here, just wanted to let people know that development hasn't stopped Smiley

    Anywhozits, here's some pictures! Methods! Cheesy Under section 5 will be the methods. Im still working on a few kinks here and there, but for the most part they are completely functional. You can right click->open memory viewer to open directly to the method's target section and offset. Using the section editor of course, so it will disassemble and show the method. This also means you can see linked commands and open relocations, since it's using the section editor. (which is AWESOME for following exactly what a method is doing.) speaking of which...i'm also working on making it so you can double click on any branch or branch link command, click "Open Branch" to jump to where the code would jump to, without doing the math yourself Smiley Just more convenience for following the methods flow

     (Don't mind the red colored nodes, that was just to temporarily show me that external method nodes were working right...though it could stay if people would like?)






    forgot to ask more of this. will you be able to press on a Method and see what it leads to hex and possible able to change it directly on it instead for going into section[5]? o: let say I want to change Method[0][0] in your pic from external to inside module directly by pressing on it without looking for it in section5?
    will you also make it possible to add Method in a section this way?
    also, keep it red! that way its easy to tell if its used in that module or not!
    Logged

    Stupid Tinypic :C

    Sammi Husky
    Lol Kitten
    *********
    Offline Offline

    Posts: 873


  • Awards Fiery Topic Renowned Hacker >9000 King for a Day

  • View Profile Awards
    « Reply #350 on: November 14, 2014, 04:02:57 PM »


    Aww yiss, this is great. I've been meaning to add the object parser back.

    One thing though - I've been hesitant to add it back because I don't know if ALL rels used in any game follow this same "null, code, constructors, destructors, constants, objects, BSS, null" kind of format. I know that some brawl rels only use 5 sections instead of 6, which would mean that parsing the 5th section as objects would be incorrect. Another thing is that tree nodes are a bit cumbersome to dynamically manage using code. I was thinking there should be an intuitive object editor that you could optionally open and would be incorporated into the section editor window. It would only find objects if there were strings in the section so it would have no negative effect if used on non-object sections.

    Yea i had the same thought. Not all rel's follow the pattern, and i don't like the idea of statically hard-coding in the section to be parsed based on index either. It's really only a placeholder Tongue I had a similar idea to make a new control + form for the method editor, that way it'd be easier to edit them and at the same time it would be easier to add / delete methods without coding the functionality into the section editor.

    Wait wait wait lol. I actually already did this. Tongue
    I haven't committed in a while because I'm kind of doing a pretty large rewrite of... things... and I guess I forgot to commit my REL changes. Tongue I'll do that so your code is up to speed with mine first.

    Well...whoops haha xP Alrighty, well I'll be looking forward to the changes. I wish i had internet right now then i woulda seen this before i actually committed it xD I'll be on the lookout.

    forgot to ask more of this. will you be able to press on a Method and see what it leads to hex and possible able to change it directly on it instead for going into section[5]? o: let say I want to change Method[0][0] in your pic from external to inside module directly by pressing on it without looking for it in section5?
    will you also make it possible to add Method in a section this way?
    also, keep it red! that way its easy to tell if its used in that module or not!

    Well, i intended to allow you to open the relocation's offset in section[5] as well, but i figured i would wait until i finished the actual method editor (or something to the same effect?) before doing that. But don't worry i got ya Wink
    Logged

    uyjulian
    Advanced Kitten
    ***
    Offline Offline

    Posts: 25


    View Profile Awards
    « Reply #351 on: November 14, 2014, 04:14:43 PM »


    All right, I might try to port the audio code to OpenAL again, since I learned how to use OpenAL.
    Logged

    BlackJax96
    Brawl Mod God
    Moderator
    ****
    Offline Offline

    Posts: 4612


  • Awards KCMM Veteran Sniper King for a Day Featured

  • View Profile Awards
    « Reply #352 on: November 14, 2014, 05:31:26 PM »


    All right, I might try to port the audio code to OpenAL again, since I learned how to use OpenAL.

    If you're going to add that to BrawlLib, make sure there's an option to choose between OpenAL and DirectSound as default.

    I had a similar idea to make a new control + form for the method editor, that way it'd be easier to edit them and at the same time it would be easier to add / delete methods without coding the functionality into the section editor.

    That's probably a better idea. Tongue I was just thinking about being able to see the hex still because I don't know if the object parser reads EVERY byte in the section. With a parser, we need to worry about rebuilding the objects section and how that should be done so that no byte is left out (and ideally, the section doesn't appear changed if it's rebuilt with no changes).
    Logged

    Ondo
    Newbie Kitten
    *
    Offline Offline

    Posts: 5


    View Profile Awards
    « Reply #353 on: November 29, 2014, 11:16:45 PM »


    So I figured out a new technique for reducing the size of CSPs substantially, and it'd be nice if BrawlBox could be updated to support it.

    It's desirable to store CSPs in CI8 format, but limitations on the compressed size of common5.pac make that impossible if there are too many characters and costumes.  However, many costumes are just recolors.  Since we want to store them in a format that separates the main image data and the palette, it'd be nice to store just one copy of the main image data and then a palette for each recolor.

    In testing, I've found this is possible - each TEX0 does require its own header, in order to point to its name, but it is possible to put, for example, 9 TEX0 headers in a row, followed by their data, as long as each header has its length changed to include all the following headers.  (So with 9 the first has length 0x240, the second 0x200, and so on, until the last is just the standard 0x40.)

    I've done a proof-of-concept test, available here. To see it, just import that BRRES over sc_selcharacter_en > char_bust_tex_lz77 > MiscData[17], and change the compression to ExtendedLZ77 (or just LZ77).  It's the Smash 3 textures for Mr. Game & Watch, but note that while they all share the same image data I did not rearrange the palettes so that would actually work well.

    So there's obviously a lot of work to get this to a place where it's easy to use.  I'm wondering, in particular, what the interface in BrawlBox should be.  One possibility, for minimal support, is just having an option on a BRRES to compact it, where it just goes through and looks for identical textures and merges them if found, relying on other tools to create textures that will work with that.

    More thorough support might be having an option to import multiple images at once, ideally including doing the quantization with all of them together, to make image data that works as well as possible with each of the palettes.  Not sure how the UI would work for that, though.

    My current plan is to work on some simple tools in Ruby for doing much of this (as I find that more enjoyable to work in, particularly when experimenting on things).  As I've been looking into quantization algorithms, I'm hoping to at some point add another algorithm to BrawlBox, whether or not it includes support for multiple images at once.
    Logged

    Ricky (Br3)
    KC:MM Family JesterㅤThe Last One Here
    Administrator
    ******
    Offline Offline

    Posts: 7777


  • Awards KCMM Storyteller Decade Staff RAGE!! Warm Welcomer

  • View Profile WWW Awards
    « Reply #354 on: December 01, 2014, 08:17:35 AM »


    So I figured out a new technique for reducing the size of CSPs substantially, and it'd be nice if BrawlBox could be updated to support it.

    It's desirable to store CSPs in CI8 format, but limitations on the compressed size of common5.pac make that impossible if there are too many characters and costumes.  However, many costumes are just recolors.  Since we want to store them in a format that separates the main image data and the palette, it'd be nice to store just one copy of the main image data and then a palette for each recolor.

    In testing, I've found this is possible - each TEX0 does require its own header, in order to point to its name, but it is possible to put, for example, 9 TEX0 headers in a row, followed by their data, as long as each header has its length changed to include all the following headers.  (So with 9 the first has length 0x240, the second 0x200, and so on, until the last is just the standard 0x40.)

    I've done a proof-of-concept test, available here. To see it, just import that BRRES over sc_selcharacter_en > char_bust_tex_lz77 > MiscData[17], and change the compression to ExtendedLZ77 (or just LZ77).  It's the Smash 3 textures for Mr. Game & Watch, but note that while they all share the same image data I did not rearrange the palettes so that would actually work well.

    So there's obviously a lot of work to get this to a place where it's easy to use.  I'm wondering, in particular, what the interface in BrawlBox should be.  One possibility, for minimal support, is just having an option on a BRRES to compact it, where it just goes through and looks for identical textures and merges them if found, relying on other tools to create textures that will work with that.

    More thorough support might be having an option to import multiple images at once, ideally including doing the quantization with all of them together, to make image data that works as well as possible with each of the palettes.  Not sure how the UI would work for that, though.

    My current plan is to work on some simple tools in Ruby for doing much of this (as I find that more enjoyable to work in, particularly when experimenting on things).  As I've been looking into quantization algorithms, I'm hoping to at some point add another algorithm to BrawlBox, whether or not it includes support for multiple images at once.

    Wonderful idea, would work great when it's all about recolors.

    Too bad it wouldn't work well when imports are involved... But at least it will help opening space.
    Logged

    ㅤlㅤ

    ㅤlㅤ


    Sammi Husky
    Lol Kitten
    *********
    Offline Offline

    Posts: 873


  • Awards Fiery Topic Renowned Hacker >9000 King for a Day

  • View Profile Awards
    « Reply #355 on: December 04, 2014, 09:51:39 PM »


    Oh? what have we here?  Awesome Face

    « Last Edit: December 04, 2014, 10:13:01 PM by Sammi Husky » Logged

    DSX8
    Stage/Character Importer
    Never Gonna Give You Up
    *
    Offline Offline

    Posts: 9288


    meow~

  • Awards Good Citizen >9000 King for a Day Heart Container

  • View Profile Awards
    « Reply #356 on: December 04, 2014, 11:59:41 PM »


    I likey!! Bout time bb does online/program updates.. Awesome Face
    « Last Edit: December 05, 2014, 01:47:32 AM by DSX8 » Logged

    Follow me on facebook and Twitter!!!
    https://www.facebook.com/DMNSLYRX8              https://twitter.com/Demonslayerx8

    3DS Friend Code: 0705-6436-8834              NNID: Demonslayerx8              PSN: Demonslayerx8



    Mr. AI | Sluigi123
    Expert Kitten
    ****
    Offline Offline

    Posts: 77


    顔へのフーズボール!

  • Awards Favorite'd Featured

  • View Profile Awards
    « Reply #357 on: December 05, 2014, 12:25:27 AM »


    I actually didn't see that one coming at all.
    « Last Edit: December 06, 2014, 06:12:28 AM by sluigi123 » Logged


    Brandondorf9999
    Expert Kitten
    ****
    Offline Offline

    Posts: 80

  • Awards Hyperactive Contributor Shadow the Pinhog

  • View Profile Awards
    « Reply #358 on: December 05, 2014, 05:41:05 PM »


    Oh? what have we here?  Awesome Face




    Would you distribute this version here please? I got coding and stuff to edit through the dol and rel files.
    Logged

    BlackJax96
    Brawl Mod God
    Moderator
    ****
    Offline Offline

    Posts: 4612


  • Awards KCMM Veteran Sniper King for a Day Featured

  • View Profile Awards
    « Reply #359 on: December 05, 2014, 07:46:11 PM »


    I actually didn't that one coming at all.

    -> didn't that one coming

    Would you distribute this version here please? I got coding and stuff to edit through the dol and rel files.

    Entitled much?

    I think sammi would be ecstatic to give you an unstable build just to hear you complain about all the unfinished features you'd find.

    Not like you can't go and compile it yourself right now if you really wanted to, anyway.
    « Last Edit: December 05, 2014, 07:47:50 PM by BlackJax96 » Logged

    Pages:  1 ... 21 22 23 [24] 25 26 27 ... 69
    Print
    Jump to: