CG in Games tosyk's blog

19Jan/1199

Converting 3d model from Mafia 2

Русский English

[UPDATED] - 24 Oct 2020

In this article I will describe the process of converting models from Mafia 2 into 3ds Max. Converted models have a skeleton and are ready for animation.

Show list of changes (24 Oct 2020) »

- re-built M2CharMC / M2ObjMC tools with latest version of compilator.

Show list of changes (27 Jan 2012) »

- I updated the program M2CharMC and M2ObjMC and now they are NOT IDENTIFIED AS VIRUS. You can download the updated links.

Show list of changes (29 Dec 2010) »

- added english language.

Show list of changes (30 Nov 2010) »

- added direct link for OpenCOLLADA [download] [page] - found a model that is extracted is not correct, it is:
<install path>/mafia ii/pc/sds/hchar/franca.sds
for its conversion you need to use the original dumper from DerPlaya [page], and open model in XSI, or in latest version of Blender.

Note: The article is designed for users familiar with working in 3ds Max and does not cover such things as, for example, texturing objects, setting up materials, etc.

For the conversion process, we need the following tools:

  • 3ds Max (i use 2008 х64) should work on versions: 7-2011
  • M2CharMC v0.7 (model extractor from *.sds) Author: Tosyk [download]
  • M2ObjMC v2.6 (model extractor from *.sds) Author: Tosyk [download]
  • OpenCOLLADA (3ds Max plugin to open *.dae files) [download] [page]
  • ExSDS v0.3 (*.sds unpacker) Author: CJay [download]
  • Gibbed Illusion Tools (tool kit) Author: Gibbed [download] [page]

1. Unpacking the game archives. Install the game Mafia 2. If the installation is done by Steam service, then on the hard drive should already be unpacked steam-archives. Before using the disk versions of the game, you must first extract the files. Game archives are located at

<install path>\mafia ii\pc\sds\

and they have the *.sds extension. In these archives are all resources.

2. Model conversion. Game models are in

<install path>\mafia ii\pc\sds\hchar\ - characters
<install path>\mafia ii\pc\sds\cars\ - cars
<install path>\mafia ii\pc\sds\fmv\ - objects and characters (from the cutscenes)
<install path>\mafia ii\pc\sds\traffic\ - pedestrians
<install path>\mafia ii\pc\sds\wardrobe\ - objects in the closet
<install path>\mafia ii\pc\sds\weapons\ - weapons
<install path>\mafia ii\pc\sds\player\ - main characters
<install path>\mafia ii\pc\sds\city\ - objects of the city

It is quite possible that the models are also present in other archives, but I wrote only about the most important of them. To convert the models and textures, I wrote 2 tools that facilitate the model conversion process. Each of the two programs extracts the model from *.sds files and converts it into a format *.dae.
Tools:

  • M2CharMC v0.5 (character converter)
  • M2ObjMC v2.5 (game object and car converter)

Converters are based on two programs:

  • Mafia2ModelDumper (model dumper) Author: DerPlaya [page]
  • mesh2rdm (game model converter) Author: Rich Whitehouse [page]

Note: Why not use the original program? Because after the conversion with Mafia2ModelDumper *.dae-files is not impossible to properly use in 3ds Max.

For example converting I took two files.

<install path>\mafia ii\pc\sds\hchar\joeciv.sds
<install path>\mafia ii\pc\sds\cars\shubert_taxi.sds

joeciv.sds contains the character Joe (the summer version). shubert_taxi.sds contains a model of the car Shubert (version of a taxi). So, drag-and-drop joeciv.sds (or several files) on the M2CharMC (m2char_mc_v0.5.exe) and after a short conversion process near the source file (in my case it joeciv.sds) will be a two files:

  • joeciv.JOECIV.Hips.L0.dae - high-poly model
  • joeciv.JOECIV.Hips.L1.dae - low-poly model

Note: You can open *. dae files  in 3ds Max. However, the built-in importer cope with the format is not the best way, so I recommend using the OpenCOLLADA importer.

After importing joeciv.JOECIV.Hips.L0.dae (I chose the high-poly model) in 3ds Max you will see:
In the same way, but the with M2ObjMC program convert shubert_taxi.sds. Import model in 3ds Max. In viewport you'll see:
3. Texture conversion. Textures are packaged in *.sds files along with the model and the extracting with ExSDS tool. Interface:Files extract with command Operations -> Extract All. Recoverable files are in *.dds format.

4. Also. For this game currently released 7 DLC:

  • Vegas Pack
  • War Hero Pack
  • Renegade Pack
  • Greaser Pack
  • Made Man Pack
  • Jimmy's Vendetta
  • Joe's Adventures

