// this script was compiled with wurst 1.8.1.0-jenkins-Wurst-1367
globals
// originframetype ORIGIN_FRAME_GAME_UI=null
// originframetype ORIGIN_FRAME_WORLD_FRAME=null
// integer bj_MAX_PLAYER_SLOTS=0
string array Colors_hexs
integer Colors_decs=0
integer Colors_COLOR_WHITE_red=0
integer Colors_COLOR_WHITE_green=0
integer Colors_COLOR_WHITE_blue=0
integer Colors_COLOR_WHITE_alpha=0
integer Colors_COLOR_BLACK_red=0
integer Colors_COLOR_BLACK_green=0
integer Colors_COLOR_BLACK_blue=0
integer Colors_COLOR_BLACK_alpha=0
integer Colors_COLOR_GOLD_red=0
integer Colors_COLOR_GOLD_green=0
integer Colors_COLOR_GOLD_blue=0
integer Colors_COLOR_GOLD_alpha=0
hashtable ErrorHandling_HT=null
framehandle Framehandle_GAME_UI=null
real GameTimer_currentTime=0.
boolean MagicFunctions_compiletime=false
player Player_localPlayer=null
hashtable Table_ht=null
integer TypeCasting_typecastdata=0
hashtable hashtable_compiletime=null
hashtable hashtable_compiletime_29=null
integer array Table_nextFree
integer Table_firstFree=0
integer Table_maxIndex=0
integer array Table_typeId
code ref_function_init_AbilityIds=null
code ref_function_init_Real=null
code ref_function_init_Integer=null
code ref_function_init_Angle=null
code ref_function_init_String=null
code ref_function_init_Vectors=null
code ref_function_init_Destructable=null
code ref_function_init_Player=null
code ref_function_init_Basics=null
code ref_function_init_MagicFunctions=null
code ref_function_init_Table=null
code ref_function_init_Playercolor=null
code ref_function_init_Maths=null
code ref_function_init_Colors=null
code ref_function_init_Printing=null
code ref_function_init_GameTimer=null
code ref_function_init_ErrorHandling=null
code ref_function_init_HashList=null
code ref_function_init_Matrices=null
code ref_function_init_Quaternion=null
code ref_function_init_Framehandle=null
code ref_function_init_Group=null
code ref_function_init_Lightning=null
code ref_function_init_WeatherEffects=null
code ref_function_init_TypeCasting=null
code ref_function_init_EventHelper=null
code ref_function_init_Test=null
code ref_function_code__startPeriodic_GameTimer=null
endglobals
function Loglevel_getTag takes integer this returns string
	local integer temp = this
	if temp == 0 then
		return "|cffADADADtrace|r"
	elseif temp == 1 then
		return "|cff2685DCdebug|r"
	elseif temp == 2 then
		return "|cffFFCC00info|r"
	elseif temp == 3 then
		return "|cffF47E3Ewarning|r"
	else
		return "|cffFB2700error|r"
	endif
endfunction

function compileError takes string msg returns nothing
endfunction

