Тоже прошел сценарий полностью, все хорошо, интересно. Но у меня почему-то происходят вылеты мстс после закрытия сообщений, в которых много текста, если я их не закрываю в течение 2-5 секунд. Если в сообщении мало текста, то оно нормально закрывается и через 30 секунд. Закрываю кнопкой esc, если закрывать мышкой также вылетает на длинных сообщениях.
Может кто пробовал фиксить баг с вылетом после закрытия сообщения ?
У меня система windows 10 x64, amd ati radeon видео.
Я попробовал выловить конкретно на какой инструкции кода в train.exe происходит исключение. Загрузил игру в IDA PRO и под отладкой начал играть, после закрытия я ловлю исключение, вот тут:
sub_545802 proc near
var_8= dword ptr -8
var_4= dword ptr -4
push ebp
mov ebp, esp
sub esp, 8
mov [ebp+var_8], ecx
mov eax, dword_7FB3A8
mov [ebp+var_4], eax
mov ecx, dword_7FB3A8 // здесь в ecx попадал 0, почему-то по адресу 7FB3A8 было не проинициализировано
mov edx, [ecx+4] // а тут получилось взятие значения по адресу [4], который не существует, вот и вылетает.
Я особо не понял, почему тот адрес в этот раз был 0 (функция вызывается постоянно во время игры, это усложняет разбор), но я добавил условие, что если по тому адресу 0, то сразу выходить из функции и вылеты прекратились.
P.S. В общем если пореверсить хорошо игру, то думаю можно многие баги в ней устранить. Исходников ведь нет к ней нигде в сети ?
Ну и еще по сцене встречного трафика очень мало.
Последний раз редактировалось roman5; 27.06.2017 в 02:38.
|