Application to modify .RBM files (help needed)

Search This thread

wffarrel

Senior Member
Feb 15, 2012
107
13
Asia
Tester 8500

As always I'm here willing to test your project...

Looks promising!

Any pre-alpha version so we can test for all?
 

k8500

Senior Member
As always I'm here willing to test your project...

Looks promising!

Any pre-alpha version so we can test for all?

This is already far beyound the pre-alpha stage. I'd say, it's in beta now. If you want to test, download dassRBM from the previous post and check this post for usage.

EDIT: Also check the included sample folder for an example on how to convert PNGs to RBM items. Ignore the transparency and mask settings for now, these should both be zero in every case. Maybe also check this post.
 
Last edited:

wffarrel

Senior Member
Feb 15, 2012
107
13
Asia
Tester 8500

This is already far beyound the pre-alpha stage. I'd say, it's in beta now. If you want to test, download dassRBM from the previous post and check this post for usage.

EDIT: Also check the included sample folder for an example on how to convert PNGs to RBM items. Ignore the transparency and mask settings for now, these should both be zero in every case. Maybe also check this post.

Too technical at this stage maybe I'll try for your official release w/ easy and clearer instruction anyway I'm following this project almost everyday...

Thnak k8500 & adfree...

God bless
 
  • Like
Reactions: hero355

k8500

Senior Member
Too technical at this stage maybe I'll try for your official release w/ easy and clearer instruction anyway I'm following this project almost everyday...

Thnak k8500 & adfree...

God bless

To be honest, I'm not planning on doing a GUI or something else. This will stay command line, and the interface will stay the same. I do hope, however, that someone will integrate my code into ho1ods discontinued Wave Remaker (best solution for everyone). Maybe I'll provide clearer instructions later on.
 
  • Like
Reactions: adfree and hero355

wffarrel

Senior Member
Feb 15, 2012
107
13
Asia
Tester 8500

To be honest, I'm not planning on doing a GUI or something else. This will stay command line, and the interface will stay the same. I do hope, however, that someone will integrate my code into ho1ods discontinued Wave Remaker (best solution for everyone). Maybe I'll provide clearer instructions later on.


GOOD!

A clearer instruction that would help probably many general user here.
 

navinng

Senior Member
Jun 30, 2011
68
24
EDIT: Have you also tried 32bpp PNGs or 24bpp with alpha support?


EDIT2: I guess I just can't let this be (check the attachment). When trying this, keep in mind to use a different software for PNG creation. Or use one of those included in the sample folder.

I have always tried using the sample png before testing the ones I made and they also dont work.

I extracted HsMenuItem_001_80x80x32 as png using wave remaker and recreated a rbm using your tool and its also not working
 
Last edited:
  • Like
Reactions: adfree

navinng

Senior Member
Jun 30, 2011
68
24
Thanks K8500.....My new Quick Panel....Also I think 32 bits bpps are getting corrupted the same way in Wave Remaker also...So if refered to its source it won't work.

I have attached the file if any one wants it.
 

Attachments

  • 20121002122619.jpg
    20121002122619.jpg
    209.3 KB · Views: 318
  • QuickPanelBmp.rar
    10.3 KB · Views: 75
Last edited:

k8500

Senior Member
Thanks K8500.....My new Quick Panel....Also I think 32 bits bpps are getting corrupted the same way in Wave Remaker also...So if refered to its source it won't work.

Wow, absolutely amazing! Even the font fits great!

32bpps images get corrupted in Wave Remaker because Wave Remaker uses the wrong mode. Wave Remaker uses premultiplied alpha (that means that each R-G-B-value is multiplied by the alpha value / 256 first), while the correct way is using non-premultiplied alpha. That has nothing to do with the LZ32 coding/decoding algorithm, though. Anyways, I'll find out.
 
Last edited:
  • Like
Reactions: freddy5 and navinng

k8500

Senior Member
dassRBM v0.8d - with analysis functionality

Alright, I got something new for you. I guess LZ32 is still not fixed (although I tried some stuff again...), but it now has functionality to automatically analyze all RBMs in a folder and store the results in CSV files. Check the attached CSV files for a sample of analysis in action (FW used for this sample: XXLG1, but identical with XXLA1 anyways). Use Excel, LibreOffice, OpenOffice or anythign similar to open CSV files!

I'll now change the first post to include detailed usage instructions.
 

Attachments

  • summary_sample.7z
    57.5 KB · Views: 18
Last edited:
  • Like
Reactions: hero355 and navinng

adfree

Senior Member
Jun 14, 2008
10,619
6,175
Samsung Galaxy Watch 4
Samsung Galaxy S22
Slow progress...

Reduced RC1 to 11 MB but I can't identify upper Menu Buttons + bottom ... :confused: :eek:
Around 50 RBMs nuked by empty content...

Best Regards
 