function error takes string msg returns nothing
	local integer hash
	local string this
	local hashtable this_1
	local integer parentKey
	local integer childKey
	local hashtable this_2
	local integer parentKey_1
	local integer childKey_1
	local string msg_1
	local player showTo
	local integer loglvl
	local string msg_2
	local string compositeMsg
	local hashtable this_3
	local integer parentKey_2
	local integer childKey_2
	local integer value
	local real this_4
	local hashtable this_5
	local integer parentKey_3
	local integer childKey_3
	local boolean value_1
	local hashtable this_6
	local integer parentKey_4
	local integer childKey_4
	local hashtable this_7
	local integer parentKey_5
	local integer childKey_5
	local string msg_3
	local player showTo_1
	local integer loglvl_1
	local string msg_4
	local string compositeMsg_1
	local hashtable this_8
	local integer parentKey_6
	local integer childKey_6
	local boolean value_2
	local string msg_5
	local player showTo_2
	local integer loglvl_2
	local string msg_6
	local string compositeMsg_2
	local hashtable this_9
	local integer parentKey_7
	local integer childKey_7
	local boolean value_3
	local hashtable this_10
	local integer parentKey_8
	local integer childKey_8
	local integer value_4
	local real this_11
	local string msg_7
	local player showTo_3
	local integer loglvl_3
	local string msg_8
	local string compositeMsg_3
	if MagicFunctions_compiletime then
		call compileError("ERROR: " + msg)
	else
		if  not false then
			set this = msg
			set hash = StringHash(this)
			set this_1 = ErrorHandling_HT
			set parentKey = -1
			set childKey = hash
			if HaveSavedInteger(this_1, parentKey, childKey) then
				set this_2 = ErrorHandling_HT
				set parentKey_1 = -1
				set childKey_1 = hash
				if LoadInteger(this_2, parentKey_1, childKey_1) + 60 < GameTimer_currentTime then
					set msg_1 = msg + ""
					set showTo = Player_localPlayer
					set loglvl = 4
					set msg_2 = msg_1
					if 2 <= loglvl then
						set compositeMsg = Loglevel_getTag(loglvl) + " - " + msg_2
						call DisplayTimedTextToPlayer(showTo, 0., 0., 45., compositeMsg)
					endif
					set this_3 = ErrorHandling_HT
					set parentKey_2 = -1
					set childKey_2 = hash
					set this_4 = GameTimer_currentTime
					set value = R2I(this_4)
					call SaveInteger(this_3, parentKey_2, childKey_2, value)
					set this_5 = ErrorHandling_HT
					set parentKey_3 = -1
					set childKey_3 = hash
					set value_1 = false
					call SaveBoolean(this_5, parentKey_3, childKey_3, value_1)
				else
					set this_6 = ErrorHandling_HT
					set parentKey_4 = -1
					set childKey_4 = hash
					if HaveSavedBoolean(this_6, parentKey_4, childKey_4) then
						set this_7 = ErrorHandling_HT
						set parentKey_5 = -1
						set childKey_5 = hash
						if  not LoadBoolean(this_7, parentKey_5, childKey_5) then
							set msg_3 = "|cffFF3A29Excessive repeating errors are being omitted"
							set showTo_1 = Player_localPlayer
							set loglvl_1 = 4
							set msg_4 = msg_3
							if 2 <= loglvl_1 then
								set compositeMsg_1 = Loglevel_getTag(loglvl_1) + " - " + msg_4
								call DisplayTimedTextToPlayer(showTo_1, 0., 0., 45., compositeMsg_1)
							endif
							set this_8 = ErrorHandling_HT
							set parentKey_6 = -1
							set childKey_6 = hash
							set value_2 = true
							call SaveBoolean(this_8, parentKey_6, childKey_6, value_2)
						endif
					else
						set msg_5 = "|cffFF3A29Excessive repeating errors are being omitted"
						set showTo_2 = Player_localPlayer
						set loglvl_2 = 4
						set msg_6 = msg_5
						if 2 <= loglvl_2 then
							set compositeMsg_2 = Loglevel_getTag(loglvl_2) + " - " + msg_6
							call DisplayTimedTextToPlayer(showTo_2, 0., 0., 45., compositeMsg_2)
						endif
						set this_9 = ErrorHandling_HT
						set parentKey_7 = -1
						set childKey_7 = hash
						set value_3 = true
						call SaveBoolean(this_9, parentKey_7, childKey_7, value_3)
					endif
				endif
			else
				set this_10 = ErrorHandling_HT
				set parentKey_8 = -1
				set childKey_8 = hash
				set this_11 = GameTimer_currentTime
				set value_4 = R2I(this_11)
				call SaveInteger(this_10, parentKey_8, childKey_8, value_4)
				set msg_7 = "Message: " + msg + ""
				set showTo_3 = Player_localPlayer
				set loglvl_3 = 4
				set msg_8 = msg_7
				if 2 <= loglvl_3 then
					set compositeMsg_3 = Loglevel_getTag(loglvl_3) + " - " + msg_8
					call DisplayTimedTextToPlayer(showTo_3, 0., 0., 45., compositeMsg_3)
				endif
			endif
		endif
		call I2S(1 / 0)
	endif
