28

» WarCraft 3 / Jass MythBusters

	globals
		location Loc
	endglobals

	function DoSomething takes nothing returns nothing
		local location loc
		set Loc = Location(0., 0.)
		set loc = Loc
	endfunction
В данном примере важно понять, утекает ли локальная переменная loc без обнуления или нет. Тут не нужно удалять локацию, она занесена в глобалку и будет использоваться в другом коде.
28

» WarCraft 3 / Jass MythBusters

Смотри видео внимательно, оно потом падает, ибо проходят и другие действия. Оно не растёт без конца. Оно ещё и падает
Предоставленный код тобою - утекает лишь в случае если его повторять и не удалять используемый объект.
Я предоставил ссылку на мою статью, где показывается, что если удалять точку и не обнулять переменную, потребление ОЗУ растёт. В твоей статье это якобы опровергается, но в тестах с локацией, что ты привёл, локалка обнуляется (ну и разумеется потребление ОЗУ остаётся неизменным). Это не опровержение, а подтверждение.
вопрос к тебе, как думаешь, утекает ли это
Судя по твоему тесту с юнитов - утечек не будет.

Я так понял, проблема с локалками возникает в том случае, если в функции создаётся хендл.
То есть, если создаётся хендл, то ЛЮБУЮ локалку этой функции, в которой этот хендл находится или находился в процессе выполнения функции, нужно обнулить.

И прекратите цитировать комментарий целиком по нескольку раз в ответе.

05070000 -> local handle
00000487 -> её id
0C290500 -> literal register (type) location
13290000 -> push register
0C2A0500 -> literal register (type) location
132A0000 -> push register
15000000 -> callnative
00000314 -> id нативки
11000000 -> setvar
00000F7D -> id переменной
0E2B0700 -> get var register (type) Handle
00000F7D -> id переменной
112B0000 -> setvar register
00000487 -> id переменной
0E2C0700 -> get var register (type) Handle
00000F7D -> id перемнной
132C0000 -> push register
15000000 -> callnative
00000315 -> id нативки
0C000000 -> literal R0
27000000 -> return
А почему тут два раза callnative? Нативка же одна в примере, Location.
Скорее всего часть взята из дополненного примера, где есть RemoveLocation.

Не могу понять, почему в моём примере байткод начинается с
05070000 -> local handle
00000487 -> её id
В то время как в твоём примере ниже
05070000 -> local (type) handle
00000487 -> id переменной
Хотя обе функции начинаются с local location.
Думаю, тут какая-то ошибка.

Нужно исправить все ошибки и более подробно объяснить, в каких ситуациях возникает утечка, а в каких нет. И главное, почему утечка переменной вообще возникает:
3 фактических push, так как локальный реестр не был обнулён, то popstack (который вызывается всегда) решает его не трогать
С чего он решает не трогать?
28

» WarCraft 3 / Jass MythBusters

мы СОЗДАЁМ переменную и присваиваем её в локальную переменную
Создаём объект

Простой ответ - сами переменные не утекают ни при каких обстоятельствах и они преобразуются в нечто статичное, и им выделена память единожды. Потому, утечки вызываются фактически банальной проблемой логики в самом коде, то бишь вы создали хендл, а затем его не удалили и так может повторяться уйму раз.
Ладно, тогда почему тут всё удаляется, а потребление ОЗУ растёт? В твоих примерах с группой и локацией переменная обнуляется.

	globals
		location Loc
	endglobals

	function DoSomething takes nothing returns nothing
		local location l
		set Loc = Location(0., 0.)
		set l = Loc
	endfunction
Вот это утекает?
28

» WarCraft 3 / JNGP: Rebuild от PT153

Файл "Clean game path.reg" <...> обновлён.
Обнова была выпущена из-за того, что я улучшил файл clear-game-path.reg после внимательного изучения findpath.lua. До этого .reg файл очищал не все пути, и таким образом иногда JNGP всё же мог найти путь к вару. Сейчас это проблема исправлена. А переименование - приведение всех файлов в корневой папке к одному виду, без пробелов - просто дополнение.
28

» WarCraft 3 / JNGP: Rebuild от PT153

Вышла новая версия!
Прокрутить к ресурсу

Обновление v1.3.1

раскрыть
  • Файл "Clean game path.reg" переименован в "clear-game-path.reg" и обновлён.
  • Файл "Remove Tool Windows entry.reg" переименован в "remove-tool-windows-entry.reg".
28

» World of WarCraft / Dragonflight - Новое дополнение в World of Warcraft!

ScorpioT1000, блад эльфийка и найт эльфийка соответственно, так что я бы даже сказал, что огнище!
28

» WarCraft 3 / HiveWE - World Editor 0.6

ScorpioT1000, он про редактор, а не про игру. И 1.31 поддерживает вин 10. Никакая семёрка не нужна.

Все системные требования:
64 bit Windows
OpenGL 4.5 support
Visual C++ 2017 or 2019 redistributables
Warcraft 1.31 or later
28

» WarCraft 3 / Warcraft 2: Tides of Darkness

Уже не раз пытались подобное сделать.
По ссылке неполная кампания всё же.
28

» WarCraft 3 / Сравнительная таблица Reforged и 1.26

Bergi, если луа можно юзать в 1.26, то можно юзать любой язык, который транспилируется в луа, тот же тс.
Никогда не слышал, что можно сочетать Jass и луа в одной карте на рефе, есть информация?
Сохранения игр по сети. В Reforged нету.
Ещё в рефе вроде как нет окна ожидания, сразу кик.
28

» WarCraft 3 / Сравнительная таблица Reforged и 1.26

Поддержка cJass Да Нет
Поддержка Lua Да Да
Поддержка TS Нет Да
cJass и TS переходят в жасс и луа, поэтому они везде поддерживаются.

8 ядер, 8 гигов, видеокарта 1060, SSD
Это официальные минимальные требования?

Возможность делать карту сразу на двух языках Lua/Jass Да Нет
Оба да.

Возможность купить в России нет
Да уверен диски ещё где-то есть. У меня есть диски 1.21, скопированные оттуда инсталлеры 1.21. Также давно с сайта скачал инсталлеры 1.27.
28

» WarCraft 3 / Jass New Gen Pack - Rebuild 1.4

Но не могу понять что за версия расположена на сайте wc3modding
Там больше фич встроенных, например, смена патча игры.
28

» Гейминг / Blizzard ушла из России

Nikolay36, доступны и играбельны.

Разве кроме вова, для которого нужна подписка.
28

» Гейминг / Blizzard ушла из России

деньги не вернули за купленную игру, вот халявщики
Все купленные игры доступны.
28

» WarCraft 3 / Улучшение запускается с самого начала игры

Принятый ответ
Сам процесс как раз важен. Я его использую как таймер, мол когда улучшение сделается, то произойдет какое-то действие и т.д.
Сделай это просто таймером и окном таймера.
28

» WarCraft 3 / Почему жывтоне перестали мяукать?

(не нашёл сверху, где всякие cJass'ы)
Галку с Mute editor sounds нужно снять.
Загруженные файлы
28

» WarCraft 3 / GetCameraField + GetLocalPlayer = ошибка

host_pi, код из вопроса не десинкает, а вот дальнейший код очень даже может. Что происходит после установки real?
28

» WarCraft 3 / как правильно расшифровать функцию?

что именно нужно там указать?
Читаем сигнатуру BJ функции
location where
Аналогично и с modelName.