ksteel Опубликовано 4 часа назад Жалоба Поделиться Опубликовано 4 часа назад (изменено) И снова здравствуйте уважаемые форумчане! Спешу вам сообщить, что проведя несколько бессонных ночей я таки примирил версию MCP 2.5 Beta 7 (исходник взят с https://www.nexusmods.com/morrowind/mods/19510?tab=files mcp-python-version (огромная благодарность пользователю EJ-12 за помощь в поиске и предоставленную ссылку)) со своей версией text.dll (ОБРАЩАЮ ВАШЕ ВНИМАНИЕ, ЭТО ПРЕДРЕЛИЗНЫЙ ФОРК, РАЗРАБОТАННЫЙ ОТДЕЛЬНО НА БАЗЕ MCP Beta 7): Данная версия MCP совместима с версиями text.dll, которые НЕ СТАРЕЕ МОЕЙ ИЛИ ТОЙ ЧТО В FULLREST REPACK (внимательно следите за тем, какую версию text.dll вы используете! Если не знаете - сверяйте хэш оригинальных text.dll (с моей темы, или сборки FullRest Repack) с той, что находится в вашей папке Morrowind!!!) Естественно данный MCP поддерживает оригинальный text.dll самой игры. ВНИМАНИЕ! Т.к. данный MCP (как и мой text.dll) универсален! он показывает АБСОЛЮТНО ВСЕ ИМЕЮЩИЕСЯ У НЕГО ПАТЧИ ! Т.е. он может показывать новые патчи И ДЛЯ СТАРЫХ НЕ ПОДХОДЯЩИХ DLL! БУДЬТЕ ВНИМАТЕЛЬНЫ! НЕ СТАВЬТЕ НОВЫЕ ПАТЧИ НА СТАРЫЕ TEXT.DLL, КОТОРЫЕ НЕ ПРЕДНАЗНАЧЕНЫ ДЛЯ СТАРЫХ TEXT.DLL - сломаете либо сам длл файл, либо morrowind.exe, получите надпись "Живите в проклятом мире, который сами и создали". Я предупредил. Ну с инструкажом закончил, перехожу к наглядным объяснениям: 1. Внешний вид подредактированного MCP. 1.1 Окно приветствия (сердечно прошу не думать про какое-то моё чувство нарциссизма, моё упоминание внесено ТОЛЬКО и ИСКЛЮЧИТЕЛЬНО для того, чтобы убрать путаницу в версиях MCP): 1.2 Окно выбора исправлений (фиксов) изменено отображение (не по моему хотению, а из-за обновленной версии wxPython): пояснения: темная полоса в имени исправления — фикс уже установлен, синяя полоса в имени исправления — фикс выбран для установки, наименование исправления без выделения — фикс не установлен и не выбран в качестве установки. 1.3 Лог после установки: Если в процессе установки отображена эта надпись, значит моё обновление прошло успешно (Еще раз упомяну - используйте верную версию text.dll!!!) Итак, что было сделано: Обнаружил метод patch_ru - ядро системы валидации text.dll. Нашёл механизм хеш-проверки SHA256 "d = os.path.join(patchdir, hashlib.sha256(o).hexdigest())" Сохранил обратную совместимость с оригинальными патчами Добавил поддержку кастомных TEXT.DLL через white-list хешей. Создал список allowed_hashes c хешем моего text.dll Сохранил логику backup\restore text.dll (как и обычно ваш оригинальный text.dll будет переименован в Text.Original.dll) Ввёл задел на будущее - добавил автосоздание недостающих структур папок. Обновил все команды в mcp.py в соответствии с последней на данный момент версией wxPython. Перевёл на современный API - "EnableCheckBoxes(True)" вместо "CheckListCtrlMixin", добавил "SetItemState()", таким образом получив современные чекбоксы. Провёл полную инвентаризацию и удалил всё "ручное" управление чекбоксами - удалил все вызовы: "self.CheckItem(listidx) из AddItems" и "self.CheckItem(i, False) из UncheckAll" Изменил StaticBitmap в соответствии с новой версией wxPython: С нуля пересобрал SelectListBox, теперь он выглядит так: Ввёл задел на будущее - добавил debug сообщения в "on_select_category" (для логирования требуется запускать mcp.py через PowerShell): Главное - ввёл универсальность MCP: Провёл API модернизацию: заменил все "fromstring()" на "frombytes() (было 5 штук)": Прикладываю исходники с готовым собранным mcp.exe, всем спасибо за внимание! MCP_Python_Version-19510-2-4_Universal_06_10_2025.zip Изменено 3 часа назад пользователем ksteel дал пояснение и определение, что это форк Ссылка на комментарий Поделиться на другие сайты Поделиться
Марк К. Марцелл Опубликовано 2 часа назад Жалоба Поделиться Опубликовано 2 часа назад Проведённая работа впечатляет! Ссылка на комментарий Поделиться на другие сайты Поделиться
ksteel Опубликовано 2 часа назад Автор Жалоба Поделиться Опубликовано 2 часа назад 10 минут назад, Марк К. Марцелл сказал: Проведённая работа впечатляет! спасибо! всё на благо моддинга 😄 Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать учетную запись
Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти