Gildor's Forums

Author Topic: Dirty Bomb (formerly called Extraction)  (Read 11405 times)
Gildor
Administrator
Hero Member
*****
Posts: 7926



View Profile WWW
Re: Dirty Bomb (formerly called Extraction)
« Reply #15 on: August 10, 2016, 11:11 »

Hi guys and girls.
I played with this game's files a little bit. I was confused with a message that some very old version of UModel can open game files, but new one - not. I think I found the solution. At least all game files I have opened with no problems.
Ok, the solution is very simple, but requires changing the command line. Just add "-pkgver=840" to the command line options, and game will work. This tells to UModel that game uses older version of the engine than mentioned in package's data.

Just in case, how to add option.
1) Make a shortcut for umodel.exe. Perhaps rename to "umodel - dirty bomb" to not be confused later.
2) Open its properties. Switch to 2nd page ("Shortcut" in English Windows).
3) In the top text field, you'll see something ended with "umodel.exe". Add a space following with "-pkgver=840" (without quotes). If umodel.exe is inside quotes, add new text after quotes.
4) If you want, you may also add -path="path-to-dirty-bomb" option to not select the game directory every time.
5) Press OK.

Now you may run UModel.
Logged
Gazyi
Newbie
*
Posts: 15


View Profile
Re: Dirty Bomb (formerly called Extraction)
« Reply #16 on: September 25, 2016, 21:13 »

It still have lots of problems with getting materials.

Quote
Trying to allocate 2113929216 bytes
appMalloc:size=2113929216 <- FArray::Empty:2113929216 x 1 <- FString<< <- TArray::Serialize:2/3 <- SerializeFMaterialResource <- LoadObject:Material3'Startup.M_GameplayMerged', pos=3DF0F8, ver=840/8, game=8000 <- UObject::EndLoad <- LoadWholePackage:Startup <- CUmodelApp::ShowPackageUI <- Main:umodel_version=459

Quote
Package "CookedPC/WeaponMods/Scopes/Scope_02/Scope_02_SF.upk": wrong export index 255
UnPackage::CreateExport:CookedPC/WeaponMods/Scopes/Scope_02/Scope_02_SF.upk:255 <- UnPackage::SerializeUObject <- TArray::Serialize:4/5888 <- SerializeFMaterialResource <- LoadObject:Material3'Scope_02_SF.M_AimpointGlass02', pos=3EEE, ver=840/8, game=8000 <- UObject::EndLoad <- LoadWholePackage:Scope_02_SF <- CUmodelApp::ShowPackageUI <- UIMenuItem::HandleCommand <- UIMenuItem::HandleCommand <- CUmodelApp::WndProc <- VisualizerLoop <- Main:umodel_version=459

Quote
Serialized FString is not null-terminated
FString<< <- TArray::Serialize:1/3 <- SerializeFMaterialResource <- LoadObject:Material3'Shell_Lucky15_SF.M_WeaponSkins_Attachment', pos=3A2B, ver=840/8, game=8000 <- UObject::EndLoad <- LoadWholePackage:Shell_Lucky15_SF <- CUmodelApp::ShowPackageUI <- Main:umodel_version=459

Quote
Serializing behind stopper (3E0B23+572 > 3E0D9F)
FUE3ArchiveReader::Serialize <- FString<< <- TArray::Serialize:2/3 <- SerializeFMaterialResource <- LoadObject:Material3'Startup.M_Environment_UberShader', pos=3E0B23, ver=840/8, game=8000 <- UObject::EndLoad <- LoadWholePackage:ThirdEyeDevice_01_SF <- CUmodelApp::ShowPackageUI <- UIMenuItem::HandleCommand <- UIMenuItem::HandleCommand <- CUmodelApp::WndProc <- VisualizerLoop <- Main:umodel_version=459
Logged
Gildor
Administrator
Hero Member
*****
Posts: 7926



View Profile WWW
Re: Dirty Bomb (formerly called Extraction)
« Reply #17 on: September 26, 2016, 18:57 »

May be the game was recently updated?