endfunction

function initCompiletimeState_0 takes nothing returns nothing
	call InitHashtable()
	call InitHashtable()
	set hashtable_compiletime_29 = InitHashtable()
	set hashtable_compiletime = InitHashtable()
	call SaveInteger(hashtable_compiletime_29, 1, -242600650, 0)
	call SaveInteger(hashtable_compiletime_29, 1, 1132341824, 1)
	call SaveInteger(hashtable_compiletime_29, 1, -647782241, 2)
	call SaveInteger(hashtable_compiletime_29, 1, -854572045, 3)
	call SaveInteger(hashtable_compiletime_29, 1, -680649701, 4)
	call SaveInteger(hashtable_compiletime_29, 1, -943650483, 5)
	call SaveInteger(hashtable_compiletime_29, 1, -671760605, 6)
	call SaveInteger(hashtable_compiletime_29, 1, 349230650, 7)
	call SaveInteger(hashtable_compiletime_29, 1, -1894922563, 8)
	call SaveInteger(hashtable_compiletime_29, 1, -1474492777, 9)
	call SaveInteger(hashtable_compiletime_29, 1, -1587459251, 10)
	call SaveInteger(hashtable_compiletime_29, 1, -1676716706, 11)
	call SaveInteger(hashtable_compiletime_29, 1, -1559655710, 12)
	call SaveInteger(hashtable_compiletime_29, 1, -1663695754, 13)
	call SaveInteger(hashtable_compiletime_29, 1, 597637742, 14)
	call SaveInteger(hashtable_compiletime_29, 1, 789744696, 15)
	call SaveStr(hashtable_compiletime_29, 2, 0, "")
endfunction

function code__startPeriodic_GameTimer takes nothing returns nothing
	set GameTimer_currentTime = GameTimer_currentTime + 0.030
endfunction

function init_AbilityIds takes nothing returns boolean
	return true
endfunction

function init_Angle takes nothing returns boolean
	return true
endfunction

function init_Basics takes nothing returns boolean
	return true
endfunction

function dispatch_Table_Table_Table_saveInt takes integer this, integer parentKey, integer value returns nothing
	local integer this_1
	local integer parentKey_1
	local integer value_1
	local hashtable this_2
	local integer parentKey_2
	local integer childKey
	local integer value_2
	if Table_typeId[this] == 0 then
		if this == 0 then
			call error("Nullpointer exception when calling Table.saveInt")
		else
			call error("Called Table.saveInt on invalid object.")
		endif
	endif
	set this_1 = this
	set parentKey_1 = parentKey
	set value_1 = value
	set this_2 = Table_ht
	set parentKey_2 = this_1
	set childKey = parentKey_1
	set value_2 = value_1
	call SaveInteger(this_2, parentKey_2, childKey, value_2)
endfunction

function new_Table takes nothing returns integer
	local integer this
	local integer this_1
	if Table_firstFree == 0 then
		if Table_maxIndex < 32768 then
			set Table_maxIndex = Table_maxIndex + 1
			set this_1 = Table_maxIndex
			set Table_typeId[this_1] = 12
		else
			call error("Out of memory: Could not create Table.")
			set this_1 = 0
		endif
	else
		set Table_firstFree = Table_firstFree - 1
		set this_1 = Table_nextFree[Table_firstFree]
		set Table_typeId[this_1] = 12
	endif
	set this = this_1
	return this
endfunction

