Xbox, Halo 2:Advnaced-Adding Chunks To Reflexives
Posted: Tue Oct 25, 2005 10:53 am
Adding more chunks (in a way that won't mess up the map)
By TheTyckoMan
Things you will need:
h2x
a hex editor, hex workshop is good, you can get a free 30 trial at http://www.bpsoft.com/downloads/index.html
wordpad or notepad (both come with windows)
Now to the good stuff
For this tutorial I'm gonna use ascension. What we’re gonna do is add chunks to the item collections reflexive in the scnr.
First make a copy of ascension, so you'll have "ascension.map" and "copy of ascension.map"
open the open "copy of ascension.map" in h2x.
go to scnr and extract (not recursively) the scnr (in this case “scenarios\multi\ascension\ascension").
go to the folder that you extracted them to, then copy both the files.
rename the files to some random thing like but you have to 1:name them the same thing (before the [tagtype]), 2: keep the last part starting at [.
so here is what I’ll name it:
“Copy of ascension[scnr].meta” is renamed to “tutorial[scnr].meta”;
“Copy of ascension[scnr].meta.data” is renamed to “tutorial[scnr].meta.data”
now comes the fun part, open up the ascension[scnr].meta.data file
and find Reflexive|288|9600|33|scnr-scenarios\multi\ascension\ascension|32136
now I’ll explain what each of the sections mean (between each |)
reflexive is what type it is (as opposed to dependency)
288 is the decimal offset of the reflexive
9600(also dec) is the offset (from the start of the tag) that the reflexive points to (aka translated offset)
33 is the chunk count
scnr-scenarios\multi\ascension\ascension is the tag that the offset (that the reflexive points to)is in.
32136 is the size of that tag.
okay, now open up ascension[scnr].meta in a hex editor (I use hexworkshop)
go to the translated offset of the reflexive (9600) an easy way of doing this is to go to edit>goto (make sure that dec and “from begining of file” are selected)
now there are 33 chunks and each chunk (in this reflexive) has a size of 144, so multiply 33 by 144 which equals 4752, so select that much.
To do this go to edit>select block then make sure dec and size of block are selected and put in 4752, which will select all the item collection chunks.
STOP THAT TUTORIAL!
btw how you find chunk sizes is take the reflexive's translated offset (in this case 9600) and subtract
it from the next reflexive's translated offset (not the next one in line, but go through all the reflexives and find the next TRANSLATED OFFSET)
in this case it's Reflexive|296|14352|1|scnr-scenarios\multi\ascension\ascension|32136
so 14652-9600=4752 now we take this and divide by the chunk count (33 in this case) and we get our
chunk size which is 144 because 4752/33=144
RESTART TUTORIAL
copy them and then open tutorial[scnr].meta, go to edit>select all, then paste over everything in there (so you’ll just have have the collection stuff) then save
you can close ascension[scnr].meta now, keep open tutorial[scnr].meta
now when we were testing, halo 2 didn’t like have those chunk counts over 100 so we’ll create only 99.
go to the start of tutorial[scnr].meta (offset 0) then select a block of 144 (so you’ll get the first chunk) copy it, then go to the end of the file.
at the bottom right you will see offset:(then an offset), sel:(the amount of stuff you have selected) and the size of the file (in bytes)
paste (at the end) the chunk we copied, keep pasting until the size of the file is equal to 14256 (99*144) when that’s done save.
now you can close tutorial[scnr].meta.
open the data file (tutorial[scnr].meta.data) in notepad or wordpad.
delete everything after TagType|scnr so you end up with:
Filename|scenarios\multi\ascension\ascension
TagType|scnr
rename scenarios\multi\ascension\ascension to something else, I’ll name it adding\chunks\tutorial\file so I’ll get
Filename|adding\chunks\tutorial\file
TagType|scnr
save and get out
go to h2x, open up copy of ascension.map
go to the scnr and select scenarios\multi\ascension\ascension,
click inject, select tutorial[scnr].meta and press open, after it says done click save changes (to save the name)
now extract the file again (yes this sounds stupid but do it)
put it in a new folder with nothing else in it.
open up the original ascension (ascension.map)
go to tools>add to map then select the new folder
when it gets done extract the scnr (scenarios\multi\ascension\ascension) and open the .data file for it (ascension[scnr].meta.data
find Reflexive|288|9600|33|scnr-scenarios\multi\ascension\ascension|32136
now change it so it’ll point to the added chunks
change the offset (in our new tag it is 0)
Reflexive|288|0|33|scnr-scenarios\multi\ascension\ascension|32136
change the chunk count (we have 99 chunks so change it to 99)
Reflexive|288|0|99|scnr-scenarios\multi\ascension\ascension|32136
change it to point to the new tag
Reflexive|288|0|99|scnr-adding\chunks\tutorial\file|32136
change the size of the tag the reflexive’s translated offset is in, so make it 14256 (the size of our added chunks tag)
Reflexive|288|0|99|scnr-adding\chunks\tutorial\file|14256
then save and inject it over the original scnr (scenarios\multi\ascension\ascension)
fix the encryption (in h2x it’s sign map) and test it out (to make sure it doesn't lock) then you can use it to do whatever.
edit:because pokecancer didn't release the latest version of h2x (back in june) the version I was using had more features (a few) then the released h2x, so I asked him and he said to go ahead and release this one so use this version when you follow the tutorial.
By TheTyckoMan
Things you will need:
h2x
a hex editor, hex workshop is good, you can get a free 30 trial at http://www.bpsoft.com/downloads/index.html
wordpad or notepad (both come with windows)
Now to the good stuff
For this tutorial I'm gonna use ascension. What we’re gonna do is add chunks to the item collections reflexive in the scnr.
First make a copy of ascension, so you'll have "ascension.map" and "copy of ascension.map"
open the open "copy of ascension.map" in h2x.
go to scnr and extract (not recursively) the scnr (in this case “scenarios\multi\ascension\ascension").
go to the folder that you extracted them to, then copy both the files.
rename the files to some random thing like but you have to 1:name them the same thing (before the [tagtype]), 2: keep the last part starting at [.
so here is what I’ll name it:
“Copy of ascension[scnr].meta” is renamed to “tutorial[scnr].meta”;
“Copy of ascension[scnr].meta.data” is renamed to “tutorial[scnr].meta.data”
now comes the fun part, open up the ascension[scnr].meta.data file
and find Reflexive|288|9600|33|scnr-scenarios\multi\ascension\ascension|32136
now I’ll explain what each of the sections mean (between each |)
reflexive is what type it is (as opposed to dependency)
288 is the decimal offset of the reflexive
9600(also dec) is the offset (from the start of the tag) that the reflexive points to (aka translated offset)
33 is the chunk count
scnr-scenarios\multi\ascension\ascension is the tag that the offset (that the reflexive points to)is in.
32136 is the size of that tag.
okay, now open up ascension[scnr].meta in a hex editor (I use hexworkshop)
go to the translated offset of the reflexive (9600) an easy way of doing this is to go to edit>goto (make sure that dec and “from begining of file” are selected)
now there are 33 chunks and each chunk (in this reflexive) has a size of 144, so multiply 33 by 144 which equals 4752, so select that much.
To do this go to edit>select block then make sure dec and size of block are selected and put in 4752, which will select all the item collection chunks.
STOP THAT TUTORIAL!
btw how you find chunk sizes is take the reflexive's translated offset (in this case 9600) and subtract
it from the next reflexive's translated offset (not the next one in line, but go through all the reflexives and find the next TRANSLATED OFFSET)
in this case it's Reflexive|296|14352|1|scnr-scenarios\multi\ascension\ascension|32136
so 14652-9600=4752 now we take this and divide by the chunk count (33 in this case) and we get our
chunk size which is 144 because 4752/33=144
RESTART TUTORIAL
copy them and then open tutorial[scnr].meta, go to edit>select all, then paste over everything in there (so you’ll just have have the collection stuff) then save
you can close ascension[scnr].meta now, keep open tutorial[scnr].meta
now when we were testing, halo 2 didn’t like have those chunk counts over 100 so we’ll create only 99.
go to the start of tutorial[scnr].meta (offset 0) then select a block of 144 (so you’ll get the first chunk) copy it, then go to the end of the file.
at the bottom right you will see offset:(then an offset), sel:(the amount of stuff you have selected) and the size of the file (in bytes)
paste (at the end) the chunk we copied, keep pasting until the size of the file is equal to 14256 (99*144) when that’s done save.
now you can close tutorial[scnr].meta.
open the data file (tutorial[scnr].meta.data) in notepad or wordpad.
delete everything after TagType|scnr so you end up with:
Filename|scenarios\multi\ascension\ascension
TagType|scnr
rename scenarios\multi\ascension\ascension to something else, I’ll name it adding\chunks\tutorial\file so I’ll get
Filename|adding\chunks\tutorial\file
TagType|scnr
save and get out
go to h2x, open up copy of ascension.map
go to the scnr and select scenarios\multi\ascension\ascension,
click inject, select tutorial[scnr].meta and press open, after it says done click save changes (to save the name)
now extract the file again (yes this sounds stupid but do it)
put it in a new folder with nothing else in it.
open up the original ascension (ascension.map)
go to tools>add to map then select the new folder
when it gets done extract the scnr (scenarios\multi\ascension\ascension) and open the .data file for it (ascension[scnr].meta.data
find Reflexive|288|9600|33|scnr-scenarios\multi\ascension\ascension|32136
now change it so it’ll point to the added chunks
change the offset (in our new tag it is 0)
Reflexive|288|0|33|scnr-scenarios\multi\ascension\ascension|32136
change the chunk count (we have 99 chunks so change it to 99)
Reflexive|288|0|99|scnr-scenarios\multi\ascension\ascension|32136
change it to point to the new tag
Reflexive|288|0|99|scnr-adding\chunks\tutorial\file|32136
change the size of the tag the reflexive’s translated offset is in, so make it 14256 (the size of our added chunks tag)
Reflexive|288|0|99|scnr-adding\chunks\tutorial\file|14256
then save and inject it over the original scnr (scenarios\multi\ascension\ascension)
fix the encryption (in h2x it’s sign map) and test it out (to make sure it doesn't lock) then you can use it to do whatever.
edit:because pokecancer didn't release the latest version of h2x (back in june) the version I was using had more features (a few) then the released h2x, so I asked him and he said to go ahead and release this one so use this version when you follow the tutorial.