Evil Islands (Add-On) *последняя версия*
Albeoris

Цитата:Насколько я знаю, такой функции нет, но само собой, ничто не мешает это реализовать. Но зачем? Игра уже сейчас представляет собой Save/Load, а ты увеличишь их число в сотни раз. Я бы наоборот отключил сохранение, оставив только автоматическое при переходе между локациями. Smile

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

Твой же вариант слишком хардкорный, хотя он наверно самый близкий к возможно реализации, типо отключать сохранения, а для автосохранения при переходе выделить более 2-х слотов.
П.С. А...ну ты вроде то же самое и описал...


Цитата:Feature Request 2020.08.25/1

Вот ты пишешь эти вот все фичи, а смысл, кто их реализовывать будет? Тут основные функции некому делать, люди вон GUI хотели переписать т.к. код старый не лучший, а в итоге ничего не вышло т.к. нету на это времени у людей.
Ответ
(25.08.2020, 02:02)Vasial Написал: Вот ты пишешь эти вот все фичи, а смысл, кто их реализовывать будет? Тут основные функции некому делать, люди вон GUI хотели переписать т.к. код старый не лучший, а в итоге ничего не вышло т.к. нету на это времени у людей.

Это не времени нет, а мотивации. Big Grin
(В смысле, есть более важные, интересные, приятные задачи чем эта.)

Да больше для себя пишу. Может, у самого руки дойдут. Не люблю я, правда, разбирать классы в идке. Dodgy

Вообще, за 20 лет можно было бы уже переписать с нуля её. Smile
Но начинать нужно было 20 лет назад. Big Grin

Но вообще, именно благодаря ПЗ, вся фанатская жизнь которой прошла у меня перед глазами, я понял, что любая закрытая разработка обречена на стагнацию. Новых людей нет, старики уходят на покой, и уже всем пофиг, что GipatGroup лежит несколько лет. А из состояния "мы нифига не понимаем, сейчас разберёмся и будем пилить моды" перешли к "мы разобрали игру по косточкам, можете пилить моды, а нам это уже неинтересно". Так что спасибо ПЗ и сообществам GipatGroup и GipatRu за этот опыт, но 20 лет назад мы свернули не туда. Smile
"Хаос всегда побеждает порядок, поскольку лучше организован." (с) Терри Пратчетт
Ответ
(25.08.2020, 01:08)Albeoris Написал:
(25.08.2020, 00:03)Demoth Написал: Вот пример третьего случая: https://gist.github.com/koteyur/416a6804...93b8214554
Тут под "как можно автоматизировать" я имею в виду проверку кода, который будет запатчен, правильный выбор позиции оригинального кода (после выполнения хука или перед) и адаптацию этого кода. Поэтому в моей либе предполагается, что тот кто будет писать код сам хорошо понимает, что он делает. Так что в моей либе ничего инновационного нет - простой cpp на 300 строчек кода.

Хм. Пока не понимаю проблемы.

При помощи Detours, мы перенаправляем все вызовы метода в нашу либину и получаем линку на оригинал. К нам приходит вызов, анализируем аргументы, в зависимости от них либо вызываем оригинал, либо выполняем наш хук. Вроде, всё тоже самое?

Единственное, в твоём случае я вижу некоторый контекст, у которого оттопырены значения регистров. В этой области я не силён, но предполагаю, что мы точно также можем получить их значения на момент вызова?

Возможность патчить отдельные инструкции в методах сама по себе интересная, но на мой взгляд очень скрупулёзная. Dodgy Вытащить его полностью и дело с концом. Smile

Ясно, я вот тоже всё ищу какую-нибудь серебряную пулю, которая может превратить рутину в "я просто пишу код", но всё никак не выходит. >_> И mail, не отвечают ни по одному из официальных ящиков...

P.S. А у тебя не было проблем с Hardware Breakpoint'ами? Выставляю в Cheat Engine бряку на чтение, и игра вылетает при первом же обращении. Sad

