HLFX.Ru Forum Страницы (2): [1] 2 »
Показать все 22 сообщений этой темы на одной странице

HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- Xash3D (https://hlfx.ru/forum/forumdisplay.php?forumid=14)
-- GL_StudioDrawShadows - обратная сторона (https://hlfx.ru/forum/showthread.php?threadid=2814)


Отправлено Дядя Миша 09-05-2011 в 15:04:

GL_StudioDrawShadows - обратная сторона

Как известно в HL данная функция выключена, хотя сами тени, конечно никуда не делись и могут быть вызваны при помощи известного хака, который прыгает через возврат и позволяет вызвать функцию.
Я в ксаше пытался проэмулировать подобное поведение, но толи ума не хватило, толи там какая-то хитрость есть, но в общем и целом ничего не вышло. Есть желающие повозиться с этой бедой?

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено fire64 09-05-2011 в 18:41:

Я кстати понять не могу, зачем они отключили вызов теней, но при этом оставили их рабочий код ?

__________________
Вся сила лысого кощея,
Сокрыта в башне из костей
Воздвигнутой, под небесами
На месте похорон людей


Отправлено XaeroX 09-05-2011 в 18:41:

fire64
Когда ты какую-то фичу отключаешь - то полностью вырезаешь её код?

__________________

xaerox on Vivino


Отправлено fire64 09-05-2011 в 18:47:

XaeroX, если я не планирую вернуть её позже, то да.
Иначе со временем код превратится в помойку из старого неработающего кода.

__________________
Вся сила лысого кощея,
Сокрыта в башне из костей
Воздвигнутой, под небесами
На месте похорон людей


Отправлено Дядя Миша 09-05-2011 в 18:50:

Цитата:
XaeroX писал:
Когда ты какую-то фичу отключаешь - то полностью вырезаешь её код?

Я так скажу. Если эта фича умещается в одной функции и не тянет за собой никаких изменений - почему бы и не удалить полностью.
Но мне другое непонятно. Зачем ВООБЩЕ надо было отключать тени?
Кому они мешали?

Добавлено 09-05-2011 в 22:50:

ЗЫ. Adamix наговнял вот такое вот чудо, которое даже работает, но мне оно не нравится. Совсем не нравится
C++ Source Code:
1
static void GL_StudioDrawShadow( void )
2
{
3
  // big hack for some other shadows hack.
4
  _asm
5
  {
6
    nop
7
    nop
8
    nop
9
    nop
10
    nop
11
    nop
12
    nop
13
    nop
14
    nop
15
    nop
16
    nop
17
    nop
18
    nop
19
    nop
20
    nop
21
    nop
22
    nop
23
    nop
24
    nop
25
    nop
26
    nop
27
    nop
28
    nop
29
    nop
30
    nop
31
    nop
32
    nop
33
    nop
34
    nop
35
    nop
36
    nop
37
    nop
38
    nop
39
    nop
40
    nop
41
    nop
42
    nop
43
    nop
44
    pop ecx
45
  }
46
 
47
  if( true )// r_shadows.value )
48
  {
49
    StudioDrawShadow( m_pStudioHeader, g_bonestransform );
50
  }
51
}

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено fire64 09-05-2011 в 19:10:

А в чем смысл забивать функцию nop'ами ?

__________________
Вся сила лысого кощея,
Сокрыта в башне из костей
Воздвигнутой, под небесами
На месте похорон людей


Отправлено XaeroX 09-05-2011 в 19:16:

Меня больше беспокоит строчка "pop ecx".

__________________

xaerox on Vivino


Отправлено Дядя Миша 09-05-2011 в 19:28:

Цитата:
XaeroX писал:
Меня больше беспокоит строчка "pop ecx".

ну ничего страшного. подумаешь, будет stack underflow, всего-то делов

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено Ku2zoff 10-05-2011 в 02:45:

А стенсил буффер в Ксаше включен? Чтобы хакнутую opengl32.dll для теней БУзера или неба из Паранойи не волочить за модом?


Отправлено FiEctro 10-05-2011 в 05:50:

>> Но мне другое непонятно. Зачем ВООБЩЕ надо было отключать тени?
Кому они мешали?

Плоские и мерцающие . Видимо валв они бесили, потом в контерстрайке были другие тени, такие спрайтики под ногами игроков.

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено adamix 10-05-2011 в 07:12:

Предлагайте свои идеи, чем можно занять первые 32 байта в функции без асма.

__________________
Законы математики, имеющие какое-либо отношение к реальному миру, ненадежны; а надежные математические законы не имеют отношения к реальному миру. © Альберт Эйнштейн


Отправлено Дядя Миша 10-05-2011 в 08:23:

Цитата:
Ku2zoff писал:
А стенсил буффер в Ксаше включен?

ну он через квар gl_stencilbits настраивается. Впрочем параноя без своей любимой дллки серавно не заработает - она же ищет волшебное gl-расширение PARANOIA_HACKS_V1.
И тени бузера тоже не заработают.
Цитата:
adamix писал:
Предлагайте свои идеи

моя идея посмотреть чем они заняты в оригинальной функции.
Правда её сначала нужно найти, но это уже дело техники.
Я начал поиски с DispatchStudioEvent.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено XaeroX 10-05-2011 в 08:32:

Цитата:
adamix писал:
Предлагайте свои идеи, чем можно занять первые 32 байта в функции без асма.

Ты для начала объясни, с чего ты взял, что твой код на асме займет первые 32 байта в функции? Причем на всех компиляторах и всех конфигурациях (дебаг, релиз).

__________________

xaerox on Vivino


Отправлено Ku2zoff 10-05-2011 в 08:35:

>>Впрочем параноя без своей любимой дллки серавно не заработает
Ну дык её клиент можно перекомпилить если чо.

>>И тени бузера тоже не заработают.
Они и с дллкой криво работают, я об этом уже писал.


Отправлено adamix 10-05-2011 в 08:37:

Цитата:
XaeroX писал:
Ты для начала объясни, с чего ты взял, что твой код на асме займет первые 32 байта в функции?

ЕМНИП, канпелятор не оптимизирует асм. Ну там не 32, чуть больше. суть в том, что после джампа мы должны оказатся на 32 байте.

__________________
Законы математики, имеющие какое-либо отношение к реальному миру, ненадежны; а надежные математические законы не имеют отношения к реальному миру. © Альберт Эйнштейн


Временная зона GMT. Текущее время 03:33. Страницы (2): [1] 2 »
Показать все 22 сообщений этой темы на одной странице

На основе vBulletin версии 2.3.0
Авторское право © Jelsoft Enterprises Limited 2000 - 2002.
Дизайн и программирование: Crystice Softworks © 2005 - 2024