2013-01-02 19:11:26 +01:00
QuestHelper_File [ " init_timeslice.lua " ] = " 4.0.1.$svnversion$ "
QuestHelper_Loadtime [ " init_timeslice.lua " ] = GetTime ( )
local GetTime = QuestHelper_GetTime
function QH_Init_Timeslice ( )
QuestHelper_Loadtime [ " init3_start " ] = GetTime ( )
2013-01-03 02:17:04 +01:00
2013-01-02 19:11:26 +01:00
QuestHelper.loading_main = QuestHelper.CreateLoadingCounter ( )
2013-01-03 02:17:04 +01:00
2013-01-02 19:11:26 +01:00
QuestHelper.loading_init3 = QuestHelper.loading_main : MakeSubcategory ( 0.3 )
QuestHelper.loading_flightpath = QuestHelper.loading_main : MakeSubcategory ( 1 )
QuestHelper.loading_preroll = QuestHelper.loading_main : MakeSubcategory ( 1 )
2013-01-03 02:17:04 +01:00
2013-01-02 19:11:26 +01:00
local stt = 0
2013-01-03 02:17:04 +01:00
2013-01-02 19:11:26 +01:00
-- This is where the slow stuff goes
-- 4.0.3a Breakage related
local datime = time ( ) + 30 -- We're gonna wait 30 seconds, just in case.
--while datime >= time() do --[[sleep (busy wait)]] end
--QuestHelper_BuildZoneLookup()
--QH_Graph_Init()
--load_graph_links()
2013-01-03 02:17:04 +01:00
local self = QuestHelper -- whee hack hack hack
2013-01-02 19:11:26 +01:00
if QuestHelper_Locale ~= GetLocale ( ) then
self : TextOut ( QHText ( " LOCALE_ERROR " ) )
return
end
--[[
if not self : ZoneSanity ( ) then
self : TextOut ( QHFormat ( " ZONE_LAYOUT_ERROR " , expected_version ) )
QH_fixedmessage ( QHFormat ( " ZONE_LAYOUT_ERROR " , expected_version ) )
QuestHelper = nil
return
end
2013-01-03 02:17:04 +01:00
2013-01-02 19:11:26 +01:00
QuestHelper_UpgradeDatabase ( _G )
QuestHelper_UpgradeComplete ( )
2013-01-03 02:17:04 +01:00
2013-01-02 19:11:26 +01:00
if QuestHelper_IsPolluted ( _G ) then
self : TextOut ( QHFormat ( " NAG_POLLUTED " ) )
self : Purge ( nil , true , true )
end
--]]
local signature = expected_version .. " on " .. GetBuildInfo ( )
QuestHelper_Quests [ signature ] = QuestHelper_Quests [ signature ] or { }
QuestHelper_Objectives [ signature ] = QuestHelper_Objectives [ signature ] or { }
QuestHelper_FlightInstructors [ signature ] = QuestHelper_FlightInstructors [ signature ] or { }
QuestHelper_FlightRoutes [ signature ] = QuestHelper_FlightRoutes [ signature ] or { }
2013-01-03 02:17:04 +01:00
2013-01-02 19:11:26 +01:00
QuestHelper_Quests_Local = QuestHelper_Quests [ signature ]
QuestHelper_Objectives_Local = QuestHelper_Objectives [ signature ]
QuestHelper_FlightInstructors_Local = QuestHelper_FlightInstructors [ signature ]
QuestHelper_FlightRoutes_Local = QuestHelper_FlightRoutes [ signature ]
2013-01-03 02:17:04 +01:00
2013-01-02 19:11:26 +01:00
QuestHelper_SeenRealms [ GetRealmName ( ) ] = true -- some attempt at tracking private servers
2013-01-03 02:17:04 +01:00
2013-01-02 19:11:26 +01:00
QuestHelper.loading_init3 : SetPercentage ( 0.1 )
QH_Collector_Init ( )
QuestHelper.loading_init3 : SetPercentage ( 0.5 )
--DB_Init()
QuestHelper.loading_init3 : SetPercentage ( 0.9 )
2013-01-03 02:17:04 +01:00
2013-01-02 19:11:26 +01:00
self.player_level = UnitLevel ( " player " )
self : SetLocaleFonts ( )
if QuestHelper_Pref.share and not QuestHelper_Pref.solo then
self : EnableSharing ( )
end
2013-01-03 02:17:04 +01:00
2013-01-02 19:11:26 +01:00
if QuestHelper_Pref.hide then
self.map_overlay : Hide ( )
end
2013-01-03 02:17:04 +01:00
2013-01-02 19:11:26 +01:00
self : HandlePartyChange ( )
self : Nag ( " all " )
for locale in pairs ( QuestHelper_StaticData ) do
if locale ~= self.locale then
-- Will delete references to locales you don't use.
QuestHelper_StaticData [ locale ] = nil
_G [ " QuestHelper_StaticData_ " .. locale ] = nil
end
end
local static = QuestHelper_StaticData [ self.locale ]
2013-01-03 02:17:04 +01:00
2013-01-02 19:11:26 +01:00
if static then
if static.flight_instructors then for faction in pairs ( static.flight_instructors ) do
if faction ~= self.faction then
-- Will delete references to flight instructors that don't belong to your faction.
static.flight_instructors [ faction ] = nil
end
end end
if static.quest then for faction in pairs ( static.quest ) do
if faction ~= self.faction then
-- Will delete references to quests that don't belong to your faction.
static.quest [ faction ] = nil
end
end end
end
2013-01-03 02:17:04 +01:00
2013-01-02 19:11:26 +01:00
-- Adding QuestHelper_CharVersion, so I know if I've already converted this characters saved data.
if not QuestHelper_CharVersion then
-- Changing per-character flight routes, now only storing the flight points they have,
-- will attempt to guess the routes from this.
local routes = { }
2013-01-03 02:17:04 +01:00
2013-01-02 19:11:26 +01:00
for i , l in pairs ( QuestHelper_KnownFlightRoutes ) do
for key in pairs ( l ) do
routes [ key ] = true
end
end
QuestHelper_KnownFlightRoutes = routes
-- Deleting the player's home again.
-- But using the new CharVersion variable I'm adding is cleaner that what I was doing, so I'll go with it.
QuestHelper_Home = nil
QuestHelper_CharVersion = 1
end
if not QuestHelper_Home then
-- Not going to bother complaining about the player's home not being set, uncomment this when the home is used in routing.
-- self:TextOut(QHText("HOME_NOT_KNOWN"))
end
if QuestHelper_Pref.map_button then
-- QuestHelper:InitMapButton()
end
2013-01-03 02:17:04 +01:00
2013-01-02 19:11:26 +01:00
if QuestHelper_Pref.tomtom_wp_new then
-- self:EnableTomTom()
end
-- self.tracker:SetScale(QuestHelper_Pref.track_scale)
local version = GetAddOnMetadata ( " QuestHelper " , " Version " ) or " Unknown "
local major , minor = ( version_string or " " ) : match ( " ^(%d+)%.(%d+) " )
major , minor = tonumber ( major ) , tonumber ( minor )
QH_Hook ( self , " OnUpdate " , self.OnUpdate )
-- Seems to do its own garbage collection pass before fully loading, so I'll just rely on that
--collectgarbage("collect") -- Free everything we aren't using.
--[[
if self.debug_objectives then
for name , data in pairs ( self.debug_objectives ) do
self : LoadDebugObjective ( name , data )
end
end ] ]
2013-01-03 02:17:04 +01:00
2013-01-02 19:11:26 +01:00
-- wellllp
QH_Arrow_SetScale ( )
QH_Arrow_SetTextScale ( )
2013-01-03 02:17:04 +01:00
2013-01-02 19:11:26 +01:00
--[[
QH_Timeslice_Add ( function ( )
self : ResetPathing ( )
self.Routing : Initialize ( ) -- Set up the routing task
end , " init " ) ] ] -- FUCK YOU BOXBOT
2013-01-03 02:17:04 +01:00
2013-01-02 19:11:26 +01:00
QH_Event ( " CHAT_MSG_ADDON " , function ( ... )
local arg1 = select ( 1 , ... )
local arg2 = select ( 2 , ... )
local arg4 = select ( 4 , ... )
if arg1 == " QHpr " and arg4 ~= UnitName ( " player " ) then
QH_Questcomm_Msg ( arg2 , arg4 )
end
end )
--[[
QH_Event ( { " PARTY_MEMBERS_CHANGED " , " UNIT_LEVEL " , " RAID_ROSTER_UPDATE " } , function ( )
QH_Filter_Group_Sync ( )
QH_Route_Filter_Rescan ( " filter_quest_level " )
--QH_Route_Filter_Rescan("filter_quest_group")
--QH_Route_Filter_Rescan("filter_quest_raid_accessible") -- These should be in right now, but for simplicity's sake we're actually scanning everything when we get a rescan request. So they're unnecessary. PUT THEM BACK should they become necessary.
end )
2013-01-03 02:17:04 +01:00
2013-01-02 19:11:26 +01:00
QH_Event ( { " PARTY_MEMBERS_CHANGED " , " RAID_ROSTER_UPDATE " } , function ( )
QH_Questcomm_Sync ( )
end )
--]]
2013-01-03 02:17:04 +01:00
2013-01-02 19:11:26 +01:00
QH_Event ( " PLAYER_LEVEL_UP " , function ( )
self.player_level = arg1
--QH_Route_Filter_Rescan("filter_quest_level")
end )
2013-01-03 02:17:04 +01:00
--[[
2013-01-02 19:11:26 +01:00
QH_Event ( " TAXIMAP_OPENED " , function ( )
self : taxiMapOpened ( )
end )
2013-01-03 02:17:04 +01:00
2013-01-02 19:11:26 +01:00
QH_Event ( { " ZONE_CHANGED " , " ZONE_CHANGED_INDOORS " , " ZONE_CHANGED_NEW_AREA " } , function ( )
QH_Route_Filter_Rescan ( nil , true )
end )
2013-01-03 02:17:04 +01:00
] ]
2013-01-02 19:11:26 +01:00
QH_Event ( " CHAT_MSG_CHANNEL_NOTICE " , function ( )
if please_submit_enabled and not please_submit_initted then
please_submit_enabled = QHNagInit ( )
startup_time = GetTime ( )
please_submit_initted = true
end
end )
2013-01-03 02:17:04 +01:00
2013-01-02 19:11:26 +01:00
QuestHelper.loading_init3 : SetPercentage ( 1.0 ) -- victory
2013-01-03 02:17:04 +01:00
2013-01-02 19:11:26 +01:00
QuestHelper_Loadtime [ " init3_end " ] = GetTime ( )
end