IPB

Здравствуйте, гость ( Вход | Регистрация )

5 страниц V   1 2 3 > »   
Reply to this topicStart new topic
> WoG 3.59 открыт! Набор команды + open source.
sergroj
сообщение 19 Dec 2013, 11:43
Сообщение #1

В миру GrayFace
Сообщений: 2 510
Спасибо сказали: 766 раз




После 5.5+ лет эпизодической работы над WoG 3.59 в рамках CoreWoG у меня наконец есть хорошая промежуточная версия, а также время и желание заново собрать команду.
Итак, альфа-версия WoG 3.59, open source: https://github.com/GrayFace/wog
Версию для тестирования можно скачать из Releases. Сразу предупреждаю, что багов там много - новые скрипты ВоГификации почти не тестировались и есть непойманный баг, приводящий к вылету. И еще, элементов новых городов здесь нет.

Основные изменения:
- Скрипты Lua (с полной поддержкой команд ERM). Новые скрипты рекоммендуется делать на Lua, в том числе для того, чтобы не было конфликтов. В info\AboutLua.txt есть вводная информация про Lua.
- Новая система создания диалогов на Lua. Такжде можно изменить любой стандартный диалог. Скриптам ERM эта функциональность недоступна. См. info\Tutorials\dialogs.htm и скрипты, приложенные к нему.
- Возможность загружать свои LOD'ы.
- Моды. Не финальная версия.
- Различные новые команды ERM. Например, GOTO. См. файлы info\ChageLog*.txt.
- Новые скрипты, сделанные оригинальной комадой ВоГа.

Что еще надо сделать:
- Поддержка новых городов. В процессе разработки.
- Завершение поддержки модов, загрузка архивов SND и VID и т.п.
- Включение HD Mod'а или совместимость с ним. Добавление различных фич из Эры.
- Новая графика для меню. В меню компаний теперь есть и компания SoD, поэтому кнопки компаний надо как-то переставить.
- Исправить скрипты ВоГификации. Отсортировать их, чтобы в них хоть как-то можно было ориентироваться.
- Собственно, новые города.
- Обновление ERM Help, соединение с информацией по скриптам Lua.

Если Вы хотите участвовать в разработке 3.59 или модов для него, добавляйтесь ко мне в скайп: (мой ник)_grayface. По предыдущему опыту, групповой тектовый чат в Скайпе отлично подходит для общения команды. Напишите мне на мыло или в ЛС, если Skype Вам не подходит по какой-то причине.

P.S. отлепленная ветка со старой информацией о 3.59 и ссылкой на ролик с Бастионом: http://forum.df2.ru/index.php?showtopic=12961


--------------------
ДНК банана на 50% состоит из человека.
Go to the top of the pageAdd Nick
 
+Quote Post
Orzie
сообщение 19 Dec 2013, 11:52
Сообщение #2

Reinventing the Steel
Сообщений: 7 828
Спасибо сказали: 15830 раз




Ну вот, а все вокруг жалуются, что новогоднего настроения нет.

Отпишусь по делу позже - я, как минимум, как никто другой заинтересован в порте The Succession Wars Mod на новую платформу. Луа выглядит куда более приятно и дружелюбно.


--------------------


Спасибо сказали:
Go to the top of the pageAdd Nick
 
+Quote Post
dik X.B.
сообщение 20 Dec 2013, 00:38
Сообщение #3

Choziain Veteras
Сообщений: 348
Спасибо сказали: 180 раз




Уже не верил, но ждал. Дождался!


Спасибо сказали:
Go to the top of the pageAdd Nick
 
+Quote Post
feanor
сообщение 20 Dec 2013, 22:43
Сообщение #4

laughed as one fey
Сообщений: 11 842
Спасибо сказали: 19744 раза




Чем отличаются разные типы хуков, есть ли среди них аналог патчеровского сплайса (подмена функции своей без явного перехвата всех вызовов) и как можно осуществить прямой доступ к структурам в памяти?

А то использование ERM из-под Lua явный костыль.


--------------------
Go to the top of the pageAdd Nick
 
