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.

Wallace & Gromit: The Curse of the Were-Rabbit (Xbox) - Rigged Model Extraction Help

Featured Replies

  • Author
  • Localization
9 hours ago, AngelYan said:

How did you extract the texture data from the birdy.ovl file?

ImageHeat

Pixel Formats seem to switch from BC1_DXT1 for opaque textures and BC2_DXT3 for textures with transparency

image.thumb.png.a8cf6783a34238f088bdfdd19544eaf5.pngimage.thumb.png.1937f519507e63ee8ce75a5ea728e89f.png

Edited by Hell Inspector
added link for ImageHeat

  • 1 month later...
  • Author
  • Localization

Sorry if this is a late bump but I'm not sure if I've stumbled on more skeleton data or not, I found out that the birdy.ovl file actually has duplicate data in one of the main level files for some shared object junk and in both the separate file and the level file have the same weird chunk of data between the textures and the mesh data itself but it looks very basic so I'm not entirely sure if anything here is useful.

Hex Address where this possible junk data is in birdy.ovl: 13751

image.png.406cfc0f97ec565fb9f517473e325b1f.png image.png.6c8f2dd100222b86ea6484cbe6768ddd.png

  • Supporter

Thanks! Ok, got the names. The trick was to press 'Bone name to bone index, not ''Preview'.

But when pressing 'Hierarchy' I get "variable boneName undefined"

9px90J766L.thumb.png.3945d155aca9f20b71d53f5f3d677a02.png

Could you export to fbx?

btw, is it only me? Reloading a layout doesn't work. (Need to copy it manually from the .layout file.)

Because adding a bone tree failes because of "Layout is empty" message.

Pressing 'Load' it says "Layout is empty".

 

 

Edited by shak-otay

  • Author
  • Localization
24 minutes ago, shak-otay said:

Thanks! Ok, got the names. The trick was to press 'Bone name to bone index, not ''Preview'.

But when pressing 'Hierarchy' I get "variable boneName undefined"

Could you export to fbx?

 

9px90J766L.png

I think you've gotta click Allow Custom Variables in options

I did export it to fbx but it doesn't have a normal pose, just a jumble of bones.
birdy.zip

  • Supporter
34 minutes ago, Hell Inspector said:

I think you've gotta click Allow Custom Variables in options

yeah, got that already. (updated my previous screenshot to make it more clear)

edit: can't you load the layout again after saving?

