Re-enabled the maelstrom paths. Added 'meta' sizes for new zones. Converted some of the stored data to output strings, rather than convert numbers to sequences of bytes.
Cette révision appartient à :
Parent
1127cbdd27
révision
db1b0fee04
|
@ -11,18 +11,6 @@ local function signed(c)
|
|||
end
|
||||
|
||||
local function float(c)
|
||||
--[[
|
||||
local orig_c = c
|
||||
if c then
|
||||
c = math.floor(c * 16777216 + 0.5) -- 24 bits of fraction baby
|
||||
QuestHelper: Assert(c >= -2147483648, string.format("c is too small. It was %s, and now is %s.", tostring(orig_c), tostring(c)))
|
||||
QuestHelper: Assert(c < 2147483647, string.format("c is too big. It was %s, and now is %s.", tostring(orig_c), tostring(c)))
|
||||
else
|
||||
c = -2147483648
|
||||
end
|
||||
if c < 0 then c = c + 4294967296 end
|
||||
return strchar(bit.band(c, 0xff), bit.band(c, 0xff00) / 256, bit.band(c, 0xff0000) / 65536, bit.band(c, 0xff000000) / 16777216)
|
||||
--]]
|
||||
if not c then c = -128 end
|
||||
QuestHelper: Assert( c >= -128, string.format("c is too small. It is %s.", tostring(c)))
|
||||
QuestHelper: Assert( c < 128, string.format("c is too big. It is %s.", tostring(c)))
|
||||
|
@ -34,10 +22,8 @@ local function BolusizeLocation(delayed, c, z, x, y)
|
|||
-- x and y are floating-point values, generally between 0 and 1. We'll dedicate 24 bits to the fractional part, largely because we can.
|
||||
-- Overall we're using a weird 11 bytes on this. Meh.
|
||||
-- Also, any nil values are being turned into MIN_WHATEVER.
|
||||
-- if x and y then print(delayed, c, z, x, y) end
|
||||
local float_x = float(x)
|
||||
local float_y = float(y)
|
||||
--print(x, y)
|
||||
return string.format("%s %s %s %s %s", signed(delayed and 1 or 0), signed(c), signed(z), float_x, float_y)
|
||||
--return signed(delayed and 1 or 0) .. signed(c) .. signed(z) .. float_x .. float_y
|
||||
end
|
||||
|
|
|
@ -80,7 +80,7 @@ local function MouseoverUnit()
|
|||
end
|
||||
end
|
||||
QuestHelper: Assert(minrange >= 0 and minrange < 256 and maxrange >= 0 and maxrange < 256)
|
||||
Merger.Add(critter, GetLoc() .. strchar(minrange, maxrange))
|
||||
Merger.Add(critter, string.format("%s %s %s", GetLoc(), tostring(minrange), tostring(maxrange))) --strchar(minrange, maxrange))
|
||||
|
||||
if #recentlySeenCritters_Recent >= 100 then
|
||||
for k, v in recentlySeenCritters_NextTrash do
|
||||
|
|
|
@ -303,6 +303,7 @@ function Astrolabe:TranslateWorldMapPosition( C, Z, xPos, yPos, nC, nZ )
|
|||
Z = Z or 0;
|
||||
nZ = nZ or 0;
|
||||
if ( nC < 0 and nC > -77 ) then
|
||||
--if ( nC < 0 and nC > -79 ) then
|
||||
return;
|
||||
end
|
||||
|
||||
|
@ -1190,6 +1191,13 @@ WorldMapSize = {
|
|||
xOffset = -8311.793923510446,
|
||||
yOffset = 1815.215685280706,
|
||||
zoneData = {
|
||||
AhnQirajTheFallenKingdom = {
|
||||
height = 1,
|
||||
width = 1,
|
||||
xOffset = 0,
|
||||
yOffset = 0,
|
||||
mapID = nil
|
||||
},
|
||||
Ashenvale = {
|
||||
height = 3843.722811451077,
|
||||
width = 5766.728884700476,
|
||||
|
@ -1273,6 +1281,20 @@ WorldMapSize = {
|
|||
xOffset = 11625.06045254075,
|
||||
yOffset = 15166.45834829251,
|
||||
mapID = 357,
|
||||
},
|
||||
Hyjal = {
|
||||
height = 1,
|
||||
width = 1,
|
||||
xOffset = 0,
|
||||
yOffset = 0,
|
||||
mapID = nil
|
||||
},
|
||||
Hyjal_terrain1 = {
|
||||
height = 1,
|
||||
width = 1,
|
||||
xOffset = 0,
|
||||
yOffset = 0,
|
||||
mapID = nil
|
||||
},
|
||||
Moonglade = {
|
||||
height = 1539.572509508711,
|
||||
|
@ -1301,6 +1323,13 @@ WorldMapSize = {
|
|||
xOffset = 14529.25864164056,
|
||||
yOffset = 18758.10068625832,
|
||||
mapID = 1377,
|
||||
},
|
||||
SouthernBarrens = {
|
||||
height = 1,
|
||||
width = 1,
|
||||
xOffset = 0,
|
||||
yOffset = 0,
|
||||
mapID = nil
|
||||
},
|
||||
StonetalonMountains = {
|
||||
height = 3256.226691571251,
|
||||
|
@ -1343,6 +1372,13 @@ WorldMapSize = {
|
|||
xOffset = 16550.11410485969,
|
||||
yOffset = 13649.80260929285,
|
||||
mapID = 1638,
|
||||
},
|
||||
Uldum = {
|
||||
height = 1,
|
||||
width = 1,
|
||||
xOffset = 0,
|
||||
yOffset = 0,
|
||||
mapID = nil
|
||||
},
|
||||
UngoroCrater = {
|
||||
height = 2466.647220780505,
|
||||
|
@ -1368,13 +1404,6 @@ WorldMapSize = {
|
|||
xOffset = 14407.1086092051,
|
||||
yOffset = 290.3230897653046,
|
||||
zoneData = {
|
||||
Alterac = {
|
||||
height = 1866.673586850316,
|
||||
width = 2800.000436369314,
|
||||
xOffset = 17388.63313899802,
|
||||
yOffset = 9676.382605411302,
|
||||
mapID = 2597,
|
||||
},
|
||||
Arathi = {
|
||||
height = 2400.0092446309,
|
||||
width = 3599.999380663208,
|
||||
|
@ -1425,10 +1454,10 @@ WorldMapSize = {
|
|||
mapID = 10,
|
||||
},
|
||||
EasternPlaguelands = {
|
||||
height = 2687.510360231216,
|
||||
width = 4031.249051993366,
|
||||
xOffset = 20459.46801235962,
|
||||
yOffset = 7472.207045901617,
|
||||
height = 2687.510360231216,
|
||||
width = 4031.249051993366,
|
||||
xOffset = 20459.46801235962,
|
||||
yOffset = 7472.207045901617,
|
||||
mapID = 139,
|
||||
},
|
||||
Elwynn = {
|
||||
|
@ -1479,6 +1508,13 @@ WorldMapSize = {
|
|||
xOffset = 20165.71623436714,
|
||||
yOffset = 15663.90573348468,
|
||||
mapID = 38,
|
||||
},
|
||||
NorthernStranglethorn = {
|
||||
height = 1,
|
||||
width = 1,
|
||||
xOffset = 0,
|
||||
yOffset = 0,
|
||||
mapID = nil
|
||||
},
|
||||
Redridge = {
|
||||
height = 1447.922213393415,
|
||||
|
@ -1486,6 +1522,20 @@ WorldMapSize = {
|
|||
xOffset = 19742.79960560691,
|
||||
yOffset = 19751.42209395218,
|
||||
mapID = 44,
|
||||
},
|
||||
RuinsofGilneas = {
|
||||
height = 1,
|
||||
width = 1,
|
||||
xOffset = 0,
|
||||
yOffset = 0,
|
||||
mapID = nil
|
||||
},
|
||||
RuinsofGilneasCity = {
|
||||
height = 1,
|
||||
width = 1,
|
||||
xOffset = 0,
|
||||
yOffset = 0,
|
||||
mapID = nil
|
||||
},
|
||||
SearingGorge = {
|
||||
height = 1487.505203229038,
|
||||
|
@ -1509,18 +1559,25 @@ WorldMapSize = {
|
|||
mapID = 130,
|
||||
},
|
||||
StormwindCity = {
|
||||
height = 1158.33686894901,
|
||||
width = 1737.498058940429,
|
||||
xOffset = 16449.05164642256,
|
||||
yOffset = 19172.25350774846,
|
||||
height = 1158.33686894901,
|
||||
width = 1737.498058940429,
|
||||
xOffset = 16449.05164642256,
|
||||
yOffset = 19172.25350774846,
|
||||
mapID = 1519,
|
||||
},
|
||||
Stranglethorn = { -- Split to Vale, Jungle and Cape
|
||||
StranglethornVale = { -- Split to Vale, Jungle and Cape
|
||||
height = 4254.18312444072,
|
||||
width = 6381.248484543122,
|
||||
xOffset = 15951.13375783437,
|
||||
yOffset = 22345.18258706305,
|
||||
mapID = 33,
|
||||
},
|
||||
StranglethornJungle = {
|
||||
height = 1,
|
||||
width = 1,
|
||||
xOffset = 0,
|
||||
yOffset = 0,
|
||||
mapID = nil
|
||||
},
|
||||
Sunwell = {
|
||||
height = 2218.756638064149,
|
||||
|
@ -1535,6 +1592,13 @@ WorldMapSize = {
|
|||
xOffset = 20394.88183258176,
|
||||
yOffset = 20797.25913588854,
|
||||
mapID = 8,
|
||||
},
|
||||
TheCapeOfStranglethorn = {
|
||||
height = 1,
|
||||
width = 1,
|
||||
xOffset = 0,
|
||||
yOffset = 0,
|
||||
mapID = nil
|
||||
},
|
||||
Tirisfal = {
|
||||
height = 3012.510490816506,
|
||||
|
@ -1542,6 +1606,34 @@ WorldMapSize = {
|
|||
xOffset = 15138.63417865412,
|
||||
yOffset = 7338.874503644808,
|
||||
mapID = 85,
|
||||
},
|
||||
TolBarad = {
|
||||
height = 1,
|
||||
width = 1,
|
||||
xOffset = 0,
|
||||
yOffset = 0,
|
||||
mapID = nil
|
||||
},
|
||||
TolBaradDailyArea = {
|
||||
height = 1,
|
||||
width = 1,
|
||||
xOffset = 0,
|
||||
yOffset = 0,
|
||||
mapID = nil
|
||||
},
|
||||
TwilightHighlands = {
|
||||
height = 1,
|
||||
width = 1,
|
||||
xOffset = 0,
|
||||
yOffset = 0,
|
||||
mapID = nil
|
||||
},
|
||||
TwilightHighlands_terrain1 = {
|
||||
height = 1,
|
||||
width = 1,
|
||||
xOffset = 0,
|
||||
yOffset = 0,
|
||||
mapID = nil
|
||||
},
|
||||
Undercity = {
|
||||
height = 640.1067253394195,
|
||||
|
@ -1549,6 +1641,34 @@ WorldMapSize = {
|
|||
xOffset = 17298.77399735696,
|
||||
yOffset = 9298.435338905521,
|
||||
mapID = 1497,
|
||||
},
|
||||
Vashjir = {
|
||||
height = 1,
|
||||
width = 1,
|
||||
xOffset = 0,
|
||||
yOffset = 0,
|
||||
mapID = nil
|
||||
},
|
||||
VashjirDepths = {
|
||||
height = 1,
|
||||
width = 1,
|
||||
xOffset = 0,
|
||||
yOffset = 0,
|
||||
mapID = nil
|
||||
},
|
||||
VashjirKelpForest = {
|
||||
height = 1,
|
||||
width = 1,
|
||||
xOffset = 0,
|
||||
yOffset = 0,
|
||||
mapID = nil
|
||||
},
|
||||
VashjirRuins = {
|
||||
height = 1,
|
||||
width = 1,
|
||||
xOffset = 0,
|
||||
yOffset = 0,
|
||||
mapID = nil
|
||||
},
|
||||
WesternPlaguelands = {
|
||||
height = 2866.677213191588,
|
||||
|
@ -1639,6 +1759,23 @@ WorldMapSize = {
|
|||
},
|
||||
}
|
||||
|
||||
--- Cat Adjustments, now permanently enabled. Someday I should probably merge these in, or at least move this section below WoTLK section, since higher crap probably needs adjustment too.
|
||||
if true then
|
||||
WorldMapSize[5] = {
|
||||
parentContinent = 0,
|
||||
height = 1,
|
||||
width = 1,
|
||||
xOffset = 0,
|
||||
yOffset = 0,
|
||||
zoneData = {
|
||||
Deepholm = { height = 1, width = 1, xOffset = 0, yOffset = 0, mapID = nil },
|
||||
Kezan = { height = 1, width = 1, xOffset = 0, yOffset = 0, mapID = nil },
|
||||
TheLostIsles = { height = 1, width = 1, xOffset = 0, yOffset = 0, mapID = nil },
|
||||
TheMaelstrom = { height = 1, width = 1, xOffset = 0, yOffset = 0, mapID = nil }
|
||||
}
|
||||
}
|
||||
end
|
||||
|
||||
--- WotLK Adjustments, now permanently enabled. Someday I should probably merge these in.
|
||||
if true then
|
||||
WorldMapSize[0].height = 31809.64859753034;
|
||||
|
@ -1911,10 +2048,7 @@ for continent, zones in pairs(Astrolabe.ContinentList) do
|
|||
local mapData = WorldMapSize[continent];
|
||||
for index, mapName in pairs(zones) do
|
||||
if not ( mapData.zoneData[mapName] ) then
|
||||
--WE HAVE A PROBLEM!!!
|
||||
ChatFrame1:AddMessage("Astrolabe is missing data for "..select(index, GetMapZones(continent))..".");
|
||||
-- We need a way to put the message out as an error.
|
||||
--error("Astrolabe is missing data for '" .. select(index, GetMapZones(continent)) .. "'.")
|
||||
mapData.zoneData[mapName] = zeroData;
|
||||
end
|
||||
mapData[index] = mapData.zoneData[mapName];
|
||||
|
|
|
@ -962,11 +962,6 @@ Thanks for testing!]], "QuestHelper " .. version_string, 500, 20, 10)
|
|||
end]]
|
||||
|
||||
local nc, nz, nx, ny = self.Astrolabe:GetCurrentPlayerPosition()
|
||||
if QuestHelper_IndexLookup[nc] then
|
||||
if ( nx == math.huge or nx == -math.huge or ny == math.huge or ny == -math.huge ) then print (nc, nz, nx, ny) end
|
||||
-- if nx then QuestHelper:Assert( nx ~= math.huge and nx ~= -math.huge, "Invalid x position... Infinite." ) end
|
||||
-- if ny then QuestHelper:Assert( ny ~= math.huge and ny ~= -math.huge, "Invalid y position... Infinite." ) end
|
||||
end
|
||||
local tc, tx, ty
|
||||
|
||||
if nc and nc ~= -1 then -- We just want the raw data here, before we've done anything clever.
|
||||
|
@ -984,7 +979,9 @@ if ( nx == math.huge or nx == -math.huge or ny == math.huge or ny == -math.huge
|
|||
end
|
||||
|
||||
if nc and nc > 0 and nz == 0 and nc == self.c and self.z > 0 then
|
||||
QuestHelper:Assert(nx < math.huge, "Broken at this point.")
|
||||
nx, ny = self.Astrolabe:TranslateWorldMapPosition(nc, nz, nx, ny, nc, self.z)
|
||||
QuestHelper:Assert(nx < math.huge, "Broken at this point.")
|
||||
if nx and ny --[[and nx > -0.1 and ny > -0.1 and nx < 1.1 and ny < 1.1]] then -- removing the conditional because I think I can use the data even when it's a little wonky
|
||||
nz = self.z
|
||||
else
|
||||
|
|
|
@ -89,11 +89,11 @@ local static_shared_routes =
|
|||
{{174, 0.61, 0.20}, {168, 0.50, 0.74}, 5}, -- CoS <--> NS (Both part of STV)
|
||||
{{35, 0.45, 0.85}, {169, 0.60, 0.09}, 5}, -- Silverpine <--> Ruins of Gilneas
|
||||
{{169, 0.5, 0.5}, {170, 0.5, 0.5}, 5}, -- Ruins of Gilneas <--> Ruins of Gilneas City (Meta info, map doesn't change properly as of 2010-12-11-0156UET)
|
||||
-- {{179, 0.5, 0.5}, {180, 0.5, 0.5}, 86400}, -- DeepHolm <--> Kezan (Meta info for when major error is fixed.)
|
||||
-- {{181, 0.5, 0.5}, {180, 0.5, 0.5}, 86400}, -- The Lost Isles <--> Kezan (Meta info for when major error is fixed.)
|
||||
-- {{181, 0.5, 0.5}, {182, 0.5, 0.5}, 86400}, -- The Lost Isles <--> The Maelstrom (Meta info for when major error is fixed.)
|
||||
-- {{183, 0.5, 0.5}, {182, 0.5, 0.5}, 86400}, -- The Maelstrom Continent <--> The Maelstrom (Meta info for when major error is fixed.)
|
||||
-- {{183, 0.5, 0.5}, {1, 0.5, 0.5}, 86400}, -- The Maelstrom Continent <--> Orgrimmar (Meta info for when major error is fixed.)
|
||||
{{179, 0.5, 0.5}, {180, 0.5, 0.5}, 86400}, -- DeepHolm <--> Kezan (Meta info for when major error is fixed.)
|
||||
{{181, 0.5, 0.5}, {180, 0.5, 0.5}, 86400}, -- The Lost Isles <--> Kezan (Meta info for when major error is fixed.)
|
||||
{{181, 0.5, 0.5}, {182, 0.5, 0.5}, 86400}, -- The Lost Isles <--> The Maelstrom (Meta info for when major error is fixed.)
|
||||
{{183, 0.5, 0.5}, {182, 0.5, 0.5}, 86400}, -- The Maelstrom Continent <--> The Maelstrom (Meta info for when major error is fixed.)
|
||||
{{183, 0.5, 0.5}, {1, 0.5, 0.5}, 86400}, -- The Maelstrom Continent <--> Orgrimmar (Meta info for when major error is fixed.)
|
||||
|
||||
-- Wrath instance entrances
|
||||
{{80, 0.693, 0.730}, {70, 0.573, 0.467}, 5}, -- UK
|
||||
|
|
|
@ -198,7 +198,6 @@ QuestHelper_IndexLookup =
|
|||
["ThunderBluff"] = {23, 1, 25},
|
||||
["Teldrassil"] = {24, 1, 22},
|
||||
["Ironforge"] = {25, 2, 14},
|
||||
--["Alterac"] = {26, 2, 1},
|
||||
["Badlands"] = {27, 2, 3},
|
||||
["DunMorogh"] = {28, 2, 7},
|
||||
["LochModan"] = {29, 2, 17},
|
||||
|
|
Référencer dans un nouveau ticket