Attachments

  • 20101231200040.jpg
    20101231200040.jpg
    51.1 KB · Views: 169
  • 20101231200126.jpg
    20101231200126.jpg
    69.9 KB · Views: 167
  • 20101231200145.jpg
    20101231200145.jpg
    72.4 KB · Views: 169
  • 20101231200511.jpg
    20101231200511.jpg
    22.9 KB · Views: 145
  • 20101231200521.jpg
    20101231200521.jpg
    60.2 KB · Views: 168

k8500

Senior Member
Slow progress...

Reduced RC1 to 11 MB but I can't identify upper Menu Buttons + bottom ... :confused: :eek:
Around 50 RBMs nuked by empty content...

Best Regards

I'd like to help with those upper/lower menu stuff, but no idea yet. QMG is a mystery to me :-/. Just a suggestion: Try looking in other FWs. The China ZCLB4 has the mainly the same items, but compressed differently (LZ or QMG in other modes). Bada 1.2 FWs use mainly LZ compression.

Another suggestion in getting even more mem free without sacrificing as much looks would be to replace images by lower cost ones. Regular patterns are cheaper than complicated images. One color images are the cheapest. That might be something to consider for Taxidriver's BadaNext project, too: Nice looks and great savings.

... and before I forget it: absolutely great! I'm planning to use this as a base in my next CFW.
 
Last edited:

hero355

Senior Member
Dec 10, 2011
1,674
1,882
Baku
hi king can you please tell me after extracting .rmb how to convert .img file to other format ? Because i couldn't understand
 
Last edited:

k8500

Senior Member
hi king can you please tell me after extracting .rmb how to convert .img file to other format ? Because i couldn't understand

Converting IMG to anything else is not possible with this software. Use Wave Remaker for these conversions :). Only PNG to IMG (LZ16) works in dassRBM. I do hope that some talented programmer merges my code with Wave Remaker, though.
 
  • Like
Reactions: hero355

k8500

Senior Member
On another note (to everyone): If you do some OS modifications with this yourself (same as adfree), show us, even if in an early stage!

This software opens up a whole batch of new possibilities and I hope it will get put to good use.
 

mylove90

Senior Member
Feb 27, 2011
1,081
749
33
Cairo
I tested your tool and i have to say it is pretty good tool

But can you please make qmg files viewable ??
I mean after decompressing rbm file convert qmg to png for example for easier viewing and editing

