FATAL ERROR - DIRE HELP PLEASE!

Valtarian

Member
Reaction score
3
Hello, I recently released a game, WmW X14. The problem is that in almost every game, people are experiencing a fatal error at random moments. I also experience the error. The fatal error reads as follows:

This application has encountered a critical error:
Not enough storage is available to process this command.
Program: c:\programfiles (x86)\warcraft iii\war3.exe
File: .\cmemblock.cpp
Line: 372


It isn't my ram or anything, I believe it's something in the map itself that's causing this fatal error.

Here are some triggers that I believe MAY be related to the error:

Code:
Build Unit Top
    Events
        Unit - A unit Sells a unit
    Conditions
        ((Sold unit) is A giant) Equal to True
        ((Triggering player) is in TopPlayers) Equal to True
    Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                SendLimit[(Player number of (Triggering player))] Greater than or equal to 240
            Then - Actions
                Custom script: set udg_UnitCost = GetUnitGoldCost(GetSoldUnit())
                Player - Add UnitCost to (Triggering player) Current gold
                Unit - Remove (Sold unit) from the game
                Custom script: call SimError(GetTriggerPlayer(), "You may only have 240 units on the map at once.")
                Multiboard - Set the text for MB[1] item in column 3, row ((Player number of (Triggering player)) + 2) to (String(IncomeMulti[(Player number of (Triggering player))]))
            Else - Actions
                Set IncomeMulti[(Player number of (Triggering player))] = (IncomeMulti[(Player number of (Triggering player))] + (Point-value of (Sold unit)))
                Multiboard - Set the text for MB[1] item in column 3, row ((Player number of (Triggering player)) + 2) to (String(IncomeMulti[(Player number of (Triggering player))]))
                -------- ------------------------------------------------------------------------------------------------------------------------------------- --------
                Set Income[(Player number of (Triggering player))] = (Income[(Player number of (Triggering player))] + (Point-value of (Sold unit)))
                Set SendLimit[(Player number of (Triggering player))] = (SendLimit[(Player number of (Triggering player))] + 2)
                Set Pattern_1 = (Pattern_1 + 2)
                If (Pattern_1 Equal to 13) then do (Set Pattern_1 = 7) else do (Do nothing)
                -------- ------------------------------------------------------------------------------------------------------------------------------------- --------
                -------- Left Unit --------
                Set TempPoint = (Center of Middle Center Bottom Left <gen>)
                Unit - Create 1 (Unit-type of (Sold unit)) for (Player(Pattern_1)) at TempPoint facing Default building facing (270.0) degrees
                Set UnitLeft = (Last created unit)
                Point - Remove TempPoint
                Set TempPoint = (Center of BottomMiddleLeft <gen>)
                Unit - Order UnitLeft to Move To TempPoint
                Point - Remove TempPoint
                Unit Group - Add UnitLeft to UnitsTopLeft[1]
                Unit - Set the custom value of UnitLeft to (Player number of (Triggering player))
                Unit - Change color of UnitLeft to (Color of (Triggering player))
                -------- ------------------------------------------------------------------------------------------------------------------------------------- --------
                -------- Right Unit --------
                Set TempPoint = (Center of Middle Center Bottom Right <gen>)
                Unit - Create 1 (Unit-type of (Sold unit)) for (Player(Pattern_1)) at TempPoint facing Default building facing (270.0) degrees
                Set UnitRight = (Last created unit)
                Unit Group - Add UnitRight to UnitsTopRight[1]
                Point - Remove TempPoint
                Set TempPoint = (Center of BottomMiddleRight <gen>)
                Unit - Order UnitRight to Move To TempPoint
                Point - Remove TempPoint
                Unit - Set the custom value of UnitRight to (Player number of (Triggering player))
                Unit - Change color of UnitRight to (Color of (Triggering player))
                -------- ------------------------------------------------------------------------------------------------------------------------------------- --------
                -------- Create the Creep Spells --------
                Set SpellPlayer = (Triggering player)
                Set SpellUnit = UnitLeft
                Trigger - Run CreepSpellCheck <gen> (ignoring conditions)
                Set SpellUnit = UnitRight
                Trigger - Run CreepSpellCheck <gen> (ignoring conditions)
                -------- ------------------------------------------------------------------------------------------------------------------------------------- --------
                -------- He's no longer needed. --------
                Unit - Remove (Sold unit) from the game

Code:
CreepSpellCheck
    Events
    Conditions
    Actions
        -------- Spell execute is used to know whether or not to create the creep spell based on whether or not the data was set up. --------
        Set SpellExecute = False
        -------- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------
        -------- Creeps that cast spells immediately. End with "set udg_SpellType = Condition(function Creep_TargetSelf)" --------
        -------- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                Or - Any (Conditions) are true
                    Conditions
                        (Unit-type of SpellUnit) Equal to God (Level 33)
                        (Unit-type of SpellUnit) Equal to God (Superspeed Level 33)
            Then - Actions
                Set SpellExecute = True
                Set SpellAbility = NullAbility
                Set SpellBuff = NullEffect
                Set SpellOrder = divineshield
                Set SpellRange = 550.00
                Custom script: set udg_SpellType = Condition(function Creep_TargetSelf)
            Else - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                Or - Any (Conditions) are true
                    Conditions
                        (Unit-type of SpellUnit) Equal to Earth Spirit (Level 51)
                        (Unit-type of SpellUnit) Equal to Earth Spirit (Superspeed Level 51)
            Then - Actions
                Set SpellExecute = True
                Set SpellAbility = NullAbility
                Set SpellBuff = NullEffect
                Set SpellOrder = divineshield
                Set SpellRange = 550.00
                Custom script: set udg_SpellType = Condition(function Creep_TargetSelf)
            Else - Actions
        -------- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                Or - Any (Conditions) are true
                    Conditions
                        (Unit-type of SpellUnit) Equal to Ogre Lord (Level 12) (Boss)
                        (Unit-type of SpellUnit) Equal to Ogre Lord (SuperSpeed12) (Boss)
            Then - Actions
                Set SpellExecute = True
                Set SpellAbility = NullAbility
                Set SpellBuff = NullEffect
                Set SpellOrder = divineshield
                Set SpellRange = 550.00
                Custom script: set udg_SpellType = Condition(function Creep_TargetSelf)
            Else - Actions
        -------- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------
        -------- Creeps that heal other creeps. End with "set udg_SpellType = Condition(function Creep_TargetHealing)" --------
        -------- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                Or - Any (Conditions) are true
                    Conditions
                        (Unit-type of SpellUnit) Equal to Lopsided. (Level 43)
                        (Unit-type of SpellUnit) Equal to Lopsided. (Superspeed Level 43)
            Then - Actions
                Set SpellExecute = True
                Set SpellAbility = Healing Wave (Creeps)(4500)
                Set SpellBuff = NullEffect
                Set SpellOrder = healingwave
                Set SpellRange = 500.00
                Custom script: set udg_SpellType = Condition(function Creep_TargetHealing)
            Else - Actions
        -------- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                Or - Any (Conditions) are true
                    Conditions
                        (Unit-type of SpellUnit) Equal to Ice Troll (Level 8)
                        (Unit-type of SpellUnit) Equal to Ice Troll (SuperSpeed8)
            Then - Actions
                Set SpellExecute = True
                Set SpellAbility = Healing Wave (Creeps)(80)
                Set SpellBuff = NullEffect
                Set SpellOrder = healingwave
                Set SpellRange = 500.00
                Custom script: set udg_SpellType = Condition(function Creep_TargetHealing)
            Else - Actions
        -------- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                Or - Any (Conditions) are true
                    Conditions
                        (Unit-type of SpellUnit) Equal to Unholy Knight (Level 21)
                        (Unit-type of SpellUnit) Equal to Unholy Knight (SuperSpeed21)
            Then - Actions
                Set SpellExecute = True
                Set SpellAbility = Holy Light (Creeps)(1200)
                Set SpellBuff = NullEffect
                Set SpellOrder = holybolt
                Set SpellRange = 700.00
                Custom script: set udg_SpellType = Condition(function Creep_TargetHealing)
            Else - Actions
        -------- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                Or - Any (Conditions) are true
                    Conditions
                        (Unit-type of SpellUnit) Equal to Duke Wintermaul (SuperSpeed 28)
                        (Unit-type of SpellUnit) Equal to Duke Wintermaul (Level 28)
            Then - Actions
                Set SpellExecute = True
                Set SpellAbility = Holy Light (Creeps)(2200)
                Set SpellBuff = NullEffect
                Set SpellOrder = holybolt
                Set SpellRange = 700.00
                Custom script: set udg_SpellType = Condition(function Creep_TargetHealing)
            Else - Actions
        -------- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                Or - Any (Conditions) are true
                    Conditions
                        (Unit-type of SpellUnit) Equal to Hitman_Cloud7 (Level 40)
                        (Unit-type of SpellUnit) Equal to Hitman_Cloud7 (Superspeed Level 40)
            Then - Actions
                Set SpellExecute = True
                Set SpellAbility = Holy Light (Creeps)(5000)
                Set SpellBuff = NullEffect
                Set SpellOrder = holybolt
                Set SpellRange = 700.00
                Custom script: set udg_SpellType = Condition(function Creep_TargetHealing)
            Else - Actions
        -------- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                Or - Any (Conditions) are true
                    Conditions
                        (Unit-type of SpellUnit) Equal to Unholy Sorcerer (Level 50)
                        (Unit-type of SpellUnit) Equal to Unholy Sorcerer (Superspeed Level 50)
            Then - Actions
                Set SpellExecute = True
                Set SpellAbility = Unholy Darkness (Creeps)(32000)
                Set SpellBuff = NullEffect
                Set SpellOrder = holybolt
                Set SpellRange = 700.00
                Custom script: set udg_SpellType = Condition(function Creep_TargetHealing)
            Else - Actions
        -------- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------
        -------- Creeps that target other creeps. End with "set udg_SpellType = Condition(function Creep_TargetCreep)" --------
        -------- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                Or - Any (Conditions) are true
                    Conditions
                        (Unit-type of SpellUnit) Equal to Crystal Mage (Level 22)
                        (Unit-type of SpellUnit) Equal to Crystal Mage (SuperSpeed22)
                        (Unit-type of SpellUnit) Equal to Mystical Tree (Level 34)
                        (Unit-type of SpellUnit) Equal to Mystical Tree (SuperSpeed 34)
                        (Unit-type of SpellUnit) Equal to Demon (Level 59)
                        (Unit-type of SpellUnit) Equal to Demon (Superspeed Level 59)
            Then - Actions
                Set SpellExecute = True
                Set SpellAbility = Anti-Magic Shell (Creeps)
                Set SpellBuff = Anti-magic Shell
                Set SpellOrder = antimagicshell
                Set SpellRange = 700.00
                Custom script: set udg_SpellType = Condition(function Creep_TargetCreep)
            Else - Actions
        -------- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------
        -------- Creeps that target towers. End with "set udg_SpellType = Condition(function Creep_TargetTower)" --------
        -------- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                Or - Any (Conditions) are true
                    Conditions
                        (Unit-type of SpellUnit) Equal to Stalker (Level 6)
                        (Unit-type of SpellUnit) Equal to Stalker (SuperSpeed6)
            Then - Actions
                Set SpellExecute = True
                Set SpellAbility = Curse (Creeps)(Stalker)
                Set SpellBuff = Curse (Creeps)
                Set SpellOrder = curse
                Set SpellRange = 850.00
                Custom script: set udg_SpellType = Condition(function Creep_TargetTower)
            Else - Actions
        -------- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                Or - Any (Conditions) are true
                    Conditions
                        (Unit-type of SpellUnit) Equal to Web Spinner (SuperSpeed 32)
                        (Unit-type of SpellUnit) Equal to Web Spinner (Level 32)
            Then - Actions
                Set SpellExecute = True
                Set SpellAbility = Curse (Creeps)(Web Spinner)
                Set SpellBuff = Curse (Creeps)
                Set SpellOrder = curse
                Set SpellRange = 850.00
                Custom script: set udg_SpellType = Condition(function Creep_TargetTower)
            Else - Actions
        -------- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                Or - Any (Conditions) are true
                    Conditions
                        (Unit-type of SpellUnit) Equal to StRoNgFoE (Level 41)
                        (Unit-type of SpellUnit) Equal to StRoNgFoE (Superspeed Level 41)
            Then - Actions
                Set SpellExecute = True
                Set SpellAbility = Curse (Creeps)(MTL_Killer)
                Set SpellBuff = Curse (Creeps)
                Set SpellOrder = curse
                Set SpellRange = 850.00
                Custom script: set udg_SpellType = Condition(function Creep_TargetTower)
            Else - Actions
        -------- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                Or - Any (Conditions) are true
                    Conditions
                        (Unit-type of SpellUnit) Equal to Chaos Orc (Level 58)
                        (Unit-type of SpellUnit) Equal to Chaos Orc (Superspeed Level 58)
            Then - Actions
                Set SpellExecute = True
                Set SpellAbility = Curse (Creeps)(Chaos Orc)
                Set SpellBuff = Curse (Creeps)
                Set SpellOrder = curse
                Set SpellRange = 850.00
                Custom script: set udg_SpellType = Condition(function Creep_TargetTower)
            Else - Actions
        -------- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                Or - Any (Conditions) are true
                    Conditions
                        (Unit-type of SpellUnit) Equal to ToxicNRG (Level 44)
                        (Unit-type of SpellUnit) Equal to ToxicNRG (Superspeed Level 44)
            Then - Actions
                Set SpellExecute = True
                Set SpellAbility = Slow (Creeps)(40%)
                Set SpellBuff = Slow (Creeps)
                Set SpellOrder = slow
                Set SpellRange = 850.00
                Custom script: set udg_SpellType = Condition(function Creep_TargetTower)
            Else - Actions
        -------- ------------------------------------------------------------------------------------------------------------------------------------- --------
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                Or - Any (Conditions) are true
                    Conditions
                        (Unit-type of SpellUnit) Equal to Undead KinG (SuperSpeed 26)
                        (Unit-type of SpellUnit) Equal to Undead KinG (Level 26)
            Then - Actions
                Set SpellExecute = True
                Set SpellAbility = Slow (Creeps)(25%)
                Set SpellBuff = Slow (Creeps)
                Set SpellOrder = slow
                Set SpellRange = 850.00
                Custom script: set udg_SpellType = Condition(function Creep_TargetTower)
            Else - Actions
        -------- ------------------------------------------------------------------------------------------------------------------------------------- --------
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                Or - Any (Conditions) are true
                    Conditions
                        (Unit-type of SpellUnit) Equal to Eternal Spirit (Level 17)
                        (Unit-type of SpellUnit) Equal to Eternal Spirit (SuperSpeed17)
            Then - Actions
                Set SpellExecute = True
                Set SpellAbility = Slow (Creeps)(15%)
                Set SpellBuff = Slow (Creeps)
                Set SpellOrder = slow
                Set SpellRange = 850.00
                Custom script: set udg_SpellType = Condition(function Creep_TargetTower)
            Else - Actions
        -------- ------------------------------------------------------------------------------------------------------------------------------------- --------
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                Or - Any (Conditions) are true
                    Conditions
                        (Unit-type of SpellUnit) Equal to Frozen Infernal (Level 23)
                        (Unit-type of SpellUnit) Equal to Frozen Infernal (SuperSpeed23)
            Then - Actions
                Set SpellExecute = True
                Set SpellAbility = Glacial Spike (Creeps)(5)
                Set SpellBuff = Glacial Spike (Creeps)
                Set SpellOrder = thunderbolt
                Set SpellRange = 850.00
                Custom script: set udg_SpellType = Condition(function Creep_TargetTower)
            Else - Actions
        -------- ------------------------------------------------------------------------------------------------------------------------------------- --------
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                Or - Any (Conditions) are true
                    Conditions
                        (Unit-type of SpellUnit) Equal to Mithril Golem (Level 52)
                        (Unit-type of SpellUnit) Equal to Mithril Golem (Superspeed Level 52)
            Then - Actions
                Set SpellExecute = True
                Set SpellAbility = Glacial Spike (Creeps)(8)
                Set SpellBuff = Glacial Spike (Creeps)
                Set SpellOrder = thunderbolt
                Set SpellRange = 850.00
                Custom script: set udg_SpellType = Condition(function Creep_TargetTower)
            Else - Actions
        -------- ------------------------------------------------------------------------------------------------------------------------------------- --------
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                Or - Any (Conditions) are true
                    Conditions
                        (Unit-type of SpellUnit) Equal to Hydralisk (Level 31)
                        (Unit-type of SpellUnit) Equal to Hydralisk (SuperSpeed 31)
            Then - Actions
                Set SpellExecute = True
                Set SpellAbility = Crippling Venom (Creeps)
                Set SpellBuff = Crippling Venom
                Set SpellOrder = innerfire
                Set SpellRange = 850.00
                Custom script: set udg_SpellType = Condition(function Creep_TargetTower)
            Else - Actions
        -------- ------------------------------------------------------------------------------------------------------------------------------------- --------
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                Or - Any (Conditions) are true
                    Conditions
                        (Unit-type of SpellUnit) Equal to Panda (Level 54)
                        (Unit-type of SpellUnit) Equal to Panda (Superspeed Level 54)
            Then - Actions
                Set SpellExecute = True
                Set SpellAbility = Debilitate (Creeps)
                Set SpellBuff = Debilitate
                Set SpellOrder = innerfire
                Set SpellRange = 850.00
                Custom script: set udg_SpellType = Condition(function Creep_TargetTower)
            Else - Actions
        -------- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------
        -------- If a spell was created, execute it. Nothing here ever needs to be modified. --------
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                SpellExecute Equal to True
            Then - Actions
                Custom script: call CreateSpell()
            Else - Actions

Code:
library CreepSpellSystem initializer Init requires FunctionCalls
globals
    group  TEMPGROUP
    boolean TEMPBOOL
    integer TEMPINT
    player  TEMPPLAYER
    integer CI
    unit array CAST_TARGET
    integer array CASTDATALIMIT
    boolean Z_CREEPSPELLALLOW = true
endglobals
function Creep_TargetTower takes nothing returns boolean
    local unit u = GetFilterUnit()
    if ((GetUnitAbilityLevel(u, TEMPINT) == 0) and (IsUnitTower(u))) then
        set CI = (CI + 1)
        set CAST_TARGET[CI] = u
    endif
    set u = null
    return false
