mirror of
https://github.com/brues-code/pfUI.git
synced 2026-09-21 23:26:56 +00:00
Update mapreveal overlay data for Turtle WoW
env/tables.lua — Updated pfMapOverlayData to current Turtle WoW WorldMapOverlay.dbc (53 zones, 707 overlays — added 12 new zones, ~40 new exploration areas) modules/mapreveal.lua — Use separate texture pool to prevent conflicts with Blizzard overlay rendering; removed legacy errata and unused hash logic
This commit is contained in:
Vendored
+54
-41
@@ -2406,44 +2406,57 @@ pfSellData = {
|
||||
[24102]="100000,400000", [24222]="44210,221054", [24231]="52,211", [24232]="225,900", [24281]="302,1210", [24282]="4562,18250",
|
||||
[24283]="38086,152345", [24358]="91453,365815" }
|
||||
pfMapOverlayData = {
|
||||
["Teldrassil"] = {"RUTTHERANVILLAGE:128:100:494:548", "STARBREEZEVILLAGE:200:200:561:292", "GNARLPINEHOLD:185:128:368:443", "LAKEALAMETH:256:185:436:380", "WELLSPRINGLAKE:180:256:377:93", "THEORACLEGLADE:170:240:272:127", "BANETHILHOLLOW:160:210:382:281", "DOLANAAR:190:128:462:323", "SHADOWGLEN:225:225:491:153", "POOLSOFARLITHRIEN:128:190:335:313", "DARNASSUS:315:256:101:247",},
|
||||
["DunMorogh"] = {"AMBERSTILLRANCH:128:128:573:280", "FROSTMANEHOLD:125:125:217:287", "ICEFLOWLAKE:128:180:281:167", "THEGRIZZLEDDEN:200:185:314:311", "HELMSBEDLAKE:155:170:694:273", "SHIMMERRIDGE:128:190:347:163", "CHILLBREEZEVALLEY:180:128:274:296", "ANVILMAR:240:185:155:403", "MISTYPINEREFUGE:128:165:502:221", "GOLBOLARQUARRY:165:165:608:291", "KHARANOS:200:200:386:294", "THETUNDRIDHILLS:155:128:522:322", "IRONFORGE:315:200:397:163", "COLDRIDGEPASS:150:128:295:385", "NORTHERNGATEOUTPOST:128:165:759:173", "SOUTHERNGATEOUTPOST:128:120:792:279", "GNOMERAGON:180:165:166:184", "BREWNALLVILLAGE:115:115:252:249",},
|
||||
["Elwynn"] = {"EASTVALELOGGINGCAMP:256:210:704:330", "BRACKWELLPUMPKINPATCH:256:249:577:419", "FORESTSEDGE:256:341:124:327", "FARGODEEPMINE:256:240:238:428", "JERODSLANDING:256:237:425:431", "STORMWIND:485:405:0:0", "GOLDSHIRE:240:220:250:270", "TOWEROFAZORA:255:250:551:292", "CRYSTALLAKE:225:220:422:332", "RIDGEPOINTTOWER:306:233:696:435", "STONECAIRNLAKE:310:256:587:190", "NORTHSHIREVALLEY:256:256:381:147",},
|
||||
["Mulgore"] = {"WINTERHOOFWATERWELL:170:128:458:369", "THUNDERHORNWATERWELL:128:155:379:242", "RAVAGEDCARAVAN:128:120:473:260", "PALEMANEROCK:128:205:303:307", "WINDFURYRIDGE:205:128:395:0", "REDCLOUDMESA:470:243:270:425", "THUNDERBLUFF:280:240:249:59", "BAELDUNDIGSITE:210:180:255:214", "WILDMANEWATERWELL:185:128:291:0", "THEGOLDENPLAINS:215:240:428:80", "REDROCKS:205:230:502:16", "BLOODHOOFVILLAGE:256:200:367:303", "THEROLLINGPLAINS:256:190:523:356", "THEVENTURECOMINE:225:235:532:238",},
|
||||
["Tirisfal"] = {"SCARLETWATCHPOST:175:247:689:104", "SOLLIDENFARMSTEAD:256:156:239:250", "GARRENSHAUNT:174:220:497:145", "VENOMWEBVALE:237:214:757:205", "NIGHTMAREVALE:243:199:363:349", "AGAMANDMILLS:256:210:335:139", "CRUSADEROUTPOST:173:128:694:289", "DEATHKNELL:245:205:227:328", "BALNIRFARMSTEAD:216:179:630:326", "BRIGHTWATERLAKE:201:288:587:139", "BULWARK:230:205:698:362", "RUINSOFLORDAERON:315:235:463:361", "COLDHEARTHMANOR:150:128:474:327", "BRILL:128:158:537:299", "MONASTARY:211:189:746:125", "STILLWATERPOND:186:128:395:277",},
|
||||
["Durotar"] = {"RAZORMANEGROUNDS:230:230:301:189", "VALLEYOFTRIALS:215:215:355:320", "SKULLROCK:128:110:464:33", "DRYGULCHRAVINE:210:160:427:78", "THUNDERRIDGE:190:200:327:60", "ORGRIMMAR:445:160:244:0", "SENJINVILLAGE:160:190:474:384", "TIRAGARDEKEEP:190:180:462:286", "ECHOISLES:200:240:549:427", "RAZORHILL:220:230:432:170", "KOLKARCRAG:160:120:413:476",},
|
||||
["Westfall"] = {"WESTFALLLIGHTHOUSE:280:190:205:467", "FURLBROWSPUMPKINFARM:210:215:387:11", "JANGOLODEMINE:215:215:307:29", "SALDEANSFARM:225:210:459:105", "THEDUSTPLAINS:288:235:523:377", "SENTINELHILL:195:240:442:241", "DEMONTSPLACE:200:185:208:375", "THEMOLSENFARM:225:205:328:148", "THEDEADACRE:200:240:524:252", "THEJANSENSTEAD:165:200:488:0", "THEDAGGERHILLS:256:175:339:418", "GOLDCOASTQUARRY:225:256:220:102", "ALEXSTONFARMSTEAD:305:210:204:260", "MOONBROOK:220:200:317:331",},
|
||||
["Silverpine"] = {"THEDECREPITFERRY:180:185:457:144", "FENRISISLE:250:215:593:74", "THEDEADFIELD:175:165:402:65", "MALDENSORCHARD:256:160:465:0", "OLSENSFARTHING:165:185:382:252", "DEEPELEMMINE:160:170:470:261", "SHADOWFANGKEEP:220:160:364:359", "BERENSPERIL:240:180:491:417", "THESEPULCHER:210:160:352:168", "PYREWOODVILLAGE:140:125:391:446", "AMBERMILL:240:240:494:262", "THESKITTERINGDARK:185:165:286:37", "NORTHTIDESHOLLOW:180:128:323:128", "THEGREYMANEWALL:210:215:379:447", "THESHININGSTRAND:256:220:459:13",},
|
||||
["LochModan"] = {"SILVERSTREAMMINE:235:270:229:11", "MOGROSHSTRONGHOLD:315:235:542:48", "STONESPLINTERVALLEY:255:285:215:348", "IRONBANDSEXCAVATIONSITE:345:256:482:321", "VALLEYOFKINGS:195:250:109:370", "GRIZZLEPAWRIDGE:295:358:309:310", "THELSAMAR:256:230:217:203", "THELOCH:320:410:352:87", "NORTHGATEPASS:230:300:125:12", "STONEWROUGHTDAM:290:175:339:11", "THEFARSTRIDERLODGE:370:295:546:199",},
|
||||
["Darkshore"] = {"RUINSOFMATHYSTRA:195:215:510:0", "TOWEROFALTHALAXX:170:195:468:85", "GROVEOFTHEANCIENTS:200:170:305:412", "BASHALARAN:180:195:365:181", "AMETHARAN:190:205:324:306", "THEMASTERSGLAIVE:175:158:329:510", "REMTRAVELSEXCAVATION:175:183:229:485", "AUBERDINE:150:215:318:162", "CLIFFSPRINGRIVER:230:190:375:94",},
|
||||
["Redridge"] = {"STONEWATCH:255:300:500:215", "GALARDELLVALLEY:250:250:654:161", "ALTHERSMILL:235:270:399:129", "RENDERSVALLEY:465:255:484:361", "LAKEEVERSTILL:535:275:133:240", "REDRIDGECANYONS:365:245:121:72", "STONEWATCHFALLS:320:210:595:320", "LAKESHIRE:340:195:83:197", "RENDERSCAMP:275:256:277:0", "THREECORNERS:365:350:0:284", "LAKERIDGEHIGHWAY:430:290:187:333",},
|
||||
["Wetlands"] = {"ANGERFANGENCAMPMENT:225:185:347:218", "DUNMODR:205:180:401:21", "SUNDOWNMARSH:300:240:92:82", "THELGANROCK:230:190:470:371", "BLACKCHANNELMARSH:240:175:77:245", "BLUEGILLMARSH:225:190:89:142", "MOSSHIDEFEN:205:245:527:264", "IRONBEARDSTOMB:200:185:349:115", "THEGREENBELT:185:240:456:125", "SALTSPRAYGLEN:200:240:237:41", "MENETHILHARBOR:175:128:13:314", "GRIMBATOL:350:360:611:230", "RAPTORRIDGE:190:160:628:176", "DIREFORGEHILL:256:250:507:115", "WHELGARSEXCAVATIONSITE:195:185:247:205",},
|
||||
["Hilsbrad"] = {"DARROWHILL:205:155:414:154", "NETHANDERSTEAD:215:240:541:236", "DURNHOLDEKEEP:384:365:605:75", "SOUTHSHORE:235:270:418:201", "HILLSBRADFIELDS:305:275:198:155", "TARRENMILL:220:310:509:0", "AZURELOADMINE:165:200:175:275", "SOUTHPOINTTOWER:288:225:2:192", "DUNGAROK:240:275:637:294", "EASTERNSTRAND:230:320:524:339", "WESTERNSTRAND:285:155:208:368", "PURGATIONISLE:125:100:109:482",},
|
||||
["Duskwood"] = {"THEYORGENFARMSTEAD:235:250:390:382", "THEROTTINGORCHARD:250:230:539:369", "VULGOLOGREMOUND:255:285:243:348", "TWILIGHTGROVE:360:420:298:79", "ADDLESSTEAD:275:250:55:342", "MANORMISTMANTLE:200:175:653:120", "THEDARKENEDBANK:910:210:89:31", "RAVENHILL:195:145:102:302", "THEHUSHEDBANK:160:330:19:132", "DARKSHIRE:315:280:631:162", "BRIGHTWOODGROVE:220:340:504:117", "TRANQUILGARDENSCEMETARY:220:220:690:353", "RAVENHILLCEMETARY:350:300:85:149",},
|
||||
["Alterac"] = {"LORDAMEREINTERNMENTCAMP:330:265:44:403", "DANDREDSFOLD:285:230:276:0", "MISTYSHORE:220:280:196:131", "CHILLWINDPOINT:350:370:626:253", "GALLOWSCORNER:200:200:406:279", "CORRAHNSDAGGER:195:288:399:380", "CRUSHRIDGEHOLD:280:240:334:162", "THEUPLANDS:235:200:462:77", "GAVINSNAZE:160:175:225:478", "GROWLESSCAVE:190:170:317:372", "RUINSOFALTERAC:255:255:270:197", "STRAHNBRAD:370:300:549:105", "THEHEADLAND:165:197:314:471", "SOFERASNAZE:255:320:462:307", "DALARAN:300:300:26:262",},
|
||||
["Barrens"] = {"THEFORGOTTENPOOLS:120:125:384:115", "THESTAGNANTOASIS:155:128:481:211", "THEMORSHANRAMPART:128:100:412:0", "DREADMISTPEAK:128:105:419:63", "THEDRYHILLS:200:145:317:29", "BOULDERLODEMINE:120:110:555:0", "THESLUDGEFEN:170:120:456:0", "THECROSSROADS:155:155:431:118", "NORTHWATCHFOLD:150:120:527:307", "RAPTORGROUNDS:115:110:507:294", "THORNHILL:140:128:498:119", "THEMERCHANTCOAST:95:100:581:247", "LUSHWATEROASIS:175:185:365:177", "RATCHET:125:125:556:189", "HONORSSTAND:128:128:306:130", "BRAMBLESCAR:125:165:442:298", "BLACKTHORNRIDGE:155:128:335:462", "BAELMODAN:128:128:431:479", "RAZORFENKRAUL:128:128:341:537", "RAZORFENDOWNS:155:115:407:553", "CAMPTAURAJO:145:125:365:350", "GROLDOMFARM:125:115:492:63", "FARWATCHPOST:100:165:564:52", "AGAMAGOR:200:185:340:234", "FIELDOFGIANTS:210:150:355:402",},
|
||||
["Stranglethorn"] = {"NESINGWARYSEXPEDITION:140:110:269:26", "RUINSOFJUBUWAL:110:110:306:301", "ZIATAJAIRUINS:128:125:364:231", "BOOTYBAY:145:128:203:433", "NEKMANIWELLSPRING:90:115:211:359", "RUINSOFABORAZ:95:95:350:335", "CRYSTALVEINMINE:120:120:345:276", "MIZJAHRUINS:105:110:311:131", "WILDSHORE:165:190:229:422", "BLOODSAILCOMPOUND:165:175:194:284", "JAGUEROISLE:125:120:314:493", "GROMGOLBASECAMP:110:105:260:132", "MOSHOGGOGREMOUND:128:175:432:94", "KALAIRUINS:95:95:299:88", "RUINSOFZULMAMWE:170:125:394:212", "MISTVALEVALLEY:125:125:280:368", "THEARENA:200:185:235:189", "ZUULDAIARUINS:115:115:156:42", "BALIAMAHRUINS:110:140:371:129", "LAKENAZFERITI:128:125:331:59", "KURZENSCOMPOUND:155:150:388:0", "RUINSOFZULKUNDA:125:140:196:3", "ZULGURUB:245:220:483:8", "THEVILEREEF:190:175:152:90", "VENTURECOBASECAMP:105:125:387:64", "BALALRUINS:90:80:241:92", "REBELCAMP:170:90:284:0",},
|
||||
["SwampOfSorrows"] = {"SPLINTERSPEARJUNCTION:275:240:129:236", "THEHARBORAGE:235:205:171:145", "FALLOWSANCTUARY:365:305:492:0", "MISTYREEDSTRAND:256:668:746:0", "POOLOFTEARS:300:275:565:218", "THESHIFTINGMIRE:315:235:286:110", "MISTYVALLEY:245:305:0:140", "ITHARIUSSCAVE:240:245:0:262", "STONARD:360:315:279:237", "STAGALBOG:345:250:552:378", "SORROWMURK:215:365:724:120",},
|
||||
["Arathi"] = {"CIRCLEOFINNERBINDING:210:185:286:310", "CIRCLEOFOUTERBINDING:170:155:419:293", "NORTHFOLDMANOR:230:240:192:90", "BOULDERGOR:245:245:232:145", "STROMGARDEKEEP:240:230:108:287", "FALDIRSCOVE:256:215:171:424", "THANDOLSPAN:200:220:355:412", "BOULDERFISTHALL:215:235:432:362", "GOSHEKFARM:230:195:531:276", "HAMMERFALL:205:250:655:120", "WITHERBARKVILLAGE:215:210:559:333", "DABYRIESFARMSTEAD:180:210:472:165", "CIRCLEOFEASTBINDING:160:230:558:112", "REFUGEPOINT:175:225:370:186", "THORADINSWALL:190:240:87:138", "CIRCLEOFWESTBINDING:190:210:138:54",},
|
||||
["Badlands"] = {"CAMPCAGG:255:220:12:428", "KARGATH:240:255:0:148", "CAMPKOSH:220:220:551:48", "LETHLORRAVINE:370:455:611:110", "APOCRYPHANSREST:255:205:17:310", "AGMONDSEND:265:270:345:389", "CAMPBOFF:255:280:501:341", "THEDUSTBOWL:270:275:159:199", "HAMMERTOESDIGSITE:200:195:445:120", "VALLEYOFFANGS:230:230:349:256", "ANGORFORTRESS:195:200:325:148", "MIRAGEFLATS:285:240:148:384", "DUSTWINDGULCH:245:205:498:209", "THEMAKERSTERRACE:245:205:389:7",},
|
||||
["Hinterlands"] = {"JINTHAALOR:235:285:505:333", "THEOVERLOOKCLIFFS:170:310:693:303", "AERIEPEAK:255:205:13:245", "PLAGUEMISTRAVINE:145:220:158:149", "THEALTAROFZUL:200:165:373:365", "HIRIWATHA:225:200:171:306", "QUELDANILLODGE:185:195:237:185", "VALORWINDLAKE:170:170:319:302", "SHADRAALOR:195:185:240:387", "AGOLWATHA:205:195:374:164", "THECREEPINGRUIN:180:170:408:260", "SERADANE:275:275:509:19", "SKULKROCK:160:145:512:232", "SHAOLWATHA:280:205:571:239",},
|
||||
["UngoroCrater"] = {"GOLAKKAHOTSPRINGS:315:345:121:151", "THESLITHERINGSCAR:345:285:367:380", "FIREPLUMERIDGE:295:270:367:178", "TERRORRUN:345:285:158:368", "THEMARSHLANDS:310:355:560:240", "IRONSTONEPLATEAU:285:285:582:67", "LAKKARITARPITS:570:265:160:6",},
|
||||
["Tanaris"] = {"THISTLESHRUBVALLEY:185:250:203:286", "VALLEYOFTHEWATCHERS:150:160:291:434", "LANDSENDBEACH:205:157:445:511", "ABYSSALSANDS:215:180:363:194", "ZALASHJISDEN:110:140:611:147", "CAVERNSOFTIME:155:150:561:256", "EASTMOONRUINS:160:150:395:346", "GADGETZAN:175:165:421:91", "BROKENPILLAR:110:180:473:234", "SOUTHMOONRUINS:195:210:323:359", "ZULFARRAK:210:175:254:0", "THEGAPINGCHASM:220:210:449:372", "SOUTHBREAKSHORE:215:175:499:293", "DUNEMAULCOMPOUND:205:145:325:289", "THENOXIOUSLAIR:180:200:252:199", "WATERSPRINGFIELD:165:180:509:168", "LOSTRIGGERCOVE:160:190:629:220", "STEAMWHEEDLEPORT:155:150:592:75", "NOONSHADERUINS:120:135:533:104", "SANDSORROWWATCH:195:175:299:100",},
|
||||
["Dustwallow"] = {"THEWYRMBOG:285:240:367:381", "ALCAZISLAND:200:195:660:21", "THERAMOREISLE:230:205:534:224", "WITCHHILL:250:315:422:0", "BRACKENWALLVILLAGE:280:270:230:0", "BACKBAYWETLANDS:400:255:239:189", "THEDENOFFLAME:255:250:257:313",},
|
||||
["ThousandNeedles"] = {"THEGREATLIFT:210:180:205:70", "DARKCLOUDPINNACLE:205:195:259:131", "THESHIMMERINGFLATS:320:365:610:300", "SPLITHOOFCRAG:210:195:391:192", "CAMPETHOK:305:310:0:0", "WINDBREAKCANYON:240:220:492:250", "FREEWINDPOST:210:190:357:264", "HIGHPERCH:190:190:31:155", "THESCREECHINGCANYON:250:240:179:200",},
|
||||
["SearingGorge"] = {"GRIMSILTDIGSITE:305:220:494:300", "THESEAOFCINDERS:360:280:247:388", "TANNERCAMP:305:230:545:407", "DUSTFIREVALLEY:460:365:422:8", "FIREWATCHRIDGE:405:430:85:30", "THECAULDRON:425:325:250:170", "BLACKCHARCAVE:275:235:77:366",},
|
||||
["Ashenvale"] = {"THISTLEFURVILLAGE:255:195:203:158", "THESHRINEOFAESSINA:220:195:104:259", "THEZORAMSTRAND:245:245:19:28", "LAKEFALATHIM:128:195:131:137", "MAESTRASPOST:215:305:205:38", "ASTRANAAR:205:185:272:251", "IRISLAKE:200:205:392:218", "THERUINSOFSTARDUST:155:150:260:373", "FIRESCARSHRINE:165:175:189:324", "MYSTRALLAKE:275:240:356:347", "BOUGHSHADOW:146:200:856:151", "THEHOWLINGVALE:210:185:463:141", "FELFIREHILL:245:255:713:344", "NIGHTRUN:225:255:597:258", "WARSONGLUMBERCAMP:200:160:796:311", "RAYNEWOODRETREAT:180:245:520:238", "FALLENSKYLAKE:235:205:547:426", "SATYRNAAR:285:185:694:225",},
|
||||
["Desolace"] = {"SHADOWPREYVILLAGE:230:230:167:389", "THUNDERAXEFORTRESS:190:220:447:102", "ETHELRETHOR:205:250:311:61", "GELKISVILLAGE:195:242:293:426", "VALLEYOFSPEARS:245:285:212:215", "RANAZJARISLE:100:100:241:6", "MAGRAMVILLAGE:205:285:590:365", "MANNOROCCOVEN:285:280:399:380", "SARGERON:285:245:625:33", "KOLKARVILLAGE:220:220:607:215", "KORMEKSHUT:170:160:555:181", "SHADOWBREAKRAVINE:205:195:690:444", "KODOGRAVEYARD:275:250:387:244", "NIJELSPOINT:200:250:554:0", "TETHRISARAN:205:145:431:0",},
|
||||
["BurningSteppes"] = {"DRACODAR:415:315:56:258", "RUINSOFTHAURISSAN:270:285:513:99", "DREADMAULROCK:220:225:707:168", "MORGANSVIGIL:294:270:708:311", "ALTAROFSTORMS:225:220:36:109", "TERRORWINGPATH:280:355:722:46", "BLACKROCKPASS:270:310:589:279", "PILLAROFASH:320:270:377:285", "BLACKROCKSTRONGHOLD:245:265:334:114", "BLACKROCKMOUNTAIN:256:280:173:101",},
|
||||
["BlastedLands"] = {"DREADMAULPOST:245:195:361:195", "THETAINTEDSCAR:384:450:212:178", "DREADMAULHOLD:195:180:361:15", "GARRISONARMORY:170:200:472:9", "ALTAROFSTORMS:185:155:310:133", "SERPENTSCOIL:225:170:501:140", "DARKPORTAL:265:220:453:259", "NETHERGARDEKEEP:185:190:559:30", "RISEOFTHEDEFILER:170:145:405:123",},
|
||||
["Aszhara"] = {"SHADOWSONGSHRINE:225:180:35:422", "TIMBERMAWHOLD:235:270:250:106", "BAYOFSTORMS:270:300:479:201", "THESHATTEREDSTRAND:160:210:404:194", "JAGGEDREEF:570:170:366:0", "BITTERREACHES:245:185:644:40", "TOWEROFELDARA:120:155:818:107", "FORLORNRIDGE:220:255:191:369", "TEMPLEOFARKKORAN:190:200:681:153", "LEGASHENCAMPMENT:235:140:478:44", "URSOLAN:145:215:422:95", "RUINSOFELDARATH:265:280:238:221", "SOUTHRIDGEBEACH:370:220:389:353", "VALORMOK:215:175:84:229", "THALASSIANBASECAMP:240:155:499:119", "RAVENCRESTMONUMENT:240:125:552:499", "HALDARRENCAMPMENT:200:150:77:331", "THERUINEDREACHES:395:128:396:540", "LAKEMENNAR:315:200:296:429",},
|
||||
["Felwood"] = {"RUINSOFCONSTELLAS:235:155:297:381", "EMERALDSANCTUARY:185:160:405:429", "FELPAWVILLAGE:240:145:483:0", "TALONBRANCHGLADE:160:145:548:90", "MORLOSARAN:145:159:496:509", "JADEFIRERUN:195:170:330:29", "SHATTERSCARVALE:235:200:307:123", "JAEDENAR:245:128:271:331", "BLOODVENOMFALLS:235:145:292:263", "DEADWOODVILLAGE:175:135:408:533", "JADEFIREGLEN:165:155:332:465", "IRONTREEWOODS:215:215:420:54",},
|
||||
["EasternPlaguelands"] = {"THENOXIOUSGLADE:225:215:722:166", "QUELLITHIENLODGE:230:150:422:36", "NORTHPASSTOWER:240:195:457:109", "TERRORDALE:190:205:79:98", "BLACKWOODLAKE:230:235:442:199", "EASTWALLTOWER:180:160:592:241", "DARROWSHIRE:210:179:309:489", "CORINSCROSSING:165:160:537:367", "THEMARRISSTEAD:200:205:156:360", "NORTHDALE:190:205:620:128", "PLAGUEWOOD:360:270:169:83", "LAKEMERELDAR:250:175:537:463", "THEINFECTISSCAR:195:275:620:291", "PESTILENTSCAR:205:250:409:345", "ZULMASHAR:205:165:614:30", "CROWNGUARDTOWER:205:165:291:401", "THONDRORILRIVER:220:360:7:231", "LIGHTSHOPECHAPEL:175:245:716:299", "TYRSHAND:245:170:717:471", "STRATHOLME:240:200:194:9", "THEFUNGALVALE:210:210:271:261", "THEUNDERCROFT:185:150:172:477",},
|
||||
["StonetalonMountains"] = {"BOULDERSLIDERAVINE:145:107:572:561", "WEBWINDERPATH:288:355:457:282", "MIRKFALLONLAKE:200:215:390:145", "CAMPAPARAJE:190:97:718:571", "SISHIRCANYON:125:125:475:433", "STONETALONPEAK:270:205:247:0", "GRIMTOTEMPOST:225:120:668:515", "MALAKAJIN:125:86:663:582", "WINDSHEARCRAG:320:275:553:197", "THECHARREDVALE:230:355:210:234", "SUNROCKRETREAT:150:150:389:320",},
|
||||
["WesternPlaguelands"] = {"DARROWMERELAKE:370:270:504:343", "RUINSOFANDORHOL:285:230:260:355", "THEBULWARK:225:185:137:293", "FELSTONEFIELD:160:125:300:311", "THEWEEPINGCAVE:160:200:566:198", "CAERDARROW:170:165:600:412", "SORROWHILL:300:206:355:462", "GAHRRONSWITHERING:180:205:520:250", "HEARTHGLEN:340:288:307:16", "DALSONSTEARS:220:150:381:265", "THEWRITHINGHAUNT:170:190:451:323", "NORTHRIDGELUMBERCAMP:220:180:382:164", "THONDRORILRIVER:205:340:590:86",},
|
||||
["Feralas"] = {"THEFORGOTTENCOAST:145:320:404:256", "FRAYFEATHERHIGHLANDS:110:170:478:386", "RUINSOFRAVENWIND:190:155:305:0", "THETWINCOLOSSALS:285:245:319:75", "DREAMBOUGH:150:125:454:0", "GORDUNNIOUTPOST:140:165:690:141", "ISLEOFDREAD:215:293:192:375", "LOWERWILDS:225:180:751:198", "FERALSCARVALE:115:115:486:329", "RUINSOFISILDIEN:190:250:540:320", "ONEIROS:110:110:493:70", "DIREMAUL:230:195:454:201", "SARDORISLE:180:180:208:234", "CAMPMOJACHE:155:160:689:233", "THEWRITHINGDEEP:240:220:618:298", "GRIMTOTEMCOMPOUND:120:195:623:167",},
|
||||
["Winterspring"] = {"WINTERFALLVILLAGE:145:125:617:158", "ICETHISTLEHILLS:125:165:611:242", "LAKEKELTHERIL:215:185:401:198", "STARFALLVILLAGE:185:160:392:137", "EVERLOOK:165:200:509:107", "FROSTFIREHOTSPRINGS:240:140:222:172", "FROSTWHISPERGORGE:200:160:523:376", "THEHIDDENGROVE:175:185:555:27", "DARKWHISPERGORGE:255:205:447:441", "FROSTSABERROCK:250:180:368:7", "OWLWINGTHICKET:165:140:593:340", "TIMBERMAWPOST:230:120:229:243", "MAZTHORIL:185:180:493:258",},
|
||||
["Silithus"] = {"THESCARABWALL:288:256:116:413", "THECRYSTALVALE:320:289:104:24", "HIVEASHI:512:320:265:12", "SOUTHWINDVILLAGE:384:384:500:65", "TWILIGHTBASECAMP:320:256:344:197", "HIVEZORA:384:512:97:144", "HIVEREGAL:512:384:245:285",},
|
||||
["DeadwindPass"] = {"THEVICE:270:270:426:299", "KARAZHAN:300:245:269:337", "DEADMANSCROSSING:380:365:249:76",},
|
||||
["AlteracValley"] = {"DUNBALDAR:270:240:348:13", "ICEBLOODGARRISON:300:300:335:172",},
|
||||
["Moonglade"] = { "LAKEELUNEARA:555:510:244:89", }}
|
||||
["Alterac"] = {"CHILLWINDPOINT:308:250:660:261", "CORRAHNSDAGGER:173:277:411:391", "CRUSHRIDGEHOLD:269:230:339:167:283:0", "DALARAN:277:283:39:275", "DANDREDSFOLD:273:224:282:0", "GALLOWSCORNER:183:185:415:287", "GAVINSNAZE:140:161:235:486", "GROWLESSCAVE:175:156:327:382", "LORDAMEREINTERNMENTCAMP:315:255:55:413", "MISTYSHORE:204:268:207:139", "RUINSOFALTERAC:252:249:274:201", "RAVENHOLDTMANOR:217:165:737:452", "SOFERASNAZE:241:312:469:311", "STRAHNBRAD:355:289:555:110", "THEHEADLAND:142:187:325:481", "THEUPLANDS:219:183:470:84",},
|
||||
["AlteracValley"] = {"DUNBALDAR:254:228:356:18:3299:3318", "FROSTWOLFKEEP:220:278:408:382:3299:3318", "ICEBLOODGARRISON:286:288:343:179:3299:3318",},
|
||||
["Arathi"] = {"BOULDERFISTHALL:190:214:442:371", "BOULDERGOR:222:214:244:167", "CIRCLEOFEASTBINDING:140:213:568:125", "CIRCLEOFINNERBINDING:186:164:302:321", "CIRCLEOFOUTERBINDING:149:137:429:301", "CIRCLEOFWESTBINDING:156:189:152:71", "DABYRIESFARMSTEAD:160:171:482:197", "FALDIRSCOVE:247:197:180:428", "FARWELLSTEAD:112:128:267:31", "GOSHEKFARM:208:177:539:284", "HAMMERFALL:182:235:665:128:318:0", "NORTHFOLDMANOR:202:205:204:119", "REFUGEPOINT:157:189:380:214", "RUINSOFZULRASAZ:160:160:346:29", "STROMGARDEKEEP:220:213:122:295", "THANDOLSPAN:175:198:369:424", "THORADINSWALL:173:225:103:148", "WITHERBARKVILLAGE:197:194:566:339", "WILDTUSKVILLAGE:183:102:379:145",},
|
||||
["Ashenvale"] = {"ASTRANAAR:190:173:281:259", "BOUGHSHADOW:140:190:862:157", "FALLENSKYLAKE:219:190:555:433:432:0", "FELFIREHILL:241:244:720:349", "FIRESCARSHRINE:153:161:194:332", "FORESTSONG:162:142:817:232", "IRISLAKE:185:190:401:226", "LAKEFALATHIM:115:181:138:144", "MAESTRASPOST:198:290:216:46", "MYSTRALLAKE:262:228:363:354:420:2359", "NIGHTRUN:212:244:604:263:431:0", "RAYNEWOODRETREAT:165:235:527:243", "SATYRNAAR:163:172:702:230", "THEHOWLINGVALE:196:172:471:147", "THERUINSOFSTARDUST:141:135:268:382", "THESHRINEOFAESSINA:205:179:113:268", "THEZORAMSTRAND:228:235:26:33", "THISTLEFURVILLAGE:243:184:210:164", "WARSONGLUMBERCAMP:185:146:804:319",},
|
||||
["Aszhara"] = {"BAYOFSTORMS:257:285:486:208", "BITTERREACHES:231:173:651:46", "FORLORNRIDGE:210:247:198:373", "HALDARRENCAMPMENT:191:138:83:339", "JAGGEDREEF:556:153:373:9", "LAKEMENNAR:301:184:302:437", "LEGASHENCAMPMENT:224:131:484:49", "RAVENCRESTMONUMENT:227:115:559:506", "RUINSOFELDARATH:251:268:246:228", "SHADOWSONGSHRINE:213:170:43:428", "SOUTHRIDGEBEACH:355:207:397:360", "TEMPLEOFARKKORAN:177:187:689:160", "THALASSIANBASECAMP:224:144:507:126", "THERUINEDREACHES:384:116:403:549", "THESHATTEREDSTRAND:148:199:412:202", "TIMBERMAWHOLD:209:194:258:175", "TOWEROFELDARA:107:145:824:114", "URSOLAN:219:212:327:94", "VALORMOK:201:158:93:236",},
|
||||
["Badlands"] = {"AGMONDSEND:249:256:354:396", "ANGORFORTRESS:186:241:327:101", "APOCRYPHANSREST:251:195:20:315", "CAMPBOFF:195:207:506:361", "CAMPCAGG:247:205:15:432:347:0", "CAMPKOSH:214:211:556:56", "CRYSTALLINEPINNACLE:140:155:609:337", "DUSTWINDGULCH:229:190:506:216", "HAMMERTOESDIGSITE:185:177:455:131", "KARGATH:232:245:0:154", "LETHLORRAVINE:344:395:627:173", "MIRAGEFLATS:276:229:153:387", "REDBRANDSDIGSITE:325:155:496:454", "RUINSOFCORTHAN:210:200:203:124", "SCALEBANERIDGE:205:179:751:142", "THEDUSTBOWL:253:266:166:203", "THEMAKERSTERRACE:230:172:399:16:1517:0", "VALLEYOFFANGS:215:215:358:265",},
|
||||
["Balor"] = {"BILGERATCOMPOUND:174:141:323:76", "CROAKINGPLATEAU:371:154:397:201", "GRAHANESTATE:93:116:306:392", "GULLWINGWRECKAGE:110:105:221:34", "LANGSTONORCHARD:102:129:410:346", "RUINSOFBREEZEHAVEN:163:141:450:256", "SCURRYINGTHICKET:144:158:283:161", "SIOUTPOST:175:232:597:389", "SORROWMORELAKE:174:140:303:277", "STORMBREAKERPOINT:243:197:583:212", "STORMREAVERSPIRE:151:119:491:429", "STORMWROUGHTCASTLE:202:166:458:332", "TREACHEROUSCRAGS:243:171:381:457", "VANDERFARMSTEAD:146:140:330:372", "WINDROCKCLIFFS:192:279:256:303",},
|
||||
["Barrens"] = {"AGAMAGOR:183:173:348:242", "ANCHORSEDGE:118:83:690:300", "BAELMODAN:120:123:435:482", "BLACKTHORNRIDGE:140:123:340:465", "BOULDERLODEMINE:109:105:560:0", "BRAMBLESCAR:112:152:446:304", "CAMPTAURAJO:130:113:370:355", "DREADMISTPEAK:121:93:423:68", "FARWATCHPOST:85:152:572:58", "FIELDOFGIANTS:194:137:363:410", "GROLDOMFARM:112:107:499:67", "HONORSSTAND:128:128:306:130", "LUSHWATEROASIS:160:169:372:186", "NORTHWATCHFOLD:134:107:533:310", "RAPTORGROUNDS:101:99:512:299", "RATCHET:116:118:556:190", "RAZORFENDOWNS:137:106:414:562", "RAZORFENKRAUL:116:123:345:539", "THECROSSROADS:142:140:436:127", "THEDRYHILLS:185:134:324:36", "THEFORGOTTENPOOLS:104:116:391:120", "THEMERCHANTCOAST:80:123:584:249", "THEMORSHANRAMPART:118:91:418:0", "THESLUDGEFEN:153:113:463:0", "THESTAGNANTOASIS:147:126:484:211", "THORNHILL:128:120:502:123",},
|
||||
["BlackstoneIsland"] = {"BLACKASHCOALPITS:303:474:209:178", "BLACKASHMINE:251:204:397:222", "GAZZIKSWORKSHOP:329:247:439:403", "RUSTGATELUMBERYARD:217:245:551:241", "RUSTGATERIDGE:396:226:372:360", "THEWATERHOLE:386:239:382:43", "VENTURECOSLUMS:270:192:498:129",},
|
||||
["BlastedLands"] = {"ALTAROFSTORMS:169:142:318:141", "DARKPORTAL:254:208:460:265", "DREADMAULHOLD:200:171:351:21", "DREADMAULPOST:228:183:370:204", "GARRISONARMORY:155:192:480:15", "NETHERGARDEKEEP:169:178:567:35", "RISEOFTHEDEFILER:150:131:414:131", "SERPENTSCOIL:211:155:510:148", "THETAINTEDSCAR:370:438:220:184",},
|
||||
["BurningSteppes"] = {"ALTAROFSTORMS:215:210:41:114", "BLACKROCKMOUNTAIN:249:272:178:104", "BLACKROCKPASS:259:299:597:285", "BLACKROCKSTRONGHOLD:232:258:342:120", "DRACODAR:405:309:61:262", "DREADMAULROCK:203:214:717:174", "MORGANSVIGIL:287:265:715:311", "PILLAROFASH:313:261:382:289", "RUINSOFTHAURISSAN:258:275:521:105", "TERRORWINGPATH:271:296:730:52",},
|
||||
["Darkshore"] = {"AMETHARAN:163:178:340:323", "AUBERDINE:134:179:323:191", "BASHALARAN:153:171:379:199", "CLIFFSPRINGRIVER:205:161:391:112:445:0", "GROVEOFTHEANCIENTS:180:138:314:436", "REMTRAVELSEXCAVATION:148:164:245:504", "RUINSOFMATHYSTRA:176:205:519:3", "THEMASTERSGLAIVE:146:139:346:529", "TOWEROFALTHALAXX:142:159:484:110",},
|
||||
["DeadwindPass"] = {"DEADMANSCROSSING:368:353:257:81:2938:0", "KARAZHAN:287:234:277:342", "THEVICE:254:257:433:305",},
|
||||
["Desolace"] = {"ETHELRETHOR:189:237:318:68", "GELKISVILLAGE:181:235:300:433", "KODOGRAVEYARD:253:237:396:251", "KOLKARVILLAGE:206:208:615:221", "KORMEKSHUT:156:147:562:187", "MAGRAMVILLAGE:182:272:606:373", "MANNOROCCOVEN:270:271:408:385", "NIJELSPOINT:188:246:561:0", "RANAZJARISLE:88:89:248:11", "SARGERON:274:237:632:38", "SHADOWBREAKRAVINE:190:181:698:454", "SHADOWPREYVILLAGE:215:218:175:395", "TETHRISARAN:185:137:440:0", "THUNDERAXEFORTRESS:174:207:455:108", "VALLEYOFSPEARS:234:274:217:221",},
|
||||
["DunMorogh"] = {"AMBERSTILLRANCH:105:104:582:288", "ANVILMAR:209:159:167:414:77:0", "BREWNALLVILLAGE:94:102:263:256", "CHILLBREEZEVALLEY:160:113:281:304", "COLDRIDGEPASS:134:123:300:387", "FROSTMANEHOLD:112:118:225:291", "GNOMERAGON:158:176:178:164", "GOLBOLARQUARRY:144:149:619:301", "HELMSBEDLAKE:131:153:706:284:716:0", "ICEFLOWLAKE:117:167:286:173", "IRONFORGE:291:187:414:166", "IRONFORGEAIRFIELDS:213:233:582:100", "KHARANOS:175:186:397:296:189:0", "MISTYPINEREFUGE:117:155:507:224", "NORTHERNGATEOUTPOST:115:155:766:177", "RUGFORDSMOUNTAINREST:199:114:739:406", "SHIMMERRIDGE:115:173:355:169", "SOUTHERNGATEOUTPOST:113:106:800:284", "THEGRIZZLEDDEN:178:155:321:328", "THETUNDRIDHILLS:135:115:531:328",},
|
||||
["Durotar"] = {"DRYGULCHRAVINE:139:134:438:92:410:0", "ECHOISLES:175:236:561:432", "KOLKARCRAG:131:96:426:487", "ORGRIMMAR:427:150:251:0", "RAZORHILL:188:207:445:182", "RAZORMANEGROUNDS:196:202:318:204", "SENJINVILLAGE:133:167:485:398", "SKULLROCK:118:79:469:51", "SPARKWATERPORT:122:134:522:94", "THUNDERRIDGE:156:174:341:72", "TIRAGARDEKEEP:160:148:477:300", "VALLEYOFTRIALS:186:184:370:335",},
|
||||
["Duskwood"] = {"ADDLESSTEAD:255:231:67:353", "BRIGHTWOODGROVE:191:315:520:131", "DARKSHIRE:291:259:644:173:576:0", "MANORMISTMANTLE:174:150:668:134", "RAVENHILL:166:115:117:317", "RAVENHILLCEMETARY:323:276:99:165:243:0", "THEDARKENEDBANK:886:184:105:44", "THEHUSHEDBANK:136:306:29:143", "THEROTTINGORCHARD:231:210:549:380", "THEYORGENFARMSTEAD:211:235:403:393", "TRANQUILGARDENSCEMETARY:204:196:692:363", "TWILIGHTGROVE:327:384:314:99", "VULGOLOGREMOUND:231:266:259:365",},
|
||||
["Dustwallow"] = {"ALCAZISLAND:176:179:671:29", "BACKBAYWETLANDS:384:243:248:196", "BRACKENWALLVILLAGE:264:264:239:2:507:0", "THEDENOFFLAME:246:235:264:320", "THERAMOREISLE:214:187:542:232", "THEWYRMBOG:263:229:372:387", "WITCHHILL:230:311:431:1:518:0", "WESTHAVENHOLLOW:166:149:603:428",},
|
||||
["EasternPlaguelands"] = {"BLACKWOODLAKE:217:221:451:207", "CORINSCROSSING:153:146:544:373", "CROWNGUARDTOWER:193:152:299:408", "DARROWSHIRE:195:167:316:497", "EASTWALLTOWER:164:143:600:250", "FORLORNSUMMIT:192:185:64:225", "LAKEMERELDAR:240:164:543:469", "LIGHTSHOPECHAPEL:165:238:721:304", "NORTHDALE:172:191:628:135", "NORTHPASSTOWER:228:178:465:118", "PESTILENTSCAR:189:241:416:349", "PLAGUEWOOD:346:258:178:92", "QUELLITHIENLODGE:216:136:430:44", "STRATHOLME:227:189:202:15", "TERRORDALE:175:129:86:137", "THEFUNGALVALE:202:199:277:267", "THEINFECTISSCAR:183:262:628:298", "THEMARRISSTEAD:182:194:164:367", "THENOXIOUSGLADE:211:202:730:172", "THEUNDERCROFT:171:136:178:484", "THONDRORILRIVER:210:348:12:235", "TYRSHAND:201:159:724:475", "ZULMASHAR:189:152:621:36",},
|
||||
["Elwynn"] = {"BRACKWELLPUMPKINPATCH:222:223:592:431", "CRYSTALLAKE:196:192:435:345", "EASTVALELOGGINGCAMP:237:190:713:339", "FARGODEEPMINE:238:230:247:438:63:64", "FORESTSEDGE:242:335:132:333:120:0", "GOLDSHIRE:219:199:261:280", "JERODSLANDING:206:212:437:445", "NORTHSHIREVALLEY:237:244:390:154", "RIDGEPOINTTOWER:287:207:710:445", "STONECAIRNLAKE:278:230:601:203", "STORMWIND:452:392:21:3", "TOWEROFAZORA:232:226:561:303:54:0",},
|
||||
["Felwood"] = {"BLOODVENOMFALLS:225:132:297:269", "DEADWOODVILLAGE:162:129:415:539", "EMERALDSANCTUARY:171:150:411:436", "FELPAWVILLAGE:224:138:489:0:1769:0", "IRONTREEWOODS:200:203:426:60", "JADEFIREGLEN:151:145:339:469", "JADEFIRERUN:181:159:338:35", "JAEDENAR:236:122:275:333", "MORLOSARAN:129:151:503:515", "RUINSOFCONSTELLAS:224:142:303:387", "SHATTERSCARVALE:218:186:315:130", "TALONBRANCHGLADE:145:130:554:97",},
|
||||
["Feralas"] = {"CAMPMOJACHE:146:148:694:238", "CHIMAERAROOSTVALE:106:150:785:321", "DIREMAUL:214:180:461:208", "DREAMBOUGH:141:122:459:0", "FERALSCARVALE:103:104:491:335", "FRAYFEATHERHIGHLANDS:101:163:485:391", "GORDUNNIOUTPOST:154:128:697:148", "GRIMTOTEMCOMPOUND:110:186:630:172", "ISLEOFDREAD:205:285:197:381", "LOWERWILDS:214:152:756:204", "ONEIROS:101:103:499:74", "RUINSOFISILDIEN:179:241:547:326", "RUINSOFRAVENWIND:178:149:310:0", "SARDORISLE:167:168:216:241", "THEFORGOTTENCOAST:132:316:409:258", "THETWINCOLOSSALS:278:235:323:78", "THEWRITHINGDEEP:214:205:625:305:2519:0",},
|
||||
["Gillijim"] = {"DEEPTIDESANCTUM:204:117:199:512", "DISTILLERYISLE:90:69:234:216", "FAELONSFOLLY:108:103:331:304", "GILLIJIMSTRAND:108:324:641:160", "JADEMINE:141:149:500:256", "KALKORPOINT:123:115:421:210", "KAZONISLAND:194:113:432:51", "MAULOGGPOST:137:227:512:401", "MAULOGGREFUGE:231:132:615:465", "RUINSOFZULRAZAR:215:136:369:384", "SILVERCOAST:245:184:311:386", "SILVERSANDBAR:47:128:256:398", "SOUTHSEASANDBAR:125:172:178:63", "TANGLEWOOD:135:188:576:297", "ZULRAZAR:137:168:375:282",},
|
||||
["Gilneas"] = {"BLACKTHORNSCAMP:160:163:32:171", "BROLOKMOUND:140:120:467:349", "DAWNSTONEMINE:130:144:292:155", "FREYSHEARKEEP:72:70:624:405", "GILNEASCITY:295:242:89:105", "GLAYMORESTEAD:140:127:483:129", "GREYMANESWATCH:119:158:580:311", "HOLLOWWEBCEMETARY:180:167:215:395", "HOLLOWWEBWOODS:171:118:341:452", "NORTHGATETOWER:130:137:397:172", "OLDROCKPASS:155:165:290:37", "RAVENSHIRE:194:237:472:431", "RAVENWOODKEEP:253:174:496:494", "ROSEWICKPLANTATION:134:140:331:155", "RUINSOFGREYSHIRE:192:144:230:260", "SHADEMORETAVERN:117:120:279:336", "SOUTHMIREORCHARD:202:133:302:354", "STILLWARDCHURCH:213:166:471:220", "THEDRYROCKMINE:129:127:145:262", "THEDRYROCKPIT:230:217:69:295", "THEGREYMANEWALL:131:173:412:48", "THEOVERGROWNACRE:134:154:390:269",},
|
||||
["GrimReaches"] = {"BAGGOTHSRAMPART:112:113:399:238", "BARLEYCRESTFARMSTEAD:116:88:499:222", "BRANGARSFOLLY:108:123:568:33", "DUNKITHAS:137:95:470:329", "EASTRIDGEOUTPOST:166:107:374:165", "GETHKAR:118:124:444:84", "GROLDANSEXCAVATION:125:117:567:231", "LAKEKITHAS:217:150:481:270", "RUINSOFSTOLGAZKEEP:134:146:366:53", "SALGAZMINES:150:119:535:380", "SHATTERBLADEPOST:186:130:512:126", "SLATEBEARDSFORGE:136:99:457:404", "THEGRIMHOLLOW:288:200:396:463", "THEHIGHPASS:97:141:409:315", "ZARMGETHPOINT:143:76:405:16", "ZARMGETHSTRONGHOLD:120:150:487:17",},
|
||||
["Hilsbrad"] = {"AZURELOADMINE:146:174:188:288", "DARROWHILL:173:132:426:164", "DUNGAROK:225:257:644:305", "DURNHOLDEKEEP:367:347:614:82", "EASTERNSTRAND:208:301:537:350", "HILLSBRADFIELDS:282:257:211:166", "NETHANDERSTEAD:190:215:554:249", "PURGATIONISLE:120:94:111:485", "SOUTHPOINTTOWER:271:207:11:203", "SOUTHSHORE:219:245:423:213", "TARRENMILL:195:291:524:9", "WESTERNSTRAND:272:139:215:377",},
|
||||
["Hinterlands"] = {"AERIEPEAK:240:195:20:250", "AGOLWATHA:188:180:382:173", "HIRIWATHA:201:118:188:314", "JINTHAALOR:223:277:514:338", "PLAGUEMISTRAVINE:124:203:170:158", "QUELDANILLODGE:168:181:248:194", "SERADANE:260:263:519:25", "SHADRAALOR:181:170:247:394", "SHAOLWATHA:265:190:580:247", "SKULKROCK:148:133:520:241", "THEALTAROFZUL:186:153:382:371", "THECREEPINGRUIN:168:157:417:268", "THEOVERLOOKCLIFFS:153:299:702:309", "THERASAZTRAILS:118:133:210:381", "VALORWINDLAKE:153:160:329:309",},
|
||||
["Hyjal"] = {"BARKSKINPLATEAU:207:167:390:297", "BARKSKINVILLAGE:502:293:417:346", "BLEAKHOLLOWCRATER:297:335:401:20", "CIRCLEOFPOWER:277:331:203:63", "DARKHOLLOWPASS:214:237:342:389", "NORDANAAR:139:146:778:118", "NORDRASSILGLADE:418:408:578:0", "RUINSOFTELENNAS:165:193:141:236", "THEEMERALDGATEWAY:309:244:109:353", "ZULHATHA:191:210:3:194",},
|
||||
["Icepoint"] = {"KANEQNUUN:512:430:237:129",},
|
||||
["Lapidis"] = {"BRIGHTCOAST:298:213:237:246", "CAELANSREST:147:111:517:230", "CROWNISLAND:140:95:512:33", "GORDOSHHEIGHTS:253:243:256:89", "HAZURRIGLADE:87:82:486:306", "SHANKSREEF:207:90:446:109", "THEROCK:74:72:687:149", "TOWEROFLAPIDIS:203:118:487:175", "WALLOWINGCOAST:240:184:505:326", "ZULHAZU:227:178:348:407",},
|
||||
["LochModan"] = {"GRIZZLEPAWRIDGE:262:343:326:325", "IRONBANDSEXCAVATIONSITE:321:294:491:276", "MOGROSHSTRONGHOLD:287:265:558:61", "NORTHGATEPASS:195:273:143:24:925:0", "SILVERSTREAMMINE:201:243:247:25", "STONESPLINTERVALLEY:226:255:230:363", "STONEWROUGHTDAM:260:149:354:23", "THEFARSTRIDERLODGE:162:182:741:298", "THELOCH:288:380:367:99", "THELSAMAR:243:205:225:214", "VALLEYOFKINGS:166:224:123:382",},
|
||||
["Moonglade"] = {"LAKEELUNEARA:530:484:256:101:2361:0",},
|
||||
["Moonwhisper"] = {"ANSHESRESPITE:170:120:398:81", "ANCESTRALGROUNDS:164:82:295:88", "BLACKROOTHOLD:162:137:495:465", "BLACKROOTVILLAGE:224:143:411:525", "FOULHEARTSANCTUM:157:149:496:232", "GROVEOFTHEMOON:152:146:464:347", "LUNARCLAWDEN:84:60:674:376", "MARASETHIL:96:94:640:417", "MOONHOOFRETREAT:172:144:419:167", "MOONHOOFVILLAGE:163:157:570:188", "MOONSILKHOLLOW:125:114:577:458", "MOROGAIVILLAGE:133:127:571:372", "NARVALISPOINT:162:139:503:118", "RUINSOFNENDIS:183:130:584:275", "STARSHARDCRADLE:122:109:334:121", "TYRANDAS:158:169:580:61", "VYSNAGOSASREST:163:102:420:8",},
|
||||
["Mulgore"] = {"BAELDUNDIGSITE:175:151:269:227", "BLOODHOOFVILLAGE:236:182:378:311", "PALEMANEROCK:102:183:315:317", "RAVAGEDCARAVAN:110:100:482:269", "REDCLOUDMESA:436:231:285:437:221:0", "REDROCKS:154:138:522:92", "SUNTAILPASS:129:116:533:18", "THEGOLDENPLAINS:184:217:441:91", "THEROLLINGPLAINS:231:166:536:369", "THEVENTURECOMINE:187:204:549:251", "THUNDERBLUFF:254:217:264:70", "THUNDERHORNWATERWELL:118:137:384:248", "WILDMANEWATERWELL:152:111:299:10", "WINDFURYRIDGE:182:119:405:2", "WINTERHOOFWATERWELL:144:107:470:379",},
|
||||
["Northwind"] = {"ABBEYGARDENS:250:224:512:33", "AMBERSHIRE:234:215:334:278", "AMBERWOODKEEP:243:205:187:308", "BLACKROCKBREACH:255:201:721:222", "BRISTLEWHISKERCAVERN:197:185:568:232", "CINDERFALLPASS:229:229:733:348", "CRAWFORDWINERY:160:222:513:285", "CRYSTALFALLS:320:205:627:464", "GRIMMENLAKE:218:210:550:352", "MERCHANTSHIGHROAD:353:249:256:420", "NORTHRIDGEPOINT:298:314:349:31", "NORTHWINDLOGGINGCAMP:224:185:258:171", "RUINSOFBIRKHAVEN:180:208:645:116", "SHERWOODQUARRY:293:287:702:1", "STILLHEARTPORT:174:155:116:217", "TOWEROFMAGILOU:181:223:189:169", "WITCHCOVEN:147:162:257:81",},
|
||||
["Redridge"] = {"ALTHERSMILL:222:260:407:134", "GALARDELLVALLEY:234:240:661:168:96:0", "LAKEEVERSTILL:522:260:140:249", "LAKERIDGEHIGHWAY:411:274:196:341", "LAKESHIRE:325:179:92:204", "REDRIDGECANYONS:345:232:132:79:98:0", "RENDERSCAMP:264:248:284:4:998:0", "RENDERSVALLEY:453:248:491:365", "REDWALLKEEP:162:110:830:466", "STONEWATCH:243:289:507:221:999:0", "STONEWATCHFALLS:308:200:601:325", "THREECORNERS:360:337:0:288",},
|
||||
["SearingGorge"] = {"BLACKCHARCAVE:264:224:84:371", "DUSTFIREVALLEY:446:355:428:11", "FIREWATCHRIDGE:385:413:95:39", "GRIMSILTDIGSITE:292:210:501:306", "TANNERCAMP:292:215:552:413", "THECAULDRON:414:310:257:178", "THESEAOFCINDERS:345:273:256:395",},
|
||||
["Silithus"] = {"HIVEASHI:431:276:305:34:3426:0", "HIVEREGAL:469:335:262:333:3427:0", "HIVEZORA:343:424:117:188", "SOUTHWINDVILLAGE:346:348:519:83:3077:0", "THECRYSTALVALE:285:274:121:31", "THESCARABWALL:271:145:125:523:2741:0", "TWILIGHTBASECAMP:297:238:355:206:3097:2739",},
|
||||
["Silverpine"] = {"AMBERMILL:204:210:512:279", "BERENSPERIL:206:146:508:433", "DEEPELEMMINE:127:143:484:274", "FENRISISLE:234:187:593:88:232:0", "MALDENSORCHARD:228:138:479:9:239:0", "NORTHTIDESHOLLOW:152:104:337:141", "OLSENSFARTHING:128:152:401:267", "PYREWOODVILLAGE:122:108:405:456", "SHADOWFANGKEEP:185:131:380:373", "THEDEADFIELD:141:134:419:82", "THEDECREPITFERRY:144:156:475:160", "THEGREYMANEWALL:175:185:398:465", "THESEPULCHER:193:135:360:184", "THESHININGSTRAND:225:192:475:27:227:0", "THESKITTERINGDARK:160:165:302:18",},
|
||||
["StonetalonMountains"] = {"AMANIALOR:504:252:8:5", "BAELHARDUL:357:252:512:257", "BLACKSANDOILFIELDS:504:504:8:5", "BOULDERSLIDERAVINE:90:76:586:547", "BRAMBLETHORNPASS:382:359:512:257", "BROKENCLIFFMINE:252:504:260:5", "CAMPAPARAJE:222:100:670:552", "GRIMTOTEMPOST:146:77:675:519", "MALAKAJIN:137:86:662:562", "MIRKFALLONLAKE:504:504:260:5", "POWDERTOWN:252:252:260:257", "SISHIRCANYON:252:264:512:257", "STONETALONPEAK:258:252:260:5", "SUNROCKRETREAT:504:252:260:257", "THECHARREDVALE:252:308:260:257", "THEEARTHENRING:504:252:260:257", "VENTURECOMPANYCAMP:252:504:260:5", "WEBWINDERPATH:256:324:512:256", "WINDSHEARCRAG:256:256:512:256:1277:0",},
|
||||
["Stranglethorn"] = {"BALALRUINS:83:65:245:101", "BALIAMAHRUINS:100:133:376:133", "BLOODSAILCOMPOUND:154:163:201:291", "BOOTYBAY:137:125:207:435:312:0", "CRYSTALVEINMINE:111:114:350:280", "GROMGOLBASECAMP:101:98:265:137", "JAGUEROISLE:132:107:319:498", "KALAIRUINS:86:89:303:93", "KURZENSCOMPOUND:141:139:394:5", "LAKENAZFERITI:124:120:332:60", "MISTVALEVALLEY:120:116:283:372", "MIZJAHRUINS:93:102:315:133", "MOSHOGGOGREMOUND:123:168:435:96", "NEKMANIWELLSPRING:80:102:215:365", "NESINGWARYSEXPEDITION:128:98:274:29", "REBELCAMP:164:86:289:0", "RUINSOFABORAZ:87:87:356:340", "RUINSOFJUBUWAL:100:105:312:304", "RUINSOFZULKUNDA:113:132:201:8", "RUINSOFZULMAMWE:162:122:397:213", "THEARENA:186:176:241:194", "THEVILEREEF:177:160:159:98", "VENTURECOBASECAMP:96:120:391:66", "WILDSHORE:151:175:237:431", "ZIATAJAIRUINS:127:120:364:231", "ZULGURUB:230:213:489:12", "ZUULDAIARUINS:103:105:160:47",},
|
||||
["SwampOfSorrows"] = {"FALLOWSANCTUARY:348:292:501:0", "ITHARIUSSCAVE:230:232:0:270", "MISTYREEDSTRAND:250:664:752:0:1978:0", "MISTYVALLEY:211:179:29:148", "POOLOFTEARS:280:256:576:227", "SORROWMURK:199:351:734:128", "SPLINTERSPEARJUNCTION:258:222:138:245", "STAGALBOG:328:238:561:386", "STONARD:343:303:287:244", "SORROWGUARDKEEP:220:174:0:266", "THEHARBORAGE:216:187:182:157", "THESHIFTINGMIRE:303:221:294:118",},
|
||||
["Tanaris"] = {"ABYSSALSANDS:194:159:376:207", "BROKENPILLAR:93:165:481:243", "CAVERNSOFTIME:139:132:567:262", "DUNEMAULCOMPOUND:186:127:337:298", "EASTMOONRUINS:143:130:405:355", "GADGETZAN:156:149:430:102", "LANDSENDBEACH:184:148:456:514", "LOSTRIGGERCOVE:141:173:635:230", "NOONSHADERUINS:129:191:530:43", "SANDSORROWWATCH:175:157:311:111", "SOUTHBREAKSHORE:192:151:510:304", "SOUTHMOONRUINS:185:196:324:366", "STEAMWHEEDLEPORT:136:129:599:86", "SLICKWICKOILRIG:237:181:129:436", "THEGAPINGCHASM:198:188:458:380", "THENOXIOUSLAIR:155:180:265:209", "THISTLESHRUBVALLEY:166:234:217:294", "VALLEYOFTHEWATCHERS:125:115:311:470", "WATERSPRINGFIELD:145:164:516:177", "ZALASHJISDEN:90:127:619:157", "ZULFARRAK:191:166:265:5",},
|
||||
["TelAbim"] = {"BIXXLESSTOREHOUSE:300:127:368:178", "HIGHVALERISE:191:187:468:248", "TAZZOSSHACK:229:232:453:391", "TELCOBASECAMP:184:183:342:440", "THEDERELICTCAMP:165:205:364:273", "THEJAGGEDISLES:313:256:385:16",},
|
||||
["Teldrassil"] = {"BANETHILHOLLOW:136:191:392:289", "DARNASSUS:294:252:110:251", "DOLANAAR:170:119:469:327", "GNARLPINEHOLD:230:158:316:417", "LAKEALAMETH:237:163:445:388", "POOLSOFARLITHRIEN:125:180:337:314", "RUTTHERANVILLAGE:110:91:504:548", "SHADOWGLEN:198:201:504:164", "STARBREEZEVILLAGE:153:175:588:303", "THEORACLEGLADE:150:223:279:135", "URSANHEIGHTS:229:154:243:423", "WELLSPRINGLAKE:166:245:383:98:265:0",},
|
||||
["ThalassianHighlands"] = {"ALAHTHALAS:470:276:429:38", "ANASTERIANPARK:229:219:385:256", "BRINTHILIEN:180:211:395:450", "FELSTRIDERRETREAT:201:207:165:428", "ISLEOFETERNALAUTUMN:204:167:236:117", "RUINSOFNASHALARAN:249:266:36:151", "SILVERSUNMINE:208:189:288:373", "THEFARSTRIDE:230:199:212:255", "THELASTRUNESTONE:179:203:507:379",},
|
||||
["ThousandNeedles"] = {"CAMPETHOK:289:300:7:1:2237:0", "DARKCLOUDPINNACLE:189:182:267:138", "FREEWINDPOST:193:173:366:273", "HIGHPERCH:178:174:39:164", "SPLITHOOFCRAG:193:175:400:203", "THEGREATLIFT:191:163:213:78", "THESCREECHINGCANYON:240:231:187:206", "THESHIMMERINGFLATS:312:355:612:308", "WINDBREAKCANYON:225:213:501:249",},
|
||||
["Tirisfal"] = {"AGAMANDMILLS:244:191:342:148", "BALNIRFARMSTEAD:179:153:639:335", "BRIGHTWATERLAKE:176:280:598:143", "BRILL:121:144:540:305", "BULWARK:184:169:712:374", "COLDHEARTHMANOR:136:125:479:328", "CRUSADEROUTPOST:154:121:701:293", "DEATHKNELL:210:186:236:337", "GARRENSHAUNT:148:199:507:154", "GLENSHIRE:163:161:157:393:5033:5039", "MONASTARY:175:157:762:139:161:0", "NIGHTMAREVALE:209:151:370:355", "RUINSOFLORDAERON:299:216:469:370", "SCARLETWATCHPOST:141:223:701:113", "SOLLIDENFARMSTEAD:225:138:247:259", "STEEPCLIFFPORT:121:120:5:350", "STILLWATERPOND:168:123:401:279", "THECORINTHFARMSTEAD:116:152:73:402:5041:0", "THEWHISPERINGFOREST:243:175:86:263:5035:0", "VENOMWEBVALE:199:183:776:225",},
|
||||
["UngoroCrater"] = {"FIREPLUMERIDGE:277:258:377:185", "GOLAKKAHOTSPRINGS:299:334:133:158", "IRONSTONEPLATEAU:276:281:588:69", "LAKKARITARPITS:553:255:170:13", "TERRORRUN:333:275:166:375", "THEMARSHLANDS:295:341:568:247", "THESLITHERINGSCAR:326:260:378:403",},
|
||||
["WesternPlaguelands"] = {"CAERDARROW:158:150:608:421", "DALSONSTEARS:209:138:388:271", "DARROWMERELAKE:359:261:510:348", "FELSTONEFIELD:149:119:306:315", "GAHRRONSWITHERING:165:191:527:257", "HEARTHGLEN:331:280:312:20", "NORTHRIDGELUMBERCAMP:205:168:390:170", "RUINSOFANDORHOL:275:219:265:360", "SORROWHILL:290:201:360:467", "THEBULWARK:216:172:143:300", "THEWEEPINGCAVE:148:192:572:203", "THEWRITHINGHAUNT:159:177:457:329", "THONDRORILRIVER:193:326:597:94",},
|
||||
["Westfall"] = {"ALEXSTONFARMSTEAD:275:182:220:274", "DEMONTSPLACE:166:155:226:391", "FURLBROWSPUMPKINFARM:186:191:399:24", "GOLDCOASTQUARRY:194:241:234:113", "JANGOLODEMINE:185:187:323:44", "MOONBROOK:208:174:317:349:919:0", "SALDEANSFARM:191:184:478:119", "SENTINELHILL:161:210:461:259", "THEDAGGERHILLS:235:149:349:430", "THEDEADACRE:164:213:542:267", "THEDUSTPLAINS:260:204:538:393", "THEJANSENSTEAD:143:183:498:6", "THEMOLSENFARM:199:180:342:161", "WESTFALLLIGHTHOUSE:306:161:171:482",},
|
||||
["Wetlands"] = {"ANGERFANGENCAMPMENT:196:150:364:241", "BLACKCHANNELMARSH:213:173:95:260", "BLUEGILLMARSH:195:165:111:157", "DIREFORGEHILL:233:225:515:128", "DUNMODR:173:147:419:42", "DUNAGRATH:222:190:97:335", "GRIMBATOL:317:331:623:242:1037:0", "HAWKSVIGIL:170:162:264:353", "IRONBEARDSTOMB:165:156:368:135", "MENETHILHARBOR:156:116:27:321", "MOSSHIDEFEN:215:224:539:277", "RAPTORRIDGE:159:115:640:191", "SALTSPRAYGLEN:170:214:254:58", "SUNDOWNMARSH:265:212:113:100", "THEGREENBELT:153:209:473:143", "THELGANROCK:207:165:478:383:836:0", "WHELGARSEXCAVATIONSITE:172:156:264:224",},
|
||||
["Winterspring"] = {"DARKWHISPERGORGE:247:191:452:447", "EVERLOOK:151:189:516:114", "FROSTFIREHOTSPRINGS:226:124:231:180", "FROSTSABERROCK:240:172:375:11", "FROSTWHISPERGORGE:184:144:531:383", "ICETHISTLEHILLS:116:155:617:247", "LAKEKELTHERIL:203:176:409:205", "MAZTHORIL:174:169:499:265", "OWLWINGTHICKET:149:127:600:348", "STARFALLVILLAGE:174:148:399:143", "THEHIDDENGROVE:162:174:562:33", "TIMBERMAWPOST:223:112:235:248", "WINTERFALLVILLAGE:133:120:622:163",},
|
||||
}
|
||||
|
||||
+81
-108
@@ -1,5 +1,4 @@
|
||||
pfUI:RegisterModule("mapreveal", "vanilla:tbc", function ()
|
||||
-- do not load if other map addon is loaded
|
||||
if Cartographer then return end
|
||||
if METAMAP_TITLE then return end
|
||||
|
||||
@@ -31,22 +30,6 @@ pfUI:RegisterModule("mapreveal", "vanilla:tbc", function ()
|
||||
pfUI.mapreveal:UpdateConfig()
|
||||
end)
|
||||
|
||||
local errata = {
|
||||
["Interface\\WorldMap\\Tirisfal\\BRIGHTWATERLAKE"] = {offsetX={587,584}},
|
||||
["Interface\\WorldMap\\Silverpine\\BERENSPERIL"] = {offsetY={417,415}},
|
||||
}
|
||||
|
||||
local function create_hash(prefix, textureName, textureWidth, textureHeight, offsetX, offsetY, mapPointX, mapPointY)
|
||||
local hash = string.format(":%s:%s:%s:%s",textureWidth,textureHeight,offsetX,offsetY)
|
||||
if (mapPointX ~= 0 or mapPointY ~= 0) then
|
||||
hash = string.format("%s:%s:%s",hash,tostring(mapPointX),tostring(mapPointY))
|
||||
end
|
||||
if string.sub(textureName, 0, string.len(prefix)) == prefix then
|
||||
return string.format("%s%s",string.sub(textureName, string.len(prefix) + 1),hash)
|
||||
end
|
||||
return string.format("|%s",hash)
|
||||
end
|
||||
|
||||
local function unpack_hash(prefix, hash)
|
||||
local _, stored_prefix, textureName, textureWidth, textureHeight, offsetX, offsetY, mapPointX, mapPointY, name
|
||||
_, _, stored_prefix, textureName, textureWidth, textureHeight, offsetX, offsetY = string.find(hash, "^([|]?)([^:]+):([^:]+):([^:]+):([^:]+):([^:]+)")
|
||||
@@ -63,14 +46,23 @@ pfUI:RegisterModule("mapreveal", "vanilla:tbc", function ()
|
||||
name = textureName
|
||||
textureName = string.format("%s%s",prefix,textureName)
|
||||
end
|
||||
-- coerce to number by addition; cheaper than tonumber()
|
||||
return textureName, textureWidth + 0, textureHeight + 0, offsetX + 0, offsetY + 0, mapPointX + 0, mapPointY + 0, name
|
||||
end
|
||||
|
||||
local explores = {}
|
||||
local explorecaches = {}
|
||||
local alreadyknown = {}
|
||||
local BASE_WORLDMAP_OVERLAYS = nil
|
||||
|
||||
-- Own texture pool - separate from Blizzard's WorldMapOverlay textures
|
||||
local pfOverlays = {}
|
||||
local pfOverlayMax = 0
|
||||
|
||||
local function pfGetOverlay(idx)
|
||||
if not pfOverlays[idx] then
|
||||
pfOverlays[idx] = WorldMapDetailFrame:CreateTexture("pfReveal"..idx, "ARTWORK")
|
||||
end
|
||||
return pfOverlays[idx]
|
||||
end
|
||||
|
||||
local exploreEnter = function()
|
||||
WorldMapTooltip:ClearLines()
|
||||
@@ -81,7 +73,6 @@ pfUI:RegisterModule("mapreveal", "vanilla:tbc", function ()
|
||||
|
||||
if not explorecaches[this.name] then return end
|
||||
if C.appearance.worldmap.mapreveal == "0" then return end
|
||||
local r,g,b,a = GetStringColor(C.appearance.worldmap.mapreveal_color)
|
||||
for texture in pairs(explorecaches[this.name]) do
|
||||
texture:SetVertexColor(1,1,1,1)
|
||||
end
|
||||
@@ -97,51 +88,52 @@ pfUI:RegisterModule("mapreveal", "vanilla:tbc", function ()
|
||||
end
|
||||
end
|
||||
|
||||
local function pfWorldMapFrame_Update()
|
||||
-- clear stale texture references to prevent memory leak / Error 132
|
||||
for k in pairs(explorecaches) do
|
||||
explorecaches[k] = nil
|
||||
end
|
||||
-- overlay data with lazy init
|
||||
local overlayData = setmetatable(pfMapOverlayData, {__index = function(t,k)
|
||||
local v = {}
|
||||
rawset(t,k,v)
|
||||
return v
|
||||
end})
|
||||
|
||||
-- create metatable if not yet created
|
||||
this.overlayData = this.overlayData or setmetatable(pfMapOverlayData, {__index = function(t,k)
|
||||
local v = {}
|
||||
rawset(t,k,v)
|
||||
return v
|
||||
end})
|
||||
local function pfWorldMapFrame_Update()
|
||||
-- clear stale caches
|
||||
for k in pairs(explorecaches) do explorecaches[k] = nil end
|
||||
|
||||
-- hide all our textures from last frame
|
||||
for i = 1, pfOverlayMax do
|
||||
pfOverlays[i]:Hide()
|
||||
end
|
||||
|
||||
local r,g,b,a = GetStringColor(C.appearance.worldmap.mapreveal_color)
|
||||
local mapFileName, textureHeight, textureWidth = GetMapInfo()
|
||||
local mapFileName = GetMapInfo()
|
||||
if not mapFileName then mapFileName = "World" end
|
||||
|
||||
if (not mapFileName) then mapFileName = "World" end
|
||||
|
||||
local prefix = string.format("Interface\\WorldMap\\%s\\",mapFileName)
|
||||
local prefix = string.format("Interface\\WorldMap\\%s\\", mapFileName)
|
||||
local numOverlays = GetNumMapOverlays()
|
||||
|
||||
-- reuse upvalue table to avoid GC pressure
|
||||
-- collect explored overlays
|
||||
for k in pairs(alreadyknown) do alreadyknown[k] = nil end
|
||||
for i=1, numOverlays do
|
||||
local textureName, textureWidth, textureHeight, offsetX, offsetY, mapPointX, mapPointY = GetMapOverlayInfo(i)
|
||||
local overlayHash = create_hash(textureName, textureWidth, textureHeight, offsetX, offsetY, mapPointX, mapPointY)
|
||||
alreadyknown[textureName] = overlayHash
|
||||
for i = 1, numOverlays do
|
||||
local texName = GetMapOverlayInfo(i)
|
||||
if texName then alreadyknown[texName] = true end
|
||||
end
|
||||
|
||||
-- hide all exploration points
|
||||
for k, frame in pairs(explores) do
|
||||
frame:Hide()
|
||||
end
|
||||
-- hide explore icons
|
||||
for _, frame in pairs(explores) do frame:Hide() end
|
||||
|
||||
local zoneData = this.overlayData[mapFileName]
|
||||
local zoneData = overlayData[mapFileName]
|
||||
local textureCount = 0
|
||||
local texturePixelWidth, textureFileWidth, texturePixelHeight, textureFileHeight
|
||||
|
||||
for i, hash in ipairs(zoneData) do
|
||||
local textureName, textureWidth, textureHeight, offsetX, offsetY, mapPointX, mapPointY, name = unpack_hash(prefix, hash)
|
||||
if not textureName then break end
|
||||
|
||||
-- explore magnifying glass icon
|
||||
explores[i] = explores[i] or CreateFrame("Frame", nil, WorldMapDetailFrame)
|
||||
local explore = explores[i]
|
||||
explore:SetWidth(16)
|
||||
explore:SetHeight(16)
|
||||
explore:SetPoint("TOPLEFT", "WorldMapDetailFrame", "TOPLEFT", offsetX+textureWidth/2, -offsetY-textureHeight/2)
|
||||
explore:SetPoint("TOPLEFT", "WorldMapDetailFrame", "TOPLEFT", offsetX + textureWidth/2, -offsetY - textureHeight/2)
|
||||
explore:SetScript("OnEnter", exploreEnter)
|
||||
explore:SetScript("OnLeave", exploreLeave)
|
||||
explore:EnableMouse(true)
|
||||
@@ -159,84 +151,65 @@ pfUI:RegisterModule("mapreveal", "vanilla:tbc", function ()
|
||||
explore:Hide()
|
||||
end
|
||||
|
||||
-- render overlay texture tiles
|
||||
if C.appearance.worldmap.mapreveal == "1" or alreadyknown[textureName] then
|
||||
if errata[textureName] and errata[textureName].offsetX and errata[textureName].offsetX[1] == offsetX then
|
||||
offsetX = errata[textureName].offsetX[2]
|
||||
end
|
||||
if errata[textureName] and errata[textureName].offsetY and errata[textureName].offsetY[1] == offsetY then
|
||||
offsetY = errata[textureName].offsetY[2]
|
||||
end
|
||||
local numTexturesHorz = math.ceil(textureWidth / 256)
|
||||
local numTexturesVert = math.ceil(textureHeight / 256)
|
||||
local neededTextures = textureCount + (numTexturesHorz * numTexturesVert)
|
||||
local texture, texturePixelWidth, textureFileWidth, texturePixelHeight, textureFileHeight
|
||||
if (neededTextures > NUM_WORLDMAP_OVERLAYS) then
|
||||
for j = NUM_WORLDMAP_OVERLAYS + 1, neededTextures do
|
||||
_G.WorldMapDetailFrame:CreateTexture(string.format("%s%s","WorldMapOverlay",j), "ARTWORK")
|
||||
end
|
||||
NUM_WORLDMAP_OVERLAYS = neededTextures
|
||||
end
|
||||
for j = 1, numTexturesVert do
|
||||
if (j < numTexturesVert) then
|
||||
texturePixelHeight,textureFileHeight = 256,256
|
||||
local numH = math.ceil(textureWidth / 256)
|
||||
local numV = math.ceil(textureHeight / 256)
|
||||
local texPixW, texFileW, texPixH, texFileH
|
||||
|
||||
for j = 1, numV do
|
||||
if j < numV then
|
||||
texPixH = 256
|
||||
texFileH = 256
|
||||
else
|
||||
texturePixelHeight = mod(textureHeight, 256)
|
||||
if (texturePixelHeight == 0) then texturePixelHeight = 256 end
|
||||
textureFileHeight = 16
|
||||
while (textureFileHeight < texturePixelHeight) do
|
||||
textureFileHeight = textureFileHeight * 2
|
||||
end
|
||||
texPixH = mod(textureHeight, 256)
|
||||
if texPixH == 0 then texPixH = 256 end
|
||||
texFileH = 16
|
||||
while texFileH < texPixH do texFileH = texFileH * 2 end
|
||||
end
|
||||
for k = 1, numTexturesHorz do
|
||||
if (textureCount > NUM_WORLDMAP_OVERLAYS) then
|
||||
return
|
||||
end
|
||||
texture = _G[string.format("%s%s","WorldMapOverlay",(textureCount + 1))]
|
||||
if (k < numTexturesHorz) then
|
||||
texturePixelWidth, textureFileWidth = 256,256
|
||||
|
||||
for k = 1, numH do
|
||||
textureCount = textureCount + 1
|
||||
local tex = pfGetOverlay(textureCount)
|
||||
|
||||
if k < numH then
|
||||
texPixW = 256
|
||||
texFileW = 256
|
||||
else
|
||||
texturePixelWidth = mod(textureWidth, 256)
|
||||
if (texturePixelWidth == 0) then texturePixelWidth = 256 end
|
||||
textureFileWidth = 16
|
||||
while (textureFileWidth < texturePixelWidth) do
|
||||
textureFileWidth = textureFileWidth * 2
|
||||
end
|
||||
texPixW = mod(textureWidth, 256)
|
||||
if texPixW == 0 then texPixW = 256 end
|
||||
texFileW = 16
|
||||
while texFileW < texPixW do texFileW = texFileW * 2 end
|
||||
end
|
||||
texture:SetWidth(texturePixelWidth)
|
||||
texture:SetHeight(texturePixelHeight)
|
||||
texture:SetTexCoord(0, texturePixelWidth / textureFileWidth, 0, texturePixelHeight / textureFileHeight)
|
||||
texture:ClearAllPoints()
|
||||
texture:SetPoint("TOPLEFT", "WorldMapDetailFrame", "TOPLEFT", offsetX + (256 *(k - 1)), -(offsetY +(256 *(j - 1))))
|
||||
texture:SetTexture(string.format("%s%s",textureName,(((j - 1) * numTexturesHorz) + k)))
|
||||
|
||||
tex:SetWidth(texPixW)
|
||||
tex:SetHeight(texPixH)
|
||||
tex:SetTexCoord(0, texPixW/texFileW, 0, texPixH/texFileH)
|
||||
tex:ClearAllPoints()
|
||||
tex:SetPoint("TOPLEFT", "WorldMapDetailFrame", "TOPLEFT", offsetX + 256*(k-1), -(offsetY + 256*(j-1)))
|
||||
tex:SetTexture(string.format("%s%s", textureName, ((j-1)*numH + k)))
|
||||
|
||||
explorecaches[name] = explorecaches[name] or {}
|
||||
explorecaches[name][texture] = true
|
||||
explorecaches[name][tex] = true
|
||||
|
||||
if not alreadyknown[textureName] then
|
||||
texture:SetVertexColor(r,g,b,a)
|
||||
tex:SetVertexColor(r,g,b,a)
|
||||
else
|
||||
texture:SetVertexColor(1,1,1,1)
|
||||
tex:SetVertexColor(1,1,1,1)
|
||||
end
|
||||
texture:Show()
|
||||
textureCount = textureCount + 1
|
||||
tex:Show()
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
pfOverlayMax = math.max(pfOverlayMax, textureCount)
|
||||
end
|
||||
|
||||
-- hook map reveal functions before and after the actual call
|
||||
local pfHookWorldMapFrame_Update = _G.WorldMapFrame_Update
|
||||
_G.WorldMapFrame_Update = function(self)
|
||||
-- hide all previously set textures
|
||||
for i = 1, NUM_WORLDMAP_OVERLAYS do
|
||||
_G[string.format("%s%s","WorldMapOverlay",i)]:Hide()
|
||||
end
|
||||
|
||||
-- let the game put its explored tiles on the map
|
||||
pfHookWorldMapFrame_Update(self)
|
||||
|
||||
-- let the addon extend it with its own data
|
||||
-- hook WorldMapFrame_Update
|
||||
local origUpdate = _G.WorldMapFrame_Update
|
||||
_G.WorldMapFrame_Update = function(...)
|
||||
origUpdate(unpack(arg))
|
||||
pfWorldMapFrame_Update()
|
||||
end
|
||||
end)
|
||||
|
||||
Reference in New Issue
Block a user