IPB

Добро пожаловать, гость ( Вход | Регистрация )

 
Reply to this topicStart new topic
> No-CD для Tomb Raider 4. The Last Revelation
Siberian GRemlin
Apr 6 2009, 10:27
Сообщение #1


Advanced Member
***

Группа: CTPAX-X
Сообщений: 473
Регистрация: 4-February 08
Пользователь №: 2
Спасибо сказали: 201 раз(а)



Начну с того, что эта игра категорически отказывается воспринимать свой диск с какого-либо другого оптического привода кроме первого в системе. Поскольку игра в виде образа и в моей коллекции есть другие игры с подобными болезнями, но на физических носителях, то перетасовка приводов в системе не лучший выход. Лучшим выходом была бы отучалочка, но с ней возникли проблемы:
1. Игра перестаёт воспринимать видеоролики из папки "FMV" (папки Data, FMV, Audio, копируются с диска в папку с игрой + файлы .DAT, кроме language.dat -- он от программы установки)
2. Если отученная игра остаётся в папке куда была установлена с диска, то при запуске падает предложение отписаться дя диБиллу. Если папку переименовать, то игра работает. Изменение в ветке "HKEY_CURRENT_USER\Software\Core Design\Tomb Raider IV" ничего не дают. Прямо комповой какой-то завёлся.

Вот этот зловредный способ отучения от диски:
CODE
procedure Patch;
var
    MSTR: TFileStream;
    b1,b2,b3,b4: char;
begin
    b1:=chr($43);
    b2:=chr($90);
    b3:=chr($2B);
    b4:=chr($1B);
    MSTR:=TFileStream.Create('.\tomb4.exe'),fmOpenReadWrite);
    if FileExists('.\English.dat') then begin           //поддержка английских версий из США и Англии.
        Mstr.Position:=$73C06;
    end else begin
        Mstr.Position:=$739A6;
    end;
    Mstr.WriteBuffer(b1,1);
    Mstr.Position:=Mstr.Position+$30-1;
    Mstr.WriteBuffer(b2,1);
    Mstr.WriteBuffer(b2,1);
    Mstr.Position:=Mstr.Position+$18-2;
    Mstr.WriteBuffer(b3,1);
    Mstr.Position:=Mstr.Position+$A8;
    Mstr.WriteBuffer(b4,1);
    Mstr.Free;
end;


Буду рад если кто-то подскажет как эти две беды исправить.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
-=CHE@TER=-
Apr 6 2009, 18:02
Сообщение #2


Walter Sullivan
***

Группа: Root Admin
Сообщений: 1,200
Регистрация: 4-February 08
Пользователь №: 3
Спасибо сказали: 286 раз(а)



Игра как-то странно проверяет диск... вернее потом с ним работает - достаточно просто закрыть процедуру проверки и она магическим образом начинает работать с файлами в текущем каталоге (даже всякие A:\ и C:\script.dat внутрях править не нужно).
QUOTE
xor eax,eax
inc eax
retn

Кстати, наверное будет проще универсальный патч сделать (как для TR1, RE1 и второй Кирандии), чем проверять какое смещение брать по языковым ресурсам.

Для версии 1.0:
QUOTE
Смещение: Было Стало
000739B0: 83 33
000739B1: EC C0
000739B2: 18 40
000739B3: A1 C3


Для версии 1.1 (патч на AG.ru есть):
QUOTE
Смещение: Было Стало
00073C10: 83 33
00073C11: EC C0
00073C12: 18 40
00073C13: A1 C3


Кстати, не ставил игру - просто скопировал следующие файлы на жёсткий диск и вытащил CD:
QUOTE
[audio]
[Data]
[FMV]
tomb4.exe
SCRIPT.DAT
us.dat
binkw32.dll
Readme.txt

Ко всему прочему удалил из каталогов (первые три в списке) дублирующийся binkw32.dll - зачем его в каждый каталог понапихали - непонятно.
И последнее - у меня игра с родным диском работала, но он был второй в системе, а не первый.


Спасибо сказали:
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Siberian GRemlin
Apr 12 2009, 15:20
Сообщение #3


Advanced Member
***

Группа: CTPAX-X
Сообщений: 473
Регистрация: 4-February 08
Пользователь №: 2
Спасибо сказали: 201 раз(а)



QUOTE(-=CHE@TER=- @ Apr 7 2009, 02:02) *
Кстати, наверное будет проще универсальный патч сделать (как для TR1, RE1 и второй Кирандии), чем проверять какое смещение брать по языковым ресурсам.

Думаю это будет полезно не только мне и на сайте будет хорошо смотреться. wink.gif
Кстати, ты как в универсальном проверяешь? По блокам ищешь?
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
-=CHE@TER=-
Apr 12 2009, 18:21
Сообщение #4


Walter Sullivan
***

Группа: Root Admin
Сообщений: 1,200
Регистрация: 4-February 08
Пользователь №: 3
Спасибо сказали: 286 раз(а)



QUOTE(Siberian GRemlin @ Apr 12 2009, 15:20) *
Думаю это будет полезно не только мне и на сайте будет хорошо смотреться. wink.gif
Кстати, ты как в универсальном проверяешь? По блокам ищешь?
В смысле "по блокам"? Нет - просто ищу последовательность байт, включая эти, которая больше нигде в файле не повторяется.
Универсальный патч сделаю и выложу в ближайшее время, как руки дойдут.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0 -

 



Упрощённая версия Сейчас: 18th August 2019 - 07:12