endfunction
function Creep_TargetCreep takes nothing returns boolean
    local unit u = GetFilterUnit()
    if ((IsUnitType(u, UNIT_TYPE_GIANT) == true) and (GetUnitAbilityLevel(u, TEMPINT) == 0) and (IsUnitEnemy(u, TEMPPLAYER) == false)) then
        set CI = (CI + 1)
        set CAST_TARGET[CI] = u
    endif
    set u = null
    return false
endfunction
function Creep_TargetHealing takes nothing returns boolean
    local unit u = GetFilterUnit()
    if ((IsUnitType(u, UNIT_TYPE_GIANT) == true) and (GetWidgetLife(u) / GetUnitState(u, UNIT_STATE_MAX_LIFE) * 100.0 <= 50.0)) then
        set CI = (CI + 1)
        set CAST_TARGET[CI] = u
    endif
    set u = null
    return false
endfunction
function Creep_TargetSelf takes nothing returns boolean
    local unit u = GetFilterUnit()
    if ((IsUnitTower(u)) and (TEMPBOOL == false)) then
        set TEMPBOOL = true
    endif
    set u = null
    return false
endfunction
struct CreepSpell
    unit    creep
    integer  playerid
    integer  spellid
    integer  buffid
    string  spellorder
    boolexpr spelltype
    real    spellrange
    timer    cycle
    player  play
    static method create takes unit creep, integer playerid, integer spellid, integer buffid, string spellorder, real spellrange, boolexpr spelltype returns CreepSpell
        local CreepSpell d = CreepSpell.allocate()
        set d.creep        = creep
        set d.playerid    = playerid
        set d.spellid      = spellid
        set d.buffid      = buffid
        set d.spellorder  = spellorder
        set d.spellrange  = spellrange
        set d.spelltype    = spelltype
        set d.cycle        = NewTimer()
        set d.play        = GetOwningPlayer(creep)
        call SetTimerData(d.cycle, d)
        set CASTDATALIMIT[playerid] = (CASTDATALIMIT[playerid] + 1)
        if (spellid == 'A05S') then
            call TimerStart(d.cycle, 4.75, false, function CreepSpell.ImmediateCast)
        else
            call TimerStart(d.cycle, 4.75, false, function CreepSpell.TargetCast)
        endif
        return d
    endmethod
    static method TargetCast takes nothing returns nothing
        local timer t = GetExpiredTimer()
        local unit dummy  = null
        local unit target = null
        local integer i = 0
        local CreepSpell d = GetTimerData(t)
        if (GetWidgetLife(d.creep) > 0) then
            set CI = 0
            if (GetUnitAbilityLevel(d.creep, 'BNsi') == 0) then
                set TEMPINT = d.buffid
                set TEMPPLAYER = d.play
                call GroupEnumUnitsInRange(TEMPGROUP, GetUnitX(d.creep), GetUnitY(d.creep), d.spellrange, d.spelltype)
            endif
            if (CI > 0) then
                set target = CAST_TARGET[GetRandomInt(1, CI)]
                set dummy = CreateUnit(d.play, 'h062', GetUnitX(d.creep), GetUnitY(d.creep), 270.0)
                call UnitAddAbility(dummy, d.spellid)
                call IssueTargetOrder(dummy, d.spellorder, target)
                call UnitApplyTimedLife(dummy, 'BTLF', 2)
                call TimerStart(d.cycle, 8.0, false, function CreepSpell.TargetCast)
                set dummy = null
                set target = null
            else
                call TimerStart(d.cycle, 2.0, false, function CreepSpell.TargetCast)
            endif
        else
            call d.destroy()
        endif
        set t = null
    endmethod
    static method ImmediateCast takes nothing returns nothing
        local timer t = GetExpiredTimer()
        local CreepSpell d = GetTimerData(t)
        if (GetWidgetLife(d.creep) > 0.0) then
            set TEMPBOOL = false
            if (GetUnitAbilityLevel(d.creep, 'BNsi') == 0) then
                call GroupEnumUnitsInRange(TEMPGROUP, GetUnitX(d.creep), GetUnitY(d.creep), d.spellrange, d.spelltype)
            endif
            if (TEMPBOOL) then
                call IssueImmediateOrder(d.creep, d.spellorder)
                call TimerStart(d.cycle, 8.00, false, function CreepSpell.ImmediateCast)
                call Reorder.create(d.creep, 0.05)
            else
                call TimerStart(d.cycle, 2.00, false, function CreepSpell.ImmediateCast)
            endif
        else
            call d.destroy()
        endif
        set t = null
    endmethod
    method onDestroy takes nothing returns nothing
        call ReleaseTimer(.cycle)
        set CASTDATALIMIT[.playerid] = (CASTDATALIMIT[.playerid] - 1)
        if (CASTDATALIMIT[.playerid] < 0) then
            set CASTDATALIMIT[.playerid] = 0
        endif
    endmethod
endstruct
function CreateSpell takes nothing returns nothing
    local integer i  = GetPlayerId(udg_SpellPlayer) + 1
    local integer id = GetUnitTypeId(udg_SpellUnit)
    local CreepSpell data
    if ((CASTDATALIMIT[i] <= 40) and (Z_CREEPSPELLALLOW)) then
      set data = CreepSpell.create(udg_SpellUnit, i, udg_SpellAbility, udg_SpellBuff, udg_SpellOrder, udg_SpellRange, udg_SpellType)
    endif
endfunction
private function Init takes nothing returns nothing
    local integer x = 1
    set TEMPGROUP = CreateGroup()
    loop
        exitwhen x > 6
        set CASTDATALIMIT[x] = 0
        set x = x + 1
    endloop
endfunction
endlibrary

Code:
library FunctionCalls requires TimerUtils, GroupUtils
//-----------------------------------------------------------------------------------------------------------------
// -- Function to check if a unit has an ability. (Shortcut instead of always GetUnitAbilityLevel != 0.)
function UnitHasAbility takes unit u, integer i returns boolean
    return (GetUnitAbilityLevel(u, i) != 0)
endfunction
//-----------------------------------------------------------------------------------------------------------------
// -- Function to display text to all players. (Replaces local code in DisplayTimedTextToForce.)
function DisplayMessageTop takes real duration, string message returns nothing
    local integer i = 0
    loop
        exitwhen i >= 2
        call DisplayTimedTextToPlayer(Player (i), 0, 0, duration, message)
        set i = i + 1
    endloop
endfunction
function DisplayMessageBottom takes real duration, string message returns nothing
    local integer i = 3
    loop
        exitwhen i >= 5
        call DisplayTimedTextToPlayer(Player (i), 0, 0, duration, message)
        set i = i + 1
    endloop
endfunction
//-----------------------------------------------------------------------------------------------------------------
// Checks to see if a unit is a tower.
function IsUnitTower takes unit u returns boolean
    return (IsUnitType(u, UNIT_TYPE_MECHANICAL) == true) or (IsUnitType(u, UNIT_TYPE_ANCIENT) == true)
endfunction
//-----------------------------------------------------------------------------------------------------------------
// Creates hovering text over a unit.
function CreateFadeTextOnUnit takes unit target, string message, integer Xoffset, integer Yoffset, integer Hoffset, integer red, integer green, integer blue, real duration returns nothing
    local texttag t = CreateTextTag()
    local real x = GetUnitX(target)
    local real y = GetUnitY(target)
    local real xv = 0.044375 * Cos(90 * bj_DEGTORAD)
    local real yv = 0.044375 * Sin(90 * bj_DEGTORAD)
    call SetTextTagText(t, message, 0.0220) //0.0184
    call SetTextTagPos(t, x + Xoffset, y + Yoffset, Hoffset)
    call SetTextTagColor(t, red, green, blue, 255)
    call SetTextTagVelocity(t, xv, yv)
    call SetTextTagVisibility(t, true)
    call SetTextTagPermanent(t, false)
    call SetTextTagLifespan(t, duration)
    call SetTextTagFadepoint(t, 1)
    set t = null
endfunction
// Simplifier function to use less paramters than the original.
function CreateHoverText takes unit target, string message, integer Red, integer Green, integer Blue returns nothing
    call CreateFadeTextOnUnit(target, message, -25, 0, 10, Red, Green, Blue, 1.60)
endfunction
//-----------------------------------------------------------------------------------------------------------------
// Simulates an error message like the game console.
function SimError takes player p, string s returns nothing
    set s = "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n|cffffcc00"+s+"|r"
    if (GetTriggerPlayer() == p) then
        call ClearTextMessages()
        call DisplayTimedTextToPlayer(p, 0.52, 0.96, 2.0, s)
        call StartSound( gg_snd_Error )
    endif
endfunction
//-----------------------------------------------------------------------------------------------------------------
// SetResourceState is a function to set the player's resource state with arithmetic functions.
globals
    constant playerstate GOLD = ConvertPlayerState(1)  // Alternative to using the Blizzard functions.
    constant playerstate LUMB = ConvertPlayerState(2)  // Alternavite to using the Blizzard functions.
    constant integer    ADD  = 0                      // Used when calling function to add.
    constant integer    SUB  = 1                      // Used when calling function to subtract.
    constant integer    MPL  = 2                      // Used when calling function to multiply.
    constant integer    DIV  = 3                      // Used when calling function to divide.
    constant integer    SET  = 4                      // Used when calling function to set the value manually.
endglobals
function SetResourceState takes player p, playerstate state, integer sign, integer newnumber returns nothing
    if (sign == 0) then
        call SetPlayerState(p, state, GetPlayerState(p, state) + newnumber)
    elseif (sign == 1) then
        call SetPlayerState(p, state, GetPlayerState(p, state) - newnumber)
    elseif (sign == 2) then
        call SetPlayerState(p, state, GetPlayerState(p, state) * newnumber)
    elseif (sign == 3) then
        call SetPlayerState(p, state, GetPlayerState(p, state) / newnumber)
    elseif (sign == 4) then
        call SetPlayerState(p, state, newnumber)
    endif
endfunction
//-----------------------------------------------------------------------------------------------------------------
// This function is used to get the gold cost of a unit.
function XRemoveX takes nothing returns nothing
    local unit u = GetSoldUnit()
    call RemoveUnit(u)
    set u = null
endfunction
function GetUnitGoldCost takes unit z returns integer
    local trigger t = CreateTrigger()
    local integer d = GetUnitTypeId(z)
    local unit    u = CreateUnit(Player(15), 'nshf', GetRectCenterX(gg_rct_Path), GetRectCenterY(gg_rct_Path), 270.0)
    call UnitAddAbility(u, 'Asud')
    call TriggerRegisterUnitEvent(t, u, EVENT_UNIT_SELL)
    call TriggerAddAction(t, function XRemoveX)
    call SetResourceState(Player(15), GOLD, SET, 1000000)
    call SetResourceState(Player(15), LUMB, SET, 1000000)
    call SetPlayerState(Player(15), PLAYER_STATE_RESOURCE_FOOD_CAP, 200)
    call AddUnitToStock(u, d, 1, 1)
    call IssueImmediateOrderById(u, d)
    call RemoveUnit(u)
    call DestroyTrigger(t)
    set u = null
    set t = null
    return (1000000 - GetPlayerState(Player(15), PLAYER_STATE_RESOURCE_GOLD))
endfunction
//*****************************************************************************************************************
// -- Universal struct to move a unit based on the group it's currently in.
// -- Struct to reorder a unit after a given amount of time, takes the unit and how long to wait til moving it again.
struct Reorder
    unit    u
    timer  t
    static method create takes unit toMove, real moveTime returns Reorder
        local Reorder data = Reorder.allocate()
        set data.u = toMove
        set data.t = NewTimer()
        call SetTimerData(data.t, data)
        call TimerStart(data.t, moveTime, false, function Reorder.StartMove)
        return data
    endmethod
    static method StartMove takes nothing returns nothing
        local timer t = GetExpiredTimer()
        local Reorder data = GetTimerData(t)
        if (GetWidgetLife(data.u) > 0.00) then
            call Reorder.CreepMove(data.u)
        endif
        call data.destroy()
        set t = null
    endmethod
    static method CreepMove takes unit u returns nothing
        if (IsUnitInGroup(u, udg_UnitsTopLeft[1])) then
            call IssuePointOrder(u, "move", GetRectCenterX(gg_rct_BottomMiddleLeft), GetRectCenterY(gg_rct_BottomMiddleLeft))
        elseif (IsUnitInGroup(u, udg_UnitsTopLeft[2])) then
            call IssuePointOrder(u, "move", GetRectCenterX(gg_rct_BottomLeft), GetRectCenterY(gg_rct_BottomLeft))
        elseif (IsUnitInGroup(u, udg_UnitsTopLeft[3])) then
            call IssuePointOrder(u, "move", GetRectCenterX(gg_rct_BottomCenter), GetRectCenterY(gg_rct_BottomCenter))
        elseif (IsUnitInGroup(u, udg_UnitsTopRight[1])) then
            call IssuePointOrder(u, "move", GetRectCenterX(gg_rct_BottomMiddleRight), GetRectCenterY(gg_rct_BottomMiddleRight))
        elseif (IsUnitInGroup(u, udg_UnitsTopRight[2])) then
            call IssuePointOrder(u, "move", GetRectCenterX(gg_rct_BottomRight), GetRectCenterY(gg_rct_BottomRight))
        elseif (IsUnitInGroup(u, udg_UnitsTopRight[3])) then
            call IssuePointOrder(u, "move", GetRectCenterX(gg_rct_BottomCenter), GetRectCenterY(gg_rct_BottomCenter))
        elseif (IsUnitInGroup(u, udg_UnitsTopShip)) then
            call IssuePointOrder(u, "move", GetRectCenterX(gg_rct_BottomShip), GetRectCenterY(gg_rct_BottomShip))
        elseif (IsUnitInGroup(u, udg_UnitsBottomLeft[1])) then
            call IssuePointOrder(u, "move", GetRectCenterX(gg_rct_TopMiddleLeft), GetRectCenterY(gg_rct_TopMiddleLeft))
        elseif (IsUnitInGroup(u, udg_UnitsBottomLeft[2])) then
            call IssuePointOrder(u, "move", GetRectCenterX(gg_rct_TopLeft), GetRectCenterY(gg_rct_TopLeft))
        elseif (IsUnitInGroup(u, udg_UnitsBottomLeft[3])) then
            call IssuePointOrder(u, "move", GetRectCenterX(gg_rct_TopCenter), GetRectCenterY(gg_rct_TopCenter))
        elseif (IsUnitInGroup(u, udg_UnitsBottomRight[1])) then
            call IssuePointOrder(u, "move", GetRectCenterX(gg_rct_TopMiddleRight), GetRectCenterY(gg_rct_TopMiddleRight))
        elseif (IsUnitInGroup(u, udg_UnitsBottomRight[2])) then
            call IssuePointOrder(u, "move", GetRectCenterX(gg_rct_TopRight), GetRectCenterY(gg_rct_TopRight))
        elseif (IsUnitInGroup(u, udg_UnitsBottomRight[3])) then
            call IssuePointOrder(u, "move", GetRectCenterX(gg_rct_TopCenter), GetRectCenterY(gg_rct_TopCenter))
        elseif (IsUnitInGroup(u, udg_UnitsBottomShip)) then
            call IssuePointOrder(u, "move", GetRectCenterX(gg_rct_TopShip), GetRectCenterY(gg_rct_TopShip))
        endif
    endmethod
    method onDestroy takes nothing returns nothing
        call ReleaseTimer(.t)
    endmethod
endstruct
//*****************************************************************************************************************
// -- Used to add a creep to a specific unit group.
function GroupSetup takes unit u, group g returns nothing
    call GroupRemoveUnit(udg_UnitsTopLeft[1], u)
    call GroupRemoveUnit(udg_UnitsTopLeft[2], u)
    call GroupRemoveUnit(udg_UnitsTopLeft[3], u)
    call GroupRemoveUnit(udg_UnitsTopRight[1], u)
    call GroupRemoveUnit(udg_UnitsTopRight[2], u)
    call GroupRemoveUnit(udg_UnitsTopRight[3], u)
    call GroupRemoveUnit(udg_UnitsTopShip, u)
    call GroupRemoveUnit(udg_UnitsBottomLeft[1], u)
    call GroupRemoveUnit(udg_UnitsBottomLeft[2], u)
    call GroupRemoveUnit(udg_UnitsBottomLeft[3], u)
    call GroupRemoveUnit(udg_UnitsBottomRight[1], u)
    call GroupRemoveUnit(udg_UnitsBottomRight[2], u)
    call GroupRemoveUnit(udg_UnitsBottomRight[3], u)
    call GroupRemoveUnit(udg_UnitsBottomShip, u)
    call GroupAddUnit(g, u)
endfunction
//*****************************************************************************************************************
// Text functions to clear all text from the screen.
function ClearAllTextForce1 takes nothing returns nothing
    local integer i = 1
    loop
        exitwhen (i > 22)
        call DisplayMessageTop(0.01, " ")
        set i = i + 1
    endloop
endfunction
function ClearAllTextForce2 takes nothing returns nothing
    local integer i = 1
    loop
        exitwhen (i > 22)
        call DisplayMessageBottom(0.01, " ")
        set i = i + 1
    endloop
endfunction
 
//*****************************************************************************************************************
//Function to play sounds when player upgrades units.
function UpgradeSounds takes nothing returns nothing
if GetLocalPlayer() == Player(0) then
    call StartSound (gg_snd_KnightUpgradeComplete1)
elseif GetLocalPlayer() == Player(1) then
    call StartSound (gg_snd_KnightUpgradeComplete1)
elseif GetLocalPlayer() == Player(2) then
    call StartSound (gg_snd_KnightUpgradeComplete1)
elseif GetLocalPlayer()==Player(3) then
    call StartSound (gg_snd_KnightUpgradeComplete1)
elseif GetLocalPlayer()==Player(4) then
    call StartSound (gg_snd_KnightUpgradeComplete1)
elseif GetLocalPlayer()==Player(5) then
    call StartSound (gg_snd_KnightUpgradeComplete1)
endif
endfunction
endlibrary
 

Valtarian

