ksteel Опубликовано 18 часов назад Автор Жалоба Поделиться Опубликовано 18 часов назад (изменено) 1 час назад, CemKey сказал: При включении фикса карта уменьшается сжимается, чтоб материковую часть можно было видеть. Под этот масштаб подгонялись и открытые маркеры городов и поселений всяких на карте (вроде). Это я так понимаю всё записывалось в сейв. Потом при отключении этого фикса вроде карта менялась обратно, а вновь открытые маркеры уже оставались под уменьшенную карту. Значит явно надо смотреть механизм "загрузки" сейва, изучать этот механизм, внедрять как минимум следующие доп шаги (это я на вскидку): при обнаружении обновления параметров игрового движка (именно движка, а не esp | esm | скрипты) заставить делать бэкап этих самых параметров, после чего принимать новые заданные патчем параметры ввести проверку, что эти изменения всё ещё присутствуют в движке, при обнаружении их отсутствия (откате патча) - доставать старые параметры (делать автозагрузку из бэкапа) их. вывести меседж бокс через WarningPrn по обнаруженным изменениям в коде (байтах) движка Т.е. сразу лечить не следствие (поломка карты), а причину — ошибки. 42 минуты назад, Fritz сказал: По исправлению плавания аргониан, там был баг, связанный с отличием в названии расы, что не позволяло ящерицам использовать свою уникальную анимацию плавания в нашей версии. Путём общения с автором MCP было выяснено в чём загвоздка и фикс был реализован. Даже так? я не смотрел конечно через tes eng и tes ru ID расы, но может проблема даже в том, что Ангел перевёл алфавит (сделал хук и вырвал 64 байта, внедрил кириллицу), а расу не перевёл должным образом. Но т.к. это конкретное отличие для уникальной расы, которые вшиты в движок - анимация и не подхватывалась. (опять же предположение) в любом случае решение уже есть, надо его просто перенести 😃 Можно попытаться нормально "перевести" название расы конечно, но возможно ограничение по байтам. И впихнуть невпихуемое будет невозможно argonian - 8 символов, аргонианин - 10 символов. 42 минуты назад, Fritz сказал: По остальным двум пунктам, там текст обрезался в нашей версии, что и было подкорректировано в MCP. Да, это видно в моем ролике, который я заливал, когда перенёс фикс при повышении уровня из версии dll GFM в свою версию. Там написано просто "привлекательность" без цифр. Я сначала подумал что дело в том, что я "забыл перенести" проверку версии "М-МТ-МТБ?" из оригинального dll из-за чего патч немного "съезжал" в сторону, но: а) её там попросту нет б) при отключении русской локализации нормально отображалось Personality 40 И дело просто в количестве символов Personality - 11 символов Привлекательность - 17 символов и цифры не обрезались, они просто выталкивались "за рамку". Т.е. опытным путём пришёл к тому, что фиксы русской локализации априори должны быть перенесены в text.dllю Подумаю создавать ли новые cpp или вшить "фикс рамки" по повышенгию уровня в фикс по сообщению при повышении уровня. Вынести эти строки в angel.ini в к фиксам по бездоспешному бою и фиксу при повышении уровня. 42 минуты назад, Fritz сказал: А почему локализацию MCP не используешь, там всё нормально описано. А это я на скорую руку открыл случайно английскую версию. Локализованный МСР у меня есть, просто не тот открыл ) Изменено 18 часов назад пользователем ksteel Ссылка на комментарий Поделиться на другие сайты Поделиться
Pirate443 Опубликовано 18 часов назад Жалоба Поделиться Опубликовано 18 часов назад (изменено) 42 минуты назад, Fritz сказал: По исправлению плавания аргониан, там был баг, связанный с отличием в названии расы, что не позволяло ящерицам использовать свою уникальную анимацию плавания в нашей версии. Путём общения с автором MCP было выяснено в чём загвоздка и фикс был реализован. По остальным двум пунктам, там текст обрезался в нашей версии, что и было подкорректировано в MCP. А почему локализацию MCP не используешь, там всё нормально описано. так как я стопятьсот раз оттестил в разных вариациях позволю высказать свое мнение. Если поставить доработанный text.dll то при выборе в MCP пункта русские исправления MCP пишет что не найден совместимый text.dll и исправления не ставятся, как минимум обрезка цифр в окне повышения уровня. Есть оставить text.dll с диска 1с или из MFR, или отсюда https://www.fullrest.ru/files/russian_text_input то MCP ставить без жалоб и исправления работают, и если уже после этого поставить text.dll из этой темы то исправления продолжают работать. Так же с другой стороны если после установки русских исправлений из MCP заново скопировать text.dll из ванили или GFM то морка отказывается запускаться с включеным MGEXE и MWSE Вот и получается что вроде сами исправления вносятся в morrowind.exe, но при этом совершаются какие то манипуляции и с text.dll и требуется его определенная версия. Нужно либо заставить MCP принимать любые text.dll либо внести в него эти исправления сразу. Ну или хотя бы убедится что при замене text.dll после установки MCP, пользователь не теряет какие либо исправления. Изменено 18 часов назад пользователем Pirate443 Ссылка на комментарий Поделиться на другие сайты Поделиться
Pirate443 Опубликовано 18 часов назад Жалоба Поделиться Опубликовано 18 часов назад 19 минут назад, ksteel сказал: И дело просто в количестве символов Personality - 11 символов Привлекательность - 17 символов и цифры не обрезались, они просто выталкивались "за рамку". Т.е. опытным путём пришёл к тому, что фиксы русской локализации априори должны быть перенесены в text.dllю Подумаю создавать ли новые cpp или вшить "фикс рамки" по повышенгию уровня в фикс по сообщению при повышении уровня. Вынести эти строки в angel.ini в к фиксам по бездоспешному бою и фиксу при повышении уровня. я забыл написать или написал невнятно, фиксы русской локализации точно ставятся в екзешник, по крайне мере фикс окна повышения уровня. если поставить MCP на ванильный text.dll, а потом заменить его на ваш, то окно продолжает оставться широким и цифры умещаются. а вот чего MCP хочет от text.dll непонятно. Ссылка на комментарий Поделиться на другие сайты Поделиться
ksteel Опубликовано 18 часов назад Автор Жалоба Поделиться Опубликовано 18 часов назад (изменено) 13 минут назад, Pirate443 сказал: Нужно либо заставить MCP принимать любые text.dll либо внести в него эти исправления сразу. Никоим образом нельзя этого делать с моей версией! По крайней мере с моей text.dll. Она постоянно меняется, меняется ХЭШ, байты постоянно сползают в сторону, от чего создателю MCP прийдётся чуть ли не каждую неделю выискивать эти смещенные байты в моей версии и выкатывать доп патч. Это бессмысленно пока идёт разработка ядра text.dll. Я потому и удалил свой форк MCP, потому что он мог ломать совершенно другие адреса в моём text.dll !!! MCP сначала проверяет хэш Morrowind.exe! И выбирает подходящие под него патчи (которые ставятся нормально). Потом он проверяет хэш text.dll и выбирает "непонятные патчи для него". Мой text.dll он не знает (и слава богу) иначе бы ломал его. Изменено 17 часов назад пользователем ksteel Ссылка на комментарий Поделиться на другие сайты Поделиться
ksteel Опубликовано 17 часов назад Автор Жалоба Поделиться Опубликовано 17 часов назад 1 минуту назад, Pirate443 сказал: а вот чего MCP хочет от text.dll непонятно. именно! я уже писал раннее, что хэш после патчинга MCP и просмотр через Hex Workshop Hex Editor не дают никакой картины по изменениям ДО патчинга MCP и ПОСЛЕ патчинга MCP. Будто он вообще ничего не меняет в text.dll 😉 Ссылка на комментарий Поделиться на другие сайты Поделиться
ksteel Опубликовано 17 часов назад Автор Жалоба Поделиться Опубликовано 17 часов назад 13 минут назад, Pirate443 сказал: Ну или хотя бы убедится что при замене text.dll после установки MCP, пользователь не теряет какие либо исправления. этим я сейчас и занимаюсь 😃 Ссылка на комментарий Поделиться на другие сайты Поделиться
ksteel Опубликовано 17 часов назад Автор Жалоба Поделиться Опубликовано 17 часов назад (изменено) в целом по Аргонианам я уже нашёл этот фикс Было до патча MCP: Стало после патча MCP: Что это за байты? Это замена слова Argonian на кириллические символы в кодировке cp1251. Предполагаю (хотя немного глупое предположение Argonian -> Аргонианин Немного сложно то, что все три патча ставятся одной галкой + 4 gb патч стаивтся по умолчанию. Итого 1 галочка=4 патча. Сейчас сделаю тестовый фикс и проверим 😃 Изменено 16 часов назад пользователем ksteel Ссылка на комментарий Поделиться на другие сайты Поделиться
Pirate443 Опубликовано 16 часов назад Жалоба Поделиться Опубликовано 16 часов назад 39 минут назад, ksteel сказал: Немного сложно то, что все три патча ставятся одной галкой + 4 gb патч стаивтся по умолчанию. Итого 1 галочка=4 патча. разве 4 гб патч это русские исправления? я думал он сам по себе ставится в принципе. Ссылка на комментарий Поделиться на другие сайты Поделиться
ksteel Опубликовано 16 часов назад Автор Жалоба Поделиться Опубликовано 16 часов назад (изменено) Новая вводная. Как выяснилось опытным путём и личными тестами — при отключении русской локали (И ДАЖЕ БЕЗ MCP патча) EnableRussianLocalization=0 в Angel.ini корректно работают: анимация плавания Аргониан работает корректно по умолчанию: меню заклинаний нормальное (не обрезанное), окно повышения уровня отображается корректно без обрезки . Соответственно в Angel.ini будет создан новый блок [rules_russian_fix], где будут находиться 4 фикса, которые будут работать ТОЛЬКО при включении русской локали! Т.к. в английской версии эти патчи ПРОСТО НАПРОСТО НЕ НУЖНЫ! fix_argonian_swim — fix_levelUp_messages fix_levelUp_window — fix_SpellCreation_window — Я не буду объединять патчи fix_levelUp_messages и fix_levelUp_window, да и вообще все патчи в одну строчку - для гибкости и возможности отключения какого-либо патча отдельно. Надо будет выяснить нужен ли fix_unarmored_bug=1 в английской версии. Т.е. присутствует ли баг бездоспешного боя в английской версии? Или это тоже только косяк русской версии. Если кто знает, прошу написать мне х) или в теме в общем. Изменено 16 часов назад пользователем ksteel Ссылка на комментарий Поделиться на другие сайты Поделиться
ksteel Опубликовано 16 часов назад Автор Жалоба Поделиться Опубликовано 16 часов назад 38 минут назад, Pirate443 сказал: разве 4 гб патч это русские исправления? я думал он сам по себе ставится в принципе. в том то и дело 4 GB патч ВСЕГДА применяется, какую бы вы галочку не выбрали 😃 Ссылка на комментарий Поделиться на другие сайты Поделиться
EJ-12 Опубликовано 15 часов назад Жалоба Поделиться Опубликовано 15 часов назад ЛичГвардия востала из стазис чамберов?)) Очень неожиданно, но очень приятно!(С) 4гб совершенно необходимый патч, который не ставить нельзя по определению, конечно! Ссылка на комментарий Поделиться на другие сайты Поделиться
Fritz Опубликовано 15 часов назад Жалоба Поделиться Опубликовано 15 часов назад (изменено) По бездоспешному фиксу, это вроде общая проблема. Про аргониан, в енг версии точно анимация работает корректно по умолчанию, я слабо помню те нюансы, Олег лучше может довести в чём там детали. Да, Ёж, здоров! Изменено 15 часов назад пользователем Fritz Опечатка Ссылка на комментарий Поделиться на другие сайты Поделиться
ksteel Опубликовано 15 часов назад Автор Жалоба Поделиться Опубликовано 15 часов назад 7 минут назад, EJ-12 сказал: 4гб совершенно необходимый патч, который не ставить нельзя по определению, конечно! Я целиком и полностью согласен с вами х) Ссылка на комментарий Поделиться на другие сайты Поделиться
ksteel Опубликовано 14 часов назад Автор Жалоба Поделиться Опубликовано 14 часов назад (изменено) Мне чтобы перенести патч по анимации плавания, надо использовать intercept и fillbytes. Но...японамать вот это функция выбора анимации при плавании, не слишком ли "маленькая" 😄 либо это вообще функция, отвечающая за анимацию любого движения персонажа: Изменено 14 часов назад пользователем ksteel Ссылка на комментарий Поделиться на другие сайты Поделиться
Fritz Опубликовано 13 часов назад Жалоба Поделиться Опубликовано 13 часов назад >Мне чтобы перенести патч по анимации плавания В связи с этим вопрос-с какой целью переносится то, что уже реализовано и функционирует должным образом? Я увидел работу над Ё и другие полезные модификации библиотеки, ну а какой смысл изменения рабочих исправлений Ссылка на комментарий Поделиться на другие сайты Поделиться
EJ-12 Опубликовано 13 часов назад Жалоба Поделиться Опубликовано 13 часов назад (изменено) Если все исправления можно внести в один кадастр, который будет еще и удобней, быстрее, стабильнее - было бы странно пройти мимо такой полезной и нужной возможности! Оптимизации способны пораждать Спойлер (не только хаос) новый вектор развития, а полное переосмысление древних опытов, сообщает о ЛевелАпе и Ростом над собой! В нашем случае - МВ жил, Жив и продолжает заниматься, тем, что у него хорошо получается дальше! Изменено 13 часов назад пользователем EJ-12 Ссылка на комментарий Поделиться на другие сайты Поделиться
ksteel Опубликовано 11 часов назад Автор Жалоба Поделиться Опубликовано 11 часов назад 1 час назад, Fritz сказал: >Мне чтобы перенести патч по анимации плавания В связи с этим вопрос-с какой целью переносится то, что уже реализовано и функционирует должным образом? Я увидел работу над Ё и другие полезные модификации библиотеки, ну а какой смысл изменения рабочих исправлений Текущая подцель — не изменять рабочую версию исправления, а сделать так, чтобы text.dll (русская локализация в частности) в целом не ломала движок. В общей идеологии MCP и text.dll работают параллельно, создать систему, где все фиксы работают в гармонии, Заменить "сборную солянку" из утилит на "швейцарский армейский нож" (я не про фиксы по типу зачарования стрел, ношения перчаток вместе с наручами и так далее). Чинить не следствия неправильной работы text.dll, а саму неправильную работу text.dll и не снаружи меняя байты памяти, а изнутри, не изменяя morrowind.exe вообще, как часть игрового процесса. На примере фикса плавания аргониан он будет не просто менять строку, а интегрируется в систему локализации, как это было с фиксом по повышению уровня. Модульность и гибкость. Сейчас в MCP как - всё или ничего, либо 3 фикса разом, либо 0. Я же хочу сделать каждый из фиксов отдельно подключаемыми. Дать игрокам / плагиностроителям выбор - что им требуется, то и включают, что им мешает - отключают. Расширение в будущем: после внедрения lua на уровень движка, кодировки utf-8, вдруг кто-то захочет сделать мод (по типу преобразования Ё-Е (это совсем как пример))? Мододелу/плагиностроителю не надо будет читать 40ка страничный туториал как установить Морровинд 1с (сборку fullrest к примеру) в стим, чтобы работал оверлей, как потом накатить MCP, MGE XE почему одно без другого не работает, сверху ещё налепить mwse каким образом оно работает (по такой-же причине MGE с mwse объединены, если не ошибаюсь). А человек просто возьмет напишет скрипт и движок будет это поддерживать посредством text.dll (ядра) и его модулей, сможет вести нормальную отладку всего и вся и получать фидбек от пользователей. Сможет отключать оригинальные патчи и совершенствовать что-либо в Морровинде. Исключение каких-либо конфликтов в будущем. Я не изменяю MCP, его фиксы, я переношу его на уровень движка. Вместо чёрного ящика будет прозрачный аквариум, где всё будет видно что как работает и для чего, потому что исходные коды в доступности. И у всего этого будет единая точка конфигурации. Я хочу создать не просто патч, я хочу создать экосистему. Ссылка на комментарий Поделиться на другие сайты Поделиться
Fritz Опубликовано 8 часов назад Жалоба Поделиться Опубликовано 8 часов назад 3 часа назад, ksteel сказал: Я не изменяю MCP, его фиксы, я переношу его на уровень движка. Я принял, выглядит достойной задачей, будем способствовать. Ссылка на комментарий Поделиться на другие сайты Поделиться
ksteel Опубликовано 1 час назад Автор Жалоба Поделиться Опубликовано 1 час назад 6 часов назад, Fritz сказал: Я принял, выглядит достойной задачей, будем способствовать. СПАСИБО! 🤝🥳 А чтобы у пользователей не было путаницы, в логе первого вдоха 00_text_dll_first_light.log, при подключении фиксов, будет чётко прописано следующее (Сама надпись уже реализована, просто фикс настраиваю, чтобы он ничего лишнего не менял): Т.е. любые импортированные на уровень движка патчи из MCP будут иметь чёткое описание, что это патч из MCP от тех же разработчиков, просто на уровне ядра игры. 😃 Ссылка на комментарий Поделиться на другие сайты Поделиться
ksteel Опубликовано 1 час назад Автор Жалоба Поделиться Опубликовано 1 час назад (изменено) Я имею в виду, что я не хочу (да и не имею морального права) просто молчаливо переносить их патчи. В логах будут прописаны любые разработчики, чьи творения переносятся на уровень ядра. todo: Возможно чуть позже создам отдельный лог к логу первого вдоха (дабы не загружать второй), будет лог по разработчикам (чьи патчи были включены при запуске), где будут прописываться Имена разработчиков и ссылки на оригинальные творения. А пользователи, кто подкинул идею по модернизации будут упомянуты. Например Siberian Crab подсказал идею сделать клавишу смены раскладки не статичной, что считаю тоже немаловажным для упоминания. Изменено 1 час назад пользователем ksteel Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать учетную запись
Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти