Сделал за 10 минут первую версию logo для проекта (рисовал в SketchBookX):
Рисовал на смартфоне пальцем.
Кет, я даже проект не создам, пока всё не будет работать, как я хочу.
Но если моя теория верна, то проблем быстро сделать поддержку всех технологий и эффектов не будет. Велика вероятность, что на следующей неделе основа уже будет готова, а дальше пойдёт чистое творчество.
Слоган: RenderEdge - это новое поколение среды разработки проектов для WarCraft 3, грань отделяющая стандартный WorldEditor от совершенно нового и необычного.
Пожалуйста, высказывайте свое мнение.
Что думаете о слогане, пойдёт для финальной версии, или можно что-то изменить?
Думаю, что проблема кроется в технической неграмотности гостей треда, относительно этого вопроса.
Жаль.
В сумме, у меня получилось 3 варианта:
Мой - без использование дополнительных Hook'ов.
MindWorX'а - использование спец. плагина для SharpCraft.
fucckz'а (разработчик Nirvana) - использование trampoline функции, на примере данной, из проекта YDWE (actboy168).
Также общался с Degenerated, разработчиком D3D11-Renderer - графической модификации для игр "Готика 1" и "Готика 2".
И переписывался с Talavaj (Memento Mori и Stone & Sword).
А если удалять текстуру в ModelEditor'е? Я всегда в нем работаю с текстурами, иначе крашится.
Или, в твоем случае, нужно заменить индекс заменяемой текстуры на "0". Melissa:
Переписывался с MindWorX'ом (разработчик SharpCraft). Он предложил альтернативный способ с использованием специального плагина, хотя было это ещё две недели назад.
Осталась неделя, после чего я смогу всё проверить, и ENAleksey:
я всё ещё жду вашей помощи и буду очень вам благодарен за запасной способ реализации.
Чем больше запасных вариантов, тем больше вероятность, что всё задуманное получится сделать уже в этом месяце.
Bariy vad, можно сделать с помощью внешней программы. Здесь статья и готовая наработка с использованием SharpCraft.
Но нужен WurstScript для редактирования.
Кстати, проходить тестирование новой версии SharpCraft 4.0 с возможностью подключения неограниченного количества пользователей - MultiCraft. Присоединяйтесь!
Чем больше игроков online, тем лучше!
quq_CCCP, сам wait'ы не использую, просто хотел узнать, в чём смысл написания данной функции, зачем вообще они нужны? И есть ли хоть какая-нибудь польза от неё?
function PolledWaitEX takes real duration returns nothing
local timer t
local real timeRemaining
if (duration > 0) then
set t = CreateTimer()
call TimerStart(t, duration, false, null)
loop
set timeRemaining = TimerGetRemaining(t)
exitwhen timeRemaining <= 0
// If we have a bit of time left, skip past 10% of the remaining
// duration instead of checking every interval, to minimize the
// polling on long waits.
if (timeRemaining > bj_POLLED_WAIT_SKIP_THRESHOLD) then
call TriggerSleepAction(0.1 * timeRemaining)
else
call TriggerSleepAction(bj_POLLED_WAIT_INTERVAL)
endif
endloop
call PauseTimer(t)
call DestroyTimer(t)
set t=null
endif
endfunction
Для таких целей можно использовать Lidgren.Network из SharpCraft. Это должно работать, но нужно переделывать кампании на работу с несколькими игроками.
Я думаю, что это намного легче, чем разбивать кампанию на отдельные карты и дополнительно писать систему перехода между ними.
Может быть, что ты режим смешивания поставил на "none".
Скачай War3ModelEditor и в редакторе поверхнрстей измени режим смешивания нужной текстуры на "Blend" или "Transperent".
JesusHipster, никакиих ограничений нет, всё, что я использую в проекте (SharpCraft, исходники Nirvana) отлично работает по сети. Просто я, на данный момент, не планировал развивать сетевую составляющую, только "сингл".
Данный проект похож на 3DMark, но, в отличии от него, не тестирует "железо", а только демонстрирует графические и геймплейные возможности Warcraft'а.
JesusHipster, кстати, знаешь, что ты в списке благодарностей Nirvana?
На следующий день после того, как я уехал, мне в голову пришла мысль, как заставить всё работать без использования дополнительных hook'ов!
Жаль, что под рукой был только телефон, и я не мог проверить данный способ на работоспособность. У меня были все файлы проекта, и я уже всё написал, но проверить смогу только через месяц, когда приеду домой.
Если всё получится, не будет проблем сделать normal и parallax mapping, отражения, мягкие тени и многое другое. Но есть большой шанс, что ничего не получится, поэтому я всё ещё жду вашей помощи и буду очень вам благодарен за запасной способ реализации.
Что касается поддержки Direct3D11, я думаю, что нельзя просто поменять цифру 9 на 11 во всех файлах. Пока рано об этом думать, и сначала нужно завершить работу с "девяткой".
Решил переносить освещение и bump mapping на шейдеры. Шейдеры готовы, но в них нужно передавать такие данные, как координаты положения и цели камеры.
Я нашёл адреса данных функций:
Теперь нужно как-то получить значения возвращаемые этими функциями. Здесь имеется код hook'а, где происходит возвращение значения функции GetUnitDamage, кто сможет объяснить, как сделать тоже самое, только для работы с игровой?
J64_, сорцы sharpcraft'а есть, а что такое hjass? Прости, не в курсе.
Skarn, Для каждой игры нужно вручную настраивать: во-первых, нужно знать адрес вызова функции Direct3DCreateX, если используется Direct3D, во-вторых нужно получить доступ к функциям отрисовки игры, или, как в данной библиотеке, использовать ручное установление текстур для заранее найденных примитивов по их NumVertices, Stride и PrimCount. ENAleksey:
Нужна помощь.
Кто-нибудь имеет опыт работы со взломом игр, в получении и изменении данных?
Кто может объяснить, как получить данные, возвращаемые jass функцией, из сторонней программы?
Библиотека, которую я использую имеет GameHook. Я получил адрес нужной мне функций, например, "GetCameraTargetPositionX". Что теперь я должен с ним сделать, чтобы получить возвращаемое функцией значение?
Отредактирован ENAleksey
» RenderEdge / [RenderEdge] Старые размышления.
Но если моя теория верна, то проблем быстро сделать поддержку всех технологий и эффектов не будет. Велика вероятность, что на следующей неделе основа уже будет готова, а дальше пойдёт чистое творчество.
Отредактирован ENAleksey
» RenderEdge / [RenderEdge] Старые размышления.
RenderEdge - это новое поколение среды разработки проектов для WarCraft 3, грань отделяющая стандартный WorldEditor от совершенно нового и необычного.
Отредактирован ENAleksey
» RenderEdge / [RenderEdge] Старые размышления.
Вы видите картинку, или я что-то не так сделал?
Тестт
Отредактирован ENAleksey
» RenderEdge / [RenderEdge] Старые размышления.
В сумме, у меня получилось 3 варианта:
И переписывался с Talavaj (Memento Mori и Stone & Sword).
» WarCraft 3 / Ретекстуринг модели со сменной текстурой
Или, в твоем случае, нужно заменить индекс заменяемой текстуры на "0".
Melissa: Не заметил, значит второй вариант.
Отредактирован ENAleksey
» RenderEdge / [RenderEdge] Старые размышления.
ENAleksey:
» WarCraft 3 / Как сделать управление.
Отредактирован ENAleksey
» WarCraft 3 / Как сделать управление.
Но нужен WurstScript для редактирования.
» WarCraft 3 / Кооперативное прохождение компании вар3
Чем больше игроков online, тем лучше!
» WarCraft 3 / Jass New Gen Pack - Rebuild 1.4
Или попробуй запускать редактор в режиме совместимости.
» WarCraft 3 / Как глючит Wait?
» WarCraft 3 / Как глючит Wait?
Отредактирован ENAleksey
» WarCraft 3 / Как глючит Wait?
Отредактирован ENAleksey
» WarCraft 3 / Кооперативное прохождение компании вар3
Я думаю, что это намного легче, чем разбивать кампанию на отдельные карты и дополнительно писать систему перехода между ними.
Отредактирован ENAleksey
» WarCraft 3 / Проблемы с текстурами
Скачай War3ModelEditor и в редакторе поверхнрстей измени режим смешивания нужной текстуры на "Blend" или "Transperent".
Отредактирован ENAleksey
» RenderEdge / [RenderEdge] Старые размышления.
Отредактирован ENAleksey
» RenderEdge / [RenderEdge] Старые размышления.
» WarCraft 3 / Как импортировать персонажа на маунте?
» WarCraft 3 / Как импортировать персонажа на маунте?
» Unity / Основы Unity3D
» RenderEdge / [RenderEdge] Старые размышления.
Отредактирован ENAleksey
» RenderEdge / [RenderEdge] Старые размышления.
Я нашёл адреса данных функций:
Здесь имеется код hook'а, где происходит возвращение значения функции GetUnitDamage, кто сможет объяснить, как сделать тоже самое, только для работы с игровой?
» RenderEdge / [RenderEdge] Старые размышления.
ENAleksey:
Отредактирован ENAleksey
» RenderEdge / [RenderEdge] Старые размышления.
Кто-нибудь имеет опыт работы со взломом игр, в получении и изменении данных?
Кто может объяснить, как получить данные, возвращаемые jass функцией, из сторонней программы?
Библиотека, которую я использую имеет GameHook. Я получил адрес нужной мне функций, например, "GetCameraTargetPositionX". Что теперь я должен с ним сделать, чтобы получить возвращаемое функцией значение?
Отредактирован ENAleksey
» WarCraft 3 / Вопрос про туман