The MP3car.com Store The MP3car.com Store    

Sponsored links

Go Back   MP3Car.com > Mp3Car Technical > GPS

Reply
 
LinkBack Thread Tools Display Modes
Old 09-11-2007, 09:51 AM   #16
MySQL Error
 
MatrixPC's Avatar
 
Join Date: Sep 2003
Location: Beach City, Socal
Posts: 4,033
dammmmmmmm perfect.
Time for more hack.
__________________
2004 Matrix XR A7N8X-VM/400 AMD XP-M 2500+, DS-ATX
89 Supra Turbo P3 600E@750/Abit BE6 II, Alpine M-BUS Car2PC.
Y2K Accord Dell GX150
RoadRunner is the best FE PERIOD
EmoRebellion is a SCAMMER
MatrixPC is offline   Reply With Quote
Sponsored links
Advertisement
 
Advertisement
Old 09-11-2007, 01:49 PM   #17
FLAC
 
Join Date: Apr 2005
Location: Queens, New York
Posts: 1,387
Quote: Originally Posted by pbarrette View Post
Hi All,

I've been trying to customize iGuidance3 to match my skins in RR and have discovered a few things that I haven't seen mentioned before.
----------------------------------------------
1) Button transparency.
----------------------------------------------

The menu buttons seem to use white (255,255,255) as a transparency color. Any white area will be subtracted from the button image and replaced with the window background color

The "Favorites" button is an oval surrounded by white:


But on the menu, the white is the window background color:


Unfortunately, this doesn't create a transparency area through to the background image. It only allows you to show through to the button area background color.

----------------------------------------------
2) Menu Window Background color.
----------------------------------------------

By default, it's this nasty blueish, offwhite color (231,237,249). Poking around with my hex-editor, I found that I can change it to the dark-grey color you see as the area just outside the "favorites" oval above.

The address in iGuidanceUMPC.exe is 0x19D89.

The default color is "E7 ED F9", but you can change it to whatever suits you.

----------------------------------------------
3) Menu Text Background color.
----------------------------------------------

So, you changed the window background color, but now you're left with this problem with the text area background color:


So, back to the hex editor at 0x1AA3E. Again, change the color to whatever you prefer.

----------------------------------------------
4) Daytime Street Name Color.
----------------------------------------------

I assume that most people reading this have used, or at least seen Purdoom's find regarding the nighttime street name color. Again with the hex-editor, finding the only block containing "A0 FF A0 00" and you end up at offset "0x8412D".

So, like many people, you want it to be white, so you change it to "FF FF FF 00", but now your daytime street name color is this horrid purple. Well, look just a few characters back, at "0x84126" where you see "60 00 5F FF".

This is a bit more complex. It seems that the nighttime street-name color is always set from 0x8412D. But the daytime street-name color is set by adding the 0x84126 and 0x8412D together.

So.. When you change the nighttime color to "FF FF FF 00", you get:
FF FF FF 00
+ 60 00 50 FF
-------------
= 60 00 5E FF

Keep in mind that RGB values are usually stored as RGBA (alpha). I don't quite understand how iG3 uses that "A" value yet.

So what's the practical application of this?
Say we want a "White" night text, but a "Red" day text.

Find the block that contains "60 00 5F FF 50 81 C1 A0 FF A0 00", and change it to "FF 00 01 FF 50 81 C1 FF FF FF 00".

"FF 00 01 FF" + "FF FF FF 00" = "FF 00 00 FF" or R(255)-G(0)-B(0)-A(FF).

Do not mess with the characters in the middle: "50 81 C1". That's the assembly code that is pushing the variables on the stack and adding the two color values together.

If anyone has any ideas about how the day/night switch is made for these values, please let me know. IE: Why does the color addition only happen for the day street-names, when the assembly code doesn't appear to take that difference into account.
-------------------------------------------

Anyway, I hope this helps some of you with your iGuidance customizations.

