// this script was compiled with wurst 1.8.1.0-jenkins-Wurst-1365 globals // integer JASS_MAX_ARRAY_SIZE=0 // integer PLAYER_NEUTRAL_PASSIVE=0 // attacktype ATTACK_TYPE_NORMAL=null // mapcontrol MAP_CONTROL_USER=null // playerslotstate PLAYER_SLOT_STATE_PLAYING=null // playerevent EVENT_PLAYER_LEAVE=null // playerevent EVENT_PLAYER_END_CINEMATIC=null // playerunitevent EVENT_PLAYER_UNIT_ISSUED_ORDER=null // playerunitevent EVENT_PLAYER_UNIT_ISSUED_POINT_ORDER=null // playerunitevent EVENT_PLAYER_UNIT_ISSUED_TARGET_ORDER=null // playerunitevent EVENT_PLAYER_UNIT_DAMAGED=null // playerunitevent EVENT_PLAYER_UNIT_DAMAGING=null // unitevent EVENT_UNIT_DAMAGED=null // playerevent EVENT_PLAYER_ARROW_LEFT_DOWN=null // playerevent EVENT_PLAYER_ARROW_LEFT_UP=null // playerevent EVENT_PLAYER_ARROW_RIGHT_DOWN=null // playerevent EVENT_PLAYER_ARROW_RIGHT_UP=null // playerevent EVENT_PLAYER_ARROW_DOWN_DOWN=null // playerevent EVENT_PLAYER_ARROW_DOWN_UP=null // playerevent EVENT_PLAYER_ARROW_UP_DOWN=null // playerevent EVENT_PLAYER_ARROW_UP_UP=null // playerevent EVENT_PLAYER_MOUSE_DOWN=null // playerevent EVENT_PLAYER_MOUSE_UP=null // playerevent EVENT_PLAYER_MOUSE_MOVE=null // playerunitevent EVENT_PLAYER_UNIT_SPELL_EFFECT=null // blendmode BLEND_MODE_BLEND=null // texmapflags TEXMAP_FLAG_NONE=null // originframetype ORIGIN_FRAME_GAME_UI=null // integer bj_MAX_PLAYERS=0 // integer bj_MAX_PLAYER_SLOTS=0 // rect bj_mapInitialPlayableArea=null string array Base64_CHARMAP integer array Base64_REVERSE_CHARMAP player Basics_DUMMY_PLAYER=null integer array BitSet_pows integer array BitwiseInit_powShift playerevent ClosureEvents_EVENT_PLAYER_CHAT_FILTER=null trigger ClosureEvents_unitTrig=null trigger ClosureEvents_leaveTrig=null trigger ClosureEvents_keyTrig=null integer array ClosureEvents_eventidToIndex integer ClosureEvents_eventTypeCounter=0 integer EventListener_castMap=0 integer array EventListener_castMapCasters integer array EventListener_generalListenersFirsts integer array EventListener_unitListenersFirsts boolean EventListener_useMouseEvents=false integer array ClosureForGroups_tempCallbacks integer ClosureForGroups_iterCount=0 integer ClosureFrames_FRAME_MAP=0 integer ClosureKeyPresses_KEY_MAP=0 integer ClosureTimers_x=0 string array Colors_hexs integer Colors_decs=0 boolexpr array DamageDetection_func trigger DamageDetection_current=null trigger DamageDetection_toDestroy=null filterfunc DamageDetection_filter=null integer DamageEvent_DAMAGE_ELEMENT_ATTACK=0 integer DamageEvent_nextDamageId=0 integer DamageEvent_nextDamageType=0 integer DamageEvent_nextDamageElement=0 boolean DamageEvent_abort=false integer array DamageEvent_firstListeners integer array DamageEvent_firstUnreducedListeners integer DamageInstance_current=0 integer array DamageInstance_stack integer DamageInstance_count=0 real DummyRecycler_ANGLE_DEGREE=0. integer array DummyRecycler_angleQueues hashtable ErrorHandling_HT=null string ErrorHandling_lastError=null boolean ErrorHandling_suppressErrorMessages=false force Execute_executeForce=null boolean array Execute_tempCallbacksSuccess integer array Execute_tempCallbacks integer Execute_tempCallbacksCount=0 string FileIO_FILE_IO_ABIL_ID_STR=null integer ForceTests_testInt=0 framehandle Framehandle_GAME_UI=null integer GameStatus_gameStatus=0 real GameTimer_currentTime=0. integer GroupUtils_used=0 group array GroupUtils_stack integer GroupUtils_numStack=0 integer GroupUtils_numTotal=0 boolean GroupUtils_shownMaxError=false group Group_ENUM_GROUP=null hashtable HashList_ht=null hashtable HashList_occurences=null hashtable HashSet_position=null integer array LastOrder_lastOrder boolean MagicFunctions_compiletime=false rect MapBounds_playableMapRect=null rect MapBounds_boundRect=null region MapBounds_boundRegion=null real MapBounds_playableMin_x=0. real MapBounds_playableMin_y=0. real MapBounds_boundMin_x=0. real MapBounds_boundMin_y=0. real MapBounds_boundMax_x=0. real MapBounds_boundMax_y=0. trigger OnUnitEnterLeave_eventTrigger=null group OnUnitEnterLeave_preplacedUnits=null unit array OnUnitEnterLeave_tempUnits integer OnUnitEnterLeave_tempUnitsCount=0 player array Player_players player Player_localPlayer=null group Preloader_dumg=null unit Preloader_dum=null trigger array RegisterEvents_t integer RegisterEvents_onCastMap=0 string array StringUtils_c2s integer array StringUtils_s2c integer StringUtils_MAX_INDEX=0 integer SyncSimple_syncQueue=0 hashtable Table_ht=null timer array TimerUtils_freeTimers integer TimerUtils_freeTimersCount=0 integer TimerUtils_timerData=0 integer TypeCasting_typecastdata=0 trigger UnitIndexer_onIndexTrigger=null trigger UnitIndexer_onDeindexTrigger=null unit array UnitIndexer_tempUnits integer UnitIndexer_tempUnitsCount=0 hashtable hashtable_compiletime=null hashtable hashtable_compiletime_318=null hashtable hashtable_compiletime_319=null hashtable hashtable_compiletime_320=null hashtable hashtable_compiletime_321=null integer array Base64Decoder_typeId integer array ForForceCallback_nextFree integer ForForceCallback_firstFree=0 integer ForForceCallback_maxIndex=0 integer array ForForceCallback_typeId integer array Base64Encoder_typeId integer array ByteBuffer_typeId integer array ChunkedString_nextFree integer ChunkedString_firstFree=0 integer ChunkedString_maxIndex=0 integer array ChunkedString_typeId integer array CineSeq_typeId integer array Cinematic_typeId integer array CallbackSingle_nextFree integer CallbackSingle_firstFree=0 integer CallbackSingle_maxIndex=0 integer array CallbackSingle_typeId integer array EventListener_nextFree integer EventListener_firstFree=0 integer EventListener_maxIndex=0 integer array EventListener_typeId integer OnCastListener_firstFree=0 integer array OnCastListener_typeId integer array ForGroupCallback_nextFree integer ForGroupCallback_firstFree=0 integer ForGroupCallback_maxIndex=0 integer array ForGroupCallback_typeId integer Callback_firstFree=0 integer array Callback_typeId integer array DamageElement_nextFree integer DamageElement_firstFree=0 integer DamageElement_maxIndex=0 integer array DamageInstance_nextFree integer DamageInstance_firstFree=0 integer DamageInstance_maxIndex=0 integer array DamageInstance_typeId integer DummyCaster_firstFree=0 integer array DummyCaster_typeId integer array File_nextFree integer File_firstFree=0 integer File_maxIndex=0 integer array File_typeId integer HashList_firstFree=0 integer array HashList_typeId integer array Table_nextFree integer Table_firstFree=0 integer Table_maxIndex=0 integer array Table_typeId integer TerrainZProvider_firstFree=0 integer TerrainZProvider_maxIndex=0 integer WallHitTransform_firstFree=0 integer WallHitTransform_maxIndex=0 integer UnitFilter_firstFree=0 integer UnitFilter_maxIndex=0 integer array BackIterator_nextFree integer BackIterator_firstFree=0 integer BackIterator_maxIndex=0 integer array Iterator_nextFree integer Iterator_firstFree=0 integer Iterator_maxIndex=0 integer array Order_nextFree integer Order_firstFree=0 integer Order_maxIndex=0 integer array Order_typeId integer array BackIterator_nextFree_7 integer BackIterator_firstFree_3=0 integer BackIterator_maxIndex_5=0 integer array Iterator_nextFree_184 integer Iterator_firstFree_180=0 integer Iterator_maxIndex_182=0 integer Comparator_firstFree=0 integer Comparator_maxIndex=0 integer array LLEntry_nextFree integer LLEntry_firstFree=0 integer LLEntry_maxIndex=0 integer array LLEntry_typeId integer array LinkedList_nextFree integer LinkedList_firstFree=0 integer LinkedList_maxIndex=0 integer array LinkedList_typeId integer array IdGenerator_nextFree integer IdGenerator_firstFree=0 integer IdGenerator_maxIndex=0 integer OrderStringFactory_firstFree=0 integer OrderStringFactory_maxIndex=0 integer BufferSyncListener_firstFree=0 integer array BufferSyncListener_typeId integer Sim3DSound_firstFree=0 integer array Sim3DSound_typeId integer array SoundDefinition_typeId integer SoundInstance_firstFree=0 integer array SoundInstance_typeId integer array StringIterator_nextFree integer StringIterator_firstFree=0 integer StringIterator_maxIndex=0 integer array StringIterator_typeId integer StringSyncListener_firstFree=0 integer array StringSyncListener_typeId integer BoolSyncListener_firstFree=0 integer array BoolSyncListener_typeId integer IntSyncListener_firstFree=0 integer array IntSyncListener_typeId integer RealSyncListener_firstFree=0 integer array RealSyncListener_typeId integer SyncData_firstFree=0 integer array SyncData_typeId integer array UnitIndex_nextFree integer UnitIndex_firstFree=0 integer UnitIndex_maxIndex=0 integer array UnitIndex_typeId integer array Base64Decoder_byteBuffer string array Base64Decoder_buffer integer array Base64Decoder_bufferLength integer array data_309 integer array this_459 integer array Base64Encoder_chunkedString string array Base64Encoder_stringBuffer integer array Base64Encoder_chars integer array Base64Encoder_buffer integer array Base64Encoder_bytes integer array data integer array this_458 integer array ByteBuffer_storage integer array ByteBuffer_intCount integer array ByteBuffer_buffer integer array ByteBuffer_bufferLength integer array ByteBuffer_readBuffer integer array ByteBuffer_readBufferIndex integer array ByteBuffer_readIndex integer array ChunkedString_table integer array ChunkedString_chunkSize integer array ChunkedString_chunkCount integer array ChunkedString_readIndex string array ChunkedString_buffer boolean array Cinematic_running integer array this_460 integer array sequence integer array ending real array duration_seconds real array duration_seconds_314 camerasetup array setup real array pos_x real array pos_y real array duration_seconds_315 integer array EventListener_eventId integer array EventListener_uid integer array EventListener_next integer array EventListener_prev integer array OnCastListener_next integer array OnCastListener_prev integer array OnCastListener_abilId unit array OnCastListener_eventUnit integer array FrameHandleListener_next integer array KeyPressListener_next integer array cb timerdialog array dia timer array CallbackSingle_t real array DamageInstance_amount attacktype array DamageInstance_nativeAttackType damagetype array DamageInstance_nativeDamageType weapontype array DamageInstance_nativeWeaponType integer array DamageListener_next integer array DummyCaster_castCount integer array this unit array dummy integer array id unit array u effect array this_461 effect array this_462 string array File_filename integer array createNow integer array HashList_size integer array HashMap_size integer array IterableMap_keys boolean array IterableMap__destroyed integer array Order_prev unit array Order_orderedUnit integer array result integer array LLEntry_elem integer array LLEntry_prev integer array LLEntry_next integer array LinkedList_dummy integer array LinkedList_size integer array SoundDefinition_soundStack integer array SoundDefinition_duration integer array this_463 integer array snd integer array this_464 integer array snd_455 integer array this_465 integer array snd_456 integer array this_466 integer array instance real array SoundInstance_pos_x real array SoundInstance_pos_y real array SoundInstance_pos_z sound array SoundInstance_snd integer array SoundInstance_soundDef unit array SoundInstance_onUnit player array SoundInstance_p integer array SoundInstance_s3s string array StringIterator_s integer array StringIterator_currentpos integer array StringIterator_stringLen integer array listener integer array listener_325 integer array listener_326 integer array SyncData_slistener integer array SyncData_blistener player array SyncData_syncer string array SyncData_data integer array SyncData_buffer integer array SyncData_syncBuffer unit array UnitIndex__unit integer wurst_stack_depth=0 string array wurst_stack integer char_return_c=0 real dispatch_CineSeq_Cinematic_CineSeq_apply_return_seconds=0. code ref_function_init_Abilities=null code ref_function_init_AbilityIds=null code ref_function_init_Real=null code ref_function_init_Integer=null code ref_function_init_BitSet=null code ref_function_init_String=null code ref_function_init_TargetsAllowed=null code ref_function_init_Angle=null code ref_function_init_Vectors=null code ref_function_init_Destructable=null code ref_function_init_Player=null code ref_function_init_Maths=null code ref_function_init_Printing=null code ref_function_init_MagicFunctions=null code ref_function_init_Basics=null code ref_function_init_GameTimer=null code ref_function_init_ErrorHandling=null code ref_function_init_Matrices=null code ref_function_init_Quaternion=null code ref_function_init_Table=null code ref_function_init_Playercolor=null code ref_function_bridge_init_Colors=null code ref_function_bridge_init_Framehandle=null code ref_function_init_Group=null code ref_function_init_Lightning=null code ref_function_init_WeatherEffects=null code ref_function_bridge_init_TypeCasting=null code ref_function_init_HashList=null code ref_function_bridge_init_EventHelper=null code ref_function_init_AbilityObjEditing=null code ref_function_init_AttachmentPoints=null code ref_function_init_BitwiseInit=null code ref_function_init_ClosureForGroups=null code ref_function_bridge_init_LinkedList=null code ref_function_bridge_init_StringUtils=null code ref_function_init_SafetyChecks=null code ref_function_init_ChunkedString=null code ref_function_init_Execute=null code ref_function_init_Base64=null code ref_function_init_Base64Tests=null code ref_function_init_BigNum=null code ref_function_init_BuffIds=null code ref_function_init_Buildings=null code ref_function_init_ObjectIds=null code ref_function_bridge_init_TimerUtils=null code ref_function_init_ClosureTimers=null code ref_function_init_UnitIds=null code ref_function_init_MapBounds=null code ref_function_bridge_init_Preloader=null code ref_function_bridge_init_ObjectIdGenerator=null code ref_function_init_Icons=null code ref_function_bridge_init_ChannelAbilityPreset=null code ref_function_bridge_init_RegisterEvents=null code ref_function_init_Orders=null code ref_function_bridge_init_OnUnitEnterLeave=null code ref_function_init_UnitIndexer=null code ref_function_bridge_init_ClosureEvents=null code ref_function_bridge_init_ClosureFrames=null code ref_function_bridge_init_ClosureKeyPresses=null code ref_function_init_DamageDetection=null code ref_function_bridge_init_DamageEvent=null code ref_function_bridge_init_DialogBox=null code ref_function_init_Doodads=null code ref_function_bridge_init_DummyRecycler=null code ref_function_bridge_init_FileIO=null code ref_function_init_ForceTests=null code ref_function_init_FramehandleNames=null code ref_function_init_GameStatus=null code ref_function_bridge_init_GroupUtils=null code ref_function_init_HashListTests=null code ref_function_init_HashSet=null code ref_function_init_InstantDummyCaster=null code ref_function_init_ItemIds=null code ref_function_init_TerrainUtils=null code ref_function_init_Objects=null code ref_function_bridge_init_Knockback3=null code ref_function_init_LastOrder=null code ref_function_bridge_init_LinkedListModuleTests=null code ref_function_init_PathingMaps=null code ref_function_init_Raycast=null code ref_function_bridge_init_SyncSimple=null code ref_function_init_SaveLoadData=null code ref_function_init_Serializable=null code ref_function_init_Simulate3dSound=null code ref_function_init_Sounds=null code ref_function_init_SoundUtils=null code ref_function_init_Soundsets=null code ref_function_init_StandardTextTags=null code ref_function_init_Textures=null code ref_function_init_Tiles=null code ref_function_init_UI=null code ref_function_init_UnitAnimations=null code ref_function_init_Units=null code ref_function_init_UpgradeObjEditing=null code ref_function_code__onUnitIndex_ClosureEvents=null code ref_function_bridge_code__onUnitDeindex_ClosureEvents=null code ref_function_bridge_EventListener_generalEventCallback=null code ref_function_bridge_code__Filter_ClosureForGroups=null code ref_function_bridge_onEvent=null code ref_function_bridge_onEvent_370=null code ref_function_code__Filter_DamageDetection=null code ref_function_code__onEnter_DamageDetection=null code ref_function_swap=null code ref_function_bridge_executeCurrentCallback=null code ref_function_code__startPeriodic_GameTimer=null code ref_function_bridge_actions=null code ref_function_bridge_actions_331=null code ref_function_bridge_actions_332=null code ref_function_spellActions=null code ref_function_bridge_code__onUnitDeindex_LastOrder=null code ref_function_bridge_code__addAction_SyncSimple=null code ref_function_bridge_code__onEnter_UnitIndexer=null code ref_function_bridge_code__onLeave_UnitIndexer=null code ref_function_bridge_code__addAction_nullTimer_ClosureEvents=null code ref_function_bridge_code__addAction_nullTimer_ClosureEvents_336=null code ref_function_bridge_code__addAction_nullTimer_ClosureEvents_337=null code ref_function_bridge_code__registerPlayerUnitEvent_nullTimer_ClosureEvents=null code ref_function_bridge_code__start_CallbackSingle_ClosureTimers=null code ref_function_code__Filter_registerEnterRegion_nullTimer_OnUnitEnterLeave=null code ref_function_code__registerPlayerUnitEvent_nullTimer_OnUnitEnterLeave=null code ref_function_code__ForGroup_nullTimer_OnUnitEnterLeave=null code ref_function_bridge_code__registerPlayerUnitEvent_RegisterEvents=null endglobals function Loglevel_getTag takes integer this_1 returns string if this_1 == 0 then return "|cffADADADtrace|r" elseif this_1 == 1 then return "|cff2685DCdebug|r" elseif this_1 == 2 then return "|cffFFCC00info|r" elseif this_1 == 3 then return "|cffF47E3Ewarning|r" else return "|cffFB2700error|r" endif endfunction function compileError takes string msg returns nothing endfunction function error takes string msg, string w__wurst_stackPos returns nothing local integer hash local integer stacktraceIndex local integer stacktraceLimit local string stacktraceStr local player showTo set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 if MagicFunctions_compiletime then call compileError("ERROR: " + msg) else if not ErrorHandling_suppressErrorMessages then set hash = StringHash(msg) if HaveSavedInteger(ErrorHandling_HT, -1, hash) then if LoadInteger(ErrorHandling_HT, -1, hash) + 60 < GameTimer_currentTime then set w__wurst_stackPos = msg set stacktraceStr = "" set stacktraceIndex = wurst_stack_depth set stacktraceLimit = 0 loop set stacktraceIndex = stacktraceIndex - 1 set stacktraceLimit = stacktraceLimit + 1 exitwhen stacktraceLimit > 20 or stacktraceIndex < 0 set stacktraceStr = stacktraceStr + "\n " + wurst_stack[stacktraceIndex] endloop set w__wurst_stackPos = w__wurst_stackPos + stacktraceStr set showTo = Player_localPlayer if 2 <= 4 then call DisplayTimedTextToPlayer(showTo, 0., 0., 45., Loglevel_getTag(4) + " - " + w__wurst_stackPos) endif call SaveInteger(ErrorHandling_HT, -1, hash, R2I(GameTimer_currentTime)) call SaveBoolean(ErrorHandling_HT, -1, hash, false) elseif HaveSavedBoolean(ErrorHandling_HT, -1, hash) then if not LoadBoolean(ErrorHandling_HT, -1, hash) then set showTo = Player_localPlayer if 2 <= 4 then call DisplayTimedTextToPlayer(showTo, 0., 0., 45., Loglevel_getTag(4) + " - " + "|cffFF3A29Excessive repeating errors are being omitted") endif call SaveBoolean(ErrorHandling_HT, -1, hash, true) endif else set showTo = Player_localPlayer if 2 <= 4 then call DisplayTimedTextToPlayer(showTo, 0., 0., 45., Loglevel_getTag(4) + " - " + "|cffFF3A29Excessive repeating errors are being omitted") endif call SaveBoolean(ErrorHandling_HT, -1, hash, true) endif else call SaveInteger(ErrorHandling_HT, -1, hash, R2I(GameTimer_currentTime)) set w__wurst_stackPos = "Message: " + msg set stacktraceStr = "" set stacktraceIndex = wurst_stack_depth set hash = 0 loop set stacktraceIndex = stacktraceIndex - 1 set hash = hash + 1 exitwhen hash > 20 or stacktraceIndex < 0 set stacktraceStr = stacktraceStr + "\n " + wurst_stack[stacktraceIndex] endloop set w__wurst_stackPos = w__wurst_stackPos + stacktraceStr set showTo = Player_localPlayer if 2 <= 4 then call DisplayTimedTextToPlayer(showTo, 0., 0., 45., Loglevel_getTag(4) + " - " + w__wurst_stackPos) endif endif endif set ErrorHandling_lastError = msg call I2S(1 / 0) endif set wurst_stack_depth = wurst_stack_depth - 1 endfunction function initCompiletimeState_0 takes nothing returns nothing set hashtable_compiletime_321 = InitHashtable() set hashtable_compiletime_320 = InitHashtable() set hashtable_compiletime_319 = InitHashtable() set hashtable_compiletime_318 = InitHashtable() set hashtable_compiletime = InitHashtable() call SaveInteger(hashtable_compiletime_320, 1, -242600650, 0) call SaveInteger(hashtable_compiletime_320, 1, 1132341824, 1) call SaveInteger(hashtable_compiletime_320, 1, -647782241, 2) call SaveInteger(hashtable_compiletime_320, 1, -854572045, 3) call SaveInteger(hashtable_compiletime_320, 1, -680649701, 4) call SaveInteger(hashtable_compiletime_320, 1, -943650483, 5) call SaveInteger(hashtable_compiletime_320, 1, -671760605, 6) call SaveInteger(hashtable_compiletime_320, 1, 349230650, 7) call SaveInteger(hashtable_compiletime_320, 1, -1894922563, 8) call SaveInteger(hashtable_compiletime_320, 1, -1474492777, 9) call SaveInteger(hashtable_compiletime_320, 1, -1587459251, 10) call SaveInteger(hashtable_compiletime_320, 1, -1676716706, 11) call SaveInteger(hashtable_compiletime_320, 1, -1559655710, 12) call SaveInteger(hashtable_compiletime_320, 1, -1663695754, 13) call SaveInteger(hashtable_compiletime_320, 1, 597637742, 14) call SaveInteger(hashtable_compiletime_320, 1, 789744696, 15) call SaveStr(hashtable_compiletime_320, 2, 0, "") call SaveStr(hashtable_compiletime_320, 2, 1804483594, "air") call SaveStr(hashtable_compiletime_320, 2, -1221441622, "debris") call SaveStr(hashtable_compiletime_320, 2, -681966791, "ground") call SaveStr(hashtable_compiletime_320, 2, -1912775212, "invulnerable") call SaveStr(hashtable_compiletime_320, 2, 392811314, "item") call SaveStr(hashtable_compiletime_320, 2, 124309475, "structure") call SaveStr(hashtable_compiletime_320, 2, -543400682, "vulnerable") call SaveStr(hashtable_compiletime_320, 2, -85648186, "ward") call SaveStr(hashtable_compiletime_320, 2, -612826229, "Avul") call SaveStr(hashtable_compiletime_320, 2, 1282521876, "Aloc") call SaveStr(hashtable_compiletime_320, 2, -844489484, "AM02") call SaveStr(hashtable_compiletime_320, 2, 512215473, "Agho") call SaveInteger(hashtable_compiletime_320, 58, 0, 0) call SaveInteger(hashtable_compiletime_320, 58, 1, 0) call SaveInteger(hashtable_compiletime_320, 58, 2, 0) call SaveInteger(hashtable_compiletime_320, 58, 3, 0) call SaveInteger(hashtable_compiletime_320, 58, 4, 0) call SaveInteger(hashtable_compiletime_320, 58, 5, 0) call SaveInteger(hashtable_compiletime_320, 58, 6, 0) call SaveInteger(hashtable_compiletime_320, 58, 7, 0) call SaveInteger(hashtable_compiletime_320, 58, 8, 0) call SaveInteger(hashtable_compiletime_320, 58, 9, 0) call SaveInteger(hashtable_compiletime_320, 58, 10, 0) call SaveInteger(hashtable_compiletime_320, 58, 11, 0) call SaveInteger(hashtable_compiletime_320, 58, 12, 0) call SaveInteger(hashtable_compiletime_320, 58, 13, 0) call SaveInteger(hashtable_compiletime_320, 58, 14, 0) call SaveInteger(hashtable_compiletime_320, 58, 15, 0) call SaveInteger(hashtable_compiletime_320, 58, 16, 0) call SaveInteger(hashtable_compiletime_320, 58, 17, 0) call SaveInteger(hashtable_compiletime_320, 58, 18, 0) call SaveInteger(hashtable_compiletime_320, 58, 19, 0) call SaveInteger(hashtable_compiletime_320, 58, 20, 0) call SaveInteger(hashtable_compiletime_320, 58, 21, 0) call SaveInteger(hashtable_compiletime_320, 58, 22, 0) call SaveInteger(hashtable_compiletime_320, 58, 23, 0) call SaveInteger(hashtable_compiletime_320, 58, 24, 0) call SaveInteger(hashtable_compiletime_320, 58, 25, 0) call SaveInteger(hashtable_compiletime_320, 58, 26, 0) call SaveInteger(hashtable_compiletime_320, 58, 27, 0) call SaveInteger(hashtable_compiletime_320, 58, 28, 0) call SaveInteger(hashtable_compiletime_320, 58, 29, 0) call SaveInteger(hashtable_compiletime_320, 58, 30, 0) call SaveInteger(hashtable_compiletime_320, 58, 31, 0) call SaveInteger(hashtable_compiletime_320, 58, 32, 0) call SaveInteger(hashtable_compiletime_320, 58, 33, 0) call SaveInteger(hashtable_compiletime_320, 58, 34, 0) call SaveInteger(hashtable_compiletime_320, 58, 35, 0) call SaveInteger(hashtable_compiletime_320, 58, 36, 0) call SaveInteger(hashtable_compiletime_320, 58, 37, 0) call SaveInteger(hashtable_compiletime_320, 58, 38, 0) call SaveInteger(hashtable_compiletime_320, 58, 39, 0) call SaveInteger(hashtable_compiletime_320, 58, 40, 0) call SaveInteger(hashtable_compiletime_320, 58, 41, 0) call SaveInteger(hashtable_compiletime_320, 58, 42, 0) call SaveInteger(hashtable_compiletime_320, 58, 43, 0) call SaveInteger(hashtable_compiletime_320, 58, 44, 0) call SaveInteger(hashtable_compiletime_320, 58, 45, 0) call SaveInteger(hashtable_compiletime_320, 58, 46, 0) call SaveInteger(hashtable_compiletime_320, 58, 47, 0) call SaveInteger(hashtable_compiletime_320, 58, 48, 0) call SaveInteger(hashtable_compiletime_320, 58, 49, 0) call SaveInteger(hashtable_compiletime_320, 58, 50, 0) call SaveInteger(hashtable_compiletime_320, 58, 51, 0) call SaveInteger(hashtable_compiletime_320, 58, 52, 0) call SaveInteger(hashtable_compiletime_320, 58, 53, 0) call SaveInteger(hashtable_compiletime_320, 58, 54, 0) call SaveInteger(hashtable_compiletime_320, 58, 55, 0) call SaveInteger(hashtable_compiletime_320, 58, 56, 0) call SaveInteger(hashtable_compiletime_320, 58, 57, 0) call SaveInteger(hashtable_compiletime_320, 58, 58, 0) call SaveInteger(hashtable_compiletime_320, 58, 59, 0) call SaveInteger(hashtable_compiletime_320, 58, 60, 0) call SaveInteger(hashtable_compiletime_320, 58, 61, 0) call SaveInteger(hashtable_compiletime_320, 58, 62, 0) call SaveInteger(hashtable_compiletime_320, 58, 63, 0) endfunction function dispatch_DamageInstance_destroyDamageInstance takes integer this_1, string w__wurst_stackPos returns nothing set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 if DamageInstance_typeId[this_1] == 0 then if this_1 == 0 then call error("Nullpointer exception when calling DamageInstance.DamageInstance", "when calling error in DamageEvent, line 114") else call error("Called DamageInstance.DamageInstance on invalid object.", "when calling error in DamageEvent, line 114") endif endif set wurst_stack[wurst_stack_depth] = "when calling destroyDamageInstance in DamageEvent, line 114" set wurst_stack_depth = wurst_stack_depth + 1 set DamageInstance_count = DamageInstance_count - 1 set DamageInstance_current = DamageInstance_stack[DamageInstance_count] set wurst_stack[wurst_stack_depth] = "when calling dealloc_DamageInstance in DamageEvent, line 162" set wurst_stack_depth = wurst_stack_depth + 1 if DamageInstance_typeId[this_1] == 0 then call error("Double free: object of type DamageInstance", "when calling error in DamageEvent, line 114") else set DamageInstance_nextFree[DamageInstance_firstFree] = this_1 set DamageInstance_firstFree = DamageInstance_firstFree + 1 set DamageInstance_typeId[this_1] = 0 endif set wurst_stack_depth = wurst_stack_depth - 1 - 1 - 1 endfunction function DamageEvent_onDamage takes string w__wurst_stackPos returns nothing local integer dmg local integer i local integer temp local integer listener_1 local real amount set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 set dmg = DamageInstance_current if not DamageEvent_abort then set amount = GetEventDamage() set wurst_stack[wurst_stack_depth] = "when calling setReducedAmount in DamageEvent, line 222" set wurst_stack_depth = wurst_stack_depth + 1 if DamageInstance_typeId[dmg] == 0 then if dmg == 0 then call error("Nullpointer exception when calling DamageInstance.setReducedAmount", "when calling error in DamageEvent, line 157") else call error("Called DamageInstance.setReducedAmount on invalid object.", "when calling error in DamageEvent, line 157") endif endif set DamageInstance_amount[dmg] = amount set wurst_stack_depth = wurst_stack_depth - 1 set i = 0 set temp = 0 loop exitwhen i > temp set listener_1 = DamageEvent_firstListeners[i] loop exitwhen listener_1 == 0 if DamageEvent_abort then set DamageInstance_amount[dmg] = 0. exitwhen true else set listener_1 = DamageListener_next[listener_1] endif endloop exitwhen DamageEvent_abort set i = i + 1 endloop call BlzSetEventAttackType(DamageInstance_nativeAttackType[dmg]) call BlzSetEventDamageType(DamageInstance_nativeDamageType[dmg]) call BlzSetEventWeaponType(DamageInstance_nativeWeaponType[dmg]) call BlzSetEventDamage(DamageInstance_amount[dmg]) endif call dispatch_DamageInstance_destroyDamageInstance(dmg, "when calling dispatch_DamageInstance_destroyDamageInstance in DamageEvent, line 240") set DamageEvent_abort = false set wurst_stack_depth = wurst_stack_depth - 1 endfunction function new_DamageInstance takes integer id_1, unit source, unit target, real unreducedAmount, attacktype nativeAttackType, damagetype nativeDamageType, weapontype nativeWeaponType, integer damageType, integer damageElement, string w__wurst_stackPos returns integer set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 set wurst_stack[wurst_stack_depth] = "when calling alloc_DamageInstance in DamageEvent, line 133" set wurst_stack_depth = wurst_stack_depth + 1 if DamageInstance_firstFree == 0 then if DamageInstance_maxIndex < 32768 then set DamageInstance_maxIndex = DamageInstance_maxIndex + 1 set id_1 = DamageInstance_maxIndex set DamageInstance_typeId[id_1] = 1700 else call error("Out of memory: Could not create DamageInstance.", "when calling error in DamageEvent, line 114") set id_1 = 0 endif else set DamageInstance_firstFree = DamageInstance_firstFree - 1 set id_1 = DamageInstance_nextFree[DamageInstance_firstFree] set DamageInstance_typeId[id_1] = 1700 endif set wurst_stack_depth = wurst_stack_depth - 1 set DamageInstance_amount[id_1] = unreducedAmount set DamageInstance_nativeAttackType[id_1] = nativeAttackType set DamageInstance_nativeDamageType[id_1] = nativeDamageType set DamageInstance_nativeWeaponType[id_1] = nativeWeaponType set DamageInstance_count = DamageInstance_count + 1 set DamageInstance_stack[DamageInstance_count] = id_1 set DamageInstance_current = id_1 set wurst_stack_depth = wurst_stack_depth - 1 return id_1 endfunction function DamageEvent_onUnreducedDamage takes string w__wurst_stackPos returns nothing local real amount local attacktype attackType local integer dmg local integer i local integer temp local integer listener_1 set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 set amount = GetEventDamage() set attackType = BlzGetEventAttackType() if DamageEvent_nextDamageType == 4 then if attackType == ATTACK_TYPE_NORMAL then set DamageEvent_nextDamageType = 1 else set DamageEvent_nextDamageType = 0 set DamageEvent_nextDamageElement = DamageEvent_DAMAGE_ELEMENT_ATTACK endif endif set dmg = new_DamageInstance(DamageEvent_nextDamageId, GetEventDamageSource(), GetTriggerUnit(), amount, attackType, BlzGetEventDamageType(), BlzGetEventWeaponType(), DamageEvent_nextDamageType, DamageEvent_nextDamageElement, "when calling new_DamageInstance in DamageEvent, line 196") set DamageEvent_nextDamageId = 0 set DamageEvent_nextDamageType = 4 set DamageEvent_nextDamageElement = 0 set i = 0 set temp = 0 loop exitwhen i > temp set listener_1 = DamageEvent_firstUnreducedListeners[i] loop exitwhen listener_1 == 0 if DamageEvent_abort then set DamageInstance_amount[dmg] = 0. exitwhen true else set listener_1 = DamageListener_next[listener_1] endif endloop exitwhen DamageEvent_abort set i = i + 1 endloop call BlzSetEventAttackType(DamageInstance_nativeAttackType[dmg]) call BlzSetEventDamageType(DamageInstance_nativeDamageType[dmg]) call BlzSetEventWeaponType(DamageInstance_nativeWeaponType[dmg]) call BlzSetEventDamage(DamageInstance_amount[dmg]) set wurst_stack_depth = wurst_stack_depth - 1 endfunction function dispatch_EventListener_ClosureEvents_EventListener_onEvent takes integer this_1, string w__wurst_stackPos returns nothing set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 if EventListener_typeId[this_1] == 0 then if this_1 == 0 then call error("Nullpointer exception when calling EventListener.onEvent", "when calling error in ClosureEvents, line 117") else call error("Called EventListener.onEvent on invalid object.", "when calling error in ClosureEvents, line 117") endif endif set wurst_stack[wurst_stack_depth] = "when calling onEvent_add_DamageEvent in ClosureEvents, line 117" set wurst_stack_depth = wurst_stack_depth + 1 if EventListener_typeId[this_1] <= 1920 then call DamageEvent_onUnreducedDamage("when calling onUnreducedDamage in DamageEvent, line 474") set wurst_stack_depth = wurst_stack_depth - 1 else call DamageEvent_onDamage("when calling onDamage in DamageEvent, line 475") set wurst_stack_depth = wurst_stack_depth - 1 endif set wurst_stack_depth = wurst_stack_depth - 1 endfunction function registerPlayerUnitEvent takes playerunitevent p, code filter, code condition, code action returns nothing local integer hid = GetHandleId(p) local integer k local filterfunc cond_result local trigger temp local player temp_1 if RegisterEvents_t[hid] == null then set RegisterEvents_t[hid] = CreateTrigger() set k = bj_MAX_PLAYER_SLOTS - 1 loop exitwhen k < 0 set temp = RegisterEvents_t[hid] set temp_1 = Player_players[k] if filter != null then set cond_result = Filter(filter) else set cond_result = null endif call TriggerRegisterPlayerUnitEvent(temp, temp_1, p, cond_result) set k = k - 1 endloop endif if condition != null then call TriggerAddCondition(RegisterEvents_t[hid], Filter(condition)) endif if action != null then call TriggerAddAction(RegisterEvents_t[hid], action) endif endfunction function registerEventId takes eventid evnt, string w__wurst_stackPos returns integer local integer eventId local trigger receiver local integer eventId_1 local boolean andLeft set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 set eventId = GetHandleId(evnt) set ClosureEvents_eventTypeCounter = ClosureEvents_eventTypeCounter + 1 set ClosureEvents_eventidToIndex[eventId] = ClosureEvents_eventTypeCounter set eventId_1 = GetHandleId(evnt) if (eventId_1 >= 18 and eventId_1 <= 51) or (eventId_1 >= 269 and eventId_1 <= 277) or eventId_1 == 315 or eventId_1 == 308 then call registerPlayerUnitEvent(ConvertPlayerUnitEvent(eventId), null, ref_function_bridge_EventListener_generalEventCallback, null) else if evnt != EVENT_UNIT_DAMAGED and evnt != EVENT_PLAYER_LEAVE and evnt != ClosureEvents_EVENT_PLAYER_CHAT_FILTER then set eventId_1 = GetHandleId(evnt) set andLeft = eventId_1 < 261 or eventId_1 > 268 and eventId_1 != 17 else set andLeft = false endif if andLeft then set eventId_1 = GetHandleId(evnt) set andLeft = eventId_1 < 305 or eventId_1 > 307 else set andLeft = false endif if andLeft then call error("registering handleid: " + I2S(eventId) + " non-playerunitevent. Except EVENT_UNIT_DAMAGED and EVENT_PLAYER_LEAVE these are not supported right now.", "when calling error in ClosureEvents, line 256") endif endif set eventId = GetHandleId(evnt) if eventId >= 305 and eventId <= 307 and ( not EventListener_useMouseEvents) then set EventListener_useMouseEvents = true set eventId = 0 set eventId_1 = bj_MAX_PLAYERS - 1 loop exitwhen eventId > eventId_1 set receiver = ClosureEvents_keyTrig call TriggerRegisterPlayerEvent(receiver, Player_players[eventId], EVENT_PLAYER_MOUSE_UP) call TriggerRegisterPlayerEvent(receiver, Player_players[eventId], EVENT_PLAYER_MOUSE_DOWN) call TriggerRegisterPlayerEvent(receiver, Player_players[eventId], EVENT_PLAYER_MOUSE_MOVE) set eventId = eventId + 1 endloop endif set wurst_stack_depth = wurst_stack_depth - 1 return ClosureEvents_eventTypeCounter endfunction function EventListener_generalEventCallback takes string w__wurst_stackPos returns nothing local unit trigUnit local integer id_1 local integer listener_1 local integer nextListener local eventid this_1 local boolean andLeft set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 set trigUnit = GetTriggerUnit() set this_1 = GetTriggerEventId() set wurst_stack[wurst_stack_depth] = "when calling toIntId in ClosureEvents, line 180" set wurst_stack_depth = wurst_stack_depth + 1 set id_1 = ClosureEvents_eventidToIndex[GetHandleId(this_1)] if id_1 == 0 then set id_1 = registerEventId(this_1, "when calling registerEventId in ClosureEvents, line 243") endif set wurst_stack_depth = wurst_stack_depth - 1 if trigUnit != null then set andLeft = GetUnitUserData(trigUnit) > 0 else set andLeft = false endif if andLeft then if EventListener_unitListenersFirsts[GetUnitUserData(trigUnit)] != 0 then set listener_1 = EventListener_unitListenersFirsts[GetUnitUserData(trigUnit)] loop exitwhen listener_1 == 0 set nextListener = EventListener_next[listener_1] if EventListener_eventId[listener_1] == id_1 then call dispatch_EventListener_ClosureEvents_EventListener_onEvent(listener_1, "when calling onEvent in ClosureEvents, line 188") endif set listener_1 = nextListener endloop endif endif if EventListener_generalListenersFirsts[id_1] != 0 then set id_1 = EventListener_generalListenersFirsts[id_1] loop exitwhen id_1 == 0 set listener_1 = EventListener_next[id_1] call dispatch_EventListener_ClosureEvents_EventListener_onEvent(id_1, "when calling onEvent in ClosureEvents, line 195") set id_1 = listener_1 endloop endif set wurst_stack_depth = wurst_stack_depth - 1 endfunction function bridge_EventListener_generalEventCallback takes nothing returns nothing set wurst_stack_depth = 0 call EventListener_generalEventCallback("via function reference ClosureEvents, line 254") endfunction function conditions takes nothing returns boolean local integer id_1 = GetIssuedOrderId() local boolean andLeft if id_1 == 851971 or id_1 == 851986 or id_1 == 851983 or id_1 == 851984 or id_1 == 851990 or id_1 == 851993 or (id_1 >= 852055 and id_1 <= 852762) then set andLeft = ( not (id_1 == 852055 or id_1 == 852056 or id_1 == 852064 or id_1 == 852065 or id_1 == 852067 or id_1 == 852068 or id_1 == 852076 or id_1 == 852077 or id_1 == 852090 or id_1 == 852091 or id_1 == 852100 or id_1 == 852102 or id_1 == 852103 or id_1 == 852107 or id_1 == 852108 or id_1 == 852129 or id_1 == 852130 or id_1 == 852133 or id_1 == 852134 or id_1 == 852136 or id_1 == 852137 or id_1 == 852150 or id_1 == 852151 or id_1 == 852174 or id_1 == 852158 or id_1 == 852159 or id_1 == 852162 or id_1 == 852163 or id_1 == 852174 or id_1 == 852175 or id_1 == 852177 or id_1 == 852178 or id_1 == 852191 or id_1 == 852192 or id_1 == 852198 or id_1 == 852199 or id_1 == 852203 or id_1 == 852204 or id_1 == 852212 or id_1 == 852213 or id_1 == 852244 or id_1 == 852245 or id_1 == 852249 or id_1 == 852250 or id_1 == 852255 or id_1 == 852256 or id_1 == 852458 or id_1 == 852459 or id_1 == 852478 or id_1 == 852479 or id_1 == 852484 or id_1 == 852485 or id_1 == 852515 or id_1 == 852516 or id_1 == 852522 or id_1 == 852523 or id_1 == 852540)) and ( not (id_1 == 852541)) and id_1 != 852543 and id_1 != 852544 and id_1 != 852546 and id_1 != 852547 and id_1 != 852549 and id_1 != 852550 and id_1 != 852552 and id_1 != 852553 and id_1 != 852562 and id_1 != 852563 and id_1 != 852571 and id_1 != 852578 and id_1 != 852579 and id_1 != 852589 and id_1 != 852590 and id_1 != 852602 and id_1 != 852603 and id_1 != 852671 and id_1 != 852672 else set andLeft = false endif return andLeft endfunction function Order_onDestroy takes integer this_1, string w__wurst_stackPos returns nothing local integer this_2 set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 if Order_prev[this_1] != 0 then set this_2 = Order_prev[this_1] set wurst_stack[wurst_stack_depth] = "when calling dispatch_Order_destroyOrder in LastOrder, line 74" set wurst_stack_depth = wurst_stack_depth + 1 if Order_typeId[this_2] == 0 then if this_2 == 0 then call error("Nullpointer exception when calling Order.Order", "when calling error in LastOrder, line 33") else call error("Called Order.Order on invalid object.", "when calling error in LastOrder, line 33") endif endif set wurst_stack[wurst_stack_depth] = "when calling destroyOrder in LastOrder, line 33" set wurst_stack_depth = wurst_stack_depth + 1 call Order_onDestroy(this_2, "when calling Order_onDestroy in LastOrder, line 72") set wurst_stack[wurst_stack_depth] = "when calling dealloc_Order in LastOrder, line 72" set wurst_stack_depth = wurst_stack_depth + 1 if Order_typeId[this_2] == 0 then call error("Double free: object of type Order", "when calling error in LastOrder, line 33") else set Order_nextFree[Order_firstFree] = this_2 set Order_firstFree = Order_firstFree + 1 set Order_typeId[this_2] = 0 endif set wurst_stack_depth = wurst_stack_depth - 1 - 1 - 1 set Order_prev[this_1] = 0 endif set wurst_stack_depth = wurst_stack_depth - 1 endfunction function destroyOrder takes integer this_1, string w__wurst_stackPos returns nothing set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 call Order_onDestroy(this_1, "when calling Order_onDestroy in LastOrder, line 72") set wurst_stack[wurst_stack_depth] = "when calling dealloc_Order in LastOrder, line 72" set wurst_stack_depth = wurst_stack_depth + 1 if Order_typeId[this_1] == 0 then call error("Double free: object of type Order", "when calling error in LastOrder, line 33") else set Order_nextFree[Order_firstFree] = this_1 set Order_firstFree = Order_firstFree + 1 set Order_typeId[this_1] = 0 endif set wurst_stack_depth = wurst_stack_depth - 1 - 1 endfunction function construct_Order takes integer this_1, unit ordered, integer orderId, integer ordtype, widget target, real targetPos_x, real targetPos_y, string w__wurst_stackPos returns nothing local integer i local integer e set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 set Order_prev[this_1] = 0 set Order_orderedUnit[this_1] = null set Order_orderedUnit[this_1] = ordered if ordered != null then set orderId = GetUnitUserData(ordered) if LastOrder_lastOrder[orderId] != 0 then if Order_orderedUnit[LastOrder_lastOrder[orderId]] == Order_orderedUnit[this_1] then set Order_prev[this_1] = LastOrder_lastOrder[orderId] else set ordtype = LastOrder_lastOrder[orderId] set wurst_stack[wurst_stack_depth] = "when calling dispatch_Order_destroyOrder in LastOrder, line 58" set wurst_stack_depth = wurst_stack_depth + 1 if Order_typeId[ordtype] == 0 then if ordtype == 0 then call error("Nullpointer exception when calling Order.Order", "when calling error in LastOrder, line 33") else call error("Called Order.Order on invalid object.", "when calling error in LastOrder, line 33") endif endif call destroyOrder(ordtype, "when calling destroyOrder in LastOrder, line 33") set wurst_stack_depth = wurst_stack_depth - 1 endif endif set i = 0 set e = this_1 loop exitwhen Order_prev[e] == 0 set i = i + 1 if i > 3 then set ordtype = Order_prev[e] set wurst_stack[wurst_stack_depth] = "when calling dispatch_Order_destroyOrder in LastOrder, line 65" set wurst_stack_depth = wurst_stack_depth + 1 if Order_typeId[ordtype] == 0 then if ordtype == 0 then call error("Nullpointer exception when calling Order.Order", "when calling error in LastOrder, line 33") else call error("Called Order.Order on invalid object.", "when calling error in LastOrder, line 33") endif endif call destroyOrder(ordtype, "when calling destroyOrder in LastOrder, line 33") set wurst_stack_depth = wurst_stack_depth - 1 set Order_prev[e] = 0 exitwhen true endif set e = Order_prev[e] endloop set LastOrder_lastOrder[orderId] = this_1 endif set wurst_stack_depth = wurst_stack_depth - 1 endfunction function new_Order takes unit ordered, integer orderId, integer ordtype, widget target, real targetPos_x, real targetPos_y, string w__wurst_stackPos returns integer local integer this_1 set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 set wurst_stack[wurst_stack_depth] = "when calling alloc_Order in LastOrder, line 45" set wurst_stack_depth = wurst_stack_depth + 1 if Order_firstFree == 0 then if Order_maxIndex < 32768 then set Order_maxIndex = Order_maxIndex + 1 set this_1 = Order_maxIndex set Order_typeId[this_1] = 3293 else call error("Out of memory: Could not create Order.", "when calling error in LastOrder, line 33") set this_1 = 0 endif else set Order_firstFree = Order_firstFree - 1 set this_1 = Order_nextFree[Order_firstFree] set Order_typeId[this_1] = 3293 endif set wurst_stack_depth = wurst_stack_depth - 1 call construct_Order(this_1, ordered, orderId, ordtype, target, targetPos_x, targetPos_y, "when calling construct_Order in LastOrder, line 45") set wurst_stack_depth = wurst_stack_depth - 1 return this_1 endfunction function actions takes string w__wurst_stackPos returns nothing local unit u_1 local widget t local integer oid local player showTo local unit this_1 set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 if conditions() then set u_1 = GetTriggerUnit() set t = GetOrderTarget() set oid = GetIssuedOrderId() set w__wurst_stackPos = "ordered: <" + OrderId2StringBJ(oid) + ">" set showTo = Player_localPlayer if 2 <= 0 then call DisplayTimedTextToPlayer(showTo, 0., 0., 45., Loglevel_getTag(0) + " - " + w__wurst_stackPos) endif if GetTriggerEventId() == EVENT_PLAYER_UNIT_ISSUED_TARGET_ORDER then set this_1 = GetOrderTargetUnit() call new_Order(u_1, oid, 0, t, GetUnitX(this_1), GetUnitY(this_1), "when calling new_Order in LastOrder, line 148") elseif GetTriggerEventId() == EVENT_PLAYER_UNIT_ISSUED_POINT_ORDER then call new_Order(u_1, oid, 1, null, GetOrderPointX(), GetOrderPointY(), "when calling new_Order in LastOrder, line 150") elseif GetTriggerEventId() == EVENT_PLAYER_UNIT_ISSUED_ORDER then call new_Order(u_1, oid, 2, null, GetUnitX(u_1), GetUnitY(u_1), "when calling new_Order in LastOrder, line 152") endif endif set wurst_stack_depth = wurst_stack_depth - 1 endfunction function bridge_actions takes nothing returns nothing set wurst_stack_depth = 0 call actions("via function reference LastOrder, line 161") endfunction function bridge_actions_215 takes nothing returns nothing set wurst_stack_depth = 0 call actions("via function reference LastOrder, line 162") endfunction function bridge_actions_216 takes nothing returns nothing set wurst_stack_depth = 0 call actions("via function reference LastOrder, line 163") endfunction function new_LLEntry takes integer elem, integer prev, integer next, string w__wurst_stackPos returns integer local integer this_1 set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 set wurst_stack[wurst_stack_depth] = "when calling alloc_LLEntry in LinkedList, line 434" set wurst_stack_depth = wurst_stack_depth + 1 if LLEntry_firstFree == 0 then if LLEntry_maxIndex < 32768 then set LLEntry_maxIndex = LLEntry_maxIndex + 1 set this_1 = LLEntry_maxIndex set LLEntry_typeId[this_1] = 2715 else call error("Out of memory: Could not create LLEntry.", "when calling error in LinkedList, line 429") set this_1 = 0 endif else set LLEntry_firstFree = LLEntry_firstFree - 1 set this_1 = LLEntry_nextFree[LLEntry_firstFree] set LLEntry_typeId[this_1] = 2715 endif set wurst_stack_depth = wurst_stack_depth - 1 set LLEntry_elem[this_1] = elem set LLEntry_prev[this_1] = prev set LLEntry_next[this_1] = next set wurst_stack_depth = wurst_stack_depth - 1 return this_1 endfunction function dispatch_LinkedList_LinkedList_LinkedList_add_1 takes integer this_1, integer elems_0, string w__wurst_stackPos returns nothing local integer entry set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 if LinkedList_typeId[this_1] == 0 then if this_1 == 0 then call error("Nullpointer exception when calling LinkedList.add", "when calling error in LinkedList, line 38") else call error("Called LinkedList.add on invalid object.", "when calling error in LinkedList, line 38") endif endif set wurst_stack[wurst_stack_depth] = "when calling add in LinkedList, line 38" set wurst_stack_depth = wurst_stack_depth + 1 set entry = new_LLEntry(elems_0, LLEntry_prev[LinkedList_dummy[this_1]], LinkedList_dummy[this_1], "when calling new_LLEntry in LinkedList, line 40") set LLEntry_next[LLEntry_prev[LinkedList_dummy[this_1]]] = entry set LLEntry_prev[LinkedList_dummy[this_1]] = entry set LinkedList_size[this_1] = LinkedList_size[this_1] + 1 set wurst_stack_depth = wurst_stack_depth - 1 - 1 endfunction function dispatch_ForGroupCallback_ClosureForGroups_ForGroupCallback_callback takes integer this_1, unit u_1, string w__wurst_stackPos returns nothing set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 if ForGroupCallback_typeId[this_1] == 0 then if this_1 == 0 then call error("Nullpointer exception when calling ForGroupCallback.callback", "when calling error in ClosureForGroups, line 4") else call error("Called ForGroupCallback.callback on invalid object.", "when calling error in ClosureForGroups, line 4") endif endif if ForGroupCallback_typeId[this_1] <= 2071 then set wurst_stack[wurst_stack_depth] = "when calling callback_forEachFrom_LinkedList in ClosureForGroups, line 4" set wurst_stack_depth = wurst_stack_depth + 1 call dispatch_LinkedList_LinkedList_LinkedList_add_1(result[this_1], GetHandleId(u_1), "when calling add in LinkedList, line 574") set wurst_stack_depth = wurst_stack_depth - 1 else call RemoveUnit(u_1) endif set wurst_stack_depth = wurst_stack_depth - 1 endfunction function bridge_code__Filter_ClosureForGroups takes nothing returns nothing local unit filter set wurst_stack_depth = 0 set wurst_stack[wurst_stack_depth] = "via function reference ClosureForGroups, line 14" set wurst_stack_depth = wurst_stack_depth + 1 set filter = GetFilterUnit() set wurst_stack[wurst_stack_depth] = "when calling filterCallback in ClosureForGroups, line 14" set wurst_stack_depth = wurst_stack_depth + 1 if ClosureForGroups_iterCount < 2147483647 then call dispatch_ForGroupCallback_ClosureForGroups_ForGroupCallback_callback(ClosureForGroups_tempCallbacks[-1], filter, "when calling callback in ClosureForGroups, line 18") endif set ClosureForGroups_iterCount = ClosureForGroups_iterCount + 1 set wurst_stack_depth = wurst_stack_depth - 1 - 1 endfunction function ChunkedString_append takes integer this_1, string pdata, string w__wurst_stackPos returns nothing local integer remain local integer this_2 local integer parentKey set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 loop set remain = ChunkedString_chunkSize[this_1] - StringLength(ChunkedString_buffer[this_1]) set ChunkedString_buffer[this_1] = ChunkedString_buffer[this_1] + SubString(pdata, 0, remain) if StringLength(ChunkedString_buffer[this_1]) >= ChunkedString_chunkSize[this_1] then set this_2 = ChunkedString_table[this_1] set parentKey = ChunkedString_chunkCount[this_1] set w__wurst_stackPos = ChunkedString_buffer[this_1] set wurst_stack[wurst_stack_depth] = "when calling saveString in ChunkedString, line 52" set wurst_stack_depth = wurst_stack_depth + 1 if Table_typeId[this_2] == 0 then if this_2 == 0 then call error("Nullpointer exception when calling Table.saveString", "when calling error in Table, line 61") else call error("Called Table.saveString on invalid object.", "when calling error in Table, line 61") endif endif call SaveStr(Table_ht, this_2, parentKey, w__wurst_stackPos) set wurst_stack_depth = wurst_stack_depth - 1 set ChunkedString_buffer[this_1] = "" set ChunkedString_chunkCount[this_1] = ChunkedString_chunkCount[this_1] + 1 endif set parentKey = StringLength(pdata) if remain < 2147483647 then else set remain = 2147483647 endif if parentKey < remain then set remain = parentKey endif set pdata = SubString(pdata, remain, StringLength(pdata)) exitwhen StringLength(pdata) == 0 endloop set wurst_stack_depth = wurst_stack_depth - 1 endfunction function ChunkedString_getChunk takes integer this_1, integer index, string w__wurst_stackPos returns string set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 if index == ChunkedString_chunkCount[this_1] then set wurst_stack_depth = wurst_stack_depth - 1 return ChunkedString_buffer[this_1] endif set this_1 = ChunkedString_table[this_1] set wurst_stack[wurst_stack_depth] = "when calling loadString in ChunkedString, line 74" set wurst_stack_depth = wurst_stack_depth + 1 if Table_typeId[this_1] == 0 then if this_1 == 0 then call error("Nullpointer exception when calling Table.loadString", "when calling error in Table, line 58") else call error("Called Table.loadString on invalid object.", "when calling error in Table, line 58") endif endif set w__wurst_stackPos = LoadStr(Table_ht, this_1, index) set wurst_stack_depth = wurst_stack_depth - 1 - 1 return w__wurst_stackPos endfunction function dispatch_ChunkedString_ChunkedString_ChunkedString_readChunk takes integer this_1, string w__wurst_stackPos returns string local integer index set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 if ChunkedString_typeId[this_1] == 0 then if this_1 == 0 then call error("Nullpointer exception when calling ChunkedString.readChunk", "when calling error in ChunkedString, line 64") else call error("Called ChunkedString.readChunk on invalid object.", "when calling error in ChunkedString, line 64") endif endif set wurst_stack[wurst_stack_depth] = "when calling readChunk in ChunkedString, line 64" set wurst_stack_depth = wurst_stack_depth + 1 set ChunkedString_readIndex[this_1] = ChunkedString_readIndex[this_1] + 1 set index = ChunkedString_readIndex[this_1] set wurst_stack[wurst_stack_depth] = "when calling getChunk in ChunkedString, line 66" set wurst_stack_depth = wurst_stack_depth + 1 if ChunkedString_typeId[this_1] == 0 then if this_1 == 0 then call error("Nullpointer exception when calling ChunkedString.getChunk", "when calling error in ChunkedString, line 71") else call error("Called ChunkedString.getChunk on invalid object.", "when calling error in ChunkedString, line 71") endif endif set w__wurst_stackPos = ChunkedString_getChunk(this_1, index, "when calling getChunk in ChunkedString, line 71") set wurst_stack_depth = wurst_stack_depth - 1 - 1 - 1 return w__wurst_stackPos endfunction function checkQueue takes string w__wurst_stackPos returns nothing local integer this_1 local integer LinkedList_LinkedList_getFirst_result local boolean ChunkedString_ChunkedString_hasChunk_result set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 set this_1 = SyncSimple_syncQueue set wurst_stack[wurst_stack_depth] = "when calling isEmpty in SyncSimple, line 102" set wurst_stack_depth = wurst_stack_depth + 1 if LinkedList_typeId[this_1] == 0 then if this_1 == 0 then call error("Nullpointer exception when calling LinkedList.isEmpty", "when calling error in LinkedList, line 162") else call error("Called LinkedList.isEmpty on invalid object.", "when calling error in LinkedList, line 162") endif endif set ChunkedString_ChunkedString_hasChunk_result = LinkedList_size[this_1] == 0 set wurst_stack_depth = wurst_stack_depth - 1 if not ChunkedString_ChunkedString_hasChunk_result then set this_1 = SyncSimple_syncQueue set wurst_stack[wurst_stack_depth] = "when calling getFirst in SyncSimple, line 103" set wurst_stack_depth = wurst_stack_depth + 1 if LinkedList_typeId[this_1] == 0 then if this_1 == 0 then call error("Nullpointer exception when calling LinkedList.getFirst", "when calling error in LinkedList, line 88") else call error("Called LinkedList.getFirst on invalid object.", "when calling error in LinkedList, line 88") endif endif set LinkedList_LinkedList_getFirst_result = LLEntry_elem[LLEntry_next[LinkedList_dummy[this_1]]] set wurst_stack_depth = wurst_stack_depth - 1 if SyncData_data[LinkedList_LinkedList_getFirst_result] != null then if Player_localPlayer == SyncData_syncer[LinkedList_LinkedList_getFirst_result] then call BlzSendSyncData("S", SyncData_data[LinkedList_LinkedList_getFirst_result]) endif else set w__wurst_stackPos = dispatch_ChunkedString_ChunkedString_ChunkedString_readChunk(SyncData_buffer[LinkedList_LinkedList_getFirst_result], "when calling readChunk in SyncSimple, line 108") set this_1 = SyncData_buffer[LinkedList_LinkedList_getFirst_result] set wurst_stack[wurst_stack_depth] = "when calling hasChunk in SyncSimple, line 109" set wurst_stack_depth = wurst_stack_depth + 1 if ChunkedString_typeId[this_1] == 0 then if this_1 == 0 then call error("Nullpointer exception when calling ChunkedString.hasChunk", "when calling error in ChunkedString, line 61") else call error("Called ChunkedString.hasChunk on invalid object.", "when calling error in ChunkedString, line 61") endif endif set ChunkedString_ChunkedString_hasChunk_result = ChunkedString_readIndex[this_1] < ChunkedString_chunkCount[this_1] set wurst_stack_depth = wurst_stack_depth - 1 if Player_localPlayer == SyncData_syncer[LinkedList_LinkedList_getFirst_result] then if ChunkedString_ChunkedString_hasChunk_result then call BlzSendSyncData("S", w__wurst_stackPos) else call BlzSendSyncData("T", w__wurst_stackPos) endif endif endif endif set wurst_stack_depth = wurst_stack_depth - 1 endfunction function dispatch_LLEntry_destroyLLEntry takes integer this_1, string w__wurst_stackPos returns nothing set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 if LLEntry_typeId[this_1] == 0 then if this_1 == 0 then call error("Nullpointer exception when calling LLEntry.LLEntry", "when calling error in LinkedList, line 429") else call error("Called LLEntry.LLEntry on invalid object.", "when calling error in LinkedList, line 429") endif endif set wurst_stack[wurst_stack_depth] = "when calling destroyLLEntry in LinkedList, line 429" set wurst_stack_depth = wurst_stack_depth + 1 set wurst_stack[wurst_stack_depth] = "when calling dealloc_LLEntry in LinkedList, line 429" set wurst_stack_depth = wurst_stack_depth + 1 if LLEntry_typeId[this_1] == 0 then call error("Double free: object of type LLEntry", "when calling error in LinkedList, line 429") else set LLEntry_nextFree[LLEntry_firstFree] = this_1 set LLEntry_firstFree = LLEntry_firstFree + 1 set LLEntry_typeId[this_1] = 0 endif set wurst_stack_depth = wurst_stack_depth - 1 - 1 - 1 endfunction function dispatch_LinkedList_LinkedList_LinkedList_removeEntry takes integer this_1, integer entry, string w__wurst_stackPos returns nothing set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 if LinkedList_typeId[this_1] == 0 then if this_1 == 0 then call error("Nullpointer exception when calling LinkedList.removeEntry", "when calling error in LinkedList, line 406") else call error("Called LinkedList.removeEntry on invalid object.", "when calling error in LinkedList, line 406") endif endif set wurst_stack[wurst_stack_depth] = "when calling removeEntry in LinkedList, line 406" set wurst_stack_depth = wurst_stack_depth + 1 set LLEntry_next[LLEntry_prev[entry]] = LLEntry_next[entry] set LLEntry_prev[LLEntry_next[entry]] = LLEntry_prev[entry] call dispatch_LLEntry_destroyLLEntry(entry, "when calling dispatch_LLEntry_destroyLLEntry in LinkedList, line 409") set LinkedList_size[this_1] = LinkedList_size[this_1] - 1 set wurst_stack_depth = wurst_stack_depth - 1 - 1 endfunction function dispatch_LinkedList_LinkedList_LinkedList_dequeue takes integer this_1, string w__wurst_stackPos returns integer local integer top local integer result_1 set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 if LinkedList_typeId[this_1] == 0 then if this_1 == 0 then call error("Nullpointer exception when calling LinkedList.dequeue", "when calling error in LinkedList, line 96") else call error("Called LinkedList.dequeue on invalid object.", "when calling error in LinkedList, line 96") endif endif set wurst_stack[wurst_stack_depth] = "when calling dequeue in LinkedList, line 96" set wurst_stack_depth = wurst_stack_depth + 1 set top = LLEntry_next[LinkedList_dummy[this_1]] set result_1 = 0 if top != LinkedList_dummy[this_1] then set result_1 = LLEntry_elem[top] call dispatch_LinkedList_LinkedList_LinkedList_removeEntry(this_1, top, "when calling removeEntry in LinkedList, line 101") endif set wurst_stack_depth = wurst_stack_depth - 1 - 1 return result_1 endfunction function dispatch_IntSyncListener_destroyIntSyncListener takes integer this_1, string w__wurst_stackPos returns nothing set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 if IntSyncListener_typeId[this_1] == 0 then if this_1 == 0 then call error("Nullpointer exception when calling IntSyncListener.IntSyncListener", "when calling error in SyncSimple, line 28") else call error("Called IntSyncListener.IntSyncListener on invalid object.", "when calling error in SyncSimple, line 28") endif endif set wurst_stack[wurst_stack_depth] = "when calling destroyIntSyncListener in SyncSimple, line 28" set wurst_stack_depth = wurst_stack_depth + 1 set wurst_stack[wurst_stack_depth] = "when calling dealloc_IntSyncListener in SyncSimple, line 28" set wurst_stack_depth = wurst_stack_depth + 1 if IntSyncListener_typeId[this_1] == 0 then call error("Double free: object of type IntSyncListener", "when calling error in SyncSimple, line 28") else set IntSyncListener_firstFree = IntSyncListener_firstFree + 1 set IntSyncListener_typeId[this_1] = 0 endif set wurst_stack_depth = wurst_stack_depth - 1 - 1 - 1 endfunction function dispatch_RealSyncListener_destroyRealSyncListener takes integer this_1, string w__wurst_stackPos returns nothing set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 if RealSyncListener_typeId[this_1] == 0 then if this_1 == 0 then call error("Nullpointer exception when calling RealSyncListener.RealSyncListener", "when calling error in SyncSimple, line 31") else call error("Called RealSyncListener.RealSyncListener on invalid object.", "when calling error in SyncSimple, line 31") endif endif set wurst_stack[wurst_stack_depth] = "when calling destroyRealSyncListener in SyncSimple, line 31" set wurst_stack_depth = wurst_stack_depth + 1 set wurst_stack[wurst_stack_depth] = "when calling dealloc_RealSyncListener in SyncSimple, line 31" set wurst_stack_depth = wurst_stack_depth + 1 if RealSyncListener_typeId[this_1] == 0 then call error("Double free: object of type RealSyncListener", "when calling error in SyncSimple, line 31") else set RealSyncListener_firstFree = RealSyncListener_firstFree + 1 set RealSyncListener_typeId[this_1] = 0 endif set wurst_stack_depth = wurst_stack_depth - 1 - 1 - 1 endfunction function dispatch_BoolSyncListener_destroyBoolSyncListener takes integer this_1, string w__wurst_stackPos returns nothing set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 if BoolSyncListener_typeId[this_1] == 0 then if this_1 == 0 then call error("Nullpointer exception when calling BoolSyncListener.BoolSyncListener", "when calling error in SyncSimple, line 25") else call error("Called BoolSyncListener.BoolSyncListener on invalid object.", "when calling error in SyncSimple, line 25") endif endif set wurst_stack[wurst_stack_depth] = "when calling destroyBoolSyncListener in SyncSimple, line 25" set wurst_stack_depth = wurst_stack_depth + 1 set wurst_stack[wurst_stack_depth] = "when calling dealloc_BoolSyncListener in SyncSimple, line 25" set wurst_stack_depth = wurst_stack_depth + 1 if BoolSyncListener_typeId[this_1] == 0 then call error("Double free: object of type BoolSyncListener", "when calling error in SyncSimple, line 25") else set BoolSyncListener_firstFree = BoolSyncListener_firstFree + 1 set BoolSyncListener_typeId[this_1] = 0 endif set wurst_stack_depth = wurst_stack_depth - 1 - 1 - 1 endfunction function onDataSynced_sync_SyncSimple takes integer this_1, string data_1, string w__wurst_stackPos returns nothing set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 call dispatch_BoolSyncListener_destroyBoolSyncListener(listener[this_1], "when calling dispatch_BoolSyncListener_destroyBoolSyncListener in SyncSimple, line 46") set wurst_stack_depth = wurst_stack_depth - 1 endfunction function dispatch_StringSyncListener_SyncSimple_StringSyncListener_onDataSynced takes integer this_1, string data_1, string w__wurst_stackPos returns nothing set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 if StringSyncListener_typeId[this_1] == 0 then if this_1 == 0 then call error("Nullpointer exception when calling StringSyncListener.onDataSynced", "when calling error in SyncSimple, line 35") else call error("Called StringSyncListener.onDataSynced on invalid object.", "when calling error in SyncSimple, line 35") endif endif if StringSyncListener_typeId[this_1] <= 4086 then if StringSyncListener_typeId[this_1] <= 4085 then call onDataSynced_sync_SyncSimple(this_1, data_1, "when calling onDataSynced_sync_SyncSimple in SyncSimple, line 35") else set wurst_stack[wurst_stack_depth] = "when calling onDataSynced_sync_SyncSimple in SyncSimple, line 35" set wurst_stack_depth = wurst_stack_depth + 1 call dispatch_IntSyncListener_destroyIntSyncListener(listener_325[this_1], "when calling dispatch_IntSyncListener_destroyIntSyncListener in SyncSimple, line 52") set wurst_stack_depth = wurst_stack_depth - 1 endif else set wurst_stack[wurst_stack_depth] = "when calling onDataSynced_sync_SyncSimple in SyncSimple, line 35" set wurst_stack_depth = wurst_stack_depth + 1 call dispatch_RealSyncListener_destroyRealSyncListener(listener_326[this_1], "when calling dispatch_RealSyncListener_destroyRealSyncListener in SyncSimple, line 58") set wurst_stack_depth = wurst_stack_depth - 1 endif set wurst_stack_depth = wurst_stack_depth - 1 endfunction function HashSet_clear takes integer this_1 returns nothing call FlushChildHashtable(HashList_ht, this_1) call FlushChildHashtable(HashList_occurences, this_1) set HashList_size[this_1] = 0 call FlushChildHashtable(HashSet_position, this_1) endfunction function dispatch_HashList_HashList_HashList_clear takes integer this_1, string w__wurst_stackPos returns nothing set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 if HashList_typeId[this_1] == 0 then if this_1 == 0 then call error("Nullpointer exception when calling HashList.clear", "when calling error in HashList, line 66") else call error("Called HashList.clear on invalid object.", "when calling error in HashList, line 66") endif endif if HashList_typeId[this_1] <= 2302 then call FlushChildHashtable(HashList_ht, this_1) call FlushChildHashtable(HashList_occurences, this_1) set HashList_size[this_1] = 0 else call HashSet_clear(this_1) endif set wurst_stack_depth = wurst_stack_depth - 1 endfunction function destroyHashSet takes integer this_1, string w__wurst_stackPos returns nothing set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 set wurst_stack[wurst_stack_depth] = "when calling HashSet_onDestroy in HashSet, line 34" set wurst_stack_depth = wurst_stack_depth + 1 call FlushChildHashtable(HashSet_position, this_1) set wurst_stack[wurst_stack_depth] = "when calling HashList_onDestroy in HashSet, line 5" set wurst_stack_depth = wurst_stack_depth + 1 call dispatch_HashList_HashList_HashList_clear(this_1, "when calling clear in HashList, line 154") set wurst_stack_depth = wurst_stack_depth - 1 - 1 set wurst_stack[wurst_stack_depth] = "when calling dealloc_HashSet in HashSet, line 34" set wurst_stack_depth = wurst_stack_depth + 1 if HashList_typeId[this_1] == 0 then call error("Double free: object of type HashSet", "when calling error in HashSet, line 5") else set HashList_firstFree = HashList_firstFree + 1 set HashList_typeId[this_1] = 0 endif set wurst_stack_depth = wurst_stack_depth - 1 - 1 endfunction function dispatch_HashList_destroyHashList takes integer this_1, string w__wurst_stackPos returns nothing set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 if HashList_typeId[this_1] == 0 then if this_1 == 0 then call error("Nullpointer exception when calling HashList.HashList", "when calling error in HashList, line 12") else call error("Called HashList.HashList on invalid object.", "when calling error in HashList, line 12") endif endif if HashList_typeId[this_1] <= 2302 then set wurst_stack[wurst_stack_depth] = "when calling destroyHashList in HashList, line 12" set wurst_stack_depth = wurst_stack_depth + 1 set wurst_stack[wurst_stack_depth] = "when calling HashList_onDestroy in HashList, line 153" set wurst_stack_depth = wurst_stack_depth + 1 call dispatch_HashList_HashList_HashList_clear(this_1, "when calling clear in HashList, line 154") set wurst_stack_depth = wurst_stack_depth - 1 set wurst_stack[wurst_stack_depth] = "when calling dealloc_HashList in HashList, line 153" set wurst_stack_depth = wurst_stack_depth + 1 if HashList_typeId[this_1] == 0 then call error("Double free: object of type HashList", "when calling error in HashList, line 12") else set HashList_firstFree = HashList_firstFree + 1 set HashList_typeId[this_1] = 0 endif set wurst_stack_depth = wurst_stack_depth - 1 - 1 else call destroyHashSet(this_1, "when calling destroyHashSet in HashList, line 12") endif set wurst_stack_depth = wurst_stack_depth - 1 endfunction function dispatch_Table_Table_Table_flush takes integer this_1, string w__wurst_stackPos returns nothing set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 if Table_typeId[this_1] == 0 then if this_1 == 0 then call error("Nullpointer exception when calling Table.flush", "when calling error in Table, line 251") else call error("Called Table.flush on invalid object.", "when calling error in Table, line 251") endif endif if Table_typeId[this_1] <= 4108 then if Table_typeId[this_1] <= 4107 then call FlushChildHashtable(Table_ht, this_1) else set HashMap_size[this_1] = 0 call FlushChildHashtable(Table_ht, this_1) endif else set wurst_stack[wurst_stack_depth] = "when calling flush in Table, line 251" set wurst_stack_depth = wurst_stack_depth + 1 if not IterableMap__destroyed[this_1] then call dispatch_HashList_HashList_HashList_clear(IterableMap_keys[this_1], "when calling clear in HashMap, line 73") endif set HashMap_size[this_1] = 0 call FlushChildHashtable(Table_ht, this_1) set wurst_stack_depth = wurst_stack_depth - 1 endif set wurst_stack_depth = wurst_stack_depth - 1 endfunction function destroyIterableMap takes integer this_1, string w__wurst_stackPos returns nothing set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 set wurst_stack[wurst_stack_depth] = "when calling IterableMap_onDestroy in HashMap, line 130" set wurst_stack_depth = wurst_stack_depth + 1 call dispatch_HashList_destroyHashList(IterableMap_keys[this_1], "when calling dispatch_HashList_destroyHashList in HashMap, line 131") set IterableMap__destroyed[this_1] = true set wurst_stack[wurst_stack_depth] = "when calling HashMap_onDestroy in HashMap, line 46" set wurst_stack_depth = wurst_stack_depth + 1 set wurst_stack[wurst_stack_depth] = "when calling Table_onDestroy in HashMap, line 8" set wurst_stack_depth = wurst_stack_depth + 1 call dispatch_Table_Table_Table_flush(this_1, "when calling flush in Table, line 255") set wurst_stack_depth = wurst_stack_depth - 1 - 1 - 1 set wurst_stack[wurst_stack_depth] = "when calling dealloc_IterableMap in HashMap, line 130" set wurst_stack_depth = wurst_stack_depth + 1 if Table_typeId[this_1] == 0 then call error("Double free: object of type IterableMap", "when calling error in HashMap, line 46") else set Table_nextFree[Table_firstFree] = this_1 set Table_firstFree = Table_firstFree + 1 set Table_typeId[this_1] = 0 endif set wurst_stack_depth = wurst_stack_depth - 1 - 1 endfunction function destroyTable takes integer this_1, string w__wurst_stackPos returns nothing set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 set wurst_stack[wurst_stack_depth] = "when calling Table_onDestroy in Table, line 254" set wurst_stack_depth = wurst_stack_depth + 1 call dispatch_Table_Table_Table_flush(this_1, "when calling flush in Table, line 255") set wurst_stack_depth = wurst_stack_depth - 1 set wurst_stack[wurst_stack_depth] = "when calling dealloc_Table in Table, line 254" set wurst_stack_depth = wurst_stack_depth + 1 if Table_typeId[this_1] == 0 then call error("Double free: object of type Table", "when calling error in Table, line 7") else set Table_nextFree[Table_firstFree] = this_1 set Table_firstFree = Table_firstFree + 1 set Table_typeId[this_1] = 0 endif set wurst_stack_depth = wurst_stack_depth - 1 - 1 endfunction function dispatch_Table_destroyTable takes integer this_1, string w__wurst_stackPos returns nothing set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 if Table_typeId[this_1] == 0 then if this_1 == 0 then call error("Nullpointer exception when calling Table.Table", "when calling error in Table, line 7") else call error("Called Table.Table on invalid object.", "when calling error in Table, line 7") endif endif if Table_typeId[this_1] <= 4108 then call destroyTable(this_1, "when calling destroyTable in Table, line 7") else call destroyIterableMap(this_1, "when calling destroyIterableMap in Table, line 7") endif set wurst_stack_depth = wurst_stack_depth - 1 endfunction function destroyChunkedString takes integer this_1, string w__wurst_stackPos returns nothing set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 set wurst_stack[wurst_stack_depth] = "when calling ChunkedString_onDestroy in ChunkedString, line 146" set wurst_stack_depth = wurst_stack_depth + 1 call dispatch_Table_destroyTable(ChunkedString_table[this_1], "when calling dispatch_Table_destroyTable in ChunkedString, line 147") set wurst_stack_depth = wurst_stack_depth - 1 set wurst_stack[wurst_stack_depth] = "when calling dealloc_ChunkedString in ChunkedString, line 146" set wurst_stack_depth = wurst_stack_depth + 1 if ChunkedString_typeId[this_1] == 0 then call error("Double free: object of type ChunkedString", "when calling error in ChunkedString, line 29") else set ChunkedString_nextFree[ChunkedString_firstFree] = this_1 set ChunkedString_firstFree = ChunkedString_firstFree + 1 set ChunkedString_typeId[this_1] = 0 endif set wurst_stack_depth = wurst_stack_depth - 1 - 1 endfunction function dispatch_BufferSyncListener_destroyBufferSyncListener takes integer this_1, string w__wurst_stackPos returns nothing set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 if BufferSyncListener_typeId[this_1] == 0 then if this_1 == 0 then call error("Nullpointer exception when calling BufferSyncListener.BufferSyncListener", "when calling error in SyncSimple, line 37") else call error("Called BufferSyncListener.BufferSyncListener on invalid object.", "when calling error in SyncSimple, line 37") endif endif set wurst_stack[wurst_stack_depth] = "when calling destroyBufferSyncListener in SyncSimple, line 37" set wurst_stack_depth = wurst_stack_depth + 1 set wurst_stack[wurst_stack_depth] = "when calling dealloc_BufferSyncListener in SyncSimple, line 37" set wurst_stack_depth = wurst_stack_depth + 1 if BufferSyncListener_typeId[this_1] == 0 then call error("Double free: object of type BufferSyncListener", "when calling error in SyncSimple, line 37") else set BufferSyncListener_firstFree = BufferSyncListener_firstFree + 1 set BufferSyncListener_typeId[this_1] = 0 endif set wurst_stack_depth = wurst_stack_depth - 1 - 1 - 1 endfunction function dispatch_StringSyncListener_destroyStringSyncListener takes integer this_1, string w__wurst_stackPos returns nothing set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 if StringSyncListener_typeId[this_1] == 0 then if this_1 == 0 then call error("Nullpointer exception when calling StringSyncListener.StringSyncListener", "when calling error in SyncSimple, line 34") else call error("Called StringSyncListener.StringSyncListener on invalid object.", "when calling error in SyncSimple, line 34") endif endif set wurst_stack[wurst_stack_depth] = "when calling destroyStringSyncListener in SyncSimple, line 34" set wurst_stack_depth = wurst_stack_depth + 1 set wurst_stack[wurst_stack_depth] = "when calling dealloc_StringSyncListener in SyncSimple, line 34" set wurst_stack_depth = wurst_stack_depth + 1 if StringSyncListener_typeId[this_1] == 0 then call error("Double free: object of type StringSyncListener", "when calling error in SyncSimple, line 34") else set StringSyncListener_firstFree = StringSyncListener_firstFree + 1 set StringSyncListener_typeId[this_1] = 0 endif set wurst_stack_depth = wurst_stack_depth - 1 - 1 - 1 endfunction function SyncData_onDestroy takes integer this_1, string w__wurst_stackPos returns nothing set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 if SyncData_slistener[this_1] != 0 then call dispatch_StringSyncListener_destroyStringSyncListener(SyncData_slistener[this_1], "when calling dispatch_StringSyncListener_destroyStringSyncListener in SyncSimple, line 95") endif if SyncData_blistener[this_1] != 0 then call dispatch_BufferSyncListener_destroyBufferSyncListener(SyncData_blistener[this_1], "when calling dispatch_BufferSyncListener_destroyBufferSyncListener in SyncSimple, line 97") endif if SyncData_buffer[this_1] != 0 then set this_1 = SyncData_buffer[this_1] set wurst_stack[wurst_stack_depth] = "when calling dispatch_ChunkedString_destroyChunkedString in SyncSimple, line 99" set wurst_stack_depth = wurst_stack_depth + 1 if ChunkedString_typeId[this_1] == 0 then if this_1 == 0 then call error("Nullpointer exception when calling ChunkedString.ChunkedString", "when calling error in ChunkedString, line 29") else call error("Called ChunkedString.ChunkedString on invalid object.", "when calling error in ChunkedString, line 29") endif endif call destroyChunkedString(this_1, "when calling destroyChunkedString in ChunkedString, line 29") set wurst_stack_depth = wurst_stack_depth - 1 endif set wurst_stack_depth = wurst_stack_depth - 1 endfunction function dispatch_SyncData_destroySyncData takes integer this_1, string w__wurst_stackPos returns nothing set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 if SyncData_typeId[this_1] == 0 then if this_1 == 0 then call error("Nullpointer exception when calling SyncData.SyncData", "when calling error in SyncSimple, line 74") else call error("Called SyncData.SyncData on invalid object.", "when calling error in SyncSimple, line 74") endif endif set wurst_stack[wurst_stack_depth] = "when calling destroySyncData in SyncSimple, line 74" set wurst_stack_depth = wurst_stack_depth + 1 call SyncData_onDestroy(this_1, "when calling SyncData_onDestroy in SyncSimple, line 93") set wurst_stack[wurst_stack_depth] = "when calling dealloc_SyncData in SyncSimple, line 93" set wurst_stack_depth = wurst_stack_depth + 1 if SyncData_typeId[this_1] == 0 then call error("Double free: object of type SyncData", "when calling error in SyncSimple, line 74") else set SyncData_firstFree = SyncData_firstFree + 1 set SyncData_typeId[this_1] = 0 endif set wurst_stack_depth = wurst_stack_depth - 1 - 1 - 1 endfunction function ChunkedString_length takes integer this_1, string w__wurst_stackPos returns integer set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 set this_1 = ChunkedString_chunkCount[this_1] * ChunkedString_chunkSize[this_1] + StringLength(ChunkedString_buffer[this_1]) set wurst_stack_depth = wurst_stack_depth - 1 return this_1 endfunction function onDataSynced_sync_SaveLoadData takes integer this_1, integer syncedBuffer, string w__wurst_stackPos returns nothing set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 set wurst_stack[wurst_stack_depth] = "when calling length in SaveLoadData, line 80" set wurst_stack_depth = wurst_stack_depth + 1 if ChunkedString_typeId[syncedBuffer] == 0 then if syncedBuffer == 0 then call error("Nullpointer exception when calling ChunkedString.length", "when calling error in ChunkedString, line 85") else call error("Called ChunkedString.length on invalid object.", "when calling error in ChunkedString, line 85") endif endif set this_1 = ChunkedString_length(syncedBuffer, "when calling length in ChunkedString, line 85") set wurst_stack_depth = wurst_stack_depth - 1 if this_1 == 0 then elseif dispatch_ChunkedString_ChunkedString_ChunkedString_readChunk(syncedBuffer, "when calling readChunk in SaveLoadData, line 82") == "-" then else set wurst_stack[wurst_stack_depth] = "when calling resetRead in SaveLoadData, line 85" set wurst_stack_depth = wurst_stack_depth + 1 if ChunkedString_typeId[syncedBuffer] == 0 then if syncedBuffer == 0 then call error("Nullpointer exception when calling ChunkedString.resetRead", "when calling error in ChunkedString, line 68") else call error("Called ChunkedString.resetRead on invalid object.", "when calling error in ChunkedString, line 68") endif endif set ChunkedString_readIndex[syncedBuffer] = -1 set wurst_stack_depth = wurst_stack_depth - 1 endif set wurst_stack_depth = wurst_stack_depth - 1 endfunction function code__addAction_SyncSimple takes string w__wurst_stackPos returns nothing local string eventPrefix local integer LinkedList_LinkedList_getFirst_result local integer this_1 local integer buffer set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 set w__wurst_stackPos = BlzGetTriggerSyncData() set eventPrefix = BlzGetTriggerSyncPrefix() set buffer = SyncSimple_syncQueue set wurst_stack[wurst_stack_depth] = "when calling getFirst in SyncSimple, line 129" set wurst_stack_depth = wurst_stack_depth + 1 if LinkedList_typeId[buffer] == 0 then if buffer == 0 then call error("Nullpointer exception when calling LinkedList.getFirst", "when calling error in LinkedList, line 88") else call error("Called LinkedList.getFirst on invalid object.", "when calling error in LinkedList, line 88") endif endif set LinkedList_LinkedList_getFirst_result = LLEntry_elem[LLEntry_next[LinkedList_dummy[buffer]]] set wurst_stack_depth = wurst_stack_depth - 1 if SyncData_data[LinkedList_LinkedList_getFirst_result] != null then call dispatch_StringSyncListener_SyncSimple_StringSyncListener_onDataSynced(SyncData_slistener[LinkedList_LinkedList_getFirst_result], w__wurst_stackPos, "when calling onDataSynced in SyncSimple, line 131") call dispatch_LinkedList_LinkedList_LinkedList_dequeue(SyncSimple_syncQueue, "when calling dequeue in SyncSimple, line 132") call dispatch_SyncData_destroySyncData(LinkedList_LinkedList_getFirst_result, "when calling dispatch_SyncData_destroySyncData in SyncSimple, line 133") else set buffer = SyncData_syncBuffer[LinkedList_LinkedList_getFirst_result] set wurst_stack[wurst_stack_depth] = "when calling append in SyncSimple, line 135" set wurst_stack_depth = wurst_stack_depth + 1 if ChunkedString_typeId[buffer] == 0 then if buffer == 0 then call error("Nullpointer exception when calling ChunkedString.append", "when calling error in ChunkedString, line 41") else call error("Called ChunkedString.append on invalid object.", "when calling error in ChunkedString, line 41") endif endif call ChunkedString_append(buffer, w__wurst_stackPos, "when calling append in ChunkedString, line 41") set wurst_stack_depth = wurst_stack_depth - 1 if eventPrefix == "T" then set this_1 = SyncData_blistener[LinkedList_LinkedList_getFirst_result] set buffer = SyncData_syncBuffer[LinkedList_LinkedList_getFirst_result] set wurst_stack[wurst_stack_depth] = "when calling onDataSynced in SyncSimple, line 137" set wurst_stack_depth = wurst_stack_depth + 1 if BufferSyncListener_typeId[this_1] == 0 then if this_1 == 0 then call error("Nullpointer exception when calling BufferSyncListener.onDataSynced", "when calling error in SyncSimple, line 38") else call error("Called BufferSyncListener.onDataSynced on invalid object.", "when calling error in SyncSimple, line 38") endif endif call onDataSynced_sync_SaveLoadData(this_1, buffer, "when calling onDataSynced_sync_SaveLoadData in SyncSimple, line 38") set wurst_stack_depth = wurst_stack_depth - 1 call dispatch_LinkedList_LinkedList_LinkedList_dequeue(SyncSimple_syncQueue, "when calling dequeue in SyncSimple, line 138") call dispatch_SyncData_destroySyncData(LinkedList_LinkedList_getFirst_result, "when calling dispatch_SyncData_destroySyncData in SyncSimple, line 139") endif endif if GameStatus_gameStatus != 3 then call checkQueue("when calling checkQueue in SyncSimple, line 142") endif set wurst_stack_depth = wurst_stack_depth - 1 endfunction function bridge_code__addAction_SyncSimple takes nothing returns nothing set wurst_stack_depth = 0 call code__addAction_SyncSimple("via function reference SyncSimple, line 126") endfunction function bridge_code__addAction_nullTimer_ClosureEvents takes nothing returns nothing set wurst_stack_depth = 0 set wurst_stack[wurst_stack_depth] = "via function reference ClosureEvents, line 299" set wurst_stack_depth = wurst_stack_depth + 1 call EventListener_generalEventCallback("when calling generalEventCallback in ClosureEvents, line 299") set wurst_stack_depth = wurst_stack_depth - 1 endfunction function bridge_code__addAction_nullTimer_ClosureEvents_220 takes nothing returns nothing set wurst_stack_depth = 0 set wurst_stack[wurst_stack_depth] = "via function reference ClosureEvents, line 300" set wurst_stack_depth = wurst_stack_depth + 1 call EventListener_generalEventCallback("when calling generalEventCallback in ClosureEvents, line 300") set wurst_stack_depth = wurst_stack_depth - 1 endfunction function bridge_code__addAction_nullTimer_ClosureEvents_221 takes nothing returns nothing set wurst_stack_depth = 0 set wurst_stack[wurst_stack_depth] = "via function reference ClosureEvents, line 301" set wurst_stack_depth = wurst_stack_depth + 1 call EventListener_generalEventCallback("when calling generalEventCallback in ClosureEvents, line 301") set wurst_stack_depth = wurst_stack_depth - 1 endfunction function construct_UnitIndex takes integer this_1, unit whichUnit returns nothing set UnitIndex__unit[this_1] = whichUnit call SetUnitUserData(UnitIndex__unit[this_1], this_1) set UnitIndexer_tempUnits[UnitIndexer_tempUnitsCount] = whichUnit set UnitIndexer_tempUnitsCount = UnitIndexer_tempUnitsCount + 1 call TriggerEvaluate(UnitIndexer_onIndexTrigger) set UnitIndexer_tempUnitsCount = UnitIndexer_tempUnitsCount - 1 endfunction function new_UnitIndex takes unit whichUnit, string w__wurst_stackPos returns integer local integer this_1 set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 set wurst_stack[wurst_stack_depth] = "when calling alloc_UnitIndex in UnitIndexer, line 181" set wurst_stack_depth = wurst_stack_depth + 1 if UnitIndex_firstFree == 0 then if UnitIndex_maxIndex < 32768 then set UnitIndex_maxIndex = UnitIndex_maxIndex + 1 set this_1 = UnitIndex_maxIndex set UnitIndex_typeId[this_1] = 4310 else call error("Out of memory: Could not create UnitIndex.", "when calling error in UnitIndexer, line 172") set this_1 = 0 endif else set UnitIndex_firstFree = UnitIndex_firstFree - 1 set this_1 = UnitIndex_nextFree[UnitIndex_firstFree] set UnitIndex_typeId[this_1] = 4310 endif set wurst_stack_depth = wurst_stack_depth - 1 call construct_UnitIndex(this_1, whichUnit) set wurst_stack_depth = wurst_stack_depth - 1 return this_1 endfunction function code__onEnter_UnitIndexer takes string w__wurst_stackPos returns nothing local unit this_1 set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 set this_1 = OnUnitEnterLeave_tempUnits[OnUnitEnterLeave_tempUnitsCount - 1] set wurst_stack[wurst_stack_depth] = "when calling toUnitIndex in UnitIndexer, line 196" set wurst_stack_depth = wurst_stack_depth + 1 if GetUnitUserData(this_1) == 0 then call new_UnitIndex(this_1, "when calling new_UnitIndex in UnitIndexer, line 135") endif set wurst_stack_depth = wurst_stack_depth - 1 - 1 endfunction function bridge_code__onEnter_UnitIndexer takes nothing returns nothing set wurst_stack_depth = 0 call code__onEnter_UnitIndexer("via function reference UnitIndexer, line 196") endfunction function UnitIndex_onDestroy takes integer this_1 returns nothing set UnitIndexer_tempUnits[UnitIndexer_tempUnitsCount] = UnitIndex__unit[this_1] set UnitIndexer_tempUnitsCount = UnitIndexer_tempUnitsCount + 1 call TriggerEvaluate(UnitIndexer_onDeindexTrigger) set UnitIndexer_tempUnitsCount = UnitIndexer_tempUnitsCount - 1 call SetUnitUserData(UnitIndex__unit[this_1], 0) endfunction function dispatch_UnitIndex_destroyUnitIndex takes integer this_1, string w__wurst_stackPos returns nothing set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 if UnitIndex_typeId[this_1] == 0 then if this_1 == 0 then call error("Nullpointer exception when calling UnitIndex.UnitIndex", "when calling error in UnitIndexer, line 172") else call error("Called UnitIndex.UnitIndex on invalid object.", "when calling error in UnitIndexer, line 172") endif endif set wurst_stack[wurst_stack_depth] = "when calling destroyUnitIndex in UnitIndexer, line 172" set wurst_stack_depth = wurst_stack_depth + 1 call UnitIndex_onDestroy(this_1) set wurst_stack[wurst_stack_depth] = "when calling dealloc_UnitIndex in UnitIndexer, line 188" set wurst_stack_depth = wurst_stack_depth + 1 if UnitIndex_typeId[this_1] == 0 then call error("Double free: object of type UnitIndex", "when calling error in UnitIndexer, line 172") else set UnitIndex_nextFree[UnitIndex_firstFree] = this_1 set UnitIndex_firstFree = UnitIndex_firstFree + 1 set UnitIndex_typeId[this_1] = 0 endif set wurst_stack_depth = wurst_stack_depth - 1 - 1 - 1 endfunction function unit_deindex takes unit this_1, string w__wurst_stackPos returns boolean local integer instance_1 set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 if GetUnitUserData(this_1) == 0 then set wurst_stack_depth = wurst_stack_depth - 1 return false else set wurst_stack[wurst_stack_depth] = "when calling toUnitIndex in UnitIndexer, line 169" set wurst_stack_depth = wurst_stack_depth + 1 set instance_1 = GetUnitUserData(this_1) if instance_1 == 0 then set instance_1 = new_UnitIndex(this_1, "when calling new_UnitIndex in UnitIndexer, line 135") endif set wurst_stack_depth = wurst_stack_depth - 1 call dispatch_UnitIndex_destroyUnitIndex(instance_1, "when calling dispatch_UnitIndex_destroyUnitIndex in UnitIndexer, line 169") set wurst_stack_depth = wurst_stack_depth - 1 return true endif endfunction function code__onLeave_UnitIndexer takes string w__wurst_stackPos returns nothing set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 call unit_deindex(OnUnitEnterLeave_tempUnits[OnUnitEnterLeave_tempUnitsCount - 1], "when calling deindex in UnitIndexer, line 197") set wurst_stack_depth = wurst_stack_depth - 1 endfunction function bridge_code__onLeave_UnitIndexer takes nothing returns nothing set wurst_stack_depth = 0 call code__onLeave_UnitIndexer("via function reference UnitIndexer, line 197") endfunction function dispatch_HashMap_HashMap_HashMap_get takes integer this_1, integer key, string w__wurst_stackPos returns integer local integer parentKey set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 if Table_typeId[this_1] == 0 then if this_1 == 0 then call error("Nullpointer exception when calling HashMap.get", "when calling error in HashMap, line 23") else call error("Called HashMap.get on invalid object.", "when calling error in HashMap, line 23") endif endif set wurst_stack[wurst_stack_depth] = "when calling get in HashMap, line 23" set wurst_stack_depth = wurst_stack_depth + 1 set parentKey = key set wurst_stack[wurst_stack_depth] = "when calling loadInt in HashMap, line 24" set wurst_stack_depth = wurst_stack_depth + 1 if Table_typeId[this_1] == 0 then if this_1 == 0 then call error("Nullpointer exception when calling Table.loadInt", "when calling error in Table, line 40") else call error("Called Table.loadInt on invalid object.", "when calling error in Table, line 40") endif endif set this_1 = LoadInteger(Table_ht, this_1, parentKey) set wurst_stack_depth = wurst_stack_depth - 1 set key = this_1 set wurst_stack_depth = wurst_stack_depth - 1 - 1 return key endfunction function dispatch_HashMap_HashMap_HashMap_has takes integer this_1, integer key, string w__wurst_stackPos returns boolean local integer parentKey local boolean Table_Table_hasInt_result set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 if Table_typeId[this_1] == 0 then if this_1 == 0 then call error("Nullpointer exception when calling HashMap.has", "when calling error in HashMap, line 13") else call error("Called HashMap.has on invalid object.", "when calling error in HashMap, line 13") endif endif set wurst_stack[wurst_stack_depth] = "when calling has in HashMap, line 13" set wurst_stack_depth = wurst_stack_depth + 1 set parentKey = key set wurst_stack[wurst_stack_depth] = "when calling hasInt in HashMap, line 14" set wurst_stack_depth = wurst_stack_depth + 1 if Table_typeId[this_1] == 0 then if this_1 == 0 then call error("Nullpointer exception when calling Table.hasInt", "when calling error in Table, line 10") else call error("Called Table.hasInt on invalid object.", "when calling error in Table, line 10") endif endif set Table_Table_hasInt_result = HaveSavedInteger(Table_ht, this_1, parentKey) set wurst_stack_depth = wurst_stack_depth - 1 - 1 - 1 return Table_Table_hasInt_result endfunction function HashMap_put takes integer this_1, integer key, integer value, string w__wurst_stackPos returns nothing local integer parentKey local integer value_1 set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 if not dispatch_HashMap_HashMap_HashMap_has(this_1, key, "when calling has in HashMap, line 18") then set HashMap_size[this_1] = HashMap_size[this_1] + 1 endif set parentKey = key set value_1 = value set wurst_stack[wurst_stack_depth] = "when calling saveInt in HashMap, line 20" set wurst_stack_depth = wurst_stack_depth + 1 if Table_typeId[this_1] == 0 then if this_1 == 0 then call error("Nullpointer exception when calling Table.saveInt", "when calling error in Table, line 43") else call error("Called Table.saveInt on invalid object.", "when calling error in Table, line 43") endif endif call SaveInteger(Table_ht, this_1, parentKey, value_1) set wurst_stack_depth = wurst_stack_depth - 1 - 1 endfunction function HashList_incrOccurences takes integer this_1, integer elem, string w__wurst_stackPos returns nothing local hashtable this_2 local integer parentKey local integer childKey set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 set this_2 = HashList_occurences set parentKey = this_1 set childKey = elem set wurst_stack[wurst_stack_depth] = "when calling count in HashList, line 35" set wurst_stack_depth = wurst_stack_depth + 1 if HashList_typeId[this_1] == 0 then if this_1 == 0 then call error("Nullpointer exception when calling HashList.count", "when calling error in HashList, line 28") else call error("Called HashList.count on invalid object.", "when calling error in HashList, line 28") endif endif set this_1 = LoadInteger(HashList_occurences, this_1, elem) set wurst_stack_depth = wurst_stack_depth - 1 call SaveInteger(this_2, parentKey, childKey, this_1 + 1) set wurst_stack_depth = wurst_stack_depth - 1 endfunction function HashList_add_1 takes integer this_1, integer elems_0, string w__wurst_stackPos returns nothing set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 call SaveInteger(HashList_ht, this_1, HashList_size[this_1], elems_0) set wurst_stack[wurst_stack_depth] = "when calling incrOccurences in HashList, line 44" set wurst_stack_depth = wurst_stack_depth + 1 if HashList_typeId[this_1] == 0 then if this_1 == 0 then call error("Nullpointer exception when calling HashList.incrOccurences", "when calling error in HashList, line 34") else call error("Called HashList.incrOccurences on invalid object.", "when calling error in HashList, line 34") endif endif call HashList_incrOccurences(this_1, elems_0, "when calling incrOccurences in HashList, line 34") set wurst_stack_depth = wurst_stack_depth - 1 set HashList_size[this_1] = HashList_size[this_1] + 1 set wurst_stack_depth = wurst_stack_depth - 1 endfunction function HashSet_add_1 takes integer this_1, integer elems_0, string w__wurst_stackPos returns nothing local hashtable this_2 local integer parentKey local integer childKey local integer HashList_HashList_size_result set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 set wurst_stack[wurst_stack_depth] = "when calling count in HashSet, line 11" set wurst_stack_depth = wurst_stack_depth + 1 if HashList_typeId[this_1] == 0 then if this_1 == 0 then call error("Nullpointer exception when calling HashList.count", "when calling error in HashList, line 28") else call error("Called HashList.count on invalid object.", "when calling error in HashList, line 28") endif endif set parentKey = LoadInteger(HashList_occurences, this_1, elems_0) set wurst_stack_depth = wurst_stack_depth - 1 if parentKey <= 0 then set this_2 = HashSet_position set parentKey = this_1 set childKey = elems_0 set wurst_stack[wurst_stack_depth] = "when calling size in HashSet, line 12" set wurst_stack_depth = wurst_stack_depth + 1 if HashList_typeId[this_1] == 0 then if this_1 == 0 then call error("Nullpointer exception when calling HashList.size", "when calling error in HashList, line 96") else call error("Called HashList.size on invalid object.", "when calling error in HashList, line 96") endif endif set HashList_HashList_size_result = HashList_size[this_1] set wurst_stack_depth = wurst_stack_depth - 1 call SaveInteger(this_2, parentKey, childKey, HashList_HashList_size_result) call HashList_add_1(this_1, elems_0, "when calling add in HashSet, line 13") endif set wurst_stack_depth = wurst_stack_depth - 1 endfunction function dispatch_HashList_HashList_HashList_add_1 takes integer this_1, integer elems_0, string w__wurst_stackPos returns nothing set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 if HashList_typeId[this_1] == 0 then if this_1 == 0 then call error("Nullpointer exception when calling HashList.add", "when calling error in HashList, line 41") else call error("Called HashList.add on invalid object.", "when calling error in HashList, line 41") endif endif if HashList_typeId[this_1] <= 2302 then call HashList_add_1(this_1, elems_0, "when calling add in HashList, line 41") else call HashSet_add_1(this_1, elems_0, "when calling add in HashList, line 41") endif set wurst_stack_depth = wurst_stack_depth - 1 endfunction function dispatch_HashList_HashList_HashList_has takes integer this_1, integer elem, string w__wurst_stackPos returns boolean set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 if HashList_typeId[this_1] == 0 then if this_1 == 0 then call error("Nullpointer exception when calling HashList.has", "when calling error in HashList, line 108") else call error("Called HashList.has on invalid object.", "when calling error in HashList, line 108") endif endif set wurst_stack[wurst_stack_depth] = "when calling has in HashList, line 108" set wurst_stack_depth = wurst_stack_depth + 1 set wurst_stack[wurst_stack_depth] = "when calling count in HashList, line 109" set wurst_stack_depth = wurst_stack_depth + 1 if HashList_typeId[this_1] == 0 then if this_1 == 0 then call error("Nullpointer exception when calling HashList.count", "when calling error in HashList, line 28") else call error("Called HashList.count on invalid object.", "when calling error in HashList, line 28") endif endif set this_1 = LoadInteger(HashList_occurences, this_1, elem) set wurst_stack_depth = wurst_stack_depth - 1 set wurst_stack_depth = wurst_stack_depth - 1 - 1 return this_1 > 0 endfunction function IterableMap_put takes integer this_1, integer key, integer value, string w__wurst_stackPos returns nothing local boolean stackTrace_tempReturn set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 call HashMap_put(this_1, key, value, "when calling put in HashMap, line 60") set wurst_stack[wurst_stack_depth] = "when calling hasKey in HashMap, line 61" set wurst_stack_depth = wurst_stack_depth + 1 if Table_typeId[this_1] == 0 then if this_1 == 0 then call error("Nullpointer exception when calling IterableMap.hasKey", "when calling error in HashMap, line 87") else call error("Called IterableMap.hasKey on invalid object.", "when calling error in HashMap, line 87") endif endif set wurst_stack[wurst_stack_depth] = "when calling hasKey in HashMap, line 87" set wurst_stack_depth = wurst_stack_depth + 1 set stackTrace_tempReturn = dispatch_HashList_HashList_HashList_has(IterableMap_keys[this_1], key, "when calling has in HashMap, line 88") set wurst_stack_depth = wurst_stack_depth - 1 - 1 if not stackTrace_tempReturn then call dispatch_HashList_HashList_HashList_add_1(IterableMap_keys[this_1], key, "when calling add in HashMap, line 62") endif set wurst_stack_depth = wurst_stack_depth - 1 endfunction function dispatch_HashMap_HashMap_HashMap_put takes integer this_1, integer key, integer value, string w__wurst_stackPos returns nothing set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 if Table_typeId[this_1] == 0 then if this_1 == 0 then call error("Nullpointer exception when calling HashMap.put", "when calling error in HashMap, line 17") else call error("Called HashMap.put on invalid object.", "when calling error in HashMap, line 17") endif endif if Table_typeId[this_1] <= 4108 then call HashMap_put(this_1, key, value, "when calling put in HashMap, line 17") else call IterableMap_put(this_1, key, value, "when calling put in HashMap, line 17") endif set wurst_stack_depth = wurst_stack_depth - 1 endfunction function HashMap_remove takes integer this_1, integer key, string w__wurst_stackPos returns nothing local integer parentKey set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 if dispatch_HashMap_HashMap_HashMap_has(this_1, key, "when calling has in HashMap, line 28") then set HashMap_size[this_1] = HashMap_size[this_1] - 1 endif set parentKey = key set wurst_stack[wurst_stack_depth] = "when calling removeInt in HashMap, line 30" set wurst_stack_depth = wurst_stack_depth + 1 if Table_typeId[this_1] == 0 then if this_1 == 0 then call error("Nullpointer exception when calling Table.removeInt", "when calling error in Table, line 25") else call error("Called Table.removeInt on invalid object.", "when calling error in Table, line 25") endif endif call RemoveSavedInteger(Table_ht, this_1, parentKey) set wurst_stack_depth = wurst_stack_depth - 1 - 1 endfunction function HashList_decrOccurences takes integer this_1, integer elem, string w__wurst_stackPos returns nothing local hashtable this_2 local integer parentKey local integer childKey set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 set this_2 = HashList_occurences set parentKey = this_1 set childKey = elem set wurst_stack[wurst_stack_depth] = "when calling count in HashList, line 38" set wurst_stack_depth = wurst_stack_depth + 1 if HashList_typeId[this_1] == 0 then if this_1 == 0 then call error("Nullpointer exception when calling HashList.count", "when calling error in HashList, line 28") else call error("Called HashList.count on invalid object.", "when calling error in HashList, line 28") endif endif set this_1 = LoadInteger(HashList_occurences, this_1, elem) set wurst_stack_depth = wurst_stack_depth - 1 call SaveInteger(this_2, parentKey, childKey, this_1 - 1) set wurst_stack_depth = wurst_stack_depth - 1 endfunction function HashList_removeAt takes integer this_1, integer index, string w__wurst_stackPos returns integer local integer tmp local integer temp set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 set tmp = LoadInteger(HashList_ht, this_1, index) set wurst_stack[wurst_stack_depth] = "when calling decrOccurences in HashList, line 77" set wurst_stack_depth = wurst_stack_depth + 1 if HashList_typeId[this_1] == 0 then if this_1 == 0 then call error("Nullpointer exception when calling HashList.decrOccurences", "when calling error in HashList, line 37") else call error("Called HashList.decrOccurences on invalid object.", "when calling error in HashList, line 37") endif endif call HashList_decrOccurences(this_1, tmp, "when calling decrOccurences in HashList, line 37") set wurst_stack_depth = wurst_stack_depth - 1 set tmp = LoadInteger(HashList_ht, this_1, index) set temp = HashList_size[this_1] loop exitwhen index > temp call SaveInteger(HashList_ht, this_1, index, LoadInteger(HashList_ht, this_1, index + 1)) set index = index + 1 endloop set HashList_size[this_1] = HashList_size[this_1] - 1 set wurst_stack_depth = wurst_stack_depth - 1 return tmp endfunction function HashSet_removeAt takes integer this_1, integer index, string w__wurst_stackPos returns integer local integer i local integer temp local hashtable this_2 local integer parentKey local integer childKey local hashtable this_3 local integer parentKey_1 local integer HashList_HashList_get_result set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 set this_3 = HashSet_position set i = this_1 set wurst_stack[wurst_stack_depth] = "when calling get in HashSet, line 25" set wurst_stack_depth = wurst_stack_depth + 1 if HashList_typeId[this_1] == 0 then if this_1 == 0 then call error("Nullpointer exception when calling HashList.get", "when calling error in HashList, line 104") else call error("Called HashList.get on invalid object.", "when calling error in HashList, line 104") endif endif set HashList_HashList_get_result = LoadInteger(HashList_ht, this_1, index) set wurst_stack_depth = wurst_stack_depth - 1 call RemoveSavedInteger(this_3, i, HashList_HashList_get_result) set i = index + 1 set wurst_stack[wurst_stack_depth] = "when calling size in HashSet, line 26" set wurst_stack_depth = wurst_stack_depth + 1 if HashList_typeId[this_1] == 0 then if this_1 == 0 then call error("Nullpointer exception when calling HashList.size", "when calling error in HashList, line 96") else call error("Called HashList.size on invalid object.", "when calling error in HashList, line 96") endif endif set temp = HashList_size[this_1] set wurst_stack_depth = wurst_stack_depth - 1 loop exitwhen i > temp set this_2 = HashSet_position set parentKey = this_1 set wurst_stack[wurst_stack_depth] = "when calling get in HashSet, line 27" set wurst_stack_depth = wurst_stack_depth + 1 if HashList_typeId[this_1] == 0 then if this_1 == 0 then call error("Nullpointer exception when calling HashList.get", "when calling error in HashList, line 104") else call error("Called HashList.get on invalid object.", "when calling error in HashList, line 104") endif endif set HashList_HashList_get_result = LoadInteger(HashList_ht, this_1, i) set wurst_stack_depth = wurst_stack_depth - 1 set childKey = HashList_HashList_get_result set this_3 = HashSet_position set parentKey_1 = this_1 set wurst_stack[wurst_stack_depth] = "when calling get in HashSet, line 27" set wurst_stack_depth = wurst_stack_depth + 1 if HashList_typeId[this_1] == 0 then if this_1 == 0 then call error("Nullpointer exception when calling HashList.get", "when calling error in HashList, line 104") else call error("Called HashList.get on invalid object.", "when calling error in HashList, line 104") endif endif set HashList_HashList_get_result = LoadInteger(HashList_ht, this_1, i) set wurst_stack_depth = wurst_stack_depth - 1 call SaveInteger(this_2, parentKey, childKey, LoadInteger(this_3, parentKey_1, HashList_HashList_get_result) - 1) set i = i + 1 endloop set HashList_HashList_get_result = HashList_removeAt(this_1, index, "when calling removeAt in HashSet, line 28") set wurst_stack_depth = wurst_stack_depth - 1 return HashList_HashList_get_result endfunction function HashSet_remove takes integer this_1, integer elem, string w__wurst_stackPos returns boolean local boolean result_1 local integer HashList_HashList_count_result set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 set result_1 = false set wurst_stack[wurst_stack_depth] = "when calling count in HashSet, line 18" set wurst_stack_depth = wurst_stack_depth + 1 if HashList_typeId[this_1] == 0 then if this_1 == 0 then call error("Nullpointer exception when calling HashList.count", "when calling error in HashList, line 28") else call error("Called HashList.count on invalid object.", "when calling error in HashList, line 28") endif endif set HashList_HashList_count_result = LoadInteger(HashList_occurences, this_1, elem) set wurst_stack_depth = wurst_stack_depth - 1 if HashList_HashList_count_result > 0 then set HashList_HashList_count_result = LoadInteger(HashSet_position, this_1, elem) set wurst_stack[wurst_stack_depth] = "when calling removeAt in HashSet, line 19" set wurst_stack_depth = wurst_stack_depth + 1 if HashList_typeId[this_1] == 0 then if this_1 == 0 then call error("Nullpointer exception when calling HashSet.removeAt", "when calling error in HashSet, line 24") else call error("Called HashSet.removeAt on invalid object.", "when calling error in HashSet, line 24") endif endif call HashSet_removeAt(this_1, HashList_HashList_count_result, "when calling removeAt in HashSet, line 24") set wurst_stack_depth = wurst_stack_depth - 1 set result_1 = true endif set wurst_stack_depth = wurst_stack_depth - 1 return result_1 endfunction function dispatch_HashList_HashList_HashList_removeAt takes integer this_1, integer index, string w__wurst_stackPos returns integer local integer HashList_HashList_removeAt_result set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 if HashList_typeId[this_1] == 0 then if this_1 == 0 then call error("Nullpointer exception when calling HashList.removeAt", "when calling error in HashList, line 76") else call error("Called HashList.removeAt on invalid object.", "when calling error in HashList, line 76") endif endif if HashList_typeId[this_1] <= 2302 then set HashList_HashList_removeAt_result = HashList_removeAt(this_1, index, "when calling removeAt in HashList, line 76") else set HashList_HashList_removeAt_result = HashSet_removeAt(this_1, index, "when calling removeAt in HashList, line 76") endif set wurst_stack_depth = wurst_stack_depth - 1 return HashList_HashList_removeAt_result endfunction function dispatch_HashList_HashList_HashList_remove takes integer this_1, integer t, string w__wurst_stackPos returns boolean local integer this_2 local boolean result_1 local integer i set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 if HashList_typeId[this_1] == 0 then if this_1 == 0 then call error("Nullpointer exception when calling HashList.remove", "when calling error in HashList, line 86") else call error("Called HashList.remove on invalid object.", "when calling error in HashList, line 86") endif endif if HashList_typeId[this_1] <= 2302 then set this_2 = this_1 set wurst_stack[wurst_stack_depth] = "when calling remove in HashList, line 86" set wurst_stack_depth = wurst_stack_depth + 1 set result_1 = false set i = 0 set this_1 = HashList_size[this_1] - 1 loop exitwhen i > this_1 if t == LoadInteger(HashList_ht, this_2, i) then set result_1 = true call dispatch_HashList_HashList_HashList_removeAt(this_2, i, "when calling removeAt in HashList, line 91") exitwhen true endif set i = i + 1 endloop set wurst_stack_depth = wurst_stack_depth - 1 else set result_1 = HashSet_remove(this_1, t, "when calling remove in HashList, line 86") endif set wurst_stack_depth = wurst_stack_depth - 1 return result_1 endfunction function IterableMap_remove takes integer this_1, integer key, string w__wurst_stackPos returns nothing local boolean stackTrace_tempReturn set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 call HashMap_remove(this_1, key, "when calling remove in HashMap, line 66") set wurst_stack[wurst_stack_depth] = "when calling hasKey in HashMap, line 67" set wurst_stack_depth = wurst_stack_depth + 1 if Table_typeId[this_1] == 0 then if this_1 == 0 then call error("Nullpointer exception when calling IterableMap.hasKey", "when calling error in HashMap, line 87") else call error("Called IterableMap.hasKey on invalid object.", "when calling error in HashMap, line 87") endif endif set wurst_stack[wurst_stack_depth] = "when calling hasKey in HashMap, line 87" set wurst_stack_depth = wurst_stack_depth + 1 set stackTrace_tempReturn = dispatch_HashList_HashList_HashList_has(IterableMap_keys[this_1], key, "when calling has in HashMap, line 88") set wurst_stack_depth = wurst_stack_depth - 1 - 1 if stackTrace_tempReturn then call dispatch_HashList_HashList_HashList_remove(IterableMap_keys[this_1], key, "when calling remove in HashMap, line 68") endif set wurst_stack_depth = wurst_stack_depth - 1 endfunction function dispatch_HashMap_HashMap_HashMap_remove takes integer this_1, integer key, string w__wurst_stackPos returns nothing set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 if Table_typeId[this_1] == 0 then if this_1 == 0 then call error("Nullpointer exception when calling HashMap.remove", "when calling error in HashMap, line 27") else call error("Called HashMap.remove on invalid object.", "when calling error in HashMap, line 27") endif endif if Table_typeId[this_1] <= 4108 then call HashMap_remove(this_1, key, "when calling remove in HashMap, line 27") else call IterableMap_remove(this_1, key, "when calling remove in HashMap, line 27") endif set wurst_stack_depth = wurst_stack_depth - 1 endfunction function OnCastListener_onDestroy takes integer this_1, string w__wurst_stackPos returns nothing local integer index set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 if OnCastListener_eventUnit[this_1] != null then set index = GetUnitUserData(OnCastListener_eventUnit[this_1]) if EventListener_castMapCasters[index] == this_1 then if OnCastListener_next[this_1] != 0 then set EventListener_castMapCasters[index] = OnCastListener_next[this_1] else set EventListener_castMapCasters[index] = 0 endif elseif OnCastListener_prev[this_1] != 0 then set OnCastListener_next[OnCastListener_prev[this_1]] = OnCastListener_next[this_1] endif elseif dispatch_HashMap_HashMap_HashMap_get(EventListener_castMap, OnCastListener_abilId[this_1], "when calling get in ClosureEvents, line 70") == this_1 then if OnCastListener_next[this_1] != 0 then call dispatch_HashMap_HashMap_HashMap_put(EventListener_castMap, OnCastListener_abilId[this_1], OnCastListener_next[this_1], "when calling put in ClosureEvents, line 73") else call dispatch_HashMap_HashMap_HashMap_remove(EventListener_castMap, OnCastListener_abilId[this_1], "when calling remove in ClosureEvents, line 75") endif elseif OnCastListener_prev[this_1] != 0 then set OnCastListener_next[OnCastListener_prev[this_1]] = OnCastListener_next[this_1] endif set OnCastListener_prev[OnCastListener_next[this_1]] = OnCastListener_prev[this_1] set OnCastListener_next[this_1] = 0 set OnCastListener_prev[this_1] = 0 set wurst_stack_depth = wurst_stack_depth - 1 endfunction function dispatch_OnCastListener_destroyOnCastListener takes integer this_1, string w__wurst_stackPos returns nothing set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 if OnCastListener_typeId[this_1] == 0 then if this_1 == 0 then call error("Nullpointer exception when calling OnCastListener.OnCastListener", "when calling error in ClosureEvents, line 50") else call error("Called OnCastListener.OnCastListener on invalid object.", "when calling error in ClosureEvents, line 50") endif endif set wurst_stack[wurst_stack_depth] = "when calling destroyOnCastListener in ClosureEvents, line 50" set wurst_stack_depth = wurst_stack_depth + 1 call OnCastListener_onDestroy(this_1, "when calling OnCastListener_onDestroy in ClosureEvents, line 58") set wurst_stack[wurst_stack_depth] = "when calling dealloc_OnCastListener in ClosureEvents, line 58" set wurst_stack_depth = wurst_stack_depth + 1 if OnCastListener_typeId[this_1] == 0 then call error("Double free: object of type OnCastListener", "when calling error in ClosureEvents, line 50") else set OnCastListener_firstFree = OnCastListener_firstFree + 1 set OnCastListener_typeId[this_1] = 0 endif set wurst_stack_depth = wurst_stack_depth - 1 - 1 - 1 endfunction function destroyEventListener takes integer this_1, string w__wurst_stackPos returns nothing set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 if EventListener_uid[this_1] < 0 then if EventListener_generalListenersFirsts[EventListener_eventId[this_1]] == this_1 then set EventListener_generalListenersFirsts[EventListener_eventId[this_1]] = EventListener_next[this_1] elseif EventListener_prev[this_1] != 0 then set EventListener_next[EventListener_prev[this_1]] = EventListener_next[this_1] endif elseif EventListener_unitListenersFirsts[EventListener_uid[this_1]] == this_1 then set EventListener_unitListenersFirsts[EventListener_uid[this_1]] = EventListener_next[this_1] elseif EventListener_prev[this_1] != 0 then set EventListener_next[EventListener_prev[this_1]] = EventListener_next[this_1] endif if EventListener_next[this_1] != 0 then set EventListener_prev[EventListener_next[this_1]] = EventListener_prev[this_1] endif set EventListener_next[this_1] = 0 set EventListener_prev[this_1] = 0 set wurst_stack[wurst_stack_depth] = "when calling dealloc_EventListener in ClosureEvents, line 217" set wurst_stack_depth = wurst_stack_depth + 1 if EventListener_typeId[this_1] == 0 then call error("Double free: object of type EventListener", "when calling error in ClosureEvents, line 105") else set EventListener_nextFree[EventListener_firstFree] = this_1 set EventListener_firstFree = EventListener_firstFree + 1 set EventListener_typeId[this_1] = 0 endif set wurst_stack_depth = wurst_stack_depth - 1 - 1 endfunction function unregisterEvents takes integer id_1, string w__wurst_stackPos returns nothing local integer listener_1 local player showTo set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 if id_1 > 0 then if EventListener_unitListenersFirsts[id_1] != 0 then set w__wurst_stackPos = "unregister unit has listeners. startid: " + I2S(id_1) set showTo = Player_localPlayer if 2 <= 0 then call DisplayTimedTextToPlayer(showTo, 0., 0., 45., Loglevel_getTag(0) + " - " + w__wurst_stackPos) endif set listener_1 = EventListener_unitListenersFirsts[id_1] set EventListener_unitListenersFirsts[id_1] = 0 loop exitwhen listener_1 == 0 set id_1 = listener_1 set listener_1 = EventListener_next[listener_1] set wurst_stack[wurst_stack_depth] = "when calling dispatch_EventListener_destroyEventListener in ClosureEvents, line 290" set wurst_stack_depth = wurst_stack_depth + 1 if EventListener_typeId[id_1] == 0 then if id_1 == 0 then call error("Nullpointer exception when calling EventListener.EventListener", "when calling error in ClosureEvents, line 105") else call error("Called EventListener.EventListener on invalid object.", "when calling error in ClosureEvents, line 105") endif endif call destroyEventListener(id_1, "when calling destroyEventListener in ClosureEvents, line 105") set wurst_stack_depth = wurst_stack_depth - 1 endloop endif endif set wurst_stack_depth = wurst_stack_depth - 1 endfunction function unregisterEventsForUnit takes unit u_1, string w__wurst_stackPos returns nothing local integer index local integer listener_1 set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 set index = GetUnitUserData(u_1) call unregisterEvents(index, "when calling unregisterEvents in ClosureEvents, line 272") if EventListener_castMapCasters[index] != 0 then set listener_1 = EventListener_castMapCasters[index] set EventListener_castMapCasters[index] = 0 loop exitwhen listener_1 == 0 set index = listener_1 set listener_1 = OnCastListener_next[listener_1] call dispatch_OnCastListener_destroyOnCastListener(index, "when calling dispatch_OnCastListener_destroyOnCastListener in ClosureEvents, line 279") endloop endif set wurst_stack_depth = wurst_stack_depth - 1 endfunction function bridge_code__onUnitDeindex_ClosureEvents takes nothing returns nothing set wurst_stack_depth = 0 set wurst_stack[wurst_stack_depth] = "via function reference ClosureEvents, line 296" set wurst_stack_depth = wurst_stack_depth + 1 call unregisterEventsForUnit(UnitIndexer_tempUnits[UnitIndexer_tempUnitsCount - 1], "when calling unregisterEventsForUnit in ClosureEvents, line 296") set wurst_stack_depth = wurst_stack_depth - 1 endfunction function unit_clearLastOrders takes unit this_1, string w__wurst_stackPos returns nothing local integer index local integer this_2 set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 set index = GetUnitUserData(this_1) if LastOrder_lastOrder[index] != 0 then set this_2 = LastOrder_lastOrder[index] set wurst_stack[wurst_stack_depth] = "when calling dispatch_Order_destroyOrder in LastOrder, line 18" set wurst_stack_depth = wurst_stack_depth + 1 if Order_typeId[this_2] == 0 then if this_2 == 0 then call error("Nullpointer exception when calling Order.Order", "when calling error in LastOrder, line 33") else call error("Called Order.Order on invalid object.", "when calling error in LastOrder, line 33") endif endif call destroyOrder(this_2, "when calling destroyOrder in LastOrder, line 33") set wurst_stack_depth = wurst_stack_depth - 1 set LastOrder_lastOrder[index] = 0 endif set wurst_stack_depth = wurst_stack_depth - 1 endfunction function bridge_code__onUnitDeindex_LastOrder takes nothing returns nothing set wurst_stack_depth = 0 set wurst_stack[wurst_stack_depth] = "via function reference LastOrder, line 166" set wurst_stack_depth = wurst_stack_depth + 1 call unit_clearLastOrders(UnitIndexer_tempUnits[UnitIndexer_tempUnitsCount - 1], "when calling clearLastOrders in LastOrder, line 167") set wurst_stack_depth = wurst_stack_depth - 1 endfunction function triggerFromIndex takes integer index, string w__wurst_stackPos returns trigger local integer this_1 local fogstate value local trigger Table_Table_loadTrigger_result set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 set this_1 = TypeCasting_typecastdata set value = ConvertFogState(index) set wurst_stack[wurst_stack_depth] = "when calling saveFogState in TypeCasting, line 95" set wurst_stack_depth = wurst_stack_depth + 1 if Table_typeId[this_1] == 0 then if this_1 == 0 then call error("Nullpointer exception when calling Table.saveFogState", "when calling error in Table, line 169") else call error("Called Table.saveFogState on invalid object.", "when calling error in Table, line 169") endif endif call SaveFogStateHandle(Table_ht, this_1, 0, value) set wurst_stack_depth = wurst_stack_depth - 1 set index = TypeCasting_typecastdata set wurst_stack[wurst_stack_depth] = "when calling loadTrigger in TypeCasting, line 96" set wurst_stack_depth = wurst_stack_depth + 1 if Table_typeId[index] == 0 then if index == 0 then call error("Nullpointer exception when calling Table.loadTrigger", "when calling error in Table, line 112") else call error("Called Table.loadTrigger on invalid object.", "when calling error in Table, line 112") endif endif set Table_Table_loadTrigger_result = LoadTriggerHandle(Table_ht, index, 0) set wurst_stack_depth = wurst_stack_depth - 1 - 1 return Table_Table_loadTrigger_result endfunction function code__registerPlayerUnitEvent_RegisterEvents takes string w__wurst_stackPos returns boolean local boolean stackTrace_tempReturn set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 set stackTrace_tempReturn = TriggerEvaluate(triggerFromIndex(dispatch_HashMap_HashMap_HashMap_get(RegisterEvents_onCastMap, GetSpellAbilityId(), "when calling get in RegisterEvents, line 58"), "when calling triggerFromIndex in RegisterEvents, line 58")) set wurst_stack_depth = wurst_stack_depth - 1 return stackTrace_tempReturn endfunction function bridge_code__registerPlayerUnitEvent_RegisterEvents takes nothing returns boolean set wurst_stack_depth = 0 return code__registerPlayerUnitEvent_RegisterEvents("via function reference RegisterEvents, line 58") endfunction function dispatch_OnCastListener_ClosureEvents_OnCastListener_fire takes integer this_1, unit caster, string w__wurst_stackPos returns nothing set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 if OnCastListener_typeId[this_1] == 0 then if this_1 == 0 then call error("Nullpointer exception when calling OnCastListener.fire", "when calling error in ClosureEvents, line 56") else call error("Called OnCastListener.fire on invalid object.", "when calling error in ClosureEvents, line 56") endif endif set wurst_stack_depth = wurst_stack_depth - 1 endfunction function EventListener_onSpellEffect takes string w__wurst_stackPos returns nothing local unit trigUnit local integer abilId local integer listener_1 local integer nextListener set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 set trigUnit = GetTriggerUnit() set abilId = GetSpellAbilityId() set listener_1 = GetUnitUserData(trigUnit) if EventListener_castMapCasters[listener_1] != 0 then set listener_1 = EventListener_castMapCasters[listener_1] loop exitwhen listener_1 == 0 set nextListener = OnCastListener_next[listener_1] if OnCastListener_abilId[listener_1] == -1 or OnCastListener_abilId[listener_1] == abilId then call dispatch_OnCastListener_ClosureEvents_OnCastListener_fire(listener_1, GetSpellAbilityUnit(), "when calling fire in ClosureEvents, line 207") endif set listener_1 = nextListener endloop endif if dispatch_HashMap_HashMap_HashMap_has(EventListener_castMap, abilId, "when calling has in ClosureEvents, line 209") then set listener_1 = dispatch_HashMap_HashMap_HashMap_get(EventListener_castMap, abilId, "when calling get in ClosureEvents, line 210") loop exitwhen listener_1 == 0 set abilId = OnCastListener_next[listener_1] if OnCastListener_eventUnit[listener_1] == null or OnCastListener_eventUnit[listener_1] == trigUnit then call dispatch_OnCastListener_ClosureEvents_OnCastListener_fire(listener_1, GetSpellAbilityUnit(), "when calling fire in ClosureEvents, line 214") endif set listener_1 = abilId endloop endif set wurst_stack_depth = wurst_stack_depth - 1 endfunction function bridge_code__registerPlayerUnitEvent_nullTimer_ClosureEvents takes nothing returns nothing set wurst_stack_depth = 0 set wurst_stack[wurst_stack_depth] = "via function reference ClosureEvents, line 316" set wurst_stack_depth = wurst_stack_depth + 1 call EventListener_onSpellEffect("when calling onSpellEffect in ClosureEvents, line 316") set wurst_stack_depth = wurst_stack_depth - 1 endfunction function timer_getData takes timer this_1, string w__wurst_stackPos returns integer local integer this_2 local integer parentKey set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 set this_2 = TimerUtils_timerData set parentKey = GetHandleId(this_1) set wurst_stack[wurst_stack_depth] = "when calling loadInt in TimerUtils, line 22" set wurst_stack_depth = wurst_stack_depth + 1 if Table_typeId[this_2] == 0 then if this_2 == 0 then call error("Nullpointer exception when calling Table.loadInt", "when calling error in Table, line 40") else call error("Called Table.loadInt on invalid object.", "when calling error in Table, line 40") endif endif set this_2 = LoadInteger(Table_ht, this_2, parentKey) set wurst_stack_depth = wurst_stack_depth - 1 - 1 return this_2 endfunction function timer_setData takes timer this_1, integer data_1, string w__wurst_stackPos returns nothing local integer this_2 local integer parentKey set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 set this_2 = TimerUtils_timerData set parentKey = GetHandleId(this_1) set wurst_stack[wurst_stack_depth] = "when calling saveInt in TimerUtils, line 18" set wurst_stack_depth = wurst_stack_depth + 1 if Table_typeId[this_2] == 0 then if this_2 == 0 then call error("Nullpointer exception when calling Table.saveInt", "when calling error in Table, line 43") else call error("Called Table.saveInt on invalid object.", "when calling error in Table, line 43") endif endif call SaveInteger(Table_ht, this_2, parentKey, data_1) set wurst_stack_depth = wurst_stack_depth - 1 - 1 endfunction function timer_release takes timer this_1, string w__wurst_stackPos returns nothing set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 if this_1 == null then call error("Trying to release a null timer", "when calling error in TimerUtils, line 38") set wurst_stack_depth = wurst_stack_depth - 1 return endif if timer_getData(this_1, "when calling getData in TimerUtils, line 40") == 679645218 then call error("ReleaseTimer: Double free!", "when calling error in TimerUtils, line 41") set wurst_stack_depth = wurst_stack_depth - 1 return endif call timer_setData(this_1, 679645218, "when calling setData in TimerUtils, line 43") call PauseTimer(this_1) set TimerUtils_freeTimers[TimerUtils_freeTimersCount] = this_1 set TimerUtils_freeTimersCount = TimerUtils_freeTimersCount + 1 set wurst_stack_depth = wurst_stack_depth - 1 endfunction function destroyCallbackSingle takes integer this_1, string w__wurst_stackPos returns nothing set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 set wurst_stack[wurst_stack_depth] = "when calling CallbackSingle_onDestroy in ClosureTimers, line 144" set wurst_stack_depth = wurst_stack_depth + 1 call timer_release(CallbackSingle_t[this_1], "when calling release in ClosureTimers, line 145") set wurst_stack_depth = wurst_stack_depth - 1 set wurst_stack[wurst_stack_depth] = "when calling dealloc_CallbackSingle in ClosureTimers, line 144" set wurst_stack_depth = wurst_stack_depth + 1 if CallbackSingle_typeId[this_1] == 0 then call error("Double free: object of type CallbackSingle", "when calling error in ClosureTimers, line 128") else set CallbackSingle_nextFree[CallbackSingle_firstFree] = this_1 set CallbackSingle_firstFree = CallbackSingle_firstFree + 1 set CallbackSingle_typeId[this_1] = 0 endif set wurst_stack_depth = wurst_stack_depth - 1 - 1 endfunction function Cinematic_fadeIn takes real duration_seconds_1 returns nothing call EnableUserUI(true) call SetCineFilterTexture("ReplaceableTextures\\CameraMasks\\White_mask.blp") call SetCineFilterBlendMode(BLEND_MODE_BLEND) call SetCineFilterTexMapFlags(TEXMAP_FLAG_NONE) call SetCineFilterStartUV(0., 0., 1., 1.) call SetCineFilterEndUV(0., 0., 1., 1.) call SetCineFilterStartColor(0, 0, 0, 255) call SetCineFilterEndColor(0, 0, 0, 0) call SetCineFilterDuration(duration_seconds_1) call DisplayCineFilter(true) endfunction function Cinematic_endCinematic takes integer this_1 returns nothing set Cinematic_running[this_1] = false call ShowInterface(true, .5) call EnableUserControl(true) call Cinematic_fadeIn(0.) endfunction function CallbackSingle_start takes integer this_1, timer whichTimer, real time, string w__wurst_stackPos returns nothing set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 call timer_setData(whichTimer, this_1, "when calling setData in ClosureTimers, line 134") call TimerStart(whichTimer, time, false, ref_function_bridge_code__start_CallbackSingle_ClosureTimers) set CallbackSingle_t[this_1] = whichTimer set wurst_stack_depth = wurst_stack_depth - 1 endfunction function dispatch_CallbackSingle_ClosureTimers_CallbackSingle_start takes integer this_1, timer whichTimer, real time, string w__wurst_stackPos returns nothing set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 if CallbackSingle_typeId[this_1] == 0 then if this_1 == 0 then call error("Nullpointer exception when calling CallbackSingle.start", "when calling error in ClosureTimers, line 132") else call error("Called CallbackSingle.start on invalid object.", "when calling error in ClosureTimers, line 132") endif endif call CallbackSingle_start(this_1, whichTimer, time, "when calling start in ClosureTimers, line 132") set wurst_stack_depth = wurst_stack_depth - 1 endfunction function Cinematic_fadeOut takes real duration_seconds_1 returns nothing call EnableUserUI(false) call SetCineFilterTexture("ReplaceableTextures\\CameraMasks\\White_mask.blp") call SetCineFilterBlendMode(BLEND_MODE_BLEND) call SetCineFilterTexMapFlags(TEXMAP_FLAG_NONE) call SetCineFilterStartUV(0., 0., 1., 1.) call SetCineFilterEndUV(0., 0., 1., 1.) call SetCineFilterStartColor(0, 0, 0, 0) call SetCineFilterEndColor(0, 0, 0, 255) call SetCineFilterDuration(duration_seconds_1) call DisplayCineFilter(true) endfunction function dispatch_CineSeq_Cinematic_CineSeq_apply takes integer this_1, string w__wurst_stackPos returns real local real tuple_temp set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 if CineSeq_typeId[this_1] == 0 then if this_1 == 0 then call error("Nullpointer exception when calling CineSeq.apply", "when calling error in Cinematic, line 17") else call error("Called CineSeq.apply on invalid object.", "when calling error in Cinematic, line 17") endif endif if CineSeq_typeId[this_1] <= 1212 then if CineSeq_typeId[this_1] <= 1211 then if CineSeq_typeId[this_1] <= 1210 then call Cinematic_fadeOut(duration_seconds[this_1]) set tuple_temp = duration_seconds[this_1] else call Cinematic_fadeIn(duration_seconds_314[this_1]) set tuple_temp = duration_seconds_314[this_1] endif else call CameraSetupApply(setup[this_1], true, true) set tuple_temp = 0. endif elseif CineSeq_typeId[this_1] <= 1213 then set tuple_temp = pos_x[this_1] call SetCameraPosition(tuple_temp, pos_y[this_1]) set tuple_temp = 0. else set tuple_temp = duration_seconds_315[this_1] endif set wurst_stack_depth = wurst_stack_depth - 1 set dispatch_CineSeq_Cinematic_CineSeq_apply_return_seconds = tuple_temp return dispatch_CineSeq_Cinematic_CineSeq_apply_return_seconds endfunction function getTimer takes string w__wurst_stackPos returns timer local timer receiver set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 if TimerUtils_freeTimersCount > 0 then set TimerUtils_freeTimersCount = TimerUtils_freeTimersCount - 1 call timer_setData(TimerUtils_freeTimers[TimerUtils_freeTimersCount], 0, "when calling setData in TimerUtils, line 30") set wurst_stack_depth = wurst_stack_depth - 1 return TimerUtils_freeTimers[TimerUtils_freeTimersCount] else set receiver = CreateTimer() call timer_setData(receiver, 0, "when calling setData in TimerUtils, line 33") set wurst_stack_depth = wurst_stack_depth - 1 return receiver endif endfunction function Cinematic_controller takes integer this_1, integer sequence_1, integer ending_1, string w__wurst_stackPos returns nothing local integer this_2 local timer this_3 local boolean andLeft local real tuple_temp set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 if Cinematic_running[this_1] then set wurst_stack[wurst_stack_depth] = "when calling isEmpty in Cinematic, line 48" set wurst_stack_depth = wurst_stack_depth + 1 if LinkedList_typeId[sequence_1] == 0 then if sequence_1 == 0 then call error("Nullpointer exception when calling LinkedList.isEmpty", "when calling error in LinkedList, line 162") else call error("Called LinkedList.isEmpty on invalid object.", "when calling error in LinkedList, line 162") endif endif set andLeft = LinkedList_size[sequence_1] == 0 set wurst_stack_depth = wurst_stack_depth - 1 set andLeft = not andLeft else set andLeft = false endif if andLeft then set tuple_temp = dispatch_CineSeq_Cinematic_CineSeq_apply(dispatch_LinkedList_LinkedList_LinkedList_dequeue(sequence_1, "when calling dequeue in Cinematic, line 49"), "when calling apply in Cinematic, line 50") set wurst_stack[wurst_stack_depth] = "when calling alloc_CallbackSingle_doAfter_Cinematic_Cinematic in Cinematic, line 51" set wurst_stack_depth = wurst_stack_depth + 1 if CallbackSingle_firstFree == 0 then if CallbackSingle_maxIndex < 32768 then set CallbackSingle_maxIndex = CallbackSingle_maxIndex + 1 set this_2 = CallbackSingle_maxIndex set CallbackSingle_typeId[this_2] = 1105 else call error("Out of memory: Could not create CallbackSingle_doAfter_Cinematic_Cinematic.", "when calling error in Cinematic, line 51") set this_2 = 0 endif else set CallbackSingle_firstFree = CallbackSingle_firstFree - 1 set this_2 = CallbackSingle_nextFree[CallbackSingle_firstFree] set CallbackSingle_typeId[this_2] = 1105 endif set wurst_stack_depth = wurst_stack_depth - 1 set this_460[this_2] = this_1 set sequence[this_2] = sequence_1 set ending[this_2] = ending_1 set wurst_stack[wurst_stack_depth] = "when calling doAfter in Cinematic, line 51" set wurst_stack_depth = wurst_stack_depth + 1 set this_3 = getTimer("when calling getTimer in ClosureTimers, line 28") set wurst_stack[wurst_stack_depth] = "when calling doAfter in ClosureTimers, line 28" set wurst_stack_depth = wurst_stack_depth + 1 call dispatch_CallbackSingle_ClosureTimers_CallbackSingle_start(this_2, this_3, tuple_temp, "when calling start in ClosureTimers, line 17") set wurst_stack_depth = wurst_stack_depth - 1 - 1 else set wurst_stack[wurst_stack_depth] = "when calling endCinematic in Cinematic, line 54" set wurst_stack_depth = wurst_stack_depth + 1 if Cinematic_typeId[this_1] == 0 then if this_1 == 0 then call error("Nullpointer exception when calling Cinematic.endCinematic", "when calling error in Cinematic, line 67") else call error("Called Cinematic.endCinematic on invalid object.", "when calling error in Cinematic, line 67") endif endif call Cinematic_endCinematic(this_1) set wurst_stack_depth = wurst_stack_depth - 1 call dispatch_CineSeq_Cinematic_CineSeq_apply(ending_1, "when calling apply in Cinematic, line 55") endif set wurst_stack_depth = wurst_stack_depth - 1 endfunction function DummyRecycler_recycle takes unit u_1, string w__wurst_stackPos returns nothing local integer smallestQueue local integer i local integer temp local integer LinkedList_LinkedList_size_result local integer LinkedList_LinkedList_size_result_1 local integer elem local real tuple_temp local real tuple_temp_1 set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 set smallestQueue = 0 set i = 1 set temp = 7 loop exitwhen i > temp set LinkedList_LinkedList_size_result = DummyRecycler_angleQueues[smallestQueue] set wurst_stack[wurst_stack_depth] = "when calling size in DummyRecycler, line 51" set wurst_stack_depth = wurst_stack_depth + 1 if LinkedList_typeId[LinkedList_LinkedList_size_result] == 0 then if LinkedList_LinkedList_size_result == 0 then call error("Nullpointer exception when calling LinkedList.size", "when calling error in LinkedList, line 158") else call error("Called LinkedList.size on invalid object.", "when calling error in LinkedList, line 158") endif endif set LinkedList_LinkedList_size_result = LinkedList_size[LinkedList_LinkedList_size_result] set wurst_stack_depth = wurst_stack_depth - 1 set LinkedList_LinkedList_size_result_1 = DummyRecycler_angleQueues[i] set wurst_stack[wurst_stack_depth] = "when calling size in DummyRecycler, line 51" set wurst_stack_depth = wurst_stack_depth + 1 if LinkedList_typeId[LinkedList_LinkedList_size_result_1] == 0 then if LinkedList_LinkedList_size_result_1 == 0 then call error("Nullpointer exception when calling LinkedList.size", "when calling error in LinkedList, line 158") else call error("Called LinkedList.size on invalid object.", "when calling error in LinkedList, line 158") endif endif set LinkedList_LinkedList_size_result_1 = LinkedList_size[LinkedList_LinkedList_size_result_1] set wurst_stack_depth = wurst_stack_depth - 1 if LinkedList_LinkedList_size_result > LinkedList_LinkedList_size_result_1 then set smallestQueue = i endif set i = i + 1 endloop set temp = DummyRecycler_angleQueues[smallestQueue] set wurst_stack[wurst_stack_depth] = "when calling size in DummyRecycler, line 53" set wurst_stack_depth = wurst_stack_depth + 1 if LinkedList_typeId[temp] == 0 then if temp == 0 then call error("Nullpointer exception when calling LinkedList.size", "when calling error in LinkedList, line 158") else call error("Called LinkedList.size on invalid object.", "when calling error in LinkedList, line 158") endif endif set temp = LinkedList_size[temp] set wurst_stack_depth = wurst_stack_depth - 1 if temp >= 6 then call RemoveUnit(u_1) else set temp = DummyRecycler_angleQueues[smallestQueue] set elem = GetHandleId(u_1) set wurst_stack[wurst_stack_depth] = "when calling enqueue in DummyRecycler, line 56" set wurst_stack_depth = wurst_stack_depth + 1 if LinkedList_typeId[temp] == 0 then if temp == 0 then call error("Nullpointer exception when calling LinkedList.enqueue", "when calling error in LinkedList, line 195") else call error("Called LinkedList.enqueue on invalid object.", "when calling error in LinkedList, line 195") endif endif set wurst_stack[wurst_stack_depth] = "when calling enqueue in LinkedList, line 195" set wurst_stack_depth = wurst_stack_depth + 1 call dispatch_LinkedList_LinkedList_LinkedList_add_1(temp, elem, "when calling add in LinkedList, line 196") set wurst_stack_depth = wurst_stack_depth - 1 - 1 set tuple_temp_1 = MapBounds_boundMax_x set tuple_temp = MapBounds_boundMax_y set tuple_temp_1 = tuple_temp_1 - 16. set tuple_temp = tuple_temp - 16. call SetUnitX(u_1, tuple_temp_1) call SetUnitY(u_1, tuple_temp) call PauseUnit(u_1, true) set tuple_temp_1 = smallestQueue * DummyRecycler_ANGLE_DEGREE * 0.017453293 call SetUnitFacing(u_1, tuple_temp_1 * 57.295779513) call SetUnitScale(u_1, 1., 1., 1.) call SetUnitVertexColor(u_1, 255, 255, 255, 255) call SetUnitOwner(u_1, Basics_DUMMY_PLAYER, true) endif set wurst_stack_depth = wurst_stack_depth - 1 endfunction function SoundDefinition_playSound takes integer this_1, integer instance_1, string w__wurst_stackPos returns nothing local real temp local integer this_2 local timer this_3 set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 if SoundInstance_onUnit[instance_1] != null then call AttachSoundToUnit(SoundInstance_snd[instance_1], SoundInstance_onUnit[instance_1]) endif if SoundInstance_pos_x[instance_1] != 0. or SoundInstance_pos_y[instance_1] != 0. then call SetSoundPosition(SoundInstance_snd[instance_1], SoundInstance_pos_x[instance_1], SoundInstance_pos_y[instance_1], SoundInstance_pos_z[instance_1]) endif if SoundInstance_p[instance_1] != null then if GetLocalPlayer() == SoundInstance_p[instance_1] then call StartSound(SoundInstance_snd[instance_1]) endif else call StartSound(SoundInstance_snd[instance_1]) endif set temp = SoundDefinition_duration[SoundInstance_soundDef[instance_1]] * 0.001 set wurst_stack[wurst_stack_depth] = "when calling alloc_CallbackSingle_doAfter_SoundDefinition_SoundUtils in SoundUtils, line 160" set wurst_stack_depth = wurst_stack_depth + 1 if CallbackSingle_firstFree == 0 then if CallbackSingle_maxIndex < 32768 then set CallbackSingle_maxIndex = CallbackSingle_maxIndex + 1 set this_2 = CallbackSingle_maxIndex set CallbackSingle_typeId[this_2] = 1114 else call error("Out of memory: Could not create CallbackSingle_doAfter_SoundDefinition_SoundUtils.", "when calling error in SoundUtils, line 160") set this_2 = 0 endif else set CallbackSingle_firstFree = CallbackSingle_firstFree - 1 set this_2 = CallbackSingle_nextFree[CallbackSingle_firstFree] set CallbackSingle_typeId[this_2] = 1114 endif set wurst_stack_depth = wurst_stack_depth - 1 set this_466[this_2] = this_1 set instance[this_2] = instance_1 set wurst_stack[wurst_stack_depth] = "when calling doAfter in SoundUtils, line 160" set wurst_stack_depth = wurst_stack_depth + 1 set this_3 = getTimer("when calling getTimer in ClosureTimers, line 28") set wurst_stack[wurst_stack_depth] = "when calling doAfter in ClosureTimers, line 28" set wurst_stack_depth = wurst_stack_depth + 1 call dispatch_CallbackSingle_ClosureTimers_CallbackSingle_start(this_2, this_3, temp, "when calling start in ClosureTimers, line 17") set wurst_stack_depth = wurst_stack_depth - 1 set wurst_stack_depth = wurst_stack_depth - 1 - 1 endfunction function dispatch_Sim3DSound_destroySim3DSound takes integer this_1, string w__wurst_stackPos returns nothing set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 if Sim3DSound_typeId[this_1] == 0 then if this_1 == 0 then call error("Nullpointer exception when calling Sim3DSound.Sim3DSound", "when calling error in Simulate3dSound, line 87") else call error("Called Sim3DSound.Sim3DSound on invalid object.", "when calling error in Simulate3dSound, line 87") endif endif set wurst_stack[wurst_stack_depth] = "when calling destroySim3DSound in Simulate3dSound, line 87" set wurst_stack_depth = wurst_stack_depth + 1 set wurst_stack[wurst_stack_depth] = "when calling dealloc_Sim3DSound in Simulate3dSound, line 87" set wurst_stack_depth = wurst_stack_depth + 1 if Sim3DSound_typeId[this_1] == 0 then call error("Double free: object of type Sim3DSound", "when calling error in Simulate3dSound, line 87") else set Sim3DSound_firstFree = Sim3DSound_firstFree + 1 set Sim3DSound_typeId[this_1] = 0 endif set wurst_stack_depth = wurst_stack_depth - 1 - 1 - 1 endfunction function dispatch_SoundInstance_destroySoundInstance takes integer this_1, string w__wurst_stackPos returns nothing set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 if SoundInstance_typeId[this_1] == 0 then if this_1 == 0 then call error("Nullpointer exception when calling SoundInstance.SoundInstance", "when calling error in SoundUtils, line 37") else call error("Called SoundInstance.SoundInstance on invalid object.", "when calling error in SoundUtils, line 37") endif endif set wurst_stack[wurst_stack_depth] = "when calling destroySoundInstance in SoundUtils, line 37" set wurst_stack_depth = wurst_stack_depth + 1 call StopSound(SoundInstance_snd[this_1], true, false) set wurst_stack[wurst_stack_depth] = "when calling dealloc_SoundInstance in SoundUtils, line 45" set wurst_stack_depth = wurst_stack_depth + 1 if SoundInstance_typeId[this_1] == 0 then call error("Double free: object of type SoundInstance", "when calling error in SoundUtils, line 37") else set SoundInstance_firstFree = SoundInstance_firstFree + 1 set SoundInstance_typeId[this_1] = 0 endif set wurst_stack_depth = wurst_stack_depth - 1 - 1 - 1 endfunction function SoundDefinition_recycle takes integer this_1, integer instance_1, string w__wurst_stackPos returns nothing set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 set SoundInstance_p[instance_1] = null if SoundInstance_s3s[instance_1] != 0 then call dispatch_Sim3DSound_destroySim3DSound(SoundInstance_s3s[instance_1], "when calling dispatch_Sim3DSound_destroySim3DSound in SoundUtils, line 166") endif set this_1 = SoundDefinition_soundStack[SoundInstance_soundDef[instance_1]] set wurst_stack[wurst_stack_depth] = "when calling size in SoundUtils, line 167" set wurst_stack_depth = wurst_stack_depth + 1 if LinkedList_typeId[this_1] == 0 then if this_1 == 0 then call error("Nullpointer exception when calling LinkedList.size", "when calling error in LinkedList, line 158") else call error("Called LinkedList.size on invalid object.", "when calling error in LinkedList, line 158") endif endif set this_1 = LinkedList_size[this_1] set wurst_stack_depth = wurst_stack_depth - 1 if this_1 < 4 then set this_1 = SoundDefinition_soundStack[SoundInstance_soundDef[instance_1]] set wurst_stack[wurst_stack_depth] = "when calling push in SoundUtils, line 168" set wurst_stack_depth = wurst_stack_depth + 1 if LinkedList_typeId[this_1] == 0 then if this_1 == 0 then call error("Nullpointer exception when calling LinkedList.push", "when calling error in LinkedList, line 84") else call error("Called LinkedList.push on invalid object.", "when calling error in LinkedList, line 84") endif endif set wurst_stack[wurst_stack_depth] = "when calling push in LinkedList, line 84" set wurst_stack_depth = wurst_stack_depth + 1 call dispatch_LinkedList_LinkedList_LinkedList_add_1(this_1, instance_1, "when calling add in LinkedList, line 85") set wurst_stack_depth = wurst_stack_depth - 1 - 1 else call dispatch_SoundInstance_destroySoundInstance(instance_1, "when calling dispatch_SoundInstance_destroySoundInstance in SoundUtils, line 170") endif set wurst_stack_depth = wurst_stack_depth - 1 endfunction function dispatch_DummyCaster_destroyDummyCaster takes integer this_1, string w__wurst_stackPos returns nothing set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 if DummyCaster_typeId[this_1] == 0 then if this_1 == 0 then call error("Nullpointer exception when calling DummyCaster.DummyCaster", "when calling error in DummyCaster, line 28") else call error("Called DummyCaster.DummyCaster on invalid object.", "when calling error in DummyCaster, line 28") endif endif set wurst_stack[wurst_stack_depth] = "when calling destroyDummyCaster in DummyCaster, line 28" set wurst_stack_depth = wurst_stack_depth + 1 set wurst_stack[wurst_stack_depth] = "when calling dealloc_DummyCaster in DummyCaster, line 27" set wurst_stack_depth = wurst_stack_depth + 1 if DummyCaster_typeId[this_1] == 0 then call error("Double free: object of type DummyCaster", "when calling error in DummyCaster, line 28") else set DummyCaster_firstFree = DummyCaster_firstFree + 1 set DummyCaster_typeId[this_1] = 0 endif set wurst_stack_depth = wurst_stack_depth - 1 - 1 - 1 endfunction function call_doAfter_DummyCaster_DummyCaster takes integer this_1, string w__wurst_stackPos returns nothing local integer this_2 local unit dummy_1 local integer id_1 set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 set this_2 = this[this_1] set dummy_1 = dummy[this_1] set id_1 = id[this_1] set wurst_stack[wurst_stack_depth] = "when calling recycleDummy in DummyCaster, line 90" set wurst_stack_depth = wurst_stack_depth + 1 if DummyCaster_typeId[this_2] == 0 then if this_2 == 0 then call error("Nullpointer exception when calling DummyCaster.recycleDummy", "when calling error in DummyCaster, line 95") else call error("Called DummyCaster.recycleDummy on invalid object.", "when calling error in DummyCaster, line 95") endif endif set wurst_stack[wurst_stack_depth] = "when calling recycleDummy in DummyCaster, line 95" set wurst_stack_depth = wurst_stack_depth + 1 call UnitRemoveAbility(dummy_1, id_1) call DummyRecycler_recycle(dummy_1, "when calling recycle in DummyCaster, line 97") set wurst_stack_depth = wurst_stack_depth - 1 - 1 set DummyCaster_castCount[this[this_1]] = DummyCaster_castCount[this[this_1]] - 1 if DummyCaster_castCount[this[this_1]] == 0 then call dispatch_DummyCaster_destroyDummyCaster(this[this_1], "when calling dispatch_DummyCaster_destroyDummyCaster in DummyCaster, line 93") endif set wurst_stack_depth = wurst_stack_depth - 1 endfunction function call_nullTimer_ClosureEvents takes integer this_1 returns nothing local integer temp local trigger receiver call TriggerAddAction(ClosureEvents_unitTrig, ref_function_bridge_code__addAction_nullTimer_ClosureEvents) call TriggerAddAction(ClosureEvents_leaveTrig, ref_function_bridge_code__addAction_nullTimer_ClosureEvents_336) call TriggerAddAction(ClosureEvents_keyTrig, ref_function_bridge_code__addAction_nullTimer_ClosureEvents_337) set this_1 = 0 set temp = bj_MAX_PLAYERS - 1 loop exitwhen this_1 > temp call TriggerRegisterPlayerEvent(ClosureEvents_leaveTrig, Player_players[this_1], EVENT_PLAYER_LEAVE) set receiver = ClosureEvents_keyTrig call TriggerRegisterPlayerEvent(receiver, Player_players[this_1], EVENT_PLAYER_ARROW_DOWN_DOWN) call TriggerRegisterPlayerEvent(receiver, Player_players[this_1], EVENT_PLAYER_ARROW_DOWN_UP) call TriggerRegisterPlayerEvent(receiver, Player_players[this_1], EVENT_PLAYER_ARROW_UP_DOWN) call TriggerRegisterPlayerEvent(receiver, Player_players[this_1], EVENT_PLAYER_ARROW_UP_UP) call TriggerRegisterPlayerEvent(receiver, Player_players[this_1], EVENT_PLAYER_ARROW_LEFT_DOWN) call TriggerRegisterPlayerEvent(receiver, Player_players[this_1], EVENT_PLAYER_ARROW_LEFT_UP) call TriggerRegisterPlayerEvent(receiver, Player_players[this_1], EVENT_PLAYER_ARROW_RIGHT_DOWN) call TriggerRegisterPlayerEvent(receiver, Player_players[this_1], EVENT_PLAYER_ARROW_RIGHT_UP) call TriggerRegisterPlayerEvent(receiver, Player_players[this_1], EVENT_PLAYER_END_CINEMATIC) call TriggerRegisterPlayerChatEvent(receiver, Player_players[this_1], "", false) set this_1 = this_1 + 1 endloop call registerPlayerUnitEvent(EVENT_PLAYER_UNIT_SPELL_EFFECT, null, ref_function_bridge_code__registerPlayerUnitEvent_nullTimer_ClosureEvents, null) endfunction function call_nullTimer_OnUnitEnterLeave takes integer this_1 returns nothing local group receiver call TriggerRegisterEnterRegion(CreateTrigger(), MapBounds_boundRegion, Filter(ref_function_code__Filter_registerEnterRegion_nullTimer_OnUnitEnterLeave)) call registerPlayerUnitEvent(EVENT_PLAYER_UNIT_ISSUED_ORDER, null, ref_function_code__registerPlayerUnitEvent_nullTimer_OnUnitEnterLeave, null) set receiver = OnUnitEnterLeave_preplacedUnits call GroupEnumUnitsInRect(receiver, MapBounds_boundRect, null) call ForGroup(OnUnitEnterLeave_preplacedUnits, ref_function_code__ForGroup_nullTimer_OnUnitEnterLeave) set receiver = OnUnitEnterLeave_preplacedUnits call GroupClear(receiver) call DestroyGroup(receiver) endfunction function dispatch_Callback_destroyCallback takes integer this_1, string w__wurst_stackPos returns nothing set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 if Callback_typeId[this_1] == 0 then if this_1 == 0 then call error("Nullpointer exception when calling Callback.Callback", "when calling error in ClosureTimers, line 125") else call error("Called Callback.Callback on invalid object.", "when calling error in ClosureTimers, line 125") endif endif set wurst_stack[wurst_stack_depth] = "when calling destroyCallback in ClosureTimers, line 125" set wurst_stack_depth = wurst_stack_depth + 1 set wurst_stack[wurst_stack_depth] = "when calling dealloc_Callback in ClosureTimers, line 125" set wurst_stack_depth = wurst_stack_depth + 1 if Callback_typeId[this_1] == 0 then call error("Double free: object of type Callback", "when calling error in ClosureTimers, line 125") else set Callback_firstFree = Callback_firstFree + 1 set Callback_typeId[this_1] = 0 endif set wurst_stack_depth = wurst_stack_depth - 1 - 1 - 1 endfunction function effect_destrHidden takes effect this_1 returns nothing call BlzSetSpecialEffectColor(this_1, 0, 0, 0) call BlzSetSpecialEffectAlpha(this_1, 0) call BlzSetSpecialEffectPosition(this_1, MapBounds_boundMin_x, MapBounds_boundMin_y, 5000.) call BlzSetSpecialEffectTime(this_1, 1.) call BlzSetSpecialEffectTimeScale(this_1, 10.) call DestroyEffect(this_1) endfunction function dispatch_ForGroupCallback_destroyForGroupCallback takes integer this_1, string w__wurst_stackPos returns nothing set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 if ForGroupCallback_typeId[this_1] == 0 then if this_1 == 0 then call error("Nullpointer exception when calling ForGroupCallback.ForGroupCallback", "when calling error in ClosureForGroups, line 3") else call error("Called ForGroupCallback.ForGroupCallback on invalid object.", "when calling error in ClosureForGroups, line 3") endif endif set wurst_stack[wurst_stack_depth] = "when calling destroyForGroupCallback in ClosureForGroups, line 3" set wurst_stack_depth = wurst_stack_depth + 1 set wurst_stack[wurst_stack_depth] = "when calling dealloc_ForGroupCallback in ClosureForGroups, line 3" set wurst_stack_depth = wurst_stack_depth + 1 if ForGroupCallback_typeId[this_1] == 0 then call error("Double free: object of type ForGroupCallback", "when calling error in ClosureForGroups, line 3") else set ForGroupCallback_nextFree[ForGroupCallback_firstFree] = this_1 set ForGroupCallback_firstFree = ForGroupCallback_firstFree + 1 set ForGroupCallback_typeId[this_1] = 0 endif set wurst_stack_depth = wurst_stack_depth - 1 - 1 - 1 endfunction function group_forEachFrom takes group this_1, integer cb_1, string w__wurst_stackPos returns nothing local unit iterUnit set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 loop exitwhen FirstOfGroup(this_1) == null set iterUnit = FirstOfGroup(this_1) call GroupRemoveUnit(this_1, iterUnit) call dispatch_ForGroupCallback_ClosureForGroups_ForGroupCallback_callback(cb_1, iterUnit, "when calling callback in ClosureForGroups, line 40") endloop call dispatch_ForGroupCallback_destroyForGroupCallback(cb_1, "when calling dispatch_ForGroupCallback_destroyForGroupCallback in ClosureForGroups, line 41") set wurst_stack_depth = wurst_stack_depth - 1 endfunction function finishPreload takes string w__wurst_stackPos returns nothing local group temp local integer this_1 set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 call RemoveUnit(Preloader_dum) set temp = Preloader_dumg set wurst_stack[wurst_stack_depth] = "when calling alloc_ForGroupCallback_forEachFrom_Preloader in Preloader, line 48" set wurst_stack_depth = wurst_stack_depth + 1 if ForGroupCallback_firstFree == 0 then if ForGroupCallback_maxIndex < 32768 then set ForGroupCallback_maxIndex = ForGroupCallback_maxIndex + 1 set this_1 = ForGroupCallback_maxIndex set ForGroupCallback_typeId[this_1] = 2072 else call error("Out of memory: Could not create ForGroupCallback_forEachFrom_Preloader.", "when calling error in Preloader, line 48") set this_1 = 0 endif else set ForGroupCallback_firstFree = ForGroupCallback_firstFree - 1 set this_1 = ForGroupCallback_nextFree[ForGroupCallback_firstFree] set ForGroupCallback_typeId[this_1] = 2072 endif set wurst_stack_depth = wurst_stack_depth - 1 call group_forEachFrom(temp, this_1, "when calling forEachFrom in Preloader, line 48") call DestroyGroup(Preloader_dumg) set Preloader_dumg = null set wurst_stack_depth = wurst_stack_depth - 1 endfunction function testFail takes string msg returns nothing endfunction function dispatch_CallbackSingle_ClosureTimers_CallbackSingle_call takes integer this_1, string w__wurst_stackPos returns nothing local integer this_2 set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 if CallbackSingle_typeId[this_1] == 0 then if this_1 == 0 then call error("Nullpointer exception when calling CallbackSingle.call", "when calling error in ClosureTimers, line 130") else call error("Called CallbackSingle.call on invalid object.", "when calling error in ClosureTimers, line 130") endif endif if CallbackSingle_typeId[this_1] <= 1112 then if CallbackSingle_typeId[this_1] <= 1108 then if CallbackSingle_typeId[this_1] <= 1106 then if CallbackSingle_typeId[this_1] <= 1105 then set wurst_stack[wurst_stack_depth] = "when calling call_doAfter_Cinematic_Cinematic in ClosureTimers, line 130" set wurst_stack_depth = wurst_stack_depth + 1 call Cinematic_controller(this_460[this_1], sequence[this_1], ending[this_1], "when calling controller in Cinematic, line 52") set wurst_stack_depth = wurst_stack_depth - 1 else set wurst_stack[wurst_stack_depth] = "when calling call_doAfter_ClosureTimers in ClosureTimers, line 130" set wurst_stack_depth = wurst_stack_depth + 1 call dispatch_Callback_destroyCallback(cb[this_1], "when calling dispatch_Callback_destroyCallback in ClosureTimers, line 44") call DestroyTimerDialog(dia[this_1]) set wurst_stack_depth = wurst_stack_depth - 1 endif elseif CallbackSingle_typeId[this_1] <= 1107 then set ClosureTimers_x = ClosureTimers_x + 50 else set ClosureTimers_x = ClosureTimers_x * 2 endif elseif CallbackSingle_typeId[this_1] <= 1110 then if CallbackSingle_typeId[this_1] <= 1109 then set ClosureTimers_x = ClosureTimers_x / 2 set this_1 = ClosureTimers_x if this_1 != 250 then call testFail("Expected <" + I2S(250) + ">, Actual <" + I2S(this_1) + ">") endif else call call_doAfter_DummyCaster_DummyCaster(this_1, "when calling call_doAfter_DummyCaster_DummyCaster in ClosureTimers, line 130") endif elseif CallbackSingle_typeId[this_1] <= 1111 then set wurst_stack[wurst_stack_depth] = "when calling call_doAfter_DummyRecycler_DummyRecycler in ClosureTimers, line 130" set wurst_stack_depth = wurst_stack_depth + 1 call DummyRecycler_recycle(u[this_1], "when calling recycle in DummyRecycler, line 66") set wurst_stack_depth = wurst_stack_depth - 1 else call DestroyEffect(this_461[this_1]) endif elseif CallbackSingle_typeId[this_1] <= 1116 then if CallbackSingle_typeId[this_1] <= 1114 then if CallbackSingle_typeId[this_1] <= 1113 then call effect_destrHidden(this_462[this_1]) else set wurst_stack[wurst_stack_depth] = "when calling call_doAfter_SoundDefinition_SoundUtils in ClosureTimers, line 130" set wurst_stack_depth = wurst_stack_depth + 1 set this_2 = this_466[this_1] set this_1 = instance[this_1] set wurst_stack[wurst_stack_depth] = "when calling recycle in SoundUtils, line 161" set wurst_stack_depth = wurst_stack_depth + 1 if SoundDefinition_typeId[this_2] == 0 then if this_2 == 0 then call error("Nullpointer exception when calling SoundDefinition.recycle", "when calling error in SoundUtils, line 163") else call error("Called SoundDefinition.recycle on invalid object.", "when calling error in SoundUtils, line 163") endif endif call SoundDefinition_recycle(this_2, this_1, "when calling recycle in SoundUtils, line 163") set wurst_stack_depth = wurst_stack_depth - 1 - 1 endif elseif CallbackSingle_typeId[this_1] <= 1115 then call call_nullTimer_ClosureEvents(this_1) else call call_nullTimer_OnUnitEnterLeave(this_1) endif elseif CallbackSingle_typeId[this_1] <= 1118 then if CallbackSingle_typeId[this_1] <= 1117 then set wurst_stack[wurst_stack_depth] = "when calling call_nullTimer_Preloader in ClosureTimers, line 130" set wurst_stack_depth = wurst_stack_depth + 1 call finishPreload("when calling finishPreload in Preloader, line 58") set wurst_stack_depth = wurst_stack_depth - 1 else set wurst_stack[wurst_stack_depth] = "when calling call_nullTimer_SoundDefinition_SoundUtils in ClosureTimers, line 130" set wurst_stack_depth = wurst_stack_depth + 1 set this_2 = this_463[this_1] set this_1 = snd[this_1] set wurst_stack[wurst_stack_depth] = "when calling playSound in SoundUtils, line 120" set wurst_stack_depth = wurst_stack_depth + 1 if SoundDefinition_typeId[this_2] == 0 then if this_2 == 0 then call error("Nullpointer exception when calling SoundDefinition.playSound", "when calling error in SoundUtils, line 149") else call error("Called SoundDefinition.playSound on invalid object.", "when calling error in SoundUtils, line 149") endif endif call SoundDefinition_playSound(this_2, this_1, "when calling playSound in SoundUtils, line 149") set wurst_stack_depth = wurst_stack_depth - 1 - 1 endif else set wurst_stack[wurst_stack_depth] = "when calling call_nullTimer_SoundDefinition_SoundUtils in ClosureTimers, line 130" set wurst_stack_depth = wurst_stack_depth + 1 if CallbackSingle_typeId[this_1] <= 1119 then set this_2 = this_464[this_1] set this_1 = snd_455[this_1] set wurst_stack[wurst_stack_depth] = "when calling playSound in SoundUtils, line 135" set wurst_stack_depth = wurst_stack_depth + 1 if SoundDefinition_typeId[this_2] == 0 then if this_2 == 0 then call error("Nullpointer exception when calling SoundDefinition.playSound", "when calling error in SoundUtils, line 149") else call error("Called SoundDefinition.playSound on invalid object.", "when calling error in SoundUtils, line 149") endif endif call SoundDefinition_playSound(this_2, this_1, "when calling playSound in SoundUtils, line 149") set wurst_stack_depth = wurst_stack_depth - 1 - 1 else set this_2 = this_465[this_1] set this_1 = snd_456[this_1] set wurst_stack[wurst_stack_depth] = "when calling playSound in SoundUtils, line 146" set wurst_stack_depth = wurst_stack_depth + 1 if SoundDefinition_typeId[this_2] == 0 then if this_2 == 0 then call error("Nullpointer exception when calling SoundDefinition.playSound", "when calling error in SoundUtils, line 149") else call error("Called SoundDefinition.playSound on invalid object.", "when calling error in SoundUtils, line 149") endif endif call SoundDefinition_playSound(this_2, this_1, "when calling playSound in SoundUtils, line 149") set wurst_stack_depth = wurst_stack_depth - 1 - 1 endif endif set wurst_stack_depth = wurst_stack_depth - 1 endfunction function CallbackSingle_staticCallback takes string w__wurst_stackPos returns nothing local integer cb_1 set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 set cb_1 = timer_getData(GetExpiredTimer(), "when calling getData in ClosureTimers, line 140") call dispatch_CallbackSingle_ClosureTimers_CallbackSingle_call(cb_1, "when calling call in ClosureTimers, line 141") set wurst_stack[wurst_stack_depth] = "when calling dispatch_CallbackSingle_destroyCallbackSingle in ClosureTimers, line 142" set wurst_stack_depth = wurst_stack_depth + 1 if CallbackSingle_typeId[cb_1] == 0 then if cb_1 == 0 then call error("Nullpointer exception when calling CallbackSingle.CallbackSingle", "when calling error in ClosureTimers, line 128") else call error("Called CallbackSingle.CallbackSingle on invalid object.", "when calling error in ClosureTimers, line 128") endif endif call destroyCallbackSingle(cb_1, "when calling destroyCallbackSingle in ClosureTimers, line 128") set wurst_stack_depth = wurst_stack_depth - 1 - 1 endfunction function bridge_code__start_CallbackSingle_ClosureTimers takes nothing returns nothing set wurst_stack_depth = 0 set wurst_stack[wurst_stack_depth] = "via function reference ClosureTimers, line 135" set wurst_stack_depth = wurst_stack_depth + 1 call CallbackSingle_staticCallback("when calling staticCallback in ClosureTimers, line 135") set wurst_stack_depth = wurst_stack_depth - 1 endfunction function push takes group g, string w__wurst_stackPos returns nothing set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 set GroupUtils_stack[GroupUtils_numStack] = g set g = GroupUtils_stack[GroupUtils_numStack] call dispatch_HashMap_HashMap_HashMap_put(GroupUtils_used, GetHandleId(g), 0, "when calling put in GroupUtils, line 118") set GroupUtils_numStack = GroupUtils_numStack + 1 set wurst_stack_depth = wurst_stack_depth - 1 endfunction function char takes string s returns integer local integer a if s == "/" then set char_return_c = 47 return char_return_c elseif "\\" == s then set char_return_c = 92 return char_return_c endif set a = StringUtils_s2c[StringHash(s) / 2033480 + 1002] if s != StringUtils_c2s[a] then set char_return_c = a + 32 return char_return_c endif set char_return_c = a return char_return_c endfunction function dispatch_ByteBuffer_ByteBuffer_ByteBuffer_flushBuffer takes integer this_1, string w__wurst_stackPos returns nothing local integer this_2 local integer parentKey local integer value set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 if ByteBuffer_typeId[this_1] == 0 then if this_1 == 0 then call error("Nullpointer exception when calling ByteBuffer.flushBuffer", "when calling error in ByteBuffer, line 30") else call error("Called ByteBuffer.flushBuffer on invalid object.", "when calling error in ByteBuffer, line 30") endif endif set wurst_stack[wurst_stack_depth] = "when calling flushBuffer in ByteBuffer, line 30" set wurst_stack_depth = wurst_stack_depth + 1 set this_2 = ByteBuffer_storage[this_1] set parentKey = ByteBuffer_intCount[this_1] set value = ByteBuffer_buffer[this_1] set wurst_stack[wurst_stack_depth] = "when calling saveInt in ByteBuffer, line 31" set wurst_stack_depth = wurst_stack_depth + 1 if Table_typeId[this_2] == 0 then if this_2 == 0 then call error("Nullpointer exception when calling Table.saveInt", "when calling error in Table, line 43") else call error("Called Table.saveInt on invalid object.", "when calling error in Table, line 43") endif endif call SaveInteger(Table_ht, this_2, parentKey, value) set wurst_stack_depth = wurst_stack_depth - 1 set ByteBuffer_intCount[this_1] = ByteBuffer_intCount[this_1] + 1 set ByteBuffer_buffer[this_1] = 0 set ByteBuffer_bufferLength[this_1] = 0 set wurst_stack_depth = wurst_stack_depth - 1 - 1 endfunction function ByteBuffer_writeByteUnsafe takes integer this_1, integer n, string w__wurst_stackPos returns nothing set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 if n < 0 or n > 255 then call error("ByteBuffer#writeByteUnsafe ERROR: provided argument (" + I2S(n) + ") is not in the range [0, 255].", "when calling error in ByteBuffer, line 43") endif set ByteBuffer_buffer[this_1] = ByteBuffer_buffer[this_1] + n * BitwiseInit_powShift[8 * ByteBuffer_bufferLength[this_1]] set ByteBuffer_bufferLength[this_1] = ByteBuffer_bufferLength[this_1] + 1 if ByteBuffer_bufferLength[this_1] > 3 then call dispatch_ByteBuffer_ByteBuffer_ByteBuffer_flushBuffer(this_1, "when calling flushBuffer in ByteBuffer, line 47") endif set wurst_stack_depth = wurst_stack_depth - 1 endfunction function dispatch_ByteBuffer_ByteBuffer_ByteBuffer_writeByte takes integer this_1, integer n, string w__wurst_stackPos returns nothing set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 if ByteBuffer_typeId[this_1] == 0 then if this_1 == 0 then call error("Nullpointer exception when calling ByteBuffer.writeByte", "when calling error in ByteBuffer, line 58") else call error("Called ByteBuffer.writeByte on invalid object.", "when calling error in ByteBuffer, line 58") endif endif set wurst_stack[wurst_stack_depth] = "when calling writeByte in ByteBuffer, line 58" set wurst_stack_depth = wurst_stack_depth + 1 set n = BlzBitAnd(n, 255) set wurst_stack[wurst_stack_depth] = "when calling writeByteUnsafe in ByteBuffer, line 59" set wurst_stack_depth = wurst_stack_depth + 1 if ByteBuffer_typeId[this_1] == 0 then if this_1 == 0 then call error("Nullpointer exception when calling ByteBuffer.writeByteUnsafe", "when calling error in ByteBuffer, line 41") else call error("Called ByteBuffer.writeByteUnsafe on invalid object.", "when calling error in ByteBuffer, line 41") endif endif call ByteBuffer_writeByteUnsafe(this_1, n, "when calling writeByteUnsafe in ByteBuffer, line 41") set wurst_stack_depth = wurst_stack_depth - 1 - 1 - 1 endfunction function Base64Decoder_writeBytes takes integer this_1, string chars, string w__wurst_stackPos returns nothing local integer data_1 local integer this_2 local integer isNegative local integer this_3 local integer value set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 set w__wurst_stackPos = SubString(chars, 0, 1) set data_1 = char(w__wurst_stackPos) set data_1 = Base64_REVERSE_CHARMAP[data_1] * BitwiseInit_powShift[18] set w__wurst_stackPos = SubString(chars, 1, 2) set value = char(w__wurst_stackPos) set value = Base64_REVERSE_CHARMAP[value] set data_1 = data_1 + value * BitwiseInit_powShift[12] set w__wurst_stackPos = SubString(chars, 2, 3) set value = char(w__wurst_stackPos) set value = Base64_REVERSE_CHARMAP[value] set data_1 = data_1 + value * BitwiseInit_powShift[6] set chars = SubString(chars, 3, 4) set value = char(chars) set data_1 = data_1 + Base64_REVERSE_CHARMAP[value] set this_3 = Base64Decoder_byteBuffer[this_1] set this_2 = BlzBitAnd(data_1, 16777215) set value = this_2 set isNegative = 0 if this_2 < 0 then set value = -2147483648 + this_2 set isNegative = 1 endif call dispatch_ByteBuffer_ByteBuffer_ByteBuffer_writeByte(this_3, isNegative * BitwiseInit_powShift[15] + value / BitwiseInit_powShift[16], "when calling writeByte in Base64, line 243") set data_1 = data_1 * BitwiseInit_powShift[8] set isNegative = Base64Decoder_byteBuffer[this_1] set this_3 = BlzBitAnd(data_1, 16777215) set value = this_3 set this_2 = 0 if this_3 < 0 then set value = -2147483648 + this_3 set this_2 = 1 endif call dispatch_ByteBuffer_ByteBuffer_ByteBuffer_writeByte(isNegative, this_2 * BitwiseInit_powShift[15] + value / BitwiseInit_powShift[16], "when calling writeByte in Base64, line 246") set data_1 = data_1 * BitwiseInit_powShift[8] set this_1 = Base64Decoder_byteBuffer[this_1] set data_1 = BlzBitAnd(data_1, 16777215) set value = data_1 set this_2 = 0 if data_1 < 0 then set value = -2147483648 + data_1 set this_2 = 1 endif call dispatch_ByteBuffer_ByteBuffer_ByteBuffer_writeByte(this_1, this_2 * BitwiseInit_powShift[15] + value / BitwiseInit_powShift[16], "when calling writeByte in Base64, line 249") set wurst_stack_depth = wurst_stack_depth - 1 endfunction function Base64Decoder_append takes integer this_1, string data_1, string w__wurst_stackPos returns nothing local integer len local integer i set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 set len = StringLength(data_1) if Base64Decoder_bufferLength[this_1] + len < 4 then set Base64Decoder_buffer[this_1] = Base64Decoder_buffer[this_1] + data_1 set Base64Decoder_bufferLength[this_1] = Base64Decoder_bufferLength[this_1] + len set wurst_stack_depth = wurst_stack_depth - 1 return endif set i = 4 - Base64Decoder_bufferLength[this_1] set w__wurst_stackPos = Base64Decoder_buffer[this_1] + SubString(data_1, 0, i) set wurst_stack[wurst_stack_depth] = "when calling writeBytes in Base64, line 216" set wurst_stack_depth = wurst_stack_depth + 1 if Base64Decoder_typeId[this_1] == 0 then if this_1 == 0 then call error("Nullpointer exception when calling Base64Decoder.writeBytes", "when calling error in Base64, line 238") else call error("Called Base64Decoder.writeBytes on invalid object.", "when calling error in Base64, line 238") endif endif call Base64Decoder_writeBytes(this_1, w__wurst_stackPos, "when calling writeBytes in Base64, line 238") set wurst_stack_depth = wurst_stack_depth - 1 loop exitwhen i + 4 > len set w__wurst_stackPos = SubString(data_1, i, i + 4) set wurst_stack[wurst_stack_depth] = "when calling writeBytes in Base64, line 218" set wurst_stack_depth = wurst_stack_depth + 1 if Base64Decoder_typeId[this_1] == 0 then if this_1 == 0 then call error("Nullpointer exception when calling Base64Decoder.writeBytes", "when calling error in Base64, line 238") else call error("Called Base64Decoder.writeBytes on invalid object.", "when calling error in Base64, line 238") endif endif call Base64Decoder_writeBytes(this_1, w__wurst_stackPos, "when calling writeBytes in Base64, line 238") set wurst_stack_depth = wurst_stack_depth - 1 set i = i + 4 endloop set Base64Decoder_buffer[this_1] = SubString(data_1, i, StringLength(data_1)) set Base64Decoder_bufferLength[this_1] = len - i set wurst_stack_depth = wurst_stack_depth - 1 endfunction function dispatch_ForForceCallback_destroyForForceCallback takes integer this_1, string w__wurst_stackPos returns nothing set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 if ForForceCallback_typeId[this_1] == 0 then if this_1 == 0 then call error("Nullpointer exception when calling ForForceCallback.ForForceCallback", "when calling error in Execute, line 9") else call error("Called ForForceCallback.ForForceCallback on invalid object.", "when calling error in Execute, line 9") endif endif set wurst_stack[wurst_stack_depth] = "when calling destroyForForceCallback in Execute, line 9" set wurst_stack_depth = wurst_stack_depth + 1 set wurst_stack[wurst_stack_depth] = "when calling dealloc_ForForceCallback in Execute, line 9" set wurst_stack_depth = wurst_stack_depth + 1 if ForForceCallback_typeId[this_1] == 0 then call error("Double free: object of type ForForceCallback", "when calling error in Execute, line 9") else set ForForceCallback_nextFree[ForForceCallback_firstFree] = this_1 set ForForceCallback_firstFree = ForForceCallback_firstFree + 1 set ForForceCallback_typeId[this_1] = 0 endif set wurst_stack_depth = wurst_stack_depth - 1 - 1 - 1 endfunction function try takes integer c, string w__wurst_stackPos returns boolean local boolean suppressErrors set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 set Execute_tempCallbacks[Execute_tempCallbacksCount] = c set Execute_tempCallbacksSuccess[Execute_tempCallbacksCount] = false set Execute_tempCallbacksCount = Execute_tempCallbacksCount + 1 set suppressErrors = ErrorHandling_suppressErrorMessages set ErrorHandling_suppressErrorMessages = true call ForForce(Execute_executeForce, ref_function_bridge_executeCurrentCallback) set ErrorHandling_suppressErrorMessages = suppressErrors set wurst_stack[wurst_stack_depth] = "when calling popCallback in Execute, line 101" set wurst_stack_depth = wurst_stack_depth + 1 set Execute_tempCallbacksCount = Execute_tempCallbacksCount - 1 call dispatch_ForForceCallback_destroyForForceCallback(Execute_tempCallbacks[Execute_tempCallbacksCount], "when calling dispatch_ForForceCallback_destroyForForceCallback in Execute, line 33") set wurst_stack_depth = wurst_stack_depth - 1 set suppressErrors = Execute_tempCallbacksSuccess[Execute_tempCallbacksCount] set wurst_stack_depth = wurst_stack_depth - 1 return suppressErrors endfunction function Base64Decoder_appendData takes integer this_1, integer data_1, string w__wurst_stackPos returns nothing local integer this_2 set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 set wurst_stack[wurst_stack_depth] = "when calling alloc_ForForceCallback_execute_Base64Decoder_Base64 in Base64, line 199" set wurst_stack_depth = wurst_stack_depth + 1 if ForForceCallback_firstFree == 0 then if ForForceCallback_maxIndex < 32768 then set ForForceCallback_maxIndex = ForForceCallback_maxIndex + 1 set this_2 = ForForceCallback_maxIndex set ForForceCallback_typeId[this_2] = 2065 else call error("Out of memory: Could not create ForForceCallback_execute_Base64Decoder_Base64.", "when calling error in Base64, line 199") set this_2 = 0 endif else set ForForceCallback_firstFree = ForForceCallback_firstFree - 1 set this_2 = ForForceCallback_nextFree[ForForceCallback_firstFree] set ForForceCallback_typeId[this_2] = 2065 endif set wurst_stack_depth = wurst_stack_depth - 1 set data_309[this_2] = data_1 set this_459[this_2] = this_1 set wurst_stack[wurst_stack_depth] = "when calling execute in Base64, line 199" set wurst_stack_depth = wurst_stack_depth + 1 if not try(this_2, "when calling try in Execute, line 78") then call error("execute: thread has crashed. caused by:\n| - " + ErrorHandling_lastError, "when calling error in Execute, line 79") endif set wurst_stack_depth = wurst_stack_depth - 1 - 1 endfunction function run_execute_Base64Decoder_Base64 takes integer this_1, string w__wurst_stackPos returns nothing local integer i local integer this_2 local boolean ChunkedString_ChunkedString_hasChunk_result set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 set i = 0 loop set this_2 = data_309[this_1] set wurst_stack[wurst_stack_depth] = "when calling hasChunk in Base64, line 201" set wurst_stack_depth = wurst_stack_depth + 1 if ChunkedString_typeId[this_2] == 0 then if this_2 == 0 then call error("Nullpointer exception when calling ChunkedString.hasChunk", "when calling error in ChunkedString, line 61") else call error("Called ChunkedString.hasChunk on invalid object.", "when calling error in ChunkedString, line 61") endif endif set ChunkedString_ChunkedString_hasChunk_result = ChunkedString_readIndex[this_2] < ChunkedString_chunkCount[this_2] set wurst_stack_depth = wurst_stack_depth - 1 exitwhen ( not ChunkedString_ChunkedString_hasChunk_result) or i >= 25 set this_2 = this_459[this_1] set w__wurst_stackPos = dispatch_ChunkedString_ChunkedString_ChunkedString_readChunk(data_309[this_1], "when calling readChunk in Base64, line 202") set wurst_stack[wurst_stack_depth] = "when calling append in Base64, line 202" set wurst_stack_depth = wurst_stack_depth + 1 if Base64Decoder_typeId[this_2] == 0 then if this_2 == 0 then call error("Nullpointer exception when calling Base64Decoder.append", "when calling error in Base64, line 209") else call error("Called Base64Decoder.append on invalid object.", "when calling error in Base64, line 209") endif endif call Base64Decoder_append(this_2, w__wurst_stackPos, "when calling append in Base64, line 209") set wurst_stack_depth = wurst_stack_depth - 1 set i = i + 1 endloop set i = data_309[this_1] set wurst_stack[wurst_stack_depth] = "when calling hasChunk in Base64, line 205" set wurst_stack_depth = wurst_stack_depth + 1 if ChunkedString_typeId[i] == 0 then if i == 0 then call error("Nullpointer exception when calling ChunkedString.hasChunk", "when calling error in ChunkedString, line 61") else call error("Called ChunkedString.hasChunk on invalid object.", "when calling error in ChunkedString, line 61") endif endif set ChunkedString_ChunkedString_hasChunk_result = ChunkedString_readIndex[i] < ChunkedString_chunkCount[i] set wurst_stack_depth = wurst_stack_depth - 1 if ChunkedString_ChunkedString_hasChunk_result then call Base64Decoder_appendData(this_459[this_1], data_309[this_1], "when calling appendData in Base64, line 206") endif set wurst_stack_depth = wurst_stack_depth - 1 endfunction function dispatch_Base64Encoder_Base64_Base64Encoder_flushStringBuffer takes integer this_1, string w__wurst_stackPos returns nothing local integer this_2 set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 if Base64Encoder_typeId[this_1] == 0 then if this_1 == 0 then call error("Nullpointer exception when calling Base64Encoder.flushStringBuffer", "when calling error in Base64, line 112") else call error("Called Base64Encoder.flushStringBuffer on invalid object.", "when calling error in Base64, line 112") endif endif set wurst_stack[wurst_stack_depth] = "when calling flushStringBuffer in Base64, line 112" set wurst_stack_depth = wurst_stack_depth + 1 set this_2 = Base64Encoder_chunkedString[this_1] set w__wurst_stackPos = Base64Encoder_stringBuffer[this_1] set wurst_stack[wurst_stack_depth] = "when calling append in Base64, line 113" set wurst_stack_depth = wurst_stack_depth + 1 if ChunkedString_typeId[this_2] == 0 then if this_2 == 0 then call error("Nullpointer exception when calling ChunkedString.append", "when calling error in ChunkedString, line 41") else call error("Called ChunkedString.append on invalid object.", "when calling error in ChunkedString, line 41") endif endif call ChunkedString_append(this_2, w__wurst_stackPos, "when calling append in ChunkedString, line 41") set wurst_stack_depth = wurst_stack_depth - 1 set Base64Encoder_stringBuffer[this_1] = "" set Base64Encoder_chars[this_1] = 0 set wurst_stack_depth = wurst_stack_depth - 1 - 1 endfunction function dispatch_Base64Encoder_Base64_Base64Encoder_append takes integer this_1, string char_1, string w__wurst_stackPos returns nothing set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 if Base64Encoder_typeId[this_1] == 0 then if this_1 == 0 then call error("Nullpointer exception when calling Base64Encoder.append", "when calling error in Base64, line 117") else call error("Called Base64Encoder.append on invalid object.", "when calling error in Base64, line 117") endif endif set wurst_stack[wurst_stack_depth] = "when calling append in Base64, line 117" set wurst_stack_depth = wurst_stack_depth + 1 set Base64Encoder_stringBuffer[this_1] = Base64Encoder_stringBuffer[this_1] + char_1 set Base64Encoder_chars[this_1] = Base64Encoder_chars[this_1] + 1 if Base64Encoder_chars[this_1] == 32 then call dispatch_Base64Encoder_Base64_Base64Encoder_flushStringBuffer(this_1, "when calling flushStringBuffer in Base64, line 121") endif set wurst_stack_depth = wurst_stack_depth - 1 - 1 endfunction function Base64Encoder_encode takes integer this_1, integer byte, integer count, string w__wurst_stackPos returns nothing local integer i local integer temp local integer value local integer isNegative set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 set i = 0 set temp = count loop exitwhen i > temp set count = BlzBitAnd(byte, 16515072) set value = count set isNegative = 0 if count < 0 then set value = -2147483648 + count set isNegative = 1 endif call dispatch_Base64Encoder_Base64_Base64Encoder_append(this_1, Base64_CHARMAP[isNegative * BitwiseInit_powShift[13] + value / BitwiseInit_powShift[18]], "when calling append in Base64, line 128") set byte = byte * BitwiseInit_powShift[6] set i = i + 1 endloop set wurst_stack_depth = wurst_stack_depth - 1 endfunction function Base64Encoder_writeByteUnsafe takes integer this_1, integer n, string w__wurst_stackPos returns nothing set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 set Base64Encoder_buffer[this_1] = Base64Encoder_buffer[this_1] * BitwiseInit_powShift[8] + n set Base64Encoder_bytes[this_1] = Base64Encoder_bytes[this_1] + 1 if Base64Encoder_bytes[this_1] == 3 then set n = Base64Encoder_buffer[this_1] set wurst_stack[wurst_stack_depth] = "when calling encode in Base64, line 137" set wurst_stack_depth = wurst_stack_depth + 1 if Base64Encoder_typeId[this_1] == 0 then if this_1 == 0 then call error("Nullpointer exception when calling Base64Encoder.encode", "when calling error in Base64, line 123") else call error("Called Base64Encoder.encode on invalid object.", "when calling error in Base64, line 123") endif endif call Base64Encoder_encode(this_1, n, 3, "when calling encode in Base64, line 123") set wurst_stack_depth = wurst_stack_depth - 1 set Base64Encoder_bytes[this_1] = 0 endif set wurst_stack_depth = wurst_stack_depth - 1 endfunction function Base64Encoder_writeData takes integer this_1, integer data_1, string w__wurst_stackPos returns nothing local integer this_2 set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 set wurst_stack[wurst_stack_depth] = "when calling alloc_ForForceCallback_execute_Base64Encoder_Base64 in Base64, line 103" set wurst_stack_depth = wurst_stack_depth + 1 if ForForceCallback_firstFree == 0 then if ForForceCallback_maxIndex < 32768 then set ForForceCallback_maxIndex = ForForceCallback_maxIndex + 1 set this_2 = ForForceCallback_maxIndex set ForForceCallback_typeId[this_2] = 2066 else call error("Out of memory: Could not create ForForceCallback_execute_Base64Encoder_Base64.", "when calling error in Base64, line 103") set this_2 = 0 endif else set ForForceCallback_firstFree = ForForceCallback_firstFree - 1 set this_2 = ForForceCallback_nextFree[ForForceCallback_firstFree] set ForForceCallback_typeId[this_2] = 2066 endif set wurst_stack_depth = wurst_stack_depth - 1 set data[this_2] = data_1 set this_458[this_2] = this_1 set wurst_stack[wurst_stack_depth] = "when calling execute in Base64, line 103" set wurst_stack_depth = wurst_stack_depth + 1 if not try(this_2, "when calling try in Execute, line 78") then call error("execute: thread has crashed. caused by:\n| - " + ErrorHandling_lastError, "when calling error in Execute, line 79") endif set wurst_stack_depth = wurst_stack_depth - 1 - 1 endfunction function ByteBuffer_selectByte takes integer n, integer byte returns integer local integer amount = 8 * byte local integer isNegative set byte = n set isNegative = 0 if n < 0 then set byte = -2147483648 + n set isNegative = 1 endif return BlzBitAnd(isNegative * BitwiseInit_powShift[31 - amount] + byte / BitwiseInit_powShift[amount], 255) endfunction function ByteBuffer_readByte takes integer this_1, string w__wurst_stackPos returns integer local integer this_2 local integer parentKey set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 if ByteBuffer_readBufferIndex[this_1] == 4 then set ByteBuffer_readIndex[this_1] = ByteBuffer_readIndex[this_1] + 1 if ByteBuffer_readIndex[this_1] < ByteBuffer_intCount[this_1] then set this_2 = ByteBuffer_storage[this_1] set parentKey = ByteBuffer_readIndex[this_1] set wurst_stack[wurst_stack_depth] = "when calling loadInt in ByteBuffer, line 77" set wurst_stack_depth = wurst_stack_depth + 1 if Table_typeId[this_2] == 0 then if this_2 == 0 then call error("Nullpointer exception when calling Table.loadInt", "when calling error in Table, line 40") else call error("Called Table.loadInt on invalid object.", "when calling error in Table, line 40") endif endif set this_2 = LoadInteger(Table_ht, this_2, parentKey) set wurst_stack_depth = wurst_stack_depth - 1 else set this_2 = ByteBuffer_buffer[this_1] endif set ByteBuffer_readBuffer[this_1] = this_2 set ByteBuffer_readBufferIndex[this_1] = 0 endif set this_2 = ByteBuffer_selectByte(ByteBuffer_readBuffer[this_1], ByteBuffer_readBufferIndex[this_1]) set ByteBuffer_readBufferIndex[this_1] = ByteBuffer_readBufferIndex[this_1] + 1 set wurst_stack_depth = wurst_stack_depth - 1 return this_2 endfunction function run_execute_Base64Encoder_Base64 takes integer this_1, string w__wurst_stackPos returns nothing local integer i local integer this_2 local integer this_3 local boolean ByteBuffer_ByteBuffer_hasByte_result set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 set i = 0 loop set this_2 = data[this_1] set wurst_stack[wurst_stack_depth] = "when calling hasByte in Base64, line 105" set wurst_stack_depth = wurst_stack_depth + 1 if ByteBuffer_typeId[this_2] == 0 then if this_2 == 0 then call error("Nullpointer exception when calling ByteBuffer.hasByte", "when calling error in ByteBuffer, line 70") else call error("Called ByteBuffer.hasByte on invalid object.", "when calling error in ByteBuffer, line 70") endif endif set ByteBuffer_ByteBuffer_hasByte_result = ByteBuffer_readIndex[this_2] < ByteBuffer_intCount[this_2] or ByteBuffer_readBufferIndex[this_2] < ByteBuffer_bufferLength[this_2] set wurst_stack_depth = wurst_stack_depth - 1 exitwhen ( not ByteBuffer_ByteBuffer_hasByte_result) or i >= 1000 set this_2 = this_458[this_1] set this_3 = data[this_1] set wurst_stack[wurst_stack_depth] = "when calling readByte in Base64, line 106" set wurst_stack_depth = wurst_stack_depth + 1 if ByteBuffer_typeId[this_3] == 0 then if this_3 == 0 then call error("Nullpointer exception when calling ByteBuffer.readByte", "when calling error in ByteBuffer, line 74") else call error("Called ByteBuffer.readByte on invalid object.", "when calling error in ByteBuffer, line 74") endif endif set this_3 = ByteBuffer_readByte(this_3, "when calling readByte in ByteBuffer, line 74") set wurst_stack_depth = wurst_stack_depth - 1 set wurst_stack[wurst_stack_depth] = "when calling writeByteUnsafe in Base64, line 106" set wurst_stack_depth = wurst_stack_depth + 1 if Base64Encoder_typeId[this_2] == 0 then if this_2 == 0 then call error("Nullpointer exception when calling Base64Encoder.writeByteUnsafe", "when calling error in Base64, line 133") else call error("Called Base64Encoder.writeByteUnsafe on invalid object.", "when calling error in Base64, line 133") endif endif call Base64Encoder_writeByteUnsafe(this_2, this_3, "when calling writeByteUnsafe in Base64, line 133") set wurst_stack_depth = wurst_stack_depth - 1 set i = i + 1 endloop set i = data[this_1] set wurst_stack[wurst_stack_depth] = "when calling hasByte in Base64, line 109" set wurst_stack_depth = wurst_stack_depth + 1 if ByteBuffer_typeId[i] == 0 then if i == 0 then call error("Nullpointer exception when calling ByteBuffer.hasByte", "when calling error in ByteBuffer, line 70") else call error("Called ByteBuffer.hasByte on invalid object.", "when calling error in ByteBuffer, line 70") endif endif set ByteBuffer_ByteBuffer_hasByte_result = ByteBuffer_readIndex[i] < ByteBuffer_intCount[i] or ByteBuffer_readBufferIndex[i] < ByteBuffer_bufferLength[i] set wurst_stack_depth = wurst_stack_depth - 1 if ByteBuffer_ByteBuffer_hasByte_result then call Base64Encoder_writeData(this_458[this_1], data[this_1], "when calling writeData in Base64, line 110") endif set wurst_stack_depth = wurst_stack_depth - 1 endfunction function run_execute_Execute takes integer this_1, string w__wurst_stackPos returns nothing set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 loop exitwhen true endloop set wurst_stack_depth = wurst_stack_depth - 1 endfunction function dispatch_ForForceCallback_Execute_ForForceCallback_run takes integer this_1, string w__wurst_stackPos returns nothing local integer i set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 if ForForceCallback_typeId[this_1] == 0 then if this_1 == 0 then call error("Nullpointer exception when calling ForForceCallback.run", "when calling error in Execute, line 10") else call error("Called ForForceCallback.run on invalid object.", "when calling error in Execute, line 10") endif endif if ForForceCallback_typeId[this_1] <= 2067 then if ForForceCallback_typeId[this_1] <= 2066 then if ForForceCallback_typeId[this_1] <= 2065 then call run_execute_Base64Decoder_Base64(this_1, "when calling run_execute_Base64Decoder_Base64 in Execute, line 10") else call run_execute_Base64Encoder_Base64(this_1, "when calling run_execute_Base64Encoder_Base64 in Execute, line 10") endif else call run_execute_Execute(this_1, "when calling run_execute_Execute in Execute, line 10") endif elseif ForForceCallback_typeId[this_1] <= 2068 then set this_1 = ForceTests_testInt if this_1 != 0 then call testFail("Expected <" + I2S(0) + ">, Actual <" + I2S(this_1) + ">") endif set ForceTests_testInt = 10 else set wurst_stack[wurst_stack_depth] = "when calling run_execute_GroupUtils in Execute, line 10" set wurst_stack_depth = wurst_stack_depth + 1 set GroupUtils_numTotal = GroupUtils_numTotal + createNow[this_1] set i = 1 set this_1 = createNow[this_1] loop exitwhen i > this_1 call push(CreateGroup(), "when calling push in GroupUtils, line 93") set i = i + 1 endloop set wurst_stack_depth = wurst_stack_depth - 1 endif set wurst_stack_depth = wurst_stack_depth - 1 endfunction function bridge_executeCurrentCallback takes nothing returns nothing set wurst_stack_depth = 0 set wurst_stack[wurst_stack_depth] = "via function reference Execute, line 99" set wurst_stack_depth = wurst_stack_depth + 1 set ErrorHandling_lastError = "" call dispatch_ForForceCallback_Execute_ForForceCallback_run(Execute_tempCallbacks[Execute_tempCallbacksCount - 1], "when calling run in Execute, line 19") set Execute_tempCallbacksSuccess[Execute_tempCallbacksCount - 1] = true set wurst_stack_depth = wurst_stack_depth - 1 endfunction function bridge_init_ChannelAbilityPreset takes nothing returns boolean set wurst_stack_depth = 0 set wurst_stack[wurst_stack_depth] = "via function reference ChannelAbilityPreset, line 1" set wurst_stack_depth = wurst_stack_depth + 1 set wurst_stack[wurst_stack_depth] = "when calling new_OrderStringFactory in ChannelAbilityPreset, line 11" set wurst_stack_depth = wurst_stack_depth + 1 set wurst_stack[wurst_stack_depth] = "when calling alloc_OrderStringFactory in OrderStringFactory, line 9" set wurst_stack_depth = wurst_stack_depth + 1 if OrderStringFactory_firstFree == 0 then if OrderStringFactory_maxIndex < 32768 then set OrderStringFactory_maxIndex = OrderStringFactory_maxIndex + 1 else call error("Out of memory: Could not create OrderStringFactory.", "when calling error in OrderStringFactory, line 9") endif else set OrderStringFactory_firstFree = OrderStringFactory_firstFree - 1 endif set wurst_stack_depth = wurst_stack_depth - 1 set wurst_stack_depth = wurst_stack_depth - 1 - 1 return true endfunction function new_HashMap takes string w__wurst_stackPos returns integer local integer this_1 set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 set wurst_stack[wurst_stack_depth] = "when calling alloc_HashMap in HashMap, line 7" set wurst_stack_depth = wurst_stack_depth + 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] = 4108 else call error("Out of memory: Could not create HashMap.", "when calling error in HashMap, line 8") set this_1 = 0 endif else set Table_firstFree = Table_firstFree - 1 set this_1 = Table_nextFree[Table_firstFree] set Table_typeId[this_1] = 4108 endif set wurst_stack_depth = wurst_stack_depth - 1 set HashMap_size[this_1] = 0 set wurst_stack_depth = wurst_stack_depth - 1 return this_1 endfunction function init_ClosureEvents takes string w__wurst_stackPos returns boolean local integer this_1 local timer this_2 set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 set ClosureEvents_EVENT_PLAYER_CHAT_FILTER = ConvertPlayerEvent(96) set EventListener_castMap = new_HashMap("when calling new_HashMap in ClosureEvents, line 106") set ClosureEvents_unitTrig = CreateTrigger() set ClosureEvents_leaveTrig = CreateTrigger() set ClosureEvents_keyTrig = CreateTrigger() call TriggerAddCondition(UnitIndexer_onIndexTrigger, Condition(ref_function_code__onUnitIndex_ClosureEvents)) call TriggerAddCondition(UnitIndexer_onDeindexTrigger, Condition(ref_function_bridge_code__onUnitDeindex_ClosureEvents)) set wurst_stack[wurst_stack_depth] = "when calling alloc_CallbackSingle_nullTimer_ClosureEvents in ClosureEvents, line 298" set wurst_stack_depth = wurst_stack_depth + 1 if CallbackSingle_firstFree == 0 then if CallbackSingle_maxIndex < 32768 then set CallbackSingle_maxIndex = CallbackSingle_maxIndex + 1 set this_1 = CallbackSingle_maxIndex set CallbackSingle_typeId[this_1] = 1115 else call error("Out of memory: Could not create CallbackSingle_nullTimer_ClosureEvents.", "when calling error in ClosureEvents, line 298") set this_1 = 0 endif else set CallbackSingle_firstFree = CallbackSingle_firstFree - 1 set this_1 = CallbackSingle_nextFree[CallbackSingle_firstFree] set CallbackSingle_typeId[this_1] = 1115 endif set wurst_stack_depth = wurst_stack_depth - 1 set wurst_stack[wurst_stack_depth] = "when calling nullTimer in ClosureEvents, line 298" set wurst_stack_depth = wurst_stack_depth + 1 set wurst_stack[wurst_stack_depth] = "when calling doAfter in ClosureTimers, line 51" set wurst_stack_depth = wurst_stack_depth + 1 set this_2 = getTimer("when calling getTimer in ClosureTimers, line 28") set wurst_stack[wurst_stack_depth] = "when calling doAfter in ClosureTimers, line 28" set wurst_stack_depth = wurst_stack_depth + 1 call dispatch_CallbackSingle_ClosureTimers_CallbackSingle_start(this_1, this_2, 0., "when calling start in ClosureTimers, line 17") set wurst_stack_depth = wurst_stack_depth - 1 - 1 set wurst_stack_depth = wurst_stack_depth - 1 - 1 return true endfunction function bridge_init_ClosureEvents takes nothing returns boolean set wurst_stack_depth = 0 return init_ClosureEvents("via function reference ClosureEvents, line 1") endfunction function init_ClosureFrames takes string w__wurst_stackPos returns boolean set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 call TriggerAddAction(CreateTrigger(), ref_function_bridge_onEvent) set ClosureFrames_FRAME_MAP = new_HashMap("when calling new_HashMap in ClosureFrames, line 23") set wurst_stack_depth = wurst_stack_depth - 1 return true endfunction function bridge_init_ClosureFrames takes nothing returns boolean set wurst_stack_depth = 0 return init_ClosureFrames("via function reference ClosureFrames, line 1") endfunction function init_ClosureKeyPresses takes string w__wurst_stackPos returns boolean set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 call TriggerAddAction(CreateTrigger(), ref_function_bridge_onEvent_370) set ClosureKeyPresses_KEY_MAP = new_HashMap("when calling new_HashMap in ClosureKeyPresses, line 30") set wurst_stack_depth = wurst_stack_depth - 1 return true endfunction function bridge_init_ClosureKeyPresses takes nothing returns boolean set wurst_stack_depth = 0 return init_ClosureKeyPresses("via function reference ClosureKeyPresses, line 1") endfunction function initializeTable takes string w__wurst_stackPos returns nothing local integer i local integer this_1 local integer parentKey set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 set i = 0 loop exitwhen i > 15 set this_1 = Colors_decs set parentKey = StringHash(Colors_hexs[i]) set wurst_stack[wurst_stack_depth] = "when calling saveInt in Colors, line 299" set wurst_stack_depth = wurst_stack_depth + 1 if Table_typeId[this_1] == 0 then if this_1 == 0 then call error("Nullpointer exception when calling Table.saveInt", "when calling error in Table, line 43") else call error("Called Table.saveInt on invalid object.", "when calling error in Table, line 43") endif endif call SaveInteger(Table_ht, this_1, parentKey, i) set wurst_stack_depth = wurst_stack_depth - 1 set i = i + 1 endloop set wurst_stack_depth = wurst_stack_depth - 1 endfunction function new_Table takes string w__wurst_stackPos returns integer local integer this_1 set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 set wurst_stack[wurst_stack_depth] = "when calling alloc_Table in Table, line 6" set wurst_stack_depth = wurst_stack_depth + 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] = 4107 else call error("Out of memory: Could not create Table.", "when calling error in Table, line 7") set this_1 = 0 endif else set Table_firstFree = Table_firstFree - 1 set this_1 = Table_nextFree[Table_firstFree] set Table_typeId[this_1] = 4107 endif set wurst_stack_depth = wurst_stack_depth - 1 - 1 return this_1 endfunction function init_Colors takes string w__wurst_stackPos returns boolean set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 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("when calling new_Table in Colors, line 15") call initializeTable("when calling initializeTable in Colors, line 302") set wurst_stack_depth = wurst_stack_depth - 1 return true endfunction function bridge_init_Colors takes nothing returns boolean set wurst_stack_depth = 0 return init_Colors("via function reference Colors, line 1") endfunction function new_DamageElement takes string name, integer color_red, integer color_green, integer color_blue, integer color_alpha, string w__wurst_stackPos returns integer set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 set wurst_stack[wurst_stack_depth] = "when calling alloc_DamageElement in DamageEvent, line 101" set wurst_stack_depth = wurst_stack_depth + 1 if DamageElement_firstFree == 0 then if DamageElement_maxIndex < 32768 then set DamageElement_maxIndex = DamageElement_maxIndex + 1 set color_red = DamageElement_maxIndex else call error("Out of memory: Could not create DamageElement.", "when calling error in DamageEvent, line 97") set color_red = 0 endif else set DamageElement_firstFree = DamageElement_firstFree - 1 set color_red = DamageElement_nextFree[DamageElement_firstFree] endif set wurst_stack_depth = wurst_stack_depth - 1 - 1 return color_red endfunction function init_DamageEvent takes string w__wurst_stackPos returns boolean local playerunitevent temp local integer this_1 local integer this_2 set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 set DamageEvent_DAMAGE_ELEMENT_ATTACK = new_DamageElement("Physical", 223, 59, 33, 255, "when calling new_DamageElement in DamageEvent, line 72") set DamageInstance_current = 0 set DamageEvent_nextDamageType = 4 set DamageEvent_nextDamageElement = 0 set temp = EVENT_PLAYER_UNIT_DAMAGING set wurst_stack[wurst_stack_depth] = "when calling alloc_EventListener_add_DamageEvent in DamageEvent, line 474" set wurst_stack_depth = wurst_stack_depth + 1 if EventListener_firstFree == 0 then if EventListener_maxIndex < 32768 then set EventListener_maxIndex = EventListener_maxIndex + 1 set this_1 = EventListener_maxIndex set EventListener_typeId[this_1] = 1920 else call error("Out of memory: Could not create EventListener_add_DamageEvent.", "when calling error in DamageEvent, line 474") set this_1 = 0 endif else set EventListener_firstFree = EventListener_firstFree - 1 set this_1 = EventListener_nextFree[EventListener_firstFree] set EventListener_typeId[this_1] = 1920 endif set wurst_stack_depth = wurst_stack_depth - 1 set EventListener_eventId[this_1] = 0 set EventListener_uid[this_1] = -1 set EventListener_next[this_1] = 0 set EventListener_prev[this_1] = 0 set wurst_stack[wurst_stack_depth] = "when calling add in DamageEvent, line 474" set wurst_stack_depth = wurst_stack_depth + 1 set wurst_stack[wurst_stack_depth] = "when calling toIntId in ClosureEvents, line 120" set wurst_stack_depth = wurst_stack_depth + 1 set this_2 = ClosureEvents_eventidToIndex[GetHandleId(temp)] if this_2 == 0 then set this_2 = registerEventId(temp, "when calling registerEventId in ClosureEvents, line 243") endif set wurst_stack_depth = wurst_stack_depth - 1 set EventListener_eventId[this_1] = this_2 if EventListener_generalListenersFirsts[EventListener_eventId[this_1]] != 0 then set EventListener_prev[EventListener_generalListenersFirsts[EventListener_eventId[this_1]]] = this_1 set EventListener_next[this_1] = EventListener_generalListenersFirsts[EventListener_eventId[this_1]] endif set EventListener_generalListenersFirsts[EventListener_eventId[this_1]] = this_1 set wurst_stack_depth = wurst_stack_depth - 1 set temp = EVENT_PLAYER_UNIT_DAMAGED set wurst_stack[wurst_stack_depth] = "when calling alloc_EventListener_add_DamageEvent in DamageEvent, line 475" set wurst_stack_depth = wurst_stack_depth + 1 if EventListener_firstFree == 0 then if EventListener_maxIndex < 32768 then set EventListener_maxIndex = EventListener_maxIndex + 1 set this_2 = EventListener_maxIndex set EventListener_typeId[this_2] = 1921 else call error("Out of memory: Could not create EventListener_add_DamageEvent.", "when calling error in DamageEvent, line 475") set this_2 = 0 endif else set EventListener_firstFree = EventListener_firstFree - 1 set this_2 = EventListener_nextFree[EventListener_firstFree] set EventListener_typeId[this_2] = 1921 endif set wurst_stack_depth = wurst_stack_depth - 1 set EventListener_eventId[this_2] = 0 set EventListener_uid[this_2] = -1 set EventListener_next[this_2] = 0 set EventListener_prev[this_2] = 0 set wurst_stack[wurst_stack_depth] = "when calling add in DamageEvent, line 475" set wurst_stack_depth = wurst_stack_depth + 1 set wurst_stack[wurst_stack_depth] = "when calling toIntId in ClosureEvents, line 120" set wurst_stack_depth = wurst_stack_depth + 1 set this_1 = ClosureEvents_eventidToIndex[GetHandleId(temp)] if this_1 == 0 then set this_1 = registerEventId(temp, "when calling registerEventId in ClosureEvents, line 243") endif set wurst_stack_depth = wurst_stack_depth - 1 set EventListener_eventId[this_2] = this_1 if EventListener_generalListenersFirsts[EventListener_eventId[this_2]] != 0 then set EventListener_prev[EventListener_generalListenersFirsts[EventListener_eventId[this_2]]] = this_2 set EventListener_next[this_2] = EventListener_generalListenersFirsts[EventListener_eventId[this_2]] endif set EventListener_generalListenersFirsts[EventListener_eventId[this_2]] = this_2 set wurst_stack_depth = wurst_stack_depth - 1 - 1 return true endfunction function bridge_init_DamageEvent takes nothing returns boolean set wurst_stack_depth = 0 return init_DamageEvent("via function reference DamageEvent, line 61") endfunction function bridge_init_DialogBox takes nothing returns boolean set wurst_stack_depth = 0 set wurst_stack[wurst_stack_depth] = "via function reference DialogBox, line 1" set wurst_stack_depth = wurst_stack_depth + 1 call new_HashMap("when calling new_HashMap in DialogBox, line 25") set wurst_stack_depth = wurst_stack_depth - 1 return true endfunction function createDummy takes real pos_x_1, real pos_y_1, real facing_radians returns unit local unit u_1 = CreateUnit(Basics_DUMMY_PLAYER, 2016423985, pos_x_1, pos_y_1, facing_radians * 57.295779513) call UnitAddAbility(u_1, 1097691750) call UnitRemoveAbility(u_1, 1097691750) call UnitAddAbility(u_1, 1095577649) call UnitRemoveAbility(u_1, 1095577649) call SetUnitX(u_1, pos_x_1) call SetUnitY(u_1, pos_y_1) call SetUnitFacing(u_1, facing_radians * 57.295779513) return u_1 endfunction function new_LinkedList takes string w__wurst_stackPos returns integer local integer this_1 set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 set wurst_stack[wurst_stack_depth] = "when calling alloc_LinkedList in LinkedList, line 32" set wurst_stack_depth = wurst_stack_depth + 1 if LinkedList_firstFree == 0 then if LinkedList_maxIndex < 32768 then set LinkedList_maxIndex = LinkedList_maxIndex + 1 set this_1 = LinkedList_maxIndex set LinkedList_typeId[this_1] = 2757 else call error("Out of memory: Could not create LinkedList.", "when calling error in LinkedList, line 18") set this_1 = 0 endif else set LinkedList_firstFree = LinkedList_firstFree - 1 set this_1 = LinkedList_nextFree[LinkedList_firstFree] set LinkedList_typeId[this_1] = 2757 endif set wurst_stack_depth = wurst_stack_depth - 1 set wurst_stack[wurst_stack_depth] = "when calling construct_LinkedList2 in LinkedList, line 32" set wurst_stack_depth = wurst_stack_depth + 1 set wurst_stack[wurst_stack_depth] = "when calling LinkedList_init in LinkedList, line 32" set wurst_stack_depth = wurst_stack_depth + 1 set LinkedList_dummy[this_1] = new_LLEntry(0, 0, 0, "when calling new_LLEntry in LinkedList, line 19") set LinkedList_size[this_1] = 0 set wurst_stack_depth = wurst_stack_depth - 1 set LLEntry_next[LinkedList_dummy[this_1]] = LinkedList_dummy[this_1] set LLEntry_prev[LinkedList_dummy[this_1]] = LinkedList_dummy[this_1] set wurst_stack_depth = wurst_stack_depth - 1 - 1 return this_1 endfunction function init_DummyRecycler takes string w__wurst_stackPos returns boolean local integer i local integer temp local real facing_radians local integer j local integer temp_1 local unit dummy_1 local integer this_1 local integer elem set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 set DummyRecycler_ANGLE_DEGREE = 360 * 1. / 8 set i = 0 set temp = 7 loop exitwhen i > temp set DummyRecycler_angleQueues[i] = new_LinkedList("when calling new_LinkedList in DummyRecycler, line 79") set facing_radians = i * DummyRecycler_ANGLE_DEGREE set j = 0 set temp_1 = 5 loop exitwhen j > temp_1 set dummy_1 = createDummy(MapBounds_boundMax_x - 16., MapBounds_boundMax_y - 16., facing_radians) set this_1 = DummyRecycler_angleQueues[i] set elem = GetHandleId(dummy_1) set wurst_stack[wurst_stack_depth] = "when calling enqueue in DummyRecycler, line 83" set wurst_stack_depth = wurst_stack_depth + 1 if LinkedList_typeId[this_1] == 0 then if this_1 == 0 then call error("Nullpointer exception when calling LinkedList.enqueue", "when calling error in LinkedList, line 195") else call error("Called LinkedList.enqueue on invalid object.", "when calling error in LinkedList, line 195") endif endif set wurst_stack[wurst_stack_depth] = "when calling enqueue in LinkedList, line 195" set wurst_stack_depth = wurst_stack_depth + 1 call dispatch_LinkedList_LinkedList_LinkedList_add_1(this_1, elem, "when calling add in LinkedList, line 196") set wurst_stack_depth = wurst_stack_depth - 1 - 1 set j = j + 1 endloop set i = i + 1 endloop set wurst_stack_depth = wurst_stack_depth - 1 return true endfunction function bridge_init_DummyRecycler takes nothing returns boolean set wurst_stack_depth = 0 return init_DummyRecycler("via function reference DummyRecycler, line 1") endfunction function bridge_init_EventHelper takes nothing returns boolean set wurst_stack_depth = 0 set wurst_stack[wurst_stack_depth] = "via function reference EventHelper, line 1" set wurst_stack_depth = wurst_stack_depth + 1 call new_HashMap("when calling new_HashMap in EventHelper, line 7") call new_HashMap("when calling new_HashMap in EventHelper, line 8") call new_Table("when calling new_Table in EventHelper, line 9") set wurst_stack_depth = wurst_stack_depth - 1 return true endfunction function ChunkedString_getUnsafeString takes integer this_1, string w__wurst_stackPos returns string local integer i local integer ChunkedString_ChunkedString_getChunkCount_result local string ChunkedString_ChunkedString_getChunk_result set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 set w__wurst_stackPos = "" set i = 0 set wurst_stack[wurst_stack_depth] = "when calling getChunkCount in ChunkedString, line 99" set wurst_stack_depth = wurst_stack_depth + 1 if ChunkedString_typeId[this_1] == 0 then if this_1 == 0 then call error("Nullpointer exception when calling ChunkedString.getChunkCount", "when calling error in ChunkedString, line 77") else call error("Called ChunkedString.getChunkCount on invalid object.", "when calling error in ChunkedString, line 77") endif endif set ChunkedString_ChunkedString_getChunkCount_result = ChunkedString_chunkCount[this_1] + 1 set wurst_stack_depth = wurst_stack_depth - 1 loop exitwhen i > ChunkedString_ChunkedString_getChunkCount_result set wurst_stack[wurst_stack_depth] = "when calling getChunk in ChunkedString, line 100" set wurst_stack_depth = wurst_stack_depth + 1 if ChunkedString_typeId[this_1] == 0 then if this_1 == 0 then call error("Nullpointer exception when calling ChunkedString.getChunk", "when calling error in ChunkedString, line 71") else call error("Called ChunkedString.getChunk on invalid object.", "when calling error in ChunkedString, line 71") endif endif set ChunkedString_ChunkedString_getChunk_result = ChunkedString_getChunk(this_1, i, "when calling getChunk in ChunkedString, line 71") set wurst_stack_depth = wurst_stack_depth - 1 set w__wurst_stackPos = w__wurst_stackPos + ChunkedString_ChunkedString_getChunk_result set i = i + 1 endloop set wurst_stack_depth = wurst_stack_depth - 1 return w__wurst_stackPos endfunction function File_readPreload takes integer this_1, integer output, string w__wurst_stackPos returns nothing local integer i set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 call Preloader(File_filename[this_1]) set i = 0 set this_1 = 63 loop exitwhen i > this_1 set w__wurst_stackPos = BlzGetAbilityTooltip(611808108, i) exitwhen w__wurst_stackPos == " " call BlzSetAbilityTooltip(611808108, " ", i) set wurst_stack[wurst_stack_depth] = "when calling append in FileIO, line 87" set wurst_stack_depth = wurst_stack_depth + 1 if ChunkedString_typeId[output] == 0 then if output == 0 then call error("Nullpointer exception when calling ChunkedString.append", "when calling error in ChunkedString, line 41") else call error("Called ChunkedString.append on invalid object.", "when calling error in ChunkedString, line 41") endif endif call ChunkedString_append(output, w__wurst_stackPos, "when calling append in ChunkedString, line 41") set wurst_stack_depth = wurst_stack_depth - 1 set i = i + 1 endloop set wurst_stack_depth = wurst_stack_depth - 1 endfunction function new_ChunkedString_433 takes integer chunkSize, string w__wurst_stackPos returns integer local integer this_1 set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 set wurst_stack[wurst_stack_depth] = "when calling alloc_ChunkedString in ChunkedString, line 38" set wurst_stack_depth = wurst_stack_depth + 1 if ChunkedString_firstFree == 0 then if ChunkedString_maxIndex < 32768 then set ChunkedString_maxIndex = ChunkedString_maxIndex + 1 set this_1 = ChunkedString_maxIndex set ChunkedString_typeId[this_1] = 1208 else call error("Out of memory: Could not create ChunkedString.", "when calling error in ChunkedString, line 29") set this_1 = 0 endif else set ChunkedString_firstFree = ChunkedString_firstFree - 1 set this_1 = ChunkedString_nextFree[ChunkedString_firstFree] set ChunkedString_typeId[this_1] = 1208 endif set wurst_stack_depth = wurst_stack_depth - 1 set wurst_stack[wurst_stack_depth] = "when calling construct_ChunkedString2 in ChunkedString, line 38" set wurst_stack_depth = wurst_stack_depth + 1 set wurst_stack[wurst_stack_depth] = "when calling ChunkedString_init in ChunkedString, line 38" set wurst_stack_depth = wurst_stack_depth + 1 set ChunkedString_table[this_1] = new_Table("when calling new_Table in ChunkedString, line 30") set ChunkedString_chunkSize[this_1] = 200 set ChunkedString_chunkCount[this_1] = 0 set ChunkedString_readIndex[this_1] = -1 set ChunkedString_buffer[this_1] = "" set wurst_stack_depth = wurst_stack_depth - 1 set ChunkedString_chunkSize[this_1] = chunkSize set wurst_stack_depth = wurst_stack_depth - 1 - 1 return this_1 endfunction function dispatch_File_FileIO_File_read takes integer this_1, player p, string w__wurst_stackPos returns integer local integer out set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 if File_typeId[this_1] == 0 then if this_1 == 0 then call error("Nullpointer exception when calling File.read", "when calling error in FileIO, line 49") else call error("Called File.read on invalid object.", "when calling error in FileIO, line 49") endif endif set wurst_stack[wurst_stack_depth] = "when calling read in FileIO, line 49" set wurst_stack_depth = wurst_stack_depth + 1 set out = new_ChunkedString_433(200, "when calling new_ChunkedString in FileIO, line 50") if Player_localPlayer == p then set wurst_stack[wurst_stack_depth] = "when calling readPreload in FileIO, line 52" set wurst_stack_depth = wurst_stack_depth + 1 if File_typeId[this_1] == 0 then if this_1 == 0 then call error("Nullpointer exception when calling File.readPreload", "when calling error in FileIO, line 76") else call error("Called File.readPreload on invalid object.", "when calling error in FileIO, line 76") endif endif call File_readPreload(this_1, out, "when calling readPreload in FileIO, line 76") set wurst_stack_depth = wurst_stack_depth - 1 endif set wurst_stack_depth = wurst_stack_depth - 1 - 1 return out endfunction function File_readAsString takes integer this_1, player p, string w__wurst_stackPos returns string set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 set this_1 = dispatch_File_FileIO_File_read(this_1, p, "when calling read in FileIO, line 56") set wurst_stack[wurst_stack_depth] = "when calling getUnsafeString in FileIO, line 57" set wurst_stack_depth = wurst_stack_depth + 1 if ChunkedString_typeId[this_1] == 0 then if this_1 == 0 then call error("Nullpointer exception when calling ChunkedString.getUnsafeString", "when calling error in ChunkedString, line 97") else call error("Called ChunkedString.getUnsafeString on invalid object.", "when calling error in ChunkedString, line 97") endif endif set w__wurst_stackPos = ChunkedString_getUnsafeString(this_1, "when calling getUnsafeString in ChunkedString, line 97") set wurst_stack_depth = wurst_stack_depth - 1 set wurst_stack[wurst_stack_depth] = "when calling dispatch_ChunkedString_destroyChunkedString in FileIO, line 58" set wurst_stack_depth = wurst_stack_depth + 1 if ChunkedString_typeId[this_1] == 0 then if this_1 == 0 then call error("Nullpointer exception when calling ChunkedString.ChunkedString", "when calling error in ChunkedString, line 29") else call error("Called ChunkedString.ChunkedString on invalid object.", "when calling error in ChunkedString, line 29") endif endif call destroyChunkedString(this_1, "when calling destroyChunkedString in ChunkedString, line 29") set wurst_stack_depth = wurst_stack_depth - 1 - 1 return w__wurst_stackPos endfunction function StringIterator_next takes integer this_1 returns string local string wval = SubString(StringIterator_s[this_1], StringIterator_currentpos[this_1], StringIterator_currentpos[this_1] + 1) set StringIterator_currentpos[this_1] = StringIterator_currentpos[this_1] + 1 return wval endfunction function dispatch_StringIterator_destroyStringIterator takes integer this_1, string w__wurst_stackPos returns nothing set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 if StringIterator_typeId[this_1] == 0 then if this_1 == 0 then call error("Nullpointer exception when calling StringIterator.StringIterator", "when calling error in String, line 226") else call error("Called StringIterator.StringIterator on invalid object.", "when calling error in String, line 226") endif endif set wurst_stack[wurst_stack_depth] = "when calling destroyStringIterator in String, line 226" set wurst_stack_depth = wurst_stack_depth + 1 set wurst_stack[wurst_stack_depth] = "when calling dealloc_StringIterator in String, line 226" set wurst_stack_depth = wurst_stack_depth + 1 if StringIterator_typeId[this_1] == 0 then call error("Double free: object of type StringIterator", "when calling error in String, line 226") else set StringIterator_nextFree[StringIterator_firstFree] = this_1 set StringIterator_firstFree = StringIterator_firstFree + 1 set StringIterator_typeId[this_1] = 0 endif set wurst_stack_depth = wurst_stack_depth - 1 - 1 - 1 endfunction function new_StringIterator takes string s, integer currentpos, integer stringLen, string w__wurst_stackPos returns integer local integer this_1 set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 set wurst_stack[wurst_stack_depth] = "when calling alloc_StringIterator in String, line 231" set wurst_stack_depth = wurst_stack_depth + 1 if StringIterator_firstFree == 0 then if StringIterator_maxIndex < 32768 then set StringIterator_maxIndex = StringIterator_maxIndex + 1 set this_1 = StringIterator_maxIndex set StringIterator_typeId[this_1] = 4075 else call error("Out of memory: Could not create StringIterator.", "when calling error in String, line 226") set this_1 = 0 endif else set StringIterator_firstFree = StringIterator_firstFree - 1 set this_1 = StringIterator_nextFree[StringIterator_firstFree] set StringIterator_typeId[this_1] = 4075 endif set wurst_stack_depth = wurst_stack_depth - 1 set StringIterator_s[this_1] = s set StringIterator_currentpos[this_1] = currentpos set StringIterator_stringLen[this_1] = stringLen set wurst_stack_depth = wurst_stack_depth - 1 return this_1 endfunction function File_validateInput takes string content, string w__wurst_stackPos returns string local integer stackTrace_tempReturn set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 set wurst_stack[wurst_stack_depth] = "when calling iterator in FileIO, line 91" set wurst_stack_depth = wurst_stack_depth + 1 set stackTrace_tempReturn = new_StringIterator(content, 0, StringLength(content), "when calling new_StringIterator in String, line 224") set wurst_stack_depth = wurst_stack_depth - 1 loop exitwhen StringIterator_currentpos[stackTrace_tempReturn] >= StringIterator_stringLen[stackTrace_tempReturn] set content = StringIterator_next(stackTrace_tempReturn) if content == "\\" then set wurst_stack[wurst_stack_depth] = "when calling close in FileIO, line 91" set wurst_stack_depth = wurst_stack_depth + 1 call dispatch_StringIterator_destroyStringIterator(stackTrace_tempReturn, "when calling dispatch_StringIterator_destroyStringIterator in String, line 249") set wurst_stack_depth = wurst_stack_depth - 1 - 1 return content elseif content == "\"" then set wurst_stack[wurst_stack_depth] = "when calling close in FileIO, line 91" set wurst_stack_depth = wurst_stack_depth + 1 call dispatch_StringIterator_destroyStringIterator(stackTrace_tempReturn, "when calling dispatch_StringIterator_destroyStringIterator in String, line 249") set wurst_stack_depth = wurst_stack_depth - 1 - 1 return content endif endloop set wurst_stack[wurst_stack_depth] = "when calling close in FileIO, line 91" set wurst_stack_depth = wurst_stack_depth + 1 call dispatch_StringIterator_destroyStringIterator(stackTrace_tempReturn, "when calling dispatch_StringIterator_destroyStringIterator in String, line 249") set wurst_stack_depth = wurst_stack_depth - 1 - 1 return null endfunction function File_writePreload takes integer this_1, player p, integer buffer, string w__wurst_stackPos returns nothing local integer i local integer temp set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 if Player_localPlayer == p then call PreloadGenClear() call PreloadGenStart() set wurst_stack[wurst_stack_depth] = "when calling getChunkCount in FileIO, line 66" set wurst_stack_depth = wurst_stack_depth + 1 if ChunkedString_typeId[buffer] == 0 then if buffer == 0 then call error("Nullpointer exception when calling ChunkedString.getChunkCount", "when calling error in ChunkedString, line 77") else call error("Called ChunkedString.getChunkCount on invalid object.", "when calling error in ChunkedString, line 77") endif endif set i = ChunkedString_chunkCount[buffer] + 1 set wurst_stack_depth = wurst_stack_depth - 1 if i >= 64 then call error("FileIO(" + File_filename[this_1] + ") ERROR: String's chunk count exceeds the limit (" + I2S(64) + ").|r", "when calling error in FileIO, line 67") endif set i = 0 set wurst_stack[wurst_stack_depth] = "when calling getChunkCount in FileIO, line 69" set wurst_stack_depth = wurst_stack_depth + 1 if ChunkedString_typeId[buffer] == 0 then if buffer == 0 then call error("Nullpointer exception when calling ChunkedString.getChunkCount", "when calling error in ChunkedString, line 77") else call error("Called ChunkedString.getChunkCount on invalid object.", "when calling error in ChunkedString, line 77") endif endif set temp = ChunkedString_chunkCount[buffer] + 1 set wurst_stack_depth = wurst_stack_depth - 1 set temp = temp - 1 loop exitwhen i > temp set wurst_stack[wurst_stack_depth] = "when calling getChunk in FileIO, line 70" set wurst_stack_depth = wurst_stack_depth + 1 if ChunkedString_typeId[buffer] == 0 then if buffer == 0 then call error("Nullpointer exception when calling ChunkedString.getChunk", "when calling error in ChunkedString, line 71") else call error("Called ChunkedString.getChunk on invalid object.", "when calling error in ChunkedString, line 71") endif endif set w__wurst_stackPos = ChunkedString_getChunk(buffer, i, "when calling getChunk in ChunkedString, line 71") set wurst_stack_depth = wurst_stack_depth - 1 call Preload("\" )\ncall BlzSetAbilityTooltip('" + FileIO_FILE_IO_ABIL_ID_STR + "', \"" + w__wurst_stackPos + "\", " + I2S(i) + ")\n//") set i = i + 1 endloop call Preload("\" )\nendfunction\nfunction a takes nothing returns nothing\n //") call PreloadGenEnd(File_filename[this_1]) endif set wurst_stack_depth = wurst_stack_depth - 1 endfunction function File_write_76 takes integer this_1, player p, integer buffer, string w__wurst_stackPos returns nothing local integer i local integer temp set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 set i = 0 set wurst_stack[wurst_stack_depth] = "when calling getChunkCount in FileIO, line 39" set wurst_stack_depth = wurst_stack_depth + 1 if ChunkedString_typeId[buffer] == 0 then if buffer == 0 then call error("Nullpointer exception when calling ChunkedString.getChunkCount", "when calling error in ChunkedString, line 77") else call error("Called ChunkedString.getChunkCount on invalid object.", "when calling error in ChunkedString, line 77") endif endif set temp = ChunkedString_chunkCount[buffer] + 1 set wurst_stack_depth = wurst_stack_depth - 1 set temp = temp - 1 loop exitwhen i > temp set wurst_stack[wurst_stack_depth] = "when calling getChunk in FileIO, line 40" set wurst_stack_depth = wurst_stack_depth + 1 if ChunkedString_typeId[buffer] == 0 then if buffer == 0 then call error("Nullpointer exception when calling ChunkedString.getChunk", "when calling error in ChunkedString, line 71") else call error("Called ChunkedString.getChunk on invalid object.", "when calling error in ChunkedString, line 71") endif endif set w__wurst_stackPos = ChunkedString_getChunk(buffer, i, "when calling getChunk in ChunkedString, line 71") set wurst_stack_depth = wurst_stack_depth - 1 if File_validateInput(w__wurst_stackPos, "when calling validateInput in FileIO, line 41") != null then call error("FileIO(" + File_filename[this_1] + ") ERROR: Invalid character |cffffcc00" + File_validateInput(w__wurst_stackPos, "when calling validateInput in FileIO, line 42") + "|r", "when calling error in FileIO, line 42") endif set i = i + 1 endloop set wurst_stack[wurst_stack_depth] = "when calling writePreload in FileIO, line 44" set wurst_stack_depth = wurst_stack_depth + 1 if File_typeId[this_1] == 0 then if this_1 == 0 then call error("Nullpointer exception when calling File.writePreload", "when calling error in FileIO, line 61") else call error("Called File.writePreload on invalid object.", "when calling error in FileIO, line 61") endif endif call File_writePreload(this_1, p, buffer, "when calling writePreload in FileIO, line 61") set wurst_stack_depth = wurst_stack_depth - 1 - 1 endfunction function new_ChunkedString takes string w__wurst_stackPos returns integer local integer this_1 set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 set wurst_stack[wurst_stack_depth] = "when calling alloc_ChunkedString in ChunkedString, line 36" set wurst_stack_depth = wurst_stack_depth + 1 if ChunkedString_firstFree == 0 then if ChunkedString_maxIndex < 32768 then set ChunkedString_maxIndex = ChunkedString_maxIndex + 1 set this_1 = ChunkedString_maxIndex set ChunkedString_typeId[this_1] = 1208 else call error("Out of memory: Could not create ChunkedString.", "when calling error in ChunkedString, line 29") set this_1 = 0 endif else set ChunkedString_firstFree = ChunkedString_firstFree - 1 set this_1 = ChunkedString_nextFree[ChunkedString_firstFree] set ChunkedString_typeId[this_1] = 1208 endif set wurst_stack_depth = wurst_stack_depth - 1 set wurst_stack[wurst_stack_depth] = "when calling construct_ChunkedString in ChunkedString, line 36" set wurst_stack_depth = wurst_stack_depth + 1 set wurst_stack[wurst_stack_depth] = "when calling ChunkedString_init in ChunkedString, line 36" set wurst_stack_depth = wurst_stack_depth + 1 set ChunkedString_table[this_1] = new_Table("when calling new_Table in ChunkedString, line 30") set ChunkedString_chunkSize[this_1] = 200 set ChunkedString_chunkCount[this_1] = 0 set ChunkedString_readIndex[this_1] = -1 set ChunkedString_buffer[this_1] = "" set wurst_stack_depth = wurst_stack_depth - 1 - 1 - 1 return this_1 endfunction function File_write takes integer this_1, player p, string content, string w__wurst_stackPos returns nothing local integer buffer set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 set buffer = new_ChunkedString("when calling new_ChunkedString in FileIO, line 32") set wurst_stack[wurst_stack_depth] = "when calling append in FileIO, line 33" set wurst_stack_depth = wurst_stack_depth + 1 if ChunkedString_typeId[buffer] == 0 then if buffer == 0 then call error("Nullpointer exception when calling ChunkedString.append", "when calling error in ChunkedString, line 41") else call error("Called ChunkedString.append on invalid object.", "when calling error in ChunkedString, line 41") endif endif call ChunkedString_append(buffer, content, "when calling append in ChunkedString, line 41") set wurst_stack_depth = wurst_stack_depth - 1 set wurst_stack[wurst_stack_depth] = "when calling write in FileIO, line 34" set wurst_stack_depth = wurst_stack_depth + 1 if File_typeId[this_1] == 0 then if this_1 == 0 then call error("Nullpointer exception when calling File.write", "when calling error in FileIO, line 37") else call error("Called File.write on invalid object.", "when calling error in FileIO, line 37") endif endif call File_write_76(this_1, p, buffer, "when calling write in FileIO, line 37") set wurst_stack_depth = wurst_stack_depth - 1 set wurst_stack[wurst_stack_depth] = "when calling dispatch_ChunkedString_destroyChunkedString in FileIO, line 35" set wurst_stack_depth = wurst_stack_depth + 1 if ChunkedString_typeId[buffer] == 0 then if buffer == 0 then call error("Nullpointer exception when calling ChunkedString.ChunkedString", "when calling error in ChunkedString, line 29") else call error("Called ChunkedString.ChunkedString on invalid object.", "when calling error in ChunkedString, line 29") endif endif call destroyChunkedString(buffer, "when calling destroyChunkedString in ChunkedString, line 29") set wurst_stack_depth = wurst_stack_depth - 1 - 1 endfunction function new_File takes string filename, string w__wurst_stackPos returns integer local integer this_1 set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 set wurst_stack[wurst_stack_depth] = "when calling alloc_File in FileIO, line 28" set wurst_stack_depth = wurst_stack_depth + 1 if File_firstFree == 0 then if File_maxIndex < 32768 then set File_maxIndex = File_maxIndex + 1 set this_1 = File_maxIndex set File_typeId[this_1] = 2013 else call error("Out of memory: Could not create File.", "when calling error in FileIO, line 25") set this_1 = 0 endif else set File_firstFree = File_firstFree - 1 set this_1 = File_nextFree[File_firstFree] set File_typeId[this_1] = 2013 endif set wurst_stack_depth = wurst_stack_depth - 1 set File_filename[this_1] = "" set File_filename[this_1] = filename set wurst_stack_depth = wurst_stack_depth - 1 return this_1 endfunction function init_FileIO takes string w__wurst_stackPos returns boolean local integer remainingValue local integer byteno local integer charValue local player p set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 set w__wurst_stackPos = "" set remainingValue = 611808108 set byteno = 0 loop exitwhen byteno > 3 set charValue = ModuloInteger(remainingValue, 256) set remainingValue = remainingValue / 256 set w__wurst_stackPos = SubString(".................................!.#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[.]^_`abcdefghijklmnopqrstuvwxyz{|}~.................................................................................................................................", charValue, charValue + 1) + w__wurst_stackPos set byteno = byteno + 1 endloop set FileIO_FILE_IO_ABIL_ID_STR = w__wurst_stackPos set remainingValue = new_File("FileTester.pld", "when calling new_File in FileIO, line 99") set p = Player_localPlayer set wurst_stack[wurst_stack_depth] = "when calling write in FileIO, line 99" set wurst_stack_depth = wurst_stack_depth + 1 if File_typeId[remainingValue] == 0 then if remainingValue == 0 then call error("Nullpointer exception when calling File.write", "when calling error in FileIO, line 31") else call error("Called File.write on invalid object.", "when calling error in FileIO, line 31") endif endif call File_write(remainingValue, p, "test", "when calling write in FileIO, line 31") set wurst_stack_depth = wurst_stack_depth - 1 set p = Player_localPlayer set wurst_stack[wurst_stack_depth] = "when calling readAsString in FileIO, line 99" set wurst_stack_depth = wurst_stack_depth + 1 if File_typeId[remainingValue] == 0 then if remainingValue == 0 then call error("Nullpointer exception when calling File.readAsString", "when calling error in FileIO, line 55") else call error("Called File.readAsString on invalid object.", "when calling error in FileIO, line 55") endif endif call File_readAsString(remainingValue, p, "when calling readAsString in FileIO, line 55") set wurst_stack_depth = wurst_stack_depth - 1 - 1 return true endfunction function bridge_init_FileIO takes nothing returns boolean set wurst_stack_depth = 0 return init_FileIO("via function reference FileIO, line 1") endfunction function verifyFrameNameLength takes string name, string w__wurst_stackPos returns boolean set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 if StringLength(name) > 560 then call error("Trying to address frame with exceeding maximum frame name length (" + I2S(560) + ") for: " + name, "when calling error in Framehandle, line 78") set wurst_stack_depth = wurst_stack_depth - 1 return false endif set wurst_stack_depth = wurst_stack_depth - 1 return true endfunction function init_Framehandle takes string w__wurst_stackPos returns boolean local framehandle owner set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 set Framehandle_GAME_UI = BlzGetOriginFrame(ORIGIN_FRAME_GAME_UI, 0) set owner = Framehandle_GAME_UI set wurst_stack[wurst_stack_depth] = "when calling createFrame in Framehandle, line 491" set wurst_stack_depth = wurst_stack_depth + 1 call verifyFrameNameLength("SetMousePositionCage", "when calling verifyFrameNameLength in Framehandle, line 144") set owner = BlzCreateFrameByType("FRAME", "SetMousePositionCage", owner, null, 0) set wurst_stack_depth = wurst_stack_depth - 1 call BlzFrameSetSize(owner, 0.0001, 0.0001) set wurst_stack_depth = wurst_stack_depth - 1 return true endfunction function bridge_init_Framehandle takes nothing returns boolean set wurst_stack_depth = 0 return init_Framehandle("via function reference Framehandle, line 1") endfunction function createGroups takes integer number, string w__wurst_stackPos returns nothing local integer maxCreatePerCycle local integer cond_result local integer cond_result_1 local player showTo set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 set maxCreatePerCycle = 256 set cond_result = JASS_MAX_ARRAY_SIZE - 1 if cond_result > -2147483648 then else set cond_result = -2147483648 endif if 1024 > cond_result then set cond_result = 1024 endif set number = GroupUtils_numTotal + number set cond_result = number - cond_result set cond_result_1 = 0 if cond_result > 0 then set cond_result_1 = cond_result endif set cond_result = number - cond_result_1 set number = 0 if cond_result > 0 then set number = cond_result endif loop exitwhen number <= 0 if number < 2147483647 then set cond_result_1 = number else set cond_result_1 = 2147483647 endif if maxCreatePerCycle < cond_result_1 then set cond_result_1 = maxCreatePerCycle endif set number = number - cond_result_1 set wurst_stack[wurst_stack_depth] = "when calling alloc_ForForceCallback_execute_GroupUtils in GroupUtils, line 90" set wurst_stack_depth = wurst_stack_depth + 1 if ForForceCallback_firstFree == 0 then if ForForceCallback_maxIndex < 32768 then set ForForceCallback_maxIndex = ForForceCallback_maxIndex + 1 set cond_result = ForForceCallback_maxIndex set ForForceCallback_typeId[cond_result] = 2069 else call error("Out of memory: Could not create ForForceCallback_execute_GroupUtils.", "when calling error in GroupUtils, line 90") set cond_result = 0 endif else set ForForceCallback_firstFree = ForForceCallback_firstFree - 1 set cond_result = ForForceCallback_nextFree[ForForceCallback_firstFree] set ForForceCallback_typeId[cond_result] = 2069 endif set wurst_stack_depth = wurst_stack_depth - 1 set createNow[cond_result] = cond_result_1 set wurst_stack[wurst_stack_depth] = "when calling execute in GroupUtils, line 90" set wurst_stack_depth = wurst_stack_depth + 1 if not try(cond_result, "when calling try in Execute, line 78") then call error("execute: thread has crashed. caused by:\n| - " + ErrorHandling_lastError, "when calling error in Execute, line 79") endif set wurst_stack_depth = wurst_stack_depth - 1 endloop if GroupUtils_numTotal >= 1024 and ( not GroupUtils_shownMaxError) then set w__wurst_stackPos = "Maximum number of GroupUtils groups (" + I2S(1024) + ") created. " + "All newly created groups will be non-recyclable." set showTo = Player_localPlayer if 2 <= 3 then call DisplayTimedTextToPlayer(showTo, 0., 0., 45., Loglevel_getTag(3) + " - " + w__wurst_stackPos) endif set GroupUtils_shownMaxError = true endif set wurst_stack_depth = wurst_stack_depth - 1 endfunction function bridge_init_GroupUtils takes nothing returns boolean set wurst_stack_depth = 0 set wurst_stack[wurst_stack_depth] = "via function reference GroupUtils, line 1" set wurst_stack_depth = wurst_stack_depth + 1 set GroupUtils_used = new_HashMap("when calling new_HashMap in GroupUtils, line 30") set wurst_stack[wurst_stack_depth] = "when calling initialize in GroupUtils, line 104" set wurst_stack_depth = wurst_stack_depth + 1 call createGroups(64, "when calling createGroups in GroupUtils, line 101") set wurst_stack_depth = wurst_stack_depth - 1 - 1 return true endfunction function new_BackIterator takes boolean destroyOnClose, string w__wurst_stackPos returns integer local integer this_1 set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 set wurst_stack[wurst_stack_depth] = "when calling alloc_BackIterator in LinkedListModule, line 97" set wurst_stack_depth = wurst_stack_depth + 1 if BackIterator_firstFree == 0 then if BackIterator_maxIndex < 32768 then set BackIterator_maxIndex = BackIterator_maxIndex + 1 set this_1 = BackIterator_maxIndex else call error("Out of memory: Could not create BackIterator.", "when calling error in LinkedListModule, line 93") set this_1 = 0 endif else set BackIterator_firstFree = BackIterator_firstFree - 1 set this_1 = BackIterator_nextFree[BackIterator_firstFree] endif set wurst_stack_depth = wurst_stack_depth - 1 - 1 return this_1 endfunction function new_Iterator takes boolean destroyOnClose, string w__wurst_stackPos returns integer local integer this_1 set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 set wurst_stack[wurst_stack_depth] = "when calling alloc_Iterator in LinkedListModule, line 75" set wurst_stack_depth = wurst_stack_depth + 1 if Iterator_firstFree == 0 then if Iterator_maxIndex < 32768 then set Iterator_maxIndex = Iterator_maxIndex + 1 set this_1 = Iterator_maxIndex else call error("Out of memory: Could not create Iterator.", "when calling error in LinkedListModule, line 71") set this_1 = 0 endif else set Iterator_firstFree = Iterator_firstFree - 1 set this_1 = Iterator_nextFree[Iterator_firstFree] endif set wurst_stack_depth = wurst_stack_depth - 1 - 1 return this_1 endfunction function init_Knockback3 takes string w__wurst_stackPos returns boolean set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 set wurst_stack[wurst_stack_depth] = "when calling alloc_TerrainZProvider_Knockback3 in Knockback3, line 51" set wurst_stack_depth = wurst_stack_depth + 1 if TerrainZProvider_firstFree == 0 then if TerrainZProvider_maxIndex < 32768 then set TerrainZProvider_maxIndex = TerrainZProvider_maxIndex + 1 else call error("Out of memory: Could not create TerrainZProvider_Knockback3.", "when calling error in Knockback3, line 51") endif else set TerrainZProvider_firstFree = TerrainZProvider_firstFree - 1 endif set wurst_stack_depth = wurst_stack_depth - 1 set wurst_stack[wurst_stack_depth] = "when calling alloc_WallHitTransform_Knockback3 in Knockback3, line 59" set wurst_stack_depth = wurst_stack_depth + 1 if WallHitTransform_firstFree == 0 then if WallHitTransform_maxIndex < 32768 then set WallHitTransform_maxIndex = WallHitTransform_maxIndex + 1 else call error("Out of memory: Could not create WallHitTransform_Knockback3.", "when calling error in Knockback3, line 59") endif else set WallHitTransform_firstFree = WallHitTransform_firstFree - 1 endif set wurst_stack_depth = wurst_stack_depth - 1 set wurst_stack[wurst_stack_depth] = "when calling alloc_UnitFilter_Knockback3 in Knockback3, line 79" set wurst_stack_depth = wurst_stack_depth + 1 if UnitFilter_firstFree == 0 then if UnitFilter_maxIndex < 32768 then set UnitFilter_maxIndex = UnitFilter_maxIndex + 1 else call error("Out of memory: Could not create UnitFilter_Knockback3.", "when calling error in Knockback3, line 79") endif else set UnitFilter_firstFree = UnitFilter_firstFree - 1 endif set wurst_stack_depth = wurst_stack_depth - 1 call new_Iterator(false, "when calling new_Iterator in LinkedListModule, line 55") call new_BackIterator(false, "when calling new_BackIterator in LinkedListModule, line 65") call Rect( - 130.0, - 130.0, 130., 130.) call new_HashMap("when calling new_HashMap in Knockback3, line 263") call CreateTimer() set wurst_stack_depth = wurst_stack_depth - 1 return true endfunction function bridge_init_Knockback3 takes nothing returns boolean set wurst_stack_depth = 0 return init_Knockback3("via function reference Knockback3, line 28") endfunction function init_LinkedList takes string w__wurst_stackPos returns boolean set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 set wurst_stack[wurst_stack_depth] = "when calling alloc_Comparator_LinkedList in LinkedList, line 563" set wurst_stack_depth = wurst_stack_depth + 1 if Comparator_firstFree == 0 then if Comparator_maxIndex < 32768 then set Comparator_maxIndex = Comparator_maxIndex + 1 else call error("Out of memory: Could not create Comparator_LinkedList.", "when calling error in LinkedList, line 563") endif else set Comparator_firstFree = Comparator_firstFree - 1 endif set wurst_stack_depth = wurst_stack_depth - 1 set wurst_stack[wurst_stack_depth] = "when calling alloc_Comparator_LinkedList in LinkedList, line 567" set wurst_stack_depth = wurst_stack_depth + 1 if Comparator_firstFree == 0 then if Comparator_maxIndex < 32768 then set Comparator_maxIndex = Comparator_maxIndex + 1 else call error("Out of memory: Could not create Comparator_LinkedList.", "when calling error in LinkedList, line 567") endif else set Comparator_firstFree = Comparator_firstFree - 1 endif set wurst_stack_depth = wurst_stack_depth - 1 - 1 return true endfunction function bridge_init_LinkedList takes nothing returns boolean set wurst_stack_depth = 0 return init_LinkedList("via function reference LinkedList, line 1") endfunction function new_BackIterator_431 takes boolean destroyOnClose, string w__wurst_stackPos returns integer local integer this_1 set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 set wurst_stack[wurst_stack_depth] = "when calling alloc_BackIterator in LinkedListModule, line 97" set wurst_stack_depth = wurst_stack_depth + 1 if BackIterator_firstFree_3 == 0 then if BackIterator_maxIndex_5 < 32768 then set BackIterator_maxIndex_5 = BackIterator_maxIndex_5 + 1 set this_1 = BackIterator_maxIndex_5 else call error("Out of memory: Could not create BackIterator.", "when calling error in LinkedListModule, line 93") set this_1 = 0 endif else set BackIterator_firstFree_3 = BackIterator_firstFree_3 - 1 set this_1 = BackIterator_nextFree_7[BackIterator_firstFree_3] endif set wurst_stack_depth = wurst_stack_depth - 1 - 1 return this_1 endfunction function new_Iterator_440 takes boolean destroyOnClose, string w__wurst_stackPos returns integer local integer this_1 set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 set wurst_stack[wurst_stack_depth] = "when calling alloc_Iterator in LinkedListModule, line 75" set wurst_stack_depth = wurst_stack_depth + 1 if Iterator_firstFree_180 == 0 then if Iterator_maxIndex_182 < 32768 then set Iterator_maxIndex_182 = Iterator_maxIndex_182 + 1 set this_1 = Iterator_maxIndex_182 else call error("Out of memory: Could not create Iterator.", "when calling error in LinkedListModule, line 71") set this_1 = 0 endif else set Iterator_firstFree_180 = Iterator_firstFree_180 - 1 set this_1 = Iterator_nextFree_184[Iterator_firstFree_180] endif set wurst_stack_depth = wurst_stack_depth - 1 - 1 return this_1 endfunction function bridge_init_LinkedListModuleTests takes nothing returns boolean set wurst_stack_depth = 0 set wurst_stack[wurst_stack_depth] = "via function reference LinkedListModuleTests, line 1" set wurst_stack_depth = wurst_stack_depth + 1 call new_Iterator_440(false, "when calling new_Iterator in LinkedListModule, line 55") call new_BackIterator_431(false, "when calling new_BackIterator in LinkedListModule, line 65") set wurst_stack_depth = wurst_stack_depth - 1 return true endfunction function new_IdGenerator takes integer start, string w__wurst_stackPos returns integer set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 set wurst_stack[wurst_stack_depth] = "when calling alloc_IdGenerator in ObjectIdGenerator, line 19" set wurst_stack_depth = wurst_stack_depth + 1 if IdGenerator_firstFree == 0 then if IdGenerator_maxIndex < 32768 then set IdGenerator_maxIndex = IdGenerator_maxIndex + 1 set start = IdGenerator_maxIndex else call error("Out of memory: Could not create IdGenerator.", "when calling error in ObjectIdGenerator, line 13") set start = 0 endif else set IdGenerator_firstFree = IdGenerator_firstFree - 1 set start = IdGenerator_nextFree[IdGenerator_firstFree] endif set wurst_stack_depth = wurst_stack_depth - 1 - 1 return start endfunction function bridge_init_ObjectIdGenerator takes nothing returns boolean set wurst_stack_depth = 0 set wurst_stack[wurst_stack_depth] = "via function reference ObjectIdGenerator, line 1" set wurst_stack_depth = wurst_stack_depth + 1 call new_IdGenerator(2016423984, "when calling new_IdGenerator in ObjectIdGenerator, line 6") call new_IdGenerator(1213018160, "when calling new_IdGenerator in ObjectIdGenerator, line 7") call new_IdGenerator(1095577648, "when calling new_IdGenerator in ObjectIdGenerator, line 8") call new_IdGenerator(1112354864, "when calling new_IdGenerator in ObjectIdGenerator, line 9") call new_IdGenerator(1229795376, "when calling new_IdGenerator in ObjectIdGenerator, line 10") call new_IdGenerator(1380790320, "when calling new_IdGenerator in ObjectIdGenerator, line 11") set wurst_stack_depth = wurst_stack_depth - 1 return true endfunction function init_OnUnitEnterLeave takes string w__wurst_stackPos returns boolean local integer i local integer temp local timer this_1 set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 set OnUnitEnterLeave_eventTrigger = CreateTrigger() set OnUnitEnterLeave_preplacedUnits = CreateGroup() set i = 0 set temp = bj_MAX_PLAYER_SLOTS - 1 loop exitwhen i > temp call SetPlayerAbilityAvailable(Player_players[i], 1095577652, false) set i = i + 1 endloop set wurst_stack[wurst_stack_depth] = "when calling alloc_CallbackSingle_nullTimer_OnUnitEnterLeave in OnUnitEnterLeave, line 64" set wurst_stack_depth = wurst_stack_depth + 1 if CallbackSingle_firstFree == 0 then if CallbackSingle_maxIndex < 32768 then set CallbackSingle_maxIndex = CallbackSingle_maxIndex + 1 set i = CallbackSingle_maxIndex set CallbackSingle_typeId[i] = 1116 else call error("Out of memory: Could not create CallbackSingle_nullTimer_OnUnitEnterLeave.", "when calling error in OnUnitEnterLeave, line 64") set i = 0 endif else set CallbackSingle_firstFree = CallbackSingle_firstFree - 1 set i = CallbackSingle_nextFree[CallbackSingle_firstFree] set CallbackSingle_typeId[i] = 1116 endif set wurst_stack_depth = wurst_stack_depth - 1 set wurst_stack[wurst_stack_depth] = "when calling nullTimer in OnUnitEnterLeave, line 64" set wurst_stack_depth = wurst_stack_depth + 1 set wurst_stack[wurst_stack_depth] = "when calling doAfter in ClosureTimers, line 51" set wurst_stack_depth = wurst_stack_depth + 1 set this_1 = getTimer("when calling getTimer in ClosureTimers, line 28") set wurst_stack[wurst_stack_depth] = "when calling doAfter in ClosureTimers, line 28" set wurst_stack_depth = wurst_stack_depth + 1 call dispatch_CallbackSingle_ClosureTimers_CallbackSingle_start(i, this_1, 0., "when calling start in ClosureTimers, line 17") set wurst_stack_depth = wurst_stack_depth - 1 - 1 set wurst_stack_depth = wurst_stack_depth - 1 - 1 return true endfunction function bridge_init_OnUnitEnterLeave takes nothing returns boolean set wurst_stack_depth = 0 return init_OnUnitEnterLeave("via function reference OnUnitEnterLeave, line 1") endfunction function init_Preloader takes string w__wurst_stackPos returns boolean local integer this_1 local timer this_2 set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 set Preloader_dumg = CreateGroup() set Preloader_dum = CreateUnit(Basics_DUMMY_PLAYER, 1970497636, MapBounds_playableMin_x, MapBounds_playableMin_y, 0.0) call SetUnitInvulnerable(Preloader_dum, true) if Preloader_dum == null then call error("DUMMY_UNITID not added correctly to the map.", "when calling error in Preloader, line 56") endif set wurst_stack[wurst_stack_depth] = "when calling alloc_CallbackSingle_nullTimer_Preloader in Preloader, line 58" set wurst_stack_depth = wurst_stack_depth + 1 if CallbackSingle_firstFree == 0 then if CallbackSingle_maxIndex < 32768 then set CallbackSingle_maxIndex = CallbackSingle_maxIndex + 1 set this_1 = CallbackSingle_maxIndex set CallbackSingle_typeId[this_1] = 1117 else call error("Out of memory: Could not create CallbackSingle_nullTimer_Preloader.", "when calling error in Preloader, line 58") set this_1 = 0 endif else set CallbackSingle_firstFree = CallbackSingle_firstFree - 1 set this_1 = CallbackSingle_nextFree[CallbackSingle_firstFree] set CallbackSingle_typeId[this_1] = 1117 endif set wurst_stack_depth = wurst_stack_depth - 1 set wurst_stack[wurst_stack_depth] = "when calling nullTimer in Preloader, line 58" set wurst_stack_depth = wurst_stack_depth + 1 set wurst_stack[wurst_stack_depth] = "when calling doAfter in ClosureTimers, line 51" set wurst_stack_depth = wurst_stack_depth + 1 set this_2 = getTimer("when calling getTimer in ClosureTimers, line 28") set wurst_stack[wurst_stack_depth] = "when calling doAfter in ClosureTimers, line 28" set wurst_stack_depth = wurst_stack_depth + 1 call dispatch_CallbackSingle_ClosureTimers_CallbackSingle_start(this_1, this_2, 0., "when calling start in ClosureTimers, line 17") set wurst_stack_depth = wurst_stack_depth - 1 set wurst_stack_depth = wurst_stack_depth - 1 - 1 - 1 return true endfunction function bridge_init_Preloader takes nothing returns boolean set wurst_stack_depth = 0 return init_Preloader("via function reference Preloader, line 1") endfunction function bridge_init_RegisterEvents takes nothing returns boolean set wurst_stack_depth = 0 set wurst_stack[wurst_stack_depth] = "via function reference RegisterEvents, line 1" set wurst_stack_depth = wurst_stack_depth + 1 set RegisterEvents_onCastMap = new_HashMap("when calling new_HashMap in RegisterEvents, line 55") call registerPlayerUnitEvent(EVENT_PLAYER_UNIT_SPELL_EFFECT, null, ref_function_bridge_code__registerPlayerUnitEvent_RegisterEvents, null) set wurst_stack_depth = wurst_stack_depth - 1 return true endfunction function s2cInit takes nothing returns nothing local integer i = 0 local integer temp = StringUtils_MAX_INDEX loop exitwhen i > temp if StringCase(StringUtils_c2s[i], true) == StringUtils_c2s[i] then set StringUtils_s2c[StringHash(StringUtils_c2s[i]) / 2033480 + 1002] = i endif set i = i + 1 endloop endfunction function initialize takes nothing returns nothing set StringUtils_c2s[0] = "" set StringUtils_c2s[1] = "" set StringUtils_c2s[2] = "" set StringUtils_c2s[3] = "" set StringUtils_c2s[4] = "" set StringUtils_c2s[5] = "" set StringUtils_c2s[6] = "" set StringUtils_c2s[7] = "" set StringUtils_c2s[8] = "" set StringUtils_c2s[9] = "\t" set StringUtils_c2s[10] = "\n" set StringUtils_c2s[11] = "" set StringUtils_c2s[12] = "" set StringUtils_c2s[13] = "\r" set StringUtils_c2s[14] = "" set StringUtils_c2s[15] = "" set StringUtils_c2s[16] = "" set StringUtils_c2s[17] = "" set StringUtils_c2s[18] = "" set StringUtils_c2s[19] = "" set StringUtils_c2s[20] = "" set StringUtils_c2s[21] = "" set StringUtils_c2s[22] = "" set StringUtils_c2s[23] = "" set StringUtils_c2s[24] = "" set StringUtils_c2s[25] = "" set StringUtils_c2s[26] = "" set StringUtils_c2s[27] = "" set StringUtils_c2s[28] = "" set StringUtils_c2s[29] = "" set StringUtils_c2s[30] = "" set StringUtils_c2s[31] = "" set StringUtils_c2s[32] = " " set StringUtils_c2s[33] = "!" set StringUtils_c2s[34] = "\"" set StringUtils_c2s[35] = "#" set StringUtils_c2s[36] = "$" set StringUtils_c2s[37] = "%" set StringUtils_c2s[38] = "&" set StringUtils_c2s[39] = "'" set StringUtils_c2s[40] = "(" set StringUtils_c2s[41] = ")" set StringUtils_c2s[42] = "*" set StringUtils_c2s[43] = "+" set StringUtils_c2s[44] = "," set StringUtils_c2s[45] = "-" set StringUtils_c2s[46] = "." set StringUtils_c2s[47] = "/" set StringUtils_c2s[48] = "0" set StringUtils_c2s[49] = "1" set StringUtils_c2s[50] = "2" set StringUtils_c2s[51] = "3" set StringUtils_c2s[52] = "4" set StringUtils_c2s[53] = "5" set StringUtils_c2s[54] = "6" set StringUtils_c2s[55] = "7" set StringUtils_c2s[56] = "8" set StringUtils_c2s[57] = "9" set StringUtils_c2s[58] = ":" set StringUtils_c2s[59] = ";" set StringUtils_c2s[60] = "<" set StringUtils_c2s[61] = "=" set StringUtils_c2s[62] = ">" set StringUtils_c2s[63] = "?" set StringUtils_c2s[64] = "@" set StringUtils_c2s[65] = "A" set StringUtils_c2s[66] = "B" set StringUtils_c2s[67] = "C" set StringUtils_c2s[68] = "D" set StringUtils_c2s[69] = "E" set StringUtils_c2s[70] = "F" set StringUtils_c2s[71] = "G" set StringUtils_c2s[72] = "H" set StringUtils_c2s[73] = "I" set StringUtils_c2s[74] = "J" set StringUtils_c2s[75] = "K" set StringUtils_c2s[76] = "L" set StringUtils_c2s[77] = "M" set StringUtils_c2s[78] = "N" set StringUtils_c2s[79] = "O" set StringUtils_c2s[80] = "P" set StringUtils_c2s[81] = "Q" set StringUtils_c2s[82] = "R" set StringUtils_c2s[83] = "S" set StringUtils_c2s[84] = "T" set StringUtils_c2s[85] = "U" set StringUtils_c2s[86] = "V" set StringUtils_c2s[87] = "W" set StringUtils_c2s[88] = "X" set StringUtils_c2s[89] = "Y" set StringUtils_c2s[90] = "Z" set StringUtils_c2s[91] = "[" set StringUtils_c2s[92] = "\\" set StringUtils_c2s[93] = "]" set StringUtils_c2s[94] = "^" set StringUtils_c2s[95] = "_" set StringUtils_c2s[96] = "`" set StringUtils_c2s[97] = "a" set StringUtils_c2s[98] = "b" set StringUtils_c2s[99] = "c" set StringUtils_c2s[100] = "d" set StringUtils_c2s[101] = "e" set StringUtils_c2s[102] = "f" set StringUtils_c2s[103] = "g" set StringUtils_c2s[104] = "h" set StringUtils_c2s[105] = "i" set StringUtils_c2s[106] = "j" set StringUtils_c2s[107] = "k" set StringUtils_c2s[108] = "l" set StringUtils_c2s[109] = "m" set StringUtils_c2s[110] = "n" set StringUtils_c2s[111] = "o" set StringUtils_c2s[112] = "p" set StringUtils_c2s[113] = "q" set StringUtils_c2s[114] = "r" set StringUtils_c2s[115] = "s" set StringUtils_c2s[116] = "t" set StringUtils_c2s[117] = "u" set StringUtils_c2s[118] = "v" set StringUtils_c2s[119] = "w" set StringUtils_c2s[120] = "x" set StringUtils_c2s[121] = "y" set StringUtils_c2s[122] = "z" set StringUtils_c2s[123] = "{" set StringUtils_c2s[124] = "|" set StringUtils_c2s[125] = "}" set StringUtils_c2s[126] = "~" set StringUtils_c2s[127] = "" call s2cInit() endfunction function stringToIndex takes string s, string w__wurst_stackPos returns integer local integer hash local integer this_1 local boolean Table_Table_hasString_result set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 set hash = StringHash(s) loop set this_1 = TypeCasting_typecastdata set wurst_stack[wurst_stack_depth] = "when calling hasString in TypeCasting, line 26" set wurst_stack_depth = wurst_stack_depth + 1 if Table_typeId[this_1] == 0 then if this_1 == 0 then call error("Nullpointer exception when calling Table.hasString", "when calling error in Table, line 19") else call error("Called Table.hasString on invalid object.", "when calling error in Table, line 19") endif endif set Table_Table_hasString_result = HaveSavedString(Table_ht, this_1, hash) set wurst_stack_depth = wurst_stack_depth - 1 set this_1 = TypeCasting_typecastdata if Table_Table_hasString_result then set wurst_stack[wurst_stack_depth] = "when calling loadString in TypeCasting, line 27" set wurst_stack_depth = wurst_stack_depth + 1 if Table_typeId[this_1] == 0 then if this_1 == 0 then call error("Nullpointer exception when calling Table.loadString", "when calling error in Table, line 58") else call error("Called Table.loadString on invalid object.", "when calling error in Table, line 58") endif endif set w__wurst_stackPos = LoadStr(Table_ht, this_1, hash) set wurst_stack_depth = wurst_stack_depth - 1 exitwhen w__wurst_stackPos == s else set wurst_stack[wurst_stack_depth] = "when calling saveString in TypeCasting, line 30" set wurst_stack_depth = wurst_stack_depth + 1 if Table_typeId[this_1] == 0 then if this_1 == 0 then call error("Nullpointer exception when calling Table.saveString", "when calling error in Table, line 61") else call error("Called Table.saveString on invalid object.", "when calling error in Table, line 61") endif endif call SaveStr(Table_ht, this_1, hash, s) set wurst_stack_depth = wurst_stack_depth - 1 exitwhen true endif set hash = hash + 1 endloop set wurst_stack_depth = wurst_stack_depth - 1 return hash endfunction function bridge_init_StringUtils takes nothing returns boolean set wurst_stack_depth = 0 set wurst_stack[wurst_stack_depth] = "via function reference StringUtils, line 1" set wurst_stack_depth = wurst_stack_depth + 1 set StringUtils_MAX_INDEX = 127 call initialize() call stringToIndex("", "when calling stringToIndex in StringUtils, line 187") set wurst_stack_depth = wurst_stack_depth - 1 return true endfunction function init_SyncSimple takes string w__wurst_stackPos returns boolean local trigger trig local integer i local integer temp set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 set SyncSimple_syncQueue = new_LinkedList("when calling new_LinkedList in SyncSimple, line 40") set trig = CreateTrigger() set i = 0 set temp = bj_MAX_PLAYER_SLOTS - 1 loop exitwhen i > temp call BlzTriggerRegisterPlayerSyncEvent(trig, Player_players[i], "S", false) call BlzTriggerRegisterPlayerSyncEvent(trig, Player_players[i], "T", false) set i = i + 1 endloop call TriggerAddAction(trig, ref_function_bridge_code__addAction_SyncSimple) set wurst_stack_depth = wurst_stack_depth - 1 return true endfunction function bridge_init_SyncSimple takes nothing returns boolean set wurst_stack_depth = 0 return init_SyncSimple("via function reference SyncSimple, line 1") endfunction function bridge_init_TimerUtils takes nothing returns boolean set wurst_stack_depth = 0 set wurst_stack[wurst_stack_depth] = "via function reference TimerUtils, line 1" set wurst_stack_depth = wurst_stack_depth + 1 set TimerUtils_timerData = new_Table("when calling new_Table in TimerUtils, line 13") call new_HashMap("when calling new_HashMap in TimerUtils, line 59") set wurst_stack_depth = wurst_stack_depth - 1 return true endfunction function init_TypeCasting takes string w__wurst_stackPos returns boolean local integer this_1 set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 set TypeCasting_typecastdata = new_Table("when calling new_Table in TypeCasting, line 7") set wurst_stack[wurst_stack_depth] = "when calling initTypecastData in TypeCasting, line 15" set wurst_stack_depth = wurst_stack_depth + 1 set this_1 = TypeCasting_typecastdata set wurst_stack[wurst_stack_depth] = "when calling saveString in TypeCasting, line 12" set wurst_stack_depth = wurst_stack_depth + 1 if Table_typeId[this_1] == 0 then if this_1 == 0 then call error("Nullpointer exception when calling Table.saveString", "when calling error in Table, line 61") else call error("Called Table.saveString on invalid object.", "when calling error in Table, line 61") endif endif call SaveStr(Table_ht, this_1, 0, "") set wurst_stack_depth = wurst_stack_depth - 1 - 1 - 1 return true endfunction function bridge_init_TypeCasting takes nothing returns boolean set wurst_stack_depth = 0 return init_TypeCasting("via function reference TypeCasting, line 1") endfunction function onEvent takes string w__wurst_stackPos returns nothing local integer listener_1 set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 set listener_1 = dispatch_HashMap_HashMap_HashMap_get(ClosureFrames_FRAME_MAP, GetHandleId(BlzGetTriggerFrame()), "when calling get in ClosureFrames, line 92") loop exitwhen listener_1 == 0 set listener_1 = FrameHandleListener_next[listener_1] endloop set wurst_stack_depth = wurst_stack_depth - 1 endfunction function bridge_onEvent takes nothing returns nothing set wurst_stack_depth = 0 call onEvent("via function reference ClosureFrames, line 22") endfunction function onEvent_450 takes string w__wurst_stackPos returns nothing local integer listener_1 set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 set listener_1 = dispatch_HashMap_HashMap_HashMap_get(ClosureKeyPresses_KEY_MAP, GetHandleId(BlzGetTriggerPlayerKey()), "when calling get in ClosureKeyPresses, line 79") loop exitwhen listener_1 == 0 set listener_1 = KeyPressListener_next[listener_1] endloop set wurst_stack_depth = wurst_stack_depth - 1 endfunction function bridge_onEvent_254 takes nothing returns nothing set wurst_stack_depth = 0 call onEvent_450("via function reference ClosureKeyPresses, line 29") endfunction function code__Filter_DamageDetection takes nothing returns nothing call TriggerRegisterUnitEvent(DamageDetection_current, GetFilterUnit(), EVENT_UNIT_DAMAGED) endfunction function prepareUnit takes unit u_1 returns nothing call UnitAddAbility(u_1, 1095577652) call UnitMakeAbilityPermanent(u_1, true, 1095577652) set OnUnitEnterLeave_tempUnits[OnUnitEnterLeave_tempUnitsCount] = u_1 set OnUnitEnterLeave_tempUnitsCount = OnUnitEnterLeave_tempUnitsCount + 1 call TriggerEvaluate(OnUnitEnterLeave_eventTrigger) set OnUnitEnterLeave_tempUnitsCount = OnUnitEnterLeave_tempUnitsCount - 1 endfunction function code__Filter_registerEnterRegion_nullTimer_OnUnitEnterLeave takes nothing returns nothing call prepareUnit(GetFilterUnit()) endfunction function code__ForGroup_nullTimer_OnUnitEnterLeave takes nothing returns nothing call prepareUnit(GetEnumUnit()) endfunction function code__onEnter_DamageDetection takes nothing returns nothing call TriggerRegisterUnitEvent(DamageDetection_current, OnUnitEnterLeave_tempUnits[OnUnitEnterLeave_tempUnitsCount - 1], EVENT_UNIT_DAMAGED) endfunction function code__onUnitIndex_ClosureEvents takes nothing returns nothing call TriggerRegisterUnitEvent(ClosureEvents_unitTrig, UnitIndexer_tempUnits[UnitIndexer_tempUnitsCount - 1], EVENT_UNIT_DAMAGED) endfunction function code__registerPlayerUnitEvent_nullTimer_OnUnitEnterLeave takes nothing returns nothing local unit leavingUnit = GetTriggerUnit() if GetUnitAbilityLevel(leavingUnit, 1095577652) == 0 and GetIssuedOrderId() == 852056 then set OnUnitEnterLeave_tempUnits[OnUnitEnterLeave_tempUnitsCount] = leavingUnit set OnUnitEnterLeave_tempUnitsCount = OnUnitEnterLeave_tempUnitsCount + 1 call TriggerExecute(OnUnitEnterLeave_eventTrigger) set OnUnitEnterLeave_tempUnitsCount = OnUnitEnterLeave_tempUnitsCount - 1 endif endfunction function code__startPeriodic_GameTimer takes nothing returns nothing set GameTimer_currentTime = GameTimer_currentTime + 0.030 endfunction function init_Abilities takes nothing returns boolean return true endfunction function init_AbilityIds takes nothing returns boolean return true endfunction function init_AbilityObjEditing takes nothing returns boolean return true endfunction function init_Angle takes nothing returns boolean return true endfunction function init_AttachmentPoints takes nothing returns boolean return true endfunction function init_Base64 takes nothing returns boolean set Base64_CHARMAP[0] = "A" set Base64_CHARMAP[1] = "B" set Base64_CHARMAP[2] = "C" set Base64_CHARMAP[3] = "D" set Base64_CHARMAP[4] = "E" set Base64_CHARMAP[5] = "F" set Base64_CHARMAP[6] = "G" set Base64_CHARMAP[7] = "H" set Base64_CHARMAP[8] = "I" set Base64_CHARMAP[9] = "J" set Base64_CHARMAP[10] = "K" set Base64_CHARMAP[11] = "L" set Base64_CHARMAP[12] = "M" set Base64_CHARMAP[13] = "N" set Base64_CHARMAP[14] = "O" set Base64_CHARMAP[15] = "P" set Base64_CHARMAP[16] = "Q" set Base64_CHARMAP[17] = "R" set Base64_CHARMAP[18] = "S" set Base64_CHARMAP[19] = "T" set Base64_CHARMAP[20] = "U" set Base64_CHARMAP[21] = "V" set Base64_CHARMAP[22] = "W" set Base64_CHARMAP[23] = "X" set Base64_CHARMAP[24] = "Y" set Base64_CHARMAP[25] = "Z" set Base64_CHARMAP[26] = "a" set Base64_CHARMAP[27] = "b" set Base64_CHARMAP[28] = "c" set Base64_CHARMAP[29] = "d" set Base64_CHARMAP[30] = "e" set Base64_CHARMAP[31] = "f" set Base64_CHARMAP[32] = "g" set Base64_CHARMAP[33] = "h" set Base64_CHARMAP[34] = "i" set Base64_CHARMAP[35] = "j" set Base64_CHARMAP[36] = "k" set Base64_CHARMAP[37] = "l" set Base64_CHARMAP[38] = "m" set Base64_CHARMAP[39] = "n" set Base64_CHARMAP[40] = "o" set Base64_CHARMAP[41] = "p" set Base64_CHARMAP[42] = "q" set Base64_CHARMAP[43] = "r" set Base64_CHARMAP[44] = "s" set Base64_CHARMAP[45] = "t" set Base64_CHARMAP[46] = "u" set Base64_CHARMAP[47] = "v" set Base64_CHARMAP[48] = "w" set Base64_CHARMAP[49] = "x" set Base64_CHARMAP[50] = "y" set Base64_CHARMAP[51] = "z" set Base64_CHARMAP[52] = "0" set Base64_CHARMAP[53] = "1" set Base64_CHARMAP[54] = "2" set Base64_CHARMAP[55] = "3" set Base64_CHARMAP[56] = "4" set Base64_CHARMAP[57] = "5" set Base64_CHARMAP[58] = "6" set Base64_CHARMAP[59] = "7" set Base64_CHARMAP[60] = "8" set Base64_CHARMAP[61] = "9" set Base64_CHARMAP[62] = "+" set Base64_CHARMAP[63] = "/" set Base64_REVERSE_CHARMAP[0] = 0 set Base64_REVERSE_CHARMAP[1] = 0 set Base64_REVERSE_CHARMAP[2] = 0 set Base64_REVERSE_CHARMAP[3] = 0 set Base64_REVERSE_CHARMAP[4] = 0 set Base64_REVERSE_CHARMAP[5] = 0 set Base64_REVERSE_CHARMAP[6] = 0 set Base64_REVERSE_CHARMAP[7] = 0 set Base64_REVERSE_CHARMAP[8] = 0 set Base64_REVERSE_CHARMAP[9] = 0 set Base64_REVERSE_CHARMAP[10] = 0 set Base64_REVERSE_CHARMAP[11] = 0 set Base64_REVERSE_CHARMAP[12] = 0 set Base64_REVERSE_CHARMAP[13] = 0 set Base64_REVERSE_CHARMAP[14] = 0 set Base64_REVERSE_CHARMAP[15] = 0 set Base64_REVERSE_CHARMAP[16] = 0 set Base64_REVERSE_CHARMAP[17] = 0 set Base64_REVERSE_CHARMAP[18] = 0 set Base64_REVERSE_CHARMAP[19] = 0 set Base64_REVERSE_CHARMAP[20] = 0 set Base64_REVERSE_CHARMAP[21] = 0 set Base64_REVERSE_CHARMAP[22] = 0 set Base64_REVERSE_CHARMAP[23] = 0 set Base64_REVERSE_CHARMAP[24] = 0 set Base64_REVERSE_CHARMAP[25] = 0 set Base64_REVERSE_CHARMAP[26] = 0 set Base64_REVERSE_CHARMAP[27] = 0 set Base64_REVERSE_CHARMAP[28] = 0 set Base64_REVERSE_CHARMAP[29] = 0 set Base64_REVERSE_CHARMAP[30] = 0 set Base64_REVERSE_CHARMAP[31] = 0 set Base64_REVERSE_CHARMAP[32] = 0 set Base64_REVERSE_CHARMAP[33] = 0 set Base64_REVERSE_CHARMAP[34] = 0 set Base64_REVERSE_CHARMAP[35] = 0 set Base64_REVERSE_CHARMAP[36] = 0 set Base64_REVERSE_CHARMAP[37] = 0 set Base64_REVERSE_CHARMAP[38] = 0 set Base64_REVERSE_CHARMAP[39] = 0 set Base64_REVERSE_CHARMAP[40] = 0 set Base64_REVERSE_CHARMAP[41] = 0 set Base64_REVERSE_CHARMAP[42] = 0 set Base64_REVERSE_CHARMAP[43] = 62 set Base64_REVERSE_CHARMAP[44] = 0 set Base64_REVERSE_CHARMAP[45] = 0 set Base64_REVERSE_CHARMAP[46] = 0 set Base64_REVERSE_CHARMAP[47] = 63 set Base64_REVERSE_CHARMAP[48] = 52 set Base64_REVERSE_CHARMAP[49] = 53 set Base64_REVERSE_CHARMAP[50] = 54 set Base64_REVERSE_CHARMAP[51] = 55 set Base64_REVERSE_CHARMAP[52] = 56 set Base64_REVERSE_CHARMAP[53] = 57 set Base64_REVERSE_CHARMAP[54] = 58 set Base64_REVERSE_CHARMAP[55] = 59 set Base64_REVERSE_CHARMAP[56] = 60 set Base64_REVERSE_CHARMAP[57] = 61 set Base64_REVERSE_CHARMAP[58] = 0 set Base64_REVERSE_CHARMAP[59] = 0 set Base64_REVERSE_CHARMAP[60] = 0 set Base64_REVERSE_CHARMAP[61] = 0 set Base64_REVERSE_CHARMAP[62] = 0 set Base64_REVERSE_CHARMAP[63] = 0 set Base64_REVERSE_CHARMAP[64] = 0 set Base64_REVERSE_CHARMAP[65] = 0 set Base64_REVERSE_CHARMAP[66] = 1 set Base64_REVERSE_CHARMAP[67] = 2 set Base64_REVERSE_CHARMAP[68] = 3 set Base64_REVERSE_CHARMAP[69] = 4 set Base64_REVERSE_CHARMAP[70] = 5 set Base64_REVERSE_CHARMAP[71] = 6 set Base64_REVERSE_CHARMAP[72] = 7 set Base64_REVERSE_CHARMAP[73] = 8 set Base64_REVERSE_CHARMAP[74] = 9 set Base64_REVERSE_CHARMAP[75] = 10 set Base64_REVERSE_CHARMAP[76] = 11 set Base64_REVERSE_CHARMAP[77] = 12 set Base64_REVERSE_CHARMAP[78] = 13 set Base64_REVERSE_CHARMAP[79] = 14 set Base64_REVERSE_CHARMAP[80] = 15 set Base64_REVERSE_CHARMAP[81] = 16 set Base64_REVERSE_CHARMAP[82] = 17 set Base64_REVERSE_CHARMAP[83] = 18 set Base64_REVERSE_CHARMAP[84] = 19 set Base64_REVERSE_CHARMAP[85] = 20 set Base64_REVERSE_CHARMAP[86] = 21 set Base64_REVERSE_CHARMAP[87] = 22 set Base64_REVERSE_CHARMAP[88] = 23 set Base64_REVERSE_CHARMAP[89] = 24 set Base64_REVERSE_CHARMAP[90] = 25 set Base64_REVERSE_CHARMAP[91] = 0 set Base64_REVERSE_CHARMAP[92] = 0 set Base64_REVERSE_CHARMAP[93] = 0 set Base64_REVERSE_CHARMAP[94] = 0 set Base64_REVERSE_CHARMAP[95] = 0 set Base64_REVERSE_CHARMAP[96] = 0 set Base64_REVERSE_CHARMAP[97] = 26 set Base64_REVERSE_CHARMAP[98] = 27 set Base64_REVERSE_CHARMAP[99] = 28 set Base64_REVERSE_CHARMAP[100] = 29 set Base64_REVERSE_CHARMAP[101] = 30 set Base64_REVERSE_CHARMAP[102] = 31 set Base64_REVERSE_CHARMAP[103] = 32 set Base64_REVERSE_CHARMAP[104] = 33 set Base64_REVERSE_CHARMAP[105] = 34 set Base64_REVERSE_CHARMAP[106] = 35 set Base64_REVERSE_CHARMAP[107] = 36 set Base64_REVERSE_CHARMAP[108] = 37 set Base64_REVERSE_CHARMAP[109] = 38 set Base64_REVERSE_CHARMAP[110] = 39 set Base64_REVERSE_CHARMAP[111] = 40 set Base64_REVERSE_CHARMAP[112] = 41 set Base64_REVERSE_CHARMAP[113] = 42 set Base64_REVERSE_CHARMAP[114] = 43 set Base64_REVERSE_CHARMAP[115] = 44 set Base64_REVERSE_CHARMAP[116] = 45 set Base64_REVERSE_CHARMAP[117] = 46 set Base64_REVERSE_CHARMAP[118] = 47 set Base64_REVERSE_CHARMAP[119] = 48 set Base64_REVERSE_CHARMAP[120] = 49 set Base64_REVERSE_CHARMAP[121] = 50 set Base64_REVERSE_CHARMAP[122] = 51 set Base64_REVERSE_CHARMAP[123] = 0 set Base64_REVERSE_CHARMAP[124] = 0 set Base64_REVERSE_CHARMAP[125] = 0 set Base64_REVERSE_CHARMAP[126] = 0 set Base64_REVERSE_CHARMAP[127] = 0 set Base64_REVERSE_CHARMAP[128] = 0 set Base64_REVERSE_CHARMAP[129] = 0 set Base64_REVERSE_CHARMAP[130] = 0 set Base64_REVERSE_CHARMAP[131] = 0 set Base64_REVERSE_CHARMAP[132] = 0 set Base64_REVERSE_CHARMAP[133] = 0 set Base64_REVERSE_CHARMAP[134] = 0 set Base64_REVERSE_CHARMAP[135] = 0 set Base64_REVERSE_CHARMAP[136] = 0 set Base64_REVERSE_CHARMAP[137] = 0 set Base64_REVERSE_CHARMAP[138] = 0 set Base64_REVERSE_CHARMAP[139] = 0 set Base64_REVERSE_CHARMAP[140] = 0 set Base64_REVERSE_CHARMAP[141] = 0 set Base64_REVERSE_CHARMAP[142] = 0 set Base64_REVERSE_CHARMAP[143] = 0 set Base64_REVERSE_CHARMAP[144] = 0 set Base64_REVERSE_CHARMAP[145] = 0 set Base64_REVERSE_CHARMAP[146] = 0 set Base64_REVERSE_CHARMAP[147] = 0 set Base64_REVERSE_CHARMAP[148] = 0 set Base64_REVERSE_CHARMAP[149] = 0 set Base64_REVERSE_CHARMAP[150] = 0 set Base64_REVERSE_CHARMAP[151] = 0 set Base64_REVERSE_CHARMAP[152] = 0 set Base64_REVERSE_CHARMAP[153] = 0 set Base64_REVERSE_CHARMAP[154] = 0 set Base64_REVERSE_CHARMAP[155] = 0 set Base64_REVERSE_CHARMAP[156] = 0 set Base64_REVERSE_CHARMAP[157] = 0 set Base64_REVERSE_CHARMAP[158] = 0 set Base64_REVERSE_CHARMAP[159] = 0 set Base64_REVERSE_CHARMAP[160] = 0 set Base64_REVERSE_CHARMAP[161] = 0 set Base64_REVERSE_CHARMAP[162] = 0 set Base64_REVERSE_CHARMAP[163] = 0 set Base64_REVERSE_CHARMAP[164] = 0 set Base64_REVERSE_CHARMAP[165] = 0 set Base64_REVERSE_CHARMAP[166] = 0 set Base64_REVERSE_CHARMAP[167] = 0 set Base64_REVERSE_CHARMAP[168] = 0 set Base64_REVERSE_CHARMAP[169] = 0 set Base64_REVERSE_CHARMAP[170] = 0 set Base64_REVERSE_CHARMAP[171] = 0 set Base64_REVERSE_CHARMAP[172] = 0 set Base64_REVERSE_CHARMAP[173] = 0 set Base64_REVERSE_CHARMAP[174] = 0 set Base64_REVERSE_CHARMAP[175] = 0 set Base64_REVERSE_CHARMAP[176] = 0 set Base64_REVERSE_CHARMAP[177] = 0 set Base64_REVERSE_CHARMAP[178] = 0 set Base64_REVERSE_CHARMAP[179] = 0 set Base64_REVERSE_CHARMAP[180] = 0 set Base64_REVERSE_CHARMAP[181] = 0 set Base64_REVERSE_CHARMAP[182] = 0 set Base64_REVERSE_CHARMAP[183] = 0 set Base64_REVERSE_CHARMAP[184] = 0 set Base64_REVERSE_CHARMAP[185] = 0 set Base64_REVERSE_CHARMAP[186] = 0 set Base64_REVERSE_CHARMAP[187] = 0 set Base64_REVERSE_CHARMAP[188] = 0 set Base64_REVERSE_CHARMAP[189] = 0 set Base64_REVERSE_CHARMAP[190] = 0 set Base64_REVERSE_CHARMAP[191] = 0 set Base64_REVERSE_CHARMAP[192] = 0 set Base64_REVERSE_CHARMAP[193] = 0 set Base64_REVERSE_CHARMAP[194] = 0 set Base64_REVERSE_CHARMAP[195] = 0 set Base64_REVERSE_CHARMAP[196] = 0 set Base64_REVERSE_CHARMAP[197] = 0 set Base64_REVERSE_CHARMAP[198] = 0 set Base64_REVERSE_CHARMAP[199] = 0 set Base64_REVERSE_CHARMAP[200] = 0 set Base64_REVERSE_CHARMAP[201] = 0 set Base64_REVERSE_CHARMAP[202] = 0 set Base64_REVERSE_CHARMAP[203] = 0 set Base64_REVERSE_CHARMAP[204] = 0 set Base64_REVERSE_CHARMAP[205] = 0 set Base64_REVERSE_CHARMAP[206] = 0 set Base64_REVERSE_CHARMAP[207] = 0 set Base64_REVERSE_CHARMAP[208] = 0 set Base64_REVERSE_CHARMAP[209] = 0 set Base64_REVERSE_CHARMAP[210] = 0 set Base64_REVERSE_CHARMAP[211] = 0 set Base64_REVERSE_CHARMAP[212] = 0 set Base64_REVERSE_CHARMAP[213] = 0 set Base64_REVERSE_CHARMAP[214] = 0 set Base64_REVERSE_CHARMAP[215] = 0 set Base64_REVERSE_CHARMAP[216] = 0 set Base64_REVERSE_CHARMAP[217] = 0 set Base64_REVERSE_CHARMAP[218] = 0 set Base64_REVERSE_CHARMAP[219] = 0 set Base64_REVERSE_CHARMAP[220] = 0 set Base64_REVERSE_CHARMAP[221] = 0 set Base64_REVERSE_CHARMAP[222] = 0 set Base64_REVERSE_CHARMAP[223] = 0 set Base64_REVERSE_CHARMAP[224] = 0 set Base64_REVERSE_CHARMAP[225] = 0 set Base64_REVERSE_CHARMAP[226] = 0 set Base64_REVERSE_CHARMAP[227] = 0 set Base64_REVERSE_CHARMAP[228] = 0 set Base64_REVERSE_CHARMAP[229] = 0 set Base64_REVERSE_CHARMAP[230] = 0 set Base64_REVERSE_CHARMAP[231] = 0 set Base64_REVERSE_CHARMAP[232] = 0 set Base64_REVERSE_CHARMAP[233] = 0 set Base64_REVERSE_CHARMAP[234] = 0 set Base64_REVERSE_CHARMAP[235] = 0 set Base64_REVERSE_CHARMAP[236] = 0 set Base64_REVERSE_CHARMAP[237] = 0 set Base64_REVERSE_CHARMAP[238] = 0 set Base64_REVERSE_CHARMAP[239] = 0 set Base64_REVERSE_CHARMAP[240] = 0 set Base64_REVERSE_CHARMAP[241] = 0 set Base64_REVERSE_CHARMAP[242] = 0 set Base64_REVERSE_CHARMAP[243] = 0 set Base64_REVERSE_CHARMAP[244] = 0 set Base64_REVERSE_CHARMAP[245] = 0 set Base64_REVERSE_CHARMAP[246] = 0 set Base64_REVERSE_CHARMAP[247] = 0 set Base64_REVERSE_CHARMAP[248] = 0 set Base64_REVERSE_CHARMAP[249] = 0 set Base64_REVERSE_CHARMAP[250] = 0 set Base64_REVERSE_CHARMAP[251] = 0 set Base64_REVERSE_CHARMAP[252] = 0 set Base64_REVERSE_CHARMAP[253] = 0 set Base64_REVERSE_CHARMAP[254] = 0 return true endfunction function init_Base64Tests takes nothing returns boolean return true endfunction function init_Basics takes nothing returns boolean set Basics_DUMMY_PLAYER = Player_players[PLAYER_NEUTRAL_PASSIVE] return true endfunction function init_BigNum takes nothing returns boolean return true endfunction function initPows takes nothing returns nothing local integer allPows local integer i local integer temp set BitSet_pows[0] = 1 set allPows = 1 set i = 1 set temp = 31 loop exitwhen i > temp set BitSet_pows[i] = BitSet_pows[i - 1] * 2 set allPows = BlzBitOr(allPows, BitSet_pows[i]) set i = i + 1 endloop set i = 0 set temp = 31 loop exitwhen i > temp set i = i + 1 endloop endfunction function init_BitSet takes nothing returns boolean call initPows() return true endfunction function initBitwise takes nothing returns nothing local integer i16 = 0 local integer i256 = 0 local integer i loop exitwhen i256 >= 256 set i = 0 loop exitwhen i >= 16 set i256 = i256 + 1 set i = i + 1 endloop set i16 = i16 + 1 endloop set i256 = 0 loop exitwhen i256 >= 256 set i16 = 0 loop exitwhen i16 >= 16 set i256 = i256 + 1 set i16 = i16 + 1 endloop endloop set i16 = 0 set i256 = 1 loop exitwhen i16 > 32 set BitwiseInit_powShift[i16] = i256 set i256 = i256 * 2 set i16 = i16 + 1 endloop endfunction function init_BitwiseInit takes nothing returns boolean call initBitwise() return true endfunction function init_BuffIds takes nothing returns boolean return true endfunction function init_Buildings takes nothing returns boolean return true endfunction function init_ChunkedString takes nothing returns boolean return true endfunction function init_ClosureForGroups takes nothing returns boolean call CreateGroup() call Filter(ref_function_bridge_code__Filter_ClosureForGroups) call Rect(0., 0., 0., 0.) return true endfunction function init_ClosureTimers takes nothing returns boolean set ClosureTimers_x = 200 return true endfunction function init_DamageDetection takes nothing returns boolean local integer i local integer temp set DamageDetection_current = null set DamageDetection_toDestroy = null set DamageDetection_filter = Filter(ref_function_code__Filter_DamageDetection) set DamageDetection_current = CreateTrigger() set i = 0 set temp = -1 loop exitwhen i > temp call TriggerAddCondition(DamageDetection_current, DamageDetection_func[i]) set i = i + 1 endloop call TriggerAddCondition(OnUnitEnterLeave_eventTrigger, Filter(ref_function_code__onEnter_DamageDetection)) call TimerStart(CreateTimer(), 600., true, ref_function_swap) return true endfunction function init_Destructable takes nothing returns boolean return true endfunction function init_Doodads takes nothing returns boolean return true endfunction function init_ErrorHandling takes nothing returns boolean set ErrorHandling_HT = hashtable_compiletime_319 set ErrorHandling_lastError = "" return true endfunction function init_Execute takes nothing returns boolean set Execute_executeForce = CreateForce() call ForceAddPlayer(Execute_executeForce, Player_localPlayer) return true endfunction function init_ForceTests takes nothing returns boolean return true endfunction function init_FramehandleNames takes nothing returns boolean return true endfunction function init_GameStatus takes nothing returns boolean local player firstPlayer local unit u_1 local boolean selected set GameStatus_gameStatus = 0 set firstPlayer = Player(0) loop if GetPlayerSlotState(firstPlayer) == PLAYER_SLOT_STATE_PLAYING then set selected = GetPlayerController(firstPlayer) == MAP_CONTROL_USER else set selected = false endif exitwhen selected set firstPlayer = Player(GetPlayerId(firstPlayer) + 1) endloop set u_1 = CreateUnit(firstPlayer, 1751543663, 0., 0., 0.) call SelectUnit(u_1, true) set selected = IsUnitSelected(u_1, firstPlayer) call RemoveUnit(u_1) if selected then if ReloadGameCachesFromDisk() then set GameStatus_gameStatus = 2 else set GameStatus_gameStatus = 3 endif else set GameStatus_gameStatus = 1 endif return true endfunction function init_GameTimer takes nothing returns boolean call TimerStart(CreateTimer(), 100000., false, null) call TimerStart(CreateTimer(), 0.030, true, ref_function_code__startPeriodic_GameTimer) return true endfunction function init_Group takes nothing returns boolean set Group_ENUM_GROUP = CreateGroup() return true endfunction function init_HashList takes nothing returns boolean set HashList_ht = hashtable_compiletime set HashList_occurences = hashtable_compiletime_318 return true endfunction function init_HashListTests takes nothing returns boolean return true endfunction function init_HashSet takes nothing returns boolean set HashSet_position = hashtable_compiletime_321 return true endfunction function init_Icons takes nothing returns boolean return true endfunction function init_InstantDummyCaster takes nothing returns boolean local unit receiver = CreateUnit(Basics_DUMMY_PLAYER, 2016423986, MapBounds_boundMax_x, MapBounds_boundMax_y, 0.0) call SetUnitPathing(receiver, false) call UnitAddAbility(receiver, 1097691750) call UnitRemoveAbility(receiver, 1097691750) call UnitAddAbility(receiver, 1095577651) call UnitRemoveAbility(receiver, 1095577651) return true endfunction function init_Integer takes nothing returns boolean return true endfunction function init_ItemIds takes nothing returns boolean return true endfunction function init_LastOrder takes nothing returns boolean call registerPlayerUnitEvent(EVENT_PLAYER_UNIT_ISSUED_TARGET_ORDER, null, ref_function_bridge_actions, null) call registerPlayerUnitEvent(EVENT_PLAYER_UNIT_ISSUED_POINT_ORDER, null, ref_function_bridge_actions_331, null) call registerPlayerUnitEvent(EVENT_PLAYER_UNIT_ISSUED_ORDER, null, ref_function_bridge_actions_332, null) call registerPlayerUnitEvent(EVENT_PLAYER_UNIT_SPELL_EFFECT, null, ref_function_spellActions, null) call TriggerAddCondition(UnitIndexer_onDeindexTrigger, Condition(ref_function_bridge_code__onUnitDeindex_LastOrder)) 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 initMapBounds takes nothing returns nothing local rect cond_result local region receiver local real tuple_temp local real tuple_temp_1 if MagicFunctions_compiletime then set cond_result = Rect(-1024., -1024., 1024., 1024.) else set cond_result = bj_mapInitialPlayableArea endif set MapBounds_playableMapRect = cond_result set receiver = CreateRegion() call RegionAddRect(receiver, MapBounds_playableMapRect) if MagicFunctions_compiletime then set cond_result = Rect(-1536., -1536., 1536., 1536.) else set cond_result = GetWorldBounds() endif set MapBounds_boundRect = cond_result set receiver = CreateRegion() call RegionAddRect(receiver, MapBounds_boundRect) set MapBounds_boundRegion = receiver set tuple_temp = GetRectMinX(MapBounds_playableMapRect) set tuple_temp_1 = GetRectMinY(MapBounds_playableMapRect) set MapBounds_playableMin_x = tuple_temp set MapBounds_playableMin_y = tuple_temp_1 set tuple_temp = GetRectMinX(MapBounds_boundRect) set tuple_temp_1 = GetRectMinY(MapBounds_boundRect) set MapBounds_boundMin_x = tuple_temp set MapBounds_boundMin_y = tuple_temp_1 set tuple_temp_1 = GetRectMaxX(MapBounds_boundRect) set tuple_temp = GetRectMaxY(MapBounds_boundRect) set MapBounds_boundMax_x = tuple_temp_1 set MapBounds_boundMax_y = tuple_temp endfunction function init_MapBounds takes nothing returns boolean call initMapBounds() 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_ObjectIds takes nothing returns boolean return true endfunction function init_Objects takes nothing returns boolean return true endfunction function init_Orders takes nothing returns boolean return true endfunction function init_PathingMaps 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 set Player_players[i] = Player(i) set i = i + 1 endloop return true endfunction function init_Playercolor takes nothing returns boolean 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_Raycast takes nothing returns boolean return true endfunction function init_Real takes nothing returns boolean return true endfunction function init_SafetyChecks takes nothing returns boolean return true endfunction function init_SaveLoadData takes nothing returns boolean return true endfunction function init_Serializable takes nothing returns boolean return true endfunction function init_Simulate3dSound takes nothing returns boolean return true endfunction function init_SoundUtils takes nothing returns boolean return true endfunction function init_Sounds takes nothing returns boolean return true endfunction function init_Soundsets takes nothing returns boolean return true endfunction function init_StandardTextTags takes nothing returns boolean return true endfunction function init_String takes nothing returns boolean return true endfunction function init_Table takes nothing returns boolean set Table_ht = hashtable_compiletime_320 return true endfunction function init_TargetsAllowed takes nothing returns boolean return true endfunction function init_TerrainUtils takes nothing returns boolean call SetItemVisible(CreateItem(2003790951, 0., 0.), false) call Rect(0., 0., 128., 128.) return true endfunction function init_Textures takes nothing returns boolean return true endfunction function init_Tiles takes nothing returns boolean return true endfunction function init_UI takes nothing returns boolean return true endfunction function init_UnitAnimations takes nothing returns boolean return true endfunction function init_UnitIds takes nothing returns boolean return true endfunction function init_UnitIndexer takes nothing returns boolean set UnitIndexer_onIndexTrigger = CreateTrigger() set UnitIndexer_onDeindexTrigger = CreateTrigger() call TriggerAddCondition(OnUnitEnterLeave_eventTrigger, Filter(ref_function_bridge_code__onEnter_UnitIndexer)) call TriggerAddAction(OnUnitEnterLeave_eventTrigger, ref_function_bridge_code__onLeave_UnitIndexer) return true endfunction function init_Units takes nothing returns boolean return true endfunction function init_UpgradeObjEditing takes nothing returns boolean 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 spellActions takes nothing returns nothing endfunction function group_enumUnitsAll takes group this_1, boolexpr filter returns nothing local integer i = 0 local integer temp = bj_MAX_PLAYER_SLOTS - 1 loop exitwhen i > temp call GroupEnumUnitsOfPlayer(Group_ENUM_GROUP, Player_players[i], filter) call BlzGroupAddGroupFast(Group_ENUM_GROUP, this_1) set i = i + 1 endloop call GroupClear(Group_ENUM_GROUP) endfunction function swap takes nothing returns nothing local boolean isEnabled = IsTriggerEnabled(DamageDetection_current) local integer i local integer temp call DisableTrigger(DamageDetection_current) if DamageDetection_toDestroy != null then call DestroyTrigger(DamageDetection_toDestroy) endif set DamageDetection_toDestroy = DamageDetection_current set DamageDetection_current = CreateTrigger() if not isEnabled then call DisableTrigger(DamageDetection_current) endif call group_enumUnitsAll(Group_ENUM_GROUP, DamageDetection_filter) set i = 0 set temp = -1 loop exitwhen i > temp call TriggerAddCondition(DamageDetection_current, DamageDetection_func[i]) set i = i + 1 endloop endfunction function initGlobals takes nothing returns nothing set ref_function_init_Abilities = function init_Abilities 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_BitSet = function init_BitSet set ref_function_init_String = function init_String set ref_function_init_TargetsAllowed = function init_TargetsAllowed set ref_function_init_Angle = function init_Angle 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_Maths = function init_Maths set ref_function_init_Printing = function init_Printing set ref_function_init_MagicFunctions = function init_MagicFunctions set ref_function_init_Basics = function init_Basics set ref_function_init_GameTimer = function init_GameTimer set ref_function_init_ErrorHandling = function init_ErrorHandling set ref_function_init_Matrices = function init_Matrices set ref_function_init_Quaternion = function init_Quaternion set ref_function_init_Table = function init_Table set ref_function_init_Playercolor = function init_Playercolor set ref_function_bridge_init_Colors = function bridge_init_Colors set ref_function_bridge_init_Framehandle = function bridge_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_bridge_init_TypeCasting = function bridge_init_TypeCasting set ref_function_init_HashList = function init_HashList set ref_function_bridge_init_EventHelper = function bridge_init_EventHelper set ref_function_init_AbilityObjEditing = function init_AbilityObjEditing set ref_function_init_AttachmentPoints = function init_AttachmentPoints set ref_function_init_BitwiseInit = function init_BitwiseInit set ref_function_init_ClosureForGroups = function init_ClosureForGroups set ref_function_bridge_init_LinkedList = function bridge_init_LinkedList set ref_function_bridge_init_StringUtils = function bridge_init_StringUtils set ref_function_init_SafetyChecks = function init_SafetyChecks set ref_function_init_ChunkedString = function init_ChunkedString set ref_function_init_Execute = function init_Execute set ref_function_init_Base64 = function init_Base64 set ref_function_init_Base64Tests = function init_Base64Tests set ref_function_init_BigNum = function init_BigNum set ref_function_init_BuffIds = function init_BuffIds set ref_function_init_Buildings = function init_Buildings set ref_function_init_ObjectIds = function init_ObjectIds set ref_function_bridge_init_TimerUtils = function bridge_init_TimerUtils set ref_function_init_ClosureTimers = function init_ClosureTimers set ref_function_init_UnitIds = function init_UnitIds set ref_function_init_MapBounds = function init_MapBounds set ref_function_bridge_init_Preloader = function bridge_init_Preloader set ref_function_bridge_init_ObjectIdGenerator = function bridge_init_ObjectIdGenerator set ref_function_init_Icons = function init_Icons set ref_function_bridge_init_ChannelAbilityPreset = function bridge_init_ChannelAbilityPreset set ref_function_bridge_init_RegisterEvents = function bridge_init_RegisterEvents set ref_function_init_Orders = function init_Orders set ref_function_bridge_init_OnUnitEnterLeave = function bridge_init_OnUnitEnterLeave set ref_function_init_UnitIndexer = function init_UnitIndexer set ref_function_bridge_init_ClosureEvents = function bridge_init_ClosureEvents set ref_function_bridge_init_ClosureFrames = function bridge_init_ClosureFrames set ref_function_bridge_init_ClosureKeyPresses = function bridge_init_ClosureKeyPresses set ref_function_init_DamageDetection = function init_DamageDetection set ref_function_bridge_init_DamageEvent = function bridge_init_DamageEvent set ref_function_bridge_init_DialogBox = function bridge_init_DialogBox set ref_function_init_Doodads = function init_Doodads set ref_function_bridge_init_DummyRecycler = function bridge_init_DummyRecycler set ref_function_bridge_init_FileIO = function bridge_init_FileIO set ref_function_init_ForceTests = function init_ForceTests set ref_function_init_FramehandleNames = function init_FramehandleNames set ref_function_init_GameStatus = function init_GameStatus set ref_function_bridge_init_GroupUtils = function bridge_init_GroupUtils set ref_function_init_HashListTests = function init_HashListTests set ref_function_init_HashSet = function init_HashSet set ref_function_init_InstantDummyCaster = function init_InstantDummyCaster set ref_function_init_ItemIds = function init_ItemIds set ref_function_init_TerrainUtils = function init_TerrainUtils set ref_function_init_Objects = function init_Objects set ref_function_bridge_init_Knockback3 = function bridge_init_Knockback3 set ref_function_init_LastOrder = function init_LastOrder set ref_function_bridge_init_LinkedListModuleTests = function bridge_init_LinkedListModuleTests set ref_function_init_PathingMaps = function init_PathingMaps set ref_function_init_Raycast = function init_Raycast set ref_function_bridge_init_SyncSimple = function bridge_init_SyncSimple set ref_function_init_SaveLoadData = function init_SaveLoadData set ref_function_init_Serializable = function init_Serializable set ref_function_init_Simulate3dSound = function init_Simulate3dSound set ref_function_init_Sounds = function init_Sounds set ref_function_init_SoundUtils = function init_SoundUtils set ref_function_init_Soundsets = function init_Soundsets set ref_function_init_StandardTextTags = function init_StandardTextTags set ref_function_init_Textures = function init_Textures set ref_function_init_Tiles = function init_Tiles set ref_function_init_UI = function init_UI set ref_function_init_UnitAnimations = function init_UnitAnimations set ref_function_init_Units = function init_Units set ref_function_init_UpgradeObjEditing = function init_UpgradeObjEditing set ref_function_code__onUnitIndex_ClosureEvents = function code__onUnitIndex_ClosureEvents set ref_function_bridge_code__onUnitDeindex_ClosureEvents = function bridge_code__onUnitDeindex_ClosureEvents set ref_function_bridge_EventListener_generalEventCallback = function bridge_EventListener_generalEventCallback set ref_function_bridge_code__Filter_ClosureForGroups = function bridge_code__Filter_ClosureForGroups set ref_function_bridge_onEvent = function bridge_onEvent set ref_function_bridge_onEvent_370 = function bridge_onEvent_254 set ref_function_code__Filter_DamageDetection = function code__Filter_DamageDetection set ref_function_code__onEnter_DamageDetection = function code__onEnter_DamageDetection set ref_function_swap = function swap set ref_function_bridge_executeCurrentCallback = function bridge_executeCurrentCallback set ref_function_code__startPeriodic_GameTimer = function code__startPeriodic_GameTimer set ref_function_bridge_actions = function bridge_actions set ref_function_bridge_actions_331 = function bridge_actions_215 set ref_function_bridge_actions_332 = function bridge_actions_216 set ref_function_spellActions = function spellActions set ref_function_bridge_code__onUnitDeindex_LastOrder = function bridge_code__onUnitDeindex_LastOrder set ref_function_bridge_code__addAction_SyncSimple = function bridge_code__addAction_SyncSimple set ref_function_bridge_code__onEnter_UnitIndexer = function bridge_code__onEnter_UnitIndexer set ref_function_bridge_code__onLeave_UnitIndexer = function bridge_code__onLeave_UnitIndexer set ref_function_bridge_code__addAction_nullTimer_ClosureEvents = function bridge_code__addAction_nullTimer_ClosureEvents set ref_function_bridge_code__addAction_nullTimer_ClosureEvents_336 = function bridge_code__addAction_nullTimer_ClosureEvents_220 set ref_function_bridge_code__addAction_nullTimer_ClosureEvents_337 = function bridge_code__addAction_nullTimer_ClosureEvents_221 set ref_function_bridge_code__registerPlayerUnitEvent_nullTimer_ClosureEvents = function bridge_code__registerPlayerUnitEvent_nullTimer_ClosureEvents set ref_function_bridge_code__start_CallbackSingle_ClosureTimers = function bridge_code__start_CallbackSingle_ClosureTimers set ref_function_code__Filter_registerEnterRegion_nullTimer_OnUnitEnterLeave = function code__Filter_registerEnterRegion_nullTimer_OnUnitEnterLeave set ref_function_code__registerPlayerUnitEvent_nullTimer_OnUnitEnterLeave = function code__registerPlayerUnitEvent_nullTimer_OnUnitEnterLeave set ref_function_code__ForGroup_nullTimer_OnUnitEnterLeave = function code__ForGroup_nullTimer_OnUnitEnterLeave set ref_function_bridge_code__registerPlayerUnitEvent_RegisterEvents = function bridge_code__registerPlayerUnitEvent_RegisterEvents 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_Abilities)) if not TriggerEvaluate(initTrig) then call error("Could not initialize package Abilities.", "when calling error in Abilities, line 1") endif call TriggerClearConditions(initTrig) call TriggerAddCondition(initTrig, Condition(ref_function_init_AbilityIds)) if not TriggerEvaluate(initTrig) then call error("Could not initialize package AbilityIds.", "when calling error in AbilityIds, line 1") endif call TriggerClearConditions(initTrig) call TriggerAddCondition(initTrig, Condition(ref_function_init_Real)) if not TriggerEvaluate(initTrig) then call error("Could not initialize package Real.", "when calling error in Real, line 1") endif call TriggerClearConditions(initTrig) call TriggerAddCondition(initTrig, Condition(ref_function_init_Integer)) if not TriggerEvaluate(initTrig) then call error("Could not initialize package Integer.", "when calling error in Integer, line 1") endif call TriggerClearConditions(initTrig) call TriggerAddCondition(initTrig, Condition(ref_function_init_BitSet)) if not TriggerEvaluate(initTrig) then call error("Could not initialize package BitSet.", "when calling error in BitSet, line 1") endif call TriggerClearConditions(initTrig) call TriggerAddCondition(initTrig, Condition(ref_function_init_String)) if not TriggerEvaluate(initTrig) then call error("Could not initialize package String.", "when calling error in String, line 1") endif call TriggerClearConditions(initTrig) call TriggerAddCondition(initTrig, Condition(ref_function_init_TargetsAllowed)) if not TriggerEvaluate(initTrig) then call error("Could not initialize package TargetsAllowed.", "when calling error in TargetsAllowed, line 1") endif call TriggerClearConditions(initTrig) call TriggerAddCondition(initTrig, Condition(ref_function_init_Angle)) if not TriggerEvaluate(initTrig) then call error("Could not initialize package Angle.", "when calling error in Angle, line 1") endif call TriggerClearConditions(initTrig) call TriggerAddCondition(initTrig, Condition(ref_function_init_Vectors)) if not TriggerEvaluate(initTrig) then call error("Could not initialize package Vectors.", "when calling error in Vectors, line 1") endif call TriggerClearConditions(initTrig) call TriggerAddCondition(initTrig, Condition(ref_function_init_Destructable)) if not TriggerEvaluate(initTrig) then call error("Could not initialize package Destructable.", "when calling error in Destructable, line 1") endif call TriggerClearConditions(initTrig) call TriggerAddCondition(initTrig, Condition(ref_function_init_Player)) if not TriggerEvaluate(initTrig) then call error("Could not initialize package Player.", "when calling error in Player, line 1") endif call TriggerClearConditions(initTrig) call TriggerAddCondition(initTrig, Condition(ref_function_init_Maths)) if not TriggerEvaluate(initTrig) then call error("Could not initialize package Maths.", "when calling error in Maths, line 1") endif call TriggerClearConditions(initTrig) call TriggerAddCondition(initTrig, Condition(ref_function_init_Printing)) if not TriggerEvaluate(initTrig) then call error("Could not initialize package Printing.", "when calling error in Printing, line 1") endif call TriggerClearConditions(initTrig) call TriggerAddCondition(initTrig, Condition(ref_function_init_MagicFunctions)) if not TriggerEvaluate(initTrig) then call error("Could not initialize package MagicFunctions.", "when calling error in MagicFunctions, line 1") endif call TriggerClearConditions(initTrig) call TriggerAddCondition(initTrig, Condition(ref_function_init_Basics)) if not TriggerEvaluate(initTrig) then call error("Could not initialize package Basics.", "when calling error in Basics, line 1") endif call TriggerClearConditions(initTrig) call TriggerAddCondition(initTrig, Condition(ref_function_init_GameTimer)) if not TriggerEvaluate(initTrig) then call error("Could not initialize package GameTimer.", "when calling error in GameTimer, line 1") endif call TriggerClearConditions(initTrig) call TriggerAddCondition(initTrig, Condition(ref_function_init_ErrorHandling)) if not TriggerEvaluate(initTrig) then call error("Could not initialize package ErrorHandling.", "when calling error in ErrorHandling, line 1") endif call TriggerClearConditions(initTrig) call TriggerAddCondition(initTrig, Condition(ref_function_init_Matrices)) if not TriggerEvaluate(initTrig) then call error("Could not initialize package Matrices.", "when calling error in Matrices, line 1") endif call TriggerClearConditions(initTrig) call TriggerAddCondition(initTrig, Condition(ref_function_init_Quaternion)) if not TriggerEvaluate(initTrig) then call error("Could not initialize package Quaternion.", "when calling error in Quaternion, line 1") endif call TriggerClearConditions(initTrig) call TriggerAddCondition(initTrig, Condition(ref_function_init_Table)) if not TriggerEvaluate(initTrig) then call error("Could not initialize package Table.", "when calling error in Table, line 1") endif call TriggerClearConditions(initTrig) call TriggerAddCondition(initTrig, Condition(ref_function_init_Playercolor)) if not TriggerEvaluate(initTrig) then call error("Could not initialize package Playercolor.", "when calling error in Playercolor, line 1") endif call TriggerClearConditions(initTrig) call TriggerAddCondition(initTrig, Condition(ref_function_bridge_init_Colors)) if not TriggerEvaluate(initTrig) then call error("Could not initialize package Colors.", "when calling error in Colors, line 1") endif call TriggerClearConditions(initTrig) call TriggerAddCondition(initTrig, Condition(ref_function_bridge_init_Framehandle)) if not TriggerEvaluate(initTrig) then call error("Could not initialize package Framehandle.", "when calling error in Framehandle, line 1") endif call TriggerClearConditions(initTrig) call TriggerAddCondition(initTrig, Condition(ref_function_init_Group)) if not TriggerEvaluate(initTrig) then call error("Could not initialize package Group.", "when calling error in Group, line 1") endif call TriggerClearConditions(initTrig) call TriggerAddCondition(initTrig, Condition(ref_function_init_Lightning)) if not TriggerEvaluate(initTrig) then call error("Could not initialize package Lightning.", "when calling error in Lightning, line 1") endif call TriggerClearConditions(initTrig) call TriggerAddCondition(initTrig, Condition(ref_function_init_WeatherEffects)) if not TriggerEvaluate(initTrig) then call error("Could not initialize package WeatherEffects.", "when calling error in WeatherEffects, line 1") endif call TriggerClearConditions(initTrig) call TriggerAddCondition(initTrig, Condition(ref_function_bridge_init_TypeCasting)) if not TriggerEvaluate(initTrig) then call error("Could not initialize package TypeCasting.", "when calling error in TypeCasting, line 1") endif call TriggerClearConditions(initTrig) call TriggerAddCondition(initTrig, Condition(ref_function_init_HashList)) if not TriggerEvaluate(initTrig) then call error("Could not initialize package HashList.", "when calling error in HashList, line 1") endif call TriggerClearConditions(initTrig) call TriggerAddCondition(initTrig, Condition(ref_function_bridge_init_EventHelper)) if not TriggerEvaluate(initTrig) then call error("Could not initialize package EventHelper.", "when calling error in EventHelper, line 1") endif call TriggerClearConditions(initTrig) call TriggerAddCondition(initTrig, Condition(ref_function_init_AbilityObjEditing)) if not TriggerEvaluate(initTrig) then call error("Could not initialize package AbilityObjEditing.", "when calling error in AbilityObjEditing, line 1") endif call TriggerClearConditions(initTrig) call TriggerAddCondition(initTrig, Condition(ref_function_init_AttachmentPoints)) if not TriggerEvaluate(initTrig) then call error("Could not initialize package AttachmentPoints.", "when calling error in AttachmentPoints, line 1") endif call TriggerClearConditions(initTrig) call TriggerAddCondition(initTrig, Condition(ref_function_init_BitwiseInit)) if not TriggerEvaluate(initTrig) then call error("Could not initialize package BitwiseInit.", "when calling error in BitwiseInit, line 1") endif call TriggerClearConditions(initTrig) call TriggerAddCondition(initTrig, Condition(ref_function_init_ClosureForGroups)) if not TriggerEvaluate(initTrig) then call error("Could not initialize package ClosureForGroups.", "when calling error in ClosureForGroups, line 1") endif call TriggerClearConditions(initTrig) call TriggerAddCondition(initTrig, Condition(ref_function_bridge_init_LinkedList)) if not TriggerEvaluate(initTrig) then call error("Could not initialize package LinkedList.", "when calling error in LinkedList, line 1") endif call TriggerClearConditions(initTrig) call TriggerAddCondition(initTrig, Condition(ref_function_bridge_init_StringUtils)) if not TriggerEvaluate(initTrig) then call error("Could not initialize package StringUtils.", "when calling error in StringUtils, line 1") endif call TriggerClearConditions(initTrig) call TriggerAddCondition(initTrig, Condition(ref_function_init_SafetyChecks)) if not TriggerEvaluate(initTrig) then call error("Could not initialize package SafetyChecks.", "when calling error in SafetyChecks, line 1") endif call TriggerClearConditions(initTrig) call TriggerAddCondition(initTrig, Condition(ref_function_init_ChunkedString)) if not TriggerEvaluate(initTrig) then call error("Could not initialize package ChunkedString.", "when calling error in ChunkedString, line 1") endif call TriggerClearConditions(initTrig) call TriggerAddCondition(initTrig, Condition(ref_function_init_Execute)) if not TriggerEvaluate(initTrig) then call error("Could not initialize package Execute.", "when calling error in Execute, line 1") endif call TriggerClearConditions(initTrig) call TriggerAddCondition(initTrig, Condition(ref_function_init_Base64)) if not TriggerEvaluate(initTrig) then call error("Could not initialize package Base64.", "when calling error in Base64, line 1") endif call TriggerClearConditions(initTrig) call TriggerAddCondition(initTrig, Condition(ref_function_init_Base64Tests)) if not TriggerEvaluate(initTrig) then call error("Could not initialize package Base64Tests.", "when calling error in Base64Tests, line 1") endif call TriggerClearConditions(initTrig) call TriggerAddCondition(initTrig, Condition(ref_function_init_BigNum)) if not TriggerEvaluate(initTrig) then call error("Could not initialize package BigNum.", "when calling error in BigNum, line 1") endif call TriggerClearConditions(initTrig) call TriggerAddCondition(initTrig, Condition(ref_function_init_BuffIds)) if not TriggerEvaluate(initTrig) then call error("Could not initialize package BuffIds.", "when calling error in BuffIds, line 1") endif call TriggerClearConditions(initTrig) call TriggerAddCondition(initTrig, Condition(ref_function_init_Buildings)) if not TriggerEvaluate(initTrig) then call error("Could not initialize package Buildings.", "when calling error in Buildings, line 1") endif call TriggerClearConditions(initTrig) call TriggerAddCondition(initTrig, Condition(ref_function_init_ObjectIds)) if not TriggerEvaluate(initTrig) then call error("Could not initialize package ObjectIds.", "when calling error in ObjectIds, line 1") endif call TriggerClearConditions(initTrig) call TriggerAddCondition(initTrig, Condition(ref_function_bridge_init_TimerUtils)) if not TriggerEvaluate(initTrig) then call error("Could not initialize package TimerUtils.", "when calling error in TimerUtils, line 1") endif call TriggerClearConditions(initTrig) call TriggerAddCondition(initTrig, Condition(ref_function_init_ClosureTimers)) if not TriggerEvaluate(initTrig) then call error("Could not initialize package ClosureTimers.", "when calling error in ClosureTimers, line 1") endif call TriggerClearConditions(initTrig) call TriggerAddCondition(initTrig, Condition(ref_function_init_UnitIds)) if not TriggerEvaluate(initTrig) then call error("Could not initialize package UnitIds.", "when calling error in UnitIds, line 1") endif call TriggerClearConditions(initTrig) call TriggerAddCondition(initTrig, Condition(ref_function_init_MapBounds)) if not TriggerEvaluate(initTrig) then call error("Could not initialize package MapBounds.", "when calling error in MapBounds, line 1") endif call TriggerClearConditions(initTrig) call TriggerAddCondition(initTrig, Condition(ref_function_bridge_init_Preloader)) if not TriggerEvaluate(initTrig) then call error("Could not initialize package Preloader.", "when calling error in Preloader, line 1") endif call TriggerClearConditions(initTrig) call TriggerAddCondition(initTrig, Condition(ref_function_bridge_init_ObjectIdGenerator)) if not TriggerEvaluate(initTrig) then call error("Could not initialize package ObjectIdGenerator.", "when calling error in ObjectIdGenerator, line 1") endif call TriggerClearConditions(initTrig) call TriggerAddCondition(initTrig, Condition(ref_function_init_Icons)) if not TriggerEvaluate(initTrig) then call error("Could not initialize package Icons.", "when calling error in Icons, line 1") endif call TriggerClearConditions(initTrig) call TriggerAddCondition(initTrig, Condition(ref_function_bridge_init_ChannelAbilityPreset)) if not TriggerEvaluate(initTrig) then call error("Could not initialize package ChannelAbilityPreset.", "when calling error in ChannelAbilityPreset, line 1") endif call TriggerClearConditions(initTrig) call TriggerAddCondition(initTrig, Condition(ref_function_bridge_init_RegisterEvents)) if not TriggerEvaluate(initTrig) then call error("Could not initialize package RegisterEvents.", "when calling error in RegisterEvents, line 1") endif call TriggerClearConditions(initTrig) call TriggerAddCondition(initTrig, Condition(ref_function_init_Orders)) if not TriggerEvaluate(initTrig) then call error("Could not initialize package Orders.", "when calling error in Orders, line 1") endif call TriggerClearConditions(initTrig) call TriggerAddCondition(initTrig, Condition(ref_function_bridge_init_OnUnitEnterLeave)) if not TriggerEvaluate(initTrig) then call error("Could not initialize package OnUnitEnterLeave.", "when calling error in OnUnitEnterLeave, line 1") endif call TriggerClearConditions(initTrig) call TriggerAddCondition(initTrig, Condition(ref_function_init_UnitIndexer)) if not TriggerEvaluate(initTrig) then call error("Could not initialize package UnitIndexer.", "when calling error in UnitIndexer, line 1") endif call TriggerClearConditions(initTrig) call TriggerAddCondition(initTrig, Condition(ref_function_bridge_init_ClosureEvents)) if not TriggerEvaluate(initTrig) then call error("Could not initialize package ClosureEvents.", "when calling error in ClosureEvents, line 1") endif call TriggerClearConditions(initTrig) call TriggerAddCondition(initTrig, Condition(ref_function_bridge_init_ClosureFrames)) if not TriggerEvaluate(initTrig) then call error("Could not initialize package ClosureFrames.", "when calling error in ClosureFrames, line 1") endif call TriggerClearConditions(initTrig) call TriggerAddCondition(initTrig, Condition(ref_function_bridge_init_ClosureKeyPresses)) if not TriggerEvaluate(initTrig) then call error("Could not initialize package ClosureKeyPresses.", "when calling error in ClosureKeyPresses, line 1") endif call TriggerClearConditions(initTrig) call TriggerAddCondition(initTrig, Condition(ref_function_init_DamageDetection)) if not TriggerEvaluate(initTrig) then call error("Could not initialize package DamageDetection.", "when calling error in DamageDetection, line 1") endif call TriggerClearConditions(initTrig) call TriggerAddCondition(initTrig, Condition(ref_function_bridge_init_DamageEvent)) if not TriggerEvaluate(initTrig) then call error("Could not initialize package DamageEvent.", "when calling error in DamageEvent, line 61") endif call TriggerClearConditions(initTrig) call TriggerAddCondition(initTrig, Condition(ref_function_bridge_init_DialogBox)) if not TriggerEvaluate(initTrig) then call error("Could not initialize package DialogBox.", "when calling error in DialogBox, line 1") endif call TriggerClearConditions(initTrig) call TriggerAddCondition(initTrig, Condition(ref_function_init_Doodads)) if not TriggerEvaluate(initTrig) then call error("Could not initialize package Doodads.", "when calling error in Doodads, line 1") endif call TriggerClearConditions(initTrig) call TriggerAddCondition(initTrig, Condition(ref_function_bridge_init_DummyRecycler)) if not TriggerEvaluate(initTrig) then call error("Could not initialize package DummyRecycler.", "when calling error in DummyRecycler, line 1") endif call TriggerClearConditions(initTrig) call TriggerAddCondition(initTrig, Condition(ref_function_bridge_init_FileIO)) if not TriggerEvaluate(initTrig) then call error("Could not initialize package FileIO.", "when calling error in FileIO, line 1") endif call TriggerClearConditions(initTrig) call TriggerAddCondition(initTrig, Condition(ref_function_init_ForceTests)) if not TriggerEvaluate(initTrig) then call error("Could not initialize package ForceTests.", "when calling error in ForceTests, line 1") endif call TriggerClearConditions(initTrig) call TriggerAddCondition(initTrig, Condition(ref_function_init_FramehandleNames)) if not TriggerEvaluate(initTrig) then call error("Could not initialize package FramehandleNames.", "when calling error in FramehandleNames, line 1") endif call TriggerClearConditions(initTrig) call TriggerAddCondition(initTrig, Condition(ref_function_init_GameStatus)) if not TriggerEvaluate(initTrig) then call error("Could not initialize package GameStatus.", "when calling error in GameStatus, line 1") endif call TriggerClearConditions(initTrig) call TriggerAddCondition(initTrig, Condition(ref_function_bridge_init_GroupUtils)) if not TriggerEvaluate(initTrig) then call error("Could not initialize package GroupUtils.", "when calling error in GroupUtils, line 1") endif call TriggerClearConditions(initTrig) call TriggerAddCondition(initTrig, Condition(ref_function_init_HashListTests)) if not TriggerEvaluate(initTrig) then call error("Could not initialize package HashListTests.", "when calling error in HashListTests, line 1") endif call TriggerClearConditions(initTrig) call TriggerAddCondition(initTrig, Condition(ref_function_init_HashSet)) if not TriggerEvaluate(initTrig) then call error("Could not initialize package HashSet.", "when calling error in HashSet, line 1") endif call TriggerClearConditions(initTrig) call TriggerAddCondition(initTrig, Condition(ref_function_init_InstantDummyCaster)) if not TriggerEvaluate(initTrig) then call error("Could not initialize package InstantDummyCaster.", "when calling error in InstantDummyCaster, line 1") endif call TriggerClearConditions(initTrig) call TriggerAddCondition(initTrig, Condition(ref_function_init_ItemIds)) if not TriggerEvaluate(initTrig) then call error("Could not initialize package ItemIds.", "when calling error in ItemIds, line 1") endif call TriggerClearConditions(initTrig) call TriggerAddCondition(initTrig, Condition(ref_function_init_TerrainUtils)) if not TriggerEvaluate(initTrig) then call error("Could not initialize package TerrainUtils.", "when calling error in TerrainUtils, line 1") endif call TriggerClearConditions(initTrig) call TriggerAddCondition(initTrig, Condition(ref_function_init_Objects)) if not TriggerEvaluate(initTrig) then call error("Could not initialize package Objects.", "when calling error in Objects, line 1") endif call TriggerClearConditions(initTrig) call TriggerAddCondition(initTrig, Condition(ref_function_bridge_init_Knockback3)) if not TriggerEvaluate(initTrig) then call error("Could not initialize package Knockback3.", "when calling error in Knockback3, line 28") endif call TriggerClearConditions(initTrig) call TriggerAddCondition(initTrig, Condition(ref_function_init_LastOrder)) if not TriggerEvaluate(initTrig) then call error("Could not initialize package LastOrder.", "when calling error in LastOrder, line 6") endif call TriggerClearConditions(initTrig) call TriggerAddCondition(initTrig, Condition(ref_function_bridge_init_LinkedListModuleTests)) if not TriggerEvaluate(initTrig) then call error("Could not initialize package LinkedListModuleTests.", "when calling error in LinkedListModuleTests, line 1") endif call TriggerClearConditions(initTrig) call TriggerAddCondition(initTrig, Condition(ref_function_init_PathingMaps)) if not TriggerEvaluate(initTrig) then call error("Could not initialize package PathingMaps.", "when calling error in PathingMaps, line 1") endif call TriggerClearConditions(initTrig) call TriggerAddCondition(initTrig, Condition(ref_function_init_Raycast)) if not TriggerEvaluate(initTrig) then call error("Could not initialize package Raycast.", "when calling error in Raycast, line 1") endif call TriggerClearConditions(initTrig) call TriggerAddCondition(initTrig, Condition(ref_function_bridge_init_SyncSimple)) if not TriggerEvaluate(initTrig) then call error("Could not initialize package SyncSimple.", "when calling error in SyncSimple, line 1") endif call TriggerClearConditions(initTrig) call TriggerAddCondition(initTrig, Condition(ref_function_init_SaveLoadData)) if not TriggerEvaluate(initTrig) then call error("Could not initialize package SaveLoadData.", "when calling error in SaveLoadData, line 1") endif call TriggerClearConditions(initTrig) call TriggerAddCondition(initTrig, Condition(ref_function_init_Serializable)) if not TriggerEvaluate(initTrig) then call error("Could not initialize package Serializable.", "when calling error in Serializable, line 1") endif call TriggerClearConditions(initTrig) call TriggerAddCondition(initTrig, Condition(ref_function_init_Simulate3dSound)) if not TriggerEvaluate(initTrig) then call error("Could not initialize package Simulate3dSound.", "when calling error in Simulate3dSound, line 1") endif call TriggerClearConditions(initTrig) call TriggerAddCondition(initTrig, Condition(ref_function_init_Sounds)) if not TriggerEvaluate(initTrig) then call error("Could not initialize package Sounds.", "when calling error in Sounds, line 1") endif call TriggerClearConditions(initTrig) call TriggerAddCondition(initTrig, Condition(ref_function_init_SoundUtils)) if not TriggerEvaluate(initTrig) then call error("Could not initialize package SoundUtils.", "when calling error in SoundUtils, line 1") endif call TriggerClearConditions(initTrig) call TriggerAddCondition(initTrig, Condition(ref_function_init_Soundsets)) if not TriggerEvaluate(initTrig) then call error("Could not initialize package Soundsets.", "when calling error in Soundsets, line 1") endif call TriggerClearConditions(initTrig) call TriggerAddCondition(initTrig, Condition(ref_function_init_StandardTextTags)) if not TriggerEvaluate(initTrig) then call error("Could not initialize package StandardTextTags.", "when calling error in StandardTextTags, line 1") endif call TriggerClearConditions(initTrig) call TriggerAddCondition(initTrig, Condition(ref_function_init_Textures)) if not TriggerEvaluate(initTrig) then call error("Could not initialize package Textures.", "when calling error in Textures, line 1") endif call TriggerClearConditions(initTrig) call TriggerAddCondition(initTrig, Condition(ref_function_init_Tiles)) if not TriggerEvaluate(initTrig) then call error("Could not initialize package Tiles.", "when calling error in Tiles, line 1") endif call TriggerClearConditions(initTrig) call TriggerAddCondition(initTrig, Condition(ref_function_init_UI)) if not TriggerEvaluate(initTrig) then call error("Could not initialize package UI.", "when calling error in UI, line 1") endif call TriggerClearConditions(initTrig) call TriggerAddCondition(initTrig, Condition(ref_function_init_UnitAnimations)) if not TriggerEvaluate(initTrig) then call error("Could not initialize package UnitAnimations.", "when calling error in UnitAnimations, line 1") endif call TriggerClearConditions(initTrig) call TriggerAddCondition(initTrig, Condition(ref_function_init_Units)) if not TriggerEvaluate(initTrig) then call error("Could not initialize package Units.", "when calling error in Units, line 1") endif call TriggerClearConditions(initTrig) call TriggerAddCondition(initTrig, Condition(ref_function_init_UpgradeObjEditing)) if not TriggerEvaluate(initTrig) then call error("Could not initialize package UpgradeObjEditing.", "when calling error in UpgradeObjEditing, line 1") endif call TriggerClearConditions(initTrig) call DestroyTrigger(initTrig) endfunction function config takes nothing returns nothing endfunction