Ну для перехвата именно метода нужно чтобы деторус знал, что это thiscall (при чём какой именно, он отличается у gcc/clang/msvc), и передал указатель this, который хранится в регистре ecx, в нашу реализацию, которая уже в соглашении о вызовах stdcall/cdecl. По крайней мере я себе это так вижу. Мб там можно и проще это сделать, но в любом случае это все не настолько принципиально, т.к. что детурс, что моя самопальная либа перехват именно функций позволяют сделать достаточно просто.

На счёт хуканья из середины функции. Если оригинальная фунция достаточно большая, то её перехват и анализ аргументов ничего не даст особо в том случае, когда тебе нужно именно изменить логику оригинальной функции, а не что-то поверх. А если функция небольшая, то можно, конечно, её целиком переписать как нам нужно.

С хардварными бряками никогда не было проблем.
Ответ
(25.08.2020, 11:38)Albeoris Написал: Это не времени нет, а мотивации. Big Grin
(В смысле, есть более важные, интересные, приятные задачи чем эта.)
Да больше для себя пишу. Может, у самого руки дойдут. Не люблю я, правда, разбирать классы в идке. Dodgy
Вообще, за 20 лет можно было бы уже переписать с нуля её. Smile
Но начинать нужно было 20 лет назад. Big Grin
А ты не стесняйся. Вон недавно человек тут запилил поддержку широкоформатного экрана, потом связался с авторами стартера и вуаля, стартер уже с поддержкой широких экранов. За это время было очень много идейных людей, ну всмысле у них были только идеи, а реализовывать их должен был кто-то другой.
Ответ
(25.08.2020, 14:34)Vasial Написал: А ты не стесняйся. Вон недавно человек тут запилил поддержку широкоформатного экрана, потом связался с авторами стартера и вуаля, стартер уже с поддержкой широких экранов. За это время было очень много идейных людей, ну всмысле у них были только идеи, а реализовывать их должен был кто-то другой.

Уже во всю работаю над этим. Smile

Собственно, спустя полгода мне удалось связаться с ребятами из Mail.Ru (вот буквально только что ответили). Очень надеюсь, что теперь мне помогут выйти на человека, с которым можно будет обсудить приобретение исходников ПЗ (хотя мне больше интересны Аллоды 1 и 2).

Что из этого получится - не знаю, и боюсь загадывать. Но если получится договориться хотя бы об эксклюзивном доступе к исходникам, это позволит сделать публичный API для расширения и на порядок упростит процесс модификации. Но пока это всё надежды. Будем посмотреть. (Само собой, речь только о некомерческом использовании, покупку IP я не потяну Big Grin)
"Хаос всегда побеждает порядок, поскольку лучше организован." (с) Терри Пратчетт
Ответ
(25.08.2020, 21:46)Albeoris Написал:
(25.08.2020, 14:34)Vasial Написал: А ты не стесняйся. Вон недавно человек тут запилил поддержку широкоформатного экрана, потом связался с авторами стартера и вуаля, стартер уже с поддержкой широких экранов. За это время было очень много идейных людей, ну всмысле у них были только идеи, а реализовывать их должен был кто-то другой.

Уже во всю работаю над этим. Smile

Собственно, спустя полгода мне удалось связаться с ребятами из Mail.Ru (вот буквально только что ответили). Очень надеюсь, что теперь мне помогут выйти на человека, с которым можно будет обсудить приобретение исходников ПЗ (хотя мне больше интересны Аллоды 1 и 2).

Что из этого получится - не знаю, и боюсь загадывать. Но если получится договориться хотя бы об эксклюзивном доступе к исходникам, это позволит сделать публичный API для расширения и на порядок упростит процесс модификации. Но пока это всё надежды. Будем посмотреть. (Само собой, речь только о некомерческом использовании, покупку IP я не потяну Big Grin)

