VOGONS

Common searches


First post, by ZellSF

User metadata
Rank l33t
Rank
l33t

So I'm trying to figure out how well Robin Hood works in widescreen. You might ask why not post about that in a gaming forum? it's because my problem has nothing to do with the game itself, I'm just struggling to make sense of basic numbers.

The hex value on the left should equal the decimal value on the right, the list is numbers I figured out through experimentation, which is an easy way to figure out any number I need, but I want to understand how it's calculated. Anyone want to ELI5?

00 40 = 2 00 41 = 8 00 42 = 32 00 43 = 128 F0 43 = 480 00 44 = 512 09 44 = 548 10 44 = 576 16 44 = 600 17 44 = 604 18 44 = 608 1 […]
Show full quote

00 40 = 2
00 41 = 8
00 42 = 32
00 43 = 128
F0 43 = 480
00 44 = 512
09 44 = 548
10 44 = 576
16 44 = 600
17 44 = 604
18 44 = 608
19 44 = 612
20 44 = 640
21 44 = 644
28 44 = 672
29 44 = 676
30 44 = 704
34 44 = 720
38 44 = 736
39 44 = 740
40 44 = 768
80 44 = 1024
81 44 = 1032
87 44 = 1080
8E 44 = 1136
99 44 = 1224
A0 44 = 1280
A1 44 = 1288
EE 44 = 1904
F0 44 = 1920
FF 44 = 2040
00 45 = 2048
09 45 = 2192
00 46 = 8192

Reply 1 of 6, by gdjacobs

User metadata
Rank l33t++
Rank
l33t++

I'm not seeing a pattern, here. It doesn't appear to be a simple binary conversion (big or little endian), but I've never been any good at these types of problems.

All hail the Great Capacitor Brand Finder

Reply 2 of 6, by teleguy

User metadata
Rank Member
Rank
Member

Hmm, it's pretty weird.

This is the pattern I see.

You have AB CD.

First AB is converted to decimal and multiplied by 2, 4, 8 or 16 depending on how high up in your list it is.

Then 2^((2*D)+1) is added to that number (however that step is sometimes completelety omitted but I haven't figured out the logic that determines when this happens).

Examples:

34 44:

34h= 52
52*4= 208

2^((2*4)+1)=2^9=512

208+512=720

F0 44:

F0h= 240

240*8=1920

09 45:

9h=9
9*16=144

2^11=2048

144+2048=2192

Reply 3 of 6, by gdjacobs

User metadata
Rank l33t++
Rank
l33t++

Yes, the high order bits are the elusive part.

Below 80 hex, the multiplier appears to be four, 80 hex and above it appears to be eight.

However, look at 00 43 h and F0 43 h. The difference is 352. Assuming the multiplier as above, 7 * 8 * 16 is already incorrect, so the method is already broken for this example.

All hail the Great Capacitor Brand Finder

Reply 5 of 6, by gdjacobs

User metadata
Rank l33t++
Rank
l33t++

Why did they invent all these weird, branchy exceptions rather than implement some plain old bitwise arithmetic?

All hail the Great Capacitor Brand Finder

Reply 6 of 6, by ZellSF

User metadata
Rank l33t
Rank
l33t

Thanks for the answers, good to know I wasn't being stupid for not seeing an obvious non-changing pattern. If I wasn't lazy I'd register for WSGF forums and ask jackfauste (he widescreen hacked Desperados, and it uses similar values).