+Quote Post
Axolotl
сообщение 21 Dec 2013, 08:45
Сообщение #5

I must gather my party before venturing forth
Сообщений: 4 437
Спасибо сказали: 16395 раз




Создал тему относительно данного спора.
http://forum.df2.ru/index.php?showtopic=32224
Просьба к присутствующим модераторам - перенести этот спор туда, а участников спора, приглашаю соответственно отписываться в даленьнейшем на эти темы там.

[DONE]


--------------------


Спасибо сказали:
Go to the top of the pageAdd Nick
 
+Quote Post
sergroj
сообщение 21 Dec 2013, 21:53
Сообщение #6

В миру GrayFace
Сообщений: 2 510
Спасибо сказали: 766 раз




Цитата(feanor @ 21 Dec 2013, 00:43) *
Чем отличаются разные типы хуков, есть ли среди них аналог патчеровского сплайса (подмена функции своей без явного перехвата всех вызовов) и как можно осуществить прямой доступ к структурам в памяти?

Да, hookfunction. Основные:
hookfunction - - заменяет функцию с возможностью вызова оригинала.
hookcall - так же, но подмена вызова функции.
autohook - хук в какое-то место в коде.
Эти хуки автоматически вызывают код, затёртый инструкцией call (в случае hookcall это не нужно). Возможности ставить несколько хуков в одно место у меня пока нет. patcher я не использовал и он мне не понятен без сорсов. Хотелось знать, что именно каждый его хук делает.
Я набросал их в info\LuaMem.txt, но не написал никаких описаний.
Прямой доступ к памяти - скажем,
Код
local base = mem.u4[0x699538]
mem.u1[base+0x1F458] = 1  -- сделать игрока читером

u4 - 4-байтовое беззнаковое. i4 - знаковое. u1 - байт и т.п. r8 - double, r4 - single.
Для строк:
mem.pchar - read-only
mem.EditPChar - с редактированием
mem.EditConstPChar - для защищённой памяти
mem.DynStr - для динамических строк Героев
Функция mem.string:
-- mem.string(p) - read null-terminated string
-- mem.string(p, size) - read null-terminated string not more than 'size' bytes
-- mem.string(p, size, true) - read 'size' bytes as string

Есть возможность описывать структуры, как в Data\zvs\Lua\structs.lua. MMExtension на этом в основном построен.

Цитата(feanor @ 21 Dec 2013, 00:43) *
А то использование ERM из-под Lua явный костыль.

В будущем можно сделать API-прослойку с функциями с говорящими именами. Или использовать движок структур с вызовом ЕРМа для установки некоторых значений.


--------------------
ДНК банана на 50% состоит из человека.


Спасибо сказали:
Go to the top of the pageAdd Nick
 
+Quote Post
samec
сообщение 22 Dec 2013, 07:24
Сообщение #7

Местный Мимопроходил
Сообщений: 526
Спасибо сказали: 439 раз




Ну раз эта версия WoG последняя, то почему бы не назвать по красивому 3.6?


Спасибо сказали:
Go to the top of the pageAdd Nick
 
+Quote Post
feanor
сообщение 22 Dec 2013, 12:49
Сообщение #8

laughed as one fey
Сообщений: 11 842
Спасибо сказали: 19744 раза




Цитата
Да, hookfunction. Основные:
hookfunction - - заменяет функцию с возможностью вызова оригинала.
hookcall - так же, но подмена вызова функции.
autohook - хук в какое-то место в коде.

hookcall - хук на место вызова функции откуда-то, hookfunction - на адрес функции, autocall - на произвольную инструкцию?


Цитата
u4 - 4-байтовое беззнаковое. i4 - знаковое. u1 - байт и т.п. r8 - double, r4 - single.
ну да, это я понял

Цитата
Есть возможность описывать структуры, как в Data\zvs\Lua\structs.lua. MMExtension на этом в основном построен.
ага, спасибо

Цитата
В будущем можно сделать API-прослойку с функциями с говорящими именами. Или использовать движок структур с вызовом ЕРМа для установки некоторых значений.
Ну вот под это и спрашивал.


--------------------
Go to the top of the pageAdd Nick
 
+Quote Post
sergroj
сообщение 25 Dec 2013, 09:02
Сообщение #9

В миру GrayFace
Сообщений: 2 510
Спасибо сказали: 766 раз




Цитата(feanor @ 22 Dec 2013, 14:49) *
hookcall - хук на место вызова функции откуда-то, hookfunction - на адрес функции, autocall - на произвольную инструкцию?

Да, только autohook, а не autocall. В патчере все они есть?


--------------------
ДНК банана на 50% состоит из человека.
Go to the top of the pageAdd Nick
 
+Quote Post
Господин Уэф
сообщение 25 Dec 2013, 09:05
Сообщение #10

Это аргумент
Сообщений: 2 655
Спасибо сказали: 2286 раз




Цитата
Ну раз эта версия WoG последняя, то почему бы не назвать по красивому 3.6?

Ну нет. 3.59 - это уже нечто овеянное легендами, чего ждут тысячи фанатов по всему миру вот уже почти 10 лет. Кому нужны красивые индексы, может в РЕКВИЗИТ поиграть, оно аж 3.70


--------------------


Спасибо сказали:
Go to the top of the pageAdd Nick
 
+Quote Post
baratorch
сообщение 25 Dec 2013, 10:18
Сообщение #11

Immortal
Сообщений: 2 373
Спасибо сказали: 4535 раз




Цитата
Возможности ставить несколько хуков в одно место у меня пока нет. patcher я не использовал и он мне не понятен без сорсов. Хотелось знать, что именно каждый его хук делает.

так исходники открыты (С++), релизятся в комплекте с библиотекой. На вогфоруме в соответствующей теме на первой странице ссылка.
Причем, пожалуйста, делайте любые предложения по улучшению патчера.


Цитата
Что еще надо сделать:
...
- Включение HD Mod'а или совместимость с ним.

работать над этим будет в 100500 раз легче после перевода Вог359 на патчер.
Я вот, пока Вог не передет на патчер даже не стану над совместимостью работать.
ХД через патчер может сказать Вогу, что вот я есть, с такими-то настройками, с такими-то хуками и патчами. А вог то же самое сказать ХД.
Лог работы патчера укажет очередность установки всех патчей/хуков и все конфликутующие патчи/хуки
Дамп патчера укажет все установленные хуки и патчи (по каким адресам, каких клиентов)

Такое взаимодействие через патчер прекрасно работает у ХотА, ХД и плагинов к ХД от WiZarDX_576
(т.е. полная совместимость при относительной независимости разработки)

****

У меня претензия к Вогу - одна. Это неотключаемые захардкоденные изменения. (командиры, опыт существ, вогменю и пр.)
Вот если бы вог был - СоД+Луа, а все командиры, свистелки и перделки добавлялись скриптами - это был бы идеальный Вог.


--------------------
HoMM 3 HD:
http://sites.google.com/site/heroes3hd
последняя версия - 3.61f


Спасибо сказали:
Go to the top of the pageAdd Nick
 
+Quote Post
Iv
сообщение 25 Dec 2013, 10:22
Сообщение #12

Immortal
Сообщений: 6 163
Спасибо сказали: 12401 раз




Цитата(baratorch @ 25 Dec 2013, 11:18) *
У меня претензия к Вогу - одна. Это неотключаемые захардкоденные изменения. (командиры, опыт существ, вогменю и пр.)

За вог-меню и пр. не скажу, но командиры и опыт существ - отключаемы, хотя и захардкожены


--------------------
Go to the top of the pageAdd Nick
 
+Quote Post
feanor
сообщение 25 Dec 2013, 10:53
Сообщение #13

laughed as one fey
Сообщений: 11 842
Спасибо сказали: 19744 раза




Не, тут претензия, судя по всему, за испещренный низкоуровневыми хуками код.

Цитата
Да, только autohook, а не autocall. В патчере все они есть?
И много чего еще есть.


--------------------
Go to the top of the pageAdd Nick
 
+Quote Post
sergroj
сообщение 25 Dec 2013, 10:55
Сообщение #14