==================================================
============ iGuidanceUMPC Color Locations ==============
==================================================
0x1B45 Almanac - "Sun"
0x1CFB Almanac - "Sunrise"
0x1DDF Almanac - "Sunset"
0x1E70 Almanac - "Moon"
0x1F42 Almanac - "Moon Phase"
0x2025 Almanac - "Moon Age"
0x20EF Almanac - "Moon Full"
0x21BA Almanac - "Moon New"
0x243D Almanac - "Moon Graphic"
0x7379 Warning Screen - "OK" Button Text
0xF68B Map Status Bar - Outline
0xFBD0 Map Status Bar - "ETA"
0xFCC4 Map Status Bar - "REM"
0xFDBD Map Status Bar - "DEST
0xFE9B Map Status Bar - "SPD"
0x10952 Map - Top Bar Text
0x10D20 Map - Distance to Turn
0x110E7 Map - Bottom Directions Bar
0x1138C Map - Bottom Directions Bar Text
0x1195B Map - Menu Button Text
0x19D89 Dialog Windows - Background Color
0x1AA3E Dialog Text - Background Color
0x2AEC1 Current Dest - Avoid Roads - "Nav" Button Text
0x2AEE8 Current Dest - Avoid Roads - "Avoid" Button Text
0x2AF12 Current Dest - Avoid Roads - "Clear" Button Text
0x2AF3C Current Dest - Avoid Roads - "Reset" Button Text
0x2B929 Current Dest - Avoid Roads - Text Area "Shadow"
0x2BA2A Current Dest - Avoid Roads - Highlighted
0x2BA41 Current Dest - Avoid Roads - Highlighted Text
0x2BA4D Current Dest - Avoid Roads - Not Selected
0x2C1E9 City Select OSK - "OK" Button Text
0x2C295 City Select OSK - "DEL" Button Text
0x2C8A6 City Select OSK - Top Area Background
0x2EA6A Current Loc - Text Area "Shadow"
0x2EC69 Current Loc - "Save" Button Text
0x2FB7E Current Dest - Detour - "Distance to Avoid"
0x2FE8A Current Dest - Detour - "2 mi" Button Text
0x2FEB1 Current Dest - Detour - "45 mi" Button Text
0x2FEDB Current Dest - Detour - "91 mi" Button Text
0x2FF05 Current Dest - Detour - "Reset" Button Text
0x30DD0 Current Dest - Button Background
0x32CF8 Destination - Address Input - State Name
0x32E31 Destination - Address Input - "Change State" Button Text
0x32E53 Destination - Address Input - "City First" Button Text
0x331E1 Destination - "Current Destination"
0x334A7 Destination - "Demo" Button Text
0x334C9 Destination - "Avoid Road" Button Text
0x334F3 Destination - "Stop Over" Button Text
0x3351D Destination - "Detour" Button Text
0x33547 Destination - "Clear Route" Button Text
0x35A2F Menu - "Destination" Button Text
0x35A51 Menu - "Itinerary" Button Text
0x35A7B Menu - "Shortcuts" Button Text
0x35ACC Menu - "Settings" Button Text
0x35B74 Menu - "Volume" Button Text
0x35B87 Menu - "System Info" Button Text
0x3ADF0 State Select OSK - "OK" Button Text
0x3AE9C State Select OSK - "DEL" Button Text
0x52503 Most Non-OSK Item Highlights
0x56AC2 Button Transparency
0x5AD40 GPS Info - Text Background
0x5E5A4 OSK - Highlighted Item
0x5E5AC OSK - Highlighted Item Text
0x5E5BF OSK - Non-Highlighted Items Background
0x62A16 Left side Guidance Bar
0x62A47 Right side Guidance Bar
0x62A7F Bottom Guidance Status Bar
0x64240 POI OSK - "OK" Button Text
0x642EC POI OSK - "DEL" Button Text
0x6A307 POI - State Name
0x6A3C4 POI - Distance
0x6CAD1 Route List Highlighted Item
0x6E6E6 Street Name OSK - "OK" Button Text
0x6E792 Street Name OSK - "DEL" Button Text
0x7184A Speed Alert Keypad - "DEL" Button Text
0x71F41 Speed Alert Keypad - "OK" Button Text
0x7507C Settings->Options - Small Buttons Text
0x76A89 Trip Info - Text
0x78711 OSK - Top-Bar Text
0x84126 Map - Daytime Street Name Color (see above)
==================================================

pb

Well after reading this post...It seems very interesting. But what are you using to hack into iguidance? It says u are using a hex editor? I was using my hex editor and trying to figure this out but failed... What hex editor are you using?
__________________
2002 Mitsubishi Galant
Progress: 90% [-▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓- ->

Carputer Specs:
Via M10K
512mb Ram
60GB HDD
Souund Blaster Audigy2 NX
OPUS ITX PC Case

Cheekz185 is offline   Reply With Quote
Old 09-11-2007, 07:34 PM   #18
Raw Wave
 
justintime's Avatar
 
Join Date: Apr 2005
Posts: 2,703
I use vi32
__________________
2002 Honda CR-V
Carputer progress: 90% [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ -]
Spent so far: $1105.90


Download the NEXUS Skin for Centrafuse
...or even Listen to my music
justintime is offline   Reply With Quote
Old 09-11-2007, 07:38 PM   #19
Raw Wave
 
justintime's Avatar
 
Join Date: Apr 2005
Posts: 2,703
Pbarrette:
There are 2 texts I am still trying to change the color...

1) The address of the current destination (not the 'Current Destination' text, but the actual address that is below it.

2) The text that says: "Continue to Final Destination?" as well as the address that appears right below it.

