Page 1 of 6

Bitmasks

Posted: Tue Dec 12, 2006 10:44 am
by LoL
How do you edit bitmasks? I already know how to do metas, but bitmasks are confusing me.

Posted: Tue Dec 12, 2006 1:50 pm
by Yummy
I honestly recommend trying to get into the dev board, this question should be answered there.

Hint though: bitmasks are 32 bits (4 bytes, 8 bits per byte). It's in little endian too.

Posted: Tue Dec 12, 2006 11:19 pm
by draconic74
that second part dosnt help me... However, heres your answer:

Bitmask32

Im not kidding. This is what I did. Google. Use it well.

Posted: Wed Dec 13, 2006 9:43 am
by Syperium
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.

Posted: Wed Dec 13, 2006 4:27 pm
by draconic74
What happened to making people search? :P Although, he is from CH. Thats good. Seems like more people want to get into the modding business. Andors also starting...

Posted: Wed Dec 13, 2006 7:28 pm
by >Shadow<
Finally some modding actions are being made. :P

Posted: Wed Dec 13, 2006 8:03 pm
by mavrick06
and once again thanks syp.

Posted: Thu Dec 14, 2006 8:45 pm
by GZ
I sortof get it now. I dont really follow that tutorial though. can comeone revise it to a simpler form, if that wouldnt be to much trouble

Posted: Fri Dec 15, 2006 2:34 pm
by mavrick06
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?

Posted: Fri Dec 15, 2006 2:39 pm
by Trinity.
o.O?

Posted: Fri Dec 15, 2006 4:26 pm
by Yummy
heh. read it and understand. that tutorial is simple, and if you can mod then you can understand that tutorial.

The part of it saying bit 26 tells you which one to turn off/on. You have to have some background knowledge of binary.

1 2 4 8 16 32 64 128 256 512 1024 2048 4096 :D :D :D

Posted: Fri Dec 15, 2006 8:11 pm
by mavrick06
well if you say so...
ill try it on monday...
all i know bout binary is that 1 means on, 0 means off.

Posted: Sat Dec 16, 2006 12:27 pm
by draconic74
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.

Posted: Sat Dec 16, 2006 12:42 pm
by Yummy
Oh no, i know it comes in 8. I was just posting powers of 2 from 1 to 12

Posted: Sun Dec 17, 2006 1:05 am
by draconic74
cept theres 32 numbers... why 12? and yeah, i was pretty sure you would know they come in 8's.