Hentaya Newbie
Joined: 21 Jun 2004 Posts: 6
|
Posted: 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.
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. :) |
|