nazarpunk, Blizzard хотя бы Art Tools выпустили, EA для моделлинга Tiberian Sun и Red Alert 2 вообще ничего не сделали. Даже редактора карт в комплекте игры нет.
nazarpunk, ага, реверс инжинирингом в 2003 были добыты 🤣
Совсем уже оторвались от реальности. Без нормального редактора моддинг в варе никому бы не всрался, и игра бы умерла, так как одних мили недостаточно, чтобы поддерживать интерес к игре. Именно благодаря интуитивно понятному и простому редактору моддинг в варе стал настолько популярен, и именно поэтому сейчас есть заинтересованные люди, чтобы реверсировать игру.
Сами моддеры чёт за 20 лет так и не смогли нормальный аналог редактора сделать. Только всякие инжекты типа JNGP или недоделанные проекты типа HiveWE. Поэтому заслуга у Blizzard в этом очень и очень большая.
И на самом деле можно указать размер в 8191, последний индекс будет работать, а указание размера не выльется в создание доп. массивов для структуры.
Тут я немного ошибся, доп. массивы будут созданы и все присвоения/получения будут делаться через функцию, но сами массивы не будут использованы.
код
globals
constant integer A_size= 8191
//JASSHelper struct globals:
constant integer si__A=1
integer si__A_F=0
integer si__A_I=0
integer array si__A_V
integer array si__A_2V
integer array s__A_2a
integer array s__A_a
endglobals
function sg__A_get_a takes integer i returns integer
return s__A_a[i]
endfunction
function sg__A_set_a takes integer i,integer v returns nothing
set s__A_a[i]=v
endfunction
//Generated allocator of A
function s__A__allocate takes nothing returns integer
local integer this=si__A_F
if (this!=0) then
set si__A_F=si__A_V[this]
else
set si__A_I=si__A_I+1
set this=si__A_I
endif
if (this>8191) then
call DisplayTimedTextToPlayer(GetLocalPlayer(),0,0,1000.,"Unable to allocate id for an object of type: A")
return 0
endif
set si__A_V[this]=-1
return this
endfunction
//Generated destructor of A
function s__A_deallocate takes integer this returns nothing
local integer used
if this==null then
call DisplayTimedTextToPlayer(GetLocalPlayer(),0,0,1000.,"Attempt to destroy a null struct of type: A")
return
else
set used=si__A_V[this]
if (used!=-1) then
call DisplayTimedTextToPlayer(GetLocalPlayer(),0,0,1000.,"Double free of type: A")
return
endif
endif
set si__A_V[this]=si__A_F
set si__A_F=this
endfunction
Отчего была зажата рабочая ячейка - неясно. Если указать размер 16382, то будут созданы 2 доп. массива, но использоваться будет только один. Если указать 16383, то будут использоваться все, хотя места хватает, ведь 16383 = 8192 * 2 - 1.
fenathesnake, так кол-во индексов для структуры можно указать после имени структуры. И на самом деле можно указать размер в 8191, последний индекс будет работать, а указание размера не выльется в создание доп. массивов для структуры. Не знаю, почему по умолчанию размер 8190.
ScorpioT1000, бинарного поиска там нет, аллокация происходит за константное время. Там больше проблема в том, что эти 8к общие для класса и всех его наследников. И наличие массивов в атрибутах тоже уменьшает кол-во возможных объектов.
Agren, вот с кислотностью категорически не согласен, RA3 для меня во многом вырвиглазный, особенно вода. С SC2 у меня такой проблемы нет, его визуал ближе к C&C3, чем к RA3.
Agren, сама игра бесплатная, поэтому кампания платная. В штормгейте ты можешь бесплатно поиграть 1на1 и кастомки, а вот в варе так нельзя, будь добр купи игру, даже если тебе кампании в ней нафиг не нужны.
Только в стакрафте 2 с 2017 первая кампания стала бесплатной вместе с самой игрой, спустя 6 лет с релиза.
EugeAl, для моделлинга инструменты были, близзарды выпускали WarCraft III Art Tools для 3D Studio Max. Можешь поискать, даже вроде на XGM есть.
Нормальный кодинг в WE? Он был бы не нужен, если бы близзарды как раз сделали качественный GUI с полным апи и без утечек.
Техподдержка по вопросам по редактору? Базовый мануал идёт в комплекте с игрой, а больше и не нужно.
Вот в SC2 проблем с утечеками нет, поэтому мало кто из моддеров пишет код. Редактор объектов весьма гибкий, поэтому для спелов даже триггеры не юзаются. И для SC2 тоже выпускали Art Tools.
а не делали "игру для людей"
Так игры замечательные вышли, все твои претензии про моддерство, что на качество самой игры мало влияет.
» Stormgate / Аллен Диллинг вкатился в Stormgate
Ред. PT153
» Stormgate / Аллен Диллинг вкатился в Stormgate
» WarCraft 3 / Bergi's Nightmare
» WarCraft 3 / Поиск незакрытых if'ов
Так-то pjass показывает, какой блок не закрыт, но всё упирается в vJass, который руинит до pjass.
» WarCraft 3 / Fraction War Alpha v0.02
» WarCraft 3 / Имеет ли смысл обнуление глобальных переменных? Jass
» Stormgate / Stormgate, анонс обновления 0.1.0
» WarCraft 3 / War3-lua-table
» Stormgate / Интервью Тима Мортена
Поэтому Art Tools не могут быть с нами в одной.
» WarCraft 3 / War3-lua-table
» Stormgate / Интервью Тима Мортена
Ред. PT153
» Stormgate / Интервью Тима Мортена
Ред. PT153
» WarCraft 3 / Jass MythBusters
» WarCraft 3 / JNGP: ReBuild by Enobraed
» WarCraft 3 / JNGP: ReBuild by Enobraed
» За огненной стеной / Комментарий от сотрудника Blizzard по поводу vJass
Ред. PT153
» За огненной стеной / Комментарий от сотрудника Blizzard по поводу vJass
Ред. PT153
» За огненной стеной / Комментарий от сотрудника Blizzard по поводу vJass
» За огненной стеной / Комментарий от сотрудника Blizzard по поводу vJass
» За огненной стеной / Комментарий от сотрудника Blizzard по поводу vJass
» Stormgate / [Опрос] Что там по Штормгейту?
» Stormgate / [Опрос] Что там по Штормгейту?
Ред. PT153
» Stormgate / [Опрос] Что там по Штормгейту?
Ред. PT153
» Stormgate / [Опрос] Что там по Штормгейту?
Только в стакрафте 2 с 2017 первая кампания стала бесплатной вместе с самой игрой, спустя 6 лет с релиза.
Ред. PT153
» Stormgate / [Опрос] Что там по Штормгейту?
Нормальный кодинг в WE? Он был бы не нужен, если бы близзарды как раз сделали качественный GUI с полным апи и без утечек.
Техподдержка по вопросам по редактору? Базовый мануал идёт в комплекте с игрой, а больше и не нужно.