-
> Интересное кино, куда-то пропал 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. Еще водичка классная получилось, но в статике она не смотрится вообще, а видео ролик я буду сто лет заливать...
|