IPB

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

> No-CD для Hand of Fate CD-ROM
Siberian GRemlin
Aug 2 2007, 10:48
Сообщение #1


Advanced Member
***

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



Вообщем, решил поиграть во вторую Кирандию, но нормально так и не смог. VDMSound в оконном режиме не работает, а в DOSBox приходится вбивать каждый раз, чтобы он смонтировал образ в свой виртуальный CD-ROM, может конечно это и можно как-то автоматизировать, но эта падлюка после монтирования пытается работать с образом как с основным диском и игра говорит, что нету свободного места на винте и завершает работу. Вообщем, проще отучить от диска игру, чем изучать все премудрости других программ. Но что-то у меня не получается. Если интересно, вот файлик: http://slil.ru/24694340
Ресурсы игра берёт из папки [CD-ROM] :\HOF_CD\, естественно её надо приучить брать файлы из своей папки (папки с игрой) или из любой папки в папке с игрой. И не выводить дурацкое собщение "A CD-ROM device driver is required to run Hand of Fate CD.", а вместо этого нормально запускаться и работать.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
 
Reply to this topicStart new topic
Ответов
Siberian GRemlin
Aug 7 2007, 06:36
Сообщение #2


Advanced Member
***

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



Всё работает. Спасибо! Я хочу разместить No-CD у себя на сайте в виде кряка, поэтому предлагаю решить его вопрос сообща.
CODE
program ProjectHoFNoCD;
{$APPTYPE CONSOLE}
{$H-}
uses
  SysUtils,
  Windows,
  Classes;

const
  rus:byte=$EB;

function TestExe:Boolean;
var
  MSTR: TMemoryStream;
begin
  if fileexists(ExtractFilePath(ParamStr(0))+'HOFCD.EXE') then begin
    MSTR:=TMemoryStream.Create;
    Mstr.LoadFromFile(ExtractFilePath(ParamStr(0))+'HOFCD.EXE');
    if Mstr.Size=199284 then result:=true
    else result:=false;
    Mstr.Free;
//
    if fileexists(ExtractFilePath(ParamStr(0))+'MAINDOS.EXE') then begin
      MSTR:=TMemoryStream.Create;
      Mstr.LoadFromFile(ExtractFilePath(ParamStr(0))+'MAINDOS.EXE');
      if Mstr.Size=283328 then result:=true
      else result:=false;
      Mstr.Free;
//
     if fileexists(ExtractFilePath(ParamStr(0))+'MAINWIN.EXE') then begin
        MSTR:=TMemoryStream.Create;
        Mstr.LoadFromFile(ExtractFilePath(ParamStr(0))+'MAINWIN.EXE');
        if Mstr.Size=280000 then result:=true
        else result:=false;
        Mstr.Free;
      end else result:=false;
//
    end else result:=false;
//
  end else result:=false;
end;

procedure Patch(Logo: byte);
var
  MSTR: TFileStream;
begin
  MSTR:=TFileStream.Create(ExtractFilePath(ParamStr(0))+'HOFCD.EXE',fmOpenWrite,fmShareDenyWrite);
  Mstr.Position:=$EE29;
  Mstr.WriteBuffer(Logo,1);
  Mstr.Free;
  MSTR:=TFileStream.Create(ExtractFilePath(ParamStr(0))+'MAINDOS.EXE',fmOpenWrite,fmShareDenyWrite);
  Mstr.Position:=$181CD;
  Mstr.WriteBuffer(Logo,1);
  Mstr.Free;
  MSTR:=TFileStream.Create(ExtractFilePath(ParamStr(0))+'MAINWIN.EXE',fmOpenWrite,fmShareDenyWrite);
  Mstr.Position:=$181CA;
  Mstr.WriteBuffer(Logo,1);
  Mstr.Free;
end;

begin
  Write('                                                              Hand of Fate No-CD');
  Write('                                                             Hack by -=CHE@TER=-');
  Write('                                                       Patch by Siberian GRemlin');
  Write('                                                                  WWW.CTPAX-X.ORG');  
  Write(& #39;____________________________________________________________________________
____');
  if TestExe then begin
    patch(rus);
    WriteLn('All files patched successfuly.');
    WriteLn('Please copy all files exept executables from [CD-ROM]:\HOF_CD to game folder.');    
  end else begin
    WriteLn('Some files of HOFCD.EXE, MAINDOS.EXE, MAINWIN.EXE not found or corrupted!');
    WriteLn('Please reinstall game!');
  end;
  Readln;
end.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post

Сообщения в этой теме


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

 



Упрощённая версия Сейчас: 27th April 2024 - 14:44