function init_Colors takes nothing returns boolean
	local integer this_red
	local integer this_green
	local integer this_blue
	local integer this_alpha
	local integer number
	local integer firstpart
	local integer secondpart
	local integer number_1
	local integer firstpart_1
	local integer secondpart_1
	local integer number_2
	local integer firstpart_2
	local integer number_3
	local integer this_red_1
	local integer this_green_1
	local integer this_blue_1
	local integer this_alpha_1
	local integer number_4
	local integer firstpart_3
	local integer secondpart_2
	local integer number_5
	local integer firstpart_4
	local integer secondpart_3
	local integer number_6
	local integer firstpart_5
	local integer number_7
	local integer this_red_2
	local integer this_green_2
	local integer this_blue_2
	local integer this_alpha_2
	local integer number_8
	local integer firstpart_6
	local integer secondpart_4
	local integer number_9
	local integer firstpart_7
	local integer secondpart_5
	local integer number_10
	local integer firstpart_8
	local integer number_11
	local integer i
	local string this
	local string temp
	local string temp_1
	local string temp_2
	local integer temp_3
	local integer tuple_temp
	local integer tuple_temp_1
	local integer tuple_temp_2
	local integer tuple_temp_3
	local integer tuple_temp_4
	local integer tuple_temp_5
	local integer tuple_temp_6
	local integer tuple_temp_7
	local integer tuple_temp_8
	local integer tuple_temp_9
	local integer tuple_temp_10
	local integer tuple_temp_11
	local integer tuple_temp_12
	local integer tuple_temp_13
	local integer tuple_temp_14
	local integer tuple_temp_15
	local integer tuple_temp_16
	local integer tuple_temp_17
	local integer tuple_temp_18
	local integer tuple_temp_19
	local integer tuple_temp_20
	local integer tuple_temp_21
	local integer tuple_temp_22
	local integer tuple_temp_23
	set Colors_hexs[0] = "0"
	set Colors_hexs[1] = "1"
	set Colors_hexs[2] = "2"
	set Colors_hexs[3] = "3"
	set Colors_hexs[4] = "4"
	set Colors_hexs[5] = "5"
	set Colors_hexs[6] = "6"
	set Colors_hexs[7] = "7"
	set Colors_hexs[8] = "8"
	set Colors_hexs[9] = "9"
	set Colors_hexs[10] = "A"
	set Colors_hexs[11] = "B"
	set Colors_hexs[12] = "C"
	set Colors_hexs[13] = "D"
	set Colors_hexs[14] = "E"
	set Colors_hexs[15] = "F"
	set Colors_decs = new_Table()
	set tuple_temp = 255
	set tuple_temp_1 = 255
	set tuple_temp_2 = 255
	set tuple_temp_3 = 255
	set Colors_COLOR_WHITE_red = tuple_temp
	set Colors_COLOR_WHITE_green = tuple_temp_1
	set Colors_COLOR_WHITE_blue = tuple_temp_2
	set Colors_COLOR_WHITE_alpha = tuple_temp_3
	set tuple_temp_4 = 0
	set tuple_temp_5 = 0
	set tuple_temp_6 = 0
	set tuple_temp_7 = 0
	set Colors_COLOR_BLACK_red = tuple_temp_4
	set Colors_COLOR_BLACK_green = tuple_temp_5
	set Colors_COLOR_BLACK_blue = tuple_temp_6
	set Colors_COLOR_BLACK_alpha = tuple_temp_7
	set tuple_temp_8 = 255
	set tuple_temp_9 = 204
	set tuple_temp_10 = 0
	set tuple_temp_11 = 255
	set Colors_COLOR_GOLD_red = tuple_temp_8
	set Colors_COLOR_GOLD_green = tuple_temp_9
	set Colors_COLOR_GOLD_blue = tuple_temp_10
	set Colors_COLOR_GOLD_alpha = tuple_temp_11
	set tuple_temp_12 = Colors_COLOR_WHITE_red
	set tuple_temp_13 = Colors_COLOR_WHITE_green
	set tuple_temp_14 = Colors_COLOR_WHITE_blue
	set tuple_temp_15 = Colors_COLOR_WHITE_alpha
	set this_red = tuple_temp_12
	set this_green = tuple_temp_13
	set this_blue = tuple_temp_14
	set this_alpha = tuple_temp_15
	set number = this_alpha
	set firstpart = number / 16
	set secondpart = number - firstpart * 16
	set temp = "|c" + Colors_hexs[firstpart] + Colors_hexs[secondpart]
	set number_1 = this_red
	set firstpart_1 = number_1 / 16
	set secondpart_1 = number_1 - firstpart_1 * 16
	set number_2 = this_green
	set firstpart_2 = number_2 / 16
	set number_3 = this_blue
	set tuple_temp_16 = Colors_COLOR_BLACK_red
	set tuple_temp_17 = Colors_COLOR_BLACK_green
	set tuple_temp_18 = Colors_COLOR_BLACK_blue
	set tuple_temp_19 = Colors_COLOR_BLACK_alpha
	set this_red_1 = tuple_temp_16
	set this_green_1 = tuple_temp_17
	set this_blue_1 = tuple_temp_18
	set this_alpha_1 = tuple_temp_19
	set number_4 = this_alpha_1
	set firstpart_3 = number_4 / 16
	set secondpart_2 = number_4 - firstpart_3 * 16
	set temp_1 = "|c" + Colors_hexs[firstpart_3] + Colors_hexs[secondpart_2]
	set number_5 = this_red_1
	set firstpart_4 = number_5 / 16
	set secondpart_3 = number_5 - firstpart_4 * 16
	set number_6 = this_green_1
	set firstpart_5 = number_6 / 16
	set number_7 = this_blue_1
	set tuple_temp_20 = Colors_COLOR_GOLD_red
	set tuple_temp_21 = Colors_COLOR_GOLD_green
	set tuple_temp_22 = Colors_COLOR_GOLD_blue
	set tuple_temp_23 = Colors_COLOR_GOLD_alpha
	set this_red_2 = tuple_temp_20
	set this_green_2 = tuple_temp_21
	set this_blue_2 = tuple_temp_22
	set this_alpha_2 = tuple_temp_23
	set number_8 = this_alpha_2
	set firstpart_6 = number_8 / 16
	set secondpart_4 = number_8 - firstpart_6 * 16
	set temp_2 = "|c" + Colors_hexs[firstpart_6] + Colors_hexs[secondpart_4]
	set number_9 = this_red_2
	set firstpart_7 = number_9 / 16
	set secondpart_5 = number_9 - firstpart_7 * 16
	set number_10 = this_green_2
	set firstpart_8 = number_10 / 16
	set number_11 = this_blue_2
	set i = 0
	loop
		exitwhen i > 15
		set temp_3 = Colors_decs
		set this = Colors_hexs[i]
		call dispatch_Table_Table_Table_saveInt(temp_3, StringHash(this), i)
		set i = i + 1
	endloop
	return true
