Saturday, February 29, 2020

How to R.I.P. (some pun intended) Manny from Grim Fandango (Remastered) as a base reference for a papercraft


I've actually been meaning to do a papercraft Manny for Halloween🎃 for many years, but I figured why wait and probably end up doing something different again...? 😝

And just like with my last few papercrafts, I also want to share how I extracted the 3D model that I'll be using as a base reference; maybe some of you might like to make your own papercrafts with Pepakura Designer too, although be aware that game models usually need a lot of work before they make a decent papercraft!

Grim Fandango is a really fun adventure game from LucasArts from 1998. The original game is difficult to get to work with modern systems (although there are special installers to do so). In 2015 it was specially Remastered for modern platforms by Double Fine Productions. Before the Remaster though, there was an unofficial fan project called Grim Fandango Deluxe, which also aimed to update the graphics using the ResidualVM interpreter for 3D LucasArts adventure games.

To make that fan project possible, these awesome fans had to create a plethora (¡Three Amigos! reference...) of tools to be able to edit Grim Fandango's original game files, and it's some of those tools that I used to get the 3D model as a basis for the new Manny Calavera papercraft I'm going to make! 💀


NOTE BEFOREHAND: I'm using the 2015 Remastered version of Grim Fandango from Steam as I don't have the original version, but I guess these tools should also work with the original version since that's what they were actually made for.




Extracting Manny's 3D model

- Step 1: So you need the game. If you're using the Remastered version from Steam like me (wait for a Steam sale period and it'll be only a few bucks for a great game!) you'll have to install it first to get the game files onto your computer.

- The 3D data for Grim Fandango is packed into .LAB data archives in the Grim Fandango Program Files installation folder (and on the game discs if you have the original version). Using the Resource File Creator and Dumper 1.1 by bgbennyboy: link you can unpack these .LAB files to view the actual files inside.

- For one character, you need matching .3do files (3D model meshes), .key files (animations), .mat files (textures) and .cmp files (colormap palettes that give the textures the correct colors). The character names on the .3do files are easy to recognize, but the filenames for the animations are usually abbreviated a bit; Manny's animations for example are named ma_something.key.

- You can Dump All the files in the .LAB archive to a folder and look through them then, or if you know what you're looking for you can Dump just the files you need one at a time. First for now, you need the .3do model and a matching .key animation.


- Now put the .3do model file and matching .key animation in a separate folder to make things a bit easier.

- Download the KEY3DO2DAE tool by Cervian as a binary from the bottom of Cervian's post in the ResidualVM forums: link and place the KEY3DO2DAE.exe executable in the same folder.

- KEY3DO2DAE works as a command line tool. Cervian explains how to use it in his forum post (complete with animated gifs 🙂) but you probably know I find it easier to just make a little batch script.

-Start by making a New Text Document in the folder with the .3do, .key and KEY3DO2DAE files and type the following in Notepad:
key3do2dae mannysuit.3do ma_smoke_loop.key
(replace mannysuit.3do and ma_smoke_loop.key with the names of the .3do and .key files you are using of course!)

- Then save the text file and change the file extension from .txt to .bat.


