Перейти к содержанию

MCP 2025 (мой неофициальный форк)


Рекомендуемые сообщения

И снова здравствуйте уважаемые форумчане! Спешу вам сообщить, что проведя несколько бессонных ночей я таки примирил версию 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):image.png.629ce847c240ea4b8e38c8d5cf1000eb.png

1.2 Окно выбора исправлений (фиксов) изменено отображение (не по моему хотению, а из-за обновленной версии wxPython):  

image.png.afc24671dd887d3393dcb4edc248d384.png 

пояснения:

  • темная полоса в имени исправления — фикс уже установлен,
  • синяя полоса в имени исправления — фикс выбран для установки,
  • наименование исправления без выделения — фикс не установлен и не выбран в качестве установки.

1.3 Лог после установки:image.png.b48c75e1bc6057301c67e57e9b3af110.png 

Если в процессе установки отображена эта надпись, значит моё обновление прошло успешно (Еще раз упомяну - используйте верную версию text.dll!!!)

Итак, что было сделано:

  1. Обнаружил метод patch_ru - ядро системы валидации text.dll.

  2. Нашёл механизм хеш-проверки SHA256  "d = os.path.join(patchdir, hashlib.sha256(o).hexdigest())"

  3. Сохранил обратную совместимость с оригинальными патчами

  4. Добавил поддержку кастомных TEXT.DLL через white-list хешей.

  5. Создал список allowed_hashes c хешем моего text.dll

  6. Сохранил логику backup\restore text.dll (как и обычно ваш оригинальный text.dll будет переименован в Text.Original.dll)

  7. Ввёл задел на будущее - добавил автосоздание недостающих структур папок.

  8. Обновил все команды в mcp.py в соответствии с последней на данный момент версией wxPython.

  9. Перевёл на современный API - "EnableCheckBoxes(True)" вместо "CheckListCtrlMixin", добавил "SetItemState()", таким образом получив современные чекбоксы.

  10. Провёл полную инвентаризацию и удалил всё "ручное" управление чекбоксами - удалил все вызовы: "self.CheckItem(listidx) из AddItems" и "self.CheckItem(i, False) из UncheckAll"

  11. Изменил StaticBitmap в соответствии с новой версией wxPython:image.png.b238a712cbfff894c347b176b90052a5.png

  12. С нуля пересобрал SelectListBox, теперь он выглядит так:
    image.png.74b318ec87108c093bdb49a8d06057e8.png

  13. Ввёл задел на будущее - добавил debug сообщения в "on_select_category" (для логирования требуется запускать mcp.py через PowerShell):
    image.png.28f36f2fc6b6a580fd72d77c63a1e358.png

  14. Главное - ввёл универсальность MCP:
    image.png.00e9120eef885db3703d025d1ea10812.png

  15. Провёл API модернизацию: заменил все "fromstring()" на "frombytes() (было 5 штук)":
    image.png.93478aef10bddfef5330a8f3e0bd314e.png
     

Прикладываю исходники с готовым собранным mcp.exe, всем спасибо за внимание!

MCP_Python_Version-19510-2-4_Universal_06_10_2025.zip

Изменено пользователем ksteel
дал пояснение и определение, что это форк
Ссылка на комментарий
Поделиться на другие сайты

  • ksteel изменил название на MCP 2025 (мой неофициальный форк)

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
  • Последние посетители   1 пользователь онлайн

×
×
  • Создать...