В миру GrayFace
Сообщений: 2 510
Спасибо сказали: 766 раз




Цитата(baratorch @ 25 Dec 2013, 12:18) *
Цитата
Возможности ставить несколько хуков в одно место у меня пока нет. patcher я не использовал и он мне не понятен без сорсов. Хотелось знать, что именно каждый его хук делает.

так исходники открыты (С++), релизятся в комплекте с библиотекой. На вогфоруме в соответствующей теме на первой странице ссылка.
Причем, пожалуйста, делайте любые предложения по улучшению патчера.

О, хорошо. Я помню, что не нашёл их в первой версии.

Цитата(baratorch @ 25 Dec 2013, 12:18) *
Цитата
Что еще надо сделать:
...
- Включение HD Mod'а или совместимость с ним.

работать над этим будет в 100500 раз легче после перевода Вог359 на патчер.

Собственно, в будущем основным режимом HD мода будут полноценные 32 бита? Эту часть хотелось бы включить в 3.59, чтобы уже для 32 битов делать дефы с полупрозрачностью.

Цитата(baratorch @ 25 Dec 2013, 12:18) *
У меня претензия к Вогу - одна. Это неотключаемые захардкоденные изменения. (командиры, опыт существ, вогменю и пр.)
Вот если бы вог был - СоД+Луа, а все командиры, свистелки и перделки добавлялись скриптами - это был бы идеальный Вог.

У меня тоже. Основные я сделал опциональными - кампанию, командиров, проклятия, бонусы богов, новых героев. Кнопка ВоГ опций, конечно, останется - они всегда нужны, любому моду.


--------------------
ДНК банана на 50% состоит из человека.
Go to the top of the pageAdd Nick
 
+Quote Post
baratorch
сообщение 25 Dec 2013, 14:06
Сообщение #15

Immortal
Сообщений: 2 373
Спасибо сказали: 4535 раз




Цитата
Кнопка ВоГ опций, конечно, останется - они всегда нужны, любому моду.

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

Я понимаю что большинство поклонников вога и эры - это люди из второй категории, те кто любят прежде всего не играть а настраивать.
Но основная масса поклонников тройки - это те кто просто хотят поиграть не заморачиваясь с технической частью и тонннами противоречивых, зачастую переворачивающих все с ног на голову опций.
Команда хоты это понимает, поэтому я с ними.

Цитата
Собственно, в будущем основным режимом HD мода будут полноценные 32 бита?

Сейчас в ХД есть режим True 32 - это настоящие 32 бита, но без альфаканала (т.е. 32 bit XRGB) но в перспективе есть планы по реализации 32 bit ARGB c альфаблендингом.
Если я буду обосабливать этот функционал в отдельный модуль и делиться им, то пока без исходников (по секретным причинам : )


--------------------
HoMM 3 HD:
http://sites.google.com/site/heroes3hd
последняя версия - 3.61f


Спасибо сказали:
Go to the top of the pageAdd Nick
 
+Quote Post
Axolotl
сообщение 25 Dec 2013, 14:35 (Сообщение отредактировал Axolotl - 25 Dec 2013, 14:49)
Сообщение #16

I must gather my party before venturing forth
Сообщений: 4 437
Спасибо сказали: 16395 раз




Ну конкретно ключ (как единственный вариант) плох - он не очевиден для всех, некоторые даже не знают, что это такое, и во многих случаях только добавит неудобств для простых людей.
Т.е если человек из первой категории хочет запустить "не заморачиваясь с тоннами настроек" то зачем он нажимает эту кнопку, и собственно зачем он вообще запустил Вог, не затем же, чтобы поиграть в чистый Сод, видимо какой-то функционал именно Вога нужен этому человеку.

Напрашивается решение пресетов или чего-то подобного, кстати, например Стартера (по типу например того, который имеется в ХД моде)

