Сообщений: 49
Тем: 1
Зарегистрирован: Jul 2020
25.08.2020, 02:02
(Сообщение последний раз редактировалось: 25.08.2020, 02:02 Vasial.)
Albeoris
Цитата:Насколько я знаю, такой функции нет, но само собой, ничто не мешает это реализовать. Но зачем? Игра уже сейчас представляет собой Save/Load, а ты увеличишь их число в сотни раз. Я бы наоборот отключил сохранение, оставив только автоматическое при переходе между локациями.
Я про это и говорю, в ПЗ урон как я понимаю генерируется перед ударом, а вот если это как-то изменить.... Предметы менять и выкидывать на игровой зоне нельзя, следовательно урон можно генерировать перед входом в зону, хотя конечно не очень умно...
Твой же вариант слишком хардкорный, хотя он наверно самый близкий к возможно реализации, типо отключать сохранения, а для автосохранения при переходе выделить более 2-х слотов.
П.С. А...ну ты вроде то же самое и описал...
Цитата:Feature Request 2020.08.25/1
Вот ты пишешь эти вот все фичи, а смысл, кто их реализовывать будет? Тут основные функции некому делать, люди вон GUI хотели переписать т.к. код старый не лучший, а в итоге ничего не вышло т.к. нету на это времени у людей.
Сообщений: 12
Тем: 0
Зарегистрирован: Aug 2020
25.08.2020, 11:38
(Сообщение последний раз редактировалось: 25.08.2020, 11:53 Albeoris.)
(25.08.2020, 02:02)Vasial Написал: Вот ты пишешь эти вот все фичи, а смысл, кто их реализовывать будет? Тут основные функции некому делать, люди вон GUI хотели переписать т.к. код старый не лучший, а в итоге ничего не вышло т.к. нету на это времени у людей.
Это не времени нет, а мотивации.
(В смысле, есть более важные, интересные, приятные задачи чем эта.)
Да больше для себя пишу. Может, у самого руки дойдут. Не люблю я, правда, разбирать классы в идке.
Вообще, за 20 лет можно было бы уже переписать с нуля её.
Но начинать нужно было 20 лет назад.
Но вообще, именно благодаря ПЗ, вся фанатская жизнь которой прошла у меня перед глазами, я понял, что любая закрытая разработка обречена на стагнацию. Новых людей нет, старики уходят на покой, и уже всем пофиг, что GipatGroup лежит несколько лет. А из состояния "мы нифига не понимаем, сейчас разберёмся и будем пилить моды" перешли к "мы разобрали игру по косточкам, можете пилить моды, а нам это уже неинтересно". Так что спасибо ПЗ и сообществам GipatGroup и GipatRu за этот опыт, но 20 лет назад мы свернули не туда.
"Хаос всегда побеждает порядок, поскольку лучше организован." (с) Терри Пратчетт
Сообщений: 265
Тем: 11
Зарегистрирован: Mar 2011
(25.08.2020, 01:08)Albeoris Написал: (25.08.2020, 00:03)Demoth Написал: Вот пример третьего случая: https://gist.github.com/koteyur/416a6804...93b8214554
Тут под "как можно автоматизировать" я имею в виду проверку кода, который будет запатчен, правильный выбор позиции оригинального кода (после выполнения хука или перед) и адаптацию этого кода. Поэтому в моей либе предполагается, что тот кто будет писать код сам хорошо понимает, что он делает. Так что в моей либе ничего инновационного нет - простой cpp на 300 строчек кода.
Хм. Пока не понимаю проблемы.
При помощи Detours, мы перенаправляем все вызовы метода в нашу либину и получаем линку на оригинал. К нам приходит вызов, анализируем аргументы, в зависимости от них либо вызываем оригинал, либо выполняем наш хук. Вроде, всё тоже самое?
Единственное, в твоём случае я вижу некоторый контекст, у которого оттопырены значения регистров. В этой области я не силён, но предполагаю, что мы точно также можем получить их значения на момент вызова?
Возможность патчить отдельные инструкции в методах сама по себе интересная, но на мой взгляд очень скрупулёзная. Вытащить его полностью и дело с концом.
Ясно, я вот тоже всё ищу какую-нибудь серебряную пулю, которая может превратить рутину в "я просто пишу код", но всё никак не выходит. >_> И mail, не отвечают ни по одному из официальных ящиков...
P.S. А у тебя не было проблем с Hardware Breakpoint'ами? Выставляю в Cheat Engine бряку на чтение, и игра вылетает при первом же обращении.
Ну для перехвата именно метода нужно чтобы деторус знал, что это thiscall (при чём какой именно, он отличается у gcc/clang/msvc), и передал указатель this, который хранится в регистре ecx, в нашу реализацию, которая уже в соглашении о вызовах stdcall/cdecl. По крайней мере я себе это так вижу. Мб там можно и проще это сделать, но в любом случае это все не настолько принципиально, т.к. что детурс, что моя самопальная либа перехват именно функций позволяют сделать достаточно просто.
На счёт хуканья из середины функции. Если оригинальная фунция достаточно большая, то её перехват и анализ аргументов ничего не даст особо в том случае, когда тебе нужно именно изменить логику оригинальной функции, а не что-то поверх. А если функция небольшая, то можно, конечно, её целиком переписать как нам нужно.
С хардварными бряками никогда не было проблем.
Сообщений: 49
Тем: 1
Зарегистрирован: Jul 2020
(25.08.2020, 11:38)Albeoris Написал: Это не времени нет, а мотивации.
(В смысле, есть более важные, интересные, приятные задачи чем эта.)
Да больше для себя пишу. Может, у самого руки дойдут. Не люблю я, правда, разбирать классы в идке.
Вообще, за 20 лет можно было бы уже переписать с нуля её.
Но начинать нужно было 20 лет назад. А ты не стесняйся. Вон недавно человек тут запилил поддержку широкоформатного экрана, потом связался с авторами стартера и вуаля, стартер уже с поддержкой широких экранов. За это время было очень много идейных людей, ну всмысле у них были только идеи, а реализовывать их должен был кто-то другой.
Сообщений: 12
Тем: 0
Зарегистрирован: Aug 2020
(25.08.2020, 14:34)Vasial Написал: А ты не стесняйся. Вон недавно человек тут запилил поддержку широкоформатного экрана, потом связался с авторами стартера и вуаля, стартер уже с поддержкой широких экранов. За это время было очень много идейных людей, ну всмысле у них были только идеи, а реализовывать их должен был кто-то другой.
Уже во всю работаю над этим.
Собственно, спустя полгода мне удалось связаться с ребятами из Mail.Ru (вот буквально только что ответили). Очень надеюсь, что теперь мне помогут выйти на человека, с которым можно будет обсудить приобретение исходников ПЗ (хотя мне больше интересны Аллоды 1 и 2).
Что из этого получится - не знаю, и боюсь загадывать. Но если получится договориться хотя бы об эксклюзивном доступе к исходникам, это позволит сделать публичный API для расширения и на порядок упростит процесс модификации. Но пока это всё надежды. Будем посмотреть. (Само собой, речь только о некомерческом использовании, покупку IP я не потяну )
"Хаос всегда побеждает порядок, поскольку лучше организован." (с) Терри Пратчетт
Сообщений: 265
Тем: 11
Зарегистрирован: Mar 2011
(25.08.2020, 21:46)Albeoris Написал: (25.08.2020, 14:34)Vasial Написал: А ты не стесняйся. Вон недавно человек тут запилил поддержку широкоформатного экрана, потом связался с авторами стартера и вуаля, стартер уже с поддержкой широких экранов. За это время было очень много идейных людей, ну всмысле у них были только идеи, а реализовывать их должен был кто-то другой.
Уже во всю работаю над этим.
Собственно, спустя полгода мне удалось связаться с ребятами из Mail.Ru (вот буквально только что ответили). Очень надеюсь, что теперь мне помогут выйти на человека, с которым можно будет обсудить приобретение исходников ПЗ (хотя мне больше интересны Аллоды 1 и 2).
Что из этого получится - не знаю, и боюсь загадывать. Но если получится договориться хотя бы об эксклюзивном доступе к исходникам, это позволит сделать публичный API для расширения и на порядок упростит процесс модификации. Но пока это всё надежды. Будем посмотреть. (Само собой, речь только о некомерческом использовании, покупку IP я не потяну )
Лучше предложи им в опенсорс их выложить. Сорсы ПЗ для мейла бесполезны, а их публикация была бы вполне неплохим пиар ходом. Тем более 20 летие игры не за горами.
Сообщений: 12
Тем: 0
Зарегистрирован: Aug 2020
(25.08.2020, 21:54)Demoth Написал: Лучше предложи им в опенсорс их выложить. Сорсы ПЗ для мейла бесполезны, а их публикация была бы вполне неплохим пиар ходом. Тем более 20 летие игры не за горами.
Варианты обсудим, но я бы на это как минимум не расчитывал.
Разовые PR-акции не работают сами по себе, на них нужно работать. 3.5 довольных программиста не идут в сранение с миллионной аудиторией.
А опенсорс чаще всегда предполагает разработку специальной лицензии. А это влечёт большую работу со стороны юридического отдела, согласование на всех уровнях компании (повторю, если это разовая акция, и никогда такого не было), согласование не только с советом диреторов, но и с инвесторами.
И это если Nival передала исходники с правом их раскрытия. Сергей Орловский на словах не против их передачи, но если дело дойдёт до согласования между Mail и Nival, может вылезти куча подводных камней. К примеру, авторам GemRB не удалось договориться с разработчиками BG:EE о раскрытии исходников, несмотря на то, что сообщество собрало уже полностью рабочий движок.
А ещё есть такая штука, как плагиат. К счастью, в случае игр 20-летней давности вероятность того что код копипастили с существующих решений в нарушении лицензий крайне мала. Но его всё равно придётся проверить "на дым", чтобы после публикации исходников, не посыпались иски о нарушении интеллектуальной собственности.
И да, если я уверен на 98%, что исходники Аллодов им действительно не нужны, то не факт, что у них нет планов по переизданию ПЗ.
В общем, не готов говорить за Mail, не готов загадывать, и буду посмотреть, но одно могу сказать точно - никакой прогнозируемой выгоды от этой акции для Mail не будет, а головняк - обязательно. И если это произойдёт, то только благодаря тому, что внутри компании будут люди заинтересованные в этом, которые готовы взять на себя ответственность и проталкивать эту идею. Нет - даже эксклюзивный доступ с подписью NDA окажется подарком (привет Матильде).
"Хаос всегда побеждает порядок, поскольку лучше организован." (с) Терри Пратчетт
Сообщений: 49
Тем: 1
Зарегистрирован: Jul 2020
(25.08.2020, 21:46)Albeoris Написал: (25.08.2020, 14:34)Vasial Написал: А ты не стесняйся. Вон недавно человек тут запилил поддержку широкоформатного экрана, потом связался с авторами стартера и вуаля, стартер уже с поддержкой широких экранов. За это время было очень много идейных людей, ну всмысле у них были только идеи, а реализовывать их должен был кто-то другой.
Уже во всю работаю над этим.
Собственно, спустя полгода мне удалось связаться с ребятами из Mail.Ru (вот буквально только что ответили). Очень надеюсь, что теперь мне помогут выйти на человека, с которым можно будет обсудить приобретение исходников ПЗ (хотя мне больше интересны Аллоды 1 и 2).
Что из этого получится - не знаю, и боюсь загадывать. Но если получится договориться хотя бы об эксклюзивном доступе к исходникам, это позволит сделать публичный API для расширения и на порядок упростит процесс модификации. Но пока это всё надежды. Будем посмотреть. (Само собой, речь только о некомерческом использовании, покупку IP я не потяну ) Работаешь над убиранием сохранений? Если да, то отлично, а что касается всех этих прошений за исходники, все это херня, уже человека 3-и знаю которые так же какие-то сорсы искали, итог мы все знаем.
Сообщений: 265
Тем: 11
Зарегистрирован: Mar 2011
07.09.2020, 04:05
(Сообщение последний раз редактировалось: 07.09.2020, 04:08 Demoth.)
Всем привет!
Предлагаю вашему вниманию небольшое обновление 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 из архива с аддоном.
Сообщений: 49
Тем: 1
Зарегистрирован: Jul 2020
Мне вот больше интересно функция широкоформатного изображения когда из беты выйдет и будет по-умолчанию? А то это изменение самое главное для этой прог за последние 5 лет и до сих пор надо в реестре что-то править, да и работает не на всех мониторах.
Сообщений: 265
Тем: 11
Зарегистрирован: Mar 2011
07.09.2020, 12:18
(Сообщение последний раз редактировалось: 07.09.2020, 12:19 Demoth.)
(07.09.2020, 09:45)Vasial Написал: Мне вот больше интересно функция широкоформатного изображения когда из беты выйдет и будет по-умолчанию? А то это изменение самое главное для этой прог за последние 5 лет и до сих пор надо в реестре что-то править, да и работает не на всех мониторах.
Давать каких-то конкретных оценок по срокам я не буду, но думаю, что в течении пары лет найду время. А может быть aspadm решит доделать, как знать.
На счёт "самое главное для этой проги", тут уж у каждого своё мнение.
Сообщений: 49
Тем: 1
Зарегистрирован: Jul 2020
07.09.2020, 14:03
(Сообщение последний раз редактировалось: 07.09.2020, 14:08 Vasial.)
(07.09.2020, 12:18)Demoth Написал: На счёт "самое главное для этой проги", тут уж у каждого своё мнение.
Не ну может я что-то пропустил, по сути в проге 2-е функции, 1-я это возможность создавать аддоны, то есть тупо подрубать свои ресурсы не заменяя файлы, а заменяя можно обойтись и без стартера, она реализована хз сколько лет назад и 2-я это вот поддержка современных разрешений, вроде всё.
Сообщений: 265
Тем: 11
Зарегистрирован: Mar 2011
(07.09.2020, 14:03)Vasial Написал: (07.09.2020, 12:18)Demoth Написал: На счёт "самое главное для этой проги", тут уж у каждого своё мнение.
Не ну может я что-то пропустил, по сути в проге 2-е функции, 1-я это возможность создавать аддоны, то есть тупо подрубать свои ресурсы не заменяя файлы, а заменяя можно обойтись и без стартера, она реализована хз сколько лет назад и 2-я это вот поддержка современных разрешений, вроде всё.
Кроме этих двух функций, аддон добавляет в движок игры огромное количество возможностей для разработчиков модов.
Сообщений: 49
Тем: 1
Зарегистрирован: Jul 2020
07.09.2020, 14:36
(Сообщение последний раз редактировалось: 07.09.2020, 14:37 Vasial.)
(07.09.2020, 14:16)Demoth Написал: Кроме этих двух функций, аддон добавляет в движок игры огромное количество возможностей для разработчиков модов. Эт да, только модов использующие эти функции два с половиной, и то, это чисто для галочки, или может я что-то упустил, есть ли там действительно важные функции, и да , я читал все файлы, что идут со стартером, ничего очень важного для создания модов там не обнаружил.
Сообщений: 265
Тем: 11
Зарегистрирован: Mar 2011
(07.09.2020, 14:36)Vasial Написал: (07.09.2020, 14:16)Demoth Написал: Кроме этих двух функций, аддон добавляет в движок игры огромное количество возможностей для разработчиков модов. Эт да, только модов использующие эти функции два с половиной, и то, это чисто для галочки, или может я что-то упустил, есть ли там действительно важные функции, и да , я читал все файлы, что идут со стартером.
Так в ПЗ больших и значимых модов всего два с половиной.
Один из тех модов, который во всю использует все новые возможности аддона, это Classic: https://vk.com/eiclassicmod
Кроме него, они нужны для мода ХГ4, который в данный момент находится в активной разработке.
Лично моё мнение, что в ПЗ ещё живо хоть какое-то комьюнити, только лишь благодаря модам. Поэтому добавление возможностей для их развития мне видится наиболее важной задачей аддона. Тем не менее, я не спорю, что поддержка современного железа так же важна, поэтому и до неё дойдут руки со временем.
Сообщений: 265
Тем: 11
Зарегистрирован: Mar 2011
07.09.2020, 15:17
(Сообщение последний раз редактировалось: 07.09.2020, 15:35 Demoth.)
(07.09.2020, 14:54)Vasial Написал: Эт да, ну вот я и хотел узнать как у автора всех этих модификаций, что за фишки были реализованы благодаря всем эти нововведениям которые нельзя было бы воплотить стандартной игрой, хотя бы 1-ну назвать. Ну а касательно современно железа не совсем понятно, вроде ПЗ как юзало одно ядро, так и юзает, в этом направлении ни кто ничего не делает, а вопрос про разрешения это просто моя личная боль, как не зайду на ютуб где ПЗ, так везде граждане которые играю в растянутую игру, аж больно на это смотреть.
На всякий случай, я не являюсь автором никакой из модификаций для ПЗ.
Ну вот, я прошёлся по списку изменений:
1. Возможность менять ограничения максимальных параметров навыков
2. Возможность включить отображение всех доступных квестов, а не 1 рандомный на зону
3. Возможность включить защиту лучникам
4. Возможность ограничить максимальное количество опыта у персонажа
5. Возможность сделать разброс урона у заклинаний
6. Возможность создавать заклинания с отрицательным эффектом
7. Возможность динамической скорости анимации у атаки/каста
8. Несколько багфиксов оригинального баланса (например, возможность отключить уворот от атаки)
9. Множество новых скриптовых функций, около половины которых позволяют делать то, что раньше было невозможно
И это не полный список. Более узкоспециализированные вещи я опустил.
На счёт железа, я про мониторы имел в виду. Использовать несколько ядер в игре не планируется, она и на одном прекрасно работает.
Сообщений: 49
Тем: 1
Зарегистрирован: Jul 2020
(07.09.2020, 15:17)Demoth Написал: На всякий случай, я не являюсь автором никакой из модификаций для ПЗ.
Ну вот, я прошёлся по списку изменений:
1. Возможность менять ограничения максимальных параметров навыков
2. Возможность включить отображение всех доступных квестов, а не 1 рандомный на зону
3. Возможность включить защиту лучникам
4. Возможность ограничить максимальное количество опыта у персонажа
5. Возможность сделать разброс урона у заклинаний
6. Возможность создавать заклинания с отрицательным эффектом
7. Возможность динамической скорости анимации у атаки/каста
8. Несколько багфиксов оригинального баланса (например, возможность отключить уворот от атаки)
9. Множество новых скриптовых функций, около половины которых позволяют делать то, что раньше было невозможно
И это не полный список. Более узкоспециализированные вещи я опустил.
На счёт железа, я про мониторы имел в виду. Использовать несколько ядер в игре не планируется, она и на одном прекрасно работает. Cпасибо за ответ.
Сообщений: 1
Тем: 0
Зарегистрирован: Oct 2020
Здравствуйте, как сделать дистанцию с которой начинает прорисовываться туман в игре, запущенной через стартер, эквивалентной ванилле? Я бегло посмотрел реестр и там почти все параметры одинаковые. FogDayStartDistance одинаковые. Только бы не оказалось что новое значение захардкожено, мне очень нравится возможность поддержки широкоформата, не хотелось бы ей жертdfвовать ради тумана.
Я не имею ввиду ObjectDrawRadius и LandscapeDrawRadius.
Сообщений: 265
Тем: 11
Зарегистрирован: Mar 2011
26.10.2020, 20:26
(Сообщение последний раз редактировалось: 31.10.2020, 16:17 Demoth.)
Всем привет!
Поздравляю всех с 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
Сообщений: 49
Тем: 1
Зарегистрирован: Jul 2020
Это все прикольно, но разрешение всё так же надо прописывать в реестре, так? То есть опять большинство про эту функцию не узнают.
|