I hope you can find those 2!!
__________________
2002 Honda CR-V
Carputer progress: 90% [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ -]
Spent so far: $1105.90


Download the NEXUS Skin for Centrafuse
...or even Listen to my music
justintime is offline   Reply With Quote
Old 09-12-2007, 01:53 AM   #20
Low Bitrate
 
Join Date: Nov 2006
Location: Huntsville, AL
Posts: 73
Hi Cheekz,

First, let me say that quoting my entire post is overkill to the extreme, plus doubles the image requests to my web server. At least edit your post to remove the images from my quotes. Thanks.

Now.. I use WinHex as my hex editor, but that's just personal preference. You can use any hex editor that you are comfortable with. Xvi32 is free and decent, but I prefer the way WinHex separates each row into two blocks of 8 bytes. I also like the "Position Manager" which is like xvi32's bookmarks, only more manageable.

I also know that with 32bit software, colors are usually stored as 8 byte DWORDs, normally in RGBA format. So if I want to find the color "blue", I just start searching for values that appear as "00 00 FF 00". Looking for yellow? How about "FF FF 00 00"?

Once I've found a possible color location, I replace it with something recognizable. For iGuidance, I haven't seen any bright purple, so I replace it with "FF 00 FF 00". Then I save the changes, start up iGuidance and hunt through the menus and screens for any purple. It's really a very tedious process.

Yesterday, I finally gave in and downloaded AutoIt. I built a quick and dirty script to hit up a limited set of menus that seem to contain all (or at least most) of the GUI elements. As the script hits up each menu, I have it scan the screen for purple pixels, then stop when it finds any.

Unfortunately for me, I found that there are a crapload of possible "white" color value locations. Most of the valid ones seem to start with a push to stack instruction (0x68) but there are 383 of those locations alone. So searching for "68 FF FF FF 00" reduces the hunt from 1305 locations with "FF FF FF 00" alone. Of course, the problem is that at least some of the remaining 922 locations without a preceding 0x68 also contain colors that are displayed in the GUI.

So lately I've been cheating a bit. If you can call it cheating anyway. I disassembled iGuidanceUMPC using IDA Pro. I've already got a decent sized list of valid color locations, so I can see that some patterns have emerged. Like, damned near all of the color values related to the "Current Destination" screens are located between 0x2AEC1 and 0x30DD0.

So now I can jump to 0x1AA3E in IDA, since it's the last known color location before the "Current Destination" stuff. Then I hunt through the assembly code for anything that looks like a static DWORD value from there until 0x32CF8 (the first known location after the current-dest stuff).

Still, it's all a very tedious process.

The daytime-street-name color discovery was almost accidental. I changed the nighttime value to "FF FF FF 00" and discovered the daytime color became a nasty purple. I took a screenshot to determine the actual shade of purple was "5F 00 5F".

So I figured that the location had to be near the nighttime value and started looking. I found the "60 00 5F 00" value in the hex almost immediately and figured it's probably close enough considering that the street-name text is anti-aliased. I changed the value and the daytime color changed as well, but not to what I had expected.

So then I had look up the 80x86 opcode instructions and discovered the values were being added. I should have disassembled in IDA at that point, because it's a lot more obvious in assembly.

pb
pbarrette is offline   Reply With Quote
Old 09-12-2007, 02:03 AM   #21
Low Bitrate
 
Join Date: Nov 2006
Location: Huntsville, AL
Posts: 73
Hi JIT,

I haven't even started looking for the black colors yet. I did take a quick look for those colors, but didn't see anything immediately obvious. I'll take a break from searching through the whites to see if I can locate them, but it may take some time.

In a quick look through some of the assembly, I noticed that some of the routines that appear to deal with string values in GUI elements don't appear to take color value parameters. So be forewarned that some of the black, dynamic text elements may not even allow a color to be passed to the display routines. Meaning, if true, that some or all of the black text in the menus cannot have a different color.

