XeNTaX Forum Index
Forum MultiEx Commander Tools Tools Home
It is currently Mon May 29, 2017 6:50 am

All times are UTC + 1 hour




Post new topic Reply to topic  [ 1 post ] 
Author Message
 Post subject: Darksiders 2 Savegame [PC]
PostPosted: Fri Oct 12, 2012 9:01 pm 
Offline
ultra-n00b

Joined: Thu May 13, 2004 7:21 pm
Posts: 6
Has thanked: 0 time
Have thanks: 1 time

I've done some research on Darksiders 2 DSAV-Files. Here is what I've found out so far:
4 Chars FF FF FF FF are often used as Seperators for different File-regions e.g. after Header-Region

Basic File-Structure:
[Header]
[Start Load Regions(MORE than ONE if DLC Campaign was played)]
[FF FF FF FF Seperator]
[Attribute Region]
[World States(Switches, Doors, Progress, Enemys)]
[unknown]
[ITEMS]
[unknown]
[Quests and Quest Targets]
[unknown(maybe statistics)]

Byte Order: Little Endian

Basic Datatypes:
Code:
CHAR   8 bit Ascii
BYTE   int8
WORD  int16
DWORD int32

struct STRING {
  WORD StringLength ;
  char String[StringLength] ;
}

struct START_REGION
{
  STRING World ;
  STRING Level ;
  STRING Start ;
}

enum DIFFICULTY {
  EASY      = 0,
  NORMAL      = 1,
  APOCALYPTIC   = 2,
  NIGHTMARE   = 3
}



Header:
Code:
char Signature[4] ; // DSAV
WORD Version;
BYTE SignaturInformation[4] ;
DIFFICULTY Difficulty ;
BYTE NewGamePlus;
BYTE unknown ;
BYTE IsNullAtNewGameAfterDieingInNightmare ;
BYTE unknown ;
DWORD TimePlayedSeconds ;
/* 2 unknown DWORDs */
DWORD unknown[2] ;
DWORD CurentExperiencePoints ;
DWORD NextLevelExpererienceNeeded ;
DWORD LevelOfDeath ;
/* 8 unknown DWORDs */
DWORD unknown[8] ;


Start Load Region:
Code:
START_REGION StartRegions[1] ;
WORD StartLoadRegionLength ;
char StartLoadRegion[StartLoadRegionLength] ;


Seperator: 4 times 0xFF

Attribute Region:
Code:
WORD unknown ;
DWORD GILD ;
DWORD boatmanCoins ;
DWORD CurrentHealth_No_Effect ;
DWORD unknown ;
DWORD unknown ;
DWORD SkillPoints ;
DWORD unknown[3] ;


World States:
Code:
STRING World01State ;


Quests:
Code:
STRING QuestName ;
DWORD NumberOfQuestTargets ;
struct QuestTarget{
  STRING QuestTargetName ;
  BYTE QuestTargetStateUnknown ; // seems to be always 01 (maybe has to be done)
  BYTE QuestTargetStateVisible ; // 00 or 01
  BYTE QuestTargetStateActive ; // 01: active, 02: done
  // Hex: 01 01 02 - Objective done
}[NumberOfQuestTargets]


You can make the ads go away by registering





Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 1 post ] 

All times are UTC + 1 hour


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group