Ku2zoff писал: Да это всё для того, чтобы заставить на ксаш перейти. А вот нет. По крайней мере пока. Посмотрим, что будет после релизв 26 апреля.
Да. Релиз покажет истину:будет ли работать новая версия XDM под Ксашем или нет.
и тогда будет понятно окончательно, на чём релизить мой мод.
__________________
Ты топчешь мир своими ботинками,
Не замечая куда наступаешь,
А время от тебя уходит цветными картинками,
Но ты даже этого не понимаешь.
Компрометирую данные своей учётной записи.
ЛОГИН: Ghoul [BB]
ПАРОЛЬ: paladin_solo
Дальше не знаю, если я вообще в правильном направлении мыслю. Собственно, настоящие солид и мувтип в таком случае придётся хранить в каких-нибудь других энтварсах, чтобы движок на них не обращал внимания.
~ X ~ ну собсно, я ей и вдохновлялся. Размеры уровней в халфе не позволяют уместить на одной карте больше 4х-5ти вагонов, чтобы выглядело красиво. А вот если уменьшить объекты в два раза, да плюс к этому увеличить карту в два раза, тогда да. Ну и 3д скай для пущей красоты.
А конфликта с движком не будет? Ведь мувтип мы возвращаем обратно, и движок всё же обработает энтитю: если вызывать это дело из StartFrame, то физика в движке выполняется после StartFrame. Да и неоткуда больше вызывать.
Добрался до загрузки моделей. Я так понимаю, что все проверки на валидность и хеш-суммы движок уже делает сам (движковый прекэш вываливает Sys_error, если что не так), и в дллке этого делать не надо. Достаточно проверить, сработал ли прекэш:
C++ Source Code:
1
if (g_engfuncs.pfnPrecacheModel(s))
2
{
3
for (int i = 0; i < MAX_MODELS; i++)
4
{
5
if (!model_precache[i])
6
{
7
model_precache[i] = s;
8
models[i] = Mod_ForName(s);
9
10
return i;
11
}
12
13
if (!strcmp(model_precache[i], s))
14
return i;
15
}
16
}
То есть можно выкинуть весь ненужный код, и убавить кол-во аргументов у функции Mod_ForName с трёх до одного.
Дядя Миша подскажи пожалуйста мне кое-что по организации кэша моделей. В ксаше и в курдвы устроено по-разному. Во втором случае кэш вообще в какой-то внешней структуре сохраняется, а в первом, в ксаше то есть, ты получается заюзал неиспользованную переменную в структуре model_s, чтобы движок знал, что данная модель уже загружена, и не дублировал её в памяти. Мне, неграмотному, неясно, какой способ удобнее и надёжнее. Ну и по поводу организации самой памяти под загруженные модели: как она выделяется, чистится, как из неё выбирается нужная модель (особенно интересует работа с дубликатами). Расписывать подробно не нужно, просто ткни носом, где копать. Ну и по поводу содержимого zone.c/zone.cpp: а нужно ли всё это тащить в дллку, или можно каким-то более доступным способом управлять кэшем?