View Single Post
  #5  
Old 04-28-2013, 03:32 PM
Furinex Furinex is offline
Sarnak

Furinex's Avatar

Join Date: Apr 2013
Posts: 339
Send a message via AIM to Furinex
Default

Quote:
Originally Posted by a_gnoll_pup [You must be logged in to view images. Log in or Register.]
It is a fixed byte header that reads until the file ends. Each entry, if you notice, has a version in the header, followed by a non-variable byte entry until EOF is read by the EQ client. The beginning of the entry should be the filename.

So, if you write a program to find the beginning of the file entries and scan based on length to edit the byte (the location of the byte you are changing to 0xC4 is base + a certain value) you can iterate through all the entries until EOF is hit, much like the eq client is doing now, writing the bytes to the file as you change them by keeping the entries in a struct in memory as opposed to keeping them in memory and doing nothing with them.

Alternatively, the EQ client could be patched via memory injection to read that byte as 0xC4 always when it reads that entry. To find out the length of the old spell file, cross-reference EQ for Mac's disassembly (it loads as readable code for the most part) versus EQ titanium's strings, find the byte, and force it to 0xC4.
Well... its clear you know what you're doing. Far more than I do. I am looking forward to the results of this. Even if it isnt "Perfect" its pretty damn close and would make the play experience 100x better.