March 28, 2024, 15:39
bigger smaller reset     1020px Wide width Full width Reset   * *

Gildor's Forums

  Homepage Facebook Read news on Twitter Youtube channel Github page
Welcome, Guest. Please login or register.
Did you miss your activation email?

« previous next »
Print
Author Topic: Packer to .upk files  (Read 28830 times)
Danio
Guest
« on: October 27, 2009, 01:53 »

Hello!
We are currently working on the translation of Saw: The Video Game. The game uses Unreal Engine. I have managed to find the .upk file extractor but cannot find a packer anywhere. Why hasn't anyone designed such a tool so far? If it's possible, I would like to ask you to enable the source code of Unreal Package Extractor and the .upk extension. Perhaps I will be able to write a piece of code.

.upk files contain the fonts from Saw: The Video Game. I will be grateful for any help.

Thank you in advance
Daniel
« Last Edit: September 02, 2014, 16:00 by Gildor » Logged
Gildor
Administrator
Hero Member
*****
Posts: 7978



View Profile WWW
« Reply #1 on: October 27, 2009, 12:53 »

It is not possible to perform work opposite to "unreal package extractor". You cannot "pack" files back. Umodel source code will not help you.
Logged
Danio
Guest
« Reply #2 on: October 27, 2009, 22:50 »

Is there any way to create a font for Saw: The Video Game? Everything is in .upk files Sad
Logged
boxov
Newbie
*
Posts: 33


View Profile
« Reply #3 on: January 04, 2010, 22:38 »

By the way, great question, I am also interested!
Logged
Danio
Guest
« Reply #4 on: January 17, 2010, 04:46 »

The same with Borderlands.
Fonts are in .upk files.
Logged
qwertypower
Newbie
*
Posts: 20



View Profile
« Reply #5 on: February 17, 2013, 01:32 »

its possible
I was able to repack upk, but only localization package (Alice Madness Returns, UT3, Bulletstorm)

repacker here  http://www.mediafire.com/?g7b88c0zhdmlkqz

if you can modify the program it will be possible repack *.upk with textures and meshes
« Last Edit: February 17, 2013, 20:26 by qwertypower » Logged
Gildor
Administrator
Hero Member
*****
Posts: 7978



View Profile WWW
« Reply #6 on: February 18, 2013, 17:38 »

its possible
I was able to repack upk, but only localization package (Alice Madness Returns, UT3, Bulletstorm)

repacker here ...
I see it's based on my "Unreal package extractor" Smiley
Logged
qwertypower
Newbie
*
Posts: 20



View Profile
« Reply #7 on: February 18, 2013, 18:53 »

its possible
I was able to repack upk, but only localization package (Alice Madness Returns, UT3, Bulletstorm)

repacker here ...
I see it's based on my "Unreal package extractor" Smiley


yes, and if I had the source code of the program, i could write repaker for replacement textures and meshes
« Last Edit: February 18, 2013, 18:56 by qwertypower » Logged
Gildor
Administrator
Hero Member
*****
Posts: 7978



View Profile WWW
« Reply #8 on: February 18, 2013, 18:54 »

Don't be so sure (I answered to your question in Russian board with more details).
Logged
sippey
Newbie
*
Posts: 3


View Profile
« Reply #9 on: May 16, 2014, 19:57 »

It is not possible to perform work opposite to "unreal package extractor". You cannot "pack" files back. Umodel source code will not help you.

Is there a reason for that? I can see if some kind of asymmetric encryption is in place this might be impossible unless the client program is hacked as well. Anyway, we all want to know a bit more than an "impossible". If you have time to make some explanation, we will be very grateful. Thank you.
Logged
Gildor
Administrator
Hero Member
*****
Posts: 7978



View Profile WWW
« Reply #10 on: May 16, 2014, 20:10 »

I explained that many times. Will try to do the same with a bit more details.

UPK is not an "archive", how most people from this forum thinks. It's a file with very complex structure. It contains serialized objects which has links to each other, and links to objects in other packages. Sometimes objects has absolute file positions inside, so it's not possible to move such object inside a package without updating such position fields. You should know where each object type has absolute positions. There are thousands of object classes in Unreal engine, plus all games adds own classes.

Each object is serialized in a complex way, even more complex that package itself. There's no static-size structures, you can't read, for example, block of fixed size and say "object serialized" - you should read each object field-by-field.

Umodel doesn't read all fields - sometimes I'm adding code which simply "skips" some data, or keep them in memory as uninterpreted, with unknown meaning (like "unknown int #3").

When you want to load some package, modify it, and then save modified - you should ensure that absolutely every fields is saved. Even more, umodel doesn't have "save" capabilities.

I hope that's enough to explain the complexity of data structures?
Logged
sippey
Newbie
*
Posts: 3


View Profile
« Reply #11 on: May 19, 2014, 04:47 »

Thank you for this detailed explanation. Here is my summary of your points with my understanding added just for the rest:

1. UPK has more complex structures that those needed to build umodel.
2. Payload data inside UPK are serialized object. Serialize and deserialize method in unknown for many type of object.
3. All the resource in a game is kind of interconnected, so there is no possibility to treat each upk files individually. So one has to look at all the resource of a game the same time in order to make some change, which make it difficult.
4. There are undocumented links to inside of objects inside upk also.

In sum, building a general repacking tool is too difficult to do.
Logged
Gildor
Administrator
Hero Member
*****
Posts: 7978



View Profile WWW
« Reply #12 on: May 19, 2014, 08:30 »

Yes.
Sometimes it's possible to make "repacker" which will support a few data types - like only textures and sounds, for particular game only. But generic packer is too hard to implement.
Logged
Anyman
Newbie
*
Posts: 1


View Profile
« Reply #13 on: June 28, 2014, 19:54 »

This repacker strangely works
 
 
My file 'Startup_INT.upk' is 15 Mb. After extracting & repacking => 300 kb and I can't extract it again

WTF?
 
 
We want to translate MK Arcade Kollection (Unreal Engine 3)

===

Also questions

- How to change fonts UE3? (*.Texture2D, *.Font)
- External module works? (instead of repacking; put new fonts near exe/some folder)
« Last Edit: June 28, 2014, 19:57 by Anyman » Logged
qwertypower
Newbie
*
Posts: 20



View Profile
« Reply #14 on: July 18, 2014, 22:35 »

AMR repacker can repack only SoundNodeWave/Cue structures. If package have other files, he cant repack it. He dont know other filestructures (if i called this right Huh? Grin)
Logged
Print 
« previous next »
Jump to:  

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