Tags: Projects

Duke Nukem Forever

Duke Is Totally Takei The Duke Nukem Forever demo is out. I can't even convey how surreal it is to me to be typing those words. But anyway, I've been poking around the demo for the last couple of days, and a new version of Noesis is up now that supports extracting 5 different variants of its included .dat packages.

The picture is of the world's first (well, probably) right and proper DNF content mod, with Duke sporting his brand new Takei Pride tanktop. Noesis spits out all of the info you need to re-inject textures while it's extracting them, and I've already got a fully functional repacker that I intend to release sometime relatively soon. I've also finished hammering out the model format now, and Noesis v3.27 and later can view/export them.

Duke modelDuke model
Duke modelDuke model

The process of exporting the models is pretty simple, but requires a few steps. Here's a step by step of what you need to do.

1) Using Noesis, extract the contents SkinMshes/defs.dat, SkinMeshes/meshes.dat, and SkinMeshes/skels.def. By default, Noesis will want to extract these to separate folders. You don't want this, and instead you want to extract them all to a single folder. (e.g. "c:\steam\steamapps\common\duke nukem forever demo\SkinMeshes\allfiles")

2) Browse to the .msh of your choice in Noesis and open it.

3) If .skl or .def files cannot be found automatically you will be prompted for them. Additionally, Noesis will attempt to find MegaPackage.dat and TextureDirectory.dat relative to the path of the .msh file. If it cannot, you will be prompted for those files as well.

4) Export and enjoy. Note that materials are still a work in progress, and it can't automatically find the right materials in most cases. But certain models are working. (like Duke and one of the Holsom twins)

I've got model re-import/modification working, but the material situation limits it pretty severely. In the coming days/weeks, I'll be continuing to reverse that data and trying to figure out a reasonable process for replacing/overriding assets that doesn't involve rebuilding all of the game's packages.

Also, if you haven't heard yet, you can play the vehicle sequence in first-person. It's much nicer this way.

Update: I've successfully exported a model to COLLADA, modified it (re-weighted, added and modified geometry, modified the texture), re-exported it to .msh using my in-progress Noesis exporter, and got it to load in the demo. Have a look:

Wait for the scene with the twins.


129 comments in total.
Post a comment


Rich Whitehouse

June 15, 2011 at 7:25 pm (CST)
3dwizard: It's kind of a nightmare to find them manually. You have to find the entry for the .def file for the model in the .dmx files (which are in the megapackage.dat), then look up the dependency chain in the .dmx file to find the shader/material names for the model and the referenced .dtx (also in the megapackage.dat), then load the .dtx and parse out the materials and texture names from that. Then you can finally use the texture names to grab stuff out of the texture directory .dat files.

Those files are also all binary formats, usually strewn with obfuscated Unreal-style encoded values, so trying to find data in them manually with a hex editor is kind of a nightmare. I find the easiest way to find textures manually is just to guess at the filename and search. :)

AesPir: I actually just sent off an e-mail a couple of hours ago. I wouldn't expect a reply for another day or 4.



June 15, 2011 at 7:10 pm (CST)
So assuming that you've pinged Gearbox, have they ponged?



June 15, 2011 at 5:51 pm (CST)
Hey Rich! I love your work and love the fact that you are interested in offering the Duke Nukem pc gamer community a start with modding DNF even though Gearbox doesn't seem to care about us.
My question to you is this!
Is there a way to simply finding the textures for various skin meshes?
I wonder how does your app find the right textures for the right skinmesh, so I could also find the textures manually.
I've found a few skinmeshes that don't have any textures and I wanted to look for those textures manually in hope that I might find them.



June 15, 2011 at 2:24 pm (CST)
No i didnt mean dukem nukem, i meant Avalanche


Snake Plissken

June 15, 2011 at 6:59 am (CST)
im going to sit down and type a big ol thing here to send threw to ya as i am currently working with DNF on the PS3 platform.. i figured its a point alone to type this just to inform you of my actions. with that.., my email is pmwhomevents@aol.com. i hope to do with DNF on the PS3 brining the exsperince to be the next best thing since what we are able to do with doom and GZDOOM. infact i wouldn go so far to say that DNF is the next GZDOOM.


Rich Whitehouse

June 14, 2011 at 10:00 pm (CST)
It should be possible to play as a cloud, yeah, with some modification. You'd probably want to replace all of Duke's one-liners with thunder noises to get the whole experience. You could also play as some shrubbery, a lamp, or a filing cabinet. The possibilities are truly endless.



June 14, 2011 at 9:04 pm (CST)
Hey rich, is is possible for you to create a version where you play as cloud?


Rich Whitehouse

June 14, 2011 at 7:33 pm (CST)
That one's not encrypted either, it's just binary data. I've heard there are already save editors for the 360 version, so they should be able to support the PC version without much trouble already. If it's different at all, it's probably just the file endianness. I don't have either console version, though, so I couldn't say for sure.



June 14, 2011 at 7:27 pm (CST)
Oops. I meant last.sav


Rich Whitehouse

June 14, 2011 at 5:25 pm (CST)
It looks to me like last.dcp is a plain-text unicode file. Am I missing something? You should be able to modify it with no problems, so long as you make sure you retain that last 0000 wide-char at the end. (if you edit it in notepad.exe or something that 0000 will likely be replaced by a space, so you might want to use a hex editor)

Comment Pages:
Previous ... 1 2 3 4 5 6 7 8 9 [10] 11 12 13 ... Next

Post a comment


Enter the following (refresh if you can't read it):
Read image


2872730 page hits since February 11, 2009.

Site design and contents (c) 2009 Rich Whitehouse. Except those contents which happen to be images or screenshots containing shit that is (c) someone/something else entirely. That shit isn't really mine. Fair use though! FAIR USE!
All works on this web site are the result of my own personal efforts, and are not in any way supported by any given company. You alone are responsible for any damages which you may incur as a result of this web site or files related to this web site.