The one who figures which on-screen value this represents deserves a medal :)
000000E2 BFA19949
Tip:
The value is 32bit. The first and second 8 byte are involved...
Have fun ;)
That must be a float value. Not sure, but I've one in my mind :eek:
the second 32bits does look like a float. -1.2624
Nope, no float.
The value starts at the "E" and not at the "B". Otherwise there wouldn´t be need to post the first 8 bytes.
Like the title says it´s not that easy, hehehe. It isn´t something crazy I came up with, it´s how some game handles it.
More luck next time. :p
Come on, people! Guess, imagination!
Another hint? :eek:
only if the hint is code. otherwise it's just guessing what a random hex value is
this is why I left the thread/guessing alone
Here´s the hint:
------8- 674523-1
Note the numbers and how they are arranged.
They symbolize something you will need to know.
1564703659 ?
2876982109 ?
I´m affraid, that´s also wrong.
Be sure to use the last hint, otherwise you won´t make it...
that indicates little endian. but without code this is still stupid to just guess
Quote from: megazig on January 01, 2013, 08:23:10 PM
that indicates little endian. but without code this is still stupid to just guess
No little endian. Which code you want? This is a value interpretation some game uses, obviously it will be some guessing. You should use the last tip which is about the most and least significant bit(s)... :smileyface:
Quote from: Bully@Wiiplaza on January 01, 2013, 08:25:05 PM
Quote from: megazig on January 01, 2013, 08:23:10 PM
that indicates little endian. but without code this is still stupid to just guess
No little endian. Which code you want? This is a value interpretation some game uses, obviously it will be some guessing. You should use the last tip which is about the most and least significant bit(s)... :smileyface:
Breakpoint read -> Reverse the code.
I hope you didn't guess it...
the tip about msb is what makes it little endian
:o
Nobody made it still (not even close), so I just post the solution:
(http://jafile.com/uploads/bullywp/valueweirdness.jpg)
The "-" means that this spot doesn´t matter for the result. The numbers tell what has to be put where.
The value gets interpreted as signed, that´s why the result at 2) is correct. I do think this was solvable with given hints though. ???
Note that I figured myself how this is done by doing some tests in the game.
Truely weird. Anyone who knows what it´s about after all? "Normal" little endian goes differently.
again, still just random numbers and little endian with bitfields on a big endian machine would have the same ugly format
EDIT:
#include <stdio.h>
#include <stdlib.h>
void hexdump(void* buffer, int len)
{
unsigned char* buf = (unsigned char*)buffer;
int ii = 0;
for (ii = 0; ii < len; ii++)
{
printf("%02x", buf[ii]);
}
printf("\n");
}
typedef unsigned long long u64;
typedef unsigned long u32;
union l
{
u64 val;
struct foo {
unsigned top: 4;
unsigned middle: 32;
unsigned bottom: 28;
} bar;;
} value;
int main(int argc, char ** argv)
{
value.bar.top = 0;
value.bar.middle = 0x12345678;
value.bar.bottom = 0;
value.val >>= 4;
hexdump(&value, 8);
return EXIT_SUCCESS;
}
run on a PC (little endian (x86)) and you'll see the values
0000008067452301
http://codepad.org/WOI0V192
SO... please don't say not even close. I had it spot on, you just don't know memory format
Okay, I didn´t know the memory format. Thanks for the code and everything.
You really knew this memory format after all? Good job.