IMPORTANT NOTE: A lot of antivirus tools don't like .bat files and fanmade .exe files that they don't recognize, so you may need to tell your antivirus software to ignore the particular .bat file just created and the KEY3DO2DAE.exe file or they might be blocked from running (NEVER turn off your antivirus scanner completely of course, and also DON'T tell it to ignore all .bat files; just the one you just made yourself!)

- Now with all four files in the same folder (the .3do model file, the .key animation, the KEY3DO2DAE.exe tool and your .bat file) double-click the .bat you created file to run it.

- This will create a new folder with the same name as the .3do file you used. Inside that folder will be more folders, but the ma_smoke_loop.dae file (or named after whatever .key file you used in the .bat script) in the Animations folder is what you need next.


- Now import the .dae file from the Animations folder in Blender (or another 3D program that can open Collada .dae files with their animations of course). Zoom in and... that's probably not what you expected...

- However, if you slide the marker on the animation timeline bar at the bottom of the screen around a bit, Manny will spring to "life" (well you know what I mean 😉).

- There will probably be some small issues (that you can fix later on in a 3D program, like Manny's head being a bit too low here) but it should look much better already. Now you can export him as a Wavefront .obj in the pose you want for your papercraft.



- Now I like to use Metasequoia to do my 3D modelling for papercraft because its .mqo files work very well with Pepakura Designer which I use to unfold the 3D model later on, but you can use other 3D programs that you might be familiar with as well.

- In the Material Panel in Metasequoia (press Ctrl+M if you can't see it) you will see a list of the materials that are used on the 3D model and that you'll need to find and convert next.

(Alternatively, you can also open the .mtl file that Blender exported together with the .obj file in Notepad by changing the file extension from .mtl to .txt and then it will show the contents of the .mtl file as a plain Text Document).



Extracting Manny's textures (Remastered and original)

- If you want to use the Remastered textures (they have 16x16=256 as many pixels and therefor are much crisper than the original ones) you will need another tool by BennyBoy called DoubleFine Explorer 1.3.8: link

- Use the DoubleFine Explorer 1.3.8 to open the MATERIALS.lab file if you have the Remastered version. Find the textures you need for your characters (you can use the Search box in DoubleFine Explorer at the top if you want) and Save the Files As png images.


- You will probably notice that that some textures apparantly weren't Remastered though: m_bone, m_finger and m_wrist are really just white-ish squares with black lines, so I guess there wasn't much to remaster (I also used a greyish mc_heel.mat and mc_toe.mat for the shoes because I couldn't find the brown m_s_heel and m_s_toe among the Remastered textures?) You still need them of course, so you have to get them from the original textures.

- So again in the Resource File Creator and Dumper 1.1, this time look in the original .LAB files (NOT in the MATERIALS.LAB!) for the matching textures and Dump them like the other files before.

IMPORTANT NOTE: you will also need the matching .cmp colormap palette file, or the textures won't have the right colors! For mannysuit.3do, the color map palette file was called suit.cmp so make sure to look all over the original .LAB files to find the right one!

- Put the .mat files and the matching .cmp file (the Dumped .mat files might not show the .mat file extensions as you can see in my own example) in a separate folder to make things a bit easier again.


- Now you will need a tool to convert these .mat files to something that your 3D program can use. I used MatMaster 2.0 by Pete "The Hutt" Klassen: link.

- Click File > Batch Conversion, and then open the .mat Source Files you copied.

- You will probably see in the preview that the colours aren't really correct though, because that's why you need to load the matching .cmp colormap palette file!

- Once you've loaded the right .cmp colormap palete file, you can select a destination where you want the converted textures to be saved.

- Click Convert and the .mat files will be converted to .bmp bitmap files in the Destination folder (use this method for all the textures if you're using the original version instead of the Remastered version).



- Now you can assign the textures to the 3D model and finally Manny will look the way she is supposed to, and he can be used as a basis for a new papercraft.


Stay tuned! 🙂

Tools used:
- Resource File Creator and Dumper 1.1 by bgbennyboy: https://quickandeasysoftware.net/software/resource-file-creator-and-dumper
- KEY3DO2DAE by Cervian: https://forums.scummvm.org/viewtopic.php?t=15999 (download the binary file at the bottom of the first post) (old link: https://forums.residualvm.org/viewtopic.php?p=4102#p4102) 
- DoubleFine Explorer 1.3.8 by BennyBoy: https://quickandeasysoftware.net/software/doublefine-explorer (if you want to use the remastered textures)
- MatMaster 2.0 by Pete "The Hutt" Klassen: https://www.massassi.net/programs/ (to convert the original textures; originally for LucasArts' Jedi Knight)


Addendum: In case you're wondering about the difference between the original and the Remastered textures, I made this little comparison. Note that the original textures aren't the ones on the left; those are enlarged 16x to the size of the Remasted textures already. The original ones are the tiny ones at the top left...





Addendum 2: For convenience if you want to save this tutorial, I condensed all the steps into one image again:



7 comments:

  1. Hey there! I don't know if you're still around, but the KEY3DO2DAE by Cervian doesn't seem accessible anymore. Is there any chance you can send me the files through e-mail if they still exist on your computer?

    ReplyDelete
    Replies
    1. EDIT: It appears I have found it, however, it does not work. It crashes(?) or closes immediately upon opening. Any ideas as to why?

      Delete
    2. Thank you for letting me know the link to KEY3DO2DAE was gone. Fortunately, it seems there have been a merger between ResidualVM and ScummVM since I made the tutorial, and it looks like ScummVM saved the forum post with the download link for Cervian's KEY3DO2DAE tool: https://forums.scummvm.org/viewtopic.php?t=15999 (maybe that's where you found it already? ;o)

      *** Firstly; because it is a fanmade tool, it might be that your anti-virus software is blocking it from running. DO NOT turn off your anti-virus software. Most anti-virus software allows you to go into your anti-virus software settings, and then select some programs (or a specific folder that you can make with programs like those in them) to always allow them to run anyway, even if your anti-virus software doesn't recognize them and they think it's suspicious.

      If you feel comfortable, create a new folder with the KEY3DO2DAE tool in it, and set your antivirus program to ignore any files in that folder!

      (after doing this, make sure you NEVER download a file that you don't trust do that folder!!!)


      *** The second thing I can think of, is that you tried double-clicking the tool to run it? But that won't work: follow the tutorial closely, and create a .bat file to run it.

      Did you follow the tutorial closely where it said to make a .bat file to start the KEY3DO tool? Try going back and follow all the steps closely!

      I hope one of these two is the problem, because then I think you can solve it very easily just by taking your time and following the steps very closely, especially on these games with special file formats and tools sometimes a small step that you skip will mean it the extraction won't work.

      In short:
      1) Make sure your antivirus software isn't blocking the KEY3DO2DAE tool
      2) Follow the tutorial closely: put all necessary files for the model you want to extract in the same folder (.3do model file, .key animation, and the KEY3DO2DAE tool)
      3) Write the line of command text in a Notepad .txt file; don't forget you have to change the names to the .3do and .key files if you are using different ones than I did!
      4) Save the text file, then change the .txt file extestion into a .bat file
      5) Now double-click the .bat file and that's what will run the KEY3DO2DAE tool (so you don't have to couble-click the KEY3DOTOOL yourself; it just needs to be in the folder with the model, animation and the .bat file so it can find it).

      I hope you can try this out and that this was the problem and that it works this time! :o)

      Delete
  2. I know this is an old post, but THANK YOU!! That said, I'm having issues extracting animations (maybe it's just because Blender has changed since this). I've tried extracting all of Glottis's animations, but none of them import into Blender. (Everything else comes out great—model, textures, etc.—just no animation, which means the mesh parts are all clumped together.) Not sure if they're not extracting at all or if Blender just isn't reading them. I tried with the examples you used for Manny and while that one did extract, the animation looked really wonky when I moved it around. Am I doing something wrong, or is this just something that's changed with the tools?

    ReplyDelete
    Replies
    1. I'm afraid I don't know what the issue might be if you just did the same things as I did, sorry... :o(

      Like it shows in the tutorial, if you use the same tools and versions as I do and do everything the same like I did, you should get the same results of course!? I haven't extracted any models from Grim Fandango since I made this papercraft, so I also don't know if any tools of the tools got changed...?

      The best thing to do if you keep having problems, is to try searching online for help with the tools, like on Grim Fandango fan forums (there will probably be lots more much more knowledgeable fans playing around with these tools and models than me!) or try contacting the creator(s) of the tools directly?

      I'm sorry that I can't really help you, I hope that maybe it resolves itself or like I said that you can find a useful forum post that helps you better than I can!

      Delete
    2. Thanks for your response!! I was able to get it to work with one animation (glottis_idles_hold) but the rest (all starting with gl_) didn't work. Good enough for me, though! This was such a helpful article, thank you again for sharing it!

      Delete