Moving (clicking and dragging) the map should temporarily restore the scale, size, and offsets of all POIs drawn on the map. You can also zoom out to a continent map and back in to the current zone.
Yeah, I know but I was thinking of a more permanent workaround, heh... I open/close my map quite frequently so moving it each time would be quite inconvenient and annoying. ;)
It appears Blizzard may have taken certain "efficiencies" in their overlay drawing code for both the worldmap and the minimap that ignore scaling and/or sizing. I did a lot of investigation of the minimap on the PTR, and have come to the conclusion that many shortcuts were taken.
For example, upon creating a second Minimap frame, even at identical size and scale to the existing minimap, the player arrow (which is no longer a model and can no longer be changed) is actually drawn at the dimensions of the texture file itself and is not scaled in any way.
In addition, the rotating arrows are no longer drawn using their models, bur rather with the textures directly. They fail to size with the minimap, although they will scale with it, whether using the original minimap or hiding it or using a new Minimap frame. Also, the rotating arrow texture paths have been hardcoded to load textures directly from the MPQ archives, unlike the filesystem fallback method we have been accustomed to for UI model and texture loading all these years.
Pings also stopped using model frames back around patch 3.1 I believe. Now in 3.2.2, in order to improve their animation efficiency, the developers have forgotten to update the ping's position as the player's position changes. Now pings always display at a constant offset from the player, regardless of changes to the minimap's movement and zoom levels. This is clearly a bug that even effects Blizzard's default UI and was reported with every single PTR build, yet was not corrected by release.
These are only the three most obvious shortcuts the devs have taken with the minimap in the name of efficiency.
I didn't get very far into worldmap investigation, but one thing I did notice is that the texture:SetRotation() API, which is only used by Blizzard on the worldmap to display vehicles, has been changed to scale the texture as well, such that a rotated square texture is reduced to a scale that would fit within the square bounds of the original texture's size. (They are moving corner points along the inscribed circle of the sides of the existing square, rather than along a circumscribed circle around the corners of the existing square. Don't even bother trying this with a texture that isn't square.) Thus, this API is not really "a shorthand for the appropriate 8 argument SetTexCoord rotation (in C++ so it's fast)" unless your rotation also involves adding the same scaling affine transform Blizzard wants to use for its worldmap textures.
My guess is that Blizzard is taking some shortcut for drawing child regions of the worldmap in order to speed it up slightly. This shortcut fails to take into account the possible usage of their own API for changing the worldmap. Since around patch 3.1, it has appeared to me that Blizzard has had the "farm team" working on UI development. The coding (and commenting) style in Blizzard's Lua is notably different for features introduced since that time, and reflects some unfamiliarity with the way things have been done in the past and why they were done that way.
The world map is changing significantly in patch 3.3.0 to include quest information as additional panels within the full screen map frame. The actual quest functionality doesn't appear to be added yet in this build, but placeholder frames are there. (Mapster is actually still working decently with the world map so far, except that the place Mapster puts its button on the world map now conflicts with the position of a placeholder checkbox in the default UI.)
There are still a lot of changes that haven't been finished yet for Blizzard's new quest map functionality. It would probably be counterproductive to start making changes to Mapster until the quest map changes have been stabilized a bit first.
There are still a lot of changes that haven't been finished yet for Blizzard's new quest map functionality. It would probably be counterproductive to start making changes to Mapster until the quest map changes have been stabilized a bit first.
Plus i still couldn't get my hands on the PTR patch as the downloader seems to hate my Wine, or something - need http mirrors already, why is it taking so long this time. :(
--
Wee i finally got it, lets see what PTR patches bring us for the future.
So i've been thinking, with the new control to the map frame size.
Should Mapster just hide that? I mean, you control map size with Mapster anyway. No need to use the blizzard functionality for that, and currently it breaks Mapster when you use it.
So do i fix it to work with Mapster, or do i just hide it and let users still use Mapster to control the map size?
I also need to generate the informations for the new instance maps, but i'm kinda reluctant to do so, maybe i should remove that module again - i never really liked it anyway. There are stand-alone addons that do the same alot better - and it isn't so simple anymore.
i would say just hide the minimize option as for the dungeon maps i don't care either way :) though just a heads up all the map levels names can now be found in the Globalstrings.lua
DUNGEON_FLOOR_AHNKAHET1 = "Ahn'Kahet";
DUNGEON_FLOOR_AZJOLNERUB1 = "The Brood Pit";
DUNGEON_FLOOR_AZJOLNERUB2 = "Hadronox's Lair";
DUNGEON_FLOOR_AZJOLNERUB3 = "The Gilded Gate";
DUNGEON_FLOOR_COTSTRATHOLME0 = "The Road to Stratholme";
DUNGEON_FLOOR_COTSTRATHOLME1 = "Stratholme City";
DUNGEON_FLOOR_DALARAN1 = "Dalaran City";
DUNGEON_FLOOR_DALARAN2 = "The Underbelly";
DUNGEON_FLOOR_DRAKTHARONKEEP1 = "The Vestibules of Drak'Tharon";
DUNGEON_FLOOR_DRAKTHARONKEEP2 = "Drak'Tharon Overlook";
DUNGEON_FLOOR_GUNDRAK1 = "Gundrak";
DUNGEON_FLOOR_HALLSOFLIGHTNING1 = "Unyielding Garrison";
DUNGEON_FLOOR_HALLSOFLIGHTNING2 = "Walk of the Makers";
DUNGEON_FLOOR_HALLSOFREFLECTION1 = "Halls of Reflection";
DUNGEON_FLOOR_ICECROWNCITADEL1 = "The Lower Citadel";
DUNGEON_FLOOR_ICECROWNCITADEL2 = "The Rampart of Skulls";
DUNGEON_FLOOR_ICECROWNCITADEL3 = "Deathbringer's Rise";
DUNGEON_FLOOR_ICECROWNCITADEL4 = "The Frost Queen's Lair";
DUNGEON_FLOOR_ICECROWNCITADEL5 = "The Upper Reaches";
DUNGEON_FLOOR_ICECROWNCITADEL6 = "Royal Quarters";
DUNGEON_FLOOR_ICECROWNCITADEL7 = "The Frozen Throne";
DUNGEON_FLOOR_ICECROWNCITADEL8 = "Frostmourne";
DUNGEON_FLOOR_NAXXRAMAS1 = "The Construct Quarter";
DUNGEON_FLOOR_NAXXRAMAS2 = "The Arachnid Quarter";
DUNGEON_FLOOR_NAXXRAMAS3 = "The Military Quarter";
DUNGEON_FLOOR_NAXXRAMAS4 = "The Plague Quarter";
DUNGEON_FLOOR_NAXXRAMAS5 = "The Lower Necropolis";
DUNGEON_FLOOR_NAXXRAMAS6 = "The Upper Necropolis";
DUNGEON_FLOOR_NEXUS801 = "Band of Variance";
DUNGEON_FLOOR_NEXUS802 = "Band of Acceleration";
DUNGEON_FLOOR_NEXUS803 = "Band of Transmutation";
DUNGEON_FLOOR_NEXUS804 = "Band of Alignment";
DUNGEON_FLOOR_PITOFSARON1 = "Pit of Saron";
DUNGEON_FLOOR_THEARGENTCOLISEUM1 = "The Argent Coliseum";
DUNGEON_FLOOR_THEARGENTCOLISEUM2 = "The Icy Depths";
DUNGEON_FLOOR_THEEYEOFETERNITY1 = "The Eye of Eternity";
DUNGEON_FLOOR_THEFORGEOFSOULS1 = "The Forge of Souls";
DUNGEON_FLOOR_THENEXUS1 = "The Nexus";
DUNGEON_FLOOR_THEOBSIDIANSANCTUM1 = "The Obsidian Sanctum";
DUNGEON_FLOOR_ULDUAR0 = "The Grand Approach ";
DUNGEON_FLOOR_ULDUAR1 = "The Antechamber of Ulduar";
DUNGEON_FLOOR_ULDUAR2 = "The Inner Sanctum of Ulduar";
DUNGEON_FLOOR_ULDUAR3 = "The Prison of Yogg-Saron";
DUNGEON_FLOOR_ULDUAR4 = "The Spark of Imagination";
DUNGEON_FLOOR_ULDUAR5 = "The Mind's Eye";
DUNGEON_FLOOR_ULDUAR771 = "Halls of Stone";
DUNGEON_FLOOR_UTGARDEKEEP1 = "Norndir Preperation";
DUNGEON_FLOOR_UTGARDEKEEP2 = "Dragonflayer Ascent";
DUNGEON_FLOOR_UTGARDEKEEP3 = "Tyr's Terrace";
DUNGEON_FLOOR_UTGARDEPINNACLE1 = "Lower Pinnacle";
DUNGEON_FLOOR_UTGARDEPINNACLE2 = "Upper Pinnacle";
DUNGEON_FLOOR_VAULTOFARCHAVON1 = "Vault of Archavon";
DUNGEON_FLOOR_VIOLETHOLD1 = "The Violet Hold";
(why they gave level names to single level maps i have no idea)
I decided to keep the minimizing functionality, and adjusted Mapster to save the position for the minimized map as well.
I still have some plans for new features to enhance the minimized map, for example making it more compact by hiding the borders and backgrounds, so you can easily leave it open while playing.
We'll see how that turns out.
If you want to test, you can as always get it from the 3.3 Git branch.
Yeah, I know but I was thinking of a more permanent workaround, heh... I open/close my map quite frequently so moving it each time would be quite inconvenient and annoying. ;)
I blame Blizzard for screwing something up, tbh.
I actually tried this one but it didn't seem to work for me. Could just be me doing it wrong with my very limited knowledge of LUA...
For example, upon creating a second Minimap frame, even at identical size and scale to the existing minimap, the player arrow (which is no longer a model and can no longer be changed) is actually drawn at the dimensions of the texture file itself and is not scaled in any way.
In addition, the rotating arrows are no longer drawn using their models, bur rather with the textures directly. They fail to size with the minimap, although they will scale with it, whether using the original minimap or hiding it or using a new Minimap frame. Also, the rotating arrow texture paths have been hardcoded to load textures directly from the MPQ archives, unlike the filesystem fallback method we have been accustomed to for UI model and texture loading all these years.
Pings also stopped using model frames back around patch 3.1 I believe. Now in 3.2.2, in order to improve their animation efficiency, the developers have forgotten to update the ping's position as the player's position changes. Now pings always display at a constant offset from the player, regardless of changes to the minimap's movement and zoom levels. This is clearly a bug that even effects Blizzard's default UI and was reported with every single PTR build, yet was not corrected by release.
These are only the three most obvious shortcuts the devs have taken with the minimap in the name of efficiency.
I didn't get very far into worldmap investigation, but one thing I did notice is that the texture:SetRotation() API, which is only used by Blizzard on the worldmap to display vehicles, has been changed to scale the texture as well, such that a rotated square texture is reduced to a scale that would fit within the square bounds of the original texture's size. (They are moving corner points along the inscribed circle of the sides of the existing square, rather than along a circumscribed circle around the corners of the existing square. Don't even bother trying this with a texture that isn't square.) Thus, this API is not really "a shorthand for the appropriate 8 argument SetTexCoord rotation (in C++ so it's fast)" unless your rotation also involves adding the same scaling affine transform Blizzard wants to use for its worldmap textures.
My guess is that Blizzard is taking some shortcut for drawing child regions of the worldmap in order to speed it up slightly. This shortcut fails to take into account the possible usage of their own API for changing the worldmap. Since around patch 3.1, it has appeared to me that Blizzard has had the "farm team" working on UI development. The coding (and commenting) style in Blizzard's Lua is notably different for features introduced since that time, and reflects some unfamiliarity with the way things have been done in the past and why they were done that way.
also the green square is a blizzard issue
on that note any other mod that works with the default map should work just fine since they simply reanchored and scaled down the actual map area
also the new dungeon should be added to mapster
http://s.nihilum.eu/image/image/mainsite/news/2009/oct/02/newmap.jpg
agreed :)
--
Wee i finally got it, lets see what PTR patches bring us for the future.
Should Mapster just hide that? I mean, you control map size with Mapster anyway. No need to use the blizzard functionality for that, and currently it breaks Mapster when you use it.
So do i fix it to work with Mapster, or do i just hide it and let users still use Mapster to control the map size?
I also need to generate the informations for the new instance maps, but i'm kinda reluctant to do so, maybe i should remove that module again - i never really liked it anyway. There are stand-alone addons that do the same alot better - and it isn't so simple anymore.
(why they gave level names to single level maps i have no idea)
I still have some plans for new features to enhance the minimized map, for example making it more compact by hiding the borders and backgrounds, so you can easily leave it open while playing.
We'll see how that turns out.
If you want to test, you can as always get it from the 3.3 Git branch.