BTW, try using slightly different numbers in pkgver directive (not sure smaller or larger, sorry).
Logged
Chrono
Full Member
***
Posts: 103


View Profile
Re: Dirty Bomb (formerly called Extraction)
« Reply #18 on: August 28, 2017, 20:39 »

This game no longer appears to be working even with the "-pkgver=840" command. The game recently had a 'major' update with a new javelin character and several changes to the game itself. Not sure if this affects umodel at all.

Here's the error when doing a scan content:
Code:
ERROR: appDecompress: unknown compression flags: 514
appDecompress:CompSize=20052 UncompSize=22664 Flags=0x202 <- DecompressBlock:block=C5+4E54 <- FUE3ArchiveReader::PrepareBuffer <- FUE3ArchiveReader::Serialize <- FArchive::ByteOrderSerialize <- FString<< <- Name:0 <- UnPackage::LoadNameTable <- UnPackage::UnPackage:ShooterGame/CookedPC/AkAudio.u, ver=868/9, game=ue3 <- UnPackage::LoadPackage:ShooterGame/CookedPC/AkAudio.u <- UIMenuItem::HandleCommand <- UIBaseDialog::WndProc <- UIBaseDialog::ShowDialog:modal=1, title="Choose a package to open" <- CUmodelApp::ShowPackageUI <- Main:umodel_version=617

Here's the result from scan version:
Code:
868 (364)    9 (  9)  1133    ShooterGame/CookedPC/...

.exe and .u files: here
Logged
Gildor
Administrator
Hero Member
*****
Posts: 7926



View Profile WWW
Re: Dirty Bomb (formerly called Extraction)
« Reply #19 on: August 28, 2017, 20:43 »

Goodbye Dirty Bomb then ...
Logged
wraithcat
Newbie
*
Posts: 27



View Profile
Re: Dirty Bomb (formerly called Extraction)
« Reply #20 on: November 11, 2017, 23:02 »

So been playing a bit more with the packages.

Seems like 864 definitely gives more results, even lists the correct engine version as per build.properties. Removed some warnings to keep it below 6k chars. Interesting I seem to be able to get a file structure with the old extract.exe

