How edit a GBC Banner ?

Discussion in '3DS - ROM Hacking, Translations and Utilities' started by Asia81, May 30, 2015.

  1. Asia81
    OP

    Asia81 In my Ecchi World <3

    Member
    4,881
    2,348
    Nov 15, 2014
    France
    Albi
    I have extracted a GBC Banner (banner.bin).

    And now I want edit the picture and the text and rebuild my custom banner.
    How can i do that ?

    Also, you are good with 3D banner, @Apache Thunder can you help me ?
     
  2. Asia81
    OP

    Asia81 In my Ecchi World <3

    Member
    4,881
    2,348
    Nov 15, 2014
    France
    Albi
    If i want to do that, it's because i want make my own banner for my VC games injected
     
  3. mid-kid

    mid-kid GBAtemp spamBOT

    Member
    879
    961
    Aug 2, 2012
    For the games I've injected, I've just completely replaced the banner with a flat one built by bannertool.
    I usually use the cover images of the games.

    Here's a snippet of my script:
    Code:
    echo "Resizing banner image"
    convert icon.png -resize 256x128 -background transparent -gravity center -extent 256x128 out/icon-banner.png
    echo "Resizing icon image"
    convert icon.png -resize 48x48 -background transparent -gravity center -extent 48x48 out/icon-resize.png
    echo "Creating banner"
    tools/bannertool makebanner -i out/icon-banner.png -ca banner.bcwav -o out/banner.bin
    echo "Creating icon"
    tools/bannertool makesmdh -s "$shorttitle" -l "$longtitle" -p "$publisher" -i out/icon-resize.png -o out/icon.bin
    The convert command is included in imagemagick.

    Apache Thunder knows how to create 3D banners. You should ask him for that.
     
  4. DJPlayer

    DJPlayer Banned

    Banned
    542
    184
    May 21, 2015
    Netherlands
    I want to know "edit" 3D-Banners, too, because the 2D-thing looks boring. Would be cool if Apache Thunger could help us with that
     
  5. Apache Thunder

    Apache Thunder I have cameras in your head!

    Member
    4,096
    4,002
    Oct 7, 2007
    United States
    Levelland, Texas
    Editing/creating 3D banners requires that you use 3D editing software that supports importing/exporting OBJ files. There are free programs like Blender I think. But I have no experience using them. I personally use 3DS Max. But it's not free. Though I think gmax might work. Don't recall if gmax could export obj files or not.

    What you do need is an existing banner as a reference point. Rename banner.bin to banner.bnr. Then extract the cgfx file from it using 3DSExplorer.

    Then use EveryFileExplorer to open the cgfx file. You can then export the model to use as a reference point and to make sure you make things at the correct scale.

    Then once you export the edited model from your 3D modeling program of choice make sure texture paths are correct in the MTL file. Also make sure all edges are visible prior to export because if any are hidden you might end up with missing faces once imported. Also note that alpha blending on textures for 3D models is not currently supported in EveryFileExplorer, so new CGFX files won't have working alpha on textures. So you'll have to work around that.

    Then use EveryFileExplorer to create a new cgfx file (you currently can't modify an existing one) from an OBJ file. Once you have that you can use bannertool to build the banner from that cgfx file.

    Once you have your files ready. You can use a command like this to make bannertool build a banner using a CGFX file instead of a SMDH (which only builds 2D banners):

    Code:
    bannertool makebanner -ci ExampleGraphix.cgfx -a ExampleBannerSound.wav -o banner.bin
    
    (replace example file names with those you are using in your project)
    If you already have a wav file converted to CWAV (not entirely the same as BCWAV though. Keep that in mind), then you can use -ca in place of -a to define your banner sound. I'd recommend something in the 22khz or below range for your banner sound. There's a limit to how large the overall banner will be. If you have a really complex model, you might be more limited with how large the banner sound can be before banner sound playback doesn't work. Overall I think your banner file should not exceed 400 to 500 KB in size once built. Anything larger and you will run into problems.

    Also a model that's too complex will not display at all when you select it on Home Menu. I haven't really tried to pin down what the exact limit is. Try to minimize the texture file size and keep the poly count below 2000 and you should be fine.

    EveryFileExplorer doesn't yet support material animations/skeleton animations. So 3D banners built this way will always do the default spin in place animation. Keep that in mind.
     
    Last edited by Apache Thunder, Jun 1, 2015
  6. DJPlayer

    DJPlayer Banned

    Banned
    542
    184
    May 21, 2015
    Netherlands
    thanks for this information :D
    But is it not possible to just change the Texture of one of the 3D Models without destroying the animation or anything else?
    I want to replace this one with the custom english texture.
    Warning: Spoilers inside!
     
  7. Apache Thunder

    Apache Thunder I have cameras in your head!

    Member
    4,096
    4,002
    Oct 7, 2007
    United States
    Levelland, Texas
    Not at the moment. EveryFileExplorer doesn't currently allow overwriting textures.
     
  8. DJPlayer

    DJPlayer Banned

    Banned
    542
    184
    May 21, 2015
    Netherlands
    Okay, thank you for the answer :/ Hope this will be added sometime
     
  9. Apache Thunder

    Apache Thunder I have cameras in your head!

    Member
    4,096
    4,002
    Oct 7, 2007
    United States
    Levelland, Texas
    EveryFileExplorer hasn't been updated in quite a while now. (going on 6+ months since it was last updated). I stopped tracking it's progress in it's thread now. :(
     
    gamesquest1 likes this.
  10. DJPlayer

    DJPlayer Banned

    Banned
    542
    184
    May 21, 2015
    Netherlands
    that's weird ._. Is it really that hard to add a "replace" function for textures inside of bnr-files? :/
    I guess the Source is open but I don't know how to program something like this