Member
Reaction score
3
Code:
library GroupUtils initializer Init
//******************************************************************************
//* BY: Rising_Dusk
//*
//* This library is a combination of several features relevant to groups. First
//* and foremost, it contains a group stack that you can access dynamic groups
//* from. It also provides means to refresh groups and clear any shadow
//* references within them. The included boolexprs are there for backwards
//* compatibility with maps that happen to use them. Since the 1.24c patch,
//* null boolexprs used in GroupEnumUnits* calls no longer leak, so there is no
//* performance gain to using the BOOLEXPR_TRUE constant.
//*
//* Instead of creating/destroying groups, we have moved on to recycling them.
//* NewGroup pulls a group from the stack and ReleaseGroup adds it back. Always
//* remember to call ReleaseGroup on a group when you are done using it. If you
//* fail to do so enough times, the stack will overflow and no longer work.
//*
//* GroupRefresh cleans a group of any shadow references which may be clogging
//* its hashtable. If you remove a unit from the game who is a member of a unit
//* group, it will 'effectively' remove the unit from the group, but leave a
//* shadow in its place. Calling GroupRefresh on a group will clean up any
//* shadow references that may exist within it. It is only worth doing this on
//* groups that you plan to have around for awhile.
//*
//* Constants that can be used from the library:
//*    [group]    ENUM_GROUP      As you might expect, this group is good for
//*                                when you need a group just for enumeration.
//*    [boolexpr] BOOLEXPR_TRUE  This is a true boolexpr, which is important
//*                                because a 'null' boolexpr in enumeration
//*                                calls results in a leak. Use this instead.
//*    [boolexpr] BOOLEXPR_FALSE  This exists mostly for completeness.
//*
//* This library also includes a simple implementation of a group enumeration
//* call that factors collision of units in a given area of effect. This is
//* particularly useful because GroupEnumUnitsInRange doesn't factor collision.
//*
//* In your map, you can just replace all instances of GroupEnumUnitsInRange
//* with GroupEnumUnitsInArea with identical arguments and your spells will
//* consider all units colliding with the area of effect. After calling this
//* function as you would normally call GroupEnumUnitsInRange, you are free to
//* do anything with the group that you would normally do.
//*
//* If you don't use xebasic in your map, you may edit the MAX_COLLISION_SIZE
//* variable below and the library will use that as the added radius to check.
//* If you use xebasic, however, the script will automatically use xe's
//* collision size variable.
//*
//* You are also able to use GroupUnitsInArea. This function returns all units
//* within the area, no matter what they are, which can be convenient for those
//* instances where you actually want that.
//*
//* Example usage:
//*    local group MyGroup = NewGroup()
//*    call GroupRefresh(MyGroup)
//*    call ReleaseGroup(MyGroup)
//*    call GroupEnumUnitsInArea(ENUM_GROUP, x, y, 350., BOOLEXPR_TRUE)
//*    call GroupUnitsInArea(ENUM_GROUP, x, y, 350.)
//*
globals
    //If you don't have xebasic in your map, this value will be used instead.
    //This value corresponds to the max collision size of a unit in your map.
    private constant real    MAX_COLLISION_SIZE = 197.
    //If you are insane and don't care about any of the protection involved in
    //this library, but want this script to be really fast, set this to true.
    private constant boolean LESS_SAFETY        = false
endglobals
 
globals
    //* Constants that are available to the user
    group    ENUM_GROUP    = CreateGroup()
    boolexpr BOOLEXPR_TRUE  = null
    boolexpr BOOLEXPR_FALSE = null
endglobals
 
globals
    //* Hashtable for debug purposes
    private hashtable    ht    = InitHashtable()
    //* Temporary references for GroupRefresh
    private boolean      Flag  = false
    private group        Refr  = null
    //* Arrays and counter for the group stack
    private group  array Groups
    private integer      Count  = 0
    //* Variables for use with the GroupUnitsInArea function
    private real          X      = 0.
    private real          Y      = 0.
    private real          R      = 0.
    private hashtable    H      = InitHashtable()
endglobals
 
private function HookDestroyGroup takes group g returns nothing
    if g == ENUM_GROUP then
        call BJDebugMsg(SCOPE_PREFIX+"Warning: ENUM_GROUP destroyed")
    endif
endfunction
 
debug hook DestroyGroup HookDestroyGroup
 
private function AddEx takes nothing returns nothing
    if Flag then
        call GroupClear(Refr)
        set Flag = false
    endif
    call GroupAddUnit(Refr, GetEnumUnit())
endfunction
function GroupRefresh takes group g returns nothing
    set Flag = true
    set Refr = g
    call ForGroup(Refr, function AddEx)
    if Flag then
        call GroupClear(g)
    endif
endfunction
 
function NewGroup takes nothing returns group
    if Count == 0 then
        set Groups[0] = CreateGroup()
    else
        set Count = Count - 1
    endif
    static if not LESS_SAFETY then
        call SaveInteger(ht, 0, GetHandleId(Groups[Count]), 1)
    endif
    return Groups[Count]
endfunction
function ReleaseGroup takes group g returns boolean
    local integer id = GetHandleId(g)
    static if LESS_SAFETY then
        if g == null then
            debug call BJDebugMsg(SCOPE_PREFIX+"Error: Null groups cannot be released")
            return false
        elseif Count == 8191 then
            debug call BJDebugMsg(SCOPE_PREFIX+"Error: Max groups achieved, destroying group")
            call DestroyGroup(g)
            return false
        endif
    else
        if g == null then
            debug call BJDebugMsg(SCOPE_PREFIX+"Error: Null groups cannot be released")
            return false
        elseif not HaveSavedInteger(ht, 0, id) then
            debug call BJDebugMsg(SCOPE_PREFIX+"Error: Group not part of stack")
            return false
        elseif LoadInteger(ht, 0, id) == 2 then
            debug call BJDebugMsg(SCOPE_PREFIX+"Error: Groups cannot be multiply released")
            return false
        elseif Count == 8191 then
            debug call BJDebugMsg(SCOPE_PREFIX+"Error: Max groups achieved, destroying group")
            call DestroyGroup(g)
            return false
        endif
        call SaveInteger(ht, 0, id, 2)
    endif
    call GroupClear(g)
    set Groups[Count] = g
    set Count        = Count + 1
    return true
endfunction
 
private function Filter takes nothing returns boolean
    return IsUnitInRangeXY(GetFilterUnit(), X, Y, R)
endfunction
 
private function HookDestroyBoolExpr takes boolexpr b returns nothing
    local integer bid = GetHandleId(b)
    if HaveSavedHandle(H, 0, bid) then
        //Clear the saved boolexpr
        call DestroyBoolExpr(LoadBooleanExprHandle(H, 0, bid))
        call RemoveSavedHandle(H, 0, bid)
    endif
endfunction
 
hook DestroyBoolExpr HookDestroyBoolExpr
 
private constant function GetRadius takes real radius returns real
    static if LIBRARY_xebasic then
        return radius+XE_MAX_COLLISION_SIZE
    else
        return radius+MAX_COLLISION_SIZE
    endif
endfunction
 
function GroupEnumUnitsInArea takes group whichGroup, real x, real y, real radius, boolexpr filter returns nothing
    local real    prevX = X
    local real    prevY = Y
    local real    prevR = R
    local integer bid  = 0
   
    //Set variables to new values
    set X = x
    set Y = y
    set R = radius
    if filter == null then
        //Adjusts for null boolexprs passed to the function
        set filter = Condition(function Filter)
    else
        //Check for a saved boolexpr
        set bid = GetHandleId(filter)
        if HaveSavedHandle(H, 0, bid) then
            //Set the filter to use to the saved one
            set filter = LoadBooleanExprHandle(H, 0, bid)
        else
            //Create a new And() boolexpr for this filter
            set filter = And(Condition(function Filter), filter)
            call SaveBooleanExprHandle(H, 0, bid, filter)
        endif
    endif
    //Enumerate, if they want to use the boolexpr, this lets them
    call GroupEnumUnitsInRange(whichGroup, x, y, GetRadius(radius), filter)
    //Give back original settings so nested enumerations work
    set X = prevX
    set Y = prevY
    set R = prevR
endfunction
 
function GroupUnitsInArea takes group whichGroup, real x, real y, real radius returns nothing
    local real prevX = X
    local real prevY = Y
    local real prevR = R
   
    //Set variables to new values
    set X = x
    set Y = y
    set R = radius
    //Enumerate
    call GroupEnumUnitsInRange(whichGroup, x, y, GetRadius(radius), Condition(function Filter))
    //Give back original settings so nested enumerations work
    set X = prevX
    set Y = prevY
    set R = prevR
endfunction
 
private function True takes nothing returns boolean
    return true
endfunction
private function False takes nothing returns boolean
    return false
endfunction
private function Init takes nothing returns nothing
    set BOOLEXPR_TRUE  = Condition(function True)
    set BOOLEXPR_FALSE = Condition(function False)
endfunction
endlibrary

Code:
library TimerUtils initializer init
//*********************************************************************
//* TimerUtils (red+blue+orange flavors for 1.24b+)
//* ----------
//*
//*  To implement it , create a custom text trigger called TimerUtils
//* and paste the contents of this script there.
//*
//*  To copy from a map to another, copy the trigger holding this
//* library to your map.
//*
//* (requires vJass)  More scripts: htt://www.wc3c.net
//*
//* For your timer needs:
//*  * Attaching
//*  * Recycling (with double-free protection)
//*
//* set t=NewTimer()      : Get a timer (alternative to CreateTimer)
//* ReleaseTimer(t)      : Relese a timer (alt to DestroyTimer)
//* SetTimerData(t,2)    : Attach value 2 to timer
//* GetTimerData(t)      : Get the timer's value.
//*                        You can assume a timer's value is 0
//*                        after NewTimer.
//*
//* Multi-flavor:
//*    Set USE_HASH_TABLE to true if you don't want to complicate your life.
//*
//* If you like speed and giberish try learning about the other flavors.
//*
//********************************************************************
 
//================================================================
    globals
        //How to tweak timer utils:
        // USE_HASH_TABLE = true  (new blue)
        //  * SAFEST
        //  * SLOWEST (though hash tables are kind of fast)
        //
        // USE_HASH_TABLE = false, USE_FLEXIBLE_OFFSET = true  (orange)
        //  * kinda safe (except there is a limit in the number of timers)
        //  * ALMOST FAST
        //
        // USE_HASH_TABLE = false, USE_FLEXIBLE_OFFSET = false (red)
        //  * THE FASTEST (though is only  faster than the previous method
        //                  after using the optimizer on the map)
        //  * THE LEAST SAFE ( you may have to tweak OFSSET manually for it to
        //                    work)
        //
        private constant boolean USE_HASH_TABLE      = true
        private constant boolean USE_FLEXIBLE_OFFSET = false
 
        private constant integer OFFSET    = 0x100000
        private          integer VOFFSET    = OFFSET
 
        //Timers to preload at map init:
        private constant integer QUANTITY  = 2500
 
        //Changing this  to something big will allow you to keep recycling
        // timers even when there are already AN INCREDIBLE AMOUNT of timers in
        // the stack. But it will make things far slower so that's probably a bad idea...
        private constant integer ARRAY_SIZE = 8190
 
    endglobals
 
    //==================================================================================================
    globals
        private integer array data[ARRAY_SIZE]
        private hashtable    ht
    endglobals
 
    //It is dependent on jasshelper's recent inlining optimization in order to perform correctly.
    function SetTimerData takes timer t, integer value returns nothing
        static if(USE_HASH_TABLE) then
            // new blue
            call SaveInteger(ht,0,GetHandleId(t), value)
           
        elseif (USE_FLEXIBLE_OFFSET) then
            // orange
            static if (DEBUG_MODE) then
                if(GetHandleId(t)-VOFFSET<0) then
                    call BJDebugMsg("SetTimerData: Wrong handle id, only use SetTimerData on timers created by NewTimer")
                endif
            endif
            set data[GetHandleId(t)-VOFFSET]=value
        else
            // new red
            static if (DEBUG_MODE) then
                if(GetHandleId(t)-OFFSET<0) then
                    call BJDebugMsg("SetTimerData: Wrong handle id, only use SetTimerData on timers created by NewTimer")
                endif
            endif
            set data[GetHandleId(t)-OFFSET]=value
        endif       
    endfunction
 
    function GetTimerData takes timer t returns integer
        static if(USE_HASH_TABLE) then
            // new blue
            return LoadInteger(ht,0,GetHandleId(t) )
           
        elseif (USE_FLEXIBLE_OFFSET) then
            // orange
            static if (DEBUG_MODE) then
                if(GetHandleId(t)-VOFFSET<0) then
                    call BJDebugMsg("SetTimerData: Wrong handle id, only use SetTimerData on timers created by NewTimer")
                endif
            endif
            return data[GetHandleId(t)-VOFFSET]
        else
            // new red
            static if (DEBUG_MODE) then
                if(GetHandleId(t)-OFFSET<0) then
                    call BJDebugMsg("SetTimerData: Wrong handle id, only use SetTimerData on timers created by NewTimer")
                endif
            endif
            return data[GetHandleId(t)-OFFSET]
        endif       
    endfunction
 
    //==========================================================================================
    globals
        private timer array tT[ARRAY_SIZE]
        private integer tN = 0
        private constant integer HELD=0x28829022
        //use a totally random number here, the more improbable someone uses it, the better.
    endglobals
 
    //==========================================================================================
    function NewTimer takes nothing returns timer
        if (tN==0) then
            //If this happens then the QUANTITY rule has already been broken, try to fix the
            // issue, else fail.
            debug call BJDebugMsg("NewTimer: Warning, Exceeding TimerUtils_QUANTITY, make sure all timers are getting recycled correctly")
            static if( not USE_HASH_TABLE) then
                debug call BJDebugMsg("In case of errors, please increase it accordingly, or set TimerUtils_USE_HASH_TABLE to true")
                set tT[0]=CreateTimer()
                static if( USE_FLEXIBLE_OFFSET) then
                    if (GetHandleId(tT[0])-VOFFSET<0) or (GetHandleId(tT[0])-VOFFSET>=ARRAY_SIZE) then
                        //all right, couldn't fix it
                        call BJDebugMsg("NewTimer: Unable to allocate a timer, you should probably set TimerUtils_USE_HASH_TABLE to true or fix timer leaks.")
                        return null
                    endif
                else
                    if (GetHandleId(tT[0])-OFFSET<0) or (GetHandleId(tT[0])-OFFSET>=ARRAY_SIZE) then
                        //all right, couldn't fix it
                        call BJDebugMsg("NewTimer: Unable to allocate a timer, you should probably set TimerUtils_USE_HASH_TABLE to true or fix timer leaks.")
                        return null
                    endif
                endif
            endif
        else
            set tN=tN-1
        endif
        call SetTimerData(tT[tN],0)
    return tT[tN]
    endfunction
 
    //==========================================================================================
    function ReleaseTimer takes timer t returns nothing
        if(t==null) then
            debug call BJDebugMsg("Warning: attempt to release a null timer")
            return
        endif
        if (tN==ARRAY_SIZE) then
            debug call BJDebugMsg("Warning: Timer stack is full, destroying timer!!")
 
            //stack is full, the map already has much more troubles than the chance of bug
            call DestroyTimer(t)
        else
            call PauseTimer(t)
            if(GetTimerData(t)==HELD) then
                debug call BJDebugMsg("Warning: ReleaseTimer: Double free!")
                return
            endif
            call SetTimerData(t,HELD)
            set tT[tN]=t
            set tN=tN+1
        endif   
    endfunction
 
    private function init takes nothing returns nothing
    local integer i=0
    local integer o=-1
    local boolean oops = false
   
        static if( USE_HASH_TABLE ) then
            set ht = InitHashtable()
            loop
                exitwhen(i==QUANTITY)
                set tT[i]=CreateTimer()
                call SetTimerData(tT[i], HELD)
                set i=i+1
            endloop
            set tN = QUANTITY
        else
            loop
                set i=0
                loop
                    exitwhen (i==QUANTITY)
                    set tT[i] = CreateTimer()
                    if(i==0) then
                        set VOFFSET = GetHandleId(tT[i])
                        static if(USE_FLEXIBLE_OFFSET) then
                            set o=VOFFSET
                        else
                            set o=OFFSET
                        endif
                    endif
                    if (GetHandleId(tT[i])-o>=ARRAY_SIZE) then
                        exitwhen true
                    endif
                    if (GetHandleId(tT[i])-o>=0)  then
                        set i=i+1
                    endif
                endloop
                set tN = i
                exitwhen(tN == QUANTITY)
                set oops = true
                exitwhen not USE_FLEXIBLE_OFFSET
                debug call BJDebugMsg("TimerUtils_init: Failed a initialization attempt, will try again")             
            endloop
           
            if(oops) then
                static if ( USE_FLEXIBLE_OFFSET) then
                    debug call BJDebugMsg("The problem has been fixed.")
                    //If this message doesn't appear then there is so much
                    //handle id fragmentation that it was impossible to preload
                    //so many timers and the thread crashed! Therefore this
                    //debug message is useful.
                elseif(DEBUG_MODE) then
                    call BJDebugMsg("There were problems and the new timer limit is "+I2S(i))
                    call BJDebugMsg("This is a rare ocurrence, if the timer limit is too low:")
                    call BJDebugMsg("a) Change USE_FLEXIBLE_OFFSET to true (reduces performance a little)")
                    call BJDebugMsg("b) or try changing OFFSET to "+I2S(VOFFSET) )
                endif
            endif
        endif
 
    endfunction
 
endlibrary

Code:
library BoundSentinel initializer init
//*************************************************
//* BoundSentinel
//* -------------
//*  Don't leave your units unsupervised, naughty
//* them may try to get out of the map bounds and
//* crash your game.
//*
//*  To implement, just get a vJass compiler and
//* copy this library/trigger to your map.
//*
//*************************************************
 
//==================================================
  globals
      // High enough so the unit is no longer visible, low enough so the
      // game doesn't crash...
      //
      // I think you need 0.0 or something negative prior to patch 1.22
      //
      private constant real EXTRA = 500.0
  endglobals
 
  //=========================================================================================
  globals
      private real maxx
      private real maxy
      private real minx
      private real miny
  endglobals
 
  //=======================================================================
  private function dis takes nothing returns nothing
    local unit u=GetTriggerUnit()
    local real x=GetUnitX(u)
    local real y=GetUnitY(u)
 
      if(x>maxx) then
          set x=maxx
      elseif(x<minx) then
          set x=minx
      endif
      if(y>maxy) then
          set y=maxy
      elseif(y<miny) then
          set y=miny
      endif
      call SetUnitX(u,x)
      call SetUnitY(u,y)
    set u=null
  endfunction
 
  private function init takes nothing returns nothing
    local trigger t=CreateTrigger()
    local region  r=CreateRegion()
    local rect    rc
 
      set minx=GetCameraBoundMinX() - EXTRA
      set miny=GetCameraBoundMinY() - EXTRA
      set maxx=GetCameraBoundMaxX() + EXTRA
      set maxy=GetCameraBoundMaxY() + EXTRA
      set rc=Rect(minx,miny,maxx,maxy)
      call RegionAddRect(r, rc)
      call RemoveRect(rc)
 
      call TriggerRegisterLeaveRegion(t,r, null)
      call TriggerAddAction(t, function dis)
 
    //this is not necessary but I'll do it anyway:
    set t=null
    set r=null
    set rc=null
  endfunction
