Jump to content

[LeapFrog] UDI files


Go to solution Solved by ikskoks,

Recommended Posts

  • Solution

Try with offzip http://aluigi.altervista.org/mytoolz/offzip.zip

Like this:

offzip.exe -a RobotsTF_BG__page1.udi

Then open extracted DAT file in Texture Finder:
obraz.png.bfabb3f9b5175f4585ff6309d1994248.png

 

File format should be something like this:
 

// header (36 bytes)
4 bytes (char) - signature // "UDI\x00"
4 bytes (uint32) - version?  // 1
2 bytes (uint16) - image data offset
2 bytes (uint16) - bpp?  // 8
4 bytes (uint32) - UDI file size
2 bytes (uint16) - image width?
2 bytes (uint16) - image height?
16 bytes  - unknown

// data
x bytes - image data (compressed with ZLIB)

 

  • Like 1
  • Thanks 1
Link to comment
Share on other sites

Okay, bit of an update: I've figured out via some in-game XML files and some more checking that the files are actually stored as 4bpp. This makes more sense, especially since some of the elements I have stored locally looked a bit too transparent.

Link to comment
Share on other sites

Yes, they are 4-bits per channel. Does this look right, like anything in the game? (manually rewrapped the oddly sized 18x18 tiles using Aseprite) Your sample zip looks like a bunch of backgrounds, but if you have any others with actual sprites in them, that could be interesting to deduce the pixel format more conclusively? Showing r4,g4,b4,a4 below:

image.png.ba75ecf67f662a754fe18cf131d5f79a.png

(actually it may be a4,r4,g4,b, which would show as purple instead)

Edited by piken
  • Like 1
Link to comment
Share on other sites

Posted (edited)

Here's some more samples. I'm actually certain they're RGBA4444 since I managed to reproduce page 0 with the right colours using PVRTexTool. The only thing I'm curious about now is how to remap the tiles in a way that makes sense.

page0.png

RobotsTF.zip

 

Edit: Seems like there is some overlap in the bottom two rows and the rightmost two columns. Working on the title screen right now!

Edited by applecuckoo
  • Like 1
Link to comment
Share on other sites

15 hours ago, applecuckoo said:

I'm actually certain they're RGBA4444

Agreed, {r4,g4,b4,a4} because otherwise the colors looks wrong in RobotsTF__page8.udi, which is a clearer case because of the police lights.

15 hours ago, applecuckoo said:

The only thing I'm curious about now is how to remap the tiles in a way that makes sense.

Maplestory M used an interesting block arrangement using 3 textures, one for pixels, another for palette, and a 3rd for the tilemap (Xentax thread https://web.archive.org/web/20231012075405/https://forum.xentax.com/viewtopic.php?t=26127). There's no palette in this case, but the concept should apply here too. Maybe you can find the tilemap elsewhere 🤞.

I was curious about the LeapFrog LeapPad to see if it had any novel pixel formats, but I couldn't find any real hardware information (besides screen resolution) nor an SDK for it 😞. I did find an alternate firmware (Retroleap), but I didn't want to dig through that large codebase to try to figure out capabilities ⛏️.

RobotsTF__page8.udi-00000024.png

Maplestory-M-reassembled-MiniGame_Character@CrabBlock@.png

Edited by piken
  • Like 1
Link to comment
Share on other sites

Posted (edited)
9 hours ago, piken said:

Maybe you can find the tilemap elsewhere

So I managed to figure out the pixels are really 16x16, since the rightmost two columns and the bottom two rows contain redundant data. Basically at this point it was just opening a new Aseprite file and putting together a giant jigsaw puzzle. So that's how I got these two title screens!

title1.png

title2.png

Edited by applecuckoo
  • Like 1
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...