Bitmasks
Moderator: Halo Moderators
-
- Green Beret
- Posts: 3470
- Joined: Sat Jun 03, 2006 11:08 am
- Contact:
that second part dosnt help me... However, heres your answer:
Bitmask32
Im not kidding. This is what I did. Google. Use it well.
Bitmask32
Im not kidding. This is what I did. Google. Use it well.
- Syperium
- Ranger
- Posts: 1632
- Joined: Sun Apr 23, 2006 3:59 pm
- Location: An old fart who still remembers his password...
- Contact:
Here you go. I think it is descriptive enough that it needs no explanation...
About bitmask32's and how to edit them (plus a tutorial on how to walk on walls) by Disabler
A bitmask32 is 4 bytes long. 32 bits equal 4 bytes (32 bits / 8 bits (see below) = 4 bytes). Most things in Halo are in little endian format so you need to reverse the bytes, but if you hex edit then you probably already knew that.
Example: 41 F8 05 CB becomes CB 05 F8 41
There are 8 bits in each byte. The 8 bits together is 1 binary number which shows up as hex in a hex editor.
Example: CB is 11001011 in binary.
Each bit is like an answer to a yes or no question. For example: "Do you want the Master Chief to be able to climb walls as if they are ladders?", 0 would mean no, 1 would mean yes. Each bit is a boolean.
Now, if you're not going to be changing random bits and seeing what happens, you'll want to know how the bits are numbered (or at least in the plugins).
The first byte (when reversed!) contains bits 1 thru 8.
Example: CB, the first byte in "CB 05 F8 41", becomes 11001011,
1 1 0 0 1 0 1 1 (bits/binary number)
1 2 3 4 5 6 7 8 (numbered bits)
The second byte contains bits 9 thru 16 in the same way. The third 17 thru 24. Fourth 25 thru 32.
So when you see a <bit> tag in a plugin, go to the bit after the tag (<bit>26</bit>) and change the bit (don't change the bit tag! Change it in the map you're modding) to 1 for yes or 0 for no.
Now when you're done changing the bits; convert the binary number(s) back to hex, replace the byte you were editing, reverse the bytes so it's in little endian format again, paste it into a hex editor, and save.
Here's how you get the Master Chief to walk on walls. (Lots of steps, but most of them are very short and simple.)
1. Open the map you're going to mod in HMT (Mac, of course).
2. Click on the arrow beside "bipd".
3. Click on "characters\cyborg_mp\cyborg_mp".
4. Look to the right side of HMT. Copy the number to the right of "Meta: ".
5. Paste the number into a calculator already set to use Hexadecimal.
6. Open a bipd.xml plugin and look for <type>bitmask32</type><offset>0x2F4</offset><name>Flags (it might have another name in other plugins)</name>
- Copy the offset (2F4).
7. Switch to the calculator and click on the add (+) button.
- Paste.
- Click on the equals (=) button.
8. Copy the new number.
9. Open a hex editor.
- Use the Go to tool and paste.
10. Now copy the next 4 bytes. This is the bitmask32.
- Paste them somewhere else (TextEdit or whatever).
11. Reverse them as shown in an example somewhere further up the page.
12. Copy the fourth (last) byte. It should be 02.
- Convert it to binary.
13. You should now see 00000010. Switch to the plugins and look for <name>Can Climb any Surface</name> (or something similar).
- Right above that line of text it says <bit>26</bit>. Bit 26 is the second bit, going left to right, in your binary number, 00000010.
14. Change the number to 01000010 in some program (even TextEdit). You just enabled walking on walls.
15. Paste it into whatever you use to convert bases, and convert it to hex. The hex number should now be 42.
16. Replace the fourth byte (Step 12) with the number you got earlier (42).
17. Copy the four bytes and paste them into your hex editor, replacing the four you copied earlier (Step 10).
18. Save and quit.
- Open Halo and play the map you modded. Enjoy.
-Tutorial Made by Disabler.
About bitmask32's and how to edit them (plus a tutorial on how to walk on walls) by Disabler
A bitmask32 is 4 bytes long. 32 bits equal 4 bytes (32 bits / 8 bits (see below) = 4 bytes). Most things in Halo are in little endian format so you need to reverse the bytes, but if you hex edit then you probably already knew that.
Example: 41 F8 05 CB becomes CB 05 F8 41
There are 8 bits in each byte. The 8 bits together is 1 binary number which shows up as hex in a hex editor.
Example: CB is 11001011 in binary.
Each bit is like an answer to a yes or no question. For example: "Do you want the Master Chief to be able to climb walls as if they are ladders?", 0 would mean no, 1 would mean yes. Each bit is a boolean.
Now, if you're not going to be changing random bits and seeing what happens, you'll want to know how the bits are numbered (or at least in the plugins).
The first byte (when reversed!) contains bits 1 thru 8.
Example: CB, the first byte in "CB 05 F8 41", becomes 11001011,
1 1 0 0 1 0 1 1 (bits/binary number)
1 2 3 4 5 6 7 8 (numbered bits)
The second byte contains bits 9 thru 16 in the same way. The third 17 thru 24. Fourth 25 thru 32.
So when you see a <bit> tag in a plugin, go to the bit after the tag (<bit>26</bit>) and change the bit (don't change the bit tag! Change it in the map you're modding) to 1 for yes or 0 for no.
Now when you're done changing the bits; convert the binary number(s) back to hex, replace the byte you were editing, reverse the bytes so it's in little endian format again, paste it into a hex editor, and save.
Here's how you get the Master Chief to walk on walls. (Lots of steps, but most of them are very short and simple.)
1. Open the map you're going to mod in HMT (Mac, of course).
2. Click on the arrow beside "bipd".
3. Click on "characters\cyborg_mp\cyborg_mp".
4. Look to the right side of HMT. Copy the number to the right of "Meta: ".
5. Paste the number into a calculator already set to use Hexadecimal.
6. Open a bipd.xml plugin and look for <type>bitmask32</type><offset>0x2F4</offset><name>Flags (it might have another name in other plugins)</name>
- Copy the offset (2F4).
7. Switch to the calculator and click on the add (+) button.
- Paste.
- Click on the equals (=) button.
8. Copy the new number.
9. Open a hex editor.
- Use the Go to tool and paste.
10. Now copy the next 4 bytes. This is the bitmask32.
- Paste them somewhere else (TextEdit or whatever).
11. Reverse them as shown in an example somewhere further up the page.
12. Copy the fourth (last) byte. It should be 02.
- Convert it to binary.
13. You should now see 00000010. Switch to the plugins and look for <name>Can Climb any Surface</name> (or something similar).
- Right above that line of text it says <bit>26</bit>. Bit 26 is the second bit, going left to right, in your binary number, 00000010.
14. Change the number to 01000010 in some program (even TextEdit). You just enabled walking on walls.
15. Paste it into whatever you use to convert bases, and convert it to hex. The hex number should now be 42.
16. Replace the fourth byte (Step 12) with the number you got earlier (42).
17. Copy the four bytes and paste them into your hex editor, replacing the four you copied earlier (Step 10).
18. Save and quit.
- Open Halo and play the map you modded. Enjoy.
-Tutorial Made by Disabler.
-
- Green Beret
- Posts: 3470
- Joined: Sat Jun 03, 2006 11:08 am
- Contact:
i get it, only cause i have haad someone sort of explain it to me once before so i have more info to go on.
with the 1010000 decimal things.
how do you know which one to change. in your tutorial you say to change a certain one. but is that the same one you change for editing everything? i dont think it is, so how do i know which one to change?
and whats the difference between changing the first 1 or 0 and the last 1 or 0? or any other 1or0 in the line for that matter?
with the 1010000 decimal things.
how do you know which one to change. in your tutorial you say to change a certain one. but is that the same one you change for editing everything? i dont think it is, so how do i know which one to change?
and whats the difference between changing the first 1 or 0 and the last 1 or 0? or any other 1or0 in the line for that matter?


