Guess what this PHP script does? (edit: it does it very poorly, it has been updated since)
$pos->y += imagesy($dest); $pos->x += imagesx($dest); $pos->y /= $scale; $pos->x /= $scale; $pos->x = floor($pos->x) - $offset->x; $pos->y = floor($pos->y) - $offset->y; imageline($dest, $pos->x - $len, $pos->y, $pos->x + $len, $pos->y, $color); imageline($dest, $pos->x, $pos->y - $len, $pos->x, $pos->y + $len, $color);
The scale and offset posed somewhat of a problem. But I think I've figured it out, after many hours of experimentation.
edit: The image to the right is every single marker I can place. (Strangely, I can't find the coordinates for the map boundary, it must be defined someplace else)
I've obviously perfected marker placement, I'm currently working on loading the names for each marker. The names are defined in a bunch of different files, and use different terms in each file, so at this point it looks like I will have to write a custom parser for each file. Luckily, most name points don't have displayed names, so this is only for things like missions and secret areas and whatever, so it's not too much work.
I've generated images for each of the 307 marker set files, using the default marker names, so I'll be able to easily see which images are of interest, unfortunately, I'm visiting relatives for the next few days, so I'll have less time to work on this.
Still, the image on this page is a taste of things to come :)
edit: Here's a map which doesn't need much work, parking spots!
There are no named labels, but I will color code heli/boat/plane locations.
FYI, This isn't the largest map I can use, I have another which is twice the resolution, but the filesize increases drastically, so I will never use full resolution for city-wide maps.
Due to the resolution, the locations aren't as precise, but all locations on this map are accurate to within ±1px. ;) edit: unfortunately, I'm hitting memory limits while trying to generate full resolution marker maps. So I will have to manually place the marker overlay onto the larger map, for use in zoomed images. For instance, with if you open both images in the image history, you can see the difference between the two resolutions. I've already thought of a workaround to deal with the loss of precision, but I haven't tested it yet, as I'm still out of town. The full image I've been using is 10000px square, due to the outlying islands, but I can safely ignore them as they are only useful on the Secret Areas map anyway. Reducing the required resolution to 6000px should be sufficient for all other maps at high resolution. There are some hi density areas, such as as the mall, which will require further increased resolution, but those should not be a problem.
Note: the parking spots in the mall are shown on this map, and because the underground section extends to the west of the mall, it appears some vehicles are parked inside King's Grocery. For reference, these are the markers set for the mall, which gives you an idea of the area it covers:
The coordinates include height values, so I will be able to determine which level each marker belongs to, but I do not currently have a good map of the mall to use.