Everything about HD, MD, and their mods.
Moderator: Halo Moderators
-
Sparky
- Delta Force
- Posts: 4194
- Joined: Wed Mar 31, 2004 8:59 pm
- Location: New Jersey, USA
-
Contact:
Post
by Sparky » Wed May 15, 2013 12:01 pm
Update to my understanding of the dependency struct type, based upon research today:
Code: Select all
dependency external tag reference | 4 chars for the tag class, a 4-byte 32-bit unsigned integer that when modified by magic points to the tag name (in tag files, a number generated by Guerilla that is not random, but something like a hash based upon the string name of the tag but does not seem all that significant so long as it is unique), 4 bytes of zero (in tag files, tag name string length as 32-bit unsigned integer used to parse the dependency tag name strings listed at the end of the file), and a 4-byte unsigned 32-bit integer unique tag ID (in tag files, 0xFFFFFFFF or 4294967295 which would be -1 if it were a signed integer)
So basically a 4-character string and three unsigned 32-bit integers.
Either you are groping for answers, or you are asking God and listening to Jesus.
-
rEsTnPeAcEz
- Veteran
- Posts: 291
- Joined: Sat Sep 01, 2012 12:34 pm
- Location: Canada EHH
Post
by rEsTnPeAcEz » Wed May 15, 2013 12:16 pm
Omg thank you, i want to know that so I can make cheats
with The Cheat.
-
Modzy
- Green Beret
- Posts: 3058
- Joined: Fri Feb 22, 2008 11:06 pm
- Location: Portland, OR
Post
by Modzy » Wed May 15, 2013 2:33 pm
Traditionally the first four bytes, the tag class, is read as a 32-bit int (hence why the byte order gets reversed when loaded into memory as big endian).
The next four bytes make up a pointer to the tag name in memory (we modify this by a "magic" value in most map editors to compensate for not loading it into memory).
Next four are unused.
The last four are the tag's ID.
Who is online
Users browsing this forum: Ahrefs [Bot], Bing [Bot] and 43 guests