bah <_< even tho alt explained it more than once
full
0x0: Head string
0x4: Game type
0x8: Decompressed map size
0x10: Index offset
0x14: Meta data size
0x20: Map name
0x40: Map build date
0x60: Map type
0x7FC: Foot string
And this is the same set but with the demo offsets:
0x2C0: Head string
0x588: Game type
0x5E8: Decompressed map size
0x5EC: Index offset
0x2C4: Meta data size
0x58C: Map name
0x2C8: Map build date
0x02: Map type
0x5F0: Foot string
Index offset: this 32-bit integer is the most important piece of data contained in the header. It contains the address of the map index, the next part of the mapfile that we'll be using.
Index
So we're back with a new installment on how to edit the halo mapfile. But before we can edit anything, we have to find out where everything is. So now we'll be reading in the index data.
Welcome back. I know it's been a bit since I last talked to you guys about the header but here I am ready with the next step. But before we get into it, I'm just going to clarify a few important bits.
This tutorial assumes a beginner to medium understanding of programming concepts. It also assumes you have a general idea of how to manipulate halo mapfiles using existing software. Finally, you must have read the first installment of this tutorial series.
Ok, so now that that's taken care of we'll get going. Todays topic of discussion is the map index. The map index is like any index in that it keeps a useful list of all the important data in a simple to read format. To find it, we simply read the header and go to the location stored in our variable indexOffset. Once at the index, the data will be organized in this fashion:
indexOffset + 0x00: Map magic (index)
indexOffset + 0x04: Unknown ID
indexOffset + 0x08: Unknown data
indexOffset + 0x0C: Tag count
indexOffset + 0x10: Verticie count
indexOffset + 0x14: Verticie offset
indexOffset + 0x18: Indicie count
indexOffset + 0x1C: Indicie offset
indexOffset + 0x20: Model size
Now some of that info might seem familiar but for the most part it doesn't make much sense without an explanation. I included the two unknown values for the sake of completeness this time around but at this point it seems to be ignored by most modders. So anyway, here is the breakdown on what each piece of data means:
Map magic (index): this 32-bit integer is one of the most important pieces of data in the entire mapfile. It is also very useful for the creation of maps since it allows map makers to add data without having to completely rewrite the entire pointer/reflexive system that tags rely on to communicate with each other.
Unknown ID: this 32-bit integer appears to be similar to other ID values and might possibly represent the ID of the index.
Unknown data: there is currently no information on this 32-bit integer.
Tag count: a 32-bit integer that stores the number of tags in the mapfile.
Verticie count: this 32-bit integer indicates how many verticies total there are in the model section of the raw data. This and the next couple of variables having to do with models will be explained further in another tutorial.
Verticie offset: this 32-bit integer is the offset to the verticie raw data.
Indicie count: this 32-bit integer indicates how many indicies are stored in the raw data.
Indicie offset: this 32-bit integer when added to the verticie offset indicates where in the mapfile the indicies are stored.
Model size: a 32-bit integer that contains the size in bytes of the model section of the raw data.
This is all info from altimit01 thank you good day i got tired of the retarted wtf is the index thing
Epilepsy
Moderator: Halo Moderators
Who is online
Users browsing this forum: Bing [Bot] and 12 guests