Code:
D:\steam\steamapps\common\Dirty Bomb\ShooterGame\CookedPC\Characters\CovertOps_04>C:\Users\Junk\OneDrive\models\modelling\umod\umodel.exe -pkgver=864 "D:\steam\steamapps\common\Dirty Bomb\ShooterGame\CookedPC\Characters\CovertOps_04\CovertOps_04_Frontend_SF.upk"
Detected game root D:/steam/steamapps/common/Dirty Bomb/ShooterGame/CookedPC
Found 848 game files (0 skipped)
Loading package: Characters/CovertOps_04/CovertOps_04_Frontend_SF.upk Ver: 864/9 Engine: 8710 Names: 591 Exports: 285 Imports: 158 Game: 8000
Loaded in 0 sec, 12 allocs, 0.00 MBytes serialized in 0 calls.
Loading Material3 M_BRDFSSS from package Characters/CovertOps_04/CovertOps_04_Frontend_SF.upk
WARNING: StructProperty "UMaterial3::SubsurfaceInscatteringColor" was not found
WARNING: StructProperty "UMaterial3::SubsurfaceAbsorptionColor" was not found
WARNING: StructProperty "UMaterial3::SubsurfaceScatteringRadius" was not found
WARNING: BoolProperty "UMaterial3::EnableSubsurfaceScattering" was not found
WARNING: Unknown class "MaterialExpressionTextureSampleParameter2D" for object "MaterialExpressionTextureSampleParameter2D_5"
WARNING: Unknown class "MaterialExpressionOneMinus" for object "MaterialExpressionOneMinus_0"
WARNING: Unknown class "MaterialExpressionScalarParameter" for object "MaterialExpressionScalarParameter_2"
WARNING: Unknown class "MaterialExpressionMultiply" for object "MaterialExpressionMultiply_7"
WARNING: Unknown class "MaterialExpressionQualitySwitch" for object "MaterialExpressionQualitySwitch_11"
WARNING: Unknown class "MaterialExpressionConstantClamp" for object "MaterialExpressionConstantClamp_14"
WARNING: Unknown class "MaterialExpressionVectorParameter" for object "MaterialExpressionVectorParameter_3"
WARNING: Unknown class "MaterialExpressionMultiply" for object "MaterialExpressionMultiply_5"
WARNING: Unknown class "MaterialExpressionMultiply" for object "MaterialExpressionMultiply_6"
WARNING: Unknown class "MaterialExpressionDotProduct" for object "MaterialExpressionDotProduct_5"
WARNING: Unknown class "MaterialExpressionLinearInterpolate" for object "MaterialExpressionLinearInterpolate_5"
WARNING: Unknown class "MaterialExpressionQualitySwitch" for object "MaterialExpressionQualitySwitch_10"
WARNING: Unknown class "MaterialExpressionConstantClamp" for object "MaterialExpressionConstantClamp_8"
WARNING: Unknown class "MaterialExpressionTextureSampleParameter2D" for object "MaterialExpressionTextureSampleParameter2D_1"
WARNING: Unknown class "MaterialExpressionVectorParameter" for object "MaterialExpressionVectorParameter_1"
WARNING: Unknown class "MaterialExpressionMultiply" for object "MaterialExpressionMultiply_1"
WARNING: Unknown class "MaterialExpressionMultiply" for object "MaterialExpressionMultiply_2"
WARNING: Unknown class "MaterialExpressionQualitySwitch" for object "MaterialExpressionQualitySwitch_8"
WARNING: Unknown class "MaterialExpressionConstantClamp" for object "MaterialExpressionConstantClamp_10"
WARNING: Unknown class "MaterialExpressionScalarParameter" for object "MaterialExpressionScalarParameter_1"
WARNING: Unknown class "MaterialExpressionQualitySwitch" for object "MaterialExpressionQualitySwitch_9"
WARNING: Unknown class "MaterialExpressionConstantClamp" for object "MaterialExpressionConstantClamp_12"
Loading package: Startup.upk Ver: 864/9 Engine: 8710 Names: 7442 Exports: 14216 Imports: 2702 Game: 8000
WARNING: Import(mastermaterials.T_NormalMap_N) was not found
WARNING: Import(mastermaterials.T_Default_D) was not found
WARNING: Import(mastermaterials.T_Default_S) was not found
Loading MaterialInstanceConstant MI_Teeth_F from package Characters/CovertOps_04/CovertOps_04_Frontend_SF.upk
WARNING: BoolProperty "UMaterialInstanceConstant::bHasQualitySwitch" was not found
Loading SkeletalMesh3 SK_CovertOps_04_PlasticWax_Rig from package Characters/CovertOps_04/CovertOps_04_Frontend_SF.upk
******** Loading object SkeletalMesh3'CovertOps_04_Frontend_SF.SK_CovertOps_04_PlasticWax_Rig' ********
*** ERROR: Unknown ItemSize 251
FSkelIndexBuffer3<< <- FStaticLODModel3<< <- TArray::Serialize:0/1 <- USkeletalMesh3::Serialize <- LoadObject:SkeletalMesh3'CovertOps_04_Frontend_SF.SK_CovertOps_04_PlasticWax_Rig', pos=12BB77, ver=864/9, game=8000 <- UObject::EndLoad <- Main:umodel_version=505

Gonna do some more testing
« Last Edit: November 11, 2017, 23:35 by wraithcat » Logged
NevecEx
Newbie
*
Posts: 30


View Profile
Re: Dirty Bomb (formerly called Extraction)
« Reply #21 on: December 03, 2017, 21:04 »

It's possible to extract textures for them, but the latest Javelin and Guardian merc models are under a new compression method. I got this confirmed by a dev. So I'm guessing thats it now?
Logged

Discord: NevecEx#3871
Gazyi
Newbie
*
Posts: 15


View Profile
Re: Dirty Bomb (formerly called Extraction)
« Reply #22 on: December 19, 2017, 20:12 »

