Require / Contribute? Help Please!

Okay well I tried asking about this on the delta_v list, but nobody has answered yet; so I'm asking it here. Basically, I'm fairly confused about the "Contribute" and "Require" fields that are found in several different resources in EVN. I get the general idea of them, but, being ignorant, I have a couple questions:
()How many digits do each of these different fields have?
(
)Is it in HEX?
(*)How do you make one field "have one bit in common" with a corresponding field from a different resource?
Thanks for any help you can give.

------------------
—Joolzman5, that guy with the spikey red hair.
Those who say money is the root of all evil don't have any.
“That lowdown scoundrel deserves to be kicked to death by a jackass — and I’m just the one to do it.”

Quote

Originally posted by Joolzman5:
**Okay well I tried asking about this on the delta_v list, but nobody has answered yet; so I'm asking it here. Basically, I'm fairly confused about the "Contribute" and "Require" fields that are found in several different resources in EVN. I get the general idea of them, but, being ignorant, I have a couple questions:
()How many digits do each of these different fields have?
(
)Is it in HEX?
(*)How do you make one field "have one bit in common" with a corresponding field from a different resource?
Thanks for any help you can give.

**

Contribute is a 64 bit field of flags, given in 2-32bit hex numbers
Require is also a 64 bit field of flags given in 2-32bit hex numbers.
I assume you know hexadecimal and binary operations from EV/O flag fields (spob commodities for example), and you read the EVN bible.
Let there be two EVN outfs A, and B
If the 5th bit is set in A's Contribute field, and the 5th bit is set in B's Require field, then A and B have the 5th bit in common. This means you must buy A before you can buy B.

<speculation>
All of the contribute fields of all of the misns, outfs, etc that the player owns or has completed are or'ed together to produce a unified player contribute field. Bits in this player contribute field are matched with bits in another resource's Require bits. If all Require bits are matched, then the player is allowed access to the other resource
</speculation>

------------------

Quote

Originally posted by magicianeer:
**Contribute is a 64 bit field of flags, given in 2-32bit hex numbers
Require is also a 64 bit field of flags given in 2-32bit hex numbers.
I assume you know hexadecimal and binary operations from EV/O flag fields (spob commodities for example), and you read the EVN bible.
Let there be two EVN outfs A, and B
If the 5th bit is set in A's Contribute field, and the 5th bit is set in B's Require field, then A and B have the 5th bit in common. This means you must buy A before you can buy B.
**

OK be patient with me, I'm ignorant 🙂

I know how HEX / binary / etc. work, but if something is 32-bit, how many digits is it? Is "bit" synonymous with "digit" in this case? If that's so then I guess, say, for example, 455A87F2 and 387961F0 have one bit in common (the F). If I'm wrong, then keep explainin', I'll get it some day...

(Edited for quote technicalities)

------------------
—Joolzman5, that guy with the spikey red hair.
Those who say money is the root of all evil don't have any.
“That lowdown scoundrel deserves to be kicked to death by a jackass — and I’m just the one to do it.”

(This message has been edited by Joolzman5 (edited 08-04-2001).)

::Coughs::

------------------
—Joolzman5, that guy with the spikey red hair.
Those who say money is the root of all evil don't have any.
“That lowdown scoundrel deserves to be kicked to death by a jackass — and I’m just the one to do it.”

Quote

Originally posted by magicianeer:
**< speculation>
All of the contribute fields of all of the misns, outfs, etc that the player owns or has completed are or'ed together to produce a unified player contribute field. Bits in this player contribute field are matched with bits in another resource's Require bits. If all Require bits are matched, then the player is allowed access to the other resource
</speculation>

**

Almost exactly correct, except that missions don't have contribute fields.

mcb

------------------
"If it's not on fire, it's a software problem."

Quote

Originally posted by Joolzman5:
Okay well I tried asking about this on the delta_v list, but nobody has answered yet

That list is still alive? Wow.

------------------
1/28/86

Quote

Originally posted by hawk:
**That list is still alive? Wow.
**

Yes...slightly.