endfunction

function init_Destructable takes nothing returns boolean
	return true
endfunction

function init_ErrorHandling takes nothing returns boolean
	set ErrorHandling_HT = hashtable_compiletime
	return true
endfunction

function new_HashMap takes nothing returns integer
	local integer this
	local integer this_1
	if Table_firstFree == 0 then
		if Table_maxIndex < 32768 then
			set Table_maxIndex = Table_maxIndex + 1
			set this_1 = Table_maxIndex
			set Table_typeId[this_1] = 13
		else
			call error("Out of memory: Could not create HashMap.")
			set this_1 = 0
		endif
	else
		set Table_firstFree = Table_firstFree - 1
		set this_1 = Table_nextFree[Table_firstFree]
		set Table_typeId[this_1] = 13
	endif
	set this = this_1
	return this
endfunction

function init_EventHelper takes nothing returns boolean
	call new_HashMap()
	call new_HashMap()
	call new_Table()
	return true
endfunction

function verifyFrameNameLength takes string name returns boolean
	local string this = name
	local integer this_1
	if StringLength(this) > 560 then
		set this_1 = 560
		call error("Trying to address frame with exceeding maximum frame name length (" + I2S(this_1) + ") for: " + name)
		return false
	endif
	return true
endfunction

function init_Framehandle takes nothing returns boolean
	local framehandle receiver
	local string typeName
	local string name
	local framehandle owner
	local string inherits
	local integer createContext
	local framehandle this
	local real width
	local real height
	set Framehandle_GAME_UI = BlzGetOriginFrame(ORIGIN_FRAME_GAME_UI, 0)
	call BlzGetOriginFrame(ORIGIN_FRAME_WORLD_FRAME, 0)
	set typeName = "FRAME"
	set name = "SetMousePositionCage"
	set owner = Framehandle_GAME_UI
	set inherits = null
	set createContext = 0
	call verifyFrameNameLength(name)
	set receiver = BlzCreateFrameByType(typeName, name, owner, inherits, createContext)
	set this = receiver
	set width = 0.0001
	set height = 0.0001
	call BlzFrameSetSize(this, width, height)
	return true
