Bitmasks

Everything about HD, MD, and their mods.

Moderator: Halo Moderators

LoL
Newbie
Posts: 8
Joined: Fri May 12, 2006 1:34 pm

Bitmasks

Post by LoL » Tue Dec 12, 2006 10:44 am

How do you edit bitmasks? I already know how to do metas, but bitmasks are confusing me.

Yummy
Ranger
Posts: 684
Joined: Wed Jun 14, 2006 5:42 pm
Location: Near Pittsburgh, PA

Post by Yummy » Tue Dec 12, 2006 1:50 pm

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.
Image

draconic74
Green Beret
Posts: 3470
Joined: Sat Jun 03, 2006 11:08 am
Contact:

Post by draconic74 » Tue Dec 12, 2006 11:19 pm

that second part dosnt help me... However, heres your answer:

Bitmask32

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

User avatar
Syperium
Ranger
Posts: 1632
Joined: Sun Apr 23, 2006 3:59 pm
Location: An old fart who still remembers his password...
Contact:

Post by Syperium » Wed Dec 13, 2006 9:43 am

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.

draconic74
Green Beret
Posts: 3470
Joined: Sat Jun 03, 2006 11:08 am
Contact:

Post by draconic74 » Wed Dec 13, 2006 4:27 pm

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...
Image

>Shadow<
Halo Moderator
Halo Moderator
Posts: 2734
Joined: Sun Apr 02, 2006 9:15 pm

Post by >Shadow< » Wed Dec 13, 2006 7:28 pm

Finally some modding actions are being made. :P
Image

mavrick06
Operative
Posts: 215
Joined: Thu Sep 21, 2006 4:32 pm

Post by mavrick06 » Wed Dec 13, 2006 8:03 pm

and once again thanks syp.

GZ
Peon
Posts: 138
Joined: Fri Sep 01, 2006 11:00 am
Location: Planet Earth

Post by GZ » Thu Dec 14, 2006 8:45 pm

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

mavrick06
Operative
Posts: 215
Joined: Thu Sep 21, 2006 4:32 pm

Post by mavrick06 » Fri Dec 15, 2006 2:34 pm

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?
Image
Image

Everyone on Macgamingmods.com wrote:WOOT for MAV!

Trinity.
SEAL
Posts: 642
Joined: Fri Feb 03, 2006 6:13 pm
Location: Rep'n the 863! Winter Haven, FL!

Post by Trinity. » Fri Dec 15, 2006 2:39 pm

o.O?
MGM Team Wraith
Xbox Live Gamertag: HybuR
Professional Halo Player

Yummy
Ranger
Posts: 684
Joined: Wed Jun 14, 2006 5:42 pm
Location: Near Pittsburgh, PA

Post by Yummy » Fri Dec 15, 2006 4:26 pm

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
Image

mavrick06
Operative
Posts: 215
Joined: Thu Sep 21, 2006 4:32 pm

Post by mavrick06 » Fri Dec 15, 2006 8:11 pm

well if you say so...
ill try it on monday...
all i know bout binary is that 1 means on, 0 means off.
Image
Image

Everyone on Macgamingmods.com wrote:WOOT for MAV!

draconic74
Green Beret
Posts: 3470
Joined: Sat Jun 03, 2006 11:08 am
Contact:

Post by draconic74 » Sat Dec 16, 2006 12:27 pm

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.
Image

Yummy
Ranger
Posts: 684
Joined: Wed Jun 14, 2006 5:42 pm
Location: Near Pittsburgh, PA

Post by Yummy » Sat Dec 16, 2006 12:42 pm

Oh no, i know it comes in 8. I was just posting powers of 2 from 1 to 12
Image

draconic74
Green Beret
Posts: 3470
Joined: Sat Jun 03, 2006 11:08 am
Contact:

Post by draconic74 » Sun Dec 17, 2006 1:05 am

cept theres 32 numbers... why 12? and yeah, i was pretty sure you would know they come in 8's.
Image

Post Reply

Who is online

Users browsing this forum: No registered users and 64 guests