Using Wave remaker to view only the files is not nice :(
Maybe you can Wave Remaker's function to convert files ?!

Best Regards
 

k8500

Senior Member
I tested your tool and i have to say it is pretty good tool

But can you please make qmg files viewable ??
I mean after decompressing rbm file convert qmg to png for example for easier viewing and editing

Using Wave remaker to view only the files is not nice :(
Maybe you can Wave Remaker's function to convert files ?!

Best Regards

I know - using Wave Remaker for viewing and dassRBM for editing is not a pretty solution. I could code something to convert from IMG to PNG within an hour or two, but QMG is much more complicated. Even h010ds tool just uses some complicated, not understandable code based on decompilation, and that doesn't even work reliably for every kind of QMG (not for mode 9, for example). If we had an actually reliably working QMG decoder, that would be a whole different story.

I already mentioned it a few times, but the best solution for most users would be to integrate dassRBM functionality into WaveRemaker, for example setting RBM up as a new FW file input format (same as .RC1, .CSC, .APP, .PFS, .FFS).
 
Last edited:
  • Like
Reactions: adfree and hero355

Top Liked Posts

  • There are no posts matching your filters.
  • 12
    dassRBM v0.9

    New since last version:
    • PNG to LZ32 conversion working.
    • Some minor bugfixes.
    • Windows batch files (*.bat) include a PAUSE now.
    • Some minor source code optimizations.

    Noteworthy stuff created with this:

    Usage instructions:
    Code:
    dassRBM - Usage Guide
    ~~~~~~~~~~~~~~~~~~~~~
    
    These instructions are written for Microsoft Windows, but should work 
    for anything else, too. Given that you're able to compile dassRBM for 
    your system, of course. 
    
    
    To extract a RBM file:
    ~~~~~~~~~~~~~~~~~~~~~~
    
    [1] Put dassRBM.exe, extract_all.bat and the RBM file into one folder. 
    [2] Run extract_all.exe.
    -> You'll get one .img/.qmg file for each item in the RBM and one 
    "build" CSV file containing the instructions for rebuild of the RBM 
    file. The "build" CSV file can be opened using 
    Excel/OpenOffice/LibreOffice or similar. See "editing build CSV files" 
    for editing. 
    
    
    To (re)build a RBM file:
    ~~~~~~~~~~~~~~~~~~~~~~~~
    
    [1] Put dassRBM.exe, build_all.bat, all items to include (img/qmg/png) 
    and the CSV file into one folder.
    [2] Run build_all.exe.
    -> All the items will be used as detailed in the CSV file to (re)build 
    the RBM file. 
    
    
    To analyse RBM files:
    ~~~~~~~~~~~~~~~~~~~~~
    
    [1] Put dassRBM.exe, summarize_all.bat, and all RBMs to analyse into one 
    folder.
    [2] Run summarize_all.exe.
    -> You'll get a comprehensive analysis of all RBM files in 
    summary_items.csv (for items included in the RBM files) and 
    sammary_rbms.csv (for RBM overview). Open in 
    Excel/OpenOffice/LibreOffice or similar. 
    
    
    Editing CSV build files
    ~~~~~~~~~~~~~~~~~~~~~~~
    
    To completely remove one item:
    Just delete the whole line/row corresponding to the item you no longer 
    want. Rebuild the RBM file (see above). Keep in mind that doing this, 
    and with it effectively changing the numbering for following items, is 
    not recommended for RBMs used in Hardware. 
    
    To safely remove one item:
    Change the value in the "type" column to zero ("0"). Rebuild the RBM 
    file (see above). The item ordering will be preserved this way, and (as 
    long as the item is really not used) it is safe to do so. 
    
    To add an IMG/QMG as new item or replace existing:
    Add a row/line to the CSV file or replace an existing row. ID must be 
    sequential (no double IDs, IDs in order, same as replaced row), 
    resolution (width/height) and bpp must be correct. Type is 2 for IMG and 
    3 or 5 for QMG (refer to the original source for choice between 3/5). 
    Everything else may be zero (refer to the original source for alpha/mask 
    anyways for the correct values). 
    
    To add a PNG file as new item or replace existing:
    Add a row/line to the CSV file or replace an existing row. ID must be 
    sequential (no double IDs, IDs in order, same as replaced row), 
    resolution (width/height) must be correct and bpp must be 16 or 32 (32 
    for better quality and alpha channel). Type is 1. Alpha/mask is zero.


    Original first post:
    Code:
    I took a look at ho1ods discontinued Wave Remaker source code, hoping 
    that I could code a small command line application for modification of 
    .RBM files myself. 
    
    Here's my findings: 
    
    [1] An RBM file is a 'frame' containing one or more images.
    [2] The structure of the .RBM file is pretty simple, but the formats
        of the embedded images are not.
    [3] Four different image formats are used: LZ16, LZ32, QMG16, QMG32. 
    [4] Most interesting stuff is QMG32 compressed. 
    
    Now, I could manage to write the code to handle the RBM structure and 
    the LZ16/LZ32 formats, but I don't have any idea about QMG. Is there 
    already such a thing as a working QMG encoder? If not, can anyone code 
    one? 
    
    EDIT: I think I should also write something about this: 
    
    [B]What is it good for?[/B]
    For a whole lot of stuff! If we're able to edit .RBM files we can change 
    aspects of the Bada GUI that we haven't been able to change before. We 
    could effectively do a complete GUI redesign, going far beyound what's 
    possible with themes. We could finally have Bada Apps with proper icons 
    in the main menu. We could change the icons in the drop down bar.... 
    etc...
    8
    my Wsrsrcindicator icons numbers

    lmpQD.png
    VFTbW.png
    lCYhk.png
    4q2Xe.png
    7
    This can facilitate to change images in FW. I released a new beta of WR with implementation of QMG Compression mode 9 and the possibility to choose both method 3 or 5.
    But this compression is not intended for big image so :
    - a warning is displayed to test a special mode for medium size image (not yet tested in real FW)
    - an error message will be displayed if an image is too big and the compression will stop.
    In this case, use STD for QMG compression and QMG image compressed by STD can be directly used to replace existing image in WR.
    Thus alpha color and mask can be changed.

    2.9.6.8
    Fixed : colors for some images are not correct
    Added : Edit Mask/Transparence
    Added : Compression rate is displayed in tooltip
    Added : Dialogbox for replacing images
    Added : Implementation of QMG compression mode 9 method 3/5
    Added : Replace with QMG file compressed with STD

    Wave_Remaker_beta.zip
    6
    I know now why RC2 saved with WR are smaller.
    All images wasn't extracted.
    Now they are
    61271394.jpg


    WR last version
    6
    replacing an image in an RBM file is now integrated and RBM file is automatically saved. In addition, two additional compression formats for QMG were added.
    I'm waiting for your feedback.

    New version of WR (2.9.6.6)

    Added : a Dump can now be opened by simply Drag&Droping a directory in both view
    Added : open image in RBM with KeyUp/KeyDown
    Added : QMG can now be opened directly by Drag&Drop, button "QMG view" in 'utils' tab is now obsolete
    Added : some integrity tests for CSC files
    Added : Visualization of QMG method 3 / mode 65 + mode 137
    Added : image in RBM can now be replaced