endfunction

function init_GameTimer takes nothing returns boolean
	local timer receiver = CreateTimer()
	local timer this = receiver
	local real time = 100000.
	local code timerCallBack = null
	local timer this_1
	local real time_1
	local code timerCallBack_1
	call TimerStart(this, time, false, timerCallBack)
	set this_1 = CreateTimer()
	set time_1 = 0.030
	set timerCallBack_1 = ref_function_code__startPeriodic_GameTimer
	call TimerStart(this_1, time_1, true, timerCallBack_1)
	return true
endfunction

function init_Group takes nothing returns boolean
	call CreateGroup()
	return true
endfunction

function init_HashList takes nothing returns boolean
	return true
endfunction

function init_Integer takes nothing returns boolean
	return true
endfunction

function init_Lightning takes nothing returns boolean
	return true
endfunction

function init_MagicFunctions takes nothing returns boolean
	set MagicFunctions_compiletime = false
	return true
endfunction

function init_Maths takes nothing returns boolean
	return true
endfunction

function init_Matrices takes nothing returns boolean
	return true
endfunction

function init_Player takes nothing returns boolean
	local integer i
	local integer temp
	set Player_localPlayer = GetLocalPlayer()
	set i = 0
	set temp = bj_MAX_PLAYER_SLOTS - 1
	loop
		exitwhen i > temp
		call Player(i)
		set i = i + 1
	endloop
	return true
endfunction

function init_Playercolor takes nothing returns boolean
	call ConvertPlayerColor(24)
	call ConvertPlayerColor(25)
	call ConvertPlayerColor(26)
	call ConvertPlayerColor(27)
	return true
endfunction

function init_Printing takes nothing returns boolean
	return true
endfunction

function init_Quaternion takes nothing returns boolean
	return true
endfunction

function init_Real takes nothing returns boolean
	return true
endfunction

function init_String takes nothing returns boolean
	local string this = "0123456789"
	local string this_1
	call StringLength(this)
	set this_1 = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
	call StringLength(this_1)
	return true
endfunction

function init_Table takes nothing returns boolean
	set Table_ht = hashtable_compiletime_29
	return true
endfunction

function init_Test takes nothing returns boolean
	return true
endfunction

function init_TypeCasting takes nothing returns boolean
	local integer this
	local integer parentKey
	local string value
	local integer this_1
	local integer parentKey_1
	local string value_1
	local hashtable this_2
	local integer parentKey_2
	local integer childKey
	local string value_2
	set TypeCasting_typecastdata = new_Table()
	set this = TypeCasting_typecastdata
	set parentKey = 0
	set value = ""
	if Table_typeId[this] == 0 then
		if this == 0 then
			call error("Nullpointer exception when calling Table.saveString")
		else
			call error("Called Table.saveString on invalid object.")
		endif
	endif
	set this_1 = this
	set parentKey_1 = parentKey
	set value_1 = value
	set this_2 = Table_ht
	set parentKey_2 = this_1
	set childKey = parentKey_1
	set value_2 = value_1
	call SaveStr(this_2, parentKey_2, childKey, value_2)
	return true
endfunction

function init_Vectors takes nothing returns boolean
	call Location(0., 0.)
	return true
endfunction

function init_WeatherEffects takes nothing returns boolean
	return true
endfunction

