Automated Bitmask Converter!

Halo modding and gaming related applications.
Yummy
Ranger
Posts: 684
Joined: Wed Jun 14, 2006 5:42 pm
Location: Near Pittsburgh, PA

Automated Bitmask Converter!

Post by Yummy » Sat Dec 30, 2006 7:12 pm

Hello Everyone, I decided to make another useful script. This script takes a long (4 bytes) as an input, then puts it into binary. Then, you can type in a byte number (1-32) and it will change that byte automatically for you. And, the best part is, there's no need to worry about little endian. Just type the long in from hexedit, then click convert, then change whatever byte the HMT plugins tell you to change.

Screenshot:

Image

To download:

http://files.filefront.com//;6447486;;/

There are some bugs I think, so please tell me of them. :lol:
Image

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

Post by GZ » Sat Dec 30, 2006 7:38 pm

This is great! This is going to help me so much. Thanks alot, Yummy

Hunter
Peon
Posts: 74
Joined: Wed Sep 20, 2006 5:42 pm

Post by Hunter » Sat Dec 30, 2006 7:53 pm

what does this thing...change?

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

Post by Yummy » Sat Dec 30, 2006 8:13 pm

HAHAHA Mr. Blocked my Posts.

It changes bitmasks.

Btw, you're welcome GZ :lol:
Image

User avatar
spida
SEAL
Posts: 500
Joined: Tue Aug 29, 2006 5:40 pm
Location: Sacramento, California

Post by spida » Sat Dec 30, 2006 8:19 pm

You are one useful person yummy. Thanks for all the help.

Chaos Barnaby
Newbie
Posts: 39
Joined: Sun Sep 17, 2006 7:04 pm

Post by Chaos Barnaby » Sat Dec 30, 2006 8:28 pm

As a humble n00b, may I ask what bitmasks are and what they do. Please dont say search it.
ImageImageImage

User avatar
spida
SEAL
Posts: 500
Joined: Tue Aug 29, 2006 5:40 pm
Location: Sacramento, California

Post by spida » Sat Dec 30, 2006 8:36 pm

here srry it is making you search but this is what taught me what they were.

http://www.google.com/search?num=20&hl= ... tnG=Search

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

Post by Yummy » Sat Dec 30, 2006 8:40 pm

Alright, bitmasks.

I have disabler's tutorial....let me post that.

Code: Select all

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 ;)

I love writing tuts :D
You need a way to add hex and convert hex to binary. I use PCalc 2, but it's shareware.

Should I make a less detailed tutorial? PM me.
Image

Chaos Barnaby
Newbie
Posts: 39
Joined: Sun Sep 17, 2006 7:04 pm

Post by Chaos Barnaby » Sat Dec 30, 2006 8:44 pm

Thank you guys, this community is alot easyer to deal with since last time i was here thanks to you two, Yummy and spida, as well as a few others.

Great tut by the way, thanks to whoever made it, it helped quite alot.
ImageImageImage

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

Post by Yummy » Sat Dec 30, 2006 8:46 pm

haha thanks, that would be disabler. Apparently he used to be active here, then he disappeared?

EDIT: My program does steps 11 through 16...which are the hardest steps. So, all you need is to copy the bytes, click convert, then type 25 in the change a bit box....then click change. Then, it puts the changed value in that text box...so select the new bitmask value and copy it into Hex.
Last edited by Yummy on Sat Dec 30, 2006 8:52 pm, edited 1 time in total.
Image

User avatar
spida
SEAL
Posts: 500
Joined: Tue Aug 29, 2006 5:40 pm
Location: Sacramento, California

Post by spida » Sat Dec 30, 2006 8:51 pm

Yea mods will start to become the same and boring soon. That's why people need to share information with others so then we can create better mods by becoming smarter in modding. Like the spawn points map and tutorial is friekin awesome!!!!

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

Post by >Shadow< » Sun Dec 31, 2006 12:21 pm

Yummy wrote:Alright, bitmasks.

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 ;)
[/code]

There is a MUCH simpler way to do this. WAY wasier.

Go into hexedit, Go to 91DFA8 and change the byte to C2.
Save, Done.
This is probably exactly what you would get doing all the steps you posted. XD
Image

User avatar
spida
SEAL
Posts: 500
Joined: Tue Aug 29, 2006 5:40 pm
Location: Sacramento, California

Post by spida » Sun Dec 31, 2006 12:23 pm

Yes, but that is for wall walking and immune to falling. 42 is just for wall walking. I was up all last night editing bitmasks and such. It was fun and this is a very useful program.

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

Post by >Shadow< » Sun Dec 31, 2006 12:24 pm

Definetly agreed. :)

Making floating people is funny too. XD
Image

User avatar
spida
SEAL
Posts: 500
Joined: Tue Aug 29, 2006 5:40 pm
Location: Sacramento, California

Post by spida » Sun Dec 31, 2006 12:45 pm

I love bitmasks. They are so fun. Floating people? Is that bitmask?

Post Reply

Who is online

Users browsing this forum: No registered users and 6 guests