Про поиграть просто в Мод...ну тут наверное этот самый мод должен еще появиться. Воговские (имеющиеся) опции в принципе не могут быть таковым, в них ведь много даже взаимоисключающих настроек.
Если речь о каких-то мелких плюшках, которые пишут люди - то тут видимо, если кто-то хочет воспользоваться именно этой плюшкой на чистом Соде, но ни в коем случае ничем другим, то вот как раз и нужны кнопки/пресеты/стартеры типа "Чистый Сод" а потом уже человек добавляет этот скрипт/мод. Ну или опять же организация модов в папках на примере Эры.

Если же это именно целостный мод - таким наверное может быть например какой-то новый город, ну или действительно какая-то продуманная система по изменению оригинальной игры, не допускающая пересечений с другими опциями (не нарушая внутреннего баланса) То опять же нужна какая-то организация - например: как в Эре папками /стартерами/пресетами.

Т.е. да, какая-то удобная организация, как мне кажется, очень даже нужна


--------------------
Go to the top of the pageAdd Nick
 
+Quote Post
Iv
сообщение 25 Dec 2013, 15:15
Сообщение #17

Immortal
Сообщений: 6 163
Спасибо сказали: 12401 раз




Цитата(Axolotl @ 25 Dec 2013, 15:35) *
Если речь о каких-то мелких плюшках, которые пишут люди - то тут видимо, если кто-то хочет воспользоваться именно этой плюшкой на чистом Соде, но ни в коем случае ничем другим, то вот как раз и нужны кнопки/пресеты/стартеры типа "Чистый Сод" а потом уже человек добавляет этот скрипт/мод. Ну или опять же организация модов в папках на примере Эры.

Пресет "Чистый СоД" уже есть. Называется - "отключить все настройки" :-)

Цитата(baratorch @ 25 Dec 2013, 15:06) *
Считаю в том виде в котором вогопции есть, они должны быть доступны как минимум в особом режиме - только при запуске игры со спец. ключем командной строки.
Когда я хочу поиграть мод - я играю. Когда я хочу позаниматься настройкой мода - это уже другое дело.

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

Считаю, что в том виде, в котором опции ХД-мода есть, они должны быть доступны как минимум в особом режиме - только при запуске игры со спец. ключом командной строки.
Когда я хочу поиграть ХД-мод - я играю. Когда я хочу позаниматься настройкой ХД-мода - это уже другое дело.

Я понимаю что большинство поклонников ХД-мода - это люди из второй категории, те кто любят прежде всего не играть а настраивать.

Ничего не напоминает? :-)


--------------------
Go to the top of the pageAdd Nick
 
+Quote Post
Sav
сообщение 25 Dec 2013, 15:24
Сообщение #18

Immortal
Сообщений: 8 926
Спасибо сказали: 3030 раз




Цитата(Iv)
Считаю, что в том виде, в котором опции ХД-мода есть, они должны быть доступны как минимум в особом режиме - только при запуске игры со спец. ключом командной строки.
Когда я хочу поиграть ХД-мод - я играю. Когда я хочу позаниматься настройкой ХД-мода - это уже другое дело.

Они и есть в особом режиме - при запуске лончера.
Go to the top of the pageAdd Nick
 
+Quote Post
Iv
сообщение 25 Dec 2013, 15:34
Сообщение #19

Immortal
Сообщений: 6 163
Спасибо сказали: 12401 раз




Цитата(Sav @ 25 Dec 2013, 16:24) *
Они и есть в особом режиме - при запуске лончера.

Дык, ярлык-то при установке ставится именно на лончер, не на саму пропатченную игру


--------------------
Go to the top of the pageAdd Nick
 
+Quote Post
hippocamus
сообщение 25 Dec 2013, 17:33
Сообщение #20

Мяў, наверное...
Сообщений: 21 766
Спасибо сказали: 10325 раз




Тем самым соблюдается ненарушение авторских прав относительно неприкосновенности кода. Если ты хочешь - сам пропатчишь.
Если честно, никогда не пользуюсь ярлыками, полученными при установке )


--------------------
Go to the top of the pageAdd Nick
 
+Quote Post

5 страниц V   1 2 3 > » 
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 10 December 2019 - 07:27
Copyright by Алексей Крючков
Strategy Gamez by GrayMage
Programming by Degtyarev Dmitry
  Яндекс.Метрика