HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- Half-Life SDK (https://hlfx.ru/forum/forumdisplay.php?forumid=8)
-- Нубские вопросы от <censored> и других нубов (https://hlfx.ru/forum/showthread.php?threadid=4535)
Отправлено Ku2zoff 28-06-2017 в 09:18:
Цитата:
Chyvachok писал:
а в чем вообще достоинство тех партиклей?
Цитата:
Chyvachok писал:
эффект попадания пуль в стены
Ну вот это они и есть. Они там вертятся по-всякому вокруг своей оси, а не просто статично летят, как, например в сталкере, или в моём туторе.
Цитата:
Chyvachok писал:
огонь из огнемета
Что-то самописное, но смахивает на аврору из спирита по внешнему виду. Главное, что на триапи написано, темпэнтити не жрёт. Если нужен только огнемёт, или дымовой шлейф от ракеты - можно это юзать (или валлпаффы из паранойи, немного разнообразив код). Если нужно много всяких систем вида фонтан/струя/шлейф - тогда можно тянуть аврору себе в мод. Ну или RenderSystem из XDM, там вообще всякое можно, начиная от дождя и снега, и заканчивая взрывами и туманом.
Отправлено Chyvachok 28-06-2017 в 10:48:
Цитата:
Ku2zoff писал:
Ну или RenderSystem из XDM, там вообще всякое можно, начиная от дождя и снега, и заканчивая взрывами и туманом.
Рендерсистем выглядит интересно, но она столько за собой файлов тащит, плюс там в коде много чего переделано, я врядли смогу ее нормально вытащить. Учитывая что я в кодинге совсем нуб.
Отправлено Дядя Миша 28-06-2017 в 13:03:
Как вы эти парт-системы между собой различаете. Они все имеют примерно одинаковый функционал, кроме авроры. И главное отличие авроры - постоянно действующий эмиттер, вокруг этой концепции выстроен весь код. Обычные партикли устроены несколько иначе.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Цитата:
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено Ku2zoff 29-06-2017 в 02:31:
Цитата:
Chyvachok писал:
но она столько за собой файлов тащит
Просто берёшь, и подключаешь эти файлы к проекту. Рисование всё равно вызывается из файла tri.cpp. Ну и Init/VidInit в hud.cpp, и всякое другое по мелочи в других файлах - только хедеры подключай. А так вся RS в одной отдельной папке находится.
Цитата:
Chyvachok писал:
плюс там в коде много чего переделано
Я бы думал не об этом, а об общей замудрёности системы. А следовательно, о мелких багах-бажочках. Вот, например, жуткие проседания фпс на первой карте кампании ArcticIncident, из-за колоизации снежинок в финальной версии. И прочие остальные радости.
Цитата:
Дядя Миша писал:
Как вы эти парт-системы между собой различаете.
По названию
А вообще, я смотрел более-менее подробно только код авроры и RS, другие (из паранойи) просто тупо копипастил. Правда, уже всё это забыл, прошло почти 8 лет.
Отправлено Дядя Миша 29-06-2017 в 07:59:
Цитата:
Ku2zoff писал:
из-за колоизации снежинок в финальной версии
Думаешь из-за колоизации? Дождик БУзера весь колоизировал, однако не тормозил.__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Цитата:
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено XaeroX 29-06-2017 в 08:52:
Цитата:
Дядя Миша писал:
Дождик БУзера весь колоизировал, однако не тормозил.
Ну там это... Он не совсем прям колоизировал. Но сути это не меняет - трассы там были.__________________
Отправлено Ku2zoff 29-06-2017 в 09:13:
~X~ про колоизацию вроде бы упоминал. Конечно, более вероятны проблемы с отсечением невидимых областей, или рисование лишних полигонов. Надо почитать тему по XDM 3.0.3.8, чтобы освежить это в памяти.
Цитата:
Ku2zoff писал:
Я буду делать у себя нечто подобное, только с выбрасываемыми магазинами, как в Firearms.
Вот, кстати, вчера поработал немного в этом направлении. Довольно интересная тема оказалась. Пришлось заюзать ammo_secondary.cpp для отображения количества и иконки магазинов, написать новую функцию перезарядки и чуток подправить код перезарядки в ItemPostFrame. Осталось отшлифовать напильником, и завести магазины с "памятью", в которых хранятся патроны и их количество.
Отправлено Дядя Миша 29-06-2017 в 10:07:
Цитата:
Ku2zoff писал:
Конечно, более вероятны проблемы с отсечением невидимых областей, или рисование лишних полигонов.
Всё это очень сомнительно. Ну не будет тормозить хоть 20 тыщ партиклей, даже через глбегин на современных видеокартах. А в его снежинках было от силы пару тысяч. Это такой лаг, который под силу создать только Мастеру.__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Цитата:
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено Luciferchik 30-06-2017 в 08:33:
Кто нить знает нормальные примеры раскачки камеры при ходьбе типа аля сталкер или сру от страха?
__________________
Sometimes you have to get knocked down lower than you've even been to stand up taller than you everwere.
You so sad. No, i just die everyday...
I can't do anything around here without everybody getting up in my shit...
The aim of life is self-development.
Отправлено fl0wer 30-06-2017 в 18:25:
Из-за чего могут мерцать (моргать) энтити?
Отправлено Ku2zoff 02-07-2017 в 16:05:
Цитата:
Luciferchik писал:
Кто нить знает нормальные примеры раскачки камеры при ходьбе типа аля сталкер или сру от страха?
Оперируй pparams->viewangles[YAW], чтобы вертеть камеру влево-вправо по горизонтали. Я надеюсь, ты заметил, что если в сталкере опустить взгляд вниз, или задрать вверх, то миникарта начинает мотаться как бешеная? Чтобы наклонять камеру вправо-влево по вертикали, используй pparams->viewangles[ROLL]. К значениям англсов нужно прибавлять значения bob, высчитываемые функцией V_CalcBob. Если тебе нужно раскачивать в разных направлениях с разной амплитудой, можешь продублировать эту функцию, завести новые квары, и использовать их вместе с обычным bob.
Добавлено 02-07-2017 в 23:05:
Настал мой черёд задать нуб вопрос. В связи с кодингом магазинов, у меня возникла проблема. Магазины эти надо где-то хранить. И как-то хранить. Завёл структуру, содержащую порядковый номер магазина, кол-во патронов, и тип патронов:
C++ Source Code:
Как это дело запихнуть в сейвдату? Ни одного подходящего типа поля нет. Ближе всего FIELD_INTEGER, но он только int'ы и enum'ы умеет. А здесь typedef struct. Была мысль сохранять магазины как float'ы: цифра до точки - номер магазина, цифра после точки - кол-во патронов в нём. Но тогда негде будет хранить тип патронов. А значит, игрок не сможет подбирать магазины, пока у него нет соответствующего оружия (сохранять магазины придётся в сейвдату оружия, конечно). Тоже нехорошо. Пока я остановился на таком варианте: хранить как float'ы в классе игрока. Первая цифра - тип патронов, вторая - номер магазина, дальше точка, а после точки кол-во патронов в данном магазине. Как-то так. Ещё ничего не накодил, это только предположение. МБ есть какой-то хороший вариант, чтобы сохранить структуру в сейв?
Отправлено Дядя Миша 02-07-2017 в 18:13:
Ku2zoff а не хочеш обоймы энтитями делать, не? ))))
или тебе вот прям надо помнить в каком магазине сколько осталось патронов? Заведи два массива, например.
Добавлено 02-07-2017 в 21:13:
ЗЫ. в сейврестор можно писать всё что угодно, надо лишь добавить новый тип. добавь FIELD_STRUCT да и сохраняй себе наздоровье.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Цитата:
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено Ku2zoff 02-07-2017 в 18:49:
Цитата:
Дядя Миша писал:
а не хочеш обоймы энтитями делать, не?
Как-то стрёмно на первый взгляд. А если они будут жрать эдикты? Есть такое подозрение. Ну вот например 10 уникальных стволов, и у каждого 8 магазинов максимум. Даже если не у каждого по 8 на самом деле, то память под 8 штук выделяется всё равно. В самом тяжёлом случае выходит 32 игрока х 10 стволов х 8 магазинов.
Цитата:
Дядя Миша писал:
в сейврестор можно писать всё что угодно, надо лишь добавить новый тип.
Ух ты, не знал. Будем посмотреть сорцы rehlds и ксаша на предмет таких делов, для пущей уверенности.
Добавлено 03-07-2017 в 01:49:
Цитата:
Дядя Миша писал:
или тебе вот прям надо помнить в каком магазине сколько осталось патронов?
В файрармсе так и есть. Магазины перезаряжаются по кругу, кол-во патронов запоминается для каждого. С тем отличием, что файрармс - мультиплеерный мод, и ничего сохранять не надо.
Отправлено Дядя Миша 02-07-2017 в 19:40:
Цитата:
Ku2zoff писал:
А если они будут жрать эдикты?
ну что значит если. Ну как это если? Обязательно конечно будут! Я бы даже сказал пре-не-пре-мен-ней-ше!
Цитата:
Ku2zoff писал:
Есть такое подозрение
8 лет под халфу кодит - есть такое подозрение, мда. У Мастера тоже всё подозрения были.
Цитата:
Ku2zoff писал:
для пущей уверенности.
я када эти новые типы добавлял - никаких сорцев еще и близко не было. Вон старый ксаш-мод 0.39 я там добавил типо FIELD_RANDOM для двух флоатов.__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Цитата:
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено Ku2zoff 03-07-2017 в 05:49:
Цитата:
Дядя Миша писал:
8 лет под халфу кодит - есть такое подозрение, мда.
Ну не 8 лет же
Кодю примерно 4 года. До этого только копипастил даже не задумываясь, как написан код.
Цитата:
Дядя Миша писал:
я када эти новые типы добавлял - никаких сорцев еще и близко не было.
Ну не знал я, что сейв/рестор хавает любые типы данных. Думал, что там в движке прописаны только определённые. Как с физикой: мувтипы новые в дллке не добавишь - гс грохнется с Host_Error. Поди разбери, где там у вальвы всё жёстко в движке закодено, а где можно расширять интерфейсы. Вон, вроде delta.lst лежит в папке мода - добавляй не хочу новые поля. Ан нет, в движке захардкоден определённый набор на каждую секцию.