endlibrary
 

Valtarian

Member
Reaction score
3
THIS IS THE CRASH REPORT:

==============================================================================
Warcraft III (build 6401)

Exe: c:\program files (x86)\warcraft iii\war3.exe
Time: Jan 31, 2013 12:40:12.589 AM
User: jeffs_000
Computer: JEFF
------------------------------------------------------------------------------

This application has encountered a critical error:

Not enough storage is available to process this command.

Program:c:\program files (x86)\warcraft iii\war3.exe
File:.\cmemblock.cpp
Line:372




War3Build: 1.26.0.6401
Played Maps\Download\WmWX14.w3m
Player 0 ez-tech Race HumanStartLoc 0
Player 1 Aphotica Race HumanStartLoc 1
Player 2 bornintheusofeh Race HumanStartLoc 2
Player 3 Seaofsouls Race HumanStartLoc 3
Player 4 WetBallNation Race HumanStartLoc 4
Player 5 anton8 Race HumanStartLoc 5
Player 6 |cffff0000Creeps|rRace UndeadStartLoc 6
Player 7 |cff0080ffCreeps|rRace NightElfStartLoc 7
Player 8 |cffff0000Creeps|rRace HumanStartLoc 8
Player 9 |cff0080ffCreeps|rRace OrcStartLoc 9
Player 10 |cffff0000Creeps|rRace HumanStartLoc 10
Player 11 |cff0080ffCreeps|rRace HumanStartLoc 11
------------------------------------------------------------------------------

----------------------------------------
Stack Trace (Manual)
----------------------------------------

Address Frame Logical addr Module


----------------------------------------
Stack Trace (Using DBGHELP.DLL)
----------------------------------------

**** Couldn't initialize Debug Help library, error: 8


----------------------------------------
Memory Dump
----------------------------------------

Stack: 1024 bytes starting at (ESP = 0018E9EC)