------------------
—Joolzman5, that guy with the spikey red hair.
Those who say money is the root of all evil don't have any.
“That lowdown scoundrel deserves to be kicked to death by a jackass — and I’m just the one to do it.”

Quote

Originally posted by Joolzman5:
**OK be patient with me, I'm ignorant:)

I know how HEX / binary / etc. work, but if something is 32-bit, how many digits is it? Is "bit" synonymous with "digit" in this case? If that's so then I guess, say, for example, 455A87F2 and 387961F0 have one bit in common (the F). If I'm wrong, then keep explainin', I'll get it some day...

(Edited for quote technicalities)

**

A single hex digit represents 4 bits. A 32 bit number is represented with 8 hex digits. In the number "455A87F2", the last digit, "2", represents bits 0 to 3, and the next to last digit "F" represents bits 4 though 7 and so on up to bit 31. In binary, "2" is "0010", and "F" is "1111". In your example, considering the last 2 digits of each number only, they have 4 bits (bits 4-7) in common.

Bits that are zero in both numbers are not included in the EVN usage of "in common".

To find the bits in common between two hexadecimal numbers, you must convert the numbers to binary, then AND the binary numbers together.
In EVN, a player with combined contrubute field "c" gets access to a resource with require field "r" iff r = c AND r.

------------------

Quote

Originally posted by magicianeer:
**A single hex digit represents 4 bits. A 32 bit number is represented with 8 hex digits. In the number "455A87F2", the last digit, "2", represents bits 0 to 3, and the next to last digit "F" represents bits 4 though 7 and so on up to bit 31. In binary, "2" is "0010", and "F" is "1111". In your example, considering the last 2 digits of each number only, they have 4 bits (bits 4-7) in common.

Bits that are zero in both numbers are not included in the EVN usage of "in common".

To find the bits in common between two hexadecimal numbers, you must convert the numbers to binary, then AND the binary numbers together.
In EVN, a player with combined contrubute field "c" gets access to a resource with require field "r" iff r = c AND r.
**

/me thanks thee - I think I get it now.

So, if say you have the 8-bit numbers 52 and 84, they don't have any bits in common because
5 in binary = 0101 and 2 in binary = 0010 and
8 in binary = 1000 and 4 in binary = 0100
so there aren't any common bits. But if say you had HEX 52 and C4, then the two would have the 6th bit in common.

Thus if theoretically a Contribute field was 00000052 and the Require field was 000000C4, they would have the 6th bit in common and the resource would be accessed.

