-
http://yupiistudio.com/Soft/HookMaker.rarБлагодарю за помощь: Palladin, Renegat. Прога на входе получает три параметра: 1) файл со списком функций 2) Название длл, которую надо заменить 3) Новое название оригинальной длл На выходе получаем dpr и pas, которые должны без проблем компилится и работать. Во всяком случае сейчас заменил OpenGL32.dll в Half-Life, все без проблем заработало.
-
а мне где спасибо? :)
-
и мне... и мне... :)
-
HookMaker.exe - обнаружена ошибка. Приложение будет закрыто. Приносим извинения за неудобства.
-
Деньги назад!
-
> Деньги назад!
> и мне... и мне... :)
-
То есть, каждому! :)
-
> KilkennyCat © (17.09.08 23:48) [6] > > То есть, каждому! >
330?
-
Германн, приезжай в Питер, выпьем абсенту...
-
> KilkennyCat © (18.09.08 01:55) [8] > > Германн, приезжай в Питер, выпьем абсенту... >
Все приглашения в шестую палату, плииз. Правила уважаем, да?
-
Во-вторую, наверное, все-таки... А где нарушение правил?
-
> KilkennyCat © (18.09.08 02:20) [10] > > Во-вторую, наверное, все-таки... > А где нарушение правил? >
Ну можно и во-вторую. Но лучше в шестую.
-
> [3] {RASkov} © (17.09.08 23:18) > HookMaker.exe - обнаружена ошибка. Приложение будет закрыто. > Приносим извинения за неудобства.
А можно поподробне??
-
У мну тоже "обнаружена ошибка. Приложение будет закрыто. Приносим извинения за неудобства." сразу после запуска (правда без параметров)
-
Интересное кино, куда-то пропал exit... И когда я успел его удалить??
Исправил.
-
ексит не интересует. интересует: деньги выслал? Каждому!
-
> [15] KilkennyCat © (18.09.08 09:04)
Конечно. Всю сумму вернул. :)
-
> [12] @!!ex © (18.09.08 08:31) > А можно поподробне??
Чтоб не гадалось.... в [13] подробно. Т.е.
> сразу после запуска (правда без параметров)
> [14] @!!ex © (18.09.08 08:59) > Исправил.
Ну и отличненько...:)
-
@!!ex © (18.09.08 10:07) [16] Верни опенсурсом :)
-
Вы сначала ее обратно закачайте, а потом уж деньги требуйте.
-
> Интересное кино, куда-то пропал exit
т.е. теперь враппит в вечном цикле, пока не уложит систему в позу [3]?
-
Еще раз. ШО это такое? я не понял. извините
-
создатель fake библиотек, транслирующих вызовы в не fake библиотеки :)
-
Ух ты. А зачем?
-
Ну вот хотя бы для перехвата функций. Вызывает кто-то функцию, а управление получаем мы!
-
Вообще такие dll позволяют переписывать часть приложения не имея исходного кода. Вообще это затеял четыре дня назад, чтобы улучшить качество графики(уже добавил антиальязинг) и прикрутить шейдеры(вот тут проблема, но не в том, чтобы прикрутить шейдеры, а в том, чтобы они функционально соответствовали стандартному конвееру) к движку игры Half-Life 1.
-
> [20] Правильный$Вася (18.09.08 14:38)
Нет. Там вот такой код был: program HookMaker;
uses
SysUtils,
Maker2 in 'Maker2.pas';
begin
Writeln('Create by @!!ex. Samara 2008');
Writeln('Thanx: Palladin, Renegat, www.delphimaster.ru');
if ParamCount<>3 then begin
Writeln('HookMaker.exe <FuncList> <HookDllName> <OriginalDllName>');
Writeln('Example: HookMaker.exe funcs.txt OpenGL32.dll Original_OpenGL32.dll');
exit; end;
CreateHook(ParamStr(1),ParamStr(2),ParamStr(3));
Writeln('Press enter for exit...');
Readln;
end. Если exit убрать, то без параметров попытается вызвать CreateHook и естественно упадет.
-
> @!!ex © (18.09.08 15:36) [25] > > Вообще такие dll позволяют переписывать часть приложения > не имея исходного кода.
Можно пример? А то я нужности ну не понимаю нифига.
-
> [27] pasha_golub © (18.09.08 17:03) > Можно пример? А то я нужности ну не понимаю нифига.
Я уже привел. Можно посмотреть как меняется графика в том же GTA:SA при подключении подставной либы dx9 с реализованным блумом. А вообще то что вам это не нужно - ну так я за вас рад, не используйте. :)
-
-
-
> [30] @!!ex © (18.09.08 18:38)
А как сделал скрин на одном и том же практически месте? :) ...с разными dll)
-
> [31] {RASkov} © (18.09.08 20:16)
ну так что мешает в длл по условию(например нажатие клавиши) либо просто перенаправлять вызов, либо делать какой-то вызов. Например, у меня в коде сейчас есть вот такая штука: procedure glEnd(); stdcall;
begin
OrigGL.glEnd();
if (NDC<>0) then
if (GetAsyncKeyState(VK_RETURN) and $8000) <> 0 then
unitOldOpenGL32.wglSwapBuffers(NDC);
On_glEndAfter();
end; Смысл простой. если нажата клавиша Ентер, то экран меняется после рисования каждого элемента сцены, а не ждет полного завершения отрисовки. В итоге можно понаблюдать как постепенно из кусочков строится сцена. :) Очень позновательно. :)) У Бориса просто отлавливаются нажатия определенных в ini файле конопок и включается или выключается некий эффект по нажатию. ничего сложного.
-
-
> [33] @!!ex © (18.09.08 22:38)
Одна "Ч/Б" другая в цвете. В этом вся разница? :)
-
интересная штука..
-
> [34] {RASkov} © (18.09.08 22:47)
Ну не буду же я тратить два часа на то, чтобы написать сертезный фильтр. :)) чб тоже все прекрасно демострирует, а кода в шейдере - 2 лишних строчки.
-
> А вообще то что вам это не нужно - ну так я за вас рад, > не используйте. :)
Ну шо вы сразу все в штыки? Может действительно нужно, а я не доганяю.
-
> [37] pasha_golub © (19.09.08 11:34)
Да не в штыки. Просто если не нужно, ну и отлично. Меньше проблем. :))
Вот чего добился. Эффекты, правда еще сырые, и сделать их достаточно сложно, потому что в глубь движка никто не пускает... :(
Взрыв. Было: img81.imageshack.us/my.php?image=csexplosionwu3.jpg Стало: img228.imageshack.us/my.php?image=csexplosionhazead3.jpg
Окно. Было: img228.imageshack.us/my.php?image=cswindownormaltj8.jpg Стало: img81.imageshack.us/my.php?image=cswindowbloomzr7.jpg
P.S. Наро, может кто знает как сделать. проблема первая: Haze искажает все на кадре, а реально он не может исказить что находится ближе источника искажения... как можно от этого избавится?? проблема вторая: Как сделать нормальный Bloom??? То что у меня получается мне вообще не нравится... и инфы адекватной найти не могу...
-
P.P.S. Еще водичка классная получилось, но в статике она не смотрится вообще, а видео ролик я буду сто лет заливать...
-
А вот и водичка. http://ifolder.ru/8198263правда видео захвачено 5 кадров в секунду, но суть вполне передает. :) Прошу прощения, что на ifolder'e - но у меня больше нигде нет доступа по FTP.
|