function initGlobals takes nothing returns nothing
	set ref_function_init_AbilityIds = function init_AbilityIds
	set ref_function_init_Real = function init_Real
	set ref_function_init_Integer = function init_Integer
	set ref_function_init_Angle = function init_Angle
	set ref_function_init_String = function init_String
	set ref_function_init_Vectors = function init_Vectors
	set ref_function_init_Destructable = function init_Destructable
	set ref_function_init_Player = function init_Player
	set ref_function_init_Basics = function init_Basics
	set ref_function_init_MagicFunctions = function init_MagicFunctions
	set ref_function_init_Table = function init_Table
	set ref_function_init_Playercolor = function init_Playercolor
	set ref_function_init_Maths = function init_Maths
	set ref_function_init_Colors = function init_Colors
	set ref_function_init_Printing = function init_Printing
	set ref_function_init_GameTimer = function init_GameTimer
	set ref_function_init_ErrorHandling = function init_ErrorHandling
	set ref_function_init_HashList = function init_HashList
	set ref_function_init_Matrices = function init_Matrices
	set ref_function_init_Quaternion = function init_Quaternion
	set ref_function_init_Framehandle = function init_Framehandle
	set ref_function_init_Group = function init_Group
	set ref_function_init_Lightning = function init_Lightning
	set ref_function_init_WeatherEffects = function init_WeatherEffects
	set ref_function_init_TypeCasting = function init_TypeCasting
	set ref_function_init_EventHelper = function init_EventHelper
	set ref_function_init_Test = function init_Test
	set ref_function_code__startPeriodic_GameTimer = function code__startPeriodic_GameTimer
endfunction