Everyone on Macgamingmods.com wrote:WOOT for MAV!
-
- Green Beret
- Posts: 3470
- Joined: Sat Jun 03, 2006 11:08 am
- Contact:
Although technically, Yummy, the bitmask thing comes in packs of 8. What comfuses people is the order. So, heres the order of the bytes for bitmasks/id16s
far left: 25 26 27 28 29 30 31 32
left: 17 18 19 20 21 22 23 24
right: 9 10 11 12 13 14 15 16
far right: 1 2 3 4 5 6 7 8
Because this is not very good to explain it, I will post a pic with the numbers in comparison to where they are in Hexeditor along with which one you want and how to get that one exactly without guess and check.
In other words, an easier way to do it. Or, I might post it in the Tutorials Section.
far left: 25 26 27 28 29 30 31 32
left: 17 18 19 20 21 22 23 24
right: 9 10 11 12 13 14 15 16
far right: 1 2 3 4 5 6 7 8
Because this is not very good to explain it, I will post a pic with the numbers in comparison to where they are in Hexeditor along with which one you want and how to get that one exactly without guess and check.
In other words, an easier way to do it. Or, I might post it in the Tutorials Section.
-
- Green Beret
- Posts: 3470
- Joined: Sat Jun 03, 2006 11:08 am
- Contact:
Who is online
Users browsing this forum: No registered users and 34 guests