* = addr ** *
0018E9E0: 7E 2B 00 15 01 00 6E 00 EC E9 18 00 90 35 04 15 ~+....n......5..
0018E9F0: 1C 4B 00 00 02 00 00 00 60 4E 01 15 01 00 6E 00 .K......`N....n.
0018EA00: C3 2A 00 15 EC E9 18 00 0C EA 18 00 94 EF 18 00 .*..............
0018EA10: 82 63 01 15 1C 4B 00 00 03 00 00 00 00 00 00 00 .c...K..........
0018EA20: 6C 00 C6 1E 00 00 00 00 74 01 00 00 00 00 00 00 l.......t.......
0018EA30: 00 00 00 00 00 00 00 00 30 00 00 00 00 00 00 00 ........0.......
0018EA40: 6C 00 C6 1E 01 00 00 00 01 19 00 00 00 00 00 00 l...............
0018EA50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0018EA60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0018EA70: 00 00 00 00 DD 07 01 00 04 00 1F 00 00 00 28 00 ..............(.
0018EA80: 0C 00 4D 02 20 00 00 00 13 45 24 A5 B2 EA CD 01 ..M. ....E$.....
0018EA90: CE 4E 58 9C A7 E5 CB 01 CE 4E 58 9C A7 E5 CB 01 .NX......NX.....
0018EAA0: 00 00 00 00 00 30 07 00 00 00 00 00 00 00 00 00 .....0..........
0018EAB0: 77 61 72 33 2E 65 78 65 00 00 00 00 00 00 00 00 war3.exe........
0018EAC0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0018EAD0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0018EAE0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0018EAF0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0018EB00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0018EB10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0018EB20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0018EB30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0018EB40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0018EB50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0018EB60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0018EB70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0018EB80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0018EB90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0018EBA0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0018EBB0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0018EBC0: 00 00 00 00 4E 6F 74 20 65 6E 6F 75 67 68 20 73 ....Not enough s
0018EBD0: 74 6F 72 61 67 65 20 69 73 20 61 76 61 69 6C 61 torage is availa
0018EBE0: 62 6C 65 20 74 6F 20 70 72 6F 63 65 73 73 20 74 ble to process t
0018EBF0: 68 69 73 20 63 6F 6D 6D 61 6E 64 2E 0D 0A 00 00 his command.....
0018EC00: 38 EC 18 00 58 EC 18 00 C0 A3 3B 1A D8 EC 18 00 8...X.....;.....
0018EC10: CB BB 94 71 38 EC 18 00 80 BB 3B 1A 00 3D E8 04 ...q8.....;..=..
0018EC20: 01 00 00 00 00 00 00 00 00 00 00 00 00 01 01 00 ................
0018EC30: 00 00 01 00 01 00 00 00 80 71 00 80 00 00 06 00 .........q......
0018EC40: 00 00 00 00 00 00 00 00 00 80 6D 04 1E 00 00 00 ..........m.....
0018EC50: 00 00 00 00 00 00 00 00 B8 02 94 00 90 EC 18 00 ................
0018EC60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0018EC70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0018EC80: 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 ................
0018EC90: 80 71 00 80 00 00 06 00 00 00 00 00 00 00 00 00 .q..............
0018ECA0: 00 00 00 00 1E 00 00 00 00 00 00 00 00 00 00 00 ................
0018ECB0: 01 00 00 00 00 00 00 00 80 71 00 80 00 00 00 00 .........q......
0018ECC0: 00 00 00 00 77 61 72 33 00 65 78 65 00 00 00 00 ....war3.exe....
0018ECD0: 00 00 00 00 00 00 00 00 00 00 00 00 28 F4 18 00 ............(...
0018ECE0: E0 18 95 71 00 3D E8 04 00 9C D4 19 80 BB 3B 1A ...q.=........;.
0018ECF0: 80 BB 3B 1A 00 00 00 00 04 00 00 00 00 00 00 00 ..;.............
0018ED00: 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 ................
0018ED10: 00 00 00 00 00 00 00 00 B8 02 94 00 00 3D E8 04 .............=..
0018ED20: 00 00 00 00 A8 F6 18 00 00 00 00 00 00 00 00 00 ................
0018ED30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0018ED40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0018ED50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0018ED60: 40 E8 BD 10 00 00 00 00 00 00 00 00 00 00 00 00 @...............
0018ED70: 00 00 00 00 E1 69 10 77 01 00 00 00 F5 EE 24 73 .....i.w......$s
0018ED80: D8 ED 18 00 00 D0 F6 04 02 EF 24 73 00 77 00 80 ..........$s.w..
0018ED90: 01 00 00 00 08 B6 BE 10 D8 ED 18 00 00 00 00 00 ................
0018EDA0: 00 00 00 00 E1 69 10 77 01 00 00 00 57 25 A2 A7 .....i.w....W%..
0018EDB0: E0 ED 18 00 61 05 C0 71 78 80 92 00 D8 ED 18 00 ....a..qx.......
0018EDC0: 00 B6 BE 10 6F BE 94 71 63 3A 5C 70 72 6F 67 72 ....o..qc:\progr
0018EDD0: 61 6D 20 66 69 6C 65 73 20 28 78 38 36 29 5C 77 am files (x86)\w
0018EDE0: 61 72 63 72 61 66 74 20 69 69 69 5C 77 61 72 33 arcraft iii\war3


------------------------------------------------------------------------------
4 928 e:\Drive1\temp\buildwar3x\War3\Source\UI/CCommandButton.cpp(546)
1 528 .\FrameDef.cpp(69)
5 320 e:\drive1\temp\buildwar3x\war3\source\game\CFogMaskTable.h(98)
1 56 .\CGameUI.cpp(517)
1 512 e:\Drive1\temp\buildwar3x\War3\Source\WorldEdit/WEUtilities.cpp(3422)
143 4004 .?AUNATIVETOKEN@@(-2)
1 196 e:\Drive1\temp\buildwar3x\War3\Source\UI/CResourceBar.cpp(332)
344 396288 .?AUCliffModel@@(-2)
1 528 e:\Drive1\temp\buildwar3x\War3\Source\WorldEdit/WEUtilities.cpp(3421)
23 2779228 .?AVCPlaneParticleEmitter@@(-2)
1 4 .\W32\OsISndCache.cpp(553)
114 15960 .\Lightning.cpp(320)
1 1008 .?AV?$TSExplicitList@UOrderTypeReg@@$0?CCCCCCCD@@@(-2)
59 4008 .?AULINKSHARED@@(-2)
1 2600 e:\Drive1\temp\buildwar3x\War3\Source\UI/CInfoPanelButton.cpp(1111)
1 2820 .?AVCMapLocation@@(-2)
1 13572 .?AVCAbilityMount@@(-2)
1 548 e:\Drive1\temp\buildwar3x\War3\Source\WorldEdit/WEUtilities.cpp(3443)
6 909336 HGEOSETDATA(-2)
1 12 .\CGameUI.cpp(521)
4 928 .\CBackdropGenerator.cpp(120)
1 6404 .?AVCMissileBounce@@(-2)
5 4884 .?AV?$TSExplicitList@UComponentPath@Skin@@$0?CCCCCCCD@@@(-2)
1 352 e:\Drive1\temp\buildwar3x\War3\Source\UI/CInfoPanelUnitDetail.cpp(608)
1 16 e:\drive1\temp\buildwar3x\engine\source\jass2\Instance.h(364)
1 18436 .?AVCAbilityMakeItem@@(-2)
1 19582 e:\Drive1\temp\buildwar3x\War3\Source\Glue/CMainMenu.cpp(2225)
578 18496 .?AUComponentPath@Skin@@(-2)
1 6296 .\CGxDeviceD3d\CGxDeviceD3d.cpp(87)
22 352 .?AV?$TRefCntPtr@VCMultiboardElementData@@@@(-2)
1 40 .\CGameUI.cpp(883)
12 2352 e:\Drive1\temp\buildwar3x\War3\Source\UI/CToolTipWar3.cpp(117)
6 21528 .?AVCTaskOrderParam@@(-2)
3 12489 .?AUChunk@CDataStoreChunked@@(-2)
1782 49896 .?AUFRAMETYPENAME@@(-2)
2500 70000 .?AUGameHashTableIntegerReg@@(-2)
1 128 .?AV?$CAgentPtr@VCSelectable@@@@(-2)
4 6720 .?AUCModelHash@@(-2)
1 4036 .?AVCAbilityBattlestations@@(-2)
12 5184 e:\Drive1\temp\buildwar3x\War3\Source\UI/CCommandButton.cpp(574)
1345 9952 .\Compile.cpp(215)
22 1408 .?AUCONTEXTHASHOBJ@@(-2)
1 1764 .?AV?$TSExplicitList@UCModelHash@@$0?CCCCCCCD@@@(-2)
57 38532 .\CCheckBox.cpp(99)
1 12348 .?AV?$TSExplicitList@UFuncAddr2HandleReg@@$0?CCCCCCCD@@@(-2)
1 56 .?AU_SOURCE@@(-2)
5 1112 .?AUCAnimTransform@@(-2)
6 53784 .?AVCPrCluster@NIpse@@(-2)
1 10080 .?AUCOpaqueLayer@@(-2)
3010 33764 .PAUHMATERIAL__@@(-2)
1 56 .\scanner.cpp(406)
578 28253 e:\Drive1\temp\buildwar3x\War3\Source\UI/CSkinManager.cpp(81)
1 56004 .?AUCHILDNODE@@(-2)
1365 551460 .\IFDFile.cpp(363)
29 232 .\CSimpleTop.cpp(142)
1 48 .?AV?$TSExplicitList@USTACKEDSOUND@@$0?CCCCCCCD@@@(-2)
10 327720 .?AVCStringRep@@(-2)
2 12444 .?AV?$TSExplicitList@USTRINGHASHNODE@@$0?CCCCCCCD@@@(-2)
1 300 e:\drive1\temp\buildwar3x\war3\source\ui\CInfoPanelDestructableDetail.h(41)
1 312 e:\Drive1\temp\buildwar3x\War3\Source\UI/CInfoPanelButton.h(103)
1 40 e:\drive1\temp\buildwar3x\engine\source\jass2\Instance.h(362)
2 11272 .?AVCUnitAI@@(-2)
17 326468 .?AVCRlAgentDef@NIpse@@(-2)
1 48 .?AV?$TSExplicitList@UWaterDataCacheNode@@$0?CCCCCCCD@@@(-2)
28 1456 .\Database.cpp(314)
1 324 .\CGameWar3.cpp(521)
1 96 .?AV?$TSExplicitList@UCONTEXTHASHOBJ@@$0?CCCCCCCD@@@(-2)
1 12 .\CInputObserver.cpp(43)
3 192 .?AUCOMMANDCATEGORY@@(-2)
9 3600 .\IFDFile.cpp(348)
1 368 .\CGameUI.cpp(394)
6 36288 .?AUCTextureHash@@(-2)
43 9632 .?AUCAnimCameraObj@@(-2)
1 32 .PAUTEnumData@@(-2)
3765 2694752 .?AVC2Vector@NTempest@@(-2)
324 9072 .?AUFunc2AgentReg@@(-2)
1697 47516 .?AUCODProfileNumValHash@@(-2)
3 216 .?AUParentDataReg@@(-2)
1 2052 .?AVCAbilityWander@@(-2)
1 44 .\W32\OsTcp.cpp(2989)
1 340 .\CGameUI.cpp(463)
1 432 .\FrameDef.cpp(84)
1 24580 .?AUFrame@@(-2)
279 1116 .PAUHCAMERA__@@(-2)
1 48 .?AV?$TSExplicitList@UFONTHASHOBJ@@$0?CCCCCCCD@@@(-2)
100 15520 .?AVCParticle2@@(-2)
10 4840 .\CSlider.cpp(26)
6 21528 .?AUAGILE_TYPE_RELATIONSHIP@AGILE_TYPE_DATA@@(-2)
44 1232 .?AUSIMPLEFONTSTRINGREGHASH@@(-2)
434 7549 .\CFrame.cpp(613)
305 36600 .\GxuFontUtil.cpp(2630)
1 516 e:\Drive1\temp\buildwar3x\War3\Source\WorldEdit/WEUtilities.cpp(3427)
4496 182012 .E(-2)
1 2600 e:\Drive1\temp\buildwar3x\War3\Source\UI/CInfoPanelButton.cpp(1266)
1 4228 .?AVCBuffArtillery@@(-2)
6 1204248 .?AVCUnit@@(-2)
10 2320 e:\Drive1\temp\buildwar3x\War3\Source\UI/CCargoGrid.cpp(170)
1 133376 .?AUOcclusionVertex@CTerrain@@(-2)
1 40 e:\drive1\temp\buildwar3x\engine\source\jass2\Instance.h(358)
1 8196 .?AVCAbilityBlightGrowth@@(-2)
8 67616 .?AVCAbilityAlarm@@(-2)
1 98532 .?AV?$TSExplicitList@USOUNDDEF@@$0?CCCCCCCD@@@(-2)
10 480 .?AUCGxStringBatch@@(-2)
5024 140672 .?AUWEDBEntryHash@@(-2)
2 1144 .\CMultiBoard.cpp(947)
1 16 e:\Drive1\temp\buildwar3x\War3\Source\UI/CResourceBar.cpp(223)
1 448 .\CGameUI.cpp(419)
1 3588 .?AVCUpgradeAttackSpeed@@(-2)
15760 1554852 .\CDataAllocator.cpp(152)
8 376 e:\drive1\temp\buildwar3x\war3\source\unit\../Data.h(116)
35 17500 .\IFDFile.cpp(372)
1 504 .?AV?$TSExplicitList@UJassHandle@@$0?CCCCCCCD@@@(-2)
19 608 .?AUSIMPLEFRAMENAMECREATEHANDLER@@(-2)
12 3360 .?AUAddrGateway@BattleNetChat@BattleNet@@(-2)
12 432 .?AUFONTHASHOBJ@@(-2)
1 404 .\CGameUI.cpp(477)
8 1024 .P6IHPAVCUnit@@PAUTEnumData@@@Z(-2)
3010 167008 .?AUCGeosetColor@@(-2)
1 52 .\CGameUI.cpp(516)
4 928 .\CBackdropGenerator.cpp(139)
1 140 .\CGameWar3.cpp(606)
2 10248 .?AVCTriggerAction@@(-2)
2 128 .?AUKEYBOARDFOCUSCONTEXT@@(-2)
1 98532 .?AV?$TSExplicitList@VCStringRep@@$0?CCCCCCCD@@@(-2)
4 928 .\CBackdropGenerator.cpp(50)
3010 42924 .PAUHGEOSET__@@(-2)
1 98532 .?AV?$TSExplicitList@UANIMSOUND@@$0?CCCCCCCD@@@(-2)
9 504 .\EvtTimer.cpp(194)
1 32 .?AUTDFunctionInfo@CTerrainDeformation@@(-2)
1 15876 .?AVCItem@@(-2)
5 1860 .\CScreenFrame.cpp(163)
1 80 .?AUCGxPushedRenderState@@(-2)
1 1008 .?AV?$TSExplicitList@UTerrainDataCacheNode@@$0?CCCCCCCD@@@(-2)
1 196 e:\Drive1\temp\buildwar3x\War3\Source\UI/CUnitTip.cpp(100)
1 64 .PAVCSimpleTexture@@(-2)
8 384 .?AV?$TSExplicitList@USIMPLETEXTUREREGHASH@@$0?CCCCCCCD@@@(-2)
1649 92344 .\CGxDevice\CGxDevice.cpp(1181)
8 1184 e:\drive1\temp\buildwar3x\war3\source\unit\CUnit_Enum.cpp(729)
1 32 .PAUTWidgetEnumData@@(-2)
1 48 .?AV?$TSExplicitList@UCIncludedFiles@@$0?CCCCCCCD@@@(-2)
5 12900 .?AUFogNode@@(-2)
11 308 .?AUSIMPLETEXTUREREGHASH@@(-2)
11 257 .\CSimpleRender.cpp(119)
18 806472 .?AUUnitDataNode@@(-2)
1 16384 .?AUShadowTexture@@(-2)
14 32312 .?AVCRallyPoint@@(-2)
16 6336 .?AUCAnimLightObj@@(-2)
1 100 .?AUCGxAppRenderState@@(-2)
1 628 e:\drive1\temp\buildwar3x\engine\source\frame\CEditBox.h(168)
8 384 .?AV?$TSExplicitList@USHORTCUTREGNODE@@$0?CCCCCCCD@@@(-2)
1 48 .?AV?$TSExplicitList@UKEYINPUTKEYCODE@@$0?CCCCCCCD@@@(-2)
19 5776 .\IFDFile.cpp(423)
9 835032 .\SFile.cpp(4401)
1 576 e:\drive1\temp\buildwar3x\war3\source\ui\CEscMenuMainPanel.h(169)
12 2784 e:\Drive1\temp\buildwar3x\War3\Source\UI/CInfoPanelGroupButton.cpp(64)
1 262144 .?AVShadowPixel@@(-2)
1 52 .\CGameWar3.cpp(4771)
1 16 .\CGameWar3.cpp(5027)
72 20160 .?AUCIconData@@(-2)
1 3588 .?AUSOUNDIDHASH@@(-2)
6093 5055836 .\Interp.cpp(122)
2169 12312 .PAD(-2)
18 5544 .\IFDFile.cpp(402)
1 388 .\CGameUI.cpp(460)
1 360 .\CGameUI.cpp(716)
73 397604 .$$BY0A@V?$TSLiteList@UObserverEventReg@@@@(-2)
1 308 .\CGameUI.cpp(383)
1 4612 .?AVCBuffMissileSplash@@(-2)
1 3844 .?AUBATCHEDRENDERFONTDESC@@(-2)
1 548 e:\Drive1\temp\buildwar3x\War3\Source\WorldEdit/WEUtilities.cpp(3444)
1173 33656 .?AUPOINTNODE@@(-2)
1 304 e:\Drive1\temp\buildwar3x\War3\Source\UI/CResourceBar.cpp(278)
10 3440 e:\Drive1\temp\buildwar3x\War3\Source\UI/CCargoGrid.cpp(68)
124 38192 .?AUTerrainDataCacheNode@@(-2)
1 40 e:\drive1\temp\buildwar3x\engine\source\jass2\Instance.h(365)
2 856 e:\drive1\temp\buildwar3x\war3\source\glue\CDialogWar3.h(129)
2 864 .\CScreenFrame.cpp(139)
4 28688 .?AUFRAMETOKENHANDLERDESC@@(-2)
844 95340 .?AV?$TSList@ULINKUNIQUE@@V?$TSGetLink@ULINKUNIQUE@@@@@@(-2)
2 32768 .?AV?$TSGrowableArray@H@@(-2)
16 8448 .\CPlayerWar3.cpp(60)
4 48 .PAVCListBoxItem@@(-2)
280 103040 HCAMERA(-2)
2 24744 .?AV?$TSExplicitList@UMASTERSOUNDENTRY@@$0?CCCCCCCD@@@(-2)
66 3432 .\CMultiBoard.cpp(587)
5 432000 .?AVCSplatVertex@@(-2)
4 76 .\CSimpleMessageFrame.cpp(55)
1 328 e:\Drive1\temp\buildwar3x\War3\Source\UI/CInfoBar.cpp(86)
1 8192 .?AV?$CAgentPtr@VCGhostImage@@@@(-2)
1 48 .?AV?$TSExplicitList@UScript2HandleReg@@$0?CCCCCCCD@@@(-2)
19 155724 .?AVCBhPoProjectile@NIpse@@(-2)
3 1584 .\CTextArea.cpp(35)
231 3696 .?AULINKUNIQUE@@(-2)
95 22040 .\CSimpleButton.cpp(128)
1 308 e:\Drive1\temp\buildwar3x\War3\Source\UI/CInfoBar.cpp(77)
1 428 e:\Drive1\temp\buildwar3x\War3\Source\Glue/CGlueMgr.cpp(314)
15 9016 .?AUCSimpleBatchedTexture@@(-2)
4 928 .\CBackdropGenerator.cpp(91)
1 12 .\CMiscCustom.cpp(90)
1 25200 .?AUCTransparentObject@@(-2)
1 96 .?AV?$TSExplicitList@USOUNDIDHASH@@$0?CCCCCCCD@@@(-2)
2 344 .?AUCAnimFlipbookObj@@(-2)
1 28 .\CWorldFrameWar3.cpp(2704)
2 96 .?AV?$CAgentPtr@VCPlayerWar3@@@@(-2)
1 4100 .?AVCAbilityMagicImmunity@@(-2)
1 3716 .?AVCAbilityMilitia@@(-2)
60 93520 .?AUCAnimEmitter2Obj@@(-2)
1 548 e:\Drive1\temp\buildwar3x\War3\Source\WorldEdit/WEUtilities.cpp(3435)
1 3276 .?AV?$TSExplicitList@UCTextureHash@@$0?CCCCCCCD@@@(-2)
12 138288 .?AVCDetectedData@@(-2)
1 1796 .?AVCUpgradeMoveEx@@(-2)
1 308 e:\drive1\temp\buildwar3x\war3\source\ui\CSimpleConsole.h(13)
27 221292 .?AUSECTION@ProfileInternal@@(-2)
39 9048 .\SetupFrame.cpp(1599)
964 24304 .?AUCAnimLayerStatus@@(-2)
1 7044 .?AVCAbilitySubmerge@@(-2)
1 80 .?AV?$CMdlString@$0FA@@@(-2)
12 16464 .?AUBuffReg@@(-2)
1 368 e:\drive1\temp\buildwar3x\war3\source\ui\CInfoPanelUnitDetail.h(76)
4 20496 .?AVCJassFunc@@(-2)
146 6424 .\GxuLight.cpp(77)
13 5928 .\IFDFile.cpp(375)
1 248 .?AUChildDataReg@@(-2)
1 3460 .?AVCBuffPause@@(-2)
1 1764 .?AV?$TSExplicitList@UAbilityUIDef@@$0?CCCCCCCD@@@(-2)
3 120 .?AV?$TSFixedArray@K@@(-2)
135 64260 .\CControl.cpp(835)
13 186420 .?AVCPoPosCl@NIpse@@(-2)
3 672 .\NetClient.cpp(2482)
16 24640 .?AUREGIONNODE@@(-2)
1 33076 .\BattleNetCache.cpp(1072)
20 819280 HDBENTRY(-2)
1 48 .?AV?$TSExplicitList@UENVSOUNDENTRY@@$0?CCCCCCCD@@@(-2)
45 20520 .\IFDFile.cpp(408)
1 512 .PAVCLightning@@(-2)
1 196 e:\Drive1\temp\buildwar3x\War3\Source\UI/CToolTipWar3.cpp(158)
4 768 .?AVCSimpleMessageFrameLine@@(-2)
374 6360 .?AV?$TSFixedArray@I@@(-2)
1098 14142 e:\Drive1\temp\buildwar3x\War3\Source\UI/CSoundManagerI.cpp(657)
5433 370568 .?AUCKeySeq@@(-2)
14 72 .\CONSOLE.CPP(1195)
20 5120 .?AUCAnimEmitterObjStatus@@(-2)
1 16 .?AV?$CAgentPtr@VCTriggerExecution@@@@(-2)
2 5768 .?AVCAbilityUpgradeInProgress@@(-2)
1 2820 .?AVCAbilityHumanBuild@@(-2)
2220 278228 .PAUCAnimObjStatus@@(-2)
1 48 .?AV?$TSExplicitList@UFACEDATA@@$0?CCCCCCCD@@@(-2)
1 80 .\CPreferencesWar3.cpp(225)
1 320 e:\Drive1\temp\buildwar3x\War3\Source\UI/CProgressIndicator.h(40)
67 237052 .?AUMilesMemoryBlock@@(-2)
1 4096 .PAVCDestructable@@(-2)
1 48 .?AV?$TSExplicitList@UParentDataReg@@$0?CCCCCCCD@@@(-2)
69 71116 .?AUCAnimEventObj@@(-2)
6 92184 .?AUNativeFunc@@(-2)
1 4 .?AV?$TRefCntPtr@VCTimerDialog@@@@(-2)
434 238640 .?AUCRibbonVertex@@(-2)
3 588 e:\Drive1\temp\buildwar3x\War3\Source\UI/CToolTipWar3.cpp(63)
1 62952 .?AUItem@NewsTable@BattleNetChat@BattleNet@@(-2)
5 3860 .?AUUncachableNode@@(-2)
1 32 .?AW4EGxRenderState@@(-2)
10 70 e:\Drive1\temp\buildwar3x\War3\Source\Game/CampaignProfiles.cpp(129)
3 96 .\SFile.cpp(4522)
1 2688 .?AVCSplatKey@@(-2)
1 12768 .?AUWEGeoset@@(-2)
1 36352 .PAUHashedString@@(-2)
30 34328 .PAVCSplat@@(-2)
16 94272 .?AVCPoReThresholdLis@NIpse@@(-2)
2 80 .?AUCampaignData@@(-2)
2 32768 .\CDataStoreChunked.cpp(469)
1 96 .?AUFogMaskExtrema@@(-2)
1311 5244 .?AW4KEY@@(-2)
16 2048 .\W32\OsTcp.cpp(1521)
62 2232 .?AUEvtMessage@@(-2)
1 48 .?AV?$TSExplicitList@UCSolidTextureHash@@$0?CCCCCCCD@@@(-2)
124 3472 .?AUFilter2AgentReg@@(-2)
6 55320 .?AUIdStringReg@@(-2)
1 3012 .?AVCAbilityUndeadBuild@@(-2)
2 1044 e:\drive1\temp\buildwar3x\war3\source\Data.h(116)
1 20100 HSOUND(-2)
355 110760 .\IFDFile.cpp(396)
6 798744 .?AVCAbilityAttack@@(-2)
1 10372 .?AVCAbilityHero@@(-2)
8 256 .\ipse_thread.cpp(541)
294 11544 .PAUIGXUTEXTLINE@@(-2)
12 3552 e:\Drive1\temp\buildwar3x\War3\Source\UI/CCommandButton.cpp(578)
16 1152 .\Agile.cpp(351)
132 9132 .?AUCVariations@@(-2)
1 192 .?AUCHANNELLINKS@@(-2)
1 4 .PAVCOsThread@@(-2)
141 6864 .?AV?$TSExplicitList@UAGILE_TYPE_RELATIONSHIP@AGILE_TYPE_DATA@@$0?CCCCCCCD@@@(-2)
1 10116 .?AVCAbilityCargoLoad@@(-2)
18 32256 .?AVSPRITE_RECORD@CSpriteBuffer@@(-2)
1 48 .?AV?$TSExplicitList@UTYPEHANDLERSTRUCT@@$0?CCCCCCCD@@@(-2)
93 1488 e:\Drive1\temp\buildwar3x\War3\Source\UI/CPreselectUI.cpp(106)
1 48 .?AV?$TSExplicitList@UCLightningInfo@@$0?CCCCCCCD@@@(-2)
2 48136 HANIMDATA(-2)
20 5680 .\IFDFile.cpp(360)
39 19812 e:\drive1\temp\buildwar3x\war3\source\Glue/CGlueTextButtonWar3.h(34)
1216 29184 .\CWidget.cpp(726)
10 3160 e:\Drive1\temp\buildwar3x\War3\Source\UI/CCargoGrid.cpp(164)
6 64 .?AUAllySlot@@(-2)
1 16 e:\drive1\temp\buildwar3x\engine\source\jass2\Instance.h(367)
1 1008 .?AV?$TSExplicitList@UCLightList@@$0?CCCCCCCD@@@(-2)
60 13860 .?AUANIM@@(-2)
2 17416 .?AUPrefetchNode@@(-2)
130 50344 .?AUCAnimRibbonObjStatus@@(-2)
152 29792 e:\Drive1\temp\buildwar3x\War3\Source\UI/CStatBar.cpp(102)
91 93184 e:\drive1\temp\buildwar3x\war3\source\worldedit\WECustomObjectData.h(268)
10 480 .?AV?$TSExplicitList@UBATCHEDRENDERFONTDESC@@$0?CCCCCCCD@@@(-2)
23 112 .\CONSOLE.CPP(1179)
219 92856 .\IFDFile.cpp(366)
73 1460 .\Instance.cpp(1362)
21 10104 .?AV?$CAgentPtr@VCUnit@@@@(-2)
88 25252 .?AUCAnimGeoset@@(-2)
1 32 HMDLHANDLER(-2)
10 280 .?AUTerrainImageTextureHash@@(-2)
1 84 .\Agile.cpp(386)
1 312 e:\Drive1\temp\buildwar3x\War3\Source\UI/CInfoPanelButton.h(116)
1 376 e:\drive1\temp\buildwar3x\war3\source\glue\CMainMenu.h(35)
17 139332 .?AUAGILE_TYPE_DATA@@(-2)
26 416 .\Position.cpp(182)
1 304 e:\Drive1\temp\buildwar3x\War3\Source\UI/CResourceBar.cpp(292)
2 464 e:\Drive1\temp\buildwar3x\War3\Source\UI/CBuildTimeIndicator.cpp(37)
1 20 .?AUGAMERESULT@Net@@(-2)
913 14608 .\FloatProp.cpp(105)
142 17608 .?AUCAnimLightObjStatus@@(-2)
1 1008 .?AV?$TSExplicitList@USTRINGREF@@$0?CCCCCCCD@@@(-2)
12 4128 e:\Drive1\temp\buildwar3x\War3\Source\UI/CInfoPanelGroupButton.cpp(82)
1 312 e:\Drive1\temp\buildwar3x\War3\Source\UI/CInfoPanelButton.h(90)
1 28 .\CWorldFrameWar3.cpp(2703)
1 3076 .?AVCDelayedAreaDamage@@(-2)
1 3588 .?AVCUpgradeHitPointsRegen@@(-2)
1 224 .\NetClient.cpp(269)
8 1152 .?AUSIMPLECONTEXTHASHOBJ@@(-2)
1493 71592 .?AVunreal@@(-2)
8 1024 .P6IHPAVCWidget@@PAUTWidgetEnumData@@@Z(-2)
12 30276 .?AV?$TSExplicitList@UWEDBEntryHash@@$0?CCCCCCCD@@@(-2)
22 352 .?AUCListBoxWar3Node@@(-2)
1 16 e:\drive1\temp\buildwar3x\engine\source\jass2\Instance.h(360)
1 3588 .?AVCUpgradeAttack@@(-2)
1 3652 .?AVCAbilityCargoDropInstant@@(-2)
8 544 .\CWidget.cpp(1788)
21 672 .?AUMENUITEM@@(-2)
7 2408 e:\Drive1\temp\buildwar3x\War3\Source\UI/CHeroBar.cpp(57)
1 8708 .?AVCEffectImageFogged@@(-2)
9 1081344 .\SFile.cpp(4361)
1 20 .\CGameUI.cpp(885)
5 30740 .?AUDestructableDataNode@@(-2)
1 16 .\Compile.cpp(143)
6 544 .?AUSpan@@(-2)
66 7128 e:\Drive1\temp\buildwar3x\War3\Source\Game/CPathingFootprint.cpp(54)
28 1034352 HMODEL(-2)
7 784 e:\Drive1\temp\buildwar3x\War3\Source\UI/CSoundManagerI.cpp(1459)
1 48 .?AV?$TSExplicitList@UHANDLERHASH@@$0?CCCCCCCD@@@(-2)
1 360 .\CGameUI.cpp(732)
1 128 .?AUHeightMap@@(-2)
65 4680 .?AUCOMMAND@@(-2)
60 3360 .?AUPORTRAITENTRY@@(-2)
29 14848 .\IFDFile.cpp(381)
25 2768 .?AUCAnimFlipbookStatus@@(-2)
3 6728 .\CTextArea.cpp(316)
4 1936 .\CScrollBar.cpp(33)
86 2752 .?AUFRAMENAMECREATEHANDLER@@(-2)
2 11008 .PAVCGxTex@@(-2)
1 64 HLAYER(-2)
1 24576 .?AUOccluderObject@CTerrain@@(-2)
1 12 e:\drive1\temp\buildwar3x\engine\source\jass2\Instance.h(357)
1 5124 .?AVCFilterFunc@@(-2)
13 7852 .?AUARCHIVEREC@SFile@Storm@@(-2)
1 196 e:\Drive1\temp\buildwar3x\War3\Source\UI/CUnitTip.cpp(74)
1 16 .\CGameUI.cpp(889)
1 672 .?AUCliffType@@(-2)
1 1280 e:\Drive1\temp\buildwar3x\War3\Source\WorldEdit/WEUtilities.cpp(3442)
138 4416 .?AUSTRINGREF@@(-2)
142 654904 .?AVCPmRegion@NIpse@@(-2)
5 143380 .?AUSymbol@@(-2)
0 0 .\CPlayerWar3.cpp(1899)
30 61120 .?AVCParticle@@(-2)
21 9828 HLOOPINGSOUND(-2)
1 18372 .?AVCAbilitySellItem@@(-2)
1 220 e:\Drive1\temp\buildwar3x\Engine\Source\Tempest/tempest_thread.h(102)
1 504 .?AV?$TSExplicitList@UCBoneList@@$0?CCCCCCCD@@@(-2)
2 720 .\SBig.cpp(1323)
17 152 .?AUTEXTUREHASHNODELISTNODE@@(-2)
1 1700 e:\Drive1\temp\buildwar3x\War3\Source\UI/CInfoPanelUnitDetail.cpp(609)
1 151552 .?AUTerrainModel@@(-2)
1 20 e:\Drive1\temp\buildwar3x\War3\Source\UI/CSoundManager.cpp(1907)
6 49176 .?AUSTRINGHASHNODE@@(-2)
2 60 new[](-1)
1 48 .?AV?$TSExplicitList@UMDLDATAHash@@$0?CCCCCCCD@@@(-2)
208 370240 .?AUCommandReg@@(-2)
1 196 e:\Drive1\temp\buildwar3x\War3\Source\UI/CInfoBar.cpp(99)
1 496 e:\Drive1\temp\buildwar3x\War3\Source\WorldEdit/WEUtilities.cpp(3430)
126 580504 .?AUCAnimBoneObj@@(-2)
1 12348 .?AV?$TSExplicitList@UFuncAddr@@$0?CCCCCCCD@@@(-2)
17 139332 .?AVCPoFlag@NIpse@@(-2)
10 790116 .?AV?$TSExplicitList@UKERNNODE@@$0?CCCCCCCD@@@(-2)
3 336 .?AUMessageData@@(-2)
1 140 e:\drive1\temp\buildwar3x\war3\source\unit\CCustomData.cpp(183)
1 84 .\Agile.cpp(392)
1 5120 .\BattleNetCache.cpp(508)
1 412 .\CBuildMode.cpp(36)
1 2300 .\CGameUI.cpp(374)
26 28080 .?AUCliffDataCacheNode@@(-2)
1 3588 .?AVCUpgradeMana@@(-2)
101 24196 .K(-2)
30 138360 .?AUKERNNODE@@(-2)
23 1472 .?AUCSplatKeys@@(-2)
1 80 e:\Drive1\temp\buildwar3x\War3\Source\UI/CUnitTip.cpp(52)
1 1632 e:\drive1\temp\buildwar3x\war3\source\glue\CMapList.h(65)
1 1852 e:\drive1\temp\buildwar3x\war3\source\ui\CEscMenuSaveGamePanel.h(143)
26 728 .?AUSIMPLEFRAMEREGHASH@@(-2)
1 24 .?AV?$TSHashObjectChunk@UCSolidTextureHash@@VHASHKEY_NONE@@@@(-2)
1 380 .?AUWaterLevelInfo@@(-2)
0 0 .\Instance.cpp(432)
2 128 .?AV?$TRefCntPtr@VCConstructUI@@@@(-2)
5 2420 .\CPopupMenu.cpp(33)
1 20 .\CGameUI.cpp(520)
1 6084 .?AVCAbilityCargoDrop@@(-2)
1 36 e:\Drive1\temp\buildwar3x\War3\Source\WorldEdit/CTerrainUberSplats.cpp(471)
1 232 e:\Drive1\temp\buildwar3x\War3\Source\UI/CInfoBar.cpp(92)
1 767704 e:\drive1\temp\buildwar3x\engine\source\jass2\Compile.h(152)
1 3588 .?AVCUpgradeHitPoints@@(-2)
68 5984 .?AUCTexLayerShared@@(-2)
1 13828 .?AVCPlayerUpgrade@@(-2)
1 3332 .?AVCAbilityEntangledGoldMine@@(-2)
5 10580 .?AVCAbilityInvulnerable@@(-2)
2 808 e:\drive1\temp\buildwar3x\war3\source\ui\CScriptDialog.h(62)
1 2628 .?AVCMissilePath@@(-2)
1 4676 .?AVCAbilityEatTree@@(-2)
7 256 .PAVCConstructUI@@(-2)
 

Valtarian

Member
Reaction score
3
629 3145 e:\Drive1\temp\buildwar3x\War3\Source\UI/CUnitUIManager.cpp(1117)
7 75292 .?AVCAbilityRally@@(-2)
1 48 .?AV?$TSExplicitList@UShadowImageHash@@$0?CCCCCCCD@@@(-2)
1 14852 .?AVCAbilityRepair@@(-2)
1 656 .\NetClient.cpp(290)
31 11160 .\CFrame.cpp(226)
2557 91932 .PAVCBaseManaged@@(-2)
957 68904 .?AUCTexLayer@@(-2)
1 49392 .?AV?$TSExplicitList@UHashedString@@$0?CCCCCCCD@@@(-2)
1 17924 .?AVCAbilityHarvest@@(-2)
1 17412 .?AVCOrder@@(-2)
1 3328 e:\drive1\temp\buildwar3x\engine\source\base\CDataStore.h(281)
1 28 e:\Drive1\temp\buildwar3x\War3\Source\UI/CMinimap.cpp(601)
3 588 e:\Drive1\temp\buildwar3x\War3\Source\UI/CToolTipWar3.cpp(75)
1 17412 .?AVCPlayerUnitDeathEventData@@(-2)
1516 692888 .?AVCImVector@NTempest@@(-2)
1 2064 .?AUGATEWAY@@(-2)
1 40 e:\drive1\temp\buildwar3x\engine\source\jass2\Instance.h(366)
1 48 .\NetProvider.cpp(536)
28 2800 HDATABASE(-2)
199 51740 .\IFDFile.cpp(345)
32 768 .?AUEvtHandler@@(-2)
1 2600 e:\Drive1\temp\buildwar3x\War3\Source\UI/CInfoPanelButton.cpp(1268)
1 14084 .?AVCLrPathingSys@NIpse@@(-2)
3 9216 .?AUMMINFO_MAP@BattleNet@@(-2)
1 8 .\CMessageFrame.cpp(291)
4 336 .?AUSTACKEDSOUND@@(-2)
1 64 .PAVCGhostImage@@(-2)
1 2308 .?AVCAbilitySalvage@@(-2)
1 4868 .?AVMineShaft@@(-2)
1119 124600 .?AUCAnimGeosetObjStatus@@(-2)
6 312 HTOKENIZER(-2)
65 2600 .?AUCOMMANDCATEGORYENTRY@@(-2)
3 1692 .\FrameDef.cpp(111)
1222 19552 .PAVCPmRegion@NIpse@@(-2)
1 100 .\CGameWar3.cpp(603)
3 768 .?AUHANDLENODE@@(-2)
2 32 .?AUCHeroListNode@@(-2)
1 900 .?AVCUpgradeEnableWeapon@@(-2)
1 476 e:\drive1\temp\buildwar3x\war3\source\ui\CCinematicPanel.h(69)
1 548 e:\Drive1\temp\buildwar3x\War3\Source\WorldEdit/WEUtilities.cpp(3436)
2 514 .\CEditBox.cpp(414)
1 312 e:\Drive1\temp\buildwar3x\War3\Source\UI/CInfoPanelButton.h(142)
1 20 e:\Drive1\temp\buildwar3x\War3\Source\WorldEdit/CTerrain.cpp(87)
1 5380 .?AVCAbilityAllied@@(-2)
147 21168 .?AUSTRINGVIEWMATRICES@@(-2)
1 24 .\BattleNetChat.cpp(649)
2 128 .?AU?$FixedString@D$0CA@@CDataStore@@(-2)
1 48 .?AV?$TSExplicitList@UEAXSOUNDENTRY@@$0?CCCCCCCD@@@(-2)
4 192 e:\Drive1\temp\buildwar3x\War3\Source\UI/CSoundManagerI.cpp(1421)
7 3612 e:\Drive1\temp\buildwar3x\War3\Source\UI/CHeroBar.cpp(220)
1 64 .?AUInventorySlot@CInventoryBar@@(-2)
1 28 .\CWorldFrameWar3.cpp(2705)
1 2308 .?AV?$CSiRequest@VCProximityMap@NIpse@@K@NIpse@@(-2)
1 6300 .?AV?$TSExplicitList@USTRINGVIEWMATRICES@@$0?CCCCCCCD@@@(-2)
65 28340 .\IFDFile.cpp(369)
1 232 e:\Drive1\temp\buildwar3x\War3\Source\UI/CProgressIndicator.cpp(38)
2 64 .?AUTOGGLECALLBACK@@(-2)
183 5124 .?AUOrderTypeReg@@(-2)
2 768 .\CEditBox.cpp(128)
2 584 e:\Drive1\temp\buildwar3x\War3\Source\UI/CBuildTimeIndicator.cpp(35)
1 352 e:\drive1\temp\buildwar3x\war3\source\ui\CHeroLevelBar.h(39)
1 496 e:\Drive1\temp\buildwar3x\War3\Source\WorldEdit/WEUtilities.cpp(3423)
3 36 .?AUInitFuncAddr@@(-2)
2 31752 .?AVCTriggerWar3@@(-2)
1 200 .\CGameWar3.cpp(204)
5 12820 .?AVCPoSeparate@NIpse@@(-2)
96 45696 .\CControl.cpp(844)
1 3500 .?AUOcclusionVertexObjects@CTerrain@@(-2)
1 10408 .\Jass.cpp(1034)
436 1744 .?AV?$CAgentPtr@VCRallyPoint@@@@(-2)
12 2784 e:\Drive1\temp\buildwar3x\War3\Source\UI/CToolTipWar3.cpp(92)
157 14960 .?AUShoreWaveModel@@(-2)
4 288 .?AUCPlayer@CNetData@@(-2)
294 41160 .?AUCGxString@@(-2)
2 1064 .\EvtSched.cpp(927)
5 2520 .\CTextButtonFrame.cpp(108)
2 544 .PAUInstance@@(-2)
3 120 .?AUMMINFO_TYPE@BattleNet@@(-2)
56 77436 .?AV?$TSExplicitList@VCRowOrColumn@@$0?CCCCCCCD@@@(-2)
1 460 e:\Drive1\temp\buildwar3x\War3\Source\WorldEdit/WEUtilities.cpp(3428)
1259 51526 .\FDFile.cpp(161)
49 2656 .?AUCCollision@@(-2)
2 640 e:\drive1\temp\buildwar3x\war3\source\ui\CBuildTimeIndicator.h(47)
1487 289572 e:\Drive1\temp\buildwar3x\War3\Source\UI/CUnitUIManager.cpp(882)
25 89700 .?AUString2HandleReg@@(-2)
1 40 e:\drive1\temp\buildwar3x\engine\source\jass2\Instance.h(359)
1 7044 .?AVCAbilityBurrow@@(-2)
313 6952 .PAVCGxuLight@@(-2)
39 18564 .\CControl.cpp(862)
1 64 .PAVCCargoButton@@(-2)
1 360 .\CGameUI.cpp(409)
1 200 .\AsyncFile.cpp(278)
1 10756 .?AVCAbilityEntangleCargo@@(-2)
6 528 .?AV?$TSExplicitList@UNATIVETOKEN@@$0?CCCCCCCD@@@(-2)
1 356 e:\drive1\temp\buildwar3x\war3\source\ui\CResourceBar.h(83)
10 3440 e:\Drive1\temp\buildwar3x\War3\Source\UI/CCargoGrid.cpp(74)
3 660 HLIGHT(-2)
1 360 .\CGameUI.cpp(771)
7 139804 .?AVCAbilityQueue@@(-2)
923 437120 .?AUCAnimEventObjStatus@@(-2)
1 1024 .?AV?$CAgentPtr@VCWidget@@@@(-2)
1446 18055 e:\Drive1\temp\buildwar3x\Storm\H\stpl.h(2608)
1 7428 .?AVCAbilityRenew@@(-2)
1 292 e:\Drive1\temp\buildwar3x\War3\Source\UI/CProgressIndicator.cpp(36)
1 6300 .?AV?$TSExplicitList@UAGILE_TYPE_DATA@@$0?CCCCCCCD@@@(-2)
1 48 .?AV?$TSExplicitList@UNETSELSOCKPTR@OsNet@@$0?CCCCCCCD@@@(-2)
17 2448 .?AUFONTSTRINGHASHNODE@@(-2)
5 55060 .?AVCAbilityCreepSleep@@(-2)
1 4740 .?AVCAbilityReinforce@@(-2)
1 6048 .?AUSXPValues@@(-2)
1 48 .?AV?$TSExplicitList@UCOMMANDCATEGORY@@$0?CCCCCCCD@@@(-2)
1 3276 .?AV?$TSExplicitList@UPrefetchNode@@$0?CCCCCCCD@@@(-2)
4 1936 .\CScrollBar.cpp(25)
1 40 .\CGameUI.cpp(887)
844 444920 .?AUCAnimModelObjStatus@@(-2)
24 5568 e:\Drive1\temp\buildwar3x\War3\Source\UI/CBuffIndicator.cpp(41)
6 216 .?AUStartPlayer@NetClient@Net@@(-2)
1 48 .?AV?$TSExplicitList@UCUberSplatInfo@@$0?CCCCCCCD@@@(-2)
2 120 .?AUSNDDURATION@@(-2)
2 688 .\IFDFile.cpp(432)
9 576 .?AUCMDDEF@@(-2)
2 1024 .PAVCPreselectUI@@(-2)
1445 40460 .?AUCODProfileStringHash@@(-2)
2 112 .?AUEvtThread@@(-2)
12 20400 e:\Drive1\temp\buildwar3x\War3\Source\UI/CInfoPanelGroupButton.cpp(76)
1 4612 .?AUJassHandle@@(-2)
4 8976 .?AVCAbilityOnFireHuman@@(-2)
1 1764 .?AV?$TSExplicitList@UAbilDataCacheNode@@$0?CCCCCCCD@@@(-2)
1 192 .?AV?$TSExplicitList@UMapInfoHeaderHashData@@$0?CCCCCCCD@@@(-2)
3 1032 .?AUFILEREC@@(-2)
1 3588 .?AVCUpgradeArmor@@(-2)
8 57376 .?AVCTaskAction@@(-2)
306 7344 .\GxuFontUtil.cpp(2551)
1 1764 .?AV?$TSExplicitList@UFunc2AgentReg@@$0?CCCCCCCD@@@(-2)
1 16 .\CGameUI.cpp(523)
14 24528 e:\Drive1\temp\buildwar3x\War3\Source\UI/CCommandButton.cpp(39)
1 1796 .?AVCUpgradeArmorType@@(-2)
3 52236 .?AVCOrderTarget@@(-2)
1 6300 .?AV?$TSExplicitList@UNativeFunc@@$0?CCCCCCCD@@@(-2)
28 560 .\CControlSet.cpp(23)
1 160 .?AVCAgentTimer@@(-2)
4 2704 e:\drive1\temp\buildwar3x\engine\source\frame\CHighlightFrame.h(71)
1 12348 .?AV?$TSExplicitList@UCODProfileNumValHash@@$0?CCCCCCCD@@@(-2)
9 119844 .?AVCTask@@(-2)
1 96 .?AV?$TSExplicitList@UMIDISOUNDENTRY@@$0?CCCCCCCD@@@(-2)
13 8376 .?AV?$TSExplicitList@UTTechTreeReg@@$0?CCCCCCCD@@@(-2)
1 328 e:\drive1\temp\buildwar3x\war3\source\ui\CInfoPanelBuildingDetail.h(88)
12 1944 .?AV?$TSExplicitList@UGLYPHBITMAPDATA@@$0?CCCCCCCD@@@(-2)
1 40964 HDBFIELD(-2)
456 36480 e:\Drive1\temp\buildwar3x\War3\Source\WorldEdit/CTerrainUberSplats.cpp(308)
8 14368 .?AUFRAMEREGHASH@@(-2)
1 98532 .?AV?$TSExplicitList@UFuncAddr2NameReg@@$0?CCCCCCCD@@@(-2)
4 159760 HSPRITEMINI(-2)
13 319540 HGEOSET(-2)
1 9160 e:\drive1\temp\buildwar3x\war3\source\net\../Data.h(116)
1 48 .?AV?$TSExplicitList@UBuffReg@@$0?CCCCCCCD@@@(-2)
1 192 .?AV?$TSExplicitList@UItemDataNode@@$0?CCCCCCCD@@@(-2)
1 6300 .?AV?$TSExplicitList@UUnitUIDef@@$0?CCCCCCCD@@@(-2)
18 53568 .?AUWEDBField@CWEDatabase@@(-2)
18 534600 .?AUMASTERSOUNDENTRY@@(-2)
1 192 .?AV?$TSExplicitList@UPrefString@@$0?CCCCCCCD@@@(-2)
1 50944 .?AUJassString@@(-2)
1 2372 .?AVCAbilityAcolyteHarvest@@(-2)
9 41508 .?AUSOUNDDEF@@(-2)
67 1876 .?AUPrefValue@@(-2)
1 368 e:\drive1\temp\buildwar3x\war3\source\ui\CUpperButtonBar.h(26)
11 204204 .?AUAbilityUIDef@@(-2)
58 3816 .?AUCAnimMaterialLayer@@(-2)
1 3588 .?AVCUpgradeHitPointsEx@@(-2)
1 15364 .?AVCAbilityTarget@@(-2)
5 115164 .?AV?$TSExplicitList@UCODFieldHash@@$0?CCCCCCCD@@@(-2)
1 424 e:\drive1\temp\buildwar3x\war3\source\ui\CAllianceDialog.h(36)
155 35960 .\CSimpleStatusBar.cpp(35)
53 5101780 .?AVCAgentBaseAbs@@(-2)
144 2958 e:\drive1\temp\buildwar3x\war3\source\unit\CUnitDatabase.cpp(252)
1 12 e:\Drive1\temp\buildwar3x\War3\Source\UI/CSoundManager.cpp(1916)
1 176 .\Jass.cpp(668)
12 5088 e:\drive1\temp\buildwar3x\war3\source\ui\CAllianceSlot.h(95)
1 356 e:\Drive1\temp\buildwar3x\War3\Source\UI/CInfoPanelUnitDetail.cpp(743)
5048 339260 .H(-2)
5 2640 .\CPopupMenu.cpp(44)
6 3048 .\FrameDef.cpp(63)
434 10416 .?AVCGxMat@@(-2)
4 1440 .\FrameDef.cpp(127)
1 384 e:\Drive1\temp\buildwar3x\War3\Source\UI/CHeroLevelBar.cpp(31)
1 28 .?AUScript2HandleReg@@(-2)
77 4620 .?AUCliffModelHash@@(-2)
86 1409368 .?AUObserverEventReg@@(-2)
14 9968 .?AUCGxFont@@(-2)
76 50624 .?AUPROPARRAY@@(-2)
1 3460 .?AVCAbilityReturn@@(-2)
1 504 .?AV?$TSExplicitList@UCPathingFootprintReg@@$0?CCCCCCCD@@@(-2)
49 7056 .\IFDFile.cpp(1445)
1 452 e:\drive1\temp\buildwar3x\war3\source\ui\CChatDialog.h(79)
1 202240 .?AUTerrainImage@@(-2)
4 192 .?AV?$TSExplicitList@USTACKEDSOUNDINSTANCE@@$0?CCCCCCCD@@@(-2)
1 12 .\CGameUI.cpp(518)
1 256 .PAVFRAMEPRIORITY@@(-2)
1 12 .\CMiscCustom.cpp(89)
1 16 e:\drive1\temp\buildwar3x\engine\source\jass2\Instance.h(363)
239 13008 .?AV?$TSExplicitList@UAGILE_TYPE_DESCENDANTS@AGILE_TYPE_DATA@@$0?CCCCCCCD@@@(-2)
32 12800 EngineNet#Recycled#Event#Data(-3)
1 292 e:\Drive1\temp\buildwar3x\War3\Source\UI/CStatBar.cpp(92)
152 35264 e:\Drive1\temp\buildwar3x\War3\Source\UI/CStatBar.cpp(48)
1 19204 .?AVCAbilitySellUnitDynamic@@(-2)
17 522308 HMATERIAL(-2)
7 784 .\IFDFile.cpp(966)
1208 5270800 .?AUCAnimObjBlendStatus@@(-2)
16 7020 .?AV?$TSExplicitList@UScriptData@@$0?CCCCCCCD@@@(-2)
1 3716 .?AVCAbilityBlightedGoldMine@@(-2)
905 79408 .?AUSPRITEANIM@@(-2)
1 12 e:\Drive1\temp\buildwar3x\War3\Source\UI/CSkinManager.cpp(215)
1 20 .\CGameUI.cpp(891)
7 700 .?AUCUberSplatInfo@@(-2)
24 59136 e:\Drive1\temp\buildwar3x\War3\Source\UI/CBuffBar.cpp(77)
4 928 .\CBackdropGenerator.cpp(158)
279 15624 .?AUCAnimCameraObjStatus@@(-2)
1 16 .\CGameUI.cpp(522)
2 3080 .?AVCFramePointAbsolute@@(-2)
59 1611520 .\Profile.cpp(123)
1 1764 .?AV?$TSExplicitList@UCommandReg@@$0?CCCCCCCD@@@(-2)
87 2774 .\CSimpleRender.cpp(441)
16 268 .PAVCSimpleFrame@@(-2)
1 64 .PAVCItem@@(-2)
515 22936 .\Texture.cpp(81)
1 1796 .?AVCUpgradeLumberJack@@(-2)
1 4176 .\BattleNetChat.cpp(189)
1 1028 .?AUSTATUSENTRY@CStatus@@(-2)
5 60 .?AUCQuestNode@@(-2)
1 3588 .?AVCUpgradeAttackDice@@(-2)
3 12336 .?AUMMINFO_DESC@BattleNet@@(-2)
6 2640 e:\Drive1\temp\buildwar3x\War3\Source\UI/CInventoryBar.cpp(69)
1 4996 .?AVCAbilityDetonate@@(-2)
50 1619796 .\W32\OsSnd.cpp(377)
4 928 .\CBackdropGenerator.cpp(81)
1 128 .PAVCEffectImagePos@@(-2)
196 3050 .\CTextFrame.cpp(545)
6 144 .\CWidget.cpp(533)
1 1056 .?AUWEDBFile@CWEDatabase@@(-2)
1 2052 .?AVCAbilityMilitiaConvert@@(-2)
66 1848 .?AUCPathingFootprintReg@@(-2)
1 1640 .\CGameUI.cpp(288)
1 3588 .?AVCUpgradeAddTechMaxAllowed@@(-2)
10 800 e:\Drive1\temp\buildwar3x\War3\Source\UI/CConstructUI.cpp(120)
57 38532 .\CCheckBox.cpp(106)
1 3268 .?AVCArtillery@@(-2)
2 6152 .?AVCUnitRefList@@(-2)
1 24 .?AV?$TSHashObjectChunk@UNETSELSOCKPTR@OsNet@@VHASHKEY_NONE@@@@(-2)
1 304 e:\drive1\temp\buildwar3x\war3\source\ui\CInfoPanelItemDetail.h(39)
1 348 e:\Drive1\temp\buildwar3x\War3\Source\UI/CInfoPanelBuildingDetail.cpp(453)
1 328 e:\Drive1\temp\buildwar3x\War3\Source\UI/CInfoPanelButton.h(168)
1 192 .?AUTargetIndicator@@(-2)
1 136 .\W32\OsTcp.cpp(2795)
1 288000 .?AUHandle2AgentReg@@(-2)
80 102720 .?AVCFramePointRelative@@(-2)
4 1088 .\IFDFile.cpp(399)
1 48096 .\WorldMatrix.cpp(38)
3776 45312 .?AUCUnitListNode@@(-2)
1 4356 .?AVCAbilityBuildInProgress@@(-2)
1 96 .?AV?$TSExplicitList@UCSplatKeys@@$0?CCCCCCCD@@@(-2)
93 31992 e:\Drive1\temp\buildwar3x\War3\Source\UI/CPreselectUI.cpp(221)
1 10756 .?AVCAbilityBunker@@(-2)
231 1848 .\CTextFrame.cpp(311)
1 60 .?AVCGxStateBom@@(-2)
8 576 .?AUSTACKEDSOUNDINSTANCE@@(-2)
1 2600 e:\Drive1\temp\buildwar3x\War3\Source\UI/CInfoPanelButton.cpp(1264)
1 48 e:\Drive1\temp\buildwar3x\War3\Source\WorldEdit/CTerrain.cpp(288)
2 8064 .?AV?$TSExplicitList@UIdStringReg@@$0?CCCCCCCD@@@(-2)
5 48660 .?AVCTaskTarget@@(-2)
2 224 HLISTENER(-2)
1 80 .\GfxSingletonManager.cpp(31)
1 568 e:\drive1\temp\buildwar3x\war3\source\ui\CEscMenuOptionsPanel.h(154)
1158 18528 .\FloatProp.cpp(119)
1 16 e:\drive1\temp\buildwar3x\engine\source\jass2\Instance.h(361)
1 523 e:\Drive1\temp\buildwar3x\War3\Source\Glue/CMainMenu.cpp(2230)
1 18436 .?AVCPlayerUnitTrainFinishEventData@@(-2)
1 3012 .?AVCAbilityOrcBuild@@(-2)
1 8 .PAVCampaignProfile@@(-2)
1 2352 .?AUCachedDisplayMode@@(-2)
1 1024 .?AV?$CAgentPtr@VCFogModifier@@@@(-2)
1 3588 .?AVCUpgradeAddUltraVision@@(-2)
1 12292 .?AVCAbilityShadowMeld@@(-2)
1 256 .PAUSyncEvent@Net@@(-2)
1 1700 e:\Drive1\temp\buildwar3x\War3\Source\UI/CInfoPanelBuildingDetail.cpp(454)
1 256 .?AVCTeamWar3@@(-2)
1 1764 .?AV?$TSExplicitList@UPrefValue@@$0?CCCCCCCD@@@(-2)
1 1796 .?AVCUpgradeRaiseDead@@(-2)
2 64 .PAUCPlayer@CNetData@@(-2)
1 8 .\CMessageFrame.cpp(290)
1 40 .\RCString.cpp(34)
13 3016 e:\Drive1\temp\buildwar3x\War3\Source\UI/CCommandButton.cpp(562)
5 2520 .\FrameDef.cpp(105)
2 664 HLOOPINGMIDISOUND(-2)
1 196 e:\Drive1\temp\buildwar3x\War3\Source\UI/CResourceBar.cpp(321)
13 133172 .?AVCPoPos@NIpse@@(-2)
1 7168 .?AUWaypointIndicator@@(-2)
1 14340 .?AVCLrPathingAcc@NIpse@@(-2)
1 1796 .?AVCUpgradeManaRegen@@(-2)
1 13828 .?AVCEffectBlight@@(-2)
4 768 .?AUPROVIDERENVIRONMENTPREFDESC@@(-2)
9 540 HPROFILE(-2)
1 76 (344)
153 612 .?AV?$CAgentPtr@VCEffectImage@@@@(-2)
1 5124 .?AVCForce@@(-2)
1 196 e:\Drive1\temp\buildwar3x\War3\Source\UI/CUnitTip.cpp(87)
16 1600 .\CPlayerWar3.cpp(61)
1 3332 .?AVCEventRegWar3@@(-2)
1 9476 .?AVCArtilleryLine@@(-2)
2 288 .?AUObjectChance@@(-2)
3 96 e:\Drive1\temp\buildwar3x\War3\Source\UI/CSoundManager.cpp(279)
3 48 .?AULIGHTNODE@CFrame@@(-2)
171 788652 .?AV?$CSiRequest@VCAgentTimer@@K@NIpse@@(-2)
1 2012 .\NetProviderBNET.cpp(400)
5 1540 .\IFDFile.cpp(435)
1 100352 .?AUWOModel@@(-2)
1 504 .?AV?$TSExplicitList@UCLinkList@@$0?CCCCCCCD@@@(-2)
1 1208 e:\Drive1\temp\buildwar3x\War3\Source\Glue/CBattleNetGlueData.cpp(518)
1 48 .?AV?$TSExplicitList@UTOGGLECALLBACK@@$0?CCCCCCCD@@@(-2)
5 92180 .?AUFuncAddr2NameReg@@(-2)
1 16 .?AUFOGNODE@CFrame@@(-2)
1 5120 .\SFile.cpp(832)
1 4096 .\SComp.cpp(1568)
1 140 .\Agile.cpp(90)
1 17832 .\W32\OsCall.cpp(309)
1 196 e:\Drive1\temp\buildwar3x\War3\Source\UI/CPortraitButton.cpp(447)
1 496 e:\Drive1\temp\buildwar3x\War3\Source\WorldEdit/WEUtilities.cpp(3431)
1 6300 .?AV?$TSExplicitList@UUnitDataNode@@$0?CCCCCCCD@@@(-2)
22 2772 .?AV?$TSExplicitList@UFRAMEREGHASH@@$0?CCCCCCCD@@@(-2)
3199 37944 .PAUHTEXTURE__@@(-2)
153 61200 .\IFDFile.cpp(351)
6 356480 .\funcs.cpp(75)
1 196 e:\Drive1\temp\buildwar3x\War3\Source\UI/CBuffBar.cpp(92)
554 8404 .\Handlers\TextFrameHandlers.cpp(602)
12 3145728 .\GxuFontUtil.cpp(2329)
6 48 .\Tokenizer.cpp(63)
10656 56536 .PBD(-2)
4513 1302240 .G(-2)
1 12 .\CGameUI.cpp(519)
9 73764 .?AUFuncAddr@@(-2)
1 32 .\CAgentBase.cpp(29)
3 87564 .?AVCAbilityMove@@(-2)
2220 179424 .?AUCSeqInfo@@(-2)
7 280 .?AUTYPEHANDLERSTRUCT@@(-2)
1 48 .?AV?$TSExplicitList@UChildDataReg@@$0?CCCCCCCD@@@(-2)
7 3024 e:\Drive1\temp\buildwar3x\War3\Source\UI/CHeroBar.cpp(71)
12 61488 .?AUFRAMENODE@CLayoutFrame@@(-2)
1 1700 e:\Drive1\temp\buildwar3x\War3\Source\UI/CInfoPanelBuildingDetail.cpp(452)
2 20480 .PAK(-2)
1 48 .?AV?$TSExplicitList@UMapInfoHashData@@$0?CCCCCCCD@@@(-2)
4 140 .PAX(-2)
1 6148 .?AVCPoPoVelocityMod@NIpse@@(-2)
1 440 e:\Drive1\temp\buildwar3x\War3\Source\UI/CPeonBar.cpp(39)
1 3716 .?AVCBuffMissile@@(-2)
104 1248 .?AUTriggerConditionNode@@(-2)
543 6516 .?AUEventRegNode@@(-2)
3 10764 .?AUFuncAddr2HandleReg@@(-2)
2 112 .?AUShadowImageHash@@(-2)
1 4100 .?AVCAbilityBlightRegen@@(-2)
1 12 .\CLayer.cpp(1328)
34 2312 e:\Drive1\temp\buildwar3x\War3\Source\UI/CSoundManagerI.cpp(1714)
40 1440 .?AUFRAMETYPETAGS@@(-2)
1 1008 .?AV?$TSExplicitList@UUncachableNode@@$0?CCCCCCCD@@@(-2)
6 195096 .?AUAbilDataCacheNode@@(-2)
2 8064 .?AV?$TSExplicitList@UIdReg@@$0?CCCCCCCD@@@(-2)
40 402 .\IFDFile.cpp(2295)
1 548 e:\Drive1\temp\buildwar3x\War3\Source\WorldEdit/WEUtilities.cpp(3438)
775 393700 .\IFDFile.cpp(354)
33 4827 .\CSimpleRender.cpp(414)
8 384 .?AV?$TSExplicitList@USIMPLEFRAMEREGHASH@@$0?CCCCCCCD@@@(-2)
1 548 e:\Drive1\temp\buildwar3x\War3\Source\WorldEdit/WEUtilities.cpp(3437)
57 28272 e:\drive1\temp\buildwar3x\war3\source\Glue/CGlueCheckBoxWar3.h(32)
37 25012 .\CControl.cpp(807)
1 348 e:\Drive1\temp\buildwar3x\War3\Source\UI/CInfoPanelGroup.cpp(36)
1 1908 e:\Drive1\temp\buildwar3x\War3\Source\UI/CTimeOfDayIndicator.cpp(149)
2 81928 .?AUScriptData@@(-2)
1 3588 .?AVCUpgradeSight@@(-2)
1 8 .PAVJassScript@@(-2)
3 1428 .\CDialog.cpp(16)
12 3504 e:\Drive1\temp\buildwar3x\War3\Source\UI/CInfoPanelGroupButton.cpp(61)
1098 50998 e:\Drive1\temp\buildwar3x\War3\Source\UI/CUnitUIManager.cpp(1108)
1 8 e:\Drive1\temp\buildwar3x\War3\Source\UI/CUnitUIManager.cpp(276)
1 1796 .?AVCUpgradeMove@@(-2)
1 18372 .?AVCAbilitySellUnit@@(-2)
6 15600 e:\Drive1\temp\buildwar3x\War3\Source\UI/CInfoPanelButton.cpp(402)
1 44036 .?AVCAbilityInventory@@(-2)
1 436 .\CMessageFrame.cpp(309)
11 1232 .\IFDFile.cpp(1182)
11 4796 .\IFDFile.cpp(414)
12 1944 .?AV?$TSExplicitList@UCHARCODEDESC@@$0?CCCCCCCD@@@(-2)
1 48 .?AV?$TSExplicitList@USkin@@$0?CCCCCCCD@@@(-2)
22 1936 .\CMultiBoard.cpp(515)
1 4676 .?AVCAbilityUnsummon@@(-2)
18 13092 new(-1)
1 2160 .?AUCGxDisplayMode@@(-2)
7 288 .?AV?$TSGrowableArray@PAVCSimpleFrame@@@@(-2)
1 612 .\CGameUI.cpp(370)
71 3124 .\SprAnimList.cpp(88)
12 4128 e:\Drive1\temp\buildwar3x\War3\Source\UI/CInfoPanelGroupButton.cpp(88)
1 340 .\CGameUI.cpp(420)
1098 45454 e:\Drive1\temp\buildwar3x\War3\Source\UI/CUnitUIManager.cpp(1097)
1 496 e:\Drive1\temp\buildwar3x\War3\Source\WorldEdit/WEUtilities.cpp(3429)
1 380 e:\Drive1\temp\buildwar3x\War3\Source\Glue/CGlueToolTipWar3.cpp(76)
1 504 .?AV?$TSExplicitList@UPORTRAITENTRY@@$0?CCCCCCCD@@@(-2)
15 88380 .?AVCPoReContinuousMod@NIpse@@(-2)
1 12804 .?AVCGhostImage@@(-2)
1 504 .?AV?$TSExplicitList@UFRAMENAMECREATEHANDLER@@$0?CCCCCCCD@@@(-2)
1 12348 .?AV?$TSExplicitList@UGameHashTableIntegerReg@@$0?CCCCCCCD@@@(-2)
1 140 e:\drive1\temp\buildwar3x\war3\source\unit\CCustomData.cpp(182)
2 10816 .?AVCTextTag@@(-2)
97 27040 .?AUCBoundsData@@(-2)
4 352 .?AUCLightningInfo@@(-2)
10 983080 .?AUUnitUIDef@@(-2)
7 784 .?AUTEXTUREHASHNODE@@(-2)
56 458752 e:\Drive1\temp\buildwar3x\Storm\H\SAPIEXTEND.H(323)
1 98532 .?AV?$TSExplicitList@UAgent2HandleReg@@$0?CCCCCCCD@@@(-2)
8 12320 .?AUSIMPLEFRAMENODE@@(-2)
27 1617516 HSPRITEUBER(-2)
1 192 .?AV?$TSExplicitList@UFRAMETYPETAGS@@$0?CCCCCCCD@@@(-2)
10 51240 .?AVCTaskPoint@@(-2)
130 1065480 .?AUAgent2HandleReg@@(-2)
25 108 .PAUHSPRITE__@@(-2)
1 2600 e:\Drive1\temp\buildwar3x\War3\Source\UI/CInfoPanelButton.cpp(1270)
2 584 .\FrameDef.cpp(121)
28 64624 .?AUCliffGeoset@@(-2)
13 14976 .?AUCAnimRibbonObj@@(-2)
1 404 .\CGameUI.cpp(492)
1 1796 .?AVCUpgradeSpikes@@(-2)
1 3588 .?AVCAbilityPurchaseItem@@(-2)
5 1680 .\IFDFile.cpp(429)
5 361600 .?AVCSplat@@(-2)
28 4677728 .?AUslkRow@@(-2)
1 4 .?AW4CursorMode@@(-2)
59 114464 .?AUCAnimModelObj@@(-2)
1170 14384 .PAVCParticleEmitter2@@(-2)
1 24 .?AV?$TSFixedArray@V?$TSFixedArray@K@@@@(-2)
30 1920 .\GxuFontUtil.cpp(2158)
1 232 e:\Drive1\temp\buildwar3x\War3\Source\UI/CStatBar.cpp(94)
1 292 .\CGameUI.cpp(713)
3 49164 .?AUAGILE_TYPE_DESCENDANTS@AGILE_TYPE_DATA@@(-2)
4 404 e:\drive1\temp\buildwar3x\war3\source\ui\../Data.h(116)
510 97011 .\IGxuFontGlyph.cpp(149)
3 33024 .PAVCPlaneParticleEmitter@@(-2)
130 154504 .?AVCRibbonEmitter@@(-2)
1 308 e:\drive1\temp\buildwar3x\war3\source\ui\CInfoPanelUnitDetail.h(102)
1 43012 .?AVCAbilityCargoHold@@(-2)
1 24 e:\Drive1\temp\buildwar3x\War3\Source\Glue/CMainMenu.cpp(349)
612 48079 HTEXTURE(-2)
6 192 .\SFile.cpp(4176)
33 12672 .\CMultiBoard.cpp(149)
2 888 e:\drive1\temp\buildwar3x\war3\source\ui\CMultiboard.h(143)
170 7480 .?AUCLightList@@(-2)
6 144 .?AV?$TSHashObjectChunk@UCTextureHash@@VHASHKEY_TEXTUREFILE@@@@(-2)
1 212 HFOG(-2)
15 2940 .\CDataRecycler.cpp(96)
12 2192 .?AUTEXTURECACHEROW@@(-2)
1 504 .?AV?$TSExplicitList@UCAnimList@@$0?CCCCCCCD@@@(-2)
1445 1479680 e:\drive1\temp\buildwar3x\war3\source\worldedit\CCustomObjectData.h(61)
1 2244 .?AVCAbilityOnFireNightElf@@(-2)
1 504 .?AV?$TSExplicitList@UCliffModelHash@@$0?CCCCCCCD@@@(-2)
9 1385984 .\SFile.cpp(4370)
1969 45036 .PAUCAnimObj@@(-2)
47 2068 .\SprLinkTable.cpp(107)
44 1004 .\CSimpleRender.cpp(360)
74 170792 .?AV?$CSiRequest@VCPrRelation@NIpse@@J@NIpse@@(-2)
33 15708 .\CMultiBoard.cpp(32)
11 5764 .\CMultiBoard.cpp(238)
10 5920 .\CMenu.cpp(52)
3 66060 .?AVCMissile@@(-2)
1 7172 .?AVCBuffMilitia@@(-2)
1 2048 .PAVCUberSplat@@(-2)
4 928 .\CBackdropGenerator.cpp(71)
1 2116 .?AVCAbilityNeutralInteract@@(-2)
1 476 e:\Drive1\temp\buildwar3x\War3\Source\Glue/CGlueToolTipWar3.cpp(40)
1 4356 .?AVCMissileLine@@(-2)
23747 854892 .?AUCODFieldHash@@(-2)
1 8 .\NetProviderBNET.cpp(435)
1 6020 .?AVCAbilityManaBattery@@(-2)
1 2628 .?AVCAbilityEntangle@@(-2)
1 12596 .\SFile.cpp(713)
132 100380 .?AUMDLSEQUENCESSECTION@@(-2)
1 44 HFACE(-2)
3 240 .?AV?$TSExplicitList@UCOMMANDCATEGORYENTRY@@$0?CCCCCCCD@@@(-2)
571 1508640 .?AVC34Matrix@NTempest@@(-2)
1 64 .PAVCFogMask@@(-2)
1 404 .\CGameUI.cpp(501)
34 1446 e:\Drive1\temp\buildwar3x\War3\Source\UI/CSoundManagerI.cpp(403)
10 17000 e:\Drive1\temp\buildwar3x\War3\Source\UI/CCargoGrid.cpp(62)
1 7172 .?AVCAcceleratorMap@NIpse@@(-2)
1 5636 .?AVCPoFgLis@NIpse@@(-2)
1 256 .PAUClientTurnsSync@Net@@(-2)
74 1212712 .?AUKEYVALUE@ProfileInternal@@(-2)
5 39700 .?AVCPoPoInterfLis@NIpse@@(-2)
1 3588 .?AVCUpgradeManaEx@@(-2)
1 5380 .?AVCAbilityNeutral@@(-2)
133 11236 .\CDataRecycler.cpp(142)
13 26676 .?AULAYERNODE@CLayer@@(-2)
1 384 .\CGameUI.cpp(6382)
13 25480 .?AUWaterDataCacheNode@@(-2)
1 48 .?AV?$TSExplicitList@URGN@@$0?CCCCCCCD@@@(-2)
25057 13103556 .\cmemblock.cpp(372)
2 1352 .\CEditBox.cpp(175)
12 5280 e:\Drive1\temp\buildwar3x\War3\Source\UI/CCommandBar.cpp(364)
1 40 e:\drive1\temp\buildwar3x\engine\source\jass2\Instance.h(356)
182 8330741 .\SFile.cpp(4072)
51 11016 e:\drive1\temp\buildwar3x\engine\source\frame\CSimpleMessageFrame.h(38)
1 3012 .?AVCAbilityNightElfBuild@@(-2)
1 772 .?AVCCreepCampUI@@(-2)
55354 1111147 e:\Drive1\temp\buildwar3x\Storm\H\stpl.h(2617)
20 4160 .?AVCParticleEmitter@@(-2)
1 32 .D(-2)
28 448 .\Integer.cpp(43)
1 140 e:\drive1\temp\buildwar3x\war3\source\unit\CCustomData.cpp(181)
2390 2026880 .?AUCAnimObjStatus@@(-2)
2 704 e:\Drive1\temp\buildwar3x\War3\Source\UI/CToolTipWar3.cpp(132)
1 316 e:\Drive1\temp\buildwar3x\War3\Source\UI/CInfoPanelButton.h(77)
1 15364 .?AVCAbilityCargo@@(-2)
480 30720 .\GxuFontUtil.cpp(2213)
13 1456 .\IFDFile.cpp(1205)
1 128 .?AUTerrainTexture@@(-2)
53 71444 .?AVCGuardPost@@(-2)
2 16384 .\CDataStoreChunked.cpp(466)
1 48 .?AV?$TSExplicitList@UFONTSTRINGHASHNODE@@$0?CCCCCCCD@@@(-2)
1 392 .\CGameUI.cpp(6390)
7 2408 e:\Drive1\temp\buildwar3x\War3\Source\UI/CHeroBar.cpp(63)
1 360 .\CGameUI.cpp(758)
725 58000 .?AUTerrainWaterModel@@(-2)
4 8208 .?AUChildNode@@(-2)
1 4 .PAVCInputMode@@(-2)
1 4612 .?AVCUnitEventReg@@(-2)
221 127296 .\CTextFrame.cpp(444)
18 147528 .?AVObserverRegistry@@(-2)
72 55380 .\GxuFont.cpp(36)
1 336 e:\Drive1\temp\buildwar3x\War3\Source\UI/CPreselectUI.cpp(49)
1 448 .\CGameUI.cpp(392)
1 5124 .?AVAcolyteRingSlot@@(-2)
76 220020 .?AUCAnimObj@@(-2)
1 48 .?AV?$TSExplicitList@USIMPLEFRAMENAMECREATEHANDLER@@$0?CCCCCCCD@@@(-2)
9 10240 .PAVCUnit@@(-2)
19 282188 .?AVCPoPosBh@NIpse@@(-2)
16 512 .?AVIntegerMini@@(-2)
1 3588 .?AVCUpgradeAttackRange@@(-2)
1 7748 .?AVCAbilityWispHarvest@@(-2)
1170 503440 .?AUCAnimEmitter2ObjStatus@@(-2)
1 532 .\WardenClient.cpp(345)
1 465948 .?AVTerrainVertex@@(-2)
6 50712 .?AVCEffectImage@@(-2)
1 3652 .?AVCAbilityStandDown@@(-2)
1 548 e:\Drive1\temp\buildwar3x\War3\Source\WorldEdit/WEUtilities.cpp(3439)
2 1352 e:\Drive1\temp\buildwar3x\War3\Source\Glue/CDialogWar3.cpp(331)
1 1536 .?AURGN@@(-2)
1 2424 e:\Drive1\temp\buildwar3x\Engine\Source\Ipse/ipse_thread.h(537)
9 25584 .?AV?$TSExplicitList@USECTION@ProfileInternal@@$0?CCCCCCCD@@@(-2)
2 768 .PAUTerrainModel@@(-2)
1 964 .?AVCCreepCampIndicator@@(-2)
306 1224 .PAUTEXTLINETEXTURE@@(-2)
34 1596 e:\Drive1\temp\buildwar3x\War3\Source\UI/CSoundManagerI.cpp(395)
1 2072 .\CGameUI.cpp(396)
4 139280 .?AVCDestructable@@(-2)
1 7428 .?AVCAbilityRestoration@@(-2)
1 2244 .?AVCAbilityOnFireUndead@@(-2)
14 336 .?AUWEUWarningHash@@(-2)
1 504 .?AV?$TSExplicitList@UCODDefaultStringHash@@$0?CCCCCCCD@@@(-2)
1 3588 .?AVCUpgradeAttackEx@@(-2)
1 3012 .?AVCAbilityNagaBuild@@(-2)
1 448 .?AUNETSELSOCKPTR@OsNet@@(-2)
1 480 .?AUCHANNELINFO@@(-2)
1 248 e:\Drive1\temp\buildwar3x\War3\Source\WorldEdit/CTerrainBlight.cpp(60)
8058 180756 .I(-2)
1 845 .?AUTileSetInfo@@(-2)
1 1588 .\W32\OsTcp.cpp(1871)
5 340 .?AUSkin@@(-2)
68 504 .\Handlers\MenuHashNode.cpp(81)
12 3840 e:\Drive1\temp\buildwar3x\War3\Source\UI/CInfoPanelGroup.cpp(118)
1 360 .\CGameUI.cpp(745)
1 19204 .?AVCAbilitySellItemDynamic@@(-2)
1 460 e:\Drive1\temp\buildwar3x\War3\Source\WorldEdit/WEUtilities.cpp(3426)
1 20 .\Engine.cpp(478)
1 416 e:\drive1\temp\buildwar3x\war3\source\ui\CTimerDialog.h(63)
10 66600 .?AUTTechTreeReg@@(-2)
1 9631 e:\Drive1\temp\buildwar3x\War3\Source\Glue/CMainMenu.cpp(2235)
2 144 .\Prop.cpp(54)
6 10200 e:\Drive1\temp\buildwar3x\War3\Source\UI/CInfoPanelBuildingDetail.cpp(494)
1 10244 .?AVCEffectImagePos@@(-2)
1 48 .?AV?$TSExplicitList@UCPlayer@CNetData@@$0?CCCCCCCD@@@(-2)
613 10240 e:\Drive1\temp\buildwar3x\War3\Source\UI/CSoundManagerI.cpp(1558)
4 928 .\CBackdropGenerator.cpp(61)
13 3796 e:\Drive1\temp\buildwar3x\War3\Source\UI/CCommandButton.cpp(558)
23 4680 .\FrameDef.cpp(439)
1 1008 .?AV?$TSExplicitList@UBASEFRAMEHASHNODE@@$0?CCCCCCCD@@@(-2)
65 14121 .?AUSyncEvent@Net@@(-2)
1 12348 .?AV?$TSExplicitList@UCODProfileStringHash@@$0?CCCCCCCD@@@(-2)
27 60588 .?AVCAbilityOnFireOrc@@(-2)
1 48 .?AV?$TSExplicitList@USIMPLECONTEXTHASHOBJ@@$0?CCCCCCCD@@@(-2)
3 9360 .?AUMMINFO_LADDER@BattleNet@@(-2)
12 49440 .?AUPrefString@@(-2)
5 3940 .?AUCAnimEmitterObj@@(-2)
12 1728 .\IFDFile.cpp(1056)
1 676 e:\drive1\temp\buildwar3x\war3\source\ui\CChatEditBar.h(37)
1 3076 HTEXTBLOCK(-2)
1 80 .PAVCSynchronousData@@(-2)
1 972 e:\Drive1\temp\buildwar3x\War3\Source\Glue/CBattleNetGlueData.cpp(504)
143 1716 .?AUTriggerActionNode@@(-2)
1 504 .?AV?$TSExplicitList@UFilter2AgentReg@@$0?CCCCCCCD@@@(-2)
1 48 .?AV?$TSExplicitList@UWEUWarningHash@@$0?CCCCCCCD@@@(-2)
6 196632 HMATERIALDATA(-2)
13 2548 e:\Drive1\temp\buildwar3x\War3\Source\UI/CCommandButton.cpp(565)
1 140 .\CGameUI.cpp(475)
1 1488 .\W32\OsTcp.cpp(3908)
7 718620 HANIM(-2)
6 95256 HMODELDATA(-2)
1 1008 .?AV?$TSExplicitList@UDestructableDataNode@@$0?CCCCCCCD@@@(-2)
1 492 e:\drive1\temp\buildwar3x\war3\source\ui\CChatEditBar.h(70)
3 17676 .?AVCPlayerChatEventReg@@(-2)
1 196 e:\Drive1\temp\buildwar3x\War3\Source\UI/CPortraitButton.cpp(433)
65 1144 e:\Drive1\temp\buildwar3x\War3\Source\UI/CUnitUIManager.cpp(1135)
499 128520 .M(-2)
2 10880 .?AUPing@@(-2)
1 1108 .\CGameUI.cpp(6831)
1 24696 .?AV?$TSExplicitList@UString2HandleReg@@$0?CCCCCCCD@@@(-2)
1 4612 .?AVCAbilitySpiked@@(-2)
1 48 .?AV?$TSExplicitList@UCSpawnModel@@$0?CCCCCCCD@@@(-2)
5 20500 .?AUANIMSOUND@@(-2)
3 6924 .?AV?$CSiRequest@VCPrBehavior@NIpse@@J@NIpse@@(-2)
2 10760 .?AUItemDataNode@@(-2)
25 176100 .?AVCMissileSplash@@(-2)
1 7172 .?AVCBuffAura@@(-2)
1 24 .?AV?$TSHashObjectChunk@URGN@@VHASHKEY_NONE@@@@(-2)
17 252 .?AUFONTSTRINGHASHNODELISTNODE@@(-2)
3380 170316 .?AV?$TSExplicitList@UKEYVALUE@ProfileInternal@@$0?CCCCCCCD@@@(-2)
1 4 .\EvtSched.cpp(794)
1 12804 .?AVCProximityMap@NIpse@@(-2)
1 3396 .?AVCAbilityRoot@@(-2)
14 66360 .?AVCAbilityUpgrade@@(-2)
5 9312 .?AUCustomObject@@(-2)
6 576 .?AUMMINFO_STYLE@BattleNet@@(-2)
1 16900 .?AVCPrClusterGen@NIpse@@(-2)
1 304 e:\Drive1\temp\buildwar3x\War3\Source\UI/CResourceBar.cpp(264)
9 258084 .?AUHashedString@@(-2)
16 448 .?AUCSubgroupListNode@@(-2)
18 216648 .?AVCLrPath@NIpse@@(-2)
1 292 e:\Drive1\temp\buildwar3x\War3\Source\UI/CInfoBar.cpp(88)
1 8260 .?AVCAbilityHarvestLumber@@(-2)
1 504 .?AV?$TSExplicitList@UCOMMAND@@$0?CCCCCCCD@@@(-2)
2 12600 .\W32\OsCall.cpp(229)
1 48 .?AV?$TSExplicitList@UTerrainImageTextureHash@@$0?CCCCCCCD@@@(-2)
1 304 e:\Drive1\temp\buildwar3x\War3\Source\UI/CResourceBar.cpp(306)
3 240 e:\Drive1\temp\buildwar3x\War3\Source\UI/CToolTipWar3.cpp(50)
78 699192 .?AVCPoReal@NIpse@@(-2)
61 29036 .\FrameDef.cpp(51)
5 267960 .\NetGameStore.cpp(163)
10 2280 .?AVCallbackObserver@CNetObserver@@(-2)
6735 7443528 .?AVC3Vector@NTempest@@(-2)
1 12348 .?AV?$TSExplicitList@UFRAMETYPENAME@@$0?CCCCCCCD@@@(-2)
524 30268 .?AUTerrainGeosetLayer@@(-2)
1 404 .\CGameUI.cpp(484)
2 632 e:\Drive1\temp\buildwar3x\War3\Source\UI/CInfoPanelButton.h(57)
1 8196 .?AVCScriptEventData@@(-2)
294 90864 .\GxuFontUtil.cpp(1473)
1 64 .PAUEvtTimer@@(-2)
36 16128 .\IFDFile.cpp(405)
1 262208 e:\Drive1\temp\buildwar3x\War3\Source\UI/CMinimap.cpp(496)
24 8832 e:\Drive1\temp\buildwar3x\War3\Source\UI/CBuffIndicator.cpp(45)
91 2548 .?AUCODDefaultStringHash@@(-2)
1 496 e:\Drive1\temp\buildwar3x\War3\Source\WorldEdit/WEUtilities.cpp(3420)
1 48 .?AV?$TSExplicitList@USNDDURATION@@$0?CCCCCCCD@@@(-2)
1 104 .?AUMUAnimName@@(-2)
2 48 .?AV?$CAgentPtr@VCDialogButton@@@@(-2)
26 633 .\CSimpleFrame.cpp(188)
365 2820 e:\Drive1\temp\buildwar3x\War3\Source\UI/CUnitUIManager.cpp(1126)
8 384 .?AV?$TSExplicitList@USIMPLEFONTSTRINGREGHASH@@$0?CCCCCCCD@@@(-2)
1 28 e:\Drive1\temp\buildwar3x\War3\Source\UI/CMinimap.cpp(597)
5 7200 .?AVCSplatBucket@@(-2)
1 64 .PAVAgileAgentQuery@@(-2)
1 548 e:\Drive1\temp\buildwar3x\War3\Source\WorldEdit/WEUtilities.cpp(3434)
1 3908 .?AVCAbilityGoldMine@@(-2)
1 48 .?AV?$TSExplicitList@UTEXTUREHASHNODE@@$0?CCCCCCCD@@@(-2)
1 64 .PAVCListBoxItemWar3@@(-2)
10 6760 .\CControl.cpp(797)
113 53788 .\CControl.cpp(853)
41 1804 .\SprLinkTable.cpp(134)
1 512 .?AUCSolidTextureHash@@(-2)
1 131264 .\CFogOfWarMap.cpp(795)
1 256 .\CGameUI.cpp(474)
4 928 .\CBackdropGenerator.cpp(101)
56 10976 .\SetupFrame.cpp(1688)
4 96 .?AV?$TSHashObjectChunk@UCModelHash@@VHASHKEY_STRI@@@@(-2)
12 43056 .?AUIdReg@@(-2)
373 6316296 .?AUCustomObjectField@@(-2)
2 3232 .\W32\OsTcp.cpp(2739)
1 96 .?AV?$TSExplicitList@UCliffDataCacheNode@@$0?CCCCCCCD@@@(-2)
------------------------------------------------------------------------------
 

sabatadark

New Member
Reaction score
0
When does the error occur? Figure out the answer(s) to this question and try to fix it. Is it caused by a trigger? If it is, which one? You may need to temporarily deactivate the trigger on a public release while you work on it. I know I had to do that when I was trying to mix elementals for my Sabata's Elemental RPG map. Large triggers tend to return errors, much like the triggers you shared. Look at your triggers and see if there are any shortcuts you can take to achieve the same effect.
 

Juggernaut

I don't know what to change it to
Reaction score
33
It's too much for me to try to read all of it. But as said, try to isolate the error, start by turning off triggers, one after another, if it stops at one trigger then investigate on that one.
The last time I got a fatal error was when trying to level an ability on a dead unit.
 

The Helper

Necromancy Power over 9000
Staff member
Reaction score
1,697
This would have been great for Blizzard Tech Support to have looked into back in the day LOL!
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Members online

      No members online now.

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top