Лучше предложи им в опенсорс их выложить. Сорсы ПЗ для мейла бесполезны, а их публикация была бы вполне неплохим пиар ходом. Тем более 20 летие игры не за горами.
Ответ
(25.08.2020, 21:54)Demoth Написал: Лучше предложи им в опенсорс их выложить. Сорсы ПЗ для мейла бесполезны, а их публикация была бы вполне неплохим пиар ходом. Тем более 20 летие игры не за горами.

Варианты обсудим, но я бы на это как минимум не расчитывал.

Разовые PR-акции не работают сами по себе, на них нужно работать. 3.5 довольных программиста не идут в сранение с миллионной аудиторией.

А опенсорс чаще всегда предполагает разработку специальной лицензии. А это влечёт большую работу со стороны юридического отдела, согласование на всех уровнях компании (повторю, если это разовая акция, и никогда такого не было), согласование не только с советом диреторов, но и с инвесторами.

И это если Nival передала исходники с правом их раскрытия. Сергей Орловский на словах не против их передачи, но если дело дойдёт до согласования между Mail и Nival, может вылезти куча подводных камней. К примеру, авторам GemRB не удалось договориться с разработчиками BG:EE о раскрытии исходников, несмотря на то, что сообщество собрало уже полностью рабочий движок.

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

И да, если я уверен на 98%, что исходники Аллодов им действительно не нужны, то не факт, что у них нет планов по переизданию ПЗ.

В общем, не готов говорить за Mail, не готов загадывать, и буду посмотреть, но одно могу сказать точно - никакой прогнозируемой выгоды от этой акции для Mail не будет, а головняк - обязательно. И если это произойдёт, то только благодаря тому, что внутри компании будут люди заинтересованные в этом, которые готовы взять на себя ответственность и проталкивать эту идею. Нет - даже эксклюзивный доступ с подписью NDA окажется подарком (привет Матильде).
"Хаос всегда побеждает порядок, поскольку лучше организован." (с) Терри Пратчетт
Ответ
(25.08.2020, 21:46)Albeoris Написал:
(25.08.2020, 14:34)Vasial Написал: А ты не стесняйся. Вон недавно человек тут запилил поддержку широкоформатного экрана, потом связался с авторами стартера и вуаля, стартер уже с поддержкой широких экранов. За это время было очень много идейных людей, ну всмысле у них были только идеи, а реализовывать их должен был кто-то другой.

Уже во всю работаю над этим. Smile

Собственно, спустя полгода мне удалось связаться с ребятами из Mail.Ru (вот буквально только что ответили). Очень надеюсь, что теперь мне помогут выйти на человека, с которым можно будет обсудить приобретение исходников ПЗ (хотя мне больше интересны Аллоды 1 и 2).

Что из этого получится - не знаю, и боюсь загадывать. Но если получится договориться хотя бы об эксклюзивном доступе к исходникам, это позволит сделать публичный API для расширения и на порядок упростит процесс модификации. Но пока это всё надежды. Будем посмотреть. (Само собой, речь только о некомерческом использовании, покупку IP я не потяну Big Grin)
Работаешь над убиранием сохранений? Если да, то отлично, а что касается всех этих прошений за исходники, все это херня, уже человека 3-и знаю которые так же какие-то сорсы искали, итог мы все знаем.
Ответ
Всем привет!

Предлагаю вашему вниманию небольшое обновление addon.dll версии 0.10.3, в котором собрано несколько улучшений и исправлений багов относительно предыдущей версии 0.10.0 (промежуточные версии не были официально опубликованы на форуме).

Скачать релиз: https://www.gipat.ru/forum/thread-3827-post-44660.html
Установка: Распаковать содержимое архива в папку стартера, подтвердив замену файлов

Основные изменения:

1. Ещё одна пачка новых скриптовых функций разной степени полезности:

