Island Xtreme Stunts (.BMB)

Textures, recreate headers, conversions, algorithms and parsing of image files
Xiron
Posts: 104
Joined: Sat Sep 12, 2015 7:09 am

Island Xtreme Stunts (.BMB)

Post by Xiron »

Edit - File decompressor: http://aluigi.org/bms/island_xtreme_stunts.bms
(still needs work after the decompression)

What I've gathered thus far is that the BMB file is a package of multiple materials at once, and it may or may not just hold one texture. I've also found that:

  • All files have an IDX2 somewhere at the start of every file (header?), followed by what seems to be the list of the texture(s) in the file [i.e. chicken, stud_bla, blackskin, etc]
  • All files have an INFO section(s) (comes after texture name)
  • Some files notably have a MIPM(s). Sometimes, non-existent, appearing once, or even twice.
  • All files have an IMAG(s) section (comes after INFO)
  • All files have an END(s) (comes after IMAG)

The (s) means it is dependant on if either one or multiple materials are used in a file or not.

I've attached a few sample .BMB files, as well as their ripped counterparts that were gotten via NinjaRipper, as well as included a few other files which are relatively short, making them possibly easier to study, especially since the pattern is very repetitive.
BMB Materials.zip

Please note that CHAR002 (aka Tree Alpha) may be the only one in the attachment that uses alpha transparency, and funnily enough the I-NFO is broken up as well as the I missing from IMAG...
Last edited by Xiron on Sat Jan 30, 2016 11:44 am, edited 4 times in total.
Xiron
Posts: 104
Joined: Sat Sep 12, 2015 7:09 am

Re: Island Xtreme Stunts (.BMB)

Post by Xiron »

I manged to change a colour on a texture, and I thought the colour was going to be either YRB format for a second (except byte order is reversed because little-endian) as I first hit blue, then yellow, followed by, wait for it.... grey! Well, that all depends on if the following byte is FF or 00. If the following is FF it is grey and 00 it is dark blue (saturation?)... so yeah, I don't know. I've attached the file so you can see where I was editing, the spot is at offset BA4, the blue being E0, FD being yellow, and C0 being that grey/dark blue, oh, and on top of what I noted earlier, setting the following FF to 00 just made the colour have a darker tone on yellow. My last note is that changing that one colour changed all spots on the texture that uses that colour, not just one pixel.

Anyhow, help would be appreciated!
Xiron
Posts: 104
Joined: Sat Sep 12, 2015 7:09 am

Re: Island Xtreme Stunts (.BMB)

Post by Xiron »

As one step closer I'd just like to add that the files can now be decompressed using this so that understanding them is easier: http://aluigi.org/bms/island_xtreme_stunts.bms
Xiron
Posts: 104
Joined: Sat Sep 12, 2015 7:09 am

Re: Island Xtreme Stunts (.BMB)

Post by Xiron »

  1. The data part of the BMB actually looks exactly how a uncompressed 32-bit .tga texture looks.

  2. As for multi-texture file. There is an 'index' of texture names at the start of the file, and for as many names there are there is one corresponding INFO, IMAG, and END.
  3. Each label is spaced out with "00 ## 00", where 0 is a count up number (one value higher then the last)
  4. Information in the INFO section which comes directly before IMAG is unknown.
  5. When to insert END is unknown
luna rom
Posts: 18
Joined: Wed Nov 11, 2015 2:01 am

Re: Island Xtreme Stunts (.BMB)

Post by luna rom »

Hey Xiron, I think it would help if you were to view some of LEGO Soccer manias .bmb files (there the same format) that are all the same kind but instead they are compressing the .jpg file format