View Single Post
Old 05-08-2006, 12:18 AM   #9
PURDooM
FLAC
 
PURDooM's Avatar
 
Join Date: Jun 2005
Location: Anoka County, MN
Posts: 1,020
Quote: Originally Posted by lefcourt
I spent a few minutes looking at this file, too, and thought that I'd post what I found:

* It looks like all the POI names are loaded into an array of ASCII strings, and then an index is used to look them up. Hex position 36 in the file is the number of strings in the array. I took a sample location entry (everything between FF FF FF FF's) and got this:

First 32 bytes are latitude and longitude:
66 35 20 42 Float Latitude
94 34 D2 C2 Float Longitude

Next however many, I have no idea:
FF 7F 9E 16 00 00 06 86 10 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 01 00

Then there are these two repeating sections:
93 3F 05 00
93 3F 05 00
93 3F 05 00
93 3F 05 00
and
B2 3F 05 00
B2 3F 05 00
B2 3F 05 00
B2 3F 05 00
B2 3F 05 00

Then this:
04 79 00 1C BC C4 01 00 EB

Then the index into the name array:
2D 12 Unsigned Short Index into strings array

And the remainder:
00 3F 06 00 40 AB 21 20 42 E2 21 D2 C2 02 00 41 0D 00 00 19 87 69 01 00 00 00 00 00 CB 6D 01 00

Hopefully someone else has some good ideas!

- Jes


Nice! Its another part of the puzzle. Do you think the strings array is refrenced by offset in the file, or offset by index? If it was an index offset, the program would have to load the entire array into memory at runtime, but isn't the POI database pretty huge (much more than a PDA running iG could handle)?

Ideas?
__________________
Current projects: iGmod reloaded (Latest release) (put on hiatus indefinatly)

Unlimited Internet and gps tracking for $6 a month with boost mobile!

Carputer 2: www.lmaocar.com
PURDooM is offline   Reply With Quote