Wraithcat, tell me that you'll port other characters not like a personal headhack.

Anyway, looks like there's a method to export anything.
1. Run Umodel with defined old package version (I still used 840) and unchecked "Materials".
2. Export meshes.
3. Run UModel with default package version and unchecked: "Static Mesh", "Skeletal Mesh".
4. Export Materials.

Maybe it can be done easier, but that's worked for me.

Some crappy renders as proofs.
Logged
NevecEx
Newbie
*
Posts: 30


View Profile
Re: Dirty Bomb (formerly called Extraction)
« Reply #23 on: December 23, 2017, 13:15 »

Wraithcat, tell me that you'll port other characters not like a personal headhack.

Anyway, looks like there's a method to export anything.
1. Run Umodel with defined old package version (I still used 840) and unchecked "Materials".
2. Export meshes.
3. Run UModel with default package version and unchecked: "Static Mesh", "Skeletal Mesh".
4. Export Materials.

Maybe it can be done easier, but that's worked for me.

Some crappy renders as proofs.

Thank you very much, this worked for me! Everything got exported.
Logged

Discord: NevecEx#3871
Gildor
Administrator
Hero Member
*****
Posts: 7926



View Profile WWW
Re: Dirty Bomb (formerly called Extraction)
« Reply #24 on: December 24, 2017, 11:44 »

Nice find. I think this logic could be integrated into umodel to avoid any fuss with opening. Does it work with recent version of the game, or with some older one?
Logged
Gazyi
Newbie
*
Posts: 15


View Profile
Re: Dirty Bomb (formerly called Extraction)
« Reply #25 on: December 24, 2017, 16:13 »

I tried both recent and first Steam clients - both works almost same way.
But we still have blind spots. I have some questions:
1. Is UE3 has some legacy support for packing assets in .u files? (because every time I look at ShooterGame.u size (245 mb) I think there's some more than just script, but I never faces with things like this in UE3 games.)
2. Is it possible to get useful information from ObjectReferencers and ObjectRedirectors - like where's exactly referenced asset?
Logged
Gildor
Administrator
Hero Member
*****
Posts: 7926



View Profile WWW
Re: Dirty Bomb (formerly called Extraction)
« Reply #26 on: December 26, 2017, 01:12 »

1. u files are not just scripts, there was often used a GameName.u file which was a "startup package".
2. I don't know about these objects. What do you want from those?
Logged
Gazyi
Newbie
*
Posts: 15


View Profile
Re: Dirty Bomb (formerly called Extraction)
« Reply #27 on: December 26, 2017, 20:34 »

1. u files are not just scripts, there was often used a GameName.u file which was a "startup package".
ShooterGame is internal name of DB. But we're limited to go further because .u packages have custom compression, and guy who knows how to decompress them don't want to talk about that.
2. I don't know about these objects. What do you want from those?
There's some packages with content that contain only redirectors to meshes/textures.
Logged
RusoKais
Newbie
*
Posts: 1


View Profile
Re: Dirty Bomb (formerly called Extraction)
« Reply #28 on: June 17, 2018, 23:53 »

I can confirm that everything can be extracted like it was mentioned on this forum.

With this settings on the shortcut you can export StaticMeshes, Skeletal and animations:

"C:\Umodel\umodel.exe" -pkgver=840

Sorry for image in spanish, but you will figure it out if you have Windows 10 in another language:



Now, running Umodel in the "normal way", without any parameters in the shortcut, you can export all the materials.

Thanks. I wouldn't have figured this out by myselft in a millon years!
I wonder if this works on other games like Borderlands the Pre Sequel?
Logged
Gildor
Administrator
Hero Member
*****
Posts: 7926



View Profile WWW
Re: Dirty Bomb (formerly called Extraction)
« Reply #29 on: October 19, 2018, 23:41 »

The game is about to be closed (cancelled):
https://www.dirtybomb.com/news/the-future-of-dirty-bomb/
Logged
Jump to:  

Powered by SMF | SMF © 2006-2009, Simple Machines LLC
Leviathan design by Bloc | XHTML | CSS