[Bada Software and Hacking General] k8500:
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:

Adfree's replaced Samsung logo

Adfree's ultra slim RC1 file, download here

Hero355's Turko CFW v8 quick panel

Hero355's alternate Turko CFW v8 quick panel

Mylove90's b&w theme, quickpanel, white dial keyboard

Navinng's edited quickpanel

Navinng's new volume control

nip_miniw's green dial keyboard

RuLe89's quickpanel

Yakapa40's brown dial keyboard

Yakapa40's complete redesign

Yakapa40's indicator icon numbers

Usage instructions:

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:

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...