38

» Way of Others / Сайт WooTeam теперь на XGM!

Ну вы вроде бы "свои" еретики, такчто норм)
38

» Way of Others / Сайт WooTeam теперь на XGM!

руководители проектов >= простые пользователи*
38

» WarCraft 3 / cJass - дополнение к языку JASS

да кстати сам по себе один счетчик не имеет смысла ведь у нас тут ооп зашкаливает, все либы независимы итп))
38

» WarCraft 3 / cJass - дополнение к языку JASS

векс уг - он тормознуто инлайнит ф-ции, не рассматривай его оптимайзер)
38

» WarCraft 3 / Библиотека функций

Что это?
я кстати тоже теперь в дифайны часто сравнения пихаю - так круче)
38

» WarCraft 3 / cJass - дополнение к языку JASS

всем хотелось бы.. тока для этого надо переписывать хайлайтер) вандам вроде начал. или нет ?
38

» WarCraft 3 / Библиотека функций

Старая версия ! смотреть http://xgm.ru/forum/showthread.php?t=29387
library_once Assert {

    define private msgwinX = 1.5
    define private msgwinY = -1.4
    define private assert_color = "FF404040"

    nothing Assert_debug_msg(string message) {
    // -1 = for all
        integer i = 0
        whilenot(i>11) {
            DisplayTextToPlayer(Player(i),msgwinX,msgwinY,"|c"+assert_color+"Debug(all): "+message+"|r")
            i++
        }
    }
    
    define private DMSGFUNC = Assert_debug_msg

    define ASSERT(ARG) = {
        if(ARG) {
            DMSGFUNC(`ARG`)
        }
    }
    
    define ASSERTR(ARG,WHATRET) = {
        if(ARG) {
            DMSGFUNC(`ARG`)
            return WHATRET
        }
    }
    
    define ASSERTF(NAME,ARG) = {
        if(ARG) {
            DMSGFUNC(`NAME` + ": " + `ARG`)
        }
    }
    
    define ASSERTFR(NAME,ARG,WHATRET) = {
        if(ARG) {
            DMSGFUNC(`NAME` + ": " + `ARG`)
            return WHATRET
        }
    }

}
Библиотека обработки ошибок. Имеет 4 макроса:
ASSERT(Условие)
ASSERTR(Условие, Возвращаемое значение)
ASSERTF(Имя текущей функции, Условие)
ASSERTFR(Имя текущей функции, Условие, Возвращаемое значение)

Пример использования:
void MyFunc(int a) {
    ASSERT(a == 0)
}
Если a равен 0, выведет:
Debug(all): a == 0
bool MyFuncB(int temp) {
    ASSERTR(temp == 0, false)
    return true
}
Если temp равен 0, выведет:
Debug(all): temp == 0
и функция вернет значение false
bool MyFuncC(int temp) {
    ASSERTF(MyFuncC, temp == 0)
}
Если temp равен 0, выведет:
Debug(all): MyFuncC: temp == 0
bool MyFuncD(int temp) {
    ASSERTFR(MyFuncD, temp == 0, false)
    return true
}
Если temp равен 0, выведет:
Debug(all): MyFuncD: temp == 0
и функция вернет значение false
38

» WarCraft 3 / Библиотека функций

нет это тупо. тут главный недочет - это то, что тут 32 була а надо всегото 1 интежер) по памяти.
ScorpioT1000 добавил:
ты еще не видел как мой хэш стрингов тормознуто работает) напиши там любое слово в этой карте типа "aa", "ab", "ac")
38

» WarCraft 3 / Библиотека функций

что это?
ScorpioT1000 добавил:
handle id - это и есть ключь из хэш-таблицы хэндлов(а никакой не адрес ячейки виртуальной памяти и прочая мишура), на которой построены все данные в варкрафте. пользуясь им (т.е. для каждого хендла свой ключ) мы находим индекс например массива, или id структуры. это самый быстрый способ для варика
38

» WarCraft 3 / Библиотека функций

хэш тейбл вобще не нужен, нужно тока get handle id
38

» Прочее / Выбор названия для ЗБТ сервера Aion.

для необразованных детей урбанизации - [url]http://ru.wikipedia.org/wiki/Ариэль[/url]
38

» Прочее / Выбор названия для ЗБТ сервера Aion.

"хех, зато как выглядит..." - как унылое говно, как же еще то? загадочности 0, масштабности 0, микроландшафтинга 0..
38

» Прочее / Выбор названия для ЗБТ сервера Aion.

говно. смешали все подрят, зачем это вобще людям показывать?)