|
|
|
|
|
|
#1 |
|
Новичок
Регистрация: 22.01.2017
Адрес: МО
Сообщений: 18
Вы сказали Спасибо: 1
Поблагодарили 11 раз(а) в 9 сообщениях
![]() |
roman5 можно подробнее, как пропатчить? Это надо сделать в ярлыке? Я поменял лок на ЧС2т-1034 и отцепился, но там, как я понял управление от дефолтного DASH9, не хотелось бы править сцену от автора.
|
|
|
|
|
|
#2 |
|
Новичок
Регистрация: 25.06.2017
Сообщений: 114
Вы сказали Спасибо: 35
Поблагодарили 71 раз(а) в 34 сообщениях
![]() |
Под патчем я имел ввиду изменение в коде 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. |
|
|
|
![]() |
| Здесь присутствуют: 1 (пользователей: 0 , гостей: 1) | |
|
|
Похожие темы
|
||||
| Тема | Автор | Раздел | Ответов | Последнее сообщение |
| Сценарий "Транзитный груз" (Маршрут Чернышевск 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 |
|
|
![]() Что это? |