* Математические функции: Abs, Min, Max, Ceil, Floor, Round
* Строковые функции: StrHas, StrMid, StrLower, StrUpper, RandStr
* SendCurrentParty(nPlayer: float) - принудительно сохранить персонажа на диск
* Loot(nPlayer: float, unit: object) - залутать труп unit игроку nPlayer
* PlayerExists(nPlayer: float): float - проверить, существует ли игрок nPlayer
* Улучшена функция Random(min: float, max: float): float
Оригинальная функция Random с одним аргументом продолжить работать как и раньше

2. Улучшена консоль игры:

* Добавлена поддержка хоткеев: ctrl+A, ctrl+C, ctrl+V, ctrl+X
* Немного улучшена история команд, чтобы избежать её замусоривания одними и теми же командами

Самый полный и подробный список изменений можно посмотреть в файле whatnews.htm из архива с аддоном.
Ответ
Мне вот больше интересно функция широкоформатного изображения когда из беты выйдет и будет по-умолчанию? А то это изменение самое главное для этой прог за последние 5 лет и до сих пор надо в реестре что-то править, да и работает не на всех мониторах.
Ответ
(07.09.2020, 09:45)Vasial Написал: Мне вот больше интересно функция широкоформатного изображения когда из беты выйдет и будет по-умолчанию? А то это изменение самое главное для этой прог за последние 5 лет и до сих пор надо в реестре что-то править, да и работает не на всех мониторах.

Давать каких-то конкретных оценок по срокам я не буду, но думаю, что в течении пары лет найду время. А может быть aspadm решит доделать, как знать.
На счёт "самое главное для этой проги", тут уж у каждого своё мнение.
Ответ
(07.09.2020, 12:18)Demoth Написал: На счёт "самое главное для этой проги", тут уж у каждого своё мнение.

Не ну может я что-то пропустил, по сути в проге 2-е функции, 1-я это возможность создавать аддоны, то есть тупо подрубать свои ресурсы не заменяя файлы, а заменяя можно обойтись и без стартера, она реализована хз сколько лет назад и 2-я это вот поддержка современных разрешений, вроде всё.
Ответ
(07.09.2020, 14:03)Vasial Написал:
(07.09.2020, 12:18)Demoth Написал: На счёт "самое главное для этой проги", тут уж у каждого своё мнение.

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

Кроме этих двух функций, аддон добавляет в движок игры огромное количество возможностей для разработчиков модов.
Ответ
(07.09.2020, 14:16)Demoth Написал: Кроме этих двух функций, аддон добавляет в движок игры огромное количество возможностей для разработчиков модов.
Эт да, только модов использующие эти функции два с половиной, и то, это чисто для галочки, или может я что-то упустил, есть ли там действительно важные функции, и да , я читал все файлы, что идут со стартером, ничего очень важного для создания модов там не обнаружил.
Ответ
(07.09.2020, 14:36)Vasial Написал:
(07.09.2020, 14:16)Demoth Написал: Кроме этих двух функций, аддон добавляет в движок игры огромное количество возможностей для разработчиков модов.
Эт да, только модов использующие эти функции два с половиной, и то, это чисто для галочки, или может я что-то упустил, есть ли там действительно важные функции, и да , я читал все файлы, что идут со стартером.

Так в ПЗ больших и значимых модов всего два с половиной.

Один из тех модов, который во всю использует все новые возможности аддона, это Classic: https://vk.com/eiclassicmod
Кроме него, они нужны для мода ХГ4, который в данный момент находится в активной разработке.

Лично моё мнение, что в ПЗ ещё живо хоть какое-то комьюнити, только лишь благодаря модам. Поэтому добавление возможностей для их развития мне видится наиболее важной задачей аддона. Тем не менее, я не спорю, что поддержка современного железа так же важна, поэтому и до неё дойдут руки со временем.
Ответ
(07.09.2020, 14:54)Vasial Написал: Эт да, ну вот я и хотел узнать как у автора всех этих модификаций, что за фишки были реализованы благодаря всем эти нововведениям которые нельзя было бы воплотить стандартной игрой, хотя бы 1-ну назвать. Ну а касательно современно железа не совсем понятно, вроде ПЗ как юзало одно ядро, так и юзает, в этом направлении ни кто ничего не делает, а вопрос про разрешения это просто моя личная боль, как не зайду на ютуб где ПЗ, так везде граждане которые играю в растянутую игру, аж больно на это смотреть.