Format of archives in the DLC is the same as in the original (*.sds), but these files are encrypted. From them we can extract a model, but can not extract texture. To decrypt files, use Illusion DecompressSDS, part of the Illusion Tools from Gibbed. The program is console only and does not have an interface. To decrypt the *.sds you need to drag the source *.sds file on Gibbed.Illusion.DecompressSDS.exe.

In the resources of this game is hard to find eye for characters, since they all shared. They may be located in the most unexpected *.sds files, so I am publishing an archive of the most common eye textures. [download eye texture].

For cars as well as for the characters were used shared textures, as well as models (wheels), they are placed in the archives:

<install path>\mafia ii\pc\sds\cars\cars_universal.sds
<install path>\mafia ii\pc\sds\cars\cars_universal2.sds

For some files *.sds can find a copy, but with "_z" suffix , for example, for file shubert_taxi.sds this copy is called shubert_taxi_z.sds. Suffix "_z" means "winter ",most likely this file contains the variations of winter textures.

Found a model that is extracting is not correct, it:

<install path>\mafia ii\pc\sds\hchar\franca.sds

or its conversion you need to use the original dumper from DerPlaya [page], and open model in XSI, or in latest version of Blender.

5. Rendering. 3ds Max and shaders.

Comments (99) Trackbacks (0)
  1. m2_obj_mc_v2.3 is a bit strange. It extracts DAEs with Multimaterial slots but then converts them again into smaller DAE’s with less information.

    When converting the landscape there is no information on what DDS files are used, can it be updated to show what DDS are used for each DAE extracted ??

  2. Right now i’m analyzed structure of arpatro.Object05.L0.dae (converted by M2ObjMC) and arpatro.Object05.L0.dae (converted by Mafia2ModelDumper) from arpatro.sds. And I must admit that there is no logical connection between all material/object/texture files inside arpatro.sds, or maybe this information encrypted.

    Mafia2ModelDumper converting in *.dae only one object (with Multimaterial, like you said).
    M2ObjMC separating by material and converting in *.dae separated objects.

    But not in the first case and not in the second there is no information on which object which texture you should apply to.

    So for now you must looking for object’s texture by object’s UV.

  3. http://img508.imageshack.us/img508/7159/mafia2v.jpg

    I had an idea of visiting the area ingame and using 3d ripper to rip the textures from each location and then apply them in 3ds max would work.

    Also when importing multiple landscape dae’s there is no placement coordinates, so I had to jigsaw them together, if they could be found it would make the process faster but isnt a big concern for me.

  4. don’t have right coords for the objects, I think ripping game resources it’s a kinda big challenge for all of as, and while we do this we all trying to do this as much simple as we can, we trying not lost fun in this. there is no way to automatically convert full textured areas from mafia into 3d app 🙂 i think in the future

    at least we can ripping SOMETHING from this game.
    p.s.: thanks for sharing your thoughts

  5. I got no problem ripping the characters, vehicles and guns, but i cant seem to rip a scene, such as joes apartment. Every object is a collada file and when imported they are all imported in the same place. There can be about 300 collada files to import and its impossible to re create in max… any ideas?

  6. i think information about object placement are encrypted, so for now there is no way to automatically re-create correct mafia 2 areas in 3ds max

  7. I figured out what’s up with extracting characters but my AVG detects M2CharMC v0.3 and M2ObjMC v0.3 as viruses.
    Passing over this, regrouping the items into a single mesh and velding the broken vertices, the tools do a good job sites.
    I would like to ask: how can I extract the animation ?
    Thanks

  8. don’t worry about viruses, there is not any 🙂

    and it’s not possible to extract animation, i don’t this it will be possible soon

  9. Okay, thank you. For me, the animation is very important. I try to make a game and I need some MOCAP. Thanks anyway.

  10. Hey iv tried for for ages, but i cant find out how to add the textures, help =(

  11. 2 MiniDude: You can use this tutorial, actually it’s very easy
    http://www.youtube.com/watch?v=VNaXrWcbQfw

  12. dude when i extract the .sds it gives me textures in .dds format, how do i extract the .dds?

  13. “when i extract the .sds it gives me textures in .dds format”
    ok, now you have textures in dds format

    “how do i extract the .dds?”
    why you need this, you already have it!

  14. ok, what would i have to do if i want to “remove” all the skeleton and animation things and just keep the char’s mesh?

  15. 2 DunnoWhat: just select skeleton and press Delete button on your keyboard

  16. thanks, do you know anything about taking out an object’s UV map in .tga format?

  17. DunnoWhat: you can convert the .dds to another image format using nvidia’s photoshop tools
    http://developer.nvidia.com/object/photoshop_dds_plugins.html

  18. So is it possible to REPACK an sds file after changes have been made and use it in Mafia 2 the game? Is it possible to do something simple like change a hot rod wheel in 3d Max like widen it and repack and use it in game?


Leave a comment

No trackbacks yet.