March 28, 2024, 13: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: Pariah ukx files  (Read 8429 times)
dany25
Newbie
*
Posts: 18


View Profile
« on: February 08, 2009, 15:23 »

hello,

 Shocked GREAT WORK Shocked for unreal 2 animations that work perfectly for Land of the Dead THANKS.
I have another request for another unreal game engine Pariah.
When i test to load some ukx from this game i have this error:

***ERROR: ReadNameTable

I uploaded some files here:

http://fastfreeupload.com/download.php?file=642Pariah.zip
Logged
Gildor
Administrator
Hero Member
*****
Posts: 7978



View Profile WWW
« Reply #1 on: February 08, 2009, 16:49 »

Currently I'm working on UE3 support (still cannot find enough free time to implement UT3 SkeletalMesh loader). Other games have lower priority.
I already have all required Pariah files Smiley
« Last Edit: May 10, 2009, 20:17 by esr911 » Logged
Gildor
Administrator
Hero Member
*****
Posts: 7978



View Profile WWW
« Reply #2 on: March 20, 2009, 17:18 »

I have checked Pariah code. I will not support this game, because Digital Extreme's programmers have modified almost all the basic structures of the game data for obfuscation (I'm sure: they have done this not for any kind of optimization or better code, but to complicate data analysis). I don't want to disfigure umodel code to just support one middling game title.

Following text I was posted for people familiar with Unreal Engine code, even with UT1 public source.

Small example: serialization of FCoords structure:
original code looks like this:
Code:
friend FArchive& operator<<(FArchive &Ar, FCoords &F)
{
  return Ar << F.Origin << F.XAxis << F.YAxis << F.ZAxis;
}
Pariah code looks like this:
Code:
friend FArchive& operator<<(FArchive &Ar, FCoords &F)
{
  if (!Ar.RetailArchive())
    return Ar << F.Origin << F.XAxis << F.YAxis << F.ZAxis; // original Epic code
  else
    return Ar << F.XAxis << F.YAxis << F.ZAxis << F.Origin; // obfuscated code
}
As you can see, they have changed field serialization order for retail archives!

Another example. TArray serialization. Their code looks like this:
Code:
template<class T> FArchive& operator<<(FArchive &Ar, TArray<T> &A)
{
  if (Ar.IsLoading())
  {
    // loading array
    int count;
    Ar << AR_INDEX(count);
    if (Ar.RetailArchive()) count--; // de-obfuscate count
    A.Empty(count);
    A.Add(count);
  }
  else
  {
    // saving array
    int count = A.Num();
    if (Ar.RetailArchive()) count++; // obfuscate count
    Ar << AR_INDEX(count);
  }
  // serialize data (using real data count)
  for (int i = 0; i < A.Num(); i++)
    Ar << A[i];
}
Here we can see, that number of elements in archive written to the file greater by 1 than the real number of elements.

Whole serialization code flooded with similar code. I think, this game it is not worth the trouble.
« Last Edit: May 10, 2009, 20:19 by esr911 » Logged
esr911
Silver Sponsor
Full Member
**
Posts: 189


View Profile
« Reply #3 on: March 20, 2009, 21:28 »

You know Gildor, Like you said, you can't support every game. If people really really want assets from this game they can always use 3D Ripper DX, 3DVIA Printscreen, GameAssassin or extract the models as obj.

3D Ripper DX - http://www.deep-shadows.com/hax/3DRipperDX.htm

3DVIA Printscreen - http://www.3dvia.com/pros/3DVIA_PrintScreen/

GameAssassin - (Warning it is in Chinese, use Google was used to translate) http://translate.google.com/translate?u=http://gameassassin.com/downloads.htm&sl=zh-CN&tl=en&hl=en&ie=UTF-8

This just means that you have more time to work on something else  Grin

Thanks for letting us know for sure.
..:: ESR ::..
Logged
Gildor
Administrator
Hero Member
*****
Posts: 7978



View Profile WWW
« Reply #4 on: June 24, 2009, 15:53 »

Just found that Warpath uses the same engine as Pariah.
Logged
Print 
« previous next »
Jump to:  

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