At first this was an effort for a Skinbedder 2.0 plugin, it still is, however I do not want to take over that thread. Anybody who would like to help in the effort PM me.
What is the project about?
This project is an attempt to make Iguidance more car friendly.
For anybody who has already used Iguidance, they know that many things on the screen are difficult to read while driving. Not only this, it is difficult to use all of the functionality of Iguidance while using a 7" touchscreen. So far the improvements have been editing the theme.ini (or utheme.ini and theme2.ini). With this you can change some of the display options such as the text size of the streets displayed on the screen and the colors of the roads and routes...etc
However, theme.ini nore IGskinner will increase certain things such as your DEST distance or SPEED which are both located in a small box in the lower right corner. Also your current location located on the bottom of the screen is also too small to read, as well as the name of the next street you have to turn on. Other key things people might want to have more visible are the distance for the next up comming turn...and those who use iguidance...whatever you can think of
How do we do this?
To do this we are using memory process tools such as "
GAME TRAINER " and
AXE 3 Hex editor (click open special...choose open process) to try to locate key values in memory that are of use to us. Once we find these values I will create a standalone program, or a DLL which will display these values larger.
be sure you have a tool that lists process IDs & handles while using "GAME TRAINER" because it lists process by ID and not name (dont ask me why). if you have VS.NETyou should have a tool called "Spy++" this is what I am using for this. otherwise download another program that can identify process IDs (the HEX address running iguidance).
One of the tricks in tracking these memory values is that some of the addresses may jump around, so even though the speed may be shown at 1 address, it is not for sure that it will be there the next time you run iguidance, or even a minute later. Also, some values that you would expect to be stored as a float may only be stored as ASCII.
If you guys know of any better tools for reading process memory and tracking changes please let me know.
So, once you have some of the above tools its time trick iguidance into thinking your moving (this way you can change search for values and so on).
The following i found on this board in a post from stevieg
You need: http://www.lichtenheld-mch.de/GPSsim_E.htm - 'GPSSIM' and either a null-modem cable between two serial ports (One for GPSSIM to send the fake GPS down and one for the navigation program to use) or a trial for a virtual version such as 'VSPD' - download a trial from http://www.mks.zp.ua/vspdxp.php
the virtual port is kindofapain to get working, but once you get it working GPSSIM is very nice...you can run log files that you recorded with your gps, this way you can be sure you have maps installed for the location the pseudo stream is giving you. Not only this, but you can pause the simulator, which will keep your speed static within iguidance.
Just to help you guys out even more....i'll provide a short 5 minute log that I made while driving around maryland (so make sure you have MD maps installed if you plan on helping)
here
it takes a while to get the hang of it, but you will know you are doing it right when your brain really starts to hurt
Current Status
I have located a few of the memory values. Also I have written a program which basically "peeks" address 0x12FA68 (speed)
you can download it
here
heres what i got so far
addr - Value - Type
0012FA68 - SPEED - BYTE
0012EB78, 0012F528,
0012F244, 00A60701- Destination Distance (jumps around, ones in bold seem to be most reliable) - ASCII
0012EFFC, 0012EFFD - Next Turn Distance - ASCII
00BA1828 - GPS STREAM DATA (yes the actuall string comming from you reciever) - ASCII
0012FAFC - CURRENT ADDRESS (ONLY AFTER SELECTING FILE AND SAVE CURRENT LOCATION. NOTE YOU DONT NOT HAVE TO SAVE CURRENT LOCATION, HOWEVER THIS VALUE IS ONLY IN MEMORY WHILE THAT WINDOW IS SHOWING, SO THE BELOW METHOD IS PERFERRED) - ASCII
00B9FD60 - FULL CURRENT STREET NAME (ONLY IF YOU CLICK ON THE STREET) - ASCII
Despite my best efforts I can't accomplish all of this on my own. For 1 I am only testing this on a winXP box, with Ig 2.0. For 2 I work over 40 hours a week and don't have a lot of time to work on this.