I get it! Thank you. (Please tell me if I'm wrong :p)

------------------
—Joolzman5, that guy with the spikey red hair.
Those who say money is the root of all evil don't have any.
“That lowdown scoundrel deserves to be kicked to death by a jackass — and I’m just the one to do it.”

(This message has been edited by Joolzman5 (edited 08-07-2001).)

Quote

Originally posted by Joolzman5:
**/me thanks thee - I think I get it now.
...
Thus if theoretically a Contribute field was 00000052 and the Require field was 000000C4, they would have the 6th bit in common and the resource would be accessed.

I get it! Thank you. (Please tell me if I'm wrong :p)

**

Correct

------------------

Wow, I think even I'm starting to get this, and that's tough to do for me... But could someone elaborate on the last part of Joolzman's last post?

------------------
-A wise person is one who recognizes that he or she knows nothing.
-Those who sit and listen often learn more than the ones who are talking.

I don't quite understand how you figure out which letters go to which numbers, and such.

------------------
-A wise person is one who recognizes that he or she knows nothing.
-Those who sit and listen often learn more than the ones who are talking.

Quote

Originally posted by Rogue:
**I don't quite understand how you figure out which letters go to which numbers, and such.
**

Okay...the letters-for-numbers thing is called HEX, which basically stands for "hexidecimal" or sixteen. It's called that because rather than the digits going from 0 to 9, they go from 0 to F, where F = 15 in regular numbers, thus making sixteen different digits. It's fairly simple.

Instead of 10 you type "A," instead of 11 you type "B," and so on until you get to F.

It's used this way because it's easier to put 4 bits in one digit. Assuming you know binary, you just take 4 binary digits, and any way you put them can translate into one HEX digit.
0000 in binary = 0 in HEX
0001 in binary = 1 in HEX
0010 in binary = 2 in HEX
0011 in binary = 3 in HEX, etc., until
1111 in binary = F in HEX. (Which equals 15 in "regular" (decimal) numbers.)

------------------
-Joolzman
(url="http://"http://www.angelfire.com/mac/joolzman/index.html")EV Nova: Thin Ice(/url) | (url="http://"http://www.toolband.com")Tool(/url) | (url="http://"http://www.nbci.com/conan")America's Favorite Irishman!(/url)

Quote

Originally posted by Joolzman5:
**Thus if theoretically a Contribute field was 00000052 and the Require field was 000000C4, they would have the 6th bit in common and the resource would be accessed.
**

Basically by "having the 6th bit in common" I meant that if you translated the second-to-last HEX digits of both numbers (which are 5 and C) into binary, they would have one bit in common.

5 HEX = binary 0101
C HEX = binary 1100

So they both have the second binary digit in common. In terms of the whole numbers, that's the sixth bit. (You count from the last binary digit of the last HEX digit as number 0.)

------------------
-Joolzman
(url="http://"http://www.angelfire.com/mac/joolzman/index.html")EV Nova: Thin Ice(/url) | (url="http://"http://www.toolband.com")Tool(/url) | (url="http://"http://www.nbci.com/conan")America's Favorite Irishman!(/url)

Quote

Originally posted by Joolzman5:
**/me thanks thee - I think I get it now.

Thus if theoretically a Contribute field was 00000052 and the Require field was 000000C4, they would have the 6th bit in common and the resource would be accessed.

**

Actually the resource would not be availible because all of the required bits would have to have a coresponding contribute set.

5 HEX = binary 0101
C HEX = binary 1100
^ not all required bits met, Resource not availible.

5 HEX = binary 0101
1 HEX = binary 0001
^ all required bits met Resource availible.

Quote

Originally posted by ThorPrime:
**Actually the resource would not be availible because all of the required bits would have to have a coresponding contribute set.
**

No - the Require field only has to have one bit in common with the Contribute field, and vice versa. The fields are related to one another in the same way, bit-in-common-wise.

------------------
-Joolzman
hector: Joolzman is only 14, so the truth is that he is nowhere near impotence.
xmattWerk: I would agree that Joolzman is a lamer...
(url="http://"http://www.angelfire.com/mac/joolzman/index.html")EV Nova: Thin Ice(/url) | (url="http://"http://www.toolband.com")Tool(/url) | (url="http://"http://www.nbci.com/conan")America's Favorite Irishman!(/url)

Quote

Originally posted by Joolzman5:
**No - the Require field only has to have one bit in common with the Contribute field, and vice versa. The fields are related to one another in the same way, bit-in-common-wise. **

Nope. The Contribute field must contain AT LEAST what's in the Require field; it's like a filter.

------------------
"Toadflesh!"

Quote

Originally posted by NTiOzymandias:
**Nope. The Contribute field must contain AT LEAST what's in the Require field; it's like a filter.
**

Ah...I just went back and reread, and it looks like you're right.

------------------
-Joolzman
hector: Joolzman is only 14, so the truth is that he is nowhere near impotence.
xmattWerk: I would agree that Joolzman is a lamer...
(url="http://"http://www.angelfire.com/mac/joolzman/index.html")EV Nova: Thin Ice(/url) | (url="http://"http://www.toolband.com")Tool(/url)

Quote

Originally posted by ThorPrime:
**Actually the resource would not be availible because all of the required bits would have to have a coresponding contribute set.

5 HEX = binary 0101
C HEX = binary 1100
^ not all required bits met, Resource not availible.

5 HEX = binary 0101
1 HEX = binary 0001
^ all required bits met Resource availible.**

The fields for this would be contribute field 00000052 and require field 00000014, but if the require field was 00000018 instead, would it be available?

------------------
If at first you don't succeed, well, thats about it for skydiving.
I know what ship captains need, a defenseless uncontrollable hunk of metal to jump into when they're being attacked.-Designer of the escape pod

(This message has been edited by Psion (edited 07-04-2002).)