READ THE RULES: Click here

Follow us on Facebook: https://www.facebook.com/xentax/ :)

Dark Sider 2 Model?

Post questions about game models here, or help out others!
jayn23
n00b
Posts: 16
Joined: Sun Jul 17, 2011 9:30 pm
Has thanked: 5 times
Been thanked: 4 times

Re: Dark Sider 2 Model?

Post by jayn23 » Wed Sep 19, 2012 8:53 pm

Thanks a lot Finale00 awesome work!!!
and TaylorMouse thanks for your hard work and for keeping the thread alive :D

finale00
M-M-M-Monster veteran
M-M-M-Monster veteran
Posts: 2382
Joined: Sat Apr 09, 2011 1:22 am
Has thanked: 170 times
Been thanked: 294 times

Re: Dark Sider 2 Model?

Post by finale00 » Wed Sep 19, 2012 9:15 pm

TaylorMouse wrote:Damn!! I wanted to beat this one :D

But.. Finale00, nice one

T.
Still a lot of unk structs.
Don't know how the normals and UV's are stored at all.
Would have to print out the values and analyze them.

User avatar
TaylorMouse
ultra-veteran
ultra-veteran
Posts: 335
Joined: Mon Sep 26, 2011 12:51 pm
Has thanked: 11 times
Been thanked: 79 times

Re: Dark Sider 2 Model?

Post by TaylorMouse » Wed Sep 19, 2012 9:45 pm

Of course I'm not givin up, I want it to work in my C# code too :)

btw I verified this part:

Code: Select all

float[6] bbox?
this is indeed the Bounding Box !

T.

User avatar
TaylorMouse
ultra-veteran
ultra-veteran
Posts: 335
Joined: Mon Sep 26, 2011 12:51 pm
Has thanked: 11 times
Been thanked: 79 times

Re: Dark Sider 2 Model?

Post by TaylorMouse » Wed Sep 19, 2012 11:16 pm

YES !! my c# code does it to!!

the Chancelor

Image

T.

finale00
M-M-M-Monster veteran
M-M-M-Monster veteran
Posts: 2382
Joined: Sat Apr 09, 2011 1:22 am
Has thanked: 170 times
Been thanked: 294 times

Re: Dark Sider 2 Model?

Post by finale00 » Wed Sep 19, 2012 11:48 pm

Which library do you use to render? Ogre3D? Or do you export to obj and then just load it up somewhere?

amzerof6
advanced
Posts: 57
Joined: Sat Oct 23, 2010 3:50 pm
Has thanked: 2 times
Been thanked: 2 times

Re: Dark Sider 2 Model?

Post by amzerof6 » Thu Sep 20, 2012 3:35 am

TaylorMouse wrote:YES !! my c# code does it to!!

the Chancelor

Image

T.
Congratulation!! that's great

User avatar
TaylorMouse
ultra-veteran
ultra-veteran
Posts: 335
Joined: Mon Sep 26, 2011 12:51 pm
Has thanked: 11 times
Been thanked: 79 times

Re: Dark Sider 2 Model?

Post by TaylorMouse » Thu Sep 20, 2012 8:36 am

I have the code write out an mtl file and an obj file, then I import it into 3DS MAX 2010, then I took a screenshot to post here :)

T.

logansan25
veteran
Posts: 138
Joined: Mon Oct 04, 2010 1:15 am
Has thanked: 5 times
Been thanked: 2 times

Re: Dark Sider 2 Model?

Post by logansan25 » Fri Sep 21, 2012 11:13 pm

Any tutorial for get this models, i am a noob.

User avatar
TaylorMouse
ultra-veteran
ultra-veteran
Posts: 335
Joined: Mon Sep 26, 2011 12:51 pm
Has thanked: 11 times
Been thanked: 79 times

Re: Dark Sider 2 Model?

Post by TaylorMouse » Sat Sep 22, 2012 4:03 pm

