Форум: "Прочее";
Текущий архив: 2008.11.16;
Скачать: [xml.tar.bz2];
ВнизПрограмма для создания врапперов Найти похожие ветки
← →
@!!ex © (2008-09-17 23:03) [0]http://yupiistudio.com/Soft/HookMaker.rar
Благодарю за помощь:
Palladin, Renegat.
Прога на входе получает три параметра:
1) файл со списком функций
2) Название длл, которую надо заменить
3) Новое название оригинальной длл
На выходе получаем dpr и pas, которые должны без проблем компилится и работать.
Во всяком случае сейчас заменил OpenGL32.dll в Half-Life, все без проблем заработало.
← →
KilkennyCat © (2008-09-17 23:15) [1]а мне где спасибо? :)
← →
{RASkov} © (2008-09-17 23:18) [2]и мне... и мне... :)
← →
{RASkov} © (2008-09-17 23:18) [3]HookMaker.exe - обнаружена ошибка. Приложение будет закрыто. Приносим извинения за неудобства.
← →
KilkennyCat © (2008-09-17 23:26) [4]Деньги назад!
← →
{RASkov} © (2008-09-17 23:44) [5]> Деньги назад!
> и мне... и мне... :)
← →
KilkennyCat © (2008-09-17 23:48) [6]То есть, каждому!
:)
← →
Германн © (2008-09-18 01:47) [7]
> KilkennyCat © (17.09.08 23:48) [6]
>
> То есть, каждому!
>
330?
← →
KilkennyCat © (2008-09-18 01:55) [8]Германн, приезжай в Питер, выпьем абсенту...
← →
Германн © (2008-09-18 02:18) [9]
> KilkennyCat © (18.09.08 01:55) [8]
>
> Германн, приезжай в Питер, выпьем абсенту...
>
Все приглашения в шестую палату, плииз. Правила уважаем, да?
← →
KilkennyCat © (2008-09-18 02:20) [10]Во-вторую, наверное, все-таки...
А где нарушение правил?
← →
Германн © (2008-09-18 02:50) [11]
> KilkennyCat © (18.09.08 02:20) [10]
>
> Во-вторую, наверное, все-таки...
> А где нарушение правил?
>
Ну можно и во-вторую. Но лучше в шестую.
← →
@!!ex © (2008-09-18 08:31) [12]> [3] {RASkov} © (17.09.08 23:18)
> HookMaker.exe - обнаружена ошибка. Приложение будет закрыто.
> Приносим извинения за неудобства.
А можно поподробне??
← →
Шмелъ (2008-09-18 08:36) [13]У мну тоже "обнаружена ошибка. Приложение будет закрыто. Приносим извинения за неудобства." сразу после запуска (правда без параметров)
← →
@!!ex © (2008-09-18 08:59) [14]Интересное кино, куда-то пропал exit...
И когда я успел его удалить??
Исправил.
← →
KilkennyCat © (2008-09-18 09:04) [15]ексит не интересует. интересует: деньги выслал?
Каждому!
← →
@!!ex © (2008-09-18 10:07) [16]> [15] KilkennyCat © (18.09.08 09:04)
Конечно.
Всю сумму вернул. :)
← →
{RASkov} © (2008-09-18 11:47) [17]> [12] @!!ex © (18.09.08 08:31)
> А можно поподробне??
Чтоб не гадалось.... в [13] подробно. Т.е.
> сразу после запуска (правда без параметров)
> [14] @!!ex © (18.09.08 08:59)
> Исправил.
Ну и отличненько...:)
← →
Slym © (2008-09-18 12:00) [18]@!!ex © (18.09.08 10:07) [16]
Верни опенсурсом :)
← →
Virgo_Style © (2008-09-18 13:59) [19]Вы сначала ее обратно закачайте, а потом уж деньги требуйте.
← →
Правильный$Вася (2008-09-18 14:38) [20]
> Интересное кино, куда-то пропал exit
т.е. теперь враппит в вечном цикле, пока не уложит систему в позу [3]?
← →
pasha_golub © (2008-09-18 14:44) [21]Еще раз. ШО это такое? я не понял. извините
← →
Palladin © (2008-09-18 14:46) [22]создатель fake библиотек, транслирующих вызовы в не fake библиотеки :)
← →
pasha_golub © (2008-09-18 14:47) [23]Ух ты. А зачем?
← →
Renegat © (2008-09-18 14:50) [24]Ну вот хотя бы для перехвата функций. Вызывает кто-то функцию, а управление получаем мы!
← →
@!!ex © (2008-09-18 15:36) [25]Вообще такие dll позволяют переписывать часть приложения не имея исходного кода.
Вообще это затеял четыре дня назад, чтобы улучшить качество графики(уже добавил антиальязинг) и прикрутить шейдеры(вот тут проблема, но не в том, чтобы прикрутить шейдеры, а в том, чтобы они функционально соответствовали стандартному конвееру) к движку игры Half-Life 1.
← →
@!!ex © (2008-09-18 15:50) [26]> [20] Правильный$Вася (18.09.08 14:38)
Нет. Там вот такой код был:program HookMaker;
{$APPTYPE CONSOLE}
uses
SysUtils,
Maker2 in "Maker2.pas";
begin
{ TODO -oUser -cConsole Main : Insert code here }
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 и естественно упадет.
← →
pasha_golub © (2008-09-18 17:03) [27]
> @!!ex © (18.09.08 15:36) [25]
>
> Вообще такие dll позволяют переписывать часть приложения
> не имея исходного кода.
Можно пример? А то я нужности ну не понимаю нифига.
← →
@!!ex © (2008-09-18 18:13) [28]> [27] pasha_golub © (18.09.08 17:03)
> Можно пример? А то я нужности ну не понимаю нифига.
Я уже привел.
Можно посмотреть как меняется графика в том же GTA:SA при подключении подставной либы dx9 с реализованным блумом.
А вообще то что вам это не нужно - ну так я за вас рад, не используйте. :)
← →
@!!ex © (2008-09-18 18:32) [29]Кстати ссылка.
Особенно различие видно на нижних скринах:
http://boris-vorontsov.narod.ru/ss_gtasa_ru.htm
Правда там длл не только блум добавляет, но еще бамп, отражения и тени.
← →
@!!ex © (2008-09-18 18:38) [30]Сравните:
http://boris-vorontsov.narod.ru/screenshots/gtasa20.jpg
и
http://boris-vorontsov.narod.ru/screenshots/gtasa21.jpg
Изменена лишь одна dll.
← →
{RASkov} © (2008-09-18 20:16) [31]> [30] @!!ex © (18.09.08 18:38)
А как сделал скрин на одном и том же практически месте? :) ...с разными dll)
← →
@!!ex © (2008-09-18 20:52) [32]> [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 файле конопок и включается или выключается некий эффект по нажатию. ничего сложного.
← →
@!!ex © (2008-09-18 22:38) [33]Вот сделал специально примерчик. :)
Режим переключается нажатием одной кнопки, а 4 секунды разницы, это из-за того, что надо переключить режим, нажать принтскрин, перейти к паинту, нажать контрол+в, перейти обратно в игру, переключить режим, сделать принсткрин еще раз.
http://img68.imageshack.us/my.php?image=csnormalef2.jpg
http://img220.imageshack.us/my.php?image=csgrayqv0.jpg
Сейчас пробую с лайтмапами поэкспериментировать. Если получится - удастася уйти от этих жутких ступенек на границе...
Шейдер обещает быть не порстым...
← →
{RASkov} © (2008-09-18 22:47) [34]> [33] @!!ex © (18.09.08 22:38)
Одна "Ч/Б" другая в цвете. В этом вся разница? :)
← →
VirEx © (2008-09-18 22:49) [35]интересная штука..
← →
@!!ex © (2008-09-18 22:57) [36]> [34] {RASkov} © (18.09.08 22:47)
Ну не буду же я тратить два часа на то, чтобы написать сертезный фильтр. :))
чб тоже все прекрасно демострирует, а кода в шейдере - 2 лишних строчки.
← →
pasha_golub © (2008-09-19 11:34) [37]
> А вообще то что вам это не нужно - ну так я за вас рад,
> не используйте. :)
Ну шо вы сразу все в штыки? Может действительно нужно, а я не доганяю.
← →
@!!ex © (2008-09-19 16:15) [38]> [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??? То что у меня получается мне вообще не нравится... и инфы адекватной найти не могу...
← →
@!!ex © (2008-09-19 16:16) [39]P.P.S.
Еще водичка классная получилось, но в статике она не смотрится вообще, а видео ролик я буду сто лет заливать...
← →
@!!ex © (2008-09-19 17:40) [40]А вот и водичка.
http://ifolder.ru/8198263
правда видео захвачено 5 кадров в секунду, но суть вполне передает. :)
Прошу прощения, что на ifolder"e - но у меня больше нигде нет доступа по FTP.
Страницы: 1 2 вся ветка
Форум: "Прочее";
Текущий архив: 2008.11.16;
Скачать: [xml.tar.bz2];
Память: 0.54 MB
Время: 0.006 c