30

» WarCraft 3 / Насколько быстро выполняется if ? - [Jass]

но и лишний раз интегерную переменную создавать не хочеца.
Тебя в детстве интегеры обижали?
30

» WarCraft 3 / Насколько быстро выполняется if ? - [Jass]

Я же не могу сетнуть глобалку выше объявления локалок.
Правда? А ты моск для этого пытался использовать?
globals
	hashtable HT // текущая таблица
	integer HI // текуший главный ключ таблицы
endglobals

function GetInt takes integer k return integer
	return GetSavedInteger(HT, HI, k)
endfunction
// ... пачка функций на каждый тип

function GetTimerId takes hashtable ht returns integer
	set HT = ht
	set HI = GetHandleInd(GetExpiredTimer())
	return HI	
endfunction

function callback takes nothing returns nothing
	local integer id = GetTimerId(SomeHashtable)

	local integer myInt = GetInt(1)
	local string myStr = GetStr(22)
	//...

endfunction
30

» WarCraft 3 / Насколько быстро выполняется if ? - [Jass]

Только что свой способ попробовал, и словил перезапись данных, что очень странно.
Я выше привёл классический, безотказный способ. Но нужно же обязательно изобрести велосипед.
30

» WarCraft 3 / Насколько быстро выполняется if ? - [Jass]

LastUchiha, потому что мне лень вспоминать как нативка зовётся. По коду основная мысль и так понятна.
30

» WarCraft 3 / Насколько быстро выполняется if ? - [Jass]

quq_CCCP, это дефолт обёртка над хт
globals
	hashtable HT // текущая таблица
	integer HI // текуший главный ключ таблицы
endglobals

function GetInt takes integer k return integer
	return GetSavedInteger(HT, HI, k)
endfunction
// ... пачка функций на каждый тип

function callback takes nothing returns nothing
	set HT = SomeHashtable
	set HI = GetHandleInd(GetExpiredTimer())

	set myInt = GetInt(1)
	set myStr = GetStr(22)
	//...

endfunction
30

» WarCraft 3 / Насколько быстро выполняется if ? - [Jass]

Думаю такой вариант будет лучше
Если MUIID когда-то примет значение отличное от ноля, то она больше никогда ничего кроме него не вернёт. Гениально.
30

» WarCraft 3 / Насколько быстро выполняется if ? - [Jass]

Экономить на наносекундах - такое себе)
Ты не понимаешь, нужно экономить на наносекундах вызова функции, а потом писать шикарные O(n!) алгоритмы.
30

» WarCraft 3 / JNGP: Rebuild от PT153

По-другому никак.
Тогда выходит что я сломал реальность и нарушил правила мироздания.
30

» Game Dev / Entity Component System (ECS)

bifurcated, ну, на грязножассе нет нормального ООП, посему и сравнивать с ECS некорректно.
30

» Game Dev / Entity Component System (ECS)

KaneThaumaturge, как я понял, идея в том чтоб убрать автоматику из жтого вашего ООП и вручную более оптимально ложить структурированные данные в память.
30

» WarCraft 3 / JNGP: Rebuild от PT153

PT153, ты не понял. Локальных файлов не было когда оно не грузило. Это потом я их выбрал как более удобное решение.
30

» Game Dev / Entity Component System (ECS)

позиция и хп это компоненты
Каким образом они слинкованы? Если при получении достаточного урона юнит умер, то его вектор не передастся следующему юниту. Как это делается?
30

» Game Dev / Entity Component System (ECS)

Угадай в каком решении быстрее сделать обходы и умножения векторов много раз в секунду
А насколько у нас тесные связи? Вот допустим у нас есть система аур. Одна аура распространяет пониженную гравитацию в сфере. Другая распространяет вектор гравитации к своему центру. Третья убирает коллизии на своём радиусе. Как нам поможет ECS?
Ну или вообще по классике. Есть у нас дерево. Как удалить родителя не оставив висячих ссылок в пустоте? В ООП это разрулится деструкторами. А в ECS?
30

» Game Dev / Entity Component System (ECS)

bifurcated, а каким образом связаны собственно позиции и хп. Это же по сути разные сущности. Ну или более банальный пример. У нас физический движок и нужен маятник Ньютона? Как передать импульс ровно последнему шарику?
Загруженные файлы
30

» WarCraft 3 / Heroes of War 2

Внимание! При сетевой игре 1 слот обязательно должен быть занят игроком, для выбора сложности игры
Неужели так сложно дать выбор первому незанятому слоту?
30

» Game Dev / Entity Component System (ECS)

ScorpioT1000, а как слинковать сущности между собой? Например нанести юниту урон от столкновения?
30

» Game Dev / Entity Component System (ECS)

Например, игрок является сущностью, а его скорость, позиция и жизни компонентами, движение игрока будет системой, которая итерируется по компонентам скорости и позиции. Данный подход делает наш код практичным и переиспользуемым.
Ужасное ООП
class Unit {
	vec3 position;
	vec3 speed;

	void move(){
		//...
	}
}
Прекрасный ECS
struct Position {
	vec3 position;
}

struct Speed {
	vec3 position;
}

class Unit {
}

struct UnitHolder {
	Unit unit;
	Position position;
	Speed speed;
}


void moveUnit(UnitHolder unit){
		//...
}
30

» Game Dev / Entity Component System (ECS)

Данный подход делает наш код практичным и переиспользуемым.
А методы для работы с этими сущностями в код не входят?
30

» Game Dev / Entity Component System (ECS)

Но почему он становится более предпочтительным в разработке игр нежели всем известный ООП с его подходами?
И почему же?
30

» WarCraft 3 / JNGP: Rebuild от PT153

PT153, включён. Но я уже забил. Оказалось что даже без локальных файлов всё подхватывается из папки UI варкрафта, в моём случае даже удобней.
30

» XGM Team / Апгрейд - встречайте ТЕМЫ!

Алексей Андреич, нужно интересное поднимать, а не шнягу опускать. Тогда интересное будет агрессивней всплывать и перекрывать всю шнягу.
30

» Во власти наживы / Глава 10. Харлок 2

Cancel, ога, он самый. Правда я не догадался на первом отзыве немного побакланить с дипсиком чтоб настроить его на более детальный разбор.