function main takes nothing returns nothing
	local trigger initTrig
	call initGlobals()
	call ExecuteFunc("initCompiletimeState_0")
	set initTrig = CreateTrigger()
	call TriggerAddCondition(initTrig, Condition(ref_function_init_AbilityIds))
	if  not TriggerEvaluate(initTrig) then
		call error("Could not initialize package AbilityIds.")
	endif
	call TriggerClearConditions(initTrig)
	call TriggerAddCondition(initTrig, Condition(ref_function_init_Real))
	if  not TriggerEvaluate(initTrig) then
		call error("Could not initialize package Real.")
	endif
	call TriggerClearConditions(initTrig)
	call TriggerAddCondition(initTrig, Condition(ref_function_init_Integer))
	if  not TriggerEvaluate(initTrig) then
		call error("Could not initialize package Integer.")
	endif
	call TriggerClearConditions(initTrig)
	call TriggerAddCondition(initTrig, Condition(ref_function_init_Angle))
	if  not TriggerEvaluate(initTrig) then
		call error("Could not initialize package Angle.")
	endif
	call TriggerClearConditions(initTrig)
	call TriggerAddCondition(initTrig, Condition(ref_function_init_String))
	if  not TriggerEvaluate(initTrig) then
		call error("Could not initialize package String.")
	endif
	call TriggerClearConditions(initTrig)
	call TriggerAddCondition(initTrig, Condition(ref_function_init_Vectors))
	if  not TriggerEvaluate(initTrig) then
		call error("Could not initialize package Vectors.")
	endif
	call TriggerClearConditions(initTrig)
	call TriggerAddCondition(initTrig, Condition(ref_function_init_Destructable))
	if  not TriggerEvaluate(initTrig) then
		call error("Could not initialize package Destructable.")
	endif
	call TriggerClearConditions(initTrig)
	call TriggerAddCondition(initTrig, Condition(ref_function_init_Player))
	if  not TriggerEvaluate(initTrig) then
		call error("Could not initialize package Player.")
	endif
	call TriggerClearConditions(initTrig)
	call TriggerAddCondition(initTrig, Condition(ref_function_init_Basics))
	if  not TriggerEvaluate(initTrig) then
		call error("Could not initialize package Basics.")
	endif
	call TriggerClearConditions(initTrig)
	call TriggerAddCondition(initTrig, Condition(ref_function_init_MagicFunctions))
	if  not TriggerEvaluate(initTrig) then
		call error("Could not initialize package MagicFunctions.")
	endif
	call TriggerClearConditions(initTrig)
	call TriggerAddCondition(initTrig, Condition(ref_function_init_Table))
	if  not TriggerEvaluate(initTrig) then
		call error("Could not initialize package Table.")
	endif
	call TriggerClearConditions(initTrig)
	call TriggerAddCondition(initTrig, Condition(ref_function_init_Playercolor))
	if  not TriggerEvaluate(initTrig) then
		call error("Could not initialize package Playercolor.")
	endif
	call TriggerClearConditions(initTrig)
	call TriggerAddCondition(initTrig, Condition(ref_function_init_Maths))
	if  not TriggerEvaluate(initTrig) then
		call error("Could not initialize package Maths.")
	endif
	call TriggerClearConditions(initTrig)
	call TriggerAddCondition(initTrig, Condition(ref_function_init_Colors))
	if  not TriggerEvaluate(initTrig) then
		call error("Could not initialize package Colors.")
	endif
	call TriggerClearConditions(initTrig)
	call TriggerAddCondition(initTrig, Condition(ref_function_init_Printing))
	if  not TriggerEvaluate(initTrig) then
		call error("Could not initialize package Printing.")
	endif
	call TriggerClearConditions(initTrig)
	call TriggerAddCondition(initTrig, Condition(ref_function_init_GameTimer))
	if  not TriggerEvaluate(initTrig) then
		call error("Could not initialize package GameTimer.")
	endif
	call TriggerClearConditions(initTrig)
	call TriggerAddCondition(initTrig, Condition(ref_function_init_ErrorHandling))
	if  not TriggerEvaluate(initTrig) then
		call error("Could not initialize package ErrorHandling.")
	endif
	call TriggerClearConditions(initTrig)
	call TriggerAddCondition(initTrig, Condition(ref_function_init_HashList))
	if  not TriggerEvaluate(initTrig) then
		call error("Could not initialize package HashList.")
	endif
	call TriggerClearConditions(initTrig)
	call TriggerAddCondition(initTrig, Condition(ref_function_init_Matrices))
	if  not TriggerEvaluate(initTrig) then
		call error("Could not initialize package Matrices.")
	endif
	call TriggerClearConditions(initTrig)
	call TriggerAddCondition(initTrig, Condition(ref_function_init_Quaternion))
	if  not TriggerEvaluate(initTrig) then
		call error("Could not initialize package Quaternion.")
	endif
	call TriggerClearConditions(initTrig)
	call TriggerAddCondition(initTrig, Condition(ref_function_init_Framehandle))
	if  not TriggerEvaluate(initTrig) then
		call error("Could not initialize package Framehandle.")
	endif
	call TriggerClearConditions(initTrig)
	call TriggerAddCondition(initTrig, Condition(ref_function_init_Group))
	if  not TriggerEvaluate(initTrig) then
		call error("Could not initialize package Group.")
	endif
	call TriggerClearConditions(initTrig)
	call TriggerAddCondition(initTrig, Condition(ref_function_init_Lightning))
	if  not TriggerEvaluate(initTrig) then
		call error("Could not initialize package Lightning.")
	endif
	call TriggerClearConditions(initTrig)
	call TriggerAddCondition(initTrig, Condition(ref_function_init_WeatherEffects))
	if  not TriggerEvaluate(initTrig) then
		call error("Could not initialize package WeatherEffects.")
	endif
	call TriggerClearConditions(initTrig)
	call TriggerAddCondition(initTrig, Condition(ref_function_init_TypeCasting))
	if  not TriggerEvaluate(initTrig) then
		call error("Could not initialize package TypeCasting.")
	endif
	call TriggerClearConditions(initTrig)
	call TriggerAddCondition(initTrig, Condition(ref_function_init_EventHelper))
	if  not TriggerEvaluate(initTrig) then
		call error("Could not initialize package EventHelper.")
	endif
	call TriggerClearConditions(initTrig)
	call TriggerAddCondition(initTrig, Condition(ref_function_init_Test))
	if  not TriggerEvaluate(initTrig) then
		call error("Could not initialize package Test.")
	endif
	call TriggerClearConditions(initTrig)
	call DestroyTrigger(initTrig)
endfunction

function config takes nothing returns nothing
endfunction