well,
buy the game
use the extraction tool in the forum to extract the models from their archive
download Naosis
get the py script from Finale00 dropbox ( get everything, it's great :) )
start naosis and look at the models
export them to whatever
import them into your favorite 3D tool !

I'm making a little tool myself to do this in c# (convert to OBJ) but it is not finished yet...

T.

logansan25
veteran
Posts: 138
Joined: Mon Oct 04, 2010 1:15 am
Has thanked: 5 times
Been thanked: 2 times

Re: Dark Sider 2 Model?

Post by logansan25 » Sat Sep 22, 2012 5:58 pm

TaylorMouse wrote:well,
buy the game
use the extraction tool in the forum to extract the models from their archive
download Naosis
get the py script from Finale00 dropbox ( get everything, it's great :) )
start naosis and look at the models
export them to whatever
import them into your favorite 3D tool !

I'm making a little tool myself to do this in c# (convert to OBJ) but it is not finished yet...

T.
Where are extraction tool version final?

I did read all post but i have dude about this.

I did buy game today.

:)

User avatar
TaylorMouse
ultra-veteran
ultra-veteran
Posts: 335
Joined: Mon Sep 26, 2011 12:51 pm
Has thanked: 11 times
Been thanked: 79 times

Re: Dark Sider 2 Model?

Post by TaylorMouse » Sun Sep 23, 2012 12:08 pm

It was posted on page 2:

http://sktest.aruarose.com/DS2Extract.rar

T.

joeyq
n00b
Posts: 17
Joined: Tue Jan 19, 2010 11:14 am
Been thanked: 4 times

Re: Dark Sider 2 Model?

Post by joeyq » Mon Sep 24, 2012 10:55 am

great plugin finale00! unfortunately 32 characters make noesis crash :(. some are: darkwar.dcm, despair.dcm (death's horse), maker_shaman.dcm (blind priestess Muria) and uriel.dcm.
I haven't tested all weapons/items yet on crashes but some do.
hopefully there's some progress on uv's because these are some great models to study.

Silvist
ultra-n00b
Posts: 7
Joined: Tue May 31, 2011 6:30 am

Re: Dark Sider 2 Model?

Post by Silvist » Tue Sep 25, 2012 11:26 am

Awesome job TaylorMouse! I looked at this topic when it was at like page 2, and huge progress in last couple pages lol. I myself am interested in the tool you are working on. Cause I love working in 3ds max ^^

Once again grats ^^

User avatar
TaylorMouse
ultra-veteran
ultra-veteran
Posts: 335
Joined: Mon Sep 26, 2011 12:51 pm
Has thanked: 11 times
Been thanked: 79 times

Re: Dark Sider 2 Model?

Post by TaylorMouse » Tue Sep 25, 2012 11:06 pm

Still working on this one...

apparently, the textures are referenced in the .bmat files.

in the dcm file there is a reference to that file.

ex.: absolom.dcm has a reference to absolomA01.bmat
and in the .bmat file you will find all the textures required.

here is my c# class that reads out the necessary textures:

Code: Select all

public static Material GetMaterial(string fileName)
        {
            string file = fileName + ".bmat";
            Material mat = new Material();
            if (!File.Exists(file)) return null;

            using (BinaryReader br = new BinaryReader(new FileStream(file, FileMode.Open, FileAccess.Read)))
            {
                Debug.WriteLine("- " + br.ReadString(3)); // BOD
                br.ReadByte(); // FD
                
                int nbrTextures = br.ReadInt16();

                int unk1 = br.ReadInt16();
                uint unk2 = br.ReadUInt32();
                uint unk3 = br.ReadUInt32();

                int unk4 = br.ReadByte();
                int unk5 = br.ReadByte();
                uint unk6 = br.ReadUInt32();
                uint unk7 = br.ReadUInt32();

                int len = br.ReadInt16();
                br.ReadString(len); // Material
                br.ReadBytes(13);
                
                len = br.ReadInt16();
                br.ReadString(len); // Name
                br.ReadBytes(10);

                len = br.ReadInt16();
                br.ReadString(len); // Model name
                br.ReadBytes(9);

                len = br.ReadInt16();
                Debug.Write("  - " + br.ReadString(len) + ": "); // Shader Name
                br.ReadBytes(10);

                len = br.ReadInt16();
                Debug.WriteLine(br.ReadString(len)); // 
                br.ReadBytes(9);

                len = br.ReadInt16();
                br.ReadString(len); // parameters
                br.ReadBytes(16);

                len = br.ReadInt16();
                Debug.Write("  - " + br.ReadString(len) + ": " ); // Emissive map
                br.ReadBytes(15);

                len = br.ReadInt16();
                br.ReadString(len); // texture parameters
                br.ReadBytes(13);

                len = br.ReadInt16();
                br.ReadString(len); // value
                br.ReadBytes(10);

                len = br.ReadInt16();
                mat.EmisMap = br.ReadString(len) + ".dds";
                Debug.WriteLine(mat.EmisMap); // TEXTURE EMIS .dds
                br.ReadBytes(9);

                len = br.ReadInt16();
                br.ReadString(len); // UAddress Mode
                br.ReadBytes(14);

                len = br.ReadInt16();
                br.ReadString(len); // VAddress Mode
                br.ReadBytes(26);

                len = br.ReadInt16();
                br.ReadString(len); // Specular Color 
                br.ReadBytes(15);

                len = br.ReadInt16();
                br.ReadString(len); // Vector4 Parameter 
                br.ReadBytes(55);

                len = br.ReadInt16();
                br.ReadString(len); // EmissiveColor 
                br.ReadBytes(66);

                len = br.ReadInt16();
                Debug.Write( "  - " + br.ReadString(len) + ": ") ; // Diffuse Map 1
                br.ReadBytes(30);

                len = br.ReadInt16();
                mat.DiffMap = br.ReadString(len) + ".dds";
                Debug.WriteLine(mat.DiffMap); // TEXTURE DIFFUSE .dds
                br.ReadBytes(41);

                len = br.ReadInt16();
                Debug.Write("  - " + br.ReadString(len) + ": "); // Specular Map 
                br.ReadBytes(30);

                len = br.ReadInt16();
                mat.SpecMap = br.ReadString(len) + ".dds";
                Debug.WriteLine(mat.SpecMap ); // TEXTURE SPECULAR .dds
                br.ReadBytes(41);

                len = br.ReadInt16();
                Debug.Write("  - " + br.ReadString(len) + ": "); // Normal Map 
                br.ReadBytes(30);

                len = br.ReadInt16();
                mat.NormMap = br.ReadString(len) + ".dds";
                Debug.WriteLine(mat.NormMap); // TEXTURE NORMAL .dds
                br.ReadBytes(9);

                len = br.ReadInt16();
                br.ReadString(len); // SRGBTexture
                br.ReadBytes(23);

                len = br.ReadInt16();
                br.ReadString(len); // FloatParameters
                br.ReadBytes(25);

                br.Close();
            }

            mat.FileName = file;
            return mat;
        }
Sometimes the reference is before the bones, sometimes after it, and sometimes in the middle ( for statics )

I also noticed there is a UAddress Mode and a VAddress Mode, wandering if this has anything to do with the UV texture coordinates we don't seem to find :/

T.

User avatar
TaylorMouse
ultra-veteran
ultra-veteran
Posts: 335
Joined: Mon Sep 26, 2011 12:51 pm
Has thanked: 11 times
Been thanked: 79 times

Re: Dark Sider 2 Model?

Post by TaylorMouse » Fri Sep 28, 2012 8:41 am

Cleaned up my code and finally succeeded in adding the correct textures to the correct faces and have the multi-objects in obj format, pffff.

Next on the list is to check why the despair.dcm file and the darkwar.dcm file are not in the same format...



Only missing piece is the texture coordinates :?

ANYONE can help???

Post Reply