Grim Fandango Deluxe - Original Thread [Locked]

Discussions regarding the development of the mod "Grim Fandango Deluxe"

Moderator: ScummVM Team

Locked
User avatar
JohnnyWalker2001
Posts: 405
Joined: Mon Oct 16, 2006 1:27 pm
Location: London, UK

Grim Fandango Deluxe - Original Thread [Locked]

Post by JohnnyWalker2001 »

With ResidualVM now opening up Grim Fandango to us all, I was wondering if a Remastering process could be started. The way I see it there are two things which could be done:

1. Improve texture quality.

2. Remodel the characters.

Ender previously offered to share his knowledge when ResidualVM caught up, saying this was all very easy to do, so while I'll bug him, is there anyone else with knowledge to share?

---

UPDATE: We've moved to our own subforum thanks to the generosity of the ResidualVM team!

http://forums.residualvm.org/viewforum.php?f=2
Last edited by nuphonic on Sun Nov 17, 2013 12:19 pm, edited 3 times in total.
User avatar
JohnnyWalker2001
Posts: 405
Joined: Mon Oct 16, 2006 1:27 pm
Location: London, UK

Post by JohnnyWalker2001 »

Ok, so everything I will be messing with lives inside DATAxxx.LAB files. It seems that both the .3do files and .mat files have been altered in some way.

I've tried viewing the textures in MatMaster, but it maps the palette incorrectly -- so you can see the shapes, but the colours are all wrong.

Does anyone know of a good tool for dealing with .mat files?

Thanks.

Edit: It seems that .mat files usually come with a palette file. Does anyone know where I can find Grim Fandango's palette file?
User avatar
JohnnyWalker2001
Posts: 405
Joined: Mon Oct 16, 2006 1:27 pm
Location: London, UK

Post by JohnnyWalker2001 »

Ok, I've managed to figure a few things out:

.mat files contain textures, sometimes several. To extract the BMPs use a tool like MatMaster 2.0, but you need to connect it with the right colormap (.cmp files) to get the right colours.

I found Manny's head and suit (m_eye.mat and m_s_chest.mat from within DATA000.LAB -- connected with suit.cmp).

I opened the BMPs up, converted them from 128x128 to 256x256 and drew all over them and re-saved them (in OS/2 format).

I then recompiled a .mat file and then recompiled the .lab using BGBennyBoy's ResourceCompilerCreator tool.

Unfortunately this is what I saw:
Image

The textures don't scale down and add detail, they just display really big. Is there something ResidualVM can do about this?
User avatar
giucam
Posts: 139
Joined: Mon Mar 21, 2011 9:20 am

Post by giucam »

Just guessing: the materials have the width and height of the textures stored. Did you fiddle with them?
User avatar
JohnnyWalker2001
Posts: 405
Joined: Mon Oct 16, 2006 1:27 pm
Location: London, UK

Post by JohnnyWalker2001 »

giucam wrote:Just guessing: the materials have the width and height of the textures stored. Did you fiddle with them?
No, that .mat files have only the following text in them:

Code: Select all

MATM
FILENAME: m_eye.mat

TEXTURES: 1
m_eye-0.bmp
(Presuming you mean the .mat files?)

Also, there's nothing in the .3DO files that suggest 128x128 that I could find :-(
User avatar
somaen
ScummVM Developer
Posts: 376
Joined: Thu Apr 21, 2011 7:31 pm
Location: Trondheim, NO

Post by somaen »

the width and height for materials are read in binary, not text by the engine, other than that, I don't know where they are defined.
User avatar
giucam
Posts: 139
Joined: Mon Mar 21, 2011 9:20 am

Post by giucam »

JohnnyWalker2001 wrote:
giucam wrote:Just guessing: the materials have the width and height of the textures stored. Did you fiddle with them?
No, that .mat files have only the following text in them:

Code: Select all

MATM
FILENAME: m_eye.mat

