Alexander Pafos писал: 1 переименовать env_physbox в prop_dynamic
2 переименовать env_static в prop_static
3 переименовать env_dynlight в light_dynamic
Можно прилинковать второй-третий-десятый класснейм к одной энтите. Останется только сделать новый класс в fgd. Тогда и новое название будет, и старое останется для обратной совместимости.
Crystallize писал: Я вот не в курсе, Джек подсказывает тебе нужный класс если начать набирать класснейм на клавиатуре?
ну подсказывает, только сначала совсем другую сущность
Добавлено 02-09-2023 в 15:38:
Цитата:
Ku2zoff писал: Можно прилинковать второй-третий-десятый класснейм к одной энтите. Останется только сделать новый класс в fgd. Тогда и новое название будет, и старое останется для обратной совместимости.
в csg и rad вроде, проверка на env_static была.
во всяком случае последние слово за метаморфом
__________________
И по программам их узнаете их...
пржект
https://www.moddb.com/games/silent-vilage
Отредактировано Alexander Pafos 02-09-2023 в 11:40
Alexander Pafos писал: 1 переименовать env_physbox в prop_dynamic
2 переименовать env_static в prop_static
3 переименовать env_dynlight в light_dynamic
это нужно чтоб не искать эти сущьности среди env_, которых и так много
Переименовывать существующие энтити точно не нужно, т.к. сломается совместимость с уже готовыми картами.
Цитата:
Alexander Pafos писал: 4 сделать флажок breakable для дверей
5 пeренести все исходные файлы оружия в отдельную папку, как у монстров
6 вынести часть кода из player.cpp, он перегружен, в какой нибудь playerOther.cpp
Со всем этим согласен, но в ближайшее время не думаю что будет какое-то решение.
Цитата:
Alexander Pafos писал: 7 может стоит перенести func_vehicle из кс 1.6?
Потом будут машинки с уже полноценной физикой.
Цитата:
Alexander Pafos писал: 8 ещё можно прикрутить физику к оружию и аптекам на полу для демонстрации физики .
Не уверен что надо менять стандартное поведение этих энтитией. Но вот упростить такую возможность разработчикам однозначно стоит.
Добавлено 16-09-2023 в 02:45:
Давно сюда ничего не писал, хотя вроде и было что написать, а вроде и лень всё вспоминать и переводить в текст.
Вкратце, что было сделано в период с лета по сегодняшний день:
1. Переработана имплементация кэширования коллизионных мешей
Теперь игра не будет зависать в рантайме при попытке построить коллизионный меш. Подобная система уже была реализована в P2, однако в ней был ряд недочётов, которые я учёл. После первого просчёта результаты сохранятся на диск, при этом учитывая выставленный body/skin/хэш модели. На огромных картах состоящих целиком из моделей стало сильно лучше. Также, попутно уменьшен расход оперативной памяти, так как инстансы мешей больше не дублируются для каждой энтити, а наоборот, энтити ссылается на готовый инстанс меша по хэшу. Поскольку геометрия в инстансах хранится в пространстве модели, это позволяет нам провернуть подобную оптимизацию.
2. Добавлен удобный API для работы с движковой файловой системой
В прошлом году a1batross вынес файловую систему из движка в отдельную библиотеку (такой же подход используется и в голдсорсе), попутно с этим добавив туда вальвовский интерфейс VFileSystem009. Это оказалось очень полезно как для совместимости с существующими модами сделанными под голдсорс, так и с созданием новых. Ну и на базе этого интерфейса я сделал простой и удобный API для работы с файлами и всем сопутствующим. Хотя там кое-что ещё предстоит доработать. Также, этот API полностью совместим между клиентом и сервером, можно не задумываясь копипастить код из одной части в другую и всё будет работать консистентно.
3. В проект интегрирован пакетный менеджер vcpkg
Поскольку планируется поддерживать ряд различных платформ, менеджмент всех зависимостей вручную превращается в ад. По работе мне приходилось иметь дело с vcpkg, и этот инструмент проявил себя неплохо по своему прямому назначению. Решил поэкспериментировать, сначала внедрил его в свои другие проекты, разобрался детальнее, и в итоге решил также внедрить его в PrimeXT. По итогу никаких проблем с ним не возникло, а также этот инструмент сильно упростил реализацию следующего шага.
4. Интегрирована поддержка PhysX SDK 4.1.2 взамен Novodex SDK 2.8.3
Этот шаг также был сделан в первую очередь исходя из цели поддерживать как можно больше платформ. И заставить работать физику кроме как на винде получилось сравнительно несложно, благодаря пакетному менеджеру. Что касается именно самого кода, поскольку между версиями SDK такая огромная разница, многое пришлось перелопатить. Сейчас всё по большей части работает корректно и стабильно, но остались мелкие огрехи исправлением которых я и занимаюсь в последнее время. Изначально у меня были сроки закончить до зимы, но скорее всего я успею даже раньше.
5. Различные багфиксы, которые мне лень искать в списке коммитов, поэтому подробного описания не будет
Decay писал: у Вальвы видимо этот момент в движке находится
В GoldSrc чисто визуально проверил через r_speeds, отворачивался от моделей — мне кажется в голде вообще нету фрустум-куллинга для моделей.
Добавлено 17-09-2023 в 20:17:
Наверное можно сделать чтобы и контроллеры учитывало, но я такое не осилю
code:/*
================
R_StudioComputeBBox
Compute a full bounding box for current sequence
================
*/
static qboolean R_StudioComputeBBox( vec3_t bbox[8] )
Я думаю можно разметку VGUI вполне бы было хранить в каком нить простеньком файлике, и включать через энтитию. У Бузера был хороший туториал на эту тему, там относительно всё просто и вполне можно вытащить для пользователя. По крайней мере для простого рисования окошек, кнопочек и картинок. Правда я хз как у Прайма обстоят дела с самим VGUI.
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
FiEctro писал: Я думаю можно разметку VGUI вполне бы было хранить в каком нить простеньком файлике, и включать через энтитию. У Бузера был хороший туториал на эту тему, там относительно всё просто и вполне можно вытащить для пользователя. По крайней мере для простого рисования окошек, кнопочек и картинок. Правда я хз как у Прайма обстоят дела с самим VGUI.
VGUI там в принципе нету. Есть из коробки интегрированный ImGui, на который никаких проблем не составляет найти туториал и документацию.
SNMetamorph писал: Есть из коробки интегрированный ImGui, на который никаких проблем не составляет найти туториал и документацию.
Я так понимаю только через хардкод можно его прописать?
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!