Форум Trainsim  

Вернуться   Форум Trainsim > Microsoft Train Simulator > MSTS - Сценарии

Ответ
 
Опции темы Опции просмотра
Старый 03.03.2019, 13:20   #1
Коленыч
Новичок
 
Аватар для Коленыч
 
Регистрация: 22.01.2017
Адрес: МО
Сообщений: 18
Вы сказали Спасибо: 1
Поблагодарили 11 раз(а) в 9 сообщениях
Коленыч стоит на развилке (репутация по умолчанию)
По умолчанию

roman5 можно подробнее, как пропатчить? Это надо сделать в ярлыке? Я поменял лок на ЧС2т-1034 и отцепился, но там, как я понял управление от дефолтного DASH9, не хотелось бы править сцену от автора.
Коленыч вне форума   Ответить с цитированием
Старый 03.03.2019, 19:27   #2
roman5
Новичок
 
Регистрация: 25.06.2017
Сообщений: 114
Вы сказали Спасибо: 35
Поблагодарили 71 раз(а) в 34 сообщениях
roman5 стоит на развилке (репутация по умолчанию)
По умолчанию

Цитата:
Сообщение от Коленыч Посмотреть сообщение
roman5 можно подробнее, как пропатчить? Это надо сделать в ярлыке?
Под патчем я имел ввиду изменение в коде train.exe, когда случается вылет игры, то там есть отладочная информация, в которой есть адрес кода, где произошло исключение.
Для этого можно использовать отладчик ollydbg, сначала настраиваем его, чтобы при вылете он поймал игру. Делаем так: Options - "Just-in-time debugger". В окне щелкаем по пункту "Make Ollydbg just-in-time debugger" и также щелкаем по пункту "Attach without confirmation". После этого ollydbg можно закрыть, теперь как только игра упадет, всплывет отладчик этот и будет видно в момент падения: инструкцию кода, которую он не может исполнить, регистры все, call stack (вкладка K) наиболее полезная вещь при крэшах.
После этого либо удаляем эту инструкцию и смотрим работает ли, либо разбираем причину падения отладкой по коду.

К примеру, у меня падало тут

00698536 E8 05A70000 CALL train.006A2C40
0069853B 899F D0828200 MOV DWORD PTR DS:[EDI+8282D0],EBX //тут исключение из-за того, что EDI указывал не пойми куда, вместо смещения.
00698541 5F POP EDI
00698542 5E POP ESI
00698543 5B POP EBX
00698544 C2 0400 RETN 4

Я просто затер инструкцию по адресу 0069853B nop-ами, прокатило. Падать перестало, но тут просто повезло, если бы не сработало, то пришлось бы идти по коду назад и искать в данном случае, почему edi стал некорректным значением.

Вообще опытным путем я заметил, что msts намного больше багов выдает на осях вин10 и вин7 х64, у меня вин10 х64. Возможно у тех, у кого не было вылетов на прицепках в этой сцене - оси 32х битные. Я давно уже так действую с вылетами в этой игре, я заметил, что к примеру на Малахитовке вылеты в коде игры происходили в одних и тех же местах, то есть они были конкретные, пропатчив там код, я добился, что игра больше не падает на этом маршруте.

Добавлено через 18 минут
С помощью ollydbg еще можно также побороться с подвисаниями мстс, если игру запустить из ollydbg, то в момент, когда звук идет, а картинка стоит, быстро переключаемся в отладчик и жмем на паузу, обычно оказываемся в маленьком бесконечном цикле, в котором условие выхода кривое, поправив которое либо вообще, убрав цикл, игра продолжает работать.

Последний раз редактировалось roman5; 03.03.2019 в 19:15.
roman5 вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сценарий "Транзитный груз" (Маршрут Чернышевск 1.0) АлексЛ298 MSTS - Сценарии 18 30.03.2019 23:14
Сценарий "Давай Угля!" (Чернышевск версия 1.0) Shimanski OpenRails - Сценарии 0 26.02.2019 05:32
Сценарий "Дождливый Понедельник" (Чернышевск версия 1.0) Shimanski OpenRails - Сценарии 23 04.09.2018 03:09
Сценарий "М-Киевская - Нара" ,Маршрут "Москва-Киев" версия 1.0 полная zefov MSTS - Сценарии 66 11.08.2018 19:02
Сценарий: "С опазданием на Курский" маршрут "Москва - Харьков. 0.5Beta" Demitroff MSTS - Сценарии 26 10.04.2012 21:56


Текущее время: 11:01. Часовой пояс GMT +4.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd. Перевод: zCarot
© 2001-2019, Администраторы и разработчики Клуба Trainsim
TopList Нажми для появления дома Trainsim на карте Intermap
Что это?