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

Активность

Лента обновляется автоматически

  1. Последний час
  2. Я не такой явный эксперт в С++, но что-то мне подсказывает, что это как-то связано с переполнением буфера программ, работающих на С++ (привет Морровинд). Возможен Конфликт DLL библиотек даже (не исключаю). Во-первых (если взять тот плагин из 2010 года, надо понять каким образом он вычисляет количество убитых моровых монстров, как фильтрует (т.е. надо смотреть сам скрипт плагина). Во-вторых касательно Tamriel Rebuilt у меня есть одна гипотеза связанная с взаимодействием нескольких модов ЛИБО одного большого, как ваш проект: EnableConsole (как я писал в одном из первых постов) не ВКЛЮЧАЕТ консоль, а, скорее всего, РАСШИРЯЕТ её (расширяя консольную функциональность — новые команды), которая при обработке длинных скриптов (либо огромного количества модов со скриптами) превышает размер внутреннего буфера. Что происходит, если объяснять технически: Tamriel Rebuilt добавляет диалоги с длинными скриптами в поле "результат" Text.dll моей версии, v3.01, версии GFM имеет измененную логику работы с консолью. EnableConsole=1 расширяет функционал, но использует буфер фиксированного размера При обработке длинного скрипта (комплекса скриптов) происходит buffer overrun Почему работают обходные пути (изменение значения с 1 на 0 в строке EnableConsole=): EnableConsole=0 - отключает проблемный функционал Text.dll с диска 1С - использует другую реализацию/размеры буферов (у меня нет исходника оригинального text.dll с диска 1С, только исходники от Angel Death) Итого: Я проверю свою гипотезу, если она подтвердится, то постараюсь придумать что делать с буфером, который вызывает эту ошибку. Я постараюсь его расширить, но неизвестно какие последствия это может вызвать. Спасибо, что указали на эту дыру 😃 upd: глянул тот скрипт по убийству монстров....это конечно сильно 😄 на мой взгляд данный скрипт создаёт очень большую строку байткода, EnableConsole=1 добавляет дополнительную обработку/логирование, а в наших text.dll ограниченный буфер для этой операции. Как итог - скорее всего да, надо вносить расширение буффера, либо отключите пока на 0 EnableConsole. Если вы не разработчик text.dll, то по сути она вам и не нужна. Это конечно врядли исправит буффер с ЦЕЛЫМ Tamriel Rebuild, но кто знает, раз в год и палка стреляет.
  3. Тут на днях всплыла такая ошибка: При активации определенных диалогов из мода Tamriel Rebuilt (как выяснилось у которых в поле результат диалога длинный скрипт) происходит вылет игры, если установлен Text.dll версии 3.01 с фулреста, из GFM 5.10 c тесал или ваш модифицированный и при этом в angel.ini активирована опция EnableConsole=1. При EnableConsole=0 вылета нет. Если установить text.dll с диска 1с то вылета вроде бы нет вне зависимости от состояния EnableConsole. Я не знаю что делает функция EnableConsole, консоль в игре работает и без нее, но в версиях text.dll старше 3.0 она как то вызывает конфликт с объемом поля результат диалога. Я порылся на форуме и нашел что этот баг уже возникал в другом моде там человек тоже пришел к выводу что виновен text.dll версии 3.0+. Ну мы добавили в перевод ребилта рекомендацию установить EnableConsole=0. Это не первоочередная задача, но если вдруг в коде работающем с этой опцией есть прям какая то очевидная "детская" ошибка, было бы хорошо ее поправить. Если ничего не ясно, проще поставить EnableConsole=0 и не парится, кстати в дисковом морровинде, она как раз по умолчанию выкл. И вопрос всем: что все таки делает эта опция?
  4. Сегодня
  5. спасибо! всё на благо моддинга 😄
  6. Может ли быть так, что исходники с Гитхаба уже содержат исправления, которые просил Fritz? Потому что дата обновления исходников на гитхабе новее создания темы про GFM...я очень надеюсь и хочу чтобы это так было 😄
  7. Задача № 1 вроде как решена, мой форк MCP патчит text.dll (рабочая предрелизная версия форка) 2. Более сложная задача - собрать воедино исходники разных версий text.dll (все обновления и дополнения) и сделать один.
  8. И снова здравствуйте уважаемые форумчане! Спешу вам сообщить, что проведя несколько бессонных ночей я таки примирил версию 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
  9. Вчера
  10. Я не отслеживал изменения text_dll. Знаю только, что Fritz общался с группой Angel и они внесли какие-то изменения по его просьбе. И в MCP внесли патч для 2х версий (которая с игрой и последней). Text_dll_versions.txt: ============= v3.01 Исправлено отсутствие сообщений при повышении уровня v3.00 добавлена поддержка Tribunal 1.4.1313 Пофикшен баг с отображением защиты, теперь значение защиты вычисляется при каждом заходе в инвентарь. v2.95 Пофикшен unarmored bug, включается в angel.ini, секция [Rules], fix_unarmored_bug=1<br> 2004/08/15 v2.70 убран вывод предупреждений о дубликатах в mrk файлах в NewWarnings.txt<br> возможно переключать язык ввода c помощью Scroll Lock (работает в том числе и в многостроковых полях ввода) <br> 2004/08/19 console fix картинки в книгах сначала пытаются загрузится из "Data Files\BookArt" (решает проблему с английскими картинками в книгах, появившуюся в Bloodmoon)<br> 2005/02/05 улучшена работа расширения консоли показывается урон на стрелах Сайты: http://angel-death.newmail.ru/ http://angel-death.freebox.ru/ email: angel_death@mail.ru
  11. Провожу логическую цепочку: а) появляется text.dll от Angel_Death версии 3.0.0. с исходниками б) появляется MCP (а если судить по сайту Fullrest, появляется в 2010 году (первое упоминание)), который патчит как оригинальный text.dll от Бладмун, так и тот, что от Ангела. МСP обновляется до 2018 года (на нексусе и по сей день) в) в этом же 2010 году появляется GFM FIX в) без исходников (если они есть, то я их не нашёл) появляются две версии text.dll: 3.0.0 для GFM 6.3 и 3.0.1 который по ссылке https://www.fullrest.ru/files/russian_text_input#6235 г) я не знаю один и тот же это Text.dll (GFM - и тот что по ссылке), одни ли у них исходники, но год обновления у text.dll (того что по ссылке 2016). д) моему внутреннему перфекционисту яро хочется найти эти исходники обеих версий и поставить точку уже в номере версии, объединив исправления (отличия если они имеются) и создать единый text.dll (версию для своего text.dll как вы видите я не менял, я даже не думал что есть такая проблема в версиях, которая может вызвать серьёзную путаницу) но тем не менее (я буквально только что проверил), с моим text.dll устанавливается альтернативная анимация плавания аргониан, меню создание заклинаний и алхимии нормально пропатчилось, соответственно должны и устанавливаться другие патчи. Что это нам даёт? Я точно знаю, что MCP патчит Morrowind.exe, меняя его crc ключ и внося в него свои какие-то изменения. Я понятия не имею что именно патчит MCP в text.dll. Таким образом исходя из п.1 и п.2 я локально меняю свой приоритет (откладываю пока Морровинд AI и погружаюсь в изучение Python версии MCP). Мне надо понять как он взаимодействует с text.dll, чтобы не искать черную кошку ночью в темном сарае. upd: прикрепляю исходники (пока репозиторий на гитхаб не создан), которые уже исправлены мной (внесены мои обновления по смене раскладки и т.д.), если кто-то имеет желание помочь. На данный момент 2 задачи: Понять как взаимодействует MCP с text.dll и помирить MCP с универсальным text.dll Объединить исправления из моего text.dll, text.dll От GFM и text.dll по ссылке (если есть какие-то отличия моего text.dll от text.dll по ссылке https://www.fullrest.ru/files/russian_text_input#6235 ). Залить репозиторий этого единсвтенного общего text.dll на гитхаб. Таким образом поставить жирную точку в путанице версий text.dll. morr_text_dll-master_ksteel_update_2025.zip
  12. То что code patch патчит text.dll я уже тоже понял, но вот версию он вряд ли меняет, если и меняет то на что то свое а не 3.01. MCP как раз проверяет по хэшу файл и патчит только ту для которой у него совпадает хэш. Судя по описанию MCP патчит либо ванильный text.dll с диска либо GFM. у меня стоит 3.01 с фулреста https://www.fullrest.ru/files/russian_text_input/files и MCP его принимает. В GFM 5.10 лежит 3.01, если верить ридми. но для надежности проверил методом научного тыка в 3.01 работают сообщения при повышении уровня а вот в этой доработанной ksteel нет, так что исходник с гитхаба точно 3.0 что плохо. А так же плохо что кодепатч видимо не вносит в него свои исправления. а это "В русской локализации уникальная анимация плавания аргониан не проигрывалась из-за неверной проверки на ID расы. Теперь это исправлено и аргониане будут плавать отлично от других рас.Исправлена ширина меню создания заклинаний. Окно было слишком узким, из-за чего обрезался ползунок регулировки длительности.Исправлен внешний вид окна повышения уровня, чтобы избежать обрезки значения характеристики." вряд ли он читает этот форум и уж тем более горит желанием снова этим заниматься.
  13. На самом деле, все еще чудесатее. В комплекте с Бладом идет 2.050 версия Техт.длл 48кб от 2003его. Затем откуда-то появляется версия 3.0, 1.0.0.1 уже от 2005го года и тоже от Ангела. А далее, начинаются вариации на тему ее размера. При этом, МСП точно добавляет туда свои патчи, которые, возможно и влияют на версию(?). Собсно см. аттач, несколько разных версий, хоть для истории, хоть для научного развития, а можно использовать в качестве "мантры" напевая перед сном Гимны Эшленда и камлая в бубен над 3мя версиями. Это точно, что 3.01, а не 3.0.0 1.0.0.1? 6.3 версии имеет в составе Техт.длл версии 3.0.0.0 1.0.0.1, если речь об этом. Весом 170кб от 2010го года. В остальном, это ецп файл и некоторое кол-во моделей. ПС. И "ангел_деф" является оригинальным автором этого самого Длла со времен работы в Акелле еще . textddls.7z
  14. Я имел ввиду что с GFM(ну по коайней мере в вкрсии 5.1)тоже в комплекте лежит text.dll и он тоже 3.01. в общем уже не важно. я хотел лишь уточнить, правильно ли понял, что вы на основе 3.0 делаете. Не представляю где искать исходники последней версии или автора, может кто из старожил фулреста что то знает. а в уже существующий text.dll никак не получится заглянуть?
  15. Последняя неделя
  16. Никогда не делал офромление форков на гитхабе, но я постараюсь 😃
  17. исходники взяты с гитхаба, соответственно исходники от версии 3.0. Исходники версии 3.0.1 я не находил (к сожалению), если мне их предоставят, либо просто скажут куда что дописать, то я обязательно внесу это в своё дополнение, из этой темы, либо автор исправления про "таблички" может внести свои изменения в мои и перекомпилировать text.dll заново. По поводу этих табличек: "Исправлено отсутствие сообщений при повышении уровня" - это вот эти таблички по типу "вы так долго и упорно трудились и вот вы наконец пришли к этой цели. (Цитата не дословная, просто видел в каком-то файле игры эти строки давным давно. Вроде как в файле журнала (в который заносятся все записи про разные квесты, в игре.) Не помню где я его находил) По поводу GFM не совсем понял...GFM это же esp файл? Насколько я знаю, в ту же сборку в Fullrest Repack он уже встроен по умолчанию Если я где-то ошибся, то поправьте меня. Я буквально как пару недель занимался text.dll. За темами на форуме (GFM и другие) не особо следил.
  18. я тут заглянул одним глазом в исходники, там в файле versions.txt указан версия 3.0 в файле morr_text_dll.rc тоже версия файла 3.0 указана. а исходники точно от последней версии? на фулресте https://www.fullrest.ru/files/russian_text_input#6235 или в GFM лежит версия v3.01 судя по описанию "Исправлено отсутсвие сообщений при повышении уровня" в ней довольно важное исправление было. Я конечно допускаю что когда 3.01 делали могли в проекте не поправить, но файл versions.txt то на фулресте поправлен, а на гитхабе старый сомнительно. Выбор клавиши конечно хорошо, но терять исправление не хочется.
  19. Не за что. Еще бы репозиторий залить на Гит для будущих поколений
  20. ясно ,видел этот проект, но как минимум из за сложностей с нейросетями в рф, не заострял внимание. если дипсик прикрутите то уже интереснее.
  21. про этот с нексуса знаю, а на скринах у вас и правда Фулрест репак, не знал что там бэта версия с переведенным описанием, но она старее чем на нексусе.
  22. Хорошо, что кто-то взялся. Может, из экспериментов и хиханек получится что-то более серьёзное и иммерсивное.
  23. Уважаемые Админы! Есть ли какой прогноз на когда можно ожидать обновления? И что туда будет войти? Очччень хочется! Порадуйте хоть обещанием 😥.
  24. Дом Телванни по квестам оказался самый интересный, это факт. А поместьем после постройки мало кто пользуется - такое дурное, неудобное и неуютное место, что и бывать там не хочется. Да и внутри дерево мешает. Лучше поискать отдельный плагин на отдельный гриб для игрока. И на другой территории. Наверняка должен такой быть.
  25. Побывал я в этом святилище. Прочитал, что я не первый. Ушел. Как по мне - зря включили. Это другой жанр. Сильно выбивается из общей жизни Морровинда.
  26. Мне тут вот верно подсказывают, что сие и есть сырцы МСП. Точнее сказать не получается, Двемер в "отпуске"и когда из него Явится, вопрос риторический.
  27. постом выше прикрепил свой mcp в архиве, если надо. upd прошу прощения, ввёл в заблуждение, 8го сентября скачивал MCP патч по данной ссылке. От туда же скачивал MGE XE https://www.nexusmods.com/morrowind/mods/26348?tab=files
  28. Питон версия MCP 🤔 я про такую даже не слышал. Ну 621 строчка кода в main.py это очень серьёзно, пару дней точно понадобится на разбор, но эта не та версия. Я не помню, чтобы устанавливал MCP отдельно от Fullrest Репака — единственное, что я с ним делал, так это обновил MWSE (скачивал с нексуса, апдейтил через: Сомневаюсь, конечно, что анализ питон версии поможет, но я посмотрю его 😃 в целях накопления информации. Я приложу свою версию "mcp.exe" и папку от него "mcpatch" в архиве mcp.zip
  1. Загрузить ещё активность
×
×
  • Создать...