Hopefully, I'm wrong about that.

pb
pbarrette is offline   Reply With Quote
Old 09-12-2007, 02:30 AM   #22
Constant Bitrate
 
Join Date: Jan 2003
Posts: 183
Is there a iguidance hack to get rid of the Warning message that displays at start up?
AcuraTLFan is offline   Reply With Quote
Old 09-12-2007, 08:49 PM   #23
Low Bitrate
 
Join Date: Nov 2006
Location: Huntsville, AL
Posts: 73
Hi AcuraTLFan,

How about the well known commandline option to suppress the warning:
iGuidanceUMPC.exe nowarning

pb
pbarrette is offline   Reply With Quote
Old 09-14-2007, 09:18 AM   #24
Low Bitrate
 
Join Date: Nov 2006
Location: Huntsville, AL
Posts: 73
Hi all,

Added a couple more color locations regarding the OSK alphabetic buttons, including the speed-alert numbers. These locations, highlighted in blue, are 2 dword locations separated by an "add" opcode ("05").

If you zero out the first 4 bytes, then skip over the "05", the next 4 bytes will be the color you want. Not particularly efficient code, but at least we can get what we need.

I still haven't located the black "current destination" text. The text seems to be drawn in the same "DrawTextA" routine that is also drawing the "Current Destination" title text, but I haven't located a color value for it. The containing subroutine has about 20 variables and calls all of the functions to instantiate and draw the window. I guess I'm just going to have to sit down and trace out each one. IDA doesn't pick up the parameters correctly because the sub is called dynamically. -- Sorry JIT.

pb
pbarrette is offline   Reply With Quote
Old 09-14-2007, 02:17 PM   #25
Raw Wave
 
lostreception's Avatar
 
Join Date: Sep 2004
Location: NY
Posts: 1,803
awesome with this and iGQwerty there isnt much that cant be changed now cause i dont know about you but i wanna beat the guy who made the keyboard abcd

This should be a sticky. great work
__________________
.______
| '_ |__\___
[(o)|___(o)] XB
._________
| I__I I_I|_\__I
[(o)______(o)]b VanPimpin'

LostReceptions Apps D/L Here

GPSGasoline- Rewriting

Draw- SkribblePad for Touchscreens

iGQwerty-iG3.0 Qwerty Keyboard

CarPCNetwork
lostreception is offline   Reply With Quote
Old 09-14-2007, 08:03 PM   #26
Low Bitrate
 
Join Date: Nov 2006
Location: Huntsville, AL
Posts: 73
Hi LostReception,

Speaking of QWERTY...

One of the first addresses I found was the Speed-Alert numeric keypad table. The address is located at 0xD5331 and contains the ASCII characters used to generate the buttons. You can actually change the following bytes and still remain in the window area:
0xD5330 - 0xD5336
0xD5338 - 0xD533E
0xD5340 - 0xD5346

There are also a few ASCII tables used for the OSK's. Just search for the text: "ABCDEFGd". The "d" is the backspace key, "hh" is the numeric keypad switch, etc. The table isn't too hard to figure out. Change the ASCII to get what you want.

Unfortunately, the existing OSK window isn't wide enough for a true QWERTY keypad, which is why I haven't mentioned this before. Yes, you can change the buttons, and the changes also enter the correct text into the edit box, but who wants a keypad like this?:
QWERTYUI
ASDFGHJK
ZXCVBNM[del]
OPL[num][sp][ok]

pb
pbarrette is offline   Reply With Quote
Old 09-15-2007, 12:26 PM   #27
Raw Wave
 
lostreception's Avatar
 
Join Date: Sep 2004
Location: NY
Posts: 1,803
Quote: Originally Posted by pbarrette View Post
Hi LostReception,

Speaking of QWERTY...

One of the first addresses I found was the Speed-Alert numeric keypad table. The address is located at 0xD5331 and contains the ASCII characters used to generate the buttons. You can actually change the following bytes and still remain in the window area:
0xD5330 - 0xD5336
0xD5338 - 0xD533E
0xD5340 - 0xD5346

There are also a few ASCII tables used for the OSK's. Just search for the text: "ABCDEFGd". The "d" is the backspace key, "hh" is the numeric keypad switch, etc. The table isn't too hard to figure out. Change the ASCII to get what you want.

Unfortunately, the existing OSK window isn't wide enough for a true QWERTY keypad, which is why I haven't mentioned this before. Yes, you can change the buttons, and the changes also enter the correct text into the edit box, but who wants a keypad like this?:
QWERTYUI
ASDFGHJK
ZXCVBNM[del]
OPL[num][sp][ok]

