Давно я уже не радовал свежими билдами, можно сказать. Это было связано главным образом с тем, что никакой разработки над движком не велось. Но кое-какие изменения всё же накапливались. Поэтому, выкладываю вам свежий апдейт. Там кое-что из пожеланий Кьювертуса, несколько багов с клиентскими статик энтитями, кое-что для римейка Хипнотика, исправлено несколько незначительных, но очень старых багов, в том числе мерзкая вертикальная полоска слева на разрешении 1366х768 а так же увеличен лимит на кол-во студиотекстур (это для тех наркоманов, которые клепают модельки по 30 метров). Полный список измененией:
Цитата:
Engine: fix bug with ambient sounds that won't writes into demo
Client: allow plaque 'loading' between demos change
Client: make work fade flag FFADE_MODULATE
Render: fixed underwater fog recursive leaf search code (thx XaeroX)
Render: replace all 'random' calls in CL_RocketTrail code from RANDOM_LONG to rand() to get more compatibility with original quake particles
Render: adding default studiomodel bbox for right culling client static entities
Sound: add info about background track state into console command "s_info"
Sound: increase static channels count up to 128
Client: write background track state into demo
Engine: fix crash when typing 'cvarlist' into console
FS: allows lookup system files into root directory (e.g. vgui.dll etc)
Engine: added new command 'modellist" (prints list about all loaded models)
Engine: add terminator for entity string to be guranteed have valid end of the entity string
Engine: purge all fake bmodels from previous map when server is changed
Memory: increase check for filename debug length from 32 to 128 characters
Server: background track which will be specfied from worldpsawn settings now are looped
Engine: fix bug with recorded demos in Quake Remake after changelevel
GameUI: 'gamestartup.mp3' now are looped
Server: fix the SV_StudioSetupBones interface declaration error (thx maricool)
Render: change MAXSTUDIOTEXTURES limit from 128 to 256
Client: change passed argument for HUD_Frame callback from cl.time to host.frametime (thx XWider)
Client: remove screen align to prevent deform on resolution 1366x768
FS: do check what mod folder is really existed (this helps avoid to creating empty folder)
GameUI: replace checkbox "Allow Software" with "Vertical Sync" in menu "Video Modes"
Опять таки номер билда напоминает нам о "заряжынной папеной двинажке".
Вложение: xash_build2112.7z (475.2 кб)
Этот файл был скачан 659 раз.
Ну вот, собственно, как и обещал выкладываю тестовый билд, который поддерживает emboss фильтр для иммитации бамп-маппинга.
Зачем это нужно? Во первых затем, что честный бамп-маппинг требует карт нормалей, специального мода, типа HLFX, Paranoia или Xash 0.7 (когда он выйдет), а так же специального компилятора карт.
А emboss-маппинг позволяет в большинстве случаев добиться приемлемого эффекта с минимальными затратами и будет работать на любом моде. Однако тут есть тонкость - обычно для создания эффекта emboss-маппинга народ жертвует детальными текстурами и записывает его туда. Это крайне неудобно, к тому же текстурки приходится делать вручную. Мой подход предполагает непосредственное преобразование диффузных текстур, на этапе загрузки в видеопамять с учётом пользовательских настроек. Таким образом вы можете отрегулировать степень фейкового бампа для каждой текстуры индивидуально и добиться неплохих результатов с минимальными затратами.
Данный билд содержит в себе xash.dll + пример текстового скрипта.
Расскажу о параметрах.
texturename - имя текстуры, к которой применяется фильтр. Реагирует только на текстуры уровня (по крайней мере на данный момент).
filtername - имя фильтра. Оставьте "emboss" и не меняйте, другие фильтры вам не понадобятся.
factor - собственно регулятор эффекта, значения от 0.01 до 1 регулируют степень проявления emboss-маппинга персонально для каждой текстуры
base - оставьте 128, это та самая база как и у детальных текстур (сероватый цвет)
blendfunc - оставьте blend, в противном случае изменится яркость диффузной текстуры по сравнению с теми, к которым не был применен фильтр.
flags - флаги в виде числа. На данный момент есть только 1 флаг - конвертирование в ч\б текстуру нашего результата emboss-маппинга (перед тем как смешать его с диффузной текстурой). Так же оставьте 1, а то получится ерунда.
Таким образом единственные два параметра, которые следует изменять, это имя текстуры и factor, а остальные трогать не рекомендуется.
Но для смелых экспериментаторов скажу оставшиеся режимы, это blur, blur2 и edge. Ну а названия бленд-функов обязан знать каждый уважающий себя маппер, ибо воистену.
Вложение: emboss_test.rar (369.3 кб)
Этот файл был скачан 567 раз.
Вытащил из папки valve, soud, materials название текстур и как в инструкции вписал в texfilter. Запустил HL, получилось, смотрится красиво. Но многое осталось без изменений. factor выставил 0.4, а текстуры дерева и вентиляции
0.2