What happens if you press 'Hierarchy'? (we'll need to input it manually, maybe)

 

Edited by shak-otay

  • Author
  • Localization
30 minutes ago, shak-otay said:

can't you load the layout again after saving?

I'm not entirely sure, I could be missing something due to lack of experience with these tools but I'm not finding anything.

  • Supporter

Ok, that's a minor issue(?) because you can copy it manually.

Remains the hierarchy.  We have 60 bytes per bone block. Somewhere the parent ids should be. The uint32 unknown is 1 always, so not the par id.

Many skeleton formats have an extra hierarchy block, usually starting with FFFF (-1 for root).

And the highest number there should be 31 dec. (apart from said FFFF).

Edited by shak-otay

  • Author
  • Localization
16 minutes ago, shak-otay said:

Ok, that's a minor issue(?) because you can copy it manually.

Remains the hierarchy.  We have 60 bytes per bone block. Somewhere the parent ids should be. The uint32 unknown is 1 always, so not the par id.

Many skeleton formats have an extra hierarchy block, usually starting with FFFF (-1 for root).

And the highest number there should be 31 dec. (apart from said FFFF).

You were able to figure out the hierarchy for Reverend right, do you remember what your settings for that were?

  • Supporter
13 minutes ago, Hell Inspector said:

You were able to figure out the hierarchy for Reverend right, do you remember what your settings for that were?

I fear I created it manually in an smd file without using ASH.

But here's the hierarchy for the birdy. Though I have no idea how to add it to ASH.

For the "jumble of bones" you mentioned: the matrices block for birdy ends at 0x929 somehow, so 14 bones to care for in a first run.

It continues at 0xA9D (?)

Edited by shak-otay

  • Author
  • Localization
11 minutes ago, shak-otay said:

I fear I created it manually in an smd file without using ASH.

But here's the hierarchy for the birdy. Though I have no idea how to add it to ASH.

For the "jumble of bones" you mentioned: the matrices block for birdy ends at 0x929 somehow, so 14 bones to care for in a first run.

It continues at 0xA9D (?)

I know texture data starts at 0x1D51 so I'm thinking anything between 0x318 and 0x1D51 could as well be skeleton/animation data, looking in the file list inside the file itself it shows that there are two animations here "Birdy1Fly:ani Birdy1Idle:ani" so I'm sure those could be useful for a skeleton rest pose?

At least I think they're skeleton/animation data, I can visually cut the file down into three segments.

0x318 = Start of Animation Data?

0x1D51 = Start of Texture Data

0x13752 = Start of Mesh Data

Edited by Hell Inspector
Added extra info

  • Supporter

From 0x319, blocks 9 DWords per line (36 bytes), it has strange values (doesn't work as float matrices):

address 0x319:
  365  2663     1   377  4447     1   391  5663     1 
  406  6099     1   415  6175     1   425  5947     1 
  436  6023     1   448  5795     1   458  5871     1 
    0  5691     2     0     0     1  5703     1     0 
    0     1  5719     1     0     0     1  5735     1 
    0     0     1  5751     1     0     0     1  5767 
    1     0     0     1  5783     1     0     0     2 
 5795     0   631     1     2  5871     0   643     1 
    2  5947     0   607     1     2  6023     0   619 
    1     2  6099     0   583     1     2  6175     0 
  595     1     3  2663     2   547     6     4  4447 
    0   559     0     4  5663     0   571     0  5839 
  469   795  5915   492   815  5991   469   835  6067 
  492   855  6143   469   875  6219   492   895  2707 
  519   915  2711   524   915  2715   519   915  2719 
  535   915  2723   519   915  2727   406   915     6 
address 0x559:
   15    15    15    15    15    15    15    15    15 

 

The key is to understand the matrices blocks from 0x5E1 (I'll check that tomorrow, good night).

You can see from ASH, Data interpretation that the chosen parameters must be wrong:

 6 - Bip01_LWing1
T:      0.247    4.2e-45      0.972
R:        -90  -4.01e-43   7.26e-07
S:      0.688      0.237      0.726

 9 - Bip01_RWing1
T:   1.84e-40          1      0.943
R:         90   -6.6e-06   3.19e-41
S:     0.0979      0.334      0.151

Scale should be identical and transforms symmetrical which is both not the case.

Edited by shak-otay

  • Supporter

I checked different possibilities for birdy's bones' positions but all skeletons look weird:

Birdy.png

edit: stuck again with reverend english's skeleton data, as long as no one can confirm the position values (green?):

ReverendEnglish_skeletonMatrices.png.9d8a36a02ef154cc8577b6a4464c9094.png

Edited by shak-otay

  • Author
  • Localization
6 hours ago, shak-otay said:

I checked different possibilities for birdy's bones' positions but all skeletons look weird:

Birdy.png

edit: stuck again with reverend english's skeleton data, as long as no one can confirm the position values (green?):

ReverendEnglish_skeletonMatrices.png.9d8a36a02ef154cc8577b6a4464c9094.png

I wonder if there's a certain format setting we're missing, I know from the other examples you sent a while back they had a bit more settings to them so I wonder if some of those could apply.

  • Supporter

The problem atm are not the settings for ASH, if you mean that. I'm just not getting proper positions from basic checks (using hex2obj, for example). (I'll send you an smd example.)

(Which "other examples" are you talking of?)

 

  • Author
  • Localization
48 minutes ago, shak-otay said:

(Which "other examples" are you talking of?)

I was referring to the other forum links that you sent for more reference on these tools.

  • Author
  • Localization
48 minutes ago, shak-otay said:

Ok. No more time to waste - best idea would be to create a skeleton from the mesh (WallaceAvatar_English):

Ee8oJ81YZy.thumb.png.73deb50a7c3035cebea6fe649a5bb371.png

WallaceAvatar_English_1.zip 20.21 kB · 0 downloads

If it's like a completely custom skeleton, I've already done similar with Advanced Mesh Reaper - Xtreme though none of the bones are parented, named or in the correct position

image.png.ead42833ba19ef136836517a1e6e56c0.png

wallace.zip

  • Supporter

Well, time to be creative, isn't it? (The following may be wrong but it shows a path...)

Why not try to adjust the skeleton?
Hierarchy, clavicle - upper_arm - lower_arm - hand is simple (but what is what with generated bone names?)

Checking for symmetries is simple, too.

bone 3,4
6,7
9,10
11,12
13,14
15,16

Still dunno what is what, so let's start building some hierarchy:
15  13  11 9 6 3
and
16 14 12 10 7 4

skeleton looks strange:

blender-app_step1.thumb.png.43e5faa4f06d8c7b742e8c2d26e4df07.png

Step2 (cutting bone chaines into upper and lower part):

blender-app_step2.png.ea54f89940fcbba925d795eaf1790ef0.png

First thought, that I had confused arms and legs, but they move as expected, more or less

(there's some influence on upper body when moving a leg, for example):

blender-app_influence.thumb.png.2bb8b5d833aa910c4d37ab91a41bf9d3.png

to do:

position of spine bones has to be adjusted, I guess

hierarchy must be corrected

wrong influences have to be removed

and what not, rotations required, of course, they are 0.0 0.0 0.0 atm

Maybe trick around with the smd file yourself.

(Other than in the pictures I've corrected bone_1 parent ID 0 to 5 temporary now.)

Bone_8 might be spine_x?

For the .dae there's a vertical offset between upper and lower bones for some reason.

edit: scaled the mesh up instead of adjusting bones' lengths:

blender-app_Ldew0fagcj.thumb.png.a200ca26c642665390c003e5835d5ba2.png

 

 

 

 

 

wallaceout.zip

Edited by shak-otay

  • Author
  • Localization

I have found another file with a possible simple skeleton, this one's different as there aren't any animations attached to it. It's just a static projectile prop.


Gumballglobe.zip

 

On 5/4/2026 at 10:21 PM, Hell Inspector said:

Sorry if this is a late bump but I'm not sure if I've stumbled on more skeleton data or not, I found out that the birdy.ovl file actually has duplicate data in one of the main level files for some shared object junk and in both the separate file and the level file have the same weird chunk of data between the textures and the mesh data itself but it looks very basic so I'm not entirely sure if anything here is useful.

Update on this bit of data, this is actually for Vertex Buffer and possible Face Buffer info (I say possible cause I haven't found a correct face count yet)

Edited by Hell Inspector
removed redundant word

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.