Jump to content

Marmalade SDK (.group.bin) 3D mesh extraction


Recommended Posts

Posted

Need help with Marmalade SDK (.group.bin) 3D mesh extraction - Tone Sphere

Hello everyone! I am trying to extract 3D meshes from the mobile game Tone Sphere (Marmalade SDK).

I used a script to split the mono .group.bin file into separate assets. Now I have a 1.4 MB file (dc3c2177) which definitely contains a 3D mesh.

Here is what I found out using HEX and Model Researcher:

Faces / Indices Offset: starts exactly at 0x15C550 (Format: 16-bit Unsigned Short).

Maximum Index: 60288

Vertices: Located right before the faces, but they seem to use fixed-point math (IwFixed / Short_Signed with scaling), which causes a huge mess and wrong scaling when reading via Model Researcher.

UV / Normals: Also packed right before the vertices.

Could anyone help me write a quick Noesis plugin or a Python script to properly parse this mesh? I can provide the sample file! Thanks in advance!

Снимок экрана 2026-06-08 201817.png

Снимок экрана 2026-06-08 201912.png

Снимок экрана 2026-06-08 201931.png

Снимок экрана 2026-06-08 202528.png

dc3c2177.zip

  • Engineers
Posted (edited)

Hi, you missed to tell where the vertices start?

I could only find some strange point cloud:

MarmeladeDK_PtCld.png

edit: big parts seem to contain texture data:

Marmelade.png

Edited by shak-otay
Posted

Indices Offset: 0x15C550

Indices Type: UInt16 (Short)

Indices Count: 16 026 (5342 triangles)

Max Index Value: 2667 (Which means Vertex Count = 2668)

Vertices Offset: 0x1586C8

Vertex Type: Int16 (Short)

Stride: 6 bytes (Pure X, Y, Z by 2 bytes each)

Coordinate Scale (Fixed-point): Try dividing by 4096.0 or 256.0 (Standard Marmalade SDK shift).

  • Engineers
Posted (edited)

Thanks. Which file is it for? For dc3c2177 your face index parameters would break the file end (15C79F), 0x15C550 + 16026x2 (dec.)= 0x164284

Your vertex offset doesn't show me a decent mesh:

trash.png

edit: the vertices start at 0x155D38, see one of my next posts

 

Edited by shak-otay
Posted (edited)

thank
For file dc3c2177. Honestly, I don't quite understand how to search for vertices, so I'm just pointing my finger at it. Perhaps I've send the parameters for a different file altogether. I was checking the lesson level file. What I send is the title screen.
And I also know there may be multiple models embedded there. Or it's not a model at all, but a level scene.

And file 8081e087 is just its name, it says title screen there

Edited by IDANAND
  • Members
Posted

In dc3c2177 there are multiple meshes, for the last one:
At 1421408, 320 x 3 shorts (position?)
At 1423344, 320 x 3 shorts in range [-4096;4096] (normals?) 
At 1425278, 320 x 2 shorts (UV, divide by 4096)
At 1426576, 384 shorts (indices)

UV looks fine, but mesh is a mess
image.thumb.png.281f34e35dd35f284d53c784ad7f6cfc.png

  • Like 1
  • Engineers
Posted (edited)

When you use unsigned shorts it looks more like a cube:

cube.png

edit: another one (I'd create a tool as soon as we get the meshes nicer):

cube2.png.6163f51318d0807c20504c6d5877e6d3.png

Similar for the background_cubes group.bin:

background_cubesgroup_bin.png.523927f4fa688d94b6b828a177dbffe5.png

Edited by shak-otay

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...