Register to post in forums, or Log in to your existing account
 

This forum is locked: you cannot post, reply to, or edit topics.  This topic is locked: you cannot edit posts or make replies.     Home » Forums » zExplorer Discussion
Hentaya
Newbie


Joined: 21 Jun 2004
Posts: 6

PostPosted: Thu Mar 23, 2006 7:35 pm   

Making ACX work with the new ToD file format
 
Here's the info I've found so far, that's above and beyond what almighty Zugg has already implemented. Smile

Old file name: CELL.DAT
New file name: client_cell_1.dat

If I try to change the file name inside of ACX, it just...ignores me. :) Probably because the format isn't right. No error message or anything, it just reverts.

Now, as for the format. http://www.majhi.com/acformats.htm is my source for this, but I'll paste things in here for ease of use.

AC1: Dark Majesty

Code:
File Header structure: Offset 0x12C
struct DMDatFileHeader
{
   DWORD dwMagicNumber;
   DWORD dwBlockSize;
   DWORD dwFileSize;
   DWORD dwFileVersion;
   DWORD dwFirstFreeBlock;
   DWORD dwLastFreeBlock;
   DWORD dwFreeBlockCount;
   DWORD dwRootOffset;
};

Sector Structure:
struct DMSector
{
   DWORD dwNext;
   char szData[ dwBlockSize - 4 ];
};

Directory Structure:
struct DMDirectory
{
   dword dwSubdirs1[62];
   dword dwEntryCount;
   struct DMFileEntry feEntries[62];
};

File Entry Structure:
struct DMFileEntry
{
   dword dwID;
   dword dwOffset;
   dword dwSize;
};


Simple enough. That's for reference. Here's the NEW version...

AC1: Throne of Destiny

File Header structure: Offset 0x140

Code:
struct TODDatFileHeader
{
   DWORD dwMagicNumber;
   DWORD dwBlockSize;
   DWORD dwFileSize;
   DWORD dwFileVersion;
   DWORD dwUnkown1;
   DWORD dwFirstFreeBlock;
   DWORD dwLastFreeBlock;
   DWORD dwFreeBlockCount;
   DWORD dwRootOffset;
   DWORD dwUnkown2;
   DWORD dwUnkown3;
   DWORD dwUnkown4;
   DWORD dwUnkown5;
   DWORD dwUnkown6;
   DWORD dwUnkown7;
   DWORD dwUnkown8;
};

Sector Structure:
struct TODSector
{
   DWORD dwNext;
   char szData[dwBlockSize - 4];
};

Directory Structure:
struct TODDirectory
{
   dword dwSubdirs1[62];
   dword dwEntryCount;
   struct TODFileEntry feEntries[62];
};

File Entry Structure:
struct TODFileEntry
{
   dword dwUnkown1;
   dword dwID;
   dword dwFileOffset;
   dword dwFileSize;
   dword dwUnkown5;
   dword dwUnkown6;
};



So, it SEEMS like nothing much has changed (well, yeah, all those 'dwUknown#' <stet> fields, but), just things added. Shouldn't be too hard to recode to get this working, so I can start encouraging my guildies to register ACX so we can keep track of each other with the server.

AC seems to be slowly getting back people into the folds...DDO is drawing some of them back, apparently.

As for the server? That'll be another post, next week, once I get a chance to look at it.

It's amazing what being unemployed will do for your productivity. :)
_________________
Reply with quote
TonDiening
GURU


Joined: 26 Jul 2001
Posts: 1958
Location: Canada

PostPosted: Tue Mar 28, 2006 2:28 pm   
 
Nice work!
Reply with quote
Display posts from previous:   
This forum is locked: you cannot post, reply to, or edit topics.   This topic is locked: you cannot edit posts or make replies.     Home » Forums » zExplorer Discussion All times are GMT
Page 1 of 1

 
Jump to:  
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 vote in polls in this forum
© 2009 Zugg Software. Hosted on Wolfpaw.net