pb

yea i started there and ended up with what i have now cause of that problem
hopefully Inav will listen to us on the NEXT version we can only hope (but they never do) i shouldnt say never but rarely thx again for the hard work
__________________
.______
| '_ |__\___
[(o)|___(o)] XB
._________
| I__I I_I|_\__I
[(o)______(o)]b VanPimpin'

LostReceptions Apps D/L Here

GPSGasoline- Rewriting

Draw- SkribblePad for Touchscreens

iGQwerty-iG3.0 Qwerty Keyboard

CarPCNetwork
lostreception is offline   Reply With Quote
Old 09-16-2007, 02:07 AM   #28
Low Bitrate
 
Join Date: Nov 2006
Location: Huntsville, AL
Posts: 73
Hi All,

Updated with more color locations.. I should have just about all of the OSK color locations soon.

The OSK edit box still has me stumped though. Anyone have any ideas?

pb
pbarrette is offline   Reply With Quote
Old 09-16-2007, 08:08 AM   #29
Raw Wave
 
justintime's Avatar
 
Join Date: Apr 2005
Posts: 2,703
I don't think I understand the 'blue' special DWORD color rule from your list.

For example:
0x30E37 Destination - POI - Food OSK - NumPad Buttons Text (x2)

What I see in that region is this: (the bold location is exactly the address you gave)
...25 01 00 FE 00 05 FF FF 00 00 8B 11 50 FF 52...

From your exaplanation:
BLUE = DWORD+"05"+DWORD Color locations. Set first 4 bytes to 0's. Skip over "05". Set second 4 bytes to color in RGB0 format.

I don't see that pattern at all! What *exact* version of UMPC are you using?
__________________
2002 Honda CR-V
Carputer progress: 90% [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ -]
Spent so far: $1105.90


Download the NEXUS Skin for Centrafuse
...or even Listen to my music
justintime is offline   Reply With Quote
Old 09-16-2007, 12:34 PM   #30
Low Bitrate
 
Join Date: Nov 2006
Location: Huntsville, AL
Posts: 73
Ah Crap,

I knew I was going to get typos in this list.

Your PM box is full, so I can't reply to yours. What I was going to reply with was this:

As I find the locations, I mark them in the WinHex position manager. When I decide to update the list, I open the position manager and transcribe the new entries into notepad. Then I add the BBCode formatting, then edit the post, pasting in the new list.

Since the number of locations has grown significantly, my typo rate has gone up as well. Also, the way the position manager works is this: When you open the position manager and add a new position, the hex offset is filled in automatically with the position of the cursor. I must have had the cursor in the wrong position when I marked the Dest-POI-FoodOSK-Numpad location. But not by much.

You found this:
25 01 00 FE 00 05 FF FF 00 00 8B 11 50 FF 52

But the location should actually be 0x30E32, where you would find this:
25 01 00 FE 00 05 FF FF 00 00 8B 11 50 FF 52

So the change would be:
25 01 00 FE 00 05 FF FF 00 00 8B 11 50 FF 52
25 00 00 00 00 05 FF 00 FF 00 8B 11 50 FF 52

That will change it from white to purple.

See that:
01 00 FE 00
+FF FF 00 00
-------------
=FF FF FF 00

I'll make the corrections you noted. If you find any more, let me know.

pb
pbarrette is offline   Reply With Quote
Sponsored links
Advertisement
 
Advertisement
Reply

Bookmarks

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are Off
Refbacks are Off

Similar Threads
Thread Thread Starter Forum Replies Last Post
How to setup iGuidance GPS for RoadRunner MatrixPC RR FAQ 27 07-08-2008 10:34 PM
iGMon - Solution for integration between iGuidance and Road Runner (I hope) b8bboi RR Plugins 567 10-07-2006 09:52 PM
Purdoom's big book of iGuidance apps! (Faq) PURDooM GPS 17 06-15-2006 12:46 AM
iGuidance Font Size Fix summary thread Viscouse GPS 29 03-28-2006 06:21 PM
25 lost hacks P3rv3rt B3ar General MP3Car Discussion 8 10-25-2005 12:34 PM


All times are GMT -5. The time now is 08:31 AM.


Powered by vBulletin® Version 3.7.3
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO 3.2.0
Copyright © 1999 - 2008 Mp3Car.com Inc.Ad Management by RedTyger
Message Board Statistics