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.

Where's My Water? 2 & Where's My Perry? .waltex file formats

Featured Replies

  • Author
  • Localization

SwampyGames, posted Sun Sep 27, 2020 3:40 am (58895)


Hey!

I'm wanting help with Disney's .waltex file format in the Where's My __ mobile puzzle game series.
From my experience, I've been able to get images easy enough through converting an apk to a zip for the original Where's My Water?. All images there are in readable formats, such as .webp, .png and .jpg.
The other games (which includes Where's My Water? 2 and Where's My Perry?) have some assests in .webp, but many are in .waltex file format. I really have no idea how this format works.
I have done some research and some messing around with the apks. I've found one site which has some information on it, but information about this format is fairly scarce. Here is the site with some info --> https://forum.starling-framework.org/d/14854-assetmanager-and-encrypted-graphics/3. The Where's My Perry? apk I used also has a file called waltex.bin, and when unzipped this file has files that are also in .waltex format.
These files (whether in .waltex or .webp) also have duplicates of themselves in different qualities. For example, in Where's My Water? 2 the objects file has "objects.waltex", "objects-HD.waltex" and "objects-TabHD.waltex". TabHD is the best quality, though is not there for every game, and when not available HD is the best.
If anyone could help with decrypting these graphics I would greatly appreciate it! (Example file https://drive.google.com/file/d/1D1h8O529Zknt1zFwErNHc_Extypm2qU0/view?usp=sharing)

Edit: There are also .imagelist files. I converted these to .txt files and it contains information about the sprites inside the .waltex file. Interestingly the sprite information ends in .png
  • Author
  • Localization

LolHacksRule, posted Sun Sep 27, 2020 9:57 pm (58913)


I was also looking into cracking these proprietary Walt Disney TEXture formats. These aren't encrypted in any way and they appear to be raw RGBA8888 compressed textures, NOT pre multiplied (outputs complete black), with a raw texture viewer like PVRTexTool, you can open these files as raw image data and have to do some guesswork to get the image sizes. This sample file appears to be 2048x2048 (or 1024x4096). Please send me a smaller file so I can verify if the white background is supposed to exist.

UPDATE: 1024x4096

Sample of this file in 2048x2048:
Image
  • Author
  • Localization

LolHacksRule, posted Sun Sep 27, 2020 10:14 pm (58916)


Looks like the exact same texture but in 1024x1024 or (1024x2048?).

UPDATE: 512x2048

Texture types:
-: Low end Android
-HD: HD phone (Modern Android/iOS?)?
-TabHD: HD tablet (iPad?)?
  • Author
  • Localization

SwampyGames, posted Sun Sep 27, 2020 10:17 pm (58917)


With your info I've used this site (https://rawpixels.net/) and with the write fields filled out and boxes ticked and unticked you can get a transparent atlas of the sprites. As you say, the size has to be tweaked.
  • Author
  • Localization

LolHacksRule, posted Sun Sep 27, 2020 10:19 pm (58918)


Wait a site like that exits? I thought you needed PC software...
  • Author
  • Localization

SwampyGames, posted Sun Sep 27, 2020 10:26 pm (58919)


From my testing so far, on Objects-HD and Objects-TabHD the height seems to be about 1.95 times bigger than the width, though I'm still yet to test that with other files.
  • Author
  • Localization

LolHacksRule, posted Sun Sep 27, 2020 10:46 pm (58920)


I found a repo "somewhere" from most likely a dev, having part of the game (Walaber) engine and the code that loads AND creates these files and turns its not a WALT (Disney) Texture (my guess), it's a WALaber TEXture. Other "Where's my" entries also use this format.
  • Author
  • Localization

SwampyGames, posted Mon Sep 28, 2020 12:17 am (58922)


The program online I used only seems to work some of the time. For example, on objects-HD for Where's My Perry?, the colours don't come out quite right and when made transparent the sprites also become partially transparent. Here's the file: https://drive.google.com/file/d/1c6mAH8 ... sp=sharing
Do you know why this may be happening and how it could be fixed?
  • Author
  • Localization

LolHacksRule, posted Mon Sep 28, 2020 3:47 am (58926)


Hmm, this texture's kinda different, it's using RGBA4444 with a definite size of 2048x2048, I'm not sure about transparency problems but the improper coloring can be fixed by changing the texture format, one more thing is that it is also little endian.

Image

Code:
Header:
   4bytes: WALT (Magic)
   1byte: 01 (Version, only seen 01)
   Texture format: 00 = RGBA8888, 03 = RGBA4444
   2bytes: Texture width (endian dependent)
   2bytes: Texture height (endian dependent)
   6bytes: PADING (spelled incorrectly)
  • Author
  • Localization

SwampyGames, posted Mon Sep 28, 2020 4:25 am (58927)


Thank you so much for your help!
What did you change the Pixel Format and Predefined format to (if you used the same site)?
  • Author
  • Localization

LolHacksRule, posted Mon Sep 28, 2020 4:54 am (58928)


Code:
Predefined format: RGB32
Pixel Format: 4444, Little Endian ticked


Jelly Car's another game apparently using this engine and most likely it's raw texture format. UPDATE: No it doesn't
  • Author
  • Localization

SwampyGames, posted Mon Sep 28, 2020 5:07 am (58929)


Huh, 4444 isn't under the Pixel format on my screen, it only has RGBA, BGRA, GBRA, GRBA, RGBA, BRGA, YUV, YVU & Grayscale.
  • Author
  • Localization

SwampyGames, posted Mon Sep 28, 2020 5:13 am (58930)


Ahh I see change bbp instead

Edit: Instead I used RGB32, RGBA, and all bpp set at 4, Litle Endian ticked.
  • Author
  • Localization

SwampyGames, posted Mon Sep 28, 2020 6:51 am (58931)


Okay, after much playing around with files and the site, I have made this judgement.

Some files need Predefined format:RGB32, Pixel Format:RGBA, and all bpp set at 4, Litle Endian ticked.
Some files need Predefined format:RGB32, Pixel Format:RGBA, and all bpp set at 8.
If you have unzipped an apk, you can take the .imagelist file equivalents of the .waltex files. I personally change my .imagelist files to .txt. Once done, you can open it and find the size of the atlas, and information about the sprites.
  • Author
  • Localization

LolHacksRule, posted Mon Sep 28, 2020 3:23 pm (58935)


If anyone has the guts to make a Noesis script, please do so, the hex information I mentioned should help.
  • Author
  • Localization

LolHacksRule, posted Mon Sep 28, 2020 7:18 pm (58940)


Actually, I attempted to make a Noesis script, there's no value in the header to tell the endian, but it DOES work on Little Endian textures too as Noesis can detect the endian automatically! It works fine so far on your samples provided.

*MOVED TO GITHUB*
  • Author
  • Localization

SwampyGames, posted Mon Sep 28, 2020 8:21 pm (58944)


Nice!
I used python to open the script, but it comes up the ModuleNotFoundError: No module named 'inc_noesis'. Does it work on Python or do I have to use Noesis?
  • Author
  • Localization

LolHacksRule, posted Mon Sep 28, 2020 8:51 pm (58945)


You have to use Noesis, copy the script to Noesis/plugins/python then it should detect these files.
  • Author
  • Localization

SwampyGames, posted Tue Sep 29, 2020 4:49 am (58950)


Still haven't gotten there yet (could you pass on the place where to download Noesis)

Also, this could be an ask, but with the use of the .imagelist files, you can cut out sprites out of the sheet, as it contains coordinates and sizes of the sprites. I think I also mentioned earlier that it contains the size of the atlas. I linked a .imagelist file (though it is converted to .txt here).
  • Author
  • Localization

LolHacksRule, posted Fri Aug 27, 2021 6:05 pm (65938)


Super late but turns out some files have swapped offsets for height and width, making my script output inconsistent results, if you see this, swap line 25 with line 26 to get readable images for samples like this.
  • Author
  • Localization

ego-lay_atman-bay, posted Thu Mar 02, 2023 7:46 am (75631)


I know this is extremely late, but with the help of some people, I managed to create a python script that can read waltex files using the Pillow library. Here it is https://github.com/wmw-modding/wmwpy/bl ... /Waltex.py oh, and I have also wrote up a page on how the format works. Here it is https://wheresmywater.fandom.com/wiki/T ... ?so=search (it is very recent, so it may be incomplete).
Guest
This topic is now closed to further replies.

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.