На всякий случай, я не являюсь автором никакой из модификаций для ПЗ.

Ну вот, я прошёлся по списку изменений:
1. Возможность менять ограничения максимальных параметров навыков
2. Возможность включить отображение всех доступных квестов, а не 1 рандомный на зону
3. Возможность включить защиту лучникам
4. Возможность ограничить максимальное количество опыта у персонажа
5. Возможность сделать разброс урона у заклинаний
6. Возможность создавать заклинания с отрицательным эффектом
7. Возможность динамической скорости анимации у атаки/каста
8. Несколько багфиксов оригинального баланса (например, возможность отключить уворот от атаки)
9. Множество новых скриптовых функций, около половины которых позволяют делать то, что раньше было невозможно

И это не полный список. Более узкоспециализированные вещи я опустил.

На счёт железа, я про мониторы имел в виду. Использовать несколько ядер в игре не планируется, она и на одном прекрасно работает.
Ответ
(07.09.2020, 15:17)Demoth Написал: На всякий случай, я не являюсь автором никакой из модификаций для ПЗ.

Ну вот, я прошёлся по списку изменений:
1. Возможность менять ограничения максимальных параметров навыков
2. Возможность включить отображение всех доступных квестов, а не 1 рандомный на зону
3. Возможность включить защиту лучникам
4. Возможность ограничить максимальное количество опыта у персонажа
5. Возможность сделать разброс урона у заклинаний
6. Возможность создавать заклинания с отрицательным эффектом
7. Возможность динамической скорости анимации у атаки/каста
8. Несколько багфиксов оригинального баланса (например, возможность отключить уворот от атаки)
9. Множество новых скриптовых функций, около половины которых позволяют делать то, что раньше было невозможно

И это не полный список. Более узкоспециализированные вещи я опустил.

На счёт железа, я про мониторы имел в виду. Использовать несколько ядер в игре не планируется, она и на одном прекрасно работает.
Cпасибо за ответ.
Ответ
Здравствуйте, как сделать дистанцию с которой начинает прорисовываться туман в игре, запущенной через стартер, эквивалентной ванилле? Я бегло посмотрел реестр и там  почти все параметры одинаковые. FogDayStartDistance одинаковые. Только бы не оказалось что новое значение захардкожено, мне очень нравится возможность поддержки широкоформата, не хотелось бы ей жертdfвовать ради тумана. Smile 
Я не имею ввиду ObjectDrawRadius и LandscapeDrawRadius.
Ответ
Всем привет!

Поздравляю всех с 20 летием Проклятых Земель!
В честь такой знаменательной даты, выходит новая версия аддона!

Скачать инсталятор (рекомендуется): https://www.gipat.ru/forum/thread-3828.html
или
Скачать отдельно addon.dll: https://www.gipat.ru/forum/thread-3827.html

Совсем коротко основные улучшения:
- Новые скриптовые функции и улучшение некоторых существующих
- Новые консольные команды: nogui и drawall
- Исправлены несколько известных багов поддержки широкоформатных дисплеев

Почитать максимально подробно можно в файле whatnews.htm
Так же про релиз можно прочитать в новости на сайте Вселенная Аллодов: https://allods.gipat.ru/index.php?p=news&id=421
Ответ
Это все прикольно, но разрешение всё так же надо прописывать в реестре, так? То есть опять большинство про эту функцию не узнают.
Ответ


Перейти к форуму:


Пользователи, просматривающие эту тему: 41 Гость(ей)