Skip to content
View in the app

A better way to browse. Learn more.

ResHax

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.
Help us keep the site running.
Zero Tolerance for Disrespect

[LeapFrog] UDI files

Featured Replies

  • Localization

Hello! Yes, the topic sounds silly at first, but I have a bunch of unknown .udi files from the Transformers Rescue Bots game developed by LeapFrog. Initial research points to this being a CorelDraw file, but there seems to be no information on these .udis specifically.

RobotsTF_BG.zip

Solved by ikskoks

  • Supporter
  • 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)

 

  • Supporter
8 minutes ago, applecuckoo said:

Is this interlaced or something? The image looks split.

"Tiled" actually
Unfortunately unless you know how to Un-"tile" it, then that's what you're going to get from the image datas.

  • Author
  • Localization

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.

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

  • Author
  • Localization

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

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

  • Author
  • Localization
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

Create an account or sign in to comment

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.