TEXTURES: 1
m_eye-0.bmp
(Presuming you mean the .mat files?)
Look at material.cpp. Maybe the tool you're using doesn't show them but they have a width and height field.
JohnnyWalker2001 wrote: Also, there's nothing in the .3DO files that suggest 128x128 that I could find :-(
There shouldn't be anything about that in the .3do, yes.
User avatar
JohnnyWalker2001
Posts: 405
Joined: Mon Oct 16, 2006 1:27 pm
Location: London, UK

Post by JohnnyWalker2001 »

giucam wrote:Look at material.cpp. Maybe the tool you're using doesn't show them but they have a width and height field.
Nice. You're absolutely right. Does anyone know where the width and height are being read from?
mogul
Posts: 19
Joined: Mon Jul 25, 2011 6:21 pm

Re: Grim Fandango: Remastered

Post by mogul »

JohnnyWalker2001 wrote:With ResidualVM now opening up Grim Fandango to us all, I was wondering if a Remastering process could be started. The way I see it there are two things which could be done:

1. Increase texture quality.

2. Remodel the characters.

Ender previously offered to share his knowledge when ResidualVM caught up, saying this was all very easy to do, so while I'll bug him, is there anyone else with knowledge to share?
3. Use the existing model meshes as control points for rendering higher-poly version using an interpolating subdivision surface scheme.
User avatar
somaen
ScummVM Developer
Posts: 376
Joined: Thu Apr 21, 2011 7:31 pm
Location: Trondheim, NO

Post by somaen »

The current meshes have VERY few polygons. Just take a look at Glottis.
User avatar
giucam
Posts: 139
Joined: Mon Mar 21, 2011 9:20 am

Post by giucam »

JohnnyWalker2001 wrote:Nice. You're absolutely right. Does anyone know where the width and height are being read from?
You can see that in material.cpp. The width is usually at offset 76+num_images*40, the height at 80+num_images*40.
The value of num_images is instead at offset 12.

But .mat files are quite a mistery to me. They have a lot of data which ResidualVM doesn't use and i don't know if that's just garbage or if it means something.

@ Mogul
Hey, welcome on this forum :)
mogul
Posts: 19
Joined: Mon Jul 25, 2011 6:21 pm

Post by mogul »

giucam wrote: @ Mogul
Hey, welcome on this forum :)
Thanks. I haven't got much time to think about GF anymore, but I'll try to keep up for a bit. Thanks for keeping the torch burning.
User avatar
JohnnyWalker2001
Posts: 405
Joined: Mon Oct 16, 2006 1:27 pm
Location: London, UK

Re: Grim Fandango: Remastered

Post by JohnnyWalker2001 »

mogul wrote:3. Use the existing model meshes as control points for rendering higher-poly version using an interpolating subdivision surface scheme.
Yep, that's definitely a possibility. Getting the model meshes into something like Maya where I could comfortably mess around with them is a whole other issue, unfortunately.

Could you share any insights that might help any part of this process?
giucam wrote:You can see that in material.cpp. The width is usually at offset 76+num_images*40, the height at 80+num_images*40.
The value of num_images is instead at offset 12.
Thanks, I'm getting to understanding what's going on now, although I'm still not sure which *file* the offset is being read from. (Edit: I see you're saying it's in the .mat files?)

As for remodelling/increasing the polygon count, Ender had the following to say last time I asked him: "It's a very simple matter to add in a slab of code [to ResidualVM] to load whatever format you want. I'd suggest Cal3D, for which there are 3DS Max, Maya and Blender exporters at least."

Does this make sense to you clever programmer types? :)
User avatar
somaen
ScummVM Developer
Posts: 376
Joined: Thu Apr 21, 2011 7:31 pm
Location: Trondheim, NO

Post by somaen »

Sure, or OBJ for that matter, as long as it's a documented format, it shouldn't be that hard to add, the main issue would be detecting that the files are non-standard I guess.
User avatar
giucam
Posts: 139
Joined: Mon Mar 21, 2011 9:20 am

Re: Grim Fandango: Remastered

Post by giucam »

JohnnyWalker2001 wrote:Thanks, I'm getting to understanding what's going on now, although I'm still not sure which *file* the offset is being read from. (Edit: I see you're saying it's in the .mat files?)
Yes, in the .mat files.
Locked