Показать сообщение отдельно

  #1  
Старый 08.09.2024, 13:30
SR_team
Флудер
Регистрация: 26.10.2013
Сообщений: 4,924
С нами: 6603505

Репутация: 183


По умолчанию

В начале этого (2024) года, на аризоне появилась новая система загрузки моделей для аттачей. Нужна она что бы не разруливать конфликты FLA и SAMP. Данная система предоставляет альтернативные id для создания объектов.

Объекты прописываются в json файле
Код:
arizona/NamedModels.json
.

Загрузить и использовать модели из своего кода можно воспользовавшись функциями экспортируемыми из
Код:
vorbisFile.dll
. Объявление функций приложено ниже в аттаче.

Цитата:
Сообщение от Спойлер  


is_simple_model_existsПроверяет, что модель с данным id прописана в jsonget_simple_models_countРазмер пула моделей (для перебора всех). В пуле могут быть пробелы!request_simple_model_loadАсинх ронный запрос на загрузку модели. После него надо подождать, пока модель загрузитсяload_simple_modelЗагруз а модели с блокировкой основного потока. Ждать загрузки не надо, но будет микрофриз, как с самповскими объектамиunload_simple_modelУдален е моделиget_simple_modelПолучение указателя на
Код:
CBaseModelInfo
модели (вернет NULL, если модель еще не загружена)get_simple_model_infoПолуч ение информации о модели (используемые DFF, TXD, etc...)find_simple_models_by_nameПоиск id'ов по названию DFF. (например можно найти все ретекстуры часов, использующие общую модель)

Алсо, по загрузке моделей. Под капотом все модели shared_ptr, и запросы на загрузку не теряются. Соответственно, после первого запроса на загрузку, модель 100% загрузится и повторять запрос не надо, если вы не вызывали выгрузку модели. Т.к. shared_ptr не отдается наружу (из-за возможных различий в ABI), то его счетчик инткерминтируется/декриминтируется при запросах на загрузку/выгрузку моделей.
 
Ответить с цитированием