March 28, 2024, 16:00
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: UPK Export and Import table help  (Read 12587 times)
interdpth
Newbie
*
Posts: 18


View Profile
« on: July 27, 2013, 07:04 »

Hello!
I am wondering how to properly handle Export and Import table relationships.

For example
Gildors extract.exe makes the following files from a upk
<DIR>          DefaultPCBenchmarkMap_FWIT
DefaultPCBenchmarkMap_FWIT.Package
DefaultPCBenchmarkMap_FWIT_SF.Package
ExportTable.txt
ImportTable.txt
NameTable.txt
ShaderCache_16.ShaderCache
ShaderCache_17.ShaderCache
StandaloneSeekFreeObjectReferencer_336122D7.ObjectReferencer


While, the current relationships I have looks like this

Thank you for the help
Logged
Gildor
Administrator
Hero Member
*****
Posts: 7978



View Profile WWW
« Reply #1 on: July 27, 2013, 12:22 »

Hi,
I didn't understand your question.
Logged
interdpth
Newbie
*
Posts: 18


View Profile
« Reply #2 on: July 27, 2013, 15:25 »

Hmm, alright
I have the following
Export ActorGuid_ArrayProperty_DefaultPCBenchmark_FWIT_ActorGuid
The above name is based on this.
test.GetName(test.Exports.Exports.ArcheType) + "_" + test.GetName(test.Exports.Exports.ClassIndex) + "_" + test.GetName(test.Exports.Exports.ObjName) + "_" + test.GetName(test.Exports.Exports.PackageIndex);

While, extract.exe will give me a file named DefaultPCBenchmarkMap_FWIT.Package

The only time I was able to find a reference to "Package" in the name table was via the import table.

So, I want to know how to structure them.
Logged
warrantyvoider
Full Member
***
Posts: 109


View Profile
« Reply #3 on: July 27, 2013, 16:19 »

the .Class reference can be postive and negative, like this

Index > 0 return Export[Index -1];
Index < 0 return Import[-Index -1];
Index = 0 return "Class"

so your obj will look like this

class.objname.

now as the class can be an export/import too, you have to chain that class aswell until you reach 0. so your object could look like

package.class.class.class.objname

but im not so sure about the naming, actually all objects should root in class "object" but I guess gildor can enlighten us on the naming convention

greetz WV
Logged
interdpth
Newbie
*
Posts: 18


View Profile
« Reply #4 on: July 27, 2013, 16:25 »

"Index > 0 return Export[Index -1];
Index < 0 return Import[-Index -1];
Index = 0 return "Class""

Where is the main index coming from? I've been working off the basis of

Export[Index] and treating just that as my objects.

Super new to this, thanks for all the help.
Logged
warrantyvoider
Full Member
***
Posts: 109


View Profile
« Reply #5 on: July 27, 2013, 16:29 »

I have a project called "ME3 Explorer" that contains an editor for upk files too and its open source (here a tutorial to get the code and a link to my forum too Tongue) http://me3explorer.freeforums.org/tutorial-using-svn-t252.html just look it up

greetz
Logged
interdpth
Newbie
*
Posts: 18


View Profile
« Reply #6 on: July 27, 2013, 16:47 »

Yeah, I was trying to get it reading this title. But opted towards my own code. It def helped some learning though.

Thankfully I also own Mass Effect so I can see what it's doing.
« Last Edit: July 27, 2013, 16:54 by interdpth » Logged
warrantyvoider
Full Member
***
Posts: 109


View Profile
« Reply #7 on: July 27, 2013, 20:37 »

have fun with it!  Grin btw, we always look out for people who want to add to it Tongue

greetz WV
Logged
interdpth
Newbie
*
Posts: 18


View Profile
« Reply #8 on: July 27, 2013, 23:07 »

I may add to it once I can decode your pcc me3 structure code first haha
Not used to all the serializing you pull off and decimals
« Last Edit: July 27, 2013, 23:54 by interdpth » Logged
warrantyvoider
Full Member
***
Posts: 109


View Profile
« Reply #9 on: July 28, 2013, 01:38 »

well its already version 3 of pcc class, alot additions from salty and amarok, so yeah lots of code^^. better look into the upk class or me1/2 they are simpler coded and enough for basic import/export

greetz WV
Logged
interdpth
Newbie
*
Posts: 18


View Profile
« Reply #10 on: July 28, 2013, 02:43 »

Now that I have the tables down and their formats, I can move on to the better stuff. Like this thread, and other things I should've looked for in ME3 Viewer :p

Edit:

Woo!
« Last Edit: July 28, 2013, 08:05 by